.shippori{
	font-family: "Shippori Mincho B1", serif;
	font-style: normal;
	line-height: 1.3;
}
.montserrat,
.p-faq_list dt::before,
.p-faq_list dd::before{
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.montserrat.u-text-italic{
	font-style: italic;
}
.new-roman {
  font-family: "Times New Roman", "Tinos", serif;
  font-style: normal;
}


/*-------------------------------------------------------------------
	head
-------------------------------------------------------------------*/
.head.contents-w{
	overflow: visible;
}
.head_logo {
	margin: 3.1rem 0 0 3.1rem;
	position: absolute;
	width: 40.8rem;
	z-index: 5;
}

/* head_hamburger_button */
.head_hamburger_button,
.tellist_button{
	background: #fff;
	border-radius: 0.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 1.6rem;
	right: calc( 50% - 300px);
	width: 8rem;
	height: 8rem;
	cursor: pointer;
	z-index: 3000;
}
@media screen and (max-width: 640px) {
	.head_hamburger_button,
	.tellist_button{
		right: 1.6rem;
	}
}
.head_hamburger_button .border,
.tellist_button .border{
	background: #333;
	content: "";
	display: block;
	width: 5.6rem;
	height: 0.4rem;
	position: absolute;
	transition: all 0.3s ease-out;
}
.head_hamburger_button .border:nth-child(1){
	top: 1.8rem;
}
.head_hamburger_button .border:nth-child(3){
	bottom: 1.8rem;
}
.head_hamburger_button.active .border:nth-child(1),
.tellist_button .border:nth-child(1){
	top: calc(50% - 0.2rem);
	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.2rem);
	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: #dee5f3;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 2000;
}
.head_hamburger_body .contents-w,
.tellist_body .contents-w{
	height: 100%;
	overflow: auto;
}
.head_hamburger_body .inner,
.tellist_body .inner{
	padding: 15rem 6.5rem 5rem;
}
.head_hamburger_body a{
	text-decoration: none;
	transition: all 0.3s ease-out;
}
.head_hamburger_body .link a{
	display: block;
	line-height: 1.5;
	padding: 1.6rem 0 1.6rem 3rem;
	position: relative;
}
.head_hamburger_body .link a::before{
	background: #1d4d93;
	border-radius: 10rem;
	content: "";
	height: 0.8rem;
	width: 1.6rem;
	position: absolute;
	left: 0;
	top: calc(50% - 0.4rem);
}
.head_hamburger_body .link a::after{
	background: #1d4d93;
	border-radius: 10rem;
	content: "";
	opacity: 0.1;
	position: absolute;
	left: 0;
	top: 50%;
	height: 0;
	width: 0;
	transition: all 0.2s ease-out;
	z-index: -1;
}
.head_hamburger_body .link a:hover::after,
.head_hamburger_body .link a:active::after{
	top: 0;
	height: 100%;
	width: 100%;
}

/* cva_button */
.cva_button{
	margin-top: 5.2rem;
}
.cva_button li + li{
	margin-top: 1.6rem;
}
.cva_button a{
	border-radius: 1.6rem;
	color: #fff;
	font-size: 3rem;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	overflow: hidden;
	padding-left: 14.3rem;
	position: relative;
	height: 13rem;
	text-decoration: none;
	z-index: 2;
}
.cva_button a .u-text-normal{
	font-size: 2.4rem;
}
.cva_button a::before{
	background: #cb6786 url(../img/icon_mail_white.svg) no-repeat left 4.8rem center;
	background-size: 5rem auto;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: -1;
}
.cva_button a::after{
	mix-blend-mode:hard-light;
	background: rgba(255, 193, 212, 0.4);
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 0;
	width: 100%;
	transition: all 0.2s ease-out;
	z-index: -1;
}
.cva_button a:hover::after,
.cva_button a:active::after{
	top: 0;
	height: 100%;
}
.cva_button .tel a::before{
	background: #1d4d93 url(../img/icon_tel_white.svg) no-repeat left 5.1rem center;
	background-size: 4.5rem auto;
}
.cva_button .tel a::after{
	background: rgba(193, 206, 255, 0.4);
}

