@charset "UTF-8";
/* CSS Document */

html{font-size: 62.5%;
	padding: 0;
	margin: 0;}

body{font-size:1.5rem;
	font-family: YuGothic, "Yu Gothic medium", "sans-serif";
	color:#505050;
	-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.05em;
}

section,article{ margin: 0 auto; }
.content{ width:800px; margin: 0 auto; }

main{display: block;}

a{color: inherit;transition-duration: .3s;}
img{max-width: 100%;}
.sp{display: none;}
.min{ font-family: 'Noto Serif JP', serif; font-weight: 600; }

/*
【Bodoni URW Medium】
font-family: 'Noto Serif JP', serif;
font-weight: 600;
font-style: normal;

【Bodoni URW Medium】
font-family: bodoni-urw,serif;
font-weight: 500;
font-style: normal;
*/

.btn a{ display: flex; align-items: center; justify-content: center; position: relative;
	width: 280px; height: 50px; color: #fff; background: #FFA5AA; border-radius: 5px; }
.btn a:after{ content: ""; width: 6.5px; height: 11px; 
	background: url("../img/common/arrow.png") center/100% no-repeat;
	position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }

.btn a:hover{ background: #78B4E6; }


/*  header-------------------------------------*/
header { width: 100%; position: absolute; top: 0; left: 0; z-index: 1; padding: 15px; }
header .txt{ font-size: 1.2rem; text-align: center; }

header .top-fix{  }

header .tel{ font-family: bodoni-urw,serif; color: #836B43; font-weight: 500; font-size: 2.6rem; letter-spacing: 0.11em; position: fixed; top: 15px; right: 100px; }

header input{display: none;}

header label,
header ul.cv li a{ width: 95px; height: 95px; 
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	border-radius: 5px 0 0 5px; color: #fff; text-align: center; }

header label{ font-family: bodoni-urw,serif; font-weight: 500; padding-top: 5px; transition-duration: .3s;
	background: #836B43; font-size: 20px; position: fixed; top: 10px; right: 0; z-index: 999; }
header label:before,
header label span:before,
header label span:after{ content: ""; display: block; width: 30px; height: 1px; background: #fff;
	margin-bottom: 5px; transition-duration: .3s; }

header ul.cv{ position: fixed; top: 110px; right: 0; z-index: 999; }
header ul.cv li:not(:last-child){ margin-bottom: 10px; }
header ul.cv li a{ background: #FFA5AA; line-height: 1.14;
	font-size: 16px; font-family: 'Noto Serif JP', serif; font-weight: 600; }

header label:hover,
header ul.cv li a:hover{ background: #78B4E6; }

header ul.cv li:nth-child(1) a:before{ content: ""; display: block; width: 20px; height: 20px;
	background: url("../img/common/ico-yoyaku.png") center/100% no-repeat; margin-bottom: 5px; }
header ul.cv li:nth-child(2) a:before{ content: ""; display: block; width: 20px; height: 30px;
	background: url("../img/common/ico-insta.png") center/100% no-repeat; margin-bottom: 5px; }
header ul.cv li:nth-child(3) a:before{ content: ""; display: block; width: 25px; height: 25px;
	background: url("../img/common/ico-gmap.png") center/100% no-repeat; margin-bottom: 5px; }
header ul.cv li:nth-child(4) a:before{ content: ""; display: block; width: 25px; height: 25px;
	background: url("../img/common/ico-line.png") center/100% no-repeat; margin-bottom: 5px; }
header ul.cv li:nth-child(5) a:before{ content: ""; display: block; width: 25px; height: 25px;
	background: url("../img/common/ico-monshin.svg") center/100% no-repeat; margin-bottom: 5px; }

header nav{ position: relative; z-index: 99; }

.h-nav{ display: flex; flex-direction: column; justify-content: center;
	height:100%; background: rgba(120,180,230,.9); color: #fff; /**padding: 70px;**/padding:100px;
	position: fixed; top: 0; right: -100%; overflow: hidden; z-index: 99; transition-duration: .4s; }
.h-nav p{ font-size: 1.8rem; }
.h-nav p:not(:last-child){ margin-bottom: 10px; }
.h-nav p.m_logo{margin-bottom: 30px;}

.h-nav ul{ margin-bottom: 20px; }
.h-nav li{ margin-bottom: 10px; }
.h-nav a:hover{ text-decoration: underline; }
.h-nav a img{ transition-duration: .3s; }
.h-nav a:hover img{ opacity: .7; }

header input:checked ~ .h-nav{ right: 0; }
header input:checked ~ label:before{ opacity: 0; }
header input:checked ~ label span:before{ transform: rotate(45deg) translate(0px,-1px);}
header input:checked ~ label span:after{ transform: rotate(-45deg) translate(5px,-3px);}

/* contact--------------- */
.contact{ padding: 110px 0 50px; position: relative; z-index: 0;
	background: url("../img/common/webp/contact-bg.webp") center/cover #E4F0FA;}
/*no*/.no-webp .contact{ background: url("../img/common/contact-bg.png") center/cover #E4F0FA; }

.contact .tit{ color: #78B4E6; font-size: 3.6rem; font-family: 'Noto Serif JP', serif; font-weight: 600;
	letter-spacing: 0.1em; 
	text-align: center; white-space: nowrap; font-feature-settings : "palt";
	position: absolute; top: -20px; left: 50%; transform: translateX(-50%);}

.contact .tit span{ display: inline-block; background: #fff; padding: 0 5px; line-height: 1; margin-top: 5px; }
.contact .tit small{ display: block; font-family: bodoni-urw,serif; font-weight: 500; font-size: 3rem; letter-spacing: 0.05em; }

.contact .box{ width: 540px; background: rgba(255,255,255,.8);
	text-align: center; padding: 20px 0; margin: 0 auto 35px;}

.contact .min{ font-size: 1.6rem; margin-bottom: 5px; }
.contact .tel{ font-family: bodoni-urw,serif; font-weight: 500; font-size: 3rem; letter-spacing: 0.1em; }
.contact .box p:last-child{ font-size: 1.3rem; }

.contact ul{ display: flex; justify-content: space-between; }
.contact ul .btn a{ width: 250px; background: #78B4E6; }
.contact ul .btn a:hover{ background: #FFA5AA; }

.contact ul li a:before{ content: ""; display: inline-block; margin-right: 5px;margin-left: -10px; }
.contact ul li:nth-child(1) a:before{ width: 14px;height: 16px;
	background: url("../img/common/ico-yoyaku.png") center/contain;}
.contact ul li:nth-child(2) a:before{ width: 18px;height: 18px;
	background: url("../img/common/ico-map.png") center/contain;}
.contact ul li:nth-child(3) a:before{ width: 18px;height: 18px;
	background: url("../img/common/ico-insta2.png") center/contain;}


.f-info{ padding: 100px 0; }

.f-info .logo{ text-align: center; margin-bottom: 50px; }
.f-info .content{ display: flex; justify-content: space-between; }
.f-info .box:nth-child(1){ flex-basis: 400px; }
.f-info .box:nth-child(2){ flex-basis: 350px; }

.f-info .box table{ width: 100%; margin-top: 10px; }
.f-info .box table:first-of-type{ margin-bottom: 30px; }
.f-info .box table:last-of-type{ margin-bottom: 20px; }
.f-info .box table th{ font-weight: normal; background: #78B4E6; color: #fff; }
.f-info .box table td{ text-align: center; background: #fff; }

.f-info .box table th,
.f-info .box table td{ padding: 6px 10px; font-size: 1.4rem; border: 1px solid #F7F6F3; }
.f-info .box table + ul{ display: flex; justify-content: space-between; }
.f-info .box table + ul li:last-child{ font-size: 1.4rem; }

.f-info .box:last-child p:not(:last-child){ margin-bottom: 15px; }
.f-info .box .btn a{ margin-left: auto; }

.sitemap{ background: #C9BEAD; }
.sitemap .content{ padding: 40px 0 30px; color: #fff; }

.sitemap .content div{display: flex; }
.sitemap .content div:first-child{ justify-content: space-between; align-items: center; margin-bottom: 10px; }
.sitemap .content div:last-child{ justify-content: center; }
.sitemap .content div:last-child p{ margin-right: 35px; }
.sitemap .content div:last-child li{ display: inline-block; font-size: 1.4rem; margin-right: 10px; }

.sitemap .content div:last-child li:nth-child(-n+3){margin-bottom: 10px;}

.sitemap .content a:hover{ text-decoration: underline; }

.sitemap .content a img{ transition-duration: .3s; }
.sitemap .content a:hover img{ opacity: .7; }

.sitemap .copy{ text-align: center; padding: 10px; }
.sitemap .copy small{ font-size: 1.2rem; }

.sp-fix2{ display: none;}






/*  responsive ------------------------------------------------------------*/
@media screen and (max-width:599px){
	
	.pc{display: none;}
	.sp{display: initial}
	
	.content{ width: 100%; }
	header .txt{ text-align: left; letter-spacing: 0.1px; }
    header .tel,header ul.cv{display: none;}
    
	header .tel,header ul.cv-sample{display: none;}
    .h-nav li,.h-nav p{ font-size: 1.2rem; line-height: 1;}
	
	.contact .tit{ font-size: 2.6rem; }
	.contact .tit span{ display: table; margin: 0 auto 10px; }
	.contact .box{ width: 90vw; }
	.contact ul{ display: block; }
	.contact ul .btn:not(:last-child){ margin-bottom: 10px; }
	.contact ul .btn a{ margin: auto; }
	
	.f-info{ padding: 50px 0; }
	.f-info .logo img{ width: 140px; }
	.f-info .content{ padding: 0 5vw; display: block; }
	.f-info .box:nth-child(1){ margin-bottom: 30px; }
	.f-info .box table th, .f-info .box table td{ padding: 6px 2vw; font-size: 1.3rem; }
	.f-info .box .btn a{ margin: auto; }
	
	.sitemap .content{ padding: 40px 5vw 30px; }
	.sitemap .content div{ display: block; text-align: center; }
	.sitemap .content div:first-child{ margin-bottom: 20px; }
	.sitemap .content div:first-child p{ display: inline-block; margin: 10px; }
	.sitemap .content div:first-child p:last-child{ display: block; }
	.sitemap .content div:last-child p{ margin-right: 0; margin-bottom: 20px; }
	
	.sitemap .copy{ padding-bottom: 90px; }
	
	.sp-fix{ width: 100%; display: flex; flex-wrap: wrap; position: fixed; left: 0; bottom: 0; z-index: 0; }
	.sp-fix li{ flex-basis: 50%; font-family: 'Noto Serif JP', serif; font-weight: 600; }
	.sp-fix li a{ display: flex; height: 40px; justify-content: center; align-items: center;
		background: #78B4E6; color: #fff; font-size: 1.6rem; }
	.sp-fix li a:before{ content: ""; display: inline-block; margin-right: 5px; }
	.sp-fix li:nth-child(1) a:before{ width: 20px; height: 20px;
		background: url("../img/common/ico-line.png") center/contain no-repeat; }
	.sp-fix li:nth-child(2) a:before{ width: 14px; height: 16px;
		background: url("../img/common/ico-yoyaku.png") center/contain no-repeat; }
	.sp-fix li:nth-child(3) a:before{ width: 16.5px; height: 16.5px;
		background: url("../img/common/ico-tel.png") center/contain no-repeat; }
	.sp-fix li:nth-child(4) a:before{ width: 19.5px; height: 20.5px;
		background: url("../img/common/ico-map.png") center/contain no-repeat; }  
	
	.sp-fix li:nth-child(odd){ border-right: 1px solid #fff; }
	.sp-fix li:nth-child(n + 3){ border-top: 1px solid #fff; }	
    
    
	.sp-fix2{ width: 100%; display: flex; flex-wrap: wrap; position: fixed; left: 0; bottom: 0; z-index: 0; }
	.sp-fix2 li{ flex-basis: 100%; font-family: 'Noto Serif JP', serif; font-weight: 600; }
	.sp-fix2 li a{ display: flex; height: 60px; justify-content: center; align-items: center;
		background: #78B4E6; color: #fff; font-size: 1.6rem; }
	.sp-fix2 li a:before{ content: ""; display: inline-block; margin-right: 5px; }
	.sp-fix2 li a:before{ width: 14px; height: 16px;
		background: url("../img/common/ico-yoyaku.png") center/contain no-repeat; }  
    
}

/*banner-------------------------------------*/
.banner{width: 450px; margin: 0 auto 70px;}
.banner a:hover{opacity: 0.7; transition: .5s;}
.banner img{border-radius:8px;}

header .banner{width: 25vw; margin: 0 0 30px;}
footer .banner{width: 800px; margin: 0 auto 80px;}

@media screen and (max-width:599px){
	.banner{width: 90%; margin: 0 auto 50px;}
	footer .banner{width: 90%; margin: 0 auto 50px;}
	header .banner{width: 60vw;}
}

/*症例リンク*/
.align {
    position: relative;
    text-align: center;
}
.align .in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #F1F7FC;
    margin: 0 auto 35px;
    padding:50px 40px;
}
.box a:hover{
    opacity: 0.7;
}
