@charset "utf-8";


.sec__ttl_area {
	text-align: center;
	margin-bottom: 50px;
	color: #412C19;
}

.sec__ttl__en {
	font-size: 16px;
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: 10px;
}

.sec__ttl {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.8;
}

.sec__ttl small {
	font-size: 16px;
}

.btn {
	white-space: pre;
	display: inline-block;
	padding: 16px 40px;
	text-align: center;
	background: linear-gradient(93.07deg, #5A5A5A 4.82%, #3A3A3A 39.04%, #000000 91.98%);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
}

.btn:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -20px;
	background: url(../img/arrow_btn.svg)no-repeat center center/contain;
	width: 40px;
	height: 6px;
}


/*-----------------------------------------------------
header(floating)
-----------------------------------------------------*/
#header {
	position: fixed;
	width: 100%;
	max-width: 390px;
	padding: 20px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	background: rgba(255, 255, 255, .6);
	display: none;
	z-index: 999;
}


/*-----------------------------------------------------
fv__area
-----------------------------------------------------*/
.fv__area {
	z-index: 3;
	margin-top: -50px;
	position: relative;
	filter: drop-shadow(0px 8px 8px rgba(129, 86, 22, 0.25));
}

.fv__area+* {
	margin-top: -30px;
}

.fv__area a {
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 87.692307692%;
	max-width: 342px;
	filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.5));
}


/*-----------------------------------------------------
mv
-----------------------------------------------------*/
#mv {
	position: relative;
	width: 100%;
}

#mv .mv__txt>* {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .5s;
}

#mv .mv__txt h1 {
	opacity: 1;
}

#mv .mv__txt .mv__txt02 {
	transition-delay: .4s;
}

#mv .mv__txt .mv__txt03 {
	transition-delay: .8s;
}

#mv .mv__txt .mv__txt04 {
	transition: 1.2s;
	transition-delay: 1.2s;
	transform: translateY(-3%);
}

.loaded #mv .mv__txt .mv__txt01,
.loaded #mv .mv__txt .mv__txt02,
.loaded #mv .mv__txt .mv__txt03,
.loaded #mv .mv__txt .mv__txt04 {
	opacity: 1;
}

.loaded #mv .mv__txt .mv__txt04 {
	transform: translateY(0);
}

#mv .fv__btn {
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translate(-50%, 5%);
	width: 91.794871794%;
	filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25));
	opacity: 0;
	transition: .5s;
	transition-delay: .1s;
}

.loaded #mv .fv__btn {
	opacity: 1;
	transform: translate(-50%, 0);
}


/*-----------------------------------------------------
treatment
-----------------------------------------------------*/
#treatment {
	padding: 50px 0 0;
	background: #F9F9F9;
}

#treatment .sec__ttl {
	font-size: 32px;
	line-height: 1.5;
	margin-bottom: 30px;
}

.treatment__ttl__sub {
	font-size: 18px;
	line-height: 1;
	letter-spacing: .05em;
	font-weight: 700;
	color: #412C19;
	box-sizing: border-box;
	text-align: center;
	padding: 20px 10px;
	width: 100%;
	min-height: 54px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #FFFFFF 50%, rgba(255, 255, 255, 0) 95%);
	border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #E6C1A1, rgba(255, 255, 255, 0) 95%) 1;
	border-top: 1px solid;
	border-bottom: 1px solid;
	filter: drop-shadow(0px 0px 14px rgba(129, 86, 22, 0.25));
}

#treatment .sec__ttl_area ul {
	position: relative;
	width: 100%;
	height: 150px;
}

#treatment .sec__ttl_area ul li {
	position: absolute;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 50vh;
	border: solid 1px #B5865C;
	z-index: 1;
}

#treatment .sec__ttl_area ul li:nth-child(1) {
	left: -30px;
}

#treatment .sec__ttl_area ul li:nth-child(2) {
	left: 50%;
	transform: translateX(-50%);
}

#treatment .sec__ttl_area ul li:nth-child(3) {
	right: -30px;
}

#treatment .sec__ttl_area ul li a {
	display: block;
	width: 150px;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
}

