@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
::selection {
	background: rgba(210, 180, 217, .2);
}

/*====================================
Common
====================================*/
.slider_pagination .swiper-pagination-bullet-active{
	background-color: #72684B;
}

@media screen and (min-width: 960px) {
	.btn--cmn1:hover{
		background-color: #C4BEAE;
		color: #FFF;
	}
}

/*====================================
header
====================================*/
.header_logo{
	width: 12.7rem;
}
.header_logo .logo{
	display: block;
}

.gnav_list{
	margin-right: 20px;
}
.gnav_btn .reservation_btn{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: linear-gradient(to bottom, #D2B4D9 0%, #B994B9 100%);
	transition: opacity .3s ease;
}
.gnav_btn .reservation_btn:hover{
	opacity: .7;
}
.gnav_btn .reservation_btn .btn_txt{
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 1149px) {
	.header_logo{
		padding-left: 0.3rem;
	}
}
@media screen and (max-width: 399px) {
	.header_logo{
		width: 12rem;
	}
}

@media screen and (min-width: 1150px) {
	.header_logo{
		padding-top: 27px;
		width: 229px;
	}
}

/*===============================
hamburger menu
===============================*/
/* hamburger_blc_menu
--------------------------------------*/
#hamburger_menu .hamburger_blc_menu .tab_btn_wrap{
	border-bottom: solid 1px #B995BA;
}
#hamburger_menu .hamburger_blc_menu .tab_btn{
	border-radius: 2px 2px 0 0;
	background-color: #C2C2C2;
}
#hamburger_menu .hamburger_blc_menu .tab_btn_icon{
	mask-image: url(../img/common/hamburger-tabbtn-icon-trouble.svg);
	-webkit-mask-image: url(../img/common/hamburger-tabbtn-icon-trouble.svg);
}
#hamburger_menu .hamburger_blc_menu .tab_btn[data-tab=menu2] .tab_btn_icon{
	mask-image: url(../img/common/hamburger-tabbtn-icon-treatment.svg);
	-webkit-mask-image: url(../img/common/hamburger-tabbtn-icon-treatment.svg);
}
#hamburger_menu .hamburger_blc_menu .tab_btn_txt{
	color: #FFF;
}

/* hamburger_blc_link
--------------------------------------*/
#hamburger_menu .hamburger_blc_link .menu_item.has--sub span{
	position: absolute;
	width: 2rem;
	height: 2rem;
	border-radius: 100%;
	background-color: #fff;
	right: 0;
	top: calc(50% - 1rem);
	transition: background .3s ease;
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub:nth-child(odd) span{
	right: 1.5rem;
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub span:before,
#hamburger_menu .hamburger_blc_link .menu_item.has--sub span:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 0.8rem;
	height: 0.1rem;
	top: calc(50% - 0.05rem);
	left: calc(50% - 0.4rem);
	background-color: #72684B;
	transition: background .3s ease, opacity .3s ease, transform .3s ease;
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub span:after{
	transform: rotate(90deg);
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub.is--open span{
	background-color: #72684B;
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub.is--open span:before,
#hamburger_menu .hamburger_blc_link .menu_item.has--sub.is--open span:after{
	background-color: #fff;
}
#hamburger_menu .hamburger_blc_link .menu_item.has--sub.is--open span:after{
	opacity: 0;
	transform: rotate(0);
}
#hamburger_menu .hamburger_blc_link .submenu_list{
	background-color: #72684B;
	color: #fff;
	padding: 1rem 2rem;
}

/*===============================
float_bnr
===============================*/
.float_bnr_reservation{
	box-sizing: border-box;
	padding: 1rem;
	background-color: rgba(255, 255, 255, .85);
	width: 100%;
	height: 7rem;
	left: 0;
	bottom: -7rem;
}
.float_bnr_reservation.is--fix{
	transform: translateY(-7rem);
}
.float_bnr_reservation .bnr{
	width: 100%;
	height: 5rem;
	border-radius: 0.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #B389B5;
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}

.float_bnr_sns{
	left: 31px;
	top: 235px;
}
.float_bnr_sns .sns_txt{
	font-size: 1rem;
	color: #E3D0AF;
	letter-spacing: 0.1em;
	-ms-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	margin-left: 11px;
}

@media screen and (max-width: 1149px) {
	.float_bnr_sns{
		display: none;
	}
}
@media screen and (max-width: 959px) {
	.float_bnr_reservation{
		transition: transform .3s ease;
	}
}

@media screen and (min-width: 960px) {
	.float_bnr_reservation{
		display: none;
	}
}

/*===============================
footer
===============================*/
@media screen and (max-width: 959px) {
	footer{
		padding-bottom: 5rem;
	}
}

