@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700|Roboto:300,400,500,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:300,400,500,700,800&display=swap&subset=japanese');
@import url('reset.css');
/*
font-family: 'Roboto', sans-serif;
font-family: 'Montserrat', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'M PLUS 1p', sans-serif;

*/
/*------------------------------------
　　　　　　　　　common
------------------------------------*/
body {
	font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	color: #404040;
	font-size: 100%;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
}
	@media screen and (max-width: 960px) {
		body{
			font-size: 13px;
		}
	}
	@media screen and (max-width: 768px) {
		br.inline{
			display: none;
		}
		.sp-block{
			display: block;
		}
		body{
			border-top: 0.6em solid #EB6D9A;
		}
	}

a {
	color: #404040;
	text-decoration: none;
}
a.link{
	color: #1A0DAB;
	text-decoration: underline;
}
img{
	max-width: 100%;
	height: auto;
}

/* megamenu
--------------------------------------*/
.gnav-wrap{
	text-align: left;
	width: 100%;
	font-size: 90%;
	position: fixed;
	z-index: 777;
	background: #fff;
	box-shadow: 0 0 0.25em rgba(0,0,0,0.2);
	-moz-box-shadow: 0 0 0.25em rgba(0,0,0,0.2);
	-webkit-box-shadow: 0 0 0.25em rgba(0,0,0,0.2);
}
.gnav-wrap a{
	color: #333333;
}
.meganavigation {
	margin: 0 auto;
	display: table;
}
.meganavigation > li {
	display: table-cell;
}
.meganavigation > li:hover .menu {
	display: block;
}
.meganavigation > li > a,
.meganavigation > li > span {
	display: block;
	transition: all .2s ease-in;
	position: relative;
	padding: 1em;
}
	@media screen and (max-width: 800px) {
		.meganavigation > li > a,
		.meganavigation > li > span{
			padding-left: .75em;
			padding-right: .75em;
	}
}

.meganavigation > li > a:before,
.meganavigation > li > span:before{
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 10px;
	content: "";
	background: #ddd;
	margin-top: -5px;
}
.meganavigation > li:first-child > a{
	padding-left: 0;
}
.meganavigation > li:first-child > a:before{
	position: relative;
	background: none;
}
.meganavigation .menu {
	display: none;
	overflow: hidden;
	position: absolute;
	background:#fff;
	box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	-moz-box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
	border-radius: 0 0 1em 1em;
	-moz-border-radius: 0 0 1em 1em;
	-webkit-border-radius: 0 0 1em 1em;
}

.meganavigation .menu ul{
	padding: 1em 0;
}
.meganavigation .menu li{
	padding: 0.5em 1.5em;
}
.meganavigation .menu a {
	color: #444444;
	position: relative;
	padding-left: 1.5em;
	display: block;
}
.meganavigation .menu a:before {
	content: '';
	width: 15px;
	height: 15px;
	background: #EB6D9A;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -7px;
}
.meganavigation .menu a:after {
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-left: solid 4px #fff;
	position: absolute;
	top: 50%;
	left: 6px;
	margin-top: -4px;
}
.sns{
	position: absolute;
	right: 1.25em;
	top: 50%;
	margin-top: -11px;
	font-size: 0.9em;
}
.sns a{
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	margin-left: 0.75em;
}
.sns .insta{
	text-indent: -9999px;
	background: url(../images/common/insta.svg?) no-repeat top left;
	width: 20px;
	height: 20px;
	display: inline-block;
	position: relative;
	top: 0;
}

	@media screen and (max-width: 768px) {
		.gnav-wrap{
			font-size: 100%;
			position: static;
		}

		.meganavigation {
			margin: 0 auto;
			display: block;
			position: relative;
		}
		.meganavigation > li {
			display: block;
		}
		.meganavigation > li > a,
		.meganavigation > li > span {
			color: #fff;
			transition: none;
		}
		.meganavigation > li > a:before,
		.meganavigation > li > span:before{
			position: static;
			top: none;
			left: none;
			width: 0;
			height: 0;
			background: none;
			margin-top: 0;
		}
		.meganavigation > li > a{
			position: relative;
			padding: 1em;
			border-bottom: 1px solid #d5bcc6;
		}
		.meganavigation > li> a:after{
			content: '';
			width: .3em;
			height: .3em;
			border: 0;
			border-top: solid 2px #EFE5E9;
			border-right: solid 2px #EFE5E9;
			position: absolute;
			top: 50%;
			right: .75em;
			margin-top: -3px;
			transform: rotate(45deg);
		}
		.meganavigation > li:first-child > a{
			padding: 1em;
		}
		.meganavigation > li > span{
			padding: .5em 1em;
		}

		.meganavigation .menu {
			display: block;
			overflow: hidden;
			position: relative;
			background:#fff;
			box-shadow: none;
			-moz-box-shadow: none;
			-webkit-box-shadow: none;
			border-radius: 0;
			-moz-border-radius: 0;
			-webkit-border-radius: 0;
		}
		.meganavigation .menu ul{
			display: block;
			padding: 0;
		}
		.meganavigation .menu li{
			width: 100%;
			text-align: left;
			padding: 1em;
			border-bottom: 1px solid #efefef;
		}
		.meganavigation .menu li:last-child{
			border-bottom: none;
		}
		.meganavigation .menu a {
			display: block;
		}
		
		.sns{
			position: relative;
			right: none;
			top: none;
			margin-top: 1em;
			margin: 1em 0 6em;
			text-align: center;
			z-index: 1;
		}
		.sns a{
			display: inline-block;
			width: 3.5em;
			height: 3.5em;
			background-color: #404040;
			color: #FFF;
			border-radius: 50%;
			-moz-border-radius: 50%;
			-webkit-border-radius: 50%;
			line-height: 3.5em;
			text-align: center;
		}
		.sns .insta{
			background: #fff url(../images/common/insta.svg?) no-repeat center;
			width: 3.5em;
			height: 3.5em;
			background-size: 2em auto;
		}

	}