/* flashanime */
.flashanime{
	animation: flashanimekey 3s infinite forwards;
	aspect-ratio: 1;
	background-image: linear-gradient(-45deg,rgba(255,255,255,0) 45%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 70%);
	display: block;
	position: absolute;
	left: -100%;
	height: 200%;
	opacity: 0.5;
	width: auto;
}
@keyframes flashanimekey {
	0%{
		left: -100%;
	}
	100%{
		left: 200%;
	}
}


/*-------------------------------------------------------------------
	MV
-------------------------------------------------------------------*/
.mv {
	background: #dae6f2;
	position: relative;
	height: 106rem;
	width: 100%;
}
/* mv_bg */
.mv_bg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}
/* mv_title */
.mv_title{
	padding-top: 12.8rem;
	position: absolute;
	right: 35rem;
	top: 0;
	width: 39.2rem;
	z-index: 1;
}
/* mv_case */
.mv_case{
	letter-spacing: 0.1em;
	padding-top: 67rem;
	position: absolute;
	left: 0rem;
	top: 0;
	width: 100%;
	z-index: 1;
}
.mv_case .title{
	font-size: 3rem;
	line-height: 1.3
}
.mv_case .items{
	padding: 2rem 3rem 0;
}
.mv_case li{
	width: 25%;
}
.mv_case .photo{
	border-radius: 50%;
	box-shadow: 0 0.4rem 2rem 0 rgba(0, 0, 0, 0.1);
	display: block;
	margin: 0 auto 0.5rem;
	overflow: hidden;
	height: 12.8rem;
	width: 12.8rem;
}
.mv_case .text{
	font-size: 2.8rem;
	letter-spacing: 0;
	transform: scaleX(0.9);
}
/* mv_point */
.mv_point{
	justify-content: center;
	padding-top: 98.6rem;
	position: absolute;
	line-height: 1;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.mv_point .item{
	background-image: linear-gradient( -45deg, rgb(29,77,147) 0%, rgb(95,138,197) 100%);
	border: 0.4rem #f5e3d6 solid;
	box-shadow: 0.87rem 0.87rem 0 0 rgba(0, 0, 0, 0.1);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.8rem;
	line-height: 1.3;
	margin: 0 1.2rem;
	padding: 0 3.5rem;
	height: 11.3rem;
	transform: skewX(-10deg) translateX(2rem);
}
.mv_point .item.js-fadeUp.is-inview{
	transform: skewX(-10deg) translateX(0);
}
.mv_point .item_1.js-fadeUp.is-inview{
	transition-delay: 1.6s;
}
.mv_point .item_2.js-fadeUp.is-inview{
	transition-delay: 1.8s;
}
.mv_point .item_3.js-fadeUp.is-inview{
	transition-delay: 2s;
}

/*-------------------------------------------------------------------
	common
-------------------------------------------------------------------*/
.mainbg{
	background: #ffffff;
}
.contents-w {
	max-width: 640px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
/* p-basic-section */
.p-basic-section {
	padding: 8rem 3rem;
}
.p-basic-section > :last-child {
	margin-bottom: 0;
}
/* p-basic-title */
.p-basic-title {
	margin-bottom: 6rem;
	position: relative;
}
.p-basic-title .en {
	display: flex;
	justify-content: center;
	font-size: 24rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 0.8;
	opacity: 0.05;
	position: absolute;
	top: -1rem;
	left: 50%;
	width: 0;
	z-index: 1;
}
.p-basic-title .jp {
	display: block;
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	padding-top: 13.0rem;
	position: relative;
	z-index: 2;
}

/* p-basic-subtitle */
.p-basic-subtitle {
	margin: 6rem 0 3.4rem;
}
.p-basic-subtitle .en {
	color: #ffecdc;
	display: block;
	font-size: 8rem;
	line-height: 0.8;
}
.p-basic-subtitle .jp {
	display: block;
	font-size: 4rem;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin-top: 1.8rem;
}

/* 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;
	}
}

/* slick */
.slick-prev,
.slick-next{
	height: 12.3rem !important;
	width: 6rem !important;
	top: 50% !important;
	z-index: 100;
}
.slick-prev{
	left: 0 !important;
}
.slick-next{
	right: 0 !important;
}
.slick-prev:before,
.slick-next:before{
	background: url(../img/icon_prev.svg) no-repeat center center;
	background-size: contain;
	content: "" !important;
	display: block;
	height: 12.3rem;
	width: 6rem;
}
.slick-next:before{
	background-image: url(../img/icon_next.svg);
}

/*-------------------------------------------------------------------
	why
-------------------------------------------------------------------*/
.p-why{
	background: #fff url(../img/why_bg.png) no-repeat center top;
	background-size: contain;
	padding-top: 16rem;
	position: relative;
}
.p-why .title{
	font-size: 4.8rem;
	margin-bottom: 1.5rem;
}

/*-------------------------------------------------------------------
	treatment
-------------------------------------------------------------------*/
.p-treatment{
	background: #fff8f2;
	margin-top: 4rem;
	padding-top: 0;
	position: relative;
}
.p-treatment .title .en{
	color: #ffecdc;
	display: block;
	font-size: 12rem;
	letter-spacing: 0;
	line-height: 0.8;
	position: absolute;
	left: -0.8rem;
	top: -4.3rem;
	z-index: 1;
}
.p-treatment .title .jp{
	display: block;
	font-size: 3.6rem;
	padding: 0.5rem 0 7rem;
	position: relative;
	z-index: 2;
}
/* anchor_list */
.anchor_list{
	flex-wrap: wrap;
	justify-content: center;
	margin: 2.6rem 0 6.4rem;
}
.anchor_bottom{
	display: none;
}
.anchor_list li{
	margin: 1.2rem;
	width: 28.8rem;
}
.anchor_list a{
	display: block;
	background-image: linear-gradient( 0deg, rgb(251,224,202) 0%, rgb(255,242,231) 100%);
	border: 0.4rem #fff solid;
	border-radius: 1.6rem;
	box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.15);
	padding: 3.0rem;
	text-decoration: none;
	transition: 0.2s all ease-out;
}
.anchor_list a:hover{
	background-image: linear-gradient( 0deg, rgb(255, 195, 147) 0%, rgb(255, 229, 208) 100%);
}
.anchor_list a.active,
.anchor_list a.active:hover{
	background-image: linear-gradient( 0deg, rgb(255, 191, 139) 0%, rgb(255, 221, 193) 100%);
	border-color: rgb(255, 191, 139);
	box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.05);
}
/* item */
.p-treatment .item{
	display: none;
	background: #fff;
	border: 0.2rem #ebc19f solid;
	border-radius: 3.2rem;
	margin-bottom: 1rem;
	padding: 4.5rem 3.2rem 6rem;
}
.p-treatment .item_title{
	margin-bottom: 4rem;
}
.p-treatment .item_title > span{
	display: block;
}
.p-treatment .item_title .size_l{
	font-size: 6rem;
}
.p-treatment .item_title .size_s{
	font-size: 3.6rem;
}
/* check_block */
.p-treatment .check_block{
	background: #eff1f5;
	border-radius: 1.6rem;
	padding: 3rem;
}
/* arrow_block */
.p-treatment .arrow_block{
	background: url(../img/icon_arrow_d.svg) no-repeat center center;
	background-size: contain;
	font-size: 3.6rem;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1rem 0;
	height: 21rem;
}
/* intro */
.p-treatment .intro_title{
	font-size: 4.2rem;
	line-height: 1.5;
	margin-bottom: 2rem;
}
.p-treatment .intro_image{
	margin: 3rem auto;
	width: 48rem;
}
/* machine */
.p-treatment .machine{
	margin-top: 5rem;
}
.p-treatment .machine_title{
	font-size: 4rem;
	line-height: 1.3;
	margin-bottom: 5rem;
}
.width247{
	width: 24.7rem;
}
/* detail */
.p-treatment .detail{
	margin-top: 8rem;
}
.p-treatment .detail_title{
	background: #fff8f2;
	border-radius: 10rem;
	font-size: 4rem;
	margin-bottom: 5.4rem;
	padding: 1.6rem;
}
.width332{
	width: 33.2rem;
}
.p-treatment .detail_table{
	border-collapse: collapse;
	margin-top: 4.6rem;
	width: 100%;
}
.p-treatment .detail_table th,
.p-treatment .detail_table td{
	border-top: 0.2rem #dddddd solid;
	border-bottom: 0.2rem #dddddd solid;
	font-size: 2.8rem;
	line-height: 1.5;
	padding: 2.4rem 1rem;
	text-align: left;
}
.p-treatment .detail_table th{
	font-weight: bold;
	vertical-align: top;
	width: 20.6rem;
}
.p-treatment .detail_table td{
	vertical-align: middle;
	width: calc(100% - 20.6rem);
}
/* more */
.p-treatment .more{
	margin-top: 5.6rem;
}
.p-treatment .more_title{
	font-size: 4rem;
	margin-bottom: 3rem;
}
.p-treatment .decoration{
	display: flex;
	align-items: center;
	justify-content: center;
}
.p-treatment .decoration::before,
.p-treatment .decoration::after{
	background: #f78f16;
	content: "";
	display: block;
	width: 0.2rem;
	height: 10rem;
}
.p-treatment .decoration::before{
	margin-right: 3rem;
	transform: rotate(-15deg);
}
.p-treatment .decoration::after{
	margin-left: 3rem;
	transform: rotate(15deg);
}
/* case */
.case_item{
	margin-top: 4rem;
}
.case_photos .photo{
	font-size: 2.6rem;
	width: 48.48485%;
}
.case_photos .mark{
	background: url(../img/icon_case_arrow.svg) no-repeat center top 15.2rem;
	background-size: contain;
	width: 2.2%;
}
.case_detail{
	margin-top: 0.6rem;
	width: 100%;
}
.case_detail th,
.case_detail td{
	font-size: 2.4rem;
	line-height: 1.5;
	padding: 0.4rem 0;
	text-align: left;
	vertical-align: top;
}
.case_detail th{
	padding-right: 3.6rem;
	white-space: nowrap;
}
/* price */
.price_detail{
	border-collapse: collapse;
	width: 100%;
}
.price_detail th,
.price_detail td{
	border-top: 0.2rem #dddddd solid;
	border-bottom: 0.2rem #dddddd solid;
	font-size: 2.8rem;
	line-height: 4.2rem;
	padding: 2.4rem 0;
	text-align: left;
	vertical-align: middle;
}
.price_detail th{
	font-weight: normal;
	text-align: left;
	padding-left: 2rem;
	white-space: nowrap;
}
.price_detail td{
	padding-right: 2rem;
	text-align: right;
}
.price_detail .num{
	font-size: 3.6rem;
	font-weight: 600;
}
.price_detail .jp{
	font-weight: 700;
}
.price_note{
	font-size: 2.4rem;
	line-height: 1.5;
	margin-top: 2.3rem;
}

