:root {
	--color-blue: #6ca4c4;
	--color-black: #53524e;
	--color-brown: #b49662
}

.noto-serif{
	font-family: "Noto Serif JP", serif;
	font-style: normal;
}
.noto-sans{
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.montserrat,
.p-faq_list dt::before,
.p-faq_list dd::before{
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/*-------------------------------------------------------------------

	head

-------------------------------------------------------------------*/
.head_logo {
	margin: 1.2rem 0 0 1.5rem;
	position: absolute;
	width: 20rem;
	z-index: 1;
}

/* head_hamburger_button */
.head_hamburger_button,
.tellist_button{
	background: #fff;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 1rem;
	right: calc( 50% - 300px);
	width: 3.2rem;
	height: 3.2rem;
	cursor: pointer;
	z-index: 300;
}
@media screen and (max-width: 640px) {
	.head_hamburger_button,
	.tellist_button{
		right: 1rem;
	}
}
.head_hamburger_button .border,
.tellist_button .border{
	background: var(--color-brown);
	content: "";
	display: block;
	width: 1.8rem;
	height: 0.2rem;
	position: absolute;
	transition: all 0.3s ease-out;
}
.head_hamburger_button .border:nth-child(1){
	top: 0.8rem;
}
.head_hamburger_button .border:nth-child(3){
	bottom: 0.8rem;
}
.head_hamburger_button.active .border:nth-child(1),
.tellist_button .border:nth-child(1){
	top: calc(50% - 0.15rem);
	transform: rotate(45deg);
}
.head_hamburger_button.active .border:nth-child(2),
.tellist_button .border:nth-child(2){
	transform: scaleX(0);
}
.head_hamburger_button.active .border:nth-child(3),
.tellist_button .border:nth-child(3){
	top: calc(50% - 0.15rem);
	transform: rotate(-45deg);
}
body.confirm .head_hamburger_button,
body.error .head_hamburger_button,
body.miss .head_hamburger_button,
body.thanks .head_hamburger_button {
	display: none;
}

/* head_hamburger_body */
.head_hamburger_body,
.tellist_body{
	background-image: -moz-linear-gradient( 90deg, rgb(147,118,69) 0%, rgb(180,150,98) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(147,118,69) 0%, rgb(180,150,98) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(147,118,69) 0%, rgb(180,150,98) 100%);
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 200;
}
.head_hamburger_body .inner,
.tellist_body .inner{
	margin: 6.2rem 1rem 1rem;
	padding: 2rem 2.4rem 3.5rem;
	overflow: auto;
	max-height: calc(100vh - 7.2rem);
}
.head_hamburger_body a{
	display: block;
	text-decoration: none;
	transition: all 0.3s ease-out;
}
.head_hamburger_body .link a{
	padding: 1rem;
}
.head_hamburger_body .button{
	margin-top: 2.5rem;
}
.head_hamburger_body .button li{
	width: 48%;
}
.head_hamburger_body .button a{
	background: #333;
	border-radius: 1rem;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 6rem;
}
.head_hamburger_body .button .mail a{
	background: var(--color-brown);
}

/*-------------------------------------------------------------------

	MV

-------------------------------------------------------------------*/
.mv {
	background: url("../img/mv.jpg") no-repeat center top;
	background-size: 100% auto;
	padding: 7.1rem 1.3rem 0;
	width: 100%;
}
.mv .mv_title .sub{
	font-size: 1.5rem;
	letter-spacing: 0.02em;
	line-height: 1;
}
.mv .mv_title .main{
	font-size: 3.2rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-top: 0.45rem;
	white-space: nowrap;
}
.mv .mv_title .main .mark{
	font-size: 1rem;
	letter-spacing: 0.02em;
}

/* mv_price */
.mv_price{
	margin-top: 31.0rem;
	line-height: 1;
	white-space: nowrap;
}
.mv_price .s-text{
	margin: 1.6rem 1.0rem 1.6rem 2rem;
}
.mv_price .s-title{
	font-size: 1.9rem;
	line-height: 1;
}
.mv_price .s-size{
	font-size: 1.4rem;
	margin-top: 0.8rem;
}
.mv_price .s-size .s-under{
	font-size: 1rem;
}
.mv_price .s-price{
	font-size: 2.8rem;
	margin-top: 0.3rem;
}
.mv_price .s-unit{
	font-size: 1.5rem;
}
.mv_price .s-tax{
	font-size: 1rem;
}
.mv_price .s-photo{
	margin: 0.5rem;
	width: 11rem;
}

/* mv_notice */
.mv_notice{
	padding: 1.0rem 0 1.8rem;
	font-size: 1rem;
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
	line-height: 1.5;
}

/*-------------------------------------------------------------------

	common

-------------------------------------------------------------------*/
.contents-w {
	max-width: 640px;
	margin: 0 auto;
	position: relative;
}

/* p-basic-section */
.p-basic-section {
	padding: 7rem 1.5rem 0;
}
.p-basic-section > :last-child {
	margin-bottom: 0;
}

/* p-basic-title */
.p-basic-title {
	margin-bottom: 3.5rem;
	text-align: center;
}
.p-basic-title .en {
	color: var(--color-brown);
	display: block;
	font-size: 3rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 1.3rem;
}
.p-basic-title .jp {
	display: block;
	font-size: 1.7rem;
	line-height: 1.5;
}

/* p-sub-title */
.p-sub-title {
	font-size: 1.8rem;
	line-height: 1.5;
	margin-bottom: 2rem;
}
.p-sub-title.small {
	font-size: 1.5rem;
}
.p-sub-title .s-number{
	font-size: 4rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-right: 1rem;
}

/* icon-slide */
.icon-slide{
	background: url(../img/ic_arrow_down.svg) no-repeat center center;
	background-size: contain;
	height: 1rem;
	width: 1.8rem;
	transition: 0.3s all;
	transform: rotate(180deg);
}
.icon-slide.is-close{
	transform: rotate(0deg);
}

/* popup-item */
.popup-item {
	background-color: white;
	margin: 1rem;
	padding: 2rem;
	border-radius: 1rem;
}

@media screen and (min-width: 640px) {
	.popup-item {
		margin-left: auto;
		margin-right: auto;
		max-width: 40rem;
	}
}

/*-------------------------------------------------------------------

	case

-------------------------------------------------------------------*/
.p-case{
	padding-top: 4rem;
}
.p-case_item + .p-case_item{
	margin-top: 3rem;
}
.p-case .p-basic-title{
	margin-bottom: 0;
	text-align: left;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.p-case .p-content{
	width: 30.5rem;
}
.p-case_dl{
	font-size: 1.2rem;
	font-feature-settings: "palt";
	flex-wrap: wrap;
	letter-spacing: 0;
	margin-top: 0.5rem;
}
.p-case_dl dt{
	margin: 0.5rem 0;
	font-weight: bold;
	width: 8.5rem;
}
.p-case_dl dd{
	margin: 0.5rem 0;
	width: 21.6rem;
}

/*-------------------------------------------------------------------

	worries

-------------------------------------------------------------------*/
.p-worries{
}
.p-worries_inner{
	background-image: -moz-linear-gradient( 90deg, rgb(221,221,221) 0%, rgb(247,247,247) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(221,221,221) 0%, rgb(247,247,247) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(221,221,221) 0%, rgb(247,247,247) 100%);
}
.p-worries_inner{
	padding: 3rem 2rem;
}
.p-worries_inner ul{
	font-size: 1.5rem;
}

/*-------------------------------------------------------------------

	about

-------------------------------------------------------------------*/
.p-about_item{
	background-image: -moz-linear-gradient( 90deg, rgb(153,122,70) 0%, rgb(180,150,98) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(153,122,70) 0%, rgb(180,150,98) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(153,122,70) 0%, rgb(180,150,98) 100%);
	color: #fff;
	margin-top: 1rem;
	padding: 2.7rem 2.5rem;
	position: relative;
}
.p-about_item.num_01{
	min-height: 30.85rem;
}
.p-about_item.num_01::before{
	background: url(../img/about_01.png) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	width: 30.6rem;
	height: 24.8rem;
	top: 3.6rem;
	z-index: 0;
}
.p-about_item.num_02 .s-photo{
	margin-bottom: 1rem;
}
.p-about_item.num_03 .s-content{
	width: 13.5rem;
}
.p-about_item.num_03 .s-photo{
	width: 13.85rem;
}

/*-------------------------------------------------------------------

	flow

-------------------------------------------------------------------*/
.p-flow{
	padding-bottom: 5rem;
}
.p-flow_item + .p-flow_item{
	padding-top: 7rem;
	position: relative;
}
.p-flow_item + .p-flow_item::before{
	background: url(../img/flow_dash.svg) no-repeat center center;
	background-size: contain;
	content: "";
	position: absolute;
	height: 2rem;
	width: 100%;
	top: 2rem;
}
.p-flow_item .s-photo{
	width: 15rem;
}
.p-flow_item .s-content{
	width: 17.3rem;
}
.p-flow_item .s-number{
	color: var(--color-brown);
	font-size: 2.5rem;
	line-height: 1;
	letter-spacing: 0.1em;
	margin-bottom: 1rem;
}

/*-------------------------------------------------------------------

	movie

-------------------------------------------------------------------*/
.p-movie{
	background-color: rgb(51,51,51);
	background-image: -moz-linear-gradient( 90deg, rgb(51,51,51) 0%, rgb(102,102,102) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(51,51,51) 0%, rgb(102,102,102) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(51,51,51) 0%, rgb(102,102,102) 100%);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-movie .p-basic-title span{
	color: #fff;
}
.p-movie video{
	width: 100%;
	height: auto;
}
.video-wrap {
    position: relative;
}
.video-btn {
    content: "";
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:80px; /*コントローラー分下部に余白を*/
    cursor: pointer;
}

/*-------------------------------------------------------------------

	detail

-------------------------------------------------------------------*/
.p-detail{
	background: #ad8c55 url(../img/detail_bg.jpg) no-repeat center top;
	background-size: cover;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-detail .p-basic-title span{
	color: #fff;
}
.p-detail_items{
	flex-wrap: wrap;
}
.p-detail_item{
	background-color: rgb(239,231,217);
	background-image: -moz-linear-gradient( 140deg, rgb(239,231,217) 0%, rgb(255,255,255) 100%);
	background-image: -webkit-linear-gradient( 140deg, rgb(239,231,217) 0%, rgb(255,255,255) 100%);
	background-image: -ms-linear-gradient( 140deg, rgb(239,231,217) 0%, rgb(255,255,255) 100%);
	line-height: 1.25;
	margin-bottom: 1.5rem;
	padding: 1.8rem 1.4rem 1.5rem;
	width: 47.82609%;
}
.p-detail_item:nth-child(2n+1):not(:last-child){
	margin-right: 4.347826%;
}
.p-detail_item .s-icon{
	margin: 0 auto 0;
	width: 6rem;
	height: 6rem;
}
.p-detail_item .s-title{
	font-size: 1.6rem;
	line-height: 1;
	margin: 1.4rem 0 1.1rem;
}
.p-detail_item .s-text{
	font-weight: 500;
}
.p-detail_item .s-notice{
	font-size: 1.1rem;
}

/*-------------------------------------------------------------------

	step

-------------------------------------------------------------------*/
.p-step{
	background-color: rgb(246, 242, 235);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-step_item{
	padding: 1.5rem;
}
.p-step_item + .p-step_item{
	margin-top: 1.5rem;
	position: relative;
}
.p-step_item .s-photo{
	width: 46.66667%;
}
.p-step_item .s-content{
	width: 48.88889%;
}
.p-step_item .s-number{
	font-size: 2.5rem;
	line-height: 1;
	letter-spacing: 0.1em;
}
.p-step_item .s-title{
	font-size: 1.5rem;
	line-height: 1.25;
	margin: 0.8rem 0 0.9rem;
}

/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
.p-price{
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-price-subtitle{
	border: 1px solid var(--color-brown);
	border-radius: 3rem;
	font-size: 1.5rem;
	margin: 4rem auto 3rem;
	padding: 1rem 1.7rem;
	width: fit-content;
}
.p-price_item + .p-price-subtitle{
	margin-top: 5rem;
}
.p-price_item + .p-price_item{
	margin-top: 3rem;
}
.p-price .s-title{
	font-size: 1.5rem;
	font-weight: bold;
	margin-top: 0.5rem;
	padding: 0.8rem 1.3rem;
	position: relative;
}
.p-price .s-title::before{
	background: var(--color-brown);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0.3rem;
}
.p-price .s-notice{
	font-size: 1.2rem;
}
.p-price_table{
	border-collapse: collapse;
	width: 100%;
	margin: 0.9rem 0 1.4rem;
}
.p-price_table th, .p-price_table td {
	padding: 1.8rem 0.5rem;
	line-height: 1.25;
	font-weight: normal;
	border-top: 1px solid #e3d7c5;
	border-bottom: 1px solid #e3d7c5;
}
.p-price_table th {
	text-align: left;
}
.p-price_table td{
	color: #c00;
	font-weight: bold;
	text-align: right;
}
.p-price_table td .s-perpiece {
	font-size: 1.2rem;
}
.p-price .s-content{
	margin-top: 1rem;
}

/*-------------------------------------------------------------------

	clinic

-------------------------------------------------------------------*/
.p-clinic{
	background: #f7f7f7;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-clinic_list + .p-clinic_list{
	margin-top: 1rem;
}
.p-clinic_list .p-sub-title{
	font-size: 1.5rem;
}
.p-clinic_slidebody{
	display: none;
}
.p-clinic_list h3{
	margin: 0;
	padding: 2rem;
}
.p-clinic_slidebody{
	padding: 0 2rem 2rem;
}
/* p-clinic_table */
.p-clinic_table{
	border-collapse: collapse;
	margin: 0;
}
.p-clinic_table th,
.p-clinic_table td{
	border-top: 1px solid #dddddd;
	font-size: 1.3rem;
	line-height: 1.25;
	padding: 1.8rem 0.5rem;
	vertical-align: top;
}
.p-clinic_table th{
	font-weight: normal;
	text-align: left;
	width: 7.5rem;
}
/* p-clinic_map */
.p-clinic_map{
	margin: 1.0rem 0 0;
}
.p-clinic_map iframe{
	vertical-align: top;
	height: 30rem;
}
/* p-clinic_doctor */
.p-clinic_doctor{
	margin-top: 3rem;
}
.p-clinic_doctor .s-photo{
	width: 39.34426%;
}
.p-clinic_doctor .s-name{
	width: 59.016393%;
	line-height: 1.25;
}
.p-clinic_doctor .s-position{
	font-size: 1.2rem;
}
.p-clinic_doctor .jp{
	font-size: 2.5rem;
	margin-top: 1.0rem;
}
.p-clinic_doctor .en{
	font-size: 1.2rem;
	margin-top: 0.8rem;
}
/* p-clinic_history */
.p-clinic_history,
.p-clinic_society{
	font-size: 1.3rem;
	line-height: 1.5;
}
.p-clinic_history{
	margin-top: 1.3rem;
}
.p-clinic_society{
	margin-top: 2.0rem;
}
.p-clinic_history .s-title,
.p-clinic_society .s-title{
	font-size: 1.4rem;
	margin-bottom: 1.3rem;
}
.p-clinic_history .s-dl{
	flex-wrap: wrap;
}
.p-clinic_history .s-dl dt{
	margin-bottom: 0.4rem;
	width: 32.78689%;
}
.p-clinic_history .s-dl dd{
	margin-bottom: 0.4rem;
	width: 64.59016%;
}

/*-------------------------------------------------------------------

	faq

-------------------------------------------------------------------*/
.p-faq{
	background: #f6f2eb;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-faq_list {
	margin-bottom: 1rem;
}
.p-faq_list dt span,
.p-faq_list dd span{
	display: block;
	width: 25.5rem;
}
.p-faq_list dd span{
	width: 95%;
}
.p-faq_list dt {
	color: var(--color-brown);
	font-weight: bold;
	position: relative;
	padding: 2rem 1.5rem 2rem 4.5rem;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.p-faq_list dd {
	font-size: 1.3rem;
	line-height: 1.5;
	position: relative;
	padding: 0 1.5rem 2rem 4.5rem;
	display: none;
}
.p-faq_list dt::before,
.p-faq_list dd::before {
	position: absolute;
	left: 1.5rem;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1;
}
.p-faq_list dt::before {
	content: "Q";
	top: 1.95rem;
}
.p-faq_list dd::before {
	content: "A";
	top: 0.2rem;
}

/*-------------------------------------------------------------------

	reserve

-------------------------------------------------------------------*/
.p-reserve{
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-reserve_content{
	font-size: 1.3rem;
}
.p-reserve_flow li{
	background: #efefef;
	border-radius: 0.5rem;
	margin-bottom: 1em;
	padding: 0.8rem 0;
	text-align: center;
	width: 32.17391%;
}
.p-reserve_flow li.s-current{
	background: #b49662;
	color: #fff;
}
.p-reserve_content .u-ul-basic .must-icon{
	margin-right: 0.5rem;
}

/*-------------------------------------------------------------------

	thanks

-------------------------------------------------------------------*/
.p-thanks-sns {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}
.p-thanks-sns li {
	width: 30%;
	text-align: center;
}
.p-thanks-sns li img {
	width: 4rem;
}
.p-thanks-sns li a {
	text-decoration: none;
}
.p-thanks-sns li span {
	display: block;
	padding-top: 0.5em;
	font-size: 1.2rem;
	line-height: 1.4;
	font-feature-settings: "palt";
}

/*-------------------------------------------------------------------

	foot

-------------------------------------------------------------------*/
.foot {
	font-size: 1rem;
	letter-spacing: 0.01em;
	text-align: center;
	padding: 0 0 11rem;
}

.pagetop {
	position: fixed;
	bottom: 7rem;
	right: -10rem;
	width: 4rem;
	z-index: 101;
	transition: all 0.2s ease-out;
}
.pagetop.is_scroll {
	right: 1rem;
}
.pagetop img{
	border-radius: 50%;
}

body.confirm .pagetop,
body.error .pagetop,
body.mis .pagetop,
body.thanks .pagetop {
	display: none;
}

/*-------------------------------------------------------------------

	foot-button

-------------------------------------------------------------------*/
body.confirm .foot-button_wrapper,
body.error .foot-button_wrapper,
body.miss .foot-button_wrapper,
body.thanks .foot-button_wrapper {
	display: none;
}

.foot-button_wrapper {
	width: 100%;
	position: fixed;
	z-index: 100;
	transition: all 0.3s ease-out;
	bottom: -10rem;
	left: 0;
	transition: all 0.2s ease-out;
}
.foot-button_wrapper.is_scroll {
	bottom: 0;
}
.foot-button_list {
	display: flex;
	justify-content: space-between;
}
.foot-button_list > li {
	height: 6rem;
	width: 49.9%;
}
.foot-button_list > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	text-decoration: none;
	font-size: 1.3rem;
	line-height: 1.3;
	text-align: center;
	color: white;
	transition: 0.3s all;
}
.foot-button_list > li a::before{
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	background: url(../img/ic_freedial.svg) no-repeat center center;
	background-size: contain;
}
.foot-button_list > li.tel a {
	background-color: #333333;
}
.foot-button_list > li.tel a:hover {
	background-color: #111;
}
.foot-button_list > li.mail a {
	background-color: #b49662;
}
.foot-button_list > li.mail a:hover {
	background-color: #917442;
}
.foot-button_list > li.mail a::before{
	background-image: url(../img/ic_mail.svg);
}

/*-------------------------------------------------------------------

	tellist

-------------------------------------------------------------------*/
.tellist_body{
	z-index: 400;
}
.tellist_body .inner{
	padding-bottom: 1.5rem;
}
.tellist_body .p-basic-title{
	margin-bottom: 1.5rem;
}
.tellist_body ul{
	flex-wrap: wrap;
}
.tellist_body li{
	height: 5rem;
	width: 48%;
	margin-bottom: 1.2rem;
}
.tellist_body li a {
	background-color: #333333;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	font-size: 1.2rem;
	line-height: 1.3;
	padding-left: 1.5rem;
	color: white;
	transition: 0.3s all;
}
.tellist_body li a::before{
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	background: url(../img/ic_freedial.svg) no-repeat center center;
	background-size: contain;
	margin-right: 0.8rem;
}
.tellist_body li a:hover{
	background-color: #111;
}