#treatment .sec__ttl_area ul li a:before {
	content: '';
	background: url(../img/arrow_conts.svg) no-repeat center center/ contain;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 15%;
	width: 10px;
	height: 5px;
	transition: .3s;
}

#treatment .sec__ttl_area ul li a:hover:before {
	bottom: 10%;
}

#treatment .sec__ttl_area ul li a:after {
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(250, 236, 225, 1) 0%, rgba(232, 192, 156, 1) 100%);
	opacity: 0;
	border-radius: 50vh;
	z-index: -1;
	transition: .3s;
}

#treatment .sec__ttl_area ul li a:hover:after {
	opacity: .4;
	backdrop-filter: blur(2px);
}

.treatment__intro {
	margin-top: -70px;
	margin-bottom: 30px;
}

.treatment__ttl {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1;
}

.treatment__ttl__s {
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
	margin-top: 30px;
}

.treatment__txt {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0;
	margin-top: 30px;
	text-align: justify;
}

.worries__item {
	position: relative;
	margin-top: 30px;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, .25));
}

.worries__deco {
	position: absolute;
	top: 30px;
	right: -60px;
	font-size: 40px;
	letter-spacing: 0;
	line-height: 1;
	background: linear-gradient(90deg, #EFD5C2 0%, #D49567 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	transform: rotate(90deg);
	padding-right: 5px;
	z-index: 2;
}

.worries__ttl {
	clip-path: polygon(0 100%, 0 40px, 40px 0, 100% 0, 100% 100%);
	background: radial-gradient(100% 239.82% at 0% 100%, #EBB07B 0%, #A26B3A 100%);
	color: #fff;
	min-height: 112px;
	font-size: 24px;
	font-weight: 700;
	padding: 40px 30px;
	box-sizing: border-box;
	line-height: 1.3;
	letter-spacing: 0;
}

.worries__bubble {
	position: absolute;
	width: 191px;
	top: 94px;
	left: -9px;
	z-index: 2;
}

.worries__bubble__line2 {
	top: 124px;
}

.worries__txtWrap {
	box-sizing: border-box;
	clip-path: polygon(0 100%, 0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%);
	background: #fff;
	padding: 40px 30px;
}

.worries__ttl__sol {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	padding-bottom: 16px;
	border-bottom: solid 1px;
	border-image: linear-gradient(135deg, rgba(227, 210, 197, 1) 0%, rgba(253, 252, 250, 0) 100%) 1;
	border-image-slice: 1;
	margin-bottom: 12px;
}

.worries__ttl__sol small {
	font-size: 15px;
}

.worries__txt__sol {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.6;
	text-align: justify;
	margin-bottom: 16px;
}

.worries__ttl__price {
	background: #412C19;
	color: #fff;
	padding: 4px 10px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0;
	display: inline-block;
	margin-bottom: 10px;
}

.worries__txt__price {
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
}

.worries__txt__price+.worries__txt__price {
	margin-top: 5px;
}

.worries__txt__price small {
	font-size: 14px;
	font-weight: 500;
	position: relative;
}

.worries__txt__price .not {
	text-decoration: line-through;
}

.worries__txt__price .crimson {
	font-size: 40px;
	font-style: italic;
	font-weight: 400;
}

.worries__txt__price em {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	margin-top: 10px;
}

.ribon {
	display: inline-block;
	width: 106px !important;
	padding-left: 10px;
}

.beforeAfter li {
	margin-top: 20px;
}


/*-----------------------------------------------------
nose
-----------------------------------------------------*/
#nose {
	background: linear-gradient(180deg, #FFFCF9 -10.24%, #F4EEE9 62.29%);
	padding-bottom: 100px;
}


/*-----------------------------------------------------
faceline
-----------------------------------------------------*/
#faceline {
	background: #FEFAF7;
	padding-bottom: 100px;
}

.ritz {
	background: linear-gradient(180deg, #E6E9F0, #EEF1F5);
	padding: 20px 30px 30px;
	box-sizing: border-box;
	filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25));
	margin-bottom: 40px;
}

.ritz h3 {
	width: 126%;
	margin-left: -13%;
}

