@charset "utf-8";

/*.content:not(#guest) {
	display: none;
}*/

@media (min-width:769px) {
	/* PCロゴ */
	.pc_logo {
		position: fixed;

		#invite_r & {
			width: 106rem;
			top: 40rem;
			left: 40rem;
		}
		#invite_m & {
			width: 128rem;
			top: 32rem;
			left: 32rem;
		}
		#guest & {
			display: flex;
			align-items: center;
			gap: 38rem;
			top: 40rem;
			left: 40rem;

			& img:nth-of-type(1) {
				width: 106rem;
			}
			& img:nth-of-type(2) {
				width: 128rem;
			}
		}
	}

	/* PC背景 */
	.content::before {
		content: '';
		background-attachment: fixed;
		position: fixed;
		inset: 0;
		z-index: -1;
	}
	#invite_r::before {
		background: #f7dbb0 url('../images/pc_bg_r.png') repeat;
		background-size: auto;
		animation: bgLoop 20s linear infinite;
	}
	#invite_m::before {
		background: var(--menslucia-green) url('../images/pc_bg_m.png') repeat center / 232px auto;
	}
	#guest::before {
		background: #f3fde1 url('../images/pc_bg_g.png') repeat;
		background-size: auto;
		animation: bgLoop 20s linear infinite;
	}
	@keyframes bgLoop {
		0% {
			background-position: center 251px center 284px;
		}
		100% {
			background-position: left -251px top -284px;
		}
	}

	/* guest_PC_CV */
	.pc_float {
		position: fixed;
		right: 40rem;
		bottom: 40rem;
	}
}

@media (max-width: 768px) {
	/* SP固定予約ボタン */
	.floating {
		display: none;
		position: fixed;
		inset: auto 0 0;
		z-index: calc(infinity);

		& .cta {
			padding-bottom: 24rem;
		}
	}
}

/* FV */
.fv {
	.content:not(#guest) & {
		padding-bottom: 20rem;
	}

	/* FV_CTAボタン */
	& .cta {
		margin-top: -170rem;
		position: relative;
	}
}
/* キャンペーン期間テキスト */
.fv > p {
	width: 306rem;
	border-block: 1px var(--black) dotted;
	margin-inline: auto;
	padding-block: 12rem 14rem;

	.content:not(#guest) & {
		margin-top: 40rem;
	}
	#guest & {
		margin-top: -74rem;
		position: relative;
	}

	& span {
		font-size: 14rem;
		font-weight: 900;
		display: inline-block;

		+ span {
			margin-left: 12rem;
			padding-left: 14rem;
			position: relative;

			&::before {
				content: '';
				width: 1px;
				height: 14rem;
				background: var(--gray);
				margin-block: auto;
				position: absolute;
				inset: 0;
				translate: 0 1rem;
			}
		}
	}
}

/* 紹介は何人でもOK */
.about_in {
	padding-block: 32rem 180rem;
	position: relative;
	z-index: 2;
}
.about_in .slash {
	font-size: 18rem;
	font-weight: 700;
	margin-top: 36rem;
	padding-inline: 24rem;

	/* スラッシュ設定 */
	&::before,
	&::after {
		width: 2rem;
		height: 46rem;
		background: var(--black);
	}

	/* 傍点設定 */
	& .dot::before {
		height: 2rem;
		background: var(--black);
		translate: 0 2rem;
	}
}
.about_in .logo {
	margin: 24rem auto 0;
	display: flex;
	justify-content: center;

	/* ロゴ_ラッパー */
	& div {
		height: 108rem;
		aspect-ratio: 1 / 1;
		display: grid;
		place-content: center;
	}

	/* ロゴ画像 */
	& .logo_r img {
		width: 65rem;
	}
	& .logo_m img {
		width: 72rem;
	}
}
.about_in > img {
	position: absolute;

	/* クラッカー画像 */
	&.about_img {
		width: 451rem;
		max-width: unset;
		bottom: -33rem;
		left: -1rem;
	}

	/* 風船_右 */
	&.balloon1 {
		width: 45rem;
		top: 74rem;
		right: 32rem;
	}

	/* 風船_左 */
	&.balloon2 {
		width: 45rem;
		top: 273rem;
		left: 34rem;
		z-index: 1;
	}

	/* 雲_1 */
	&.cloud1 {
		width: 62rem;
		top: 352rem;
		left: 23rem;
	}

	/* 雲_2 */
	&.cloud2 {
		width: 109rem;
		top: 253rem;
		right: 0;
	}
}

/* 特典 */
.benefits {
	padding-inline: 24rem;
}
.bene_ttl {
	background-repeat: no-repeat;
	padding-block: 16rem;

	/* 背景設定 */
	&.bene {
		background-image: url('../images/present_ttl_bg.svg');
		background-position: right -3rem bottom -1rem;
		background-size: 124rem auto;
	}
	&.more {
		background-image: url('../images/present_ttl_bg2.svg');
		background-position: right top;
		background-size: auto 100%;
		margin-top: 102rem;
	}
}
.bene_ttl p {
	font-size: 24rem;
	font-weight: 900;

	/* 傍点設定 */
	& .dot::before {
		height: 3rem;
		translate: 0 2rem;
	}
}
.bene_in {
	padding: 0 20rem 35rem;
	position: relative;

	/* 枠線設定 */
	#invite_r &.bene {
		border: 4rem var(--r-pink) solid;
	}
	#invite_r &.more {
		border: 4rem var(--r-blue) solid;
	}
	#invite_m &.bene {
		border: 4rem var(--m-blue) solid;
	}
	#invite_m &.more {
		border: 4rem var(--m-green) solid;
	}
}
.bene_txt {
	height: 240rem;
	border-bottom: 1px var(--gray) solid;
	position: relative;

	/* 余白設定 */
	.bene & {
		padding-top: 26rem;
	}
	.more & {
		padding-top: 52rem;
	}

	/* 背景設定 */
	/* ルシア */
	#invite_r .bene & {
		background: url('../images/present_r_bg.svg') no-repeat center top 36rem / 180rem auto;
	}
	#invite_r .more & {
		background: url('../images/present_r_bg2.svg') no-repeat center top 36rem / 180rem auto;
	}
	#invite_m .bene & {
		background: url('../images/present_m_bg.svg') no-repeat center top 36rem / 180rem auto;
	}
	#invite_m .more & {
		background: url('../images/present_m_bg2.svg') no-repeat center top 36rem / 180rem auto;
	}
}
.bene_txt .fukidashi {
	font-size: 20rem;

	/* 位置設定 */
	.bene & {
		top: 25rem;
		right: -28rem;
	}
	.more & {
		top: 40rem;
		right: -8rem;
	}
}
.bene_txt u {
	display: block;

	/* 色変え */
	#invite_r & {
		background: linear-gradient(0deg, transparent 26rem, var(--r-yellow) 26rem, var(--r-yellow) 45rem, transparent 45rem);
	}
	#invite_m & {
		background: linear-gradient(0deg, transparent 26rem, var(--m-yellow) 26rem, var(--m-yellow) 45rem, transparent 45rem);
	}
}
.bene_txt em {
	font-size: 88rem;
	letter-spacing: 0;
}
.bene_txt small {
	font-size: 20rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: left;
	display: inline-block;
}
.bene_txt > span:not(.fukidashi) {
	display: block;
}
.bene .bene_txt u + span {
	font-size: 32rem;
	font-weight: 900;
	margin-top: -20rem;
}
.more .bene_txt .txt {
	font-size: 24rem;
	font-weight: 700;

	& ~ u {
		margin-top: -22rem;
	}
}
.bene_in .next {
	width: 115rem;
	height: 57rem;
	font-size: 18rem;
	font-weight: 700;
	bottom: -57rem;
}
.bene_list {
	margin-top: 40rem;
	display: grid;

	.bene & {
		gap: 40rem;
	}
	.more & {
		gap: 50rem;
	}
}
.bene_list li {
	position: relative;

	/* ロゴ */
	&::before {
		content: '';
		width: 75rem;
		aspect-ratio: 1 / 1;
		display: grid;
		place-content: center;
		position: absolute;
		inset: 6rem 0 auto;
	}
	&.lucia::before {
		background: var(--lucia-orange) url('../images/logo_lucia.svg') no-repeat center / 45rem auto;
	}
	&.menslucia::before {
		background: var(--menslucia-green) url('../images/logo_menslucia.svg') no-repeat center / 50rem auto;
	}
}
.bene_list .txt {
	font-size: 12rem;
	line-height: 1.8;
	padding-left: 93rem;
}
.bene_list .txt + p {
	font-size: 10rem;
	line-height: 1.8;
	margin-top: 20rem;
	padding: 24rem;

	/* 注釈 */
	.lucia & {
		background: var(--beige);
		color: var(--r-orange);
	}
	.menslucia & {
		background: var(--m-green2);
		color: var(--m-green);
	}
}
.bene_list + p {
	font-size: 10rem;
	margin-top: 28rem;
	padding-block: 16rem;
}