.footer_blc1{
	position: relative;
	z-index: 2;
	background: linear-gradient(to bottom, #fff 0%, #fff calc(100% - 5rem), #EBDDC1 calc(100% - 5rem), #E8DABD 100%);
}
.footer_blc1 .footer_recruit{
	box-sizing: border-box;
	background: linear-gradient(to bottom, #D2B4D9 0%, #B994B9 100%);
	box-shadow: 0 3px 3px 0 rgba(0,0,0,0.1);
	border-radius: 3px;
}
.footer_blc1 .footer_recruit .ttl{
	color: #fff;
	font-size: 2.6rem;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 2rem;
}
.footer_blc1 .footer_recruit .btn{
	width: 15rem;
	height: 3rem;
	font-size: 1.4rem;
	letter-spacing: -0.03em;
	background-color: #fff;
	color: #B389B5;
	margin: 0 auto;
}

@media screen and (max-width: 959px) {
	.footer_blc1{
		padding-top: 4rem;
	}
	.footer_blc1 .footer_recruit_inner{
		padding: 2.8rem 2rem 2rem 2rem;
	}
}

@media screen and (min-width: 960px) {
	.footer_blc1 .footer_sns.disp--sp{
		display: none;
	}
	.footer_blc1{
		background: transparent;
	}
	.footer_blc1_inner{
		position: relative;
	}
	.footer_blc1 .footer_recruit{
		width: calc(100% - 400px);
		position: absolute;
		top: -25px;
		right: 0;
		display: flex;
		align-items: center;
	}
	.footer_blc1 .footer_recruit_inner{
		flex:1
	}
	.footer_blc1 .footer_recruit .ttl{
		font-size: 22px;
		margin-bottom: 23px;
	}
	.footer_blc1 .footer_recruit .btn{
		width: 140px;
		height: 30px;
		font-size: 12px;
	}
	.footer_blc1 .footer_recruit .img{
		width: 74.89%;
	}
}
@media screen and (min-width: 1150px) {
	.footer_blc1 .footer_recruit{
		width: 685px;
	}
	.footer_blc1 .footer_recruit .img{
		width: 513px;
	}
}

.footer_blc2{
	position: relative;
	background: linear-gradient(to bottom, #E8DABD 0%, #D4C2A3 42.5rem, #C1AB83 100%);
	padding-top: 4rem;
	padding-bottom: 3rem;
	color: #fff;
}
.footer_blc2 .footer_clinic_list{
	display: flex;
	flex-wrap: wrap;
}
.footer_blc2 .footer_clinic_item{
	display: block;
	width: calc((100% - 1rem * 2) / 3);
}
.footer_blc2 .footer_clinic_item .img{
	background-color: #fff;
}
.footer_blc2 .footer_clinic_item .txt{
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	padding-top: 1.2rem;
}
.footer_blc2 .footer_copyright{
	padding-top: 4rem;
}
.footer_blc2 .footer_copyright .box_bnr .bnr{
	display: block;
}
.footer_blc2 .footer_copyright .other_link_list{
	margin-bottom: 5rem;
}
.footer_blc2 .footer_copyright .other_link_item a{
	color: #fff;
	font-size: 1.6rem;
}
.footer_blc2 .footer_copyright .logo{
	display: block;
	width: 16.6rem;
	margin: 0 auto;
}
.footer_blc2 .footer_copyright .copyright{
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 959px) {
	.footer_blc2 .footer_logo.disp--pc{
		display: none;
	}
	.footer_blc2 .footer_clinic_item:not(:nth-child(3n)){
		margin-right: 1rem;
	}
	.footer_blc2 .footer_clinic_item:nth-child(n+4){
		margin-top: 1.8rem;
	}
	.footer_blc2 .footer_copyright .other_link_list{
		margin-top: 4rem;
	}
	.footer_blc2 .footer_copyright .other_link_item{
		text-align: center;
	}
	.footer_blc2 .footer_copyright .other_link_item:not(:last-child){
		margin-bottom: 2.8rem;
	}
	.footer_blc2 .footer_copyright .other_link_item .link_media .disp--pc{
		display: none;
	}
	.footer_blc2 .footer_copyright .box_bnr .bnr:not(:last-child){
		margin-bottom: 2rem;
	}
	.footer_blc2 .footer_copyright .copyright{
		text-align: center;
		margin-top: 2rem;
	}
}

@media screen and (min-width: 960px) {
	.footer_blc2 .footer_logo .box_logo .logo,
	.footer_blc2 .footer_logo .box_logo .sns_item,
	.footer_blc2 .footer_clinic_item .img img{
		transition: opacity .3s ease;
	}
	.footer_blc2 .footer_logo .box_logo .logo:hover,
	.footer_blc2 .footer_logo .box_logo .sns_item:hover,
	.footer_blc2 .footer_clinic_item:hover .img img{
		opacity: .7;
	}
	.footer_blc2{
		background: linear-gradient(to bottom, #EBDDC1 0%, #D4C2A3 225px, #C1AB83 100%);
		padding-top: 45px;
	}
	.footer_blc2 .footer_logo{
		margin-bottom: 52px;
	}
	.footer_blc2 .footer_logo .box_logo{
		display: flex;
		align-items: flex-end;
		margin-bottom: 17px;
	}
	.footer_blc2 .footer_logo .box_logo .logo{
		width: 229px;
	}
	.footer_blc2 .footer_logo .box_logo .sns_list{
		margin-bottom: 2px;
		margin-left: 30px;
		display: flex;
		align-items: center;
	}
	.footer_blc2 .footer_logo .box_logo .sns_item{
		display: block;
		width: 28px;
	}
	.footer_blc2 .footer_logo .box_logo .sns_item:not(:last-child){
		margin-right: 20px;
	}
	.footer_blc2 .footer_logo .box_logo .sns_item.tiktok{
		width: 24px;
	}
	.footer_blc2 .footer_logo .box_txt{
		font-size: 13px;
		line-height: 1.92;
	}
	.footer_blc2 .footer_clinic_item{
		width: calc((100% - 1.2rem * 6) / 7);
	}
	.footer_blc2 .footer_clinic_item:not(:nth-child(7n)){
		margin-right: 1.2rem;
	}
	.footer_blc2 .footer_clinic_item:nth-child(n+8){
		margin-top: 1.7rem;
	}
	.footer_blc2 .footer_clinic_item .txt{
		font-size: 16px;
		padding-top: 18px;
	}
	.footer_blc2 .footer_copyright{
		padding-top: 30px;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.footer_blc2 .footer_copyright .box_bnr{
		order: 1;
		display: flex;
		margin-left: 20px;
	}
	.footer_blc2 .footer_copyright .box_bnr .bnr{
		width: 240px;
		transition: opacity .3s ease;
	}
	.footer_blc2 .footer_copyright .box_bnr .bnr:not(:last-child){
		margin-right: 10px;
	}
	.footer_blc2 .footer_copyright .box_bnr .bnr:hover{
		opacity: .7;
	}
	.footer_blc2 .footer_copyright .box_copyright{
		order: 0;
	}
	.footer_blc2 .footer_copyright .other_link_list{
		display: flex;
		margin-bottom: 20px;
	}
	.footer_blc2 .footer_copyright .other_link_item:not(:last-child){
		margin-right: 30px;
	}
	.footer_blc2 .footer_copyright .other_link_item a{
		font-size: 13px;
	}
	.footer_blc2 .footer_copyright .other_link_item a:hover{
		text-decoration: underline;
	}
	.footer_blc2 .footer_copyright .other_link_item .link_media{
		display: inline-block;
		position: relative;
		padding-right: 18px;
	}
	.footer_blc2 .footer_copyright .other_link_item .link_media svg{
		position: absolute;
		width: 11px;
		height: 11px;
		top: calc(50% - 5px);
		right: 0;
	}
	.footer_blc2 .footer_copyright .logo.disp--sp{
		display: none;
	}
	.footer_blc2 .footer_copyright .copyright{
		font-size: 10px;
		color: #E3D0AF;
	}
}
@media screen and (min-width: 960px) and (max-width: 1149px) {
	.footer_blc2 .footer_copyright .box_bnr{
		flex: 1;
		flex-wrap: wrap;
	}
}
@media screen and (min-width: 1150px) {
	.footer_blc2 .footer_copyright .box_bnr .bnr{
		width: 260px;
	}
	.footer_blc2 .footer_copyright .box_bnr .bnr:not(:last-child){
		margin-right: 15px;
	}
}

/* to_top
--------------------------------------*/
.js--to_top a{
	padding-bottom: 1rem;
	transform: rotate(90deg);
	display: flex;
	align-items: center;
	justify-content: center;
}
.js--to_top .arrow{
	width: 2rem;
	height: 7px;
}
.js--to_top .arrow:before{
	height: 1px;
	top: 6px;
}
.js--to_top .arrow:after{
	width: 2px;
	height: 6px;
	left: 2px;
}

@media screen and (min-width: 960px) {
	.js--to_top a:hover .arrow:after{
		animation: toTopArrowAfter 0.4s linear;
	}
}

@keyframes toTopArrowAfter{
	0%{
		height: 6px;
	}
	15%{
		height: 0;
	}
	90%{
		height: 0;
	}
	100%{
		height: 6px;
	}
}
