/*-------------------------------------------------------------------

	head

-------------------------------------------------------------------*/
.head_logo {
	margin: 0.7rem 0 0 1.5rem;
	position: absolute;
	width: 20rem;
	z-index: 2;
}
.head_logo a{
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
}

/* 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: #505050;
	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,
.linelist_body{
	background: #333333;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 200;
}
.head_hamburger_body .inner,
.tellist_body .inner,
.linelist_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: 0.5rem;
}
.head_hamburger_body .foot-button_list{
    margin: 2rem -2.2rem 0;
}
.head_hamburger_body .foot-button_list li{
	/* width: 33%; */
	width: 50%;
}
/*-------------------------------------------------------------------

	MV

-------------------------------------------------------------------*/
.mv{
	position: relative;
}
.mv .price{
	font-size: 1.7905rem;
	line-height: 1.3;
	margin: 0 auto;
	/* padding-top: 37.5rem; */
	padding-top: min(92.5vw,34.5rem);
	position: absolute;
	width: 100%;
	top: 0;
	z-index: 1;
}
.mv .price .inner{
	background: rgba(255, 255, 255, 0.8);
	border: solid #ff87ab 0.2rem;
	border-radius: 0.5rem;
	box-shadow: 0px 0.3rem 0.6rem 0px rgba(0, 0, 0, 0.1);
	margin: auto;
	padding: 0.8rem 0 1.2rem;
	/* width: 84%; */
	width: 96%;
}
.mv .price .u-flex-basic{
	/* align-items: baseline; */
	align-items: center;
}
.mv .price .u-flex-basic:not(:first-of-type){
	margin-top: 5px;
}
.mv .price .name{
	font-size: 1.6rem;
	font-size: min(3.8vw,1.6rem);
	letter-spacing: 0.1em;
	margin-right: 1rem;
	text-align: center;
	width: 40%;
}
.mv .price .priceBox{
	width: 49%;
	display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
	justify-content: end;
}
.mv .price .num{
	/* font-size: 2.626rem; */
	font-size: min(6vw,2.626rem);
	transform: translateY(0.2rem);
}
.mv .price .yen{
	font-size: min(3.6vw,1.7905rem);
}
.mv .price .tax{
	font-size: 1.1935rem;
	font-size: min(3.2vw,1.1935rem);
}

/*-------------------------------------------------------------------

	common

-------------------------------------------------------------------*/
.contents-w {
	max-width: 640px;
	margin: 0 auto;
	position: relative;
}

/* p-basic-section */
.p-basic-section {
	padding: 4rem 1.5rem;
}
.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 {
	display: block;
	font-size: 2.2rem;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1;
	margin-bottom: 0.8rem;
}
.p-basic-title .jp {
	display: block;
	font-size: 2rem;
	letter-spacing: 0.08em;
	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;
	}
}


/*-------------------------------------------------------------------

	anchrolink

-------------------------------------------------------------------*/
.p-anchrolink{
	background: #f2ebe2;
	/* margin-top: 0.8rem; */
}
.p-anchrolink .u-flex-basic{
	flex-wrap: wrap;
	padding: 1rem 1rem 0.5rem;
}
.p-anchrolink li{
	margin-bottom: 0.5rem;
	height: 4.5rem;
	width: 49.29577%;
}
.p-anchrolink a{
	background-image: -moz-linear-gradient( 90deg, rgb(158,120,66) 0%, rgb(202,167,118) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(158,120,66) 0%, rgb(202,167,118) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(158,120,66) 0%, rgb(202,167,118) 100%);  
	color: #fff;
	display: flex;
	font-size: 1.3rem;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 0.8rem 0 0.5rem;
	text-decoration: none;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease-in-out;
}
.p-anchrolink a::after{
	background: url(../img/ic_triangle.svg) no-repeat center center;
	background-size: contain;
	content: "";
	display: block;
	height: 0.5rem;
	width: 0.6rem;
}
.p-anchrolink a:hover{
	opacity: 0.6;
}


/*-------------------------------------------------------------------

	contact_block

-------------------------------------------------------------------*/
.p-contact_block{
	background: #faf6f5;
	padding: 3rem 1.5rem;
}
.p-contact_block .title{
	font-size: 1.3rem;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}