/* 嬉しいポイント */
.point {
	background-image: url('../images/point_bg.png');
	background-repeat: no-repeat;
	background-position: center top 387rem;
	background-size: 332rem auto;
	padding-block: 88rem 318rem;
	position: relative;
	z-index: 2;
}
.point_ttl {
	position: relative;
}
.point_ttl .ttl {
	background-repeat: no-repeat;
	background-position: left 50rem top;
	background-size: 332rem auto;
	font-weight: 900;
	padding-block: 35rem 75rem;
	position: relative;
	z-index: 1;

	/* 背景画像設定 */
	#invite_r & {
		background-image: url('../images/point_fukidashi_r.png');
	}
	#invite_m & {
		background-image: url('../images/point_fukidashi_m.png');
	}
}
.point_ttl .slash {
	font-size: 18rem;
	padding-inline: 10rem 6rem;

	/* スラッシュ設定 */
	&::before,
	&::after {
		width: 1px;
		height: 22rem;
	}
}
.point_ttl em {
	font-size: 40rem;
	line-height: 1.2;
	margin-top: 5rem;
	display: block;
}
.point_ttl .loop_wrap {
	top: 145rem;

	/* アウトライン色変え */
	#invite_r & {
		text-stroke: 4rem var(--r-orange);
		-webkit-text-stroke: 4rem var(--r-orange);
	}
	#invite_m & {
		text-stroke: 4rem var(--m-green);
		-webkit-text-stroke: 4rem var(--m-green);
	}
}
.point_list {
	counter-reset: point;
	margin-top: 137rem;
	padding-inline: 24rem;
	display: grid;
	gap: 88rem;
	position: relative;
	z-index: 1;
}
.point_list li {
	counter-increment: point;
	padding: 0 24rem 40rem;
	position: relative;

	/* リスト数字 */
	&::after {
		content: '0'counter(point);
		font-size: 80rem;
		font-family: "Figtree", sans-serif;
		font-weight: 800;
		font-optical-sizing: auto;
		font-style: normal;
		position: absolute;
		top: -47rem;
	}
	&:nth-child(odd)::after {
		left: 20rem;
	}
	&:nth-child(even)::after {
		right: 20rem;
	}
	#invite_r &::after {
		color: var(--r-orange);
	}
	#invite_m &::after {
		color: var(--m-green);
	}
}
.point_list figure {
	height: 230rem;
	padding-inline: 93rem;
	display: grid;
	place-content: center;
}
.point_list .txt {
	font-size: 18rem;
	font-weight: 700;
	line-height: 2;
}
.point_list .border_dot {
	font-size: 12rem;
	border-block: 1px var(--gray2) dotted;
	margin-top: 40rem;
	padding-block: 18rem;
}
.point_ttl_img {
	margin-inline: auto;
	position: absolute;
	inset: auto 0;

	/* 調整 */
	#invite_r & {
		width: 205rem;
		top: -119rem;
	}
	#invite_m & {
		width: 194rem;
		top: -173rem;
	}
}
.point_bg_btm {
	position: absolute;
	inset: auto 0 -45rem;
}

/* ご紹介方法 */
.howto {
	position: relative;
	z-index: 1;

	/* 背景設定 */
	#invite_r & {
		background: url('../images/bg_wave_r.svg') no-repeat center bottom / 100% auto;
		padding-bottom: 18rem;
	}
}
.howto_wrap {
	padding: 96rem 24rem 80rem;
}
.howto_list {
	counter-reset: howto;
	display: grid;

	/* 余白設定 */
	.invite & {
		margin-top: 36rem;
		gap: 64rem;
	}
	#guest & {
		margin-top: 20rem;
		gap: 72rem;
	}
}
.howto_list li {
	counter-increment: howto;
	position: relative;

	/* 余白設定 */
	.invite & {
		padding-bottom: 26rem;
	}

	/* リスト数字 */
	&::before {
		content: '0'counter(howto);
		color: var(--gray3);
		font-size: 80rem;
		font-family: "Figtree", sans-serif;
		font-weight: 800;
		font-optical-sizing: auto;
		font-style: normal;
		letter-spacing: 0;
		position: absolute;
	}
	.invite &::before {
		top: -12rem;
		right: 11rem;
	}

	/* 内容コンテンツ_重ね順調整 */
	& > p {
		position: relative;
	}

	/* ▼ */
	&.arrow_b::after {
		background: var(--white);
		bottom: -40rem;
	}
}
.howto_list .icon {
	font-size: 14rem;
	font-weight: 700;
	display: grid;
	place-content: center;
	position: absolute;

	/* マスク設定 */
	#invite_r & {
		width: 70rem;
		height: 60rem;
		top: -14rem;
		left: -10rem;
		-webkit-mask: url('../images/silhouette_mask_r.svg') no-repeat center / 100% auto;
		mask: url('../images/silhouette_mask_r.svg') no-repeat center / 100% auto;
	}
	#invite_m & {
		width: 74rem;
		aspect-ratio: 1 / 1;
		top: -38rem;
		left: -15rem;
		-webkit-mask: url('../images/silhouette_mask_m.svg') no-repeat center top / 100% auto;
		mask: url('../images/silhouette_mask_m.svg') no-repeat center top / 100% auto;
	}
}
.howto_list .ttl {
	font-size: 24rem;
	font-weight: 900;
	margin-inline: 24rem;

	/* 余白 */
	.invite & {
		padding-block: 24rem 20rem;
	}
	
	/* ボーダー */
	#invite_r & {
		border-bottom: 1px var(--gray2) dotted;
	}
	#invite_m & {
		border-bottom: 1px var(--gray2) solid;
	}
}
.howto_list .txt {
	font-size: 14rem;
	line-height: 2;
	margin-top: 24rem;
	padding-inline: 24rem;
}
.howto_list .txt_s {
	font-size: 12rem;
	line-height: 1.8;
	margin-top: 16rem;
	padding-inline: 24rem;
}
.howto .cta {
	margin-top: 40rem;
}

