@charset "utf-8";
* {
	margin: 0px;
	padding: 0px;
	list-style: none;
	font-family: "Zen Kaku Gothic New", serif;
/*	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
	-webkit-appearance: none;
	box-sizing: border-box;
}

.all_wrap{
	overflow: hidden;
}
/*-------------------------------------------------
	Reset
-------------------------------------------------*/
html, body, h1, h2, h3, h4, h5, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, input, textarea {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	vertical-align:baseline;
}
article, header, footer, aside, figure, figcaption, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
	list-style-type: none;
}
/*-------------------------------------------------
	all
-------------------------------------------------*/
body {
	width: 100%;
	font-size: 19px;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	color: #484646;
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
a {
	text-decoration: none;
	color: #000;
	outline: none;
	transition: all 0.3s ease;
}
a img {
	transition: all 0.3s ease;
}
a:hover ,
a:hover img {
	opacity: 0.8;
}
a:focus {
	outline: none;
}
a img {
	border: none;
}
img {
	max-width: 100%;
	height: auto;
}
/* SP
------------------ */
@media screen and (max-width: 860px) {
	body {
		min-width: 100%;
	}
}

/* 初期（共通） */
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

/* SP */
@media screen and (max-width: 768px) {
  .pc-only {
	display: none;
  }
  .sp-only {
	display: block;
  }
}

/*------------------------------------------------
	FONT
------------------------------------------------*/

.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-medium {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

.shippori-mincho-extrabold {
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}



/*------------------------------------------------
	contents
------------------------------------------------*/

/*------------------------------------------------
	FV
------------------------------------------------*/


.fv{
	position: relative;
	line-height: 0;
}

.fv .cv_btn{
	position: absolute;
	z-index: 999;
	left: 50%;
	bottom: 1.2vw;
	transform: translateX(-50%);
	width: 40vw;
	max-width: 580px;
}

@media screen and (max-width: 768px) {
	.fv .cv_btn{
		position: absolute;
		z-index: 999;
		left: 50%;
		bottom: 7vw;
		transform: translateX(-50%);
		width: auto;
		max-width: 90%;
	}

}



/*------------------------------------------------
	CONCEPT
------------------------------------------------*/

.concept{
	text-align: center;
	padding: 80px 0;
}

.concept h2.section-title,
.concept .line
{
	color: #b49312;
	margin-bottom: 40px;
}

.concept .line{
	height: 15px;
}

.concept .concept-text{
	line-height: 2em;
}

@media screen and (max-width: 768px) {
	.concept{
		padding: 75px 0;
		margin: 0 5vw;
	}
	
	.concept h2.section-title, .concept .line {
		margin-bottom: 40px;
		font-size: 23px;
	}
	
	.concept .concept-text {
		line-height: 2em;
		font-size: 14px;
	}

}


/*------------------------------------------------
	DOCTOR
------------------------------------------------*/

.doctor{
	background:#f8eee9;
}

.doctor .inner{
	background: url(../img/bg_doctor.png) left top no-repeat;
	background-size: auto 50px;
	max-width: 990px;
	margin: 0 auto;
	padding: 80px 0 150px 0;
}

.doctor .doctor-text{
	font-size: 28px;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 40px;
}

.doctor .doctor-block.v1{
	margin-bottom: 80px;
}

.doctor .doctor-image{
	max-width: 605px;
	margin: 0 auto;
}

.doctor .doctor-image figure{
	margin-bottom: 40px;
}

.doctor .doctor-image p{
	text-align: center;
	line-height: 1.5em;
	font-size:32px;
	margin-bottom: 30px;
}

.doctor .doctor-text span{
	background: #fff;
	padding: 3px;
}

.doctor .doctor-text p:first-child{
	margin-bottom: 20px;
}

.doctor .doctor-block{
	max-width: 790px;
	margin: 0 auto;
	text-align: center;
}

.doctor .doctor-block .profile{
	position: relative;
	padding: 25px 0 25px 0;
	border-top: 2px solid #7b6962;
	border-bottom: 2px solid #7b6962;
	line-height: 1.5em;
	font-size: 18px;
	color: #7b6962;
	margin-bottom: 30px;
}

.doctor .doctor-block .introduce{
	text-align: left;
	line-height: 1.5em;
}

.doctor .doctor-block .profile img{
	position: absolute;
	height: 25px;
	top:-13px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	
	.doctor .inner{
		background: url(../img/bg_doctor.png) left 2% top no-repeat;
		background-size: auto 30px;
		width: auto;
		margin: 0 auto;
		padding: 80px 5vw 80px 5vw;
	}
	
	.doctor .doctor-text p:first-child {
		margin-bottom: 10px;
	}
	
	.doctor .doctor-image figure {
		margin-bottom: 20px;
	}
	
	.doctor .doctor-text {
		font-size: 20px;
		line-height: 1.5em;
		text-align: center;
		margin-bottom: 20px;
	}
	
	.doctor .doctor-image p {
		text-align: center;
		line-height: 1.5em;
		font-size: 20px;
		margin-bottom: 30px;
	}
	
	.doctor .doctor-block .profile {
		position: relative;
		padding: 25px 0 25px 0;
		border-top: 1px solid #7b6962;
		border-bottom: 1px solid #7b6962;
		line-height: 1.5em;
		font-size: 14px;
		color: #7b6962;
		margin-bottom: 30px;
	}
	
	.doctor .doctor-block .introduce {
		font-size: 14px;
	}
	

}


/*------------------------------------------------
	CASE
------------------------------------------------*/

.case .inner{
	background: url(../img/bg_case.png) left top no-repeat;
	background-size: auto 50px;
	max-width: 990px;
	margin: 0 auto;
	padding: 80px 0 150px 0;
}

.case h2{
	color:#b49312;
	font-size: 28px;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 40px;
}

.case .case-item{
	max-width: 790px;
	margin: 0 auto;
}

.case .case-item .case-item-inner{
	padding: 50px 30px;
	border:2px solid #cab359;
	margin-bottom: 30px;
}

.case .case-item .case-item-inner h3{
	color: #fff;
	border-radius: 30px;
	background: linear-gradient(90deg, #9a8477 0%, #a38c82 100%);
	text-align: center;
	font-size: 15px;
	padding: 8px;
	margin-bottom: 30px;
}

.case .case-item .case-item-inner h4{
	text-align: center;
	font-size: 24px;
	margin-bottom: 30px;
}

.case .case-item .case-item-inner .box{
	display: flex;
	justify-content: space-between
}

.case .case-item .case-item-inner .box .case-images{
	width: 50%;
}
.case .case-item .case-item-inner .box .case-content{
	width: 48%;
}

.case .case-item .case-item-inner .box .case-content .case-desc{
	line-height: 1.5em;
	padding-bottom: 20px;
}

.case .case-item .case-item-inner .box .case-content .case-price dl{
	display: flex;
	margin-bottom: 15px;
}

.case .case-item .case-item-inner .box .case-content .case-price dl dt{
	color: #fff;
	background: #cab359;
	text-align: center;
	width: 100px;
	height: 29px;
	padding: 5px 5px 6px 5px;
	font-size: 16px
}

.case .case-item .case-item-inner .box .case-content .case-price dl dd{
	padding: 0px 5px 6px 15px;
	line-height: 1.5em;
}

@media screen and (max-width: 768px) {
	
	.case .inner{
		padding: 80px 5vw 0px 5vw;
	}
	
	.case h2 {
		font-size: 18px;
		line-height: 1.8em;
		margin-bottom: 20px;
	}
	
	.case .case-item .case-item-inner{
		padding: 30px 20px;
		border:2px solid #cab359;
		margin-bottom: 30px;
	}
	
	.case .case-item .case-item-inner h3 {
		font-size: 12px;
		line-height: 1em;
		padding: 8px;
		margin-bottom: 20px;
	}
	
	.case .case-item .case-item-inner h4 {
		text-align: center;
		font-size: 18px;
		margin-bottom: 20px;
	}

	.case .case-item .case-item-inner .box {
		display: block;
	}
	
	.case .case-item .case-item-inner .box .case-images,	
	.case .case-item .case-item-inner .box .case-content {
		width: auto;
	}
	
	.case .case-item .case-item-inner .box .case-images{
		margin-bottom: 20px;
	}
	
	.case .case-item .case-item-inner .box .case-content .case-desc {
		font-size: 14px;
	}
	
	.case .case-item .case-item-inner .box .case-content .case-price dl dt {
		color: #fff;
		background: #cab359;
		text-align: center;
		width: 85px;
		height: 26px;
		padding: 5px 5px 6px 5px;
		font-size: 14px;
	}
	
	.case .case-item .case-item-inner .box .case-content .case-price dl dd {
		font-size: 14px;
	}
	
	.case .case-item .case-item-inner .box .case-content .case-price dl dd {
		padding: 3px 5px 3px 15px;
	}
	
	

}



/*------------------------------------------------
	CTA
------------------------------------------------*/

.cta .desc{
	position: relative;
}

.cta .desc div{
	position: absolute;
	color: white;
	line-height: 1.5em;
	transform: translateX(-50%);
	transform: translateY(-50%);
	left: 50%;
	top: 50%;
}

.cta-box{
	background:#efd8cd;
	padding: 60px 0 80px 0;
}

.cta-box .cta-box-inner{
	max-width: 790px;
	padding: 0 5%;
	margin: 0 auto;
}


.cta-box .cta-box-inner a{
	display: block;
	margin-bottom: 15px;
}

.cta-box .cta-box-inner p.attn{
	font-size: 12px;
}


@media screen and (max-width: 768px) {
	
	.cta-box {
		background: #efd8cd;
		padding: 30px 5vw 40px 5vw;
	}
	
	.cta-box .cta-box-inner p.attn {
		font-size: 10px;
		line-height: 1.5em;
	}
	
}




/*------------------------------------------------
	REASON
------------------------------------------------*/

.reason {
	background: #f8eee9;
}

.reason .inner{
	background: url(../img/bg_reason.png) left top no-repeat;
	background-size: auto 50px;
	max-width: 990px;
	margin: 0 auto;
	padding: 80px 0 70px 0;
}

.reason h2{
	font-size: 28px;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 80px;
}

.reason .reason-list .reason-item{
	max-width: 790px;
	margin: 0 auto 60px auto;
	background: #fff;
	position: relative;
	border-radius: 10px;
}

.reason .reason-list .reason-item img{
	position: absolute;
	left: 50%;
	height: 30px;
	top: -15px;
	transform: translateX(-50%);
}

.reason .reason-list .reason-item-inner{
	padding: 50px 30px 30px 30px;
}

.reason .reason-list .reason-item-inner h3{
	text-align: center;
	margin-bottom: 40px;
	font-family: "Shippori Mincho", serif;
	font-weight: 600;
	font-style: normal;
	color: #b49312;
}

.reason .reason-list .reason-item-inner li{
	font-size: 15px;
	line-height: 1.5em;
	padding-left: 15px;
	position: relative;
	margin-bottom: 8px;
}

.reason .reason-list .reason-item-inner .attn{
	font-size: 12px;
	line-height: 1.5em;
	padding-left: 15px;
}

.reason .reason-list .reason-item-inner li::before{
	content: "";
	background: #b49312;
	position: absolute;
	left: 0;
	top: 6px;
	transform: rotate(45deg);
	display: block;
	height: 10px;
	width: 10px;
}

@media screen and (max-width: 768px) {

.reason h2 {
	font-size: 20px;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 40px;
}

.reason .reason-list .reason-item {
	max-width: 790px;
	margin: 0 5% 60px 5%;
	background: #fff;
	position: relative;
}

.reason .reason-list .reason-item-inner {
	padding: 30px 20px 20px 20px;
}

.reason .reason-list .reason-item-inner h3 {
	margin-bottom: 20px;
	color: #b49312;
	font-size: 18px;
	line-height: 1.5em;
}

.reason .reason-list .reason-item-inner li {
	font-size: 14px;
}

.reason .inner {
	padding: 80px 0 30px 0;
}



}



/*------------------------------------------------
	MENU
------------------------------------------------*/
.menu .inner{
	background: url(../img/bg_menu.png) left top no-repeat;
	background-size: auto 50px;
	max-width: 990px;
	margin: 0 auto;
	padding: 80px 0 70px 0;
}

.menu .inner h2{
	font-size: 28px;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 80px;
	color: #b49312;
}

.menu .inner .intro{
	font-size: 18px;
	line-height: 1.8em;
	margin-bottom: 80px;
}

.menu .inner ul{
	display: flex;
	border:1px solid #b49312;
	padding: 40px 0;
	margin-bottom: 40px;
}

.menu .inner ul li{
	width: 25%;
	border-right:1px solid #cccccc;

}

.menu .inner ul li:last-child
{	border-right:none;}

.menu .inner .menu_box{
	border:1px solid #b49312;
	margin-bottom: 40px;
}

.menu .inner .menu_box h3{
	background: #b49312;
	color: white;
	text-align: center;
	font-weight: 500;
	font-size: 24px;
	line-height: 1em;
	padding: 8px;
}

.menu .inner .menu_box div{
	padding: 45px;
}

.menu .inner .menu_box.v3 div p{

  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.5em;
  font-size: 24px;

 }
 
 .menu .inner .menu_box.v3 div p:last-child{
  margin-bottom: 0px;
 }
 
 
 @media screen and (max-width: 768px) {
	 
	.menu .inner {
		padding: 80px 5vw 70px 5vw;
	}
	
	.menu .inner h2 {
		font-size: 20px;
		margin-bottom: 40px;
	}
	
	.menu .inner .intro {
		font-size: 14px;
		line-height: 1.8em;
		margin-bottom: 40px;
	}
	
	.menu .inner ul {
		display: flex;
		border: 1px solid #b49312;
		padding: 3vw 0;
		margin-bottom: 20px;
	}

	.menu .inner ul li{
		text-align: center;
		justify-content: center;
	}
	.menu .inner ul li img{
		height: 18vw;
		margin: 0 auto;
	}
	
	.menu .inner .menu_box div {
		padding: 20px;
	}
	
	.menu .inner .menu_box h3 {
		font-size: 14px;
		line-height: 1em;
		padding: 8px;
	}
	
	.menu .inner .menu_box {
		border: 1px solid #b49312;
		margin-bottom: 20px;
	}
	
	.menu .inner .menu_box.v3 div p {
		margin-bottom: 15px;
		line-height: 1.5em;
		font-size: 14px;
	}

	

 }

/*------------------------------------------------
	CLINIC
 ------------------------------------------------*/

.clinic {
	 background: #f8eee9;
 }


.clinic .inner{
	 background: url(../img/bg_clinic.png) left top no-repeat;
	 background-size: auto 50px;
	 max-width: 990px;
	 margin: 0 auto;
	 padding: 80px 0 70px 0;
 }
 
 .clinic .box{
	max-width: 790px;
	margin: 0 auto;
	background: #fff;
}

 .clinic .box h2{
	background: linear-gradient(90deg, #9a8477 0%, #a38c82 100%);
	text-align: center;
	color: white;
	line-height: 1em;
	padding: 30px;
 }
 
 .clinic .box h3{
	 text-align: center;
	 line-height: 1em;
	 padding: 0 30px 30px 30px;
  }
  
 .clinic .box-inner{
	padding: 40px;
 }
 
 .clinic figure,
 .clinic .exp
  {
	margin-bottom: 40px;
 }

 .clinic .exp{
	 line-height: 1.5em;
	 font-size: 18px;
 }

 .clinic .exp span{
	color: #b49312;
	font-weight: 700;
 }

 .clinic .map{
	 position: relative;
	 width: 100%;
	 padding-top: 56.25%; /* 16:9 */
 }
 
 .clinic .map iframe{
	 position: absolute;
	 top: 0;
	 left: 0;
	 width: 100%;
	 height: 100%;
 }
 
@media screen and (max-width: 768px) {
	.clinic .inner {
		padding: 80px 5vw 70px 5vw;
	}
	
	.clinic .box {
		width: auto;
	}
	
	.clinic .box h2 {
		padding: 20px;
		font-size: 20px;
	}
	
	.clinic .box h3{
		font-size: 18px;
	}
	
	.clinic .box-inner {
		padding: 30px 5vw;
	}
	
	.clinic figure, .clinic .exp {
		margin-bottom: 20px;
	}
	
	.clinic .exp {
		line-height: 1.5em;
		font-size: 14px;
	}

	.clinic .exp p:last-child{
		line-height: 2em;
	}
	
	.clinic .exp p:first-child{
		margin-bottom: 10px;
	}



 
 }





/*------------------------------------------------
	 スマホ
  ------------------------------------------------*/

@media screen and (max-width: 768px) {
	  .inner{
		  background-position: left 2% top!important;
		  background-size: auto 30px!important;
		  width: auto!important;
	  }
  }
  
@media screen and (min-width: 768px) and (max-width: 990px){
	  .inner{
		  margin: 0 5vw!important;
		  width: auto !important;
	  }
  }
  