/*-------------------------------------------------------------------
	voice
-------------------------------------------------------------------*/
.p-voice{
	background: #184a86 url(../img/voice_bg.jpg) no-repeat center top;
	background-size: cover;
	padding-top: 0;
}
.p-voice .p-basic-title{
	margin-bottom: 3rem;
}
.p-voice .items{
	flex-wrap: wrap;
}
.p-voice .item{
	background: #fff;
	border-radius: 1.6rem;
	margin-top: 9.4rem;
	padding: 0 3rem 3rem;
	width: 48.40580%;
}
.p-voice .item dt{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.3;
	padding-top: 8rem;
	position: relative;
}
.p-voice .item dt .icon{
	border-radius: 50%;
	overflow: hidden;
	position: absolute;
	left: calc(50% - 6.5rem);
	top: -6.5rem;
	height: 13rem;
	width: 13rem;
}
.p-voice .item dd{
	font-size: 2.6rem;
	line-height: 1.5;
	margin-top: 1rem;
}
.p-voice .text{
	font-size: 3.6rem;
	line-height: 1.5;
	margin-top: 4rem;
}

/*-------------------------------------------------------------------
	flow
-------------------------------------------------------------------*/
.p-flow{
	padding: 0 0 17rem;
}
.p-flow .item{
	border-radius: 1.6rem;
	line-height: 1.5;
	margin: 2rem 1.3rem;
	padding: 4rem;
	width: 57rem;
}
.p-flow .item .title{
	font-size: 3.6rem;
	margin-bottom: 2.5rem;
}
.p-flow .item .catch{
	margin: 2.5rem 0 1.5rem;
}
.p-flow .item .text{
	font-size: 2.8rem;
}