/* 選ばれてきた理由 */
.reason {
	background: url('../images/reason_bg.jpg') no-repeat center top / 100% auto;
	margin-top: -18rem;
	padding-top: 270rem;
}
.reason_wrap {
	padding: 80rem 24rem 136rem;
}
.reason_list {
	counter-reset: reason;
	margin-top: 96rem;
	display: grid;
	gap: 108rem;
}
.reason_list li {
	counter-increment: reason;
	border: 4rem var(--r-orange) solid;
	padding-inline: 20rem;
	position: relative;

	/* 余白設定 */
	&.gentle {
		padding-block: 40rem 24rem;
	}
	&:not(.gentle) {
		padding-bottom: 40rem;
	}

	/* リスト数字 */
	&::before {
		content: 'Reason.0'counter(reason);
		color: var(--r-orange);
		font-size: 56rem;
		font-family: "Figtree", sans-serif;
		font-weight: 800;
		font-optical-sizing: auto;
		font-style: normal;
		position: absolute;
		inset: -64rem 0 auto;
	}
}
.gentle {
	/* 設定 */
	& .gen_ttl,
	& .gen_txt .txt,
	& .gen_cont .ttl {
		font-weight: 900;
	}
	& .border_dot,
	& .bg_beige,
	& .gen_cont .copy {
		font-weight: 700;
	}
	& .gen_txt_s,
	& .gen_cont figcaption {
		text-align: left;
	}
	& .gen_img,
	& .gen_img img,
	& .gen_txt .bg_beige,
	& .gen_cont {
		position: relative;
	}
}
.gen_ttl {
	font-size: 32rem;
}
.gentle .border_dot {
	font-size: 16rem;
	border-block: 1px var(--gray2) dotted;
	margin-top: 10rem;
	padding-block: 10rem;
}
.gen_img {
	padding-block: 50rem 16rem;

	& img {
		width: 157rem;
		z-index: 1;
	}
	& figcaption {
		font-size: 80rem;
		line-height: 1.2;
		text-stroke: 2rem var(--r-orange);
		-webkit-text-stroke: 2rem var(--r-orange);
		position: absolute;
		inset: 20rem 0 auto;
	}
}
.gen_notice {
	font-size: 10rem;
	padding-inline: 24rem;
}
.gen_txt {
	margin-top: 48rem;
}
.gen_txt .bg_beige {
	font-size: 18rem;
	padding-block: 16rem;

	/* ▼ */
	&::after {
		content: '';
		width: 13rem;
		height: 11rem;
		background: var(--beige);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 -10rem;
	}
}
.gen_txt .txt {
	margin-top: 26rem;
	padding-inline: 24rem;

	& span {
		font-size: 24rem;
		margin-top: 2rem;
		display: inline-block;
	}
	& em {
		font-size: 32rem;
		display: block;
	}
	& u {
		background: linear-gradient(0deg, transparent 4rem, var(--r-yellow) 4rem, var(--r-yellow) 12rem, transparent 12rem);
		display: block;
	}
}
.gen_cont {
	margin-top: 44rem;
	padding: 28rem 24rem 24rem;

	& .ttl {
		background: url('../images/icon_insight.svg') no-repeat center top / 32rem auto;
		font-size: 24rem;
		padding-top: 43rem;
	}
	& .copy {
		font-size: 18rem;
		line-height: 2;
	}
	& figure {
		margin-top: 20rem;
	}
	& figcaption {
		font-size: 14rem;
		line-height: 2;
		margin-top: 26rem;
	}
	& .reason_img {
		width: 138rem;
		position: absolute;
		top: -57rem;
		right: -32rem;
	}
}
.reason_img_s {
	height: 310rem;
	display: grid;
	place-content: center;

	/* 画像サイズ設定 */
	li:nth-child(2) & img {
		width: 214rem;
	}
	li:nth-child(3) & img {
		width: 261rem;
	}
}
.reason_ttl_s {
	font-weight: 700;

	& .round {
		font-size: 18rem;
		line-height: 31rem;
		padding-inline: 24rem;
		display: inline-block;
	}
}
.reason_ttl_s .txt {
	font-size: 32rem;

	/* 余白設定 */
	&:has(em) {
		line-height: 1.8;
		margin-top: -16rem;
	}
	&:not(:has(em)) {
		margin-top: 4rem;
	}

	/* テキスト設定 */
	& em {
		font-size: 150%;
	}
	& small {
		font-size: 75%;
	}
}
.reason_list .notice {
	font-size: 10rem;
	line-height: 1.8;
	margin-top: -10rem;
}

/* 3つのこだわり */
.commit {
	margin-top: -18rem;
	padding-block: 17rem;
	position: relative;

	&::before,
	&::after {
		content: '';
		height: 18rem;
		background: url('../images/bg_wave_r.svg') no-repeat center / 100% auto;
		position: absolute;
		inset: auto 0;
	}
	&::before {
		top: 0;
		rotate: 180deg;
	}
	&::after {
		bottom: 0;
	}
}
.commit_wrap {
	padding-block: 205rem 72rem;
	position: relative;
}
.com_ttl {
	position: absolute;
	inset: -86rem 0 auto;

	& img {
		width: 157rem;
		position: absolute;
		right: 6rem;
		bottom: 15rem;
	}
}
.com_ttl .ttl {
	width: 295rem;
	background: url('../images/commit_balloon.svg') no-repeat center / 100% auto;
	font-weight: 900;
	margin-left: 14rem;
	padding-block: 45rem 55rem;

	& .slash {
		font-size: 18rem;
		padding-inline: 8rem;

		&::before,
		&::after {
			width: 1px;
			height: 22rem;
			background: var(--black);
		}
	}
	& em {
		font-size: 40rem;
		line-height: 1.2;
		margin-top: -8rem;
		display: block;
	}
	& b {
		font-size: 140%;
	}
}
.commit_list {
	counter-reset: commit;
	display: grid;
	gap: 80rem;
}
.commit_list li {
	counter-increment: commit;
	position: relative;

	/* COMMITMENT_テキスト */
	&::before {
		content: 'COMMITMENT.0'counter(commit);
		color: var(--white);
		font-size: 24rem;
		font-family: "Figtree", sans-serif;
		font-weight: 800;
		font-optical-sizing: auto;
		font-style: normal;
		line-height: 1.8;
		text-align: center;
		text-stroke: 2rem var(--r-orange);
		-webkit-text-stroke: 2rem var(--r-orange);
		paint-order: stroke;
		position: absolute;
		inset: 380rem 0 auto;
	}
}
.commit_list figure {
	li:nth-child(odd) & {
		padding-left: 48rem;
	}
	li:nth-child(even) & {
		padding-right: 48rem;
	}
}
.commit_list img {
	li:nth-child(odd) & {
		border-radius: 200rem 0 200rem 200rem;
	}
	li:nth-child(even) & {
		border-radius: 200rem 200rem 200rem 0;
	}
}
.commit_list .list_ttl {
	font-size: 32rem;
	font-weight: 700;
	margin-top: 24rem;
}
.commit_list .list_txt {
	margin: 24rem 48rem 0;
	padding: 24rem;

	& .ttl {
		font-size: 18rem;
		font-weight: 700;
		line-height: 1.8;
	}
	& .txt {
		font-size: 14rem;
		line-height: 2;
		margin-top: 20rem;
	}
}
.commit_list dl {
	margin-top: 10rem;
}
.commit_list dt,
.commit_list dd {
	padding-left: 66rem;
}
.commit_list dt {
	font-size: 18rem;
	font-weight: 700;
	padding-top: 16rem;
	position: relative;

	/* アイコン設定 */
	&::before {
		content: '';
		width: 50rem;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100% auto;
		aspect-ratio: 1 / 1;
		position: absolute;
		top: 16rem;
		left: 0;
	}
	&:nth-of-type(1)::before {
		background-image: url('/images/hairremoval/commit_icon1.svg');
	}
	&:nth-of-type(2)::before {
		background-image: url('/images/hairremoval/commit_icon2.svg');
	}
	&:nth-of-type(3)::before {
		background-image: url('/images/hairremoval/commit_icon3.svg');
	}
}
.commit_list dd + dt {
	border-top: 1px var(--gray) dotted;
	margin-top: 14rem;
}
.commit_list dd {
	font-size: 14rem;
	margin-top: 2rem;
}