.p-contact_block li{
	height: 7.5rem;
	/* width: 48.405797%; */
	width: 100%;
}
.p-contact_block a{
	background: #ff87ab;
	border-radius: 0.5rem;
	color: #fff;
	display: flex;
	font-size: 1.2rem;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 1.7rem 0 1.3rem;
	text-decoration: none;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease-in-out;
}
.p-contact_block a::before{
	background: url(../img/ic_freedial.svg) no-repeat center center;
	background-size: contain;
	content: "";
	display: block;
	height: 1.9rem;
	width: 3rem;
}
.p-contact_block .mail a::before{
	background-image: url(../img/ic_mail.svg);
	height: 1.9rem;
	width: 2.7rem;
}
.p-contact_block a:hover{
	opacity: 0.6;
}


/*-------------------------------------------------------------------

	p-line_acount

-------------------------------------------------------------------*/
.p-line_acount{
	background: #faf6f5;
	/* margin-top: -1.5rem; */
	/* margin-top: 0.8rem; */
	padding: 0.8rem 1.5rem 1.5rem;
}
.p-line_acount a{
	border: 0.1rem solid #cab1aa;
	border-radius: 1rem;
	display: block;
	padding: 1.5rem;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
}
.p-line_acount a:hover{
	opacity: 0.6;
}
.p-line_acount .title{
	font-size: 1.2rem;
	line-height: 1.3;
	margin-bottom: 1.1rem;
}
.p-line_acount .copy{
	color: #00b900;
	flex: 1;
	line-height: 1.3;
}
.p-line_acount .button{
	width: 45.71429%;
}
.p-line_acount .campaign{
	margin-top: 1.1rem;
}


/*-------------------------------------------------------------------

	worries

-------------------------------------------------------------------*/
.p-worries{
	background-image: -moz-linear-gradient( 90deg, rgb(254,227,238) 0%, rgb(239,239,239) 100%);
	background-image: -webkit-linear-gradient( 90deg, rgb(254,227,238) 0%, rgb(239,239,239) 100%);
	background-image: -ms-linear-gradient( 90deg, rgb(254,227,238) 0%, rgb(239,239,239) 100%);
	padding-bottom: 3rem;
}
.p-worries-title .en{
	background: url(../img/worries_title.svg) no-repeat center center;
	background-size: contain;
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin: -1rem auto 0.5rem;
	padding-top: 1.25rem;
	padding-left: 0.2rem;
	height: 5.5rem;
	width: 10.3rem;
}
.p-worries-title .jp{
	display: block;
	font-size: 1.9rem;
}
/* box_white */
.p-worries .box_white{
	font-size: 1.5rem;
	margin: 2rem 1.5rem;
	padding: 2.5rem 2.5rem 1.5rem;
}
.p-worries .box_white .marker_yellow{
	font-size: 1.8rem;
}
.p-worries .list_check li{
	line-height: 2.7rem;
	margin-bottom: 1rem;
}
.p-worries .list_check li{
	background-size: 2rem 1.5rem;
	padding-left: 2.8rem;
}
/* copy */
.p-worries .copy{
	font-size: 1.8rem;
	margin-top: 3.0rem;
}
.p-worries .copy .size_l{
	font-size: 2.8rem;
	line-height: 1.5;
}


/*-------------------------------------------------------------------

	treatment

-------------------------------------------------------------------*/
.p-treatment{
	background: #fee3ee;
	padding: 1.5rem 1.5rem 4rem;
}
.p-treatment_item{
	border-top: 0.5rem solid #ffc5d6;
	padding: 2.6rem 2rem 2rem;
}
.p-treatment_item + .p-treatment_item{
	margin-top: 4rem;
}

/* title */
.p-treatmentitem-title .read{
	display: block;
	font-size: 1.2rem;
	line-height: 1.3;
}
.p-treatmentitem-title .jp{
	color: #ff87ab;
	display: block;
	font-size: 2.2rem;
	line-height: 1.3;
	margin: 0.6rem 0 2.2rem;
}

/* illust */
.p-treatment_item .illust{
	margin-top: 1.5rem;
	font-size: 1.3rem;
}
.p-treatment_item .illust .s-photo{
	margin: 0.5rem auto 0;
}
#areola.p-treatment_item .illust .s-photo{
	width: 19.5rem;
}
#nipple.p-treatment_item .illust .s-photo{
	width: 27rem;
}
#inverted.p-treatment_item .illust .s-photo{
	width: 18.15rem;
}
#montgomery.p-treatment_item .illust .s-photo{
	width: 25.65rem;
}