/*-------------------------------------------------------------------
	doctor & clinic
-------------------------------------------------------------------*/
.p-doctor,
.p-clinic{
	background: #eff1f5;
	padding: 0 6.4rem 5.5rem;
}
/* doctor */
.p-doctor .doctor_title{
	font-size: 8.8rem;
	line-height: 1;
	margin-bottom: 4rem;
	position: relative;
	left: -6.8rem;
	top: -1rem;
}
.p-doctor .u-flex-basic{
	align-items: center;
}
.p-doctor .photo{
	margin-right: 3.3rem;
	width: 27.8rem;
}
.p-doctor .name{
	letter-spacing: 0.02em;
	line-height: 1;
}
.p-doctor .name .jp{
	font-size: 3.6rem;
}
.p-doctor .name .subject{
	font-size: 3rem;
}
.p-doctor .name .en{
	font-size: 2.6rem;
	margin-top: 1.6rem;
}
.doctor_detail .title{
	font-size: 2.8rem;
	line-height: 1.5;
	margin: 5rem 0 0.8rem;
}
.doctor_detail .text{
	font-size: 2.6rem;
}
/* clinic */
.p-clinic .logo{
	margin: 10rem auto 1.7rem;
	width: 51.4rem;
}
.p-clinic th,
.p-clinic td{
	font-size: 2.8rem;
}
.p-clinic .map{
	margin: 4rem -6.4rem 6rem;
}
.p-clinic .map iframe{
	height: 45rem;
}