/* メンズ_こだわりコンテンツ */
.dedication {
	color: var(--menslucia-green);
	font-weight: 700;
	padding: 56rem 32rem 48rem;
}
.dedi_ttl {
	font-weight: 900;

	& .slash {
		font-size: 24rem;
		padding-inline: 18rem;

		&::before,
		&::after {
			width: 4rem;
			height: 40rem;
			background: var(--menslucia-green);
		}
	}
	& em {
		font-size: 48rem;
		margin-top: -24rem;
		display: block;

		& strong {
			font-size: 167%;
		}
		& small {
			font-size: 67%;
		}
	}
}
.dedi_list {
	margin-top: 32rem;
	display: grid;
	gap: 40rem;
	counter-reset: dedi_list;
}
.dedi_list > li {
	border: 4rem #002d04 solid;
	position: relative;
	counter-increment: dedi_list;

	&::before {
		content: '0'counter(dedi_list);
		color: var(--white);
		font-size: 48rem;
		font-family: "Figtree", sans-serif;
		font-weight: 800;
		font-optical-sizing: auto;
		font-style: normal;
		text-stroke: 2rem var(--menslucia-green);
		-webkit-text-stroke: 2rem var(--menslucia-green);
		paint-order: stroke;
		position: absolute;
		top: -34rem;
		left: -18rem;
	}
}
.dedi_list .list_ttl {
	height: 100rem;
	font-size: 20rem;
	font-weight: 900;
	line-height: 1.2;
	display: grid;
	place-content: center;

	& em {
		font-size: 160%;
	}
}
.dedi_list .list_in {
	padding-inline: 28rem;
}
.dedi1_txt {
	font-size: 18rem;
	margin-top: 16rem;
}
.dedi1_copy {
	border-top: 1px var(--gray2) solid;
	margin-top: 16rem;
	padding-top: 16rem;
	position: relative;

	& .round {
		width: 48rem;
		font-size: 12rem;
		line-height: 48rem;
		aspect-ratio: 1 / 1;
		position: absolute;
		top: -28rem;
		left: -46rem;

		&::after {
			content: '';
			width: 10rem;
			background: var(--m-red);
			aspect-ratio: 1 / 1;
			clip-path: polygon(0 0, 100% 100%, 0 100%);
			position: absolute;
			bottom: 2rem;
			right: 2rem;
			rotate: 30deg;
		}
	}
	& em {
		font-size: 24rem;
		font-weight: 900;
		display: block;

		& .bg_yell {
			line-height: 56rem;
			margin-top: 4rem;
			padding-inline: 8rem;
			display: inline-block;

			& strong {
				font-size: 133%;
			}
		}
	}
	& img {
		width: 101rem;
		position: absolute;
		top: 12rem;
		right: 4rem;
	}
}
.dedi1_notice {
	font-size: 10rem;
	margin-top: 16rem;
}
.dedi_in_list {
	margin-top: 16rem;
}
.dedi_in_list li {
	padding-block: 16rem;

	& .icon {
		font-size: 16rem;
		font-weight: 900;
		padding-left: 64rem;
		position: relative;

		&::before {
			content: '';
			width: 48rem;
			background-color: #85b840;
			background-repeat: no-repeat;
			background-position: center;
			aspect-ratio: 1 / 1;
			border-radius: 100vmax;
			margin-block: auto;
			flex-shrink: 0;
			position: absolute;
			inset: 0;
		}
		.dedi3 & {
			line-height: 48rem;
		}
	}
	& + li {
		border-top: 1px var(--gray2) solid;
	}
	& .txt {
		font-size: 14rem;
		line-height: 1.8;
		margin-top: 8rem;
	}
}
/* アイコン設定 */
.dedi1 .dedi_in_list li {
	&:nth-child(1) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi1_icon1.svg);
		background-size: 28rem auto;
	}
	&:nth-child(2) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi1_icon2.svg);
		background-size: 22rem auto;
	}
	&:nth-child(3) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi1_icon3.svg);
		background-size: 26rem auto;
	}
}
.dedi2 .dedi_in_list li {
	&:nth-child(1) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi2_icon1.svg);
		background-size: 29rem auto;
	}
	&:nth-child(2) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi2_icon2.svg);
		background-size: 25rem auto;
	}
	&:nth-child(3) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi2_icon3.svg);
		background-size: 32rem auto;
	}
}
.dedi3 .dedi_in_list li {
	&:nth-child(1) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi3_icon1.svg);
		background-size: 13rem auto;
	}
	&:nth-child(2) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi3_icon2.svg);
		background-size: 23rem auto;
	}
	&:nth-child(3) .icon::before {
		background-image: url(//mens-lucia.com/lp/_asset/_lp_04ad/images/dedi3_icon3.svg);
		background-size: 22rem auto;
	}
}
.dedi_case {
	margin-top: 40rem;
	padding-bottom: 24rem;
}
.dedi_case .case_ttl {
	padding-top: 32rem;
	position: relative;

	& .round {
		width: 224rem;
		height: 40rem;
		font-size: 24rem;
		border: 1px var(--menslucia-green) solid;
		margin-inline: auto;
		position: absolute;
		inset: -20rem 0 auto;

		&::before,
		&::after {
			content: '';
			aspect-ratio: 1 / 1;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			margin-inline: auto;
			position: absolute;
		}
		&::before {
			height: 13rem;
			background: var(--menslucia-green);
			inset: auto 0 -13rem;
		}
		&::after {
			height: 10rem;
			background: var(--white);
			inset: auto 0 -10rem;
		}
	}
	& em {
		font-size: 32rem;
		font-weight: 900;

		& strong {
			font-size: 125%;
		}
		& .dot::before {
			height: 4rem;
			background: var(--m-red);
			translate: 0 4rem;
		}
	}
}
.case_ba {
	margin-top: 16rem;
	padding-inline: 28rem;
	display: flex;
	justify-content: center;
	gap: 32rem;

	& li {
		border: 4rem #85b840 solid;
		flex-grow: 1;
		position: relative;

		&:nth-child(1)::after {
			content: '';
			width: 10rem;
			height: 12rem;
			background: var(--menslucia-green);
			clip-path: polygon(0 0, 100% 50%, 0 100%);
			margin-block: auto;
			position: absolute;
			inset: 0 auto;
			right: -25rem;
		}
	}
	& img {
		height: 172rem;
		object-fit: cover;
	}
	& p {
		height: 55rem;
		background: #85b840;
		font-size: 14rem;
		padding-top: 4rem;
		display: grid;
		place-content: center;

		& small {
			font-size: 12rem;
		}
	}
}
.case_notice {
	margin-top: 8rem;
	padding-inline: 28rem;

	& li {
		font-size: 10rem;
		font-weight: 700;
		letter-spacing: .5rem;
		line-height: 15rem;
		text-align: left;
	}
}
.dedi2 .list_in {
	margin-top: 32rem;
	padding-bottom: 16rem;
}
.dedi2_copy {
	margin-top: 24rem;

	& .slash {
		font-size: 16rem;
		padding-inline: 16rem;

		&::before,
		&::after {
			width: 2rem;
			height: 32rem;
			background: var(--menslucia-green);
		}
	}
	& em {
		font-size: 32rem;
		font-weight: 900;
		margin-top: 8rem;
		display: block;

		& small {
			font-size: 75%;
		}
	}
	& .bg_yell {
		font-size: 16rem;
		line-height: 2;
		margin-top: 12rem;
		display: block;
	}
}
.movie_embed {
	font-size: 0;
	aspect-ratio: 9 / 16;
	margin-top: 24rem;

	& iframe {
		width: 100%;
		height: 100%;
	}
}