/* header
--------------------------------------*/
.header{
	width: 90%;
	max-width:1280px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header h1 a{
	width: 303px;
	height: 71px;
	text-indent: -9999px;
	display: block;
	background: url(../images/common/logo.svg) no-repeat top left;
	position: relative;
}
.header h2{
	width: calc(100% - 303px);
	text-align: right;
}
	@media screen and (max-width: 768px) {
		.header{
			display: block;
			line-height: 1.3;
			font-size: 0.85em;
		}
		.header h1 a{
			width: 200px;
			height: 47px;
			margin: 0 auto;
			text-align: center;
		}
		.header h2{
			width: 100%;
			text-align: center;
			padding-top: 0.25em;
		}
	}

header h2{
	font-size: 90%;
}
header h2 .teladress{
	display: inline-block;
	margin-left: 0.25em;
}
header h2 .teladress span{
	font-size: 1.7em;
	font-weight: 500;
}
#content--sub .teladress span{
	font-size: 1.2em;
	font-weight: 500;
}

.teladress span{
	padding-left: .8em;
	background: url(../images/common/tel.svg) no-repeat center left;
	background-size: .7em auto;
	font-family: 'Roboto', sans-serif;
}
.layout-sub .header{
	position: relative;
	z-index: 666;
	top: 4.0em;
	margin-bottom: 4.5em;
}
	@media screen and (max-width: 768px) {
		.layout-sub .header{
			top: 0.5em;
			margin-bottom: 1.25em;
		}
		.layout-index .header{
			position: relative;
			top: -0.25em;
		}
	}

/* footer
--------------------------------------*/
footer{
	width: 100%;
	margin: 0 auto;
	padding: 2em 0 4em;
	font-size: 0.8em;
}
.layout-sub footer{
	border-top: 1px solid #eee;
}
.footer-all{
	max-width: 1280px;
	margin: 0 auto;
	width: 90%;
}

.footer-row{
	width: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap:wrap;
	-webkit-align-items: center;
	align-items: center;
	flex-direction: row-reverse;
}
.bnrbox{
	width: calc(100% - 43em);
	text-align: right;
}
.hos-info{
	width: 43em;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap:wrap;
	align-items: center;
}

.bnrbox img{
	height: 52px;
}
.footer-row .logo{
	width: 233px;
	height: 55px;
	text-indent: -9999px;
	display: block;
	background: url(../images/common/logo.svg) no-repeat top left;
	position: relative;
}
.footer-row .adress {
	padding-left: 1.5em;
	line-height: 1.4;
}
.footer-row .adress .teladress{
	font-size: 1.1em;
}

.footerdiscri{
	font-size: 0.8em;
	text-align: left;
	margin-top: 2em;
}
.footercopy{
	font-size: 0.8em;
	text-align: right;
}

	@media screen and (max-width: 980px) {
		.bnrbox img{
			height: 42px;
		}
	}
	@media screen and (max-width: 768px) {
		.bnrbox{
			width: calc(100% - 37em);
		}
		.hos-info{
			width: 37em;
		}
		.bnrbox img{
			height: 34px;
		}
		.footer-row .logo{
			width: 170px;
			height: 40px;
		}
	}
	@media screen and (max-width: 650px) {
		.footer-all{
			width: 100%;
		}
		.footer-row{
			text-align: center;
		}
		.bnrbox{
			width: 100%;
			text-align: center;
			margin-bottom: 1.5em;
			padding-bottom: 1.5em;
			border-bottom: 1px solid #eee;
		}
		.hos-info{
			width: 100%;
			display: block;
		}
		.bnrbox img{
			margin: 0 .5em;
		}
		.footer-row .logo{
			margin: .5em auto .75em;
		}
		.footer-row .adress {
			padding-left: 0;
			line-height: 1.7;
		}
		.footerdiscri{
			width: 90%;
			margin: 1em auto;
		}
		.footerdiscri .footer-about{
			text-align: center;
			font-size: 1.05em;
			margin-bottom: .5em;
		} 
		.footercopy{
			text-align: center;
			margin-top: .5em;
		}
		.footer-all .sp-block{
			display: block;
		}
	}





/* common
--------------------------------------*/

/* flex */
.flex{
	width: 100%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.wrap{
	flex-wrap:wrap;
}
/*中央配置*/
.item_center{
	-webkit-align-items: center;
	justify-content: center;
	align-items: center;
}
/*端は除いて、間をあける*/
.between{
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
/*最後の行を左寄せにする*/
.shisetsu.between::after {
        content: "";
        display: block;
        width: 30%;
        height: 0;
    }
/*右から左*/
.reverse{
	-webkit-flex-direction:row-reverse;
	-ms-flex-direction:row-reverse;
	flex-direction:row-reverse;
}
/* 均等に配置し各アイテムの両側に半分の大きさの間隔を置く */
.around{
	-webkit-justify-content: space-around;
	justify-content: space-around;
}
/* 施設など　*/
.clm3 {
	width: 30%;
	margin-bottom: 1em;
}

.clm2-block{
	width: 48%;
}


	@media screen and  (max-width: 768px) {
		.clm3{
			width: 48%;
		}
		.clm2-block{
			width: 100%;
			margin-bottom: 1em;
		}
	}