.ritz .treatment__txt {
	margin-top: 10px;
	line-height: 1.6;
}

.parts {
	margin-top: 20px;
}

.parts__ttl {
	font-size: 16px;
	padding: 16px 0;
	text-align: center;
	border-top: solid 1px #333333;
	border-bottom: solid 1px #333333;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 20px;
}

.parts ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 2px;
}

.parts ul li {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	width: calc(50% - 1px);
	text-align: center;
	justify-content: center;
	height: 100px;
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, .5);
}


/*-----------------------------------------------------
eyes
-----------------------------------------------------*/
#eyes {
	background: #FEFAF7;
	padding-bottom: 100px;
}

.smk {
	margin-bottom: 30px;
}

.smk__ttl {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	letter-spacing: 0;
	color: #A26B3A;
	padding: 8px 0;
	border-top: solid 1px #A26B3A;
	border-bottom: solid 1px #A26B3A;
	margin-bottom: 16px;
}

.smk__recommend ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.smk__recommend ul li {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	letter-spacing: 0;
	color: #A26B3A;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	line-height: 1.75;
	width: calc(50% - 4px);
	background: linear-gradient(135deg, #FFFFFF 0%, #F7F7F7 100%);
	min-height: 156px;
	border-radius: 8px;
	filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.16));
}

.beforeAfter {
	margin-top: 40px;
}


/*-----------------------------------------------------
features
-----------------------------------------------------*/
#features {
	margin-top: -50px;
	background: url(../img/bg_features.jpg)no-repeat top center/cover;
	padding-bottom: 100px;
}

#features .sec__ttl_area {
	position: relative;
	z-index: 2;
	padding: 100px 0 0;
	margin-bottom: 0;
}

#features .sec__ttl_area:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 85%;
	background: linear-gradient(180deg, rgba(255, 255, 255, .8) 10%, rgba(255, 255, 255, .4) 100%);
	clip-path: polygon(0 100%, 0 0, 100% 0, 100% calc(100% - 80px), calc(100% - 80px) 100%);
	box-shadow: 0px 10px 20px rgba(130, 160, 174, 0.16);
	z-index: -1;
}

#features .sec__txt {
	margin-top: 30px;
	text-align: justify;
	line-height: 1.6;
	letter-spacing: 0;
}

.promise {
	position: relative;
}

.promise h2 {
	position: absolute;
	top: -80px;
	right: 0;
	width: 92px;
}

.promise li {
	box-shadow: -4px 0 0 -2px rgba(0, 0, 0, .05);
}

.promise__deco {
	width: 106px;
	margin-left: -10px;
	margin-top: -4px;
}

.promise__ttl {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0;
	margin-bottom: 15px;
	padding: 10px 10px 0 30px;
}

.promise__txt {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
	padding: 0 30px 30px;
	text-align: justify;
}

.afterCare {
	width: 94.871794871%;
	margin-right: 0;
	margin-left: auto;
	margin-bottom: 20px;
}

/*-----------------------------------------------------
concept
-----------------------------------------------------*/
#concept {
	margin-top: -90px;
}

.tribeau {
	position: relative;
	margin-top: -85px;
	padding-top: 160px;
}

.tribeau:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/bg_tribeau.jpg)no-repeat center center/cover;
	z-index: -1;
}

.logo_tribeau {
	position: absolute;
	width: 89.743589743%;
	max-width: 350px;
	top: 45px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

.tribeau__txt {
	font-weight: 700;
	letter-spacing: 0;
	line-height: 2;
	text-align: justify;
	margin-bottom: 10px;
}

.tribeau .btn {
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translateX(-50%);
}


/*-----------------------------------------------------
menu
-----------------------------------------------------*/
#menu {
	padding: 70px 0 0;
	background: url(../img/bg_menu.jpg)no-repeat top center/cover;
}

#menu .sec__ttl_area {
	padding-bottom: 50px;
}

.menu_img {
	margin-top: 50px;
}

.consult_img {
	margin-top: 40px;
}

#menu .btn {
	position: relative;
	margin: 40px auto 0;
}