/* 紹介状 */
.introduction {
	margin-top: -18rem;
	padding-bottom: 52rem;
}
.intro_ttl {
	padding: 84rem 48rem 132rem;
	position: relative;

	& .ttl {
		background: url('../images/intro_balloon.png') no-repeat center / 100% auto;
		font-weight: 900;
		padding-block: 36rem 38rem;

		& em {
			font-size: 32rem;
			display: block;
		}
		& span {
			font-size: 24rem;
			line-height: 1.8;
			display: block;
		}
	}
	& .loop_wrap {
		top: 280rem;

		#invite_r & {
			text-stroke: 4rem var(--r-orange);
			-webkit-text-stroke: 4rem var(--r-orange);
		}
		#invite_m &,
		#guest & {
			text-stroke: 4rem var(--m-green);
			-webkit-text-stroke: 4rem var(--m-green);
		}
	}
	& img {
		margin-inline: auto;
		position: absolute;
		inset: auto 0 0;
		z-index: 1;

		#invite_r &,
		#guest & {
			width: 171rem;
		}
		#invite_m & {
			width: 139rem;
		}
	}
}
.send_ttl {
	font-weight: 900;
	line-height: 1.8;
	padding-block: 24rem;

	& * {
		display: inline-block;
	}
	& span {
		font-size: 24rem;
	}
	& small {
		font-size: 14rem;
		margin-top: -3rem;
	}
}

/* フォーム */
.form_wrap {
	padding: 45rem 48rem 56rem;

	& h3 {
		font-size: 18rem;
		font-weight: 700;
		line-height: 1.8;

		& span {
			color: var(--white);
			font-size: 12rem;
			font-weight: 500;
			line-height: 16rem;
			border-radius: 100vmax;
			margin-left: 8rem;
			padding-inline: 6rem;
			display: inline-block;

			#invite_r & {
				background: var(--r-red);
			}
			#invite_m & {
				background: var(--m-orange);
			}
		}
	}
	& .input + h3 {
		margin-top: 36rem;
	}
	& .input {
		margin-top: 5rem;
	}

	/* フォーム_CSSリセット */
	& input[type="text"],
	& input[type="number"],
	& input[type="hidden"],
	& select,
	& button {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		background: none;
		border: none;
		border-radius: 0;
		font: inherit;
		color: inherit;
		margin: 0;
		padding: 0;
		outline: none;
	}

	/* フォーム_セット */
	& input[type="text"],
	& input[type="number"],
	& input[type="hidden"],
	& select {
		width: 100%;
		height: 48rem;
		background-color: var(--white);
		font-size: 16px;
		border: 1px var(--gray2) solid;
		border-radius: 5rem;
		padding-left: 12rem;
	}
	& input {
		&::placeholder {
			color: var(--gray);
		}
		&:focus::placeholder {
			color: transparent;
		}
	}
	& select {
		background-image: url('../images/icon_select.svg');
		background-repeat: no-repeat;
		background-position: right 10rem center;
		background-size: 12rem auto;

		& + select {
			margin-top: 16rem;
		}
		&#clinic {
			display: none;
		}
	}
	& .cta {
		margin-top: 38rem;
	}
	& .notice {
		font-size: 12rem;
		margin-top: 10rem;
	}
	& .errorMessage,
	& .errorMessage2 {
		font-size: 14rem;
	}
}

/* エラーメッセージ */
#sendLineForm2 .error,
#sendLineForm2 .wrong {
	border: 1px solid #d30000;
}
#sendLineForm2 .errorMessage,
#sendLineForm2 .errorMessage2 {
	display: none;
	font-weight: bold;
	color: #d30000;
}
#sendLineForm2 .error ~ .errorMessage {
	display: block;
}
#sendLineForm2 .error2 ~ .errorMessage2 {
	display: none;
}
#sendLineForm2 .error2 ~ .errorMessage2 {
	display: block;
}

/* 注意書き */
.notice_wrap {
	margin-inline: 48rem;
	padding: 24rem;

	& .ttl {
		font-size: 14rem;
		font-weight: 700;
		line-height: 2;
	}
	& .list {
		margin-top: 16rem;
	}
	& .list li {
		font-size: 12rem;
		line-height: 2;
		display: flex;

		&::before {
			content: '※';
			margin-right: 10rem;
			flex-shrink: 0;
		}
	}
}

/* ゲストページ予約エリア */
.guest_cv {
	background: var(--g-green) url('../images/guest_cv_bg.svg') no-repeat right top / 236rem auto;
	padding-top: 32rem;
	padding-inline: 24rem;

	&:not(:has(.notice)) {
		padding-bottom: 32rem;
	}
	&:has(.notice) {
		padding-bottom: 56rem;
	}

	& h2 {
		font-size: 32rem;
		font-weight: 900;
		text-stroke: 4rem var(--m-green);
		-webkit-text-stroke: 4rem var(--m-green);
	}
	& .btns {
		margin-top: 20rem;
	}
	& dl {
		border-top: 1px var(--white) solid;
		margin-top: 24rem;
		padding-top: 24rem;
		display: flex;
		align-items: center;
	}
	& dt {
		font-size: 14rem;
		font-weight: 900;
		line-height: 35rem;
		padding-left: 42rem;
		flex-shrink: 0;
		position: relative;

		&::before {
			content: '';
			height: 35rem;
			background: var(--white) url('../images/icon_caution.svg') no-repeat center / 21rem auto;
			aspect-ratio: 1 / 1;
			border-radius: 100vmax;
			position: absolute;
			inset: 0;
		}
	}
	& dd {
		font-size: 12rem;
		margin-left: 16rem;
	}
	& .qr_btn {
		border: 2rem var(--white) solid;
		margin-top: 30rem;
	}
	.fv & {
		margin-top: 22rem;
	}
	& .notice {
		margin-top: 30rem;

		& li {
			font-size: 12rem;
			line-height: 2;
			display: flex;

			&::before {
				content: '※';
				margin-right: 10rem;
			}
		}
	}
}