/* price */
.p-treatment .price{
	font-size: 2.4rem;
	line-height: 1.3;
	margin-top: 1rem;
}
.p-treatment .price .inner{
	align-items: baseline;
}
.p-treatment #pico .price .inner{
	align-items: flex-end;
}
.p-treatment .name{
	font-size: 1.8rem;
	margin-right: 0.8rem;
}
.p-treatment #pico .name{
	font-size: 1.3rem;
	margin-bottom: 0.5em;
}
.p-treatment .num{
	font-size: 4.6rem;
	transform: translateY(0.2rem);
}
.p-treatment .unit-tax{
	position: relative;
}
.p-treatment .tax{
	font-size: 0.9rem;
	position: absolute;
	top: -0.8rem;
	width: 100%;
}
#montgomery.p-treatment_item .price .inner{
	justify-content: flex-end;
}

/* detail */
.p-detail_items{
	flex-wrap: wrap;
	/* margin-top: 1rem; */
}
.p-detail_item{
	border: 0.1rem solid #dddddd;
	border-radius: 0.5rem;
	line-height: 1.5;
	margin-top: 1.5rem;
	padding: 1.8rem 1rem 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.5rem auto 0.8rem;
	width: 6rem;
	height: 6rem;
}
.p-detail_item .s-content{
	font-size: 1.5rem;
}
.p-detail_item .s-content.size_s{
	font-size: 1.2rem;
}

/* faq */
.faq_items{
	margin-top: 2rem;
}
.faq_items .s-title{
	font-size: 1.7rem;
	margin-bottom: 1.5rem;
}
.faq_item{
	background: #f7f7f7;
	margin-top: 0.5rem;
}
.faq_item dt span,
.faq_item dd span{
	display: block;
}
.faq_item dt span{
	padding-right: 1rem;
}
.faq_item dt {
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	padding: 2.5rem 2rem 2.5rem 4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.faq_item dd {
	font-size: 1.3rem;
	line-height: 1.5;
	margin-top: -1.5rem;
	position: relative;
	padding: 0 1rem 1.7rem 4rem;
	display: none;
}
.faq_item dt::before,
.faq_item dd::before {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	left: 1.4rem;
}
.faq_item dt::before {
	content: "Q";
	top: 2.5rem;
}
.faq_item dd::before {
	content: "A";
	top: 0rem;
}

/* case */
.case_items{
	margin-top: 2rem;
}
.case_items .s-title{
	font-size: 1.7rem;
	margin-bottom: 1.5rem;
}
.ceseArea:not(:first-of-type){
	margin-top: 40px;
}
.caseImgArea{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 10px;
}
.caseImgArea li{
  width: 42%;
  text-align: center;
  font-weight: 600;
}
.caseImgArea .arrow{
  width: 15%;
  color: #cc69aa;
  text-align: center;
  font-size:min(7vw,46px);
  line-height: 1;
}
.caseTxtArea{
border: 1px solid #cc69aa;
padding: 10px 1.5rem;
}
.caseTxtArea dt{
  font-size: 1.3rem;
  font-weight: 600;
}
.caseTxtArea dd{
  font-size: 1.2rem;
}

/* icon_plusminus */
.icon_plusminus{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 1.5rem;
	width: 1.5rem;
}
.icon_plusminus::before,
.icon_plusminus::after{
	background: #9e7842;
	content: "";
	position: absolute;
	height: 0.2rem;
	width: 1.5rem;
	transform: rotate(0deg);
	transition: 0.3s all;
}
.icon_plusminus.is_close::before{
	transform: rotate(90deg);
}


/*-------------------------------------------------------------------

	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;
}


/*-------------------------------------------------------------------

	price

-------------------------------------------------------------------*/
.p-price{
	padding-bottom: 5rem;
}

/* p-price_item */
.p-price_item + .p-price_item{
	margin-top: 4rem;
}
.p-price-subtitle{
	border: 1px solid #999999;
	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.6rem;
	font-weight: bold;
	margin-top: 0.5rem;
	padding: 0.8rem 1.3rem;
	position: relative;
}
#payment.p-price .s-title{
	font-size: 1.4rem;
}
.p-price .s-title::before{
	background: #b88618;
	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-top: 1.6rem;
}
.p-price_table .size_s{
	font-size: 1rem;
}
.p-price_table th, .p-price_table td {
	padding: 1.5rem 0.7rem;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.5;
	border: 1px solid #dddddd;
}
.p-price_table th {
	background: #faf6f1;
	text-align: center;
}
.p-price_table th:first-child{
	width: 45.5072%;
	text-align: left;
}
.p-price_table .num{
	width: 31.01449%;
}
.p-price_table td.num{
	text-align: right;
}
.p-price_table .time{
	width: 24.05797%;
}
.p-price_table td.time{
	text-align: center;
}
.p-price_table td .s-perpiece {
	font-size: 1.2rem;
}
.p-price .s-content{
	margin-top: 1rem;
}