/*-------------------------------------------------------------------
	faq
-------------------------------------------------------------------*/
.p-faq{
	background: #fff8f2;
	padding-top: 0;
	padding-bottom: 12rem;
}
.p-faq_list {
	padding: 0 3.2rem;
}
.p-faq_list + .p-faq_list{
	margin-top: 5rem;
}
.p-faq_list dt {
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.5;
	padding-left: 5.4rem;
	position: relative;
}
.p-faq_list dd {
	font-size: 3rem;
	line-height: 1.5;
	padding-top: 1.5rem;
	padding-left: 5.4rem;
	position: relative;
}
.p-faq_list dt::before,
.p-faq_list dd::before {
	font-weight: 600;
	line-height: 1;
	position: absolute;
}
.p-faq_list dt::before {
	content: "Q";
	font-size: 3.8rem;
	left: 0;
	top: 0.2rem;
}
.p-faq_list dd::before {
	content: "A";
	font-size: 3.4rem;
	left: 0.3rem;
	top: 1.7rem;
}

/*-------------------------------------------------------------------
	form
-------------------------------------------------------------------*/
.p-form{
	background: #efefef;
	padding-top: 0;
}
.p-form .p-basic-title .en{
	color: #e3e3e3;
	font-size: 15rem;
	opacity: 1;
	top: -0.8rem;
}
.p-form .text{
	font-size: 2.6rem;
	line-height: 1.8;
	margin-bottom: 5rem;
}
.p-form .box_white{
	padding: 3rem;
}
.confirm .p-form,
.error .p-form,
.miss .p-form,
.thanks .p-form{
	margin-top: 0;
	padding-top: 20rem;
}
.p-form .hope input[type=text]{
	width: 33.6rem !important;
}
.p-form .ui-datepicker-trigger{
	margin-left: -5rem;
    margin-bottom: 1rem;
	width: 3.6rem;
}
.p-form .hope select{
	margin-left: 1rem;
	width: calc(100% - 34.6rem) !important;
}
.p-form .privacypolicy{
	font-size: 2.6rem;
	line-height: 1.5;
}
.p-form .note{
	font-size: 2.6rem;
	line-height: 1.5;
}
.p-form .note:not(:first-child){
	margin-top: 2rem;
}
.p-form .note:not(:last-child){
	margin-bottom: 2rem;
}