/* QRボタン */
.qr_btn {
	width: 100%;
	height: 78rem;
	background-color: var(--m-orange);
	font: inherit;
	border: none;
	border-radius: 10rem;
	position: relative;
	cursor: pointer;

	& span {
		background: url('../images/icon_qr.svg') no-repeat left center / 28rem auto;
		font-size: 24rem;
		font-weight: 900;
		padding-left: 44rem;
	}
	& img {
		width: 173rem;
		margin-inline: auto;
		position: absolute;
		inset: -16rem 0 auto;
	}
}

/* ゲストページ */
#guest .about_in {
	padding-top: 0;

	& .sec_ttl .bg_ora {
		background: var(--r-orange);
	}
	& .sec_ttl u {
		background: linear-gradient(0deg, transparent 8rem, var(--m-yellow) 8rem, var(--m-yellow) 16rem, transparent 16rem);
	}
	& .balloon1 {
		translate: 8rem -50rem;
	}
	& .balloon2 {
		translate: -8rem -30rem;
	}
	& .cloud1 {
		translate: 12rem 5rem;
	}
	& .cloud2 {
		width: 48rem;
		translate: -32rem 61rem;
	}
	& .guest_balloon {
		width: 227rem;
		margin-inline: auto;
		inset: auto 0 -24rem;
	}
}
#guest .benefits {
	padding-inline: 0;

	& .bene_ttl {
		color: var(--m-yellow);
		padding-block: 29rem 24rem;
	}
	& .bene_in {
		padding: 0 48rem 72rem;

		&::after {
			content: '';
			width: 22rem;
			height: 18rem;
			background: var(--m-green);
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			margin-inline: auto;
			position: absolute;
			inset: -1rem 0 auto;
		}
	}
	& .bene_list {
		margin-top: 0;
	}
}
#guest .bene_txt {
	height: auto;
	padding-top: 0;
	border: none;

	& .fukidashi {
		translate: 0 -35rem;
	}
	& u {
		background: linear-gradient(0deg, transparent 26rem, var(--m-yellow) 26rem, var(--m-yellow) 45rem, transparent 45rem);
	}
	& .fc_ora {
		color: var(--m-orange);
	}
}

/* 紹介状の使い方 */
.howto2 {
	background-image: url('../images/howto_bg.png');
	background-repeat: no-repeat;
	background-position: left 40rem top 193rem;
	background-size: 379rem auto;
	padding-block: 48rem 220rem;
	position: relative;

	& > img {
		position: absolute;
		inset: auto 0;
		z-index: 1;

		&.howto_bg_top {
			top: 0;
		}
		&.howto_bg_btm {
			bottom: 0;
		}
	}
}
.howto2 .sec_ttl .bg_ora {
	background: var(--r-orange);
}
.step_list {
	margin-top: 64rem;
	padding-inline: 24rem;
	display: grid;
	gap: 104rem;

	& > li {
		padding: 0 24rem 32rem;
		position: relative;

		&.arrow_b::after {
			background: var(--black);
			top: calc(100% + 32rem);
		}

		/* カラー設定 */
		&:nth-child(odd) {
			border: 4rem var(--r-orange) solid;
			& .num {
				background: var(--r-orange);
			}
			& .ttl .en,
			& .txt small {
				color: var(--r-orange);
			}
		}
		&:nth-child(even) {
			border: 4rem var(--m-orange) solid;
			& .num {
				background: var(--m-orange);
			}
			& .ttl .en,
			& .txt small {
				color: var(--m-orange);
			}
		}
		/* アイコン設定 */
		&:nth-child(1) img {
			width: 90rem;
		}
		&:nth-child(2) img {
			width: 84rem;
		}
		&:nth-child(3) img {
			width: 83rem;
		}
	}

	& .num {
		width: 70rem;
		height: 60rem;
		-webkit-mask: url('../images/silhouette_mask_r.svg') no-repeat center / 100% auto;
		mask: url('../images/silhouette_mask_r.svg') no-repeat center / 100% auto;
		margin-inline: auto;
		padding-top: 6rem;
		position: absolute;
		inset: -26rem 0 auto;

		& small {
			font-size: 14rem;
			display: inline-block;
		}
		& em {
			font-size: 32rem;
			margin-top: -14rem;
			display: inline-block;
		}
	}
	& .ttl {
		border-bottom: 1px var(--gray2) dotted;
		padding: 56rem 0 32rem 32rem;
		display: flex;
		align-items: center;

		& img {
			flex-shrink: 0;
		}
		& span {
			margin-left: 24rem;
		}
		& .en {
			font-size: 18rem;
			display: block;
		}
		& em {
			font-size: 32rem;
			font-weight: 900;
			margin-top: -4rem;
			display: block;
		}
	}
	& .txt {
		font-size: 14rem;
		line-height: 2;
		margin-top: 24rem;

		& small {
			font-size: 12rem;
			line-height: 1.8;
			display: block;
		}
	}
	& .btns {
		margin-top: 24rem;
	}
	& .qr_btn {
		margin-top: 28rem;
	}
}
.step4 {
	margin-top: 64rem;
	padding-inline: 48rem;
	position: relative;

	& .slash {
		font-size: 20rem;
		font-weight: 700;
		line-height: 1.2;
		padding-inline: 16rem;

		&::before,
		&::after {
			width: 1px;
			height: 25rem;
			background: var(--black);
		}
	}
	& .bene_txt {
		margin-top: -18rem;
	}
}