/*-----------------------------------------------------
flow
-----------------------------------------------------*/
#flow {
	margin-top: -50px;
	padding: 100px 0 0;
	background: #fff;
}

#flow .sec__txt {
	margin-top: 20px;
	text-align: justify;
	line-height: 1.6;
}

.flow {
	padding-bottom: 70px;
}

.consult {
	position: relative;
	width: 100%;
	margin-top: 40px;
	filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25));
}

.consult__deco {
	position: absolute;
	top: 10px;
	right: -25px;
	font-size: 40px;
	letter-spacing: 0;
	line-height: 1;
	background: radial-gradient(99.55% 224.58% at 0.45% 1.09%, #EBB07B 0%, #A26B3A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	transform: rotate(90deg);
	padding-right: 5px;
	z-index: 2;
}

.consult__inner {
	box-sizing: border-box;
	clip-path: polygon(0 calc(100% - 40px), 0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 40px 100%);
	background: radial-gradient(100% 113.86% at 0% 0%, #FFF8EC 0%, #DCCFAF 100%);
	padding: 40px 30px;
}

.consult__ttl {
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	padding-bottom: 15px;
	border-bottom: solid 1px rgba(65, 44, 25, .5);
	margin-bottom: 15px;
	text-align: left;
}

.consult__txt {
	font-size: 16px;
	line-height: 1.6;
	text-align: justify;
	letter-spacing: 0;
}

.flow ol li {
	margin-top: 40px;
	position: relative;
}

.flow ol li+li {
	margin-top: 60px;
}

.flow ol li figure {
	margin-left: auto;
	margin-right: 0;
	width: 89.743589743%;
	margin-bottom: 10px;
}

.flow ol li .flow_ttl {
	margin-left: auto;
	margin-right: 0;
	width: 89.743589743%;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 5px;
	letter-spacing: 0;
}

.flow ol li .flow_txt {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: 0;
	width: 89.743589743%;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6;
	padding-right: 5.1282051285%;
	text-align: justify;
}

.flow__deco {
	position: absolute;
	top: 5px;
	left: -20px;
	font-size: 40px;
	letter-spacing: 0;
	line-height: 1;
	background: radial-gradient(99.55% 224.58% at 0.45% 1.09%, #EBB07B 0%, #A26B3A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	transform: rotate(90deg);
	padding-right: 5px;
}

.flow__deco:before {
	content: '';
	position: absolute;
	top: 22px;
	left: 90px;
	width: 340%;
	height: 1px;
	background: linear-gradient(90deg, rgba(162, 107, 58, 1) 0%, rgba(220, 161, 110, 0) 100%);
}



/*-----------------------------------------------------
faq
-----------------------------------------------------*/
#faq {
	background: #FBF8F4;
	padding: 50px 0;
}

.faq__list+.treatment__ttl__sub {
	margin-top: 30px;
}

.faq__item {
	margin-top: 20px;
	background: #fff;
	position: relative;
	text-align: justify;
	filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25));
}

.faq__question {
	width: 100%;
	padding: 8px 16px;
	background: radial-gradient(99.55% 224.58% at 0.45% 1.09%, #EBB07B 0%, #A26B3A 100%);
	color: #fff;
	font-weight: 700;
	box-sizing: border-box;
	letter-spacing: 0;
	line-height: 1.6;
	min-height: 48px;
	display: flex;
	align-items: center;
}

.faq__answer {
	width: 100%;
	padding: 16px;
	color: #412C19;
	font-weight: 500;
	box-sizing: border-box;
	letter-spacing: 0;
	line-height: 1.6;
	min-height: 58px;
	display: flex;
	align-items: center;
}

.faq__deco {
	position: absolute;
	top: 30px;
	right: -60px;
	font-size: 40px;
	letter-spacing: 0;
	line-height: 1;
	background: linear-gradient(90deg, #EFD5C2 0%, #D49567 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	transform: rotate(90deg);
	padding-right: 5px;
}


/*-----------------------------------------------------
cta Google広告審査用
-----------------------------------------------------*/

#cta_btn {
	background: #FBF8F4;
	padding: 50px 0;
}