/*-------------------------------------------------------------------
	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: 2.4rem;
	letter-spacing: 0;
	text-align: center;
	padding: 8rem 0 26rem;
}
.pagetop {
	position: fixed;
	bottom: 16rem;
	right: -10rem;
	width: 8rem;
	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
-------------------------------------------------------------------*/
.foot-button{
	background: #e1ddda;
	position: fixed;
	left: 0;
	bottom: -20rem;
	width: 100%;
	height: 13.8rem;
	transition: all 0.2s ease-out;
	z-index: 1000;
}
.foot-button.is_scroll{
	bottom: 0;
}
.foot-button_list{
	margin: 0 auto;
	max-width: 640px;
	padding: 0.3rem;
	height: 13.8rem;
	width: 100%;
}
.foot-button_list li{
	padding: 0.1rem;
	height: 100%;
	width: 100%;
}
.foot-button_list a{
	background: #1d4d93;
	color: #fff;
	font-size: 2.6rem;
	letter-spacing: 0;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	text-decoration: none;
	transition: all 0.2s ease-out;
}
.foot-button_list a:hover{
	background: #1e6bdf;
}
.foot-button_list a::before{
	background: url(../img/icon_tel_white.svg) no-repeat center center;
	background-size: contain;
	content: "";
	margin-bottom: 1.2rem;
	height: 3.2rem;
	width: 3.2rem;
	transition: all 0.2s ease-out;
}
.foot-button_list a:hover::before{
	transform: rotate(10deg) scale(1.2);
}
.foot-button_list .mail a{
	background: #cb6786;
}
.foot-button_list .mail a:hover{
	background: #e61e5d;
}
.foot-button_list .mail a::before{
	background-image: url(../img/icon_mail_white.svg);
	width: 3.4rem;
}
.foot-button_list .line a{
	background: #09ba81;
}
.foot-button_list .line a:hover{
	background: #0dd394;
}
.foot-button_list .line a::before{
	background-image: url(../img/icon_line_white.svg);
	height: 3.4rem;
	width: 3.6rem;
}
/* FAQアコーディオン専用 */
.js-faq_question{
  cursor: pointer;
  position: relative;
  padding-right: 6rem;
}

.js-faq_answer{
  display: none;
}

.faq-icon{
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 2.4rem;
  height: 2.4rem;
  transform: translateY(-50%);
}

.faq-icon::before,
.faq-icon::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.2rem;
  height: 2px;
  background: #333;
  transform: translate(-50%, -50%);
  transition: .3s;
}

.faq-icon::before{
  transform: translate(-50%, -50%) rotate(90deg);
}

.js-faq.active .faq-icon::before{
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}