/* おすすめメニュー */
.pickup {
	& > .bg_blue2 {
		padding-block: 6rem 52rem;
	}
	& .sec_ttl .bg_blue {
		background: var(--m-blue);
	}
}
.pick_ttl {
	margin-inline: 48rem;
	position: relative;

	&::after {
		content: '';
		height: 1px;
		background: var(--black);
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	& span {
		font-size: 20rem;
		font-weight: 700;
		line-height: 26rem;
		padding-inline: 8rem 4rem;
		position: relative;
		z-index: 1;
	}
	.pickup .sec_ttl + & {
		margin-top: 32rem;
	}
	.pickup .pick_list + & {
		margin-top: 48rem;
	}
	.plan .sec_ttl + & {
		margin-top: 48rem;
	}
	.plan .pick_oth + & {
		margin-top: 80rem;
	}
}
.pick_list {
	padding-inline: 48rem;
	display: grid;

	& li {
		line-height: 1.8;
		position: relative;
	}

	/* 設定 */
	&.lucia {
		margin-top: 24rem;
		gap: 24rem;

		.pick_menu {
			background: var(--r-orange);
			padding-top: 12rem;
		}
		.pick_price {
			border: 2rem var(--r-orange) solid;
		}
		.pick_price em {
			color: var(--r-orange);
		}
	}
	&.mlucia {
		margin-top: 26rem;
		gap: 36rem;

		.pick_menu {
			background: var(--m-green);
		}
		.pick_price {
			border: 2rem var(--m-green) solid;
		}
		.pick_price em {
			color: var(--m-green);
		}
	}
}
.pick_menu {
	height: 58rem;
	display: grid;
	place-content: center;

	& p {
		position: relative;
	}
	& .slash {
		font-size: 10rem;
		padding-inline: 6rem;
		position: absolute;
		top: -10rem;
		left: -15rem;
		rotate: -5deg;

		&::before,
		&::after {
			width: 1px;
			height: 11rem;
		}
	}
	& em {
		font-size: 20rem;
		font-weight: 700;

		& small {
			font-size: 16rem;
		}
	}
	& .round {
		font-size: 10rem;
		vertical-align: 4rem;
		margin-left: 8rem;
		padding-inline: 8rem;
		display: inline-block;
	}
	& .fukidashi {
		top: -26rem;
		right: -10rem;

		& small {
			font-size: 12rem;
		}
		& span {
			font-size: 14rem;

			&:has(i) {
				margin-top: -3rem;
			}
		}
		& i {
			color: var(--m-orange);
			font-size: 24rem;
			vertical-align: -1rem;
		}
	}
}
.pick_price {
	height: 68rem;
	display: flex;
	justify-content: center;
	align-items: center;

	& em {
		font-size: 56rem;
		line-height: 0;
	}
	& .yen {
		font-size: 18rem;
		font-weight: 700;
		line-height: 1.8;
		margin-left: 4rem;
		padding-top: 24rem;
	}
}

/* 選ばれてきた理由 */
#guest .reason {
	margin-top: 0;

	& .round {
		background-color: var(--r-orange);
	}
	& .fc_ora {
		color: var(--r-orange);
	}
	& .gen_img {
		margin-top: 8rem;

		& figcaption {
			text-stroke: 2rem var(--gray);
			-webkit-text-stroke: 2rem var(--gray);
		}
	}
	& .gen_cont {
		padding: 0 0 8rem;

		& .ttl {
			background: url('../images/icon_insight2.svg') no-repeat center top / 32rem auto;
		}
		& .bg_blue2 {
			margin-top: 46rem;
			padding: 24rem 24rem 32rem;

			& .txt {
				color: var(--m-blue);
				font-size: 24rem;
				font-weight: 900;
			}
		}
		& .reason_img {
			translate: 0 204rem;
		}
	}
}
.g_gen_copy {
	font-size: 18rem;
	font-weight: 700;
	line-height: 44rem;
	margin-inline: 24rem;
	position: relative;

	&::after {
		content: '';
		width: 11rem;
		height: 10rem;
		background: var(--beige);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 -10rem;
	}
}
.g_gen_ttl {
	font-weight: 900;
	margin-top: 14rem;

	& u {
		background: linear-gradient(0deg, transparent 6rem, var(--r-yellow) 6rem, var(--r-yellow) 14rem, transparent 14rem);
		font-size: 56rem;
		line-height: 1.2;
	}
	& span {
		font-size: 24rem;
		margin-top: 12rem;
		display: inline-block;

		& em {
			font-size: 133%;
		}
	}
}
.g_fukidashi {
	width: 105rem;
	background: url('../images/fukidashi.svg') no-repeat center / 100% auto;
	font-weight: 700;
	line-height: 1.2;
	aspect-ratio: 1 / 1;
	display: grid;
	place-content: center;
	position: absolute;
	top: 258rem;
	right: -11rem;

	& span {
		font-size: 18rem;
	}
	& em {
		font-size: 40rem;
		margin-block: -8rem -4rem;
	}
}

/* こだわり */
#guest .bg_ora {
	background: var(--r-orange);
}

/* 医療脱毛プラン */
.plan {
	margin-top: -18rem;
	padding-block: 12rem 196rem;
}
.pick_oth {
	width: 354rem;
	border-block: 1px var(--gray2) solid;
	margin: 40rem auto 0;

	&.lucia .acc-content {
		padding-bottom: 4rem;
	}
	&.mlucia .acc-content {
		padding-bottom: 30rem;
	}
}
.pick_oth_ttl {
	font-size: 18rem;
	font-weight: 700;
	line-height: 1.8;
	padding-block: 20rem;

	.lucia & {
		color: var(--r-orange);
		&::before,
		&::after {
			background: var(--r-orange);
		}
	}
	.mlucia & {
		color: var(--m-green);
		&::before,
		&::after {
			background: var(--m-green);
		}
	}
}
.pick_oth_tab {
	width: 100%;

	& tr {
		padding-bottom: 16rem;
		display: flex;
		justify-content: space-between;
		align-items: center;

		& + tr {
			border-top: 1px var(--gray2) dotted;
			padding-top: 16rem;
		}
	}
	& th,
	& td {
		flex-shrink: 0;
	}
	& th {
		font-size: 14rem;

		& .round {
			margin-left: 4rem;
		}
	}
	& td .en {
		font-size: 12rem;
		margin-left: 5rem;

		& em {
			font-size: 135%;
		}
	}
	& .round {
		font-size: 10rem;
		font-weight: 500;
		line-height: 1.8;
		vertical-align: 1rem;
		border: 1px var(--black) solid;
		padding-inline: 8rem 6rem;
		display: inline-block;
	}
}
.pick_oth_txt {
	margin-top: 12rem;
	padding: 24rem 40rem;
	display: flex;
	align-items: center;

	& .round {
		height: 35rem;
		aspect-ratio: 1 / 1;
		padding: 6rem 6rem 8rem;
		flex-shrink: 0;
	}
	& p {
		color: var(--menslucia-green);
		font-size: 14rem;
		font-weight: 900;
		margin-left: 14rem;

		& span {
			color: var(--m-orange);
		}
	}
}
.pick_notice {
	color: var(--menslucia-green);
	font-size: 12rem;
	margin-top: 16rem;
	padding-inline: 48rem;
}