/*-------------------------------------------------------------------

	flow

-------------------------------------------------------------------*/
.p-flow{
	background: #fff0f6;
	padding-bottom: 5rem;
}
.p-flow_item{
	padding: 2rem;
	position: relative;
}
.p-flow_item + .p-flow_item{
	margin-top: 2.5rem;
}
.p-flow_item + .p-flow_item::after{
	background: #ffc5d6;
	position: absolute;
	height: 2.5rem;
	width: 0.2rem;
	top: -2.5rem;
	left: calc(50% - 0.1rem);
}
.p-flow_item .s-num{
	font-size: 3rem;
	line-height: 1;
}
.p-flow_item .s-title{
	font-size: 1.6rem;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}
.p-flow_item .s-photo{
	float: right;
	margin-left: 1.5rem;
	width: 14.5rem;
}


/*-------------------------------------------------------------------

	doctor

-------------------------------------------------------------------*/
.p-doctor .name{
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	margin: -1rem 0 3rem;
}
.p-doctor .name .size_l{
	font-size: 1.8rem;
}
.p-doctor .history .s-title{
	font-size: 1.3rem;
	margin-bottom: 0.5rem;
}
.p-doctor .history dl{
	flex-wrap: wrap;
	font-size: 1.2rem;
	line-height: 1.2;
}
.p-doctor .history dt{
	margin-bottom: 1rem;
	width: 21.73913%;
}
.p-doctor .history dd{
	margin-bottom: 1rem;
	width: 78.26087%;
}
.p-doctor .society{
	font-size: 1.2rem;
	line-height: 1.5;
	margin-top: 1.5rem;
}


/*-------------------------------------------------------------------

	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_list h3{
	margin: 0;
	padding: 2rem;
}
.p-clinic .logo{
	margin: -1rem 0 2.6rem;
}
.p-clinic .logo img{
	width: 19.8rem;
}
/* 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{
	text-align: left;
	width: 9rem;
}
/* p-clinic_map */
.p-clinic_map{
	margin: 1.0rem 0 0;
}
.p-clinic_map iframe{
	vertical-align: top;
	height: 30rem;
}

.p-clinic .access{
	font-size: 1.3rem;
	line-height: 1.5;
	margin-top: 2rem;
}

/*-------------------------------------------------------------------

	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: #b49662;
	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{
	background: #fff2f7;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
.p-reserve_content{
	font-size: 1.3rem;
	line-height: 1.6;
}
.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: 2rem 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: 33.33333%; */
	width: 50%;
}
.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: #ff87ab;
}
.foot-button_list > li.tel a:hover {
	background-color: #e45d86;
}
.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);
}
.foot-button_list > li.line a {
	background-color: #00b900;
}
.foot-button_list > li.line a:hover {
	background-color: #008a00;
}
.foot-button_list > li.line a::before{
	background-image: url(../img/ic_line.svg);
}

/*-------------------------------------------------------------------

	tellist & linelist

-------------------------------------------------------------------*/
.tellist_body,
.linelist_body{
	z-index: 400;
}
.tellist_body .inner,
.linelist_body .inner{
	padding-bottom: 1.5rem;
}
.tellist_body .p-basic-title,
.linelist_body .p-basic-title{
	margin-bottom: 1.5rem;
}
.tellist_body ul,
.linelist_body ul{
	flex-wrap: wrap;
}
.tellist_body li,
.linelist_body li{
	height: 5rem;
	width: 48%;
	margin-bottom: 1.2rem;
}
.tellist_body li a,
.linelist_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;
}
.linelist_body li a{
	background-color: #00b900;
}
.tellist_body li a::before,
.linelist_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;
}
.linelist_body li a::before{
	background-image: url(../img/ic_line.svg);
}
.tellist_body li a:hover{
	background-color: #111;
}
.linelist_body li a:hover{
	background-color: #008a00;
}

/*-------------------------------------------------------------------

	confirm & miss & thanks

-------------------------------------------------------------------*/
.confirm .p-reserve,
.miss .p-reserve,
.thanks .p-reserve{
	padding-top: 8rem;
}