/* サポート */
.support {
	padding: 64rem 24rem;
	position: relative;
}
.sup_en {
	height: 175rem;
	padding-top: 46rem;
	position: absolute;
	inset: -166rem 0 auto;

	& .loop_wrap {
		text-stroke: 4rem var(--m-green);
		-webkit-text-stroke: 4rem var(--m-green);
		top: 0;
	}
	& .sup_en_img {
		width: 205rem;
		position: relative;
	}
}
.sup_ttl {
	& .round {
		font-size: 18rem;
		font-weight: 700;
		line-height: 44rem;
		display: block;
		position: relative;

		&::after {
			content: '';
			width: 17rem;
			height: 15rem;
			background: var(--white);
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			margin-inline: auto;
			position: absolute;
			inset: auto 0 -14rem;
		}

		& span {
			color: var(--m-orange);
		}
		& .dot::before {
			height: 3rem;
			background: var(--m-orange);
		}
	}
	& .fc_wht {
		font-size: 40rem;
		font-weight: 900;
		line-height: 1.8;
		display: block;
		margin-top: -34rem;

		& em {
			font-size: 200%;
		}
	}
}
.sup_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16rem;

	& li {
		background-repeat: no-repeat;
		background-position: left 12rem center;
		background-size: 36rem auto;
		font-size: 14rem;
		font-weight: 700;
		padding: 24rem 0 24rem 52rem;

		&:nth-child(1) {
			background-image: url('../images/icon_sup1.svg');
		}
		&:nth-child(2) {
			background-image: url('../images/icon_sup2.svg');
		}
		&:nth-child(3) {
			background-image: url('../images/icon_sup3.svg');
		}
		&:nth-child(4) {
			background-image: url('../images/icon_sup4.svg');
		}
		&:nth-child(5) {
			background-image: url('../images/icon_sup5.svg');
		}
		&:nth-child(6) {
			background-image: url('../images/icon_sup6.svg');
		}
		&:nth-child(7) {
			background-image: url('../images/icon_sup7.svg');
		}
		&:nth-child(8) {
			background-image: url('../images/icon_sup8.svg');
		}

		& small {
			font-size: 72%;
		}
	}
}
.support .notice {
	margin-top: 16rem;

	& li {
		font-size: 12rem;
		display: flex;

		&::before {
			margin-right: 12rem;
		}
		&:nth-child(1)::before {
			content: '※1';
		}
		&:nth-child(2)::before {
			content: '※2';
		}
		&:nth-child(3)::before {
			content: '※3';
		}
	}
}
.sup_more {
	margin-top: 48rem;
	padding: 40rem 24rem 28rem;
}
.sup_more .ttl {
	position: relative;

	& .slash {
		font-size: 12rem;
		line-height: 1.8;
		padding-inline: 6rem;
		position: absolute;
		top: -16rem;
		left: 8rem;
		rotate: -5deg;

		&::before,
		&::after {
			width: 1px;
			height: 14rem;
			background: var(--black);
		}
	}
	& em {
		font-size: 40rem;
		font-weight: 900;
	}
}
.sup_more .copy {
	font-size: 18rem;
	font-weight: 700;
	border-block: 1px var(--gray2) solid;
	margin-top: 30rem;
	padding-block: 16rem;
}
.sup_more .check_list {
	margin-top: 30rem;
	display: grid;
	gap: 14rem;

	& li {
		background: url('../images/icon_check.svg') no-repeat left center / 24rem auto;
		font-size: 14rem;
		line-height: 24rem;
		padding-left: 37rem;
	}
}
.more_list {
	margin-top: 24rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16rem;

	& li {
		background-repeat: no-repeat;
		background-position: center center;
		font-size: 16rem;
		font-weight: 900;
		aspect-ratio: 1 / 1;
		display: grid;
		place-content: center;

		&:nth-child(1) {
			background-image: url('../images/icon_sup_pin.svg');
			background-size: 61rem auto;
		}
		&:nth-child(2) {
			background-image: url('../images/icon_sup_cal.svg');
			background-size: 52rem auto;
		}
		&:nth-child(3) {
			background-image: url('../images/icon_sup_tel.svg');
			background-size: 38rem auto;
		}
	}
}

/* ご紹介ください！ */
#guest .introduction {
	margin-top: 0;

	& .intro_ttl {
		padding-top: 58rem;

		& .loop_wrap {
			top: 254rem;
		}
		& .fc_ora {
			color: var(--m-orange);
		}
	}
}

/* クリニック情報 */
.clinic {
	padding: 12rem 24rem 72rem;
}
.clinic h2 {
	background: url('../images/icon_clinic.svg') no-repeat left center / 30rem auto;
	color: var(--r-orange);
	font-size: 32rem;
	font-weight: 900;
	line-height: 1.8;
	padding-left: 38rem;
}
.area_name {
	font-size: 24rem;
	font-weight: 900;

	div:not(.mens_wrap) & {
		margin-top: 24rem;
	}
}
.clinic_list {
	margin-top: 16rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6rem 16rem;
}
.md_btn {
	background: url('../images/icon_info.svg') no-repeat right center / 20rem auto;
	font-size: 14rem;
	border-bottom: 1px var(--black) solid;
	padding-block: 12rem;
	display: block;
}
.modal_in {
	width: 402rem;
	height: 660rem;
	max-height: 900px;
	margin: auto;
	position: fixed;
	inset: 0;
	overflow: hidden;
	z-index: calc(infinity);
}
.modal_ttl {
	background: var(--r-orange);
	font-size: 24rem;
	line-height: 64rem;
	border-radius: 10rem 10rem 0 0;
}
.modal_scroll {
	height: calc(100% - 124rem);
	background: var(--white);
	padding: 24rem;
	overflow-y: scroll;
	overscroll-behavior: none;
}
.modal_photo img {
	border-radius: 10rem;
}
.modal_info {
	width: 100%;

	& th,
	& td {
		padding-top: 16rem;
	}
	& th {
		width: 40rem;
	}
	& th span {
		width: 27rem;
		height: 27rem;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100% auto;
		margin-top: 4rem;
		display: block;

		&.address {
			background-image: url('../images/icon_pin.svg');
		}
		&.time {
			background-image: url('../images/icon_time.svg');
		}
	}
	& td {
		font-size: 14rem;
		line-height: 1.8;
	}
}
.modal_link {
	max-width: 340rem;
	height: 48rem;
	font-size: 18rem;

	& span {
		font-weight: 900;
		padding-left: 24rem;
		position: relative;
	}
	&:has(.cal) {
		background: var(--black);
		color: var(--white);

		& span {
			background: url('../images/icon_cal.svg') no-repeat left center / 20rem auto;
		}
	}
	&:has(.tel) {
		background: var(--white);
		border: 2rem var(--black) solid;

		& span {
			background: url('../images/icon_tel.svg') no-repeat left center / 22rem auto;
		}
	}
}
.modal_info + .modal_link {
	margin-top: 32rem;
}
.modal_link + .modal_link {
	margin-top: 8rem;
}
.modal_doctor {
	margin-top: 32rem;

	& .modal_photo {
		position: relative;
	}
	& .doctor_name {
		padding-bottom: 16rem;
		border-bottom: 1px var(--gray) solid;

		& .name_ttl {
			font-size: 14rem;
			display: block;
		}
		& .name_ja {
			width: 49%;
			font-size: 24rem;
			font-weight: 700;
			display: inline-block;
		}
		& .en {
			color: var(--gray2);
			width: 49%;
			font-size: 12rem;
			text-align: right;
			vertical-align: text-top;
			display: inline-block;
		}
	}
	& .doctor_career {
		text-align: left;
		margin-top: 24rem;

		& dt {
			font-size: 16rem;
			font-weight: 700;
		}
		& dd {
			font-size: 12rem;
			margin-top: 8rem;
		}
	}
}
.close a {
	height: 60rem;
	background: var(--white);
	border-top: 2rem #ccc solid;
	border-radius: 0 0 10rem 10rem;
	display: grid;
	place-content: center;
	cursor: pointer;
}
.close span {
	font-size: 18rem;
	padding-left: 24rem;
	position: relative;

	&::before,
	&::after {
		content: '';
		width: 4rem;
		height: 30rem;
		background: var(--black);
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	&::before {
		rotate: 45deg;
	}
	&::after {
		rotate: -45deg;
	}
}
/* メンズ */
.mens_wrap {
	background: var(--m-green2);
	border-radius: 10rem;
	margin-top: 72rem;
	padding: 24rem 24rem 30rem;

	& .area_name {
		color: var(--m-green);
	}
	& .modal_ttl {
		background: var(--m-green);
	}
	& th .address {
		background-image: url('../images/icon_pin_m.svg') !important;
	}
	& th .time {
		background-image: url('../images/icon_time_m.svg') !important;
	}
}

/* クリニック一覧_モーダル動作 */
.md-contents {
	display: none;
}
.md-overlay {
	background: var(--black);
	display: none;
	position: fixed;
	inset: 0;
	opacity: .1;
	z-index: calc(infinity);
}