@charset "utf-8";
	/* コンテンツ設定 */
	:root {
		--color-base: #8a7463;
		--color-orange: #ecb760;
		--color-orange2: #f7ca7f;
		--color-white: #fff;
		--color-blue: #73c5cf;
		--color-blue2: #9fd8df;
		--color-cream: #fef3dd;
		--color-bg: #fffaf2;
		--gradient-y-blue: linear-gradient(90deg, var(--color-blue) 0%, #aadaf0 100%);
		--gradient-y-blue2: linear-gradient(90deg, var(--color-blue2) 0%, #c7e6e7 100%);
		--gradient-y-orange: linear-gradient(90deg, #e5ac4e 0%, #f8d48d 100%);
		--gradient-x-blue: linear-gradient(180deg, var(--color-blue2) 0%, var(--color-blue2) 27%, var(--color-bg) 62%);
		--gradient-x-orange: linear-gradient(180deg, var(--color-orange) 0%, var(--color-cream) 100%);
		--gradient-x-orange2: linear-gradient(180deg, var(--color-orange) 0%, #f4cd8e 100%);
		--drop-shadow-446: drop-shadow(4rem 4rem 6rem rgba(89, 89, 89, .2));
		--drop-shadow-668: drop-shadow(6rem 6rem 8rem rgba(89, 89, 89, .3));
		--text-shadow-blue: 0 0 15rem #51aebb;
		--radius-20-tr: 20rem 20rem 0 0;
		--radius-20-bl: 0 0 20rem 20rem;
	}
	html {
		font-size: calc(100vw / ( var(--size-base) / 1 ));
	}
	body {
		color: var(--color-base);
		font-size: 14rem;
		font-weight: 700;
		font-feature-settings: 'palt' 1;
		word-wrap: break-word;
	}
	@media (min-width:769px) { /* PC */
		html {
			--size-base: 1280;
		}
		body::before {
			content: '';
			width: 100%;
			height: 100vh;
			background: #f7dbb0 url(images/body_bg.png) repeat;
			background-size: auto;
			background-attachment: fixed;
			position: fixed;
			inset: 0;
			animation: bgLoop 10s linear infinite;
		}
		@keyframes bgLoop {
			0% {
				background-position: center 251px center 284px;
			}
			100% {
				background-position: left -251px top -284px;
			}
		}
		article {
			background: var(--color-bg);
			position: relative;
		}
		article,
		header,
		footer {
			width: 450rem;
			margin-inline: auto;
		}
		/* PC_最大縦幅（大きい画面対策） */
		.md-contents {
			max-width: 900px;
		}
	}
	@media (max-width: 768px) { /* SP */
		html {
			--size-base: 450;
		}
		article {
			width: 100%;
		}
	}
	@media (any-hover: hover) { /* hover */
		.head_clinic .btn:hover .japan::before {
			background: url(images/jp_icon_hover.svg) no-repeat center center / 100% auto;
		}
		#header .btn:hover {
			background: var(--color-white);
		}
		.head_clinic .btn:hover {
			color: var(--color-base) !important;
			border-color: var(--color-base) !important;
		}
		.head_cv .btn:hover {
			color: var(--color-orange) !important;
			border-color: var(--color-orange) !important;
		}
		.clinic_list .md-btn:hover {
			translate: 2rem 2rem;
			box-shadow: 2rem 2rem 4rem rgba(89, 89, 89, .17);
			transition: all .3s ease-out;
		}
		.complete .input a:hover {
			border-bottom-color: transparent;
		}
	}
	img {
		width: 100%;
		height: auto;
	}
	th,
	td {
		border: none;
		text-align: left;
	}
	b, strong {
		font-weight: 700;
	}
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}
	.ani_over,
	.ani_over::before,
	.ani_over::after,
	.ani_over *,
	.ani_over *::before,
	.ani_over *::after {
		transition: all .5s ease-out;
	}
	.bg_gra_blue { /* グラデーション_横 */
		background: var(--gradient-y-blue);
	}
	.bg_gra_lblue {
		background: var(--gradient-y-blue2);
	}
	.bg_gra_orange {
		background: var(--gradient-y-orange);
	}
	.bg_gra_down_blue { /* グラデーション_縦 */
		background: var(--gradient-x-blue);
	}
	.bg_gra_down_orange {
		background: var(--gradient-x-orange);
	}
	.gra_down_orange {
		background: var(--gradient-x-orange2);
	}
	.azo {
		font-family: 'azo-sans-web', sans-serif;
		font-weight: 500;
	}
	.cal {
		letter-spacing: .08em;
	}
	.cal::before {
		content: '\ebcc';
		font-size: 30rem;
		font-weight: 100;
		vertical-align: -7rem;
		padding-right: 6rem;
	}
	.tel {
		letter-spacing: .14em;
	}
	.tel::before {
		content: '\e0b0';
		font-size: 24rem;
		font-weight: 100;
		vertical-align: -5rem;
		padding-right: 4rem;
	}
	.next {
		letter-spacing: .14em;
	}
	.next::after {
		content: '\e409';
		font-size: 28rem;
		font-weight: 100;
		vertical-align: -7rem;
		padding-left: 8rem;
	}
	.download {
		letter-spacing: .08em;
	}
	.download::before {
		content: '\f090';
		font-size: 24rem;
		font-weight: 400;
		vertical-align: -6rem;
		padding-right: 4rem;
	}
	.cl::before {
		content: '\ea09';
		font-weight: 100;
	}
	.bg_orange {
		height: 100rem;
		background: var(--color-orange);
		line-height: 100rem;
	}
	.bg_orange span {
		color: var(--color-white);
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: .24em;
	}
	.txt_orange {
		color: var(--color-orange);
	}
	.bg_white {
		background: var(--color-white);
		color: var(--color-orange);
		letter-spacing: .2em;
		display: inline-block;
	}
	[class*="_btn"] {
		max-width: 400rem;
		height: 90rem;
		color: var(--color-white);
		font-size: 20rem;
		font-weight: 700;
		border-radius: 100vmax;
		margin-inline: auto;
		display: grid;
		place-content: center;
	}
	[class*="btn"] span::before,
	[class*="btn"] span::after {
		font-family: 'Material Icons';
	}
	[class*="clip"] { /* 五角形切抜き */
		position: relative;
	}
	[class*="clip"]::after {
		content: '';
		position: absolute;
		inset: 0;
	}
	[class*="clip"] .inner {
		position: relative;
		z-index: 5;
	}
	.clip_44 { /* 五角形_44px */
		padding-bottom: 44rem;
	}
	.clip_44::after {
		clip-path: polygon(50% 100%, 100% calc(100% - 44rem), 100% 0, 0 0, 0 calc(100% - 44rem));
	}
	.clip_44 + section,
	.clip_44 + div {
		margin-top: -44rem;
	}
	.bg_round { /* ラウンド */
		position: relative;
		overflow: hidden;
	}
	.bg_round_in { /* ラウンド_下 */
		border-bottom-left-radius: 50% 80rem;
		border-bottom-right-radius: 50% 80rem;
		margin-inline: -50rem;
		padding-bottom: 35rem;
	}
	.bg_round + section,
	.bg_round + div {
		margin-top: -35rem;
	}
	.tb_rl { /* 縦書き */
		writing-mode: vertical-rl;
	}
	.kome li { /* ※印付きリスト */
		display: flex;
	}
	.kome li::before {
		content: '※';
		padding-right: .3em;
	}
	.round_10 { /* 全角丸_10px */
		border-radius: 10rem;
	}
	.round_20 { /* 全角丸_20px */
		border-radius: 20rem;
	}
	.acc_on {
		display: none;
	}
	/* ヘッダー */
	#header {
		height: 80rem;
		background: rgba(255, 255, 255, .9);
		padding: 0 12rem;
		display: flex;
		align-items: center;
		position: fixed;
		inset: 0;
		z-index: 9998;
	}
	#header .btn {
		height: 56rem;
		color: var(--color-white);
		font-size: 14rem;
		letter-spacing: .1em;
		border-width: 1rem;
		border-style: solid;
		border-radius: 100vmax;
		padding-inline: 12rem;
		white-space: nowrap;
		display: grid;
		place-content: center;
	}
	.head_logo {
		width: 50rem;
	}
	.head_clinic {
		margin-left: 18rem;
	}
	.head_clinic .btn {
		background: var(--color-base);
	}
	.head_clinic .japan {
		padding-left: 16rem;
		position: relative;
	}
	.head_clinic .japan::before {
		content: '';
		width: 14rem;
		height: 15rem;
		background: url(images/jp_icon.svg) no-repeat center center / 100% auto;
		position: absolute;
		top: 3rem;
		left: 0;
	}
	.head_clinic .cl::before {
		font-size: 17rem;
		vertical-align: -3rem;
		margin-right: .2em;
	}
	.head_cv {
		margin-left: 10rem;
	}
	.head_cv .btn {
		background: var(--color-orange);
	}
	.head_cv .btn span::before {
		font-size: 20rem;
		vertical-align: -4rem;
		padding-right: 0;
	}
	/* CVボタン */
	.cv {
		position: relative;
	}
	.cv p {
		color: var(--color-blue);
		font-size: 22rem;
		font-weight: 700;
		letter-spacing: .1em;
		margin-bottom: 3rem;
	}
	.cv p span::before,
	.cv p span::after {
		content: '';
		width: 9rem;
		height: 17rem;
		background: url(images/slash.png) no-repeat center center / 100% auto;
		vertical-align: -2rem;
		display: inline-block;
	}
	.cv p span::before {
		margin-right: 6rem;
	}
	.cv p span::after {
		scale: -1 1;
	}
	/* FV */
	#first_view {
		background: var(--color-white);
		position: relative;
	}
	/* ルシアシカFV */
	.fv_txt,
	.fv_luciashica {
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	.fv_txt {
		width: 402rem;
		top: 110rem;
	}
	.fv_luciashica {
		width: 305rem;
		filter: drop-shadow(0 3rem 3rem rgba(0, 0, 0, .1));
		top: 253rem;
		z-index: 2;
	}
	.fv_plan {
		width: 400rem;
		font-weight: 700;
		filter: var(--drop-shadow-668);
		margin: -120rem auto 0;
		position: relative;
	}
	.fv_plan .plan {
		background: var(--color-orange);
	}
	.fv_plan .plan p {
		font-size: 20rem;
		letter-spacing: .1em;
	}
	.fv_plan .course strong {
		line-height: 1.3;
		vertical-align: -.08em;
		padding-inline: 3rem;
	}
	.fv_plan .course b {
		font-size: 120%;
		vertical-align: -1.5rem;
	}
	.fv_plan .price {
		background: var(--color-orange2);
		border-radius: var(--radius-20-bl);
		padding: 24rem 22rem 10rem;
	}
	.fv_plan .price .sougaku {
		margin-top: -10rem;
	}
	.fv_plan .price .monthly {
		margin-top: 5rem;
		padding-top: 12rem;
	}
	.plan {
		height: 66rem;
		color: var(--color-white);
		border-radius: var(--radius-20-tr);
		display: grid;
		place-content: center;
	}
	.plan strong {
		font-size: 120%;
	}
	.course {
		height: 68rem;
		background: var(--color-white);
		display: grid;
		place-content: center;
	}
	.course p {
		font-size: 30rem;
		padding-top: 10rem;
		position: relative;
	}
	.right {
		font-size: 12rem;
		letter-spacing: .06em;
		padding-inline: 6rem;
		position: absolute;
		top: 4rem;
		left: -14rem;
		rotate: -10deg;
	}
	.right::before,
	.right::after {
		content: '';
		width: 1.2rem;
		height: 10rem;
		background: #fff;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	.right::before {
		left: 0;
		rotate: -24deg;
	}
	.right::after {
		right: 0;
		rotate: 24deg;
	}
	.course strong {
		font-size: 40rem;
	}
	.price {
		color: var(--color-white);
	}
	.price .sougaku_txt {
		font-size: 27rem;
		letter-spacing: .14em;
		line-height: 1.4;
	}
	.price .sougaku strong {
		font-size: 75rem;
		letter-spacing: -.04em;
		line-height: 1;
		vertical-align: 6rem;
		margin-inline: -3.75rem 3rem;
		display: inline-block;
	}
	.price .sougaku .yen {
		font-size: 46rem;
		vertical-align: 11.5rem;
	}
	.price .monthly {
		font-size: 18rem;
		letter-spacing: .1em;
		line-height: 1;
		border-top: 2rem var(--color-white) solid;
	}
	.price .monthly strong {
		font-size: 30rem;
		letter-spacing: -1.2rem;
		vertical-align: -2.4rem;
		padding-right: .16em;
	}
	.price .monthly b {
		font-size: 130%;
		vertical-align: -2.4rem;
	}
	.notice {
		font-size: 12rem;
		letter-spacing: .1em;
		line-height: 1.7;
		text-align: left;
	}
	#first_view .notice {
		margin-top: 20rem;
		padding: 0 30rem 40rem;
	}
	#first_view .cv {
		margin-top: 30rem;
	}
	/* 都度払い始めました */
	.whenever {
		width: 356rem;
		margin: 20rem auto 0;
		padding-right: 80rem;
		position: relative;
	}
	.whenever::after {
		content: '';
		width: 71rem;
		height: 62rem;
		background: url(images/luciashica_icon.png) no-repeat center center / 100% auto;
		position: absolute;
		top: 0;
		right: 0;
	}
	.whenever p {
		height: 60rem;
		color: #efb75f;
		font-size: 20rem;
		letter-spacing: .1em;
		line-height: 60rem;
		text-indent: .1em;
		position: relative;
	}
	.whenever p::before,
	.whenever p::after {
		content: '';
		width: 14rem;
		height: 2rem;
		background: #efb75f;
		position: absolute;
		right: 0;
	}
	.whenever p::before {
		top: 7rem;
		rotate: 19deg;
		transform-origin: left top;
	}
	.whenever p::after {
		bottom: 7rem;
		rotate: -19deg;
		transform-origin: left bottom;
	}
	/* 医療脱毛はどこで受けても～ */
	.solicit_in_1 {
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: .24em;
		line-height: 1.45;
		padding-top: 43rem;
		z-index: 1;
	}
	.solicit_in_1::after {
		background: linear-gradient(180deg, var(--color-blue2) 0, #fffaf2 100%);
	}
	.solicit_in_1 .inner {
		padding-bottom: 50rem;
	}
	.luciashica_box img {
		width: 202rem;
	}
	.luciashica_box p {
		width: 356rem;
		height: 166rem;
		background: var(--color-white);
		color: var(--color-blue);
		margin: -7rem auto 0;
		display: grid;
		place-content: center;
	}
	.solicit_in_2 {
		background: var(--color-cream);
		font-size: 22rem;
		font-weight: 700;
		letter-spacing: .16em;
		line-height: 2;
		padding-block: 95rem 60rem;
	}
	.solicit_in_2 strong {
		font-size: 150%;
		line-height: 1.65;
	}
	.solicit_in_2 .underline {
		display: inline-block;
		position: relative;
	}
	.solicit_in_2 .underline::after {
		content: '';
		height: 30%;
		background: #ffce7d;
		position: absolute;
		left: -2%;
		bottom: 10%;
	}
	.solicit_in_2 .underline b {
		display: inline-block;
		position: relative;
		z-index: 1;
	}
	/* 選ばれてきた理由 */
	.reason_ttl {
		color: var(--color-white);
		font-size: 36rem;
		letter-spacing: .22em;
		line-height: 2;
		padding-top: 44rem;
	}
	.ranking_1 {
		padding-top: 50rem;
		overflow: hidden;
	}
	.rank_num {
		color: var(--color-white);
		position: relative;
	}
	.rank_num::before,
	.rank_num::after {
		content: '';
		width: 37rem;
		height: 60rem;
		background: url(images/reason_kakko.png) no-repeat center center / 100% auto;
		position: absolute;
		top: 45rem;
	}
	.rank_num::before {
		right: calc(50% + 57rem);
	}
	.rank_num::after {
		left: calc(50% + 57rem);
		scale: -1 1;
	}
	.crown {
		position: relative;
	}
	.crown img {
		width: 50rem;
		display: inline-block;
	}
	.rank_num small {
		font-size: 16rem;
		letter-spacing: .24em;
		text-indent: .24em;
		padding-top: 5rem;
		display: inline-block;
	}
	.rank_num strong {
		font-size: 42rem;
		letter-spacing: .14em;
		line-height: 1;
		margin-top: 4rem;
		margin-left: 3rem;
		display: inline-block;
	}
	.reason_in .bg_white {
		padding-inline: 8rem calc(8rem - .2em);
	}
	.reason_in strong.bg_white {
		height: 34rem;
		font-size: 26rem;
		line-height: 32rem;
		margin-top: 30rem;
	}
	.reason_in small.bg_white {
		height: 28rem;
		font-size: 18rem;
		line-height: 26rem;
		margin-top: 6rem;
	}
	.rank_ttl {
		color: var(--color-white);
		font-size: 22rem;
		letter-spacing: .12em;
		line-height: 1.63;
	}
	.rank_ttl .num {
		font-size: 120%;
		line-height: 1;
		vertical-align: -2rem;
		padding-right: 3rem;
	}
	.rank_ttl strong {
		font-size: 150%;
		line-height: 1.5;
	}
	.rank_1_cont {
		width: 400rem;
		margin-inline: auto;
		position: relative;
	}
	.rank_1_cont.kiki {
		margin-top: 90rem;
	}
	.rank_1_cont.nurse {
		margin-top: 74rem;
		padding-bottom: 60rem;
	}
	.rank_1_cont .num {
		width: 165rem;
		height: 134rem;
		background: var(--color-base);
		color: var(--color-white);
		font-size: 26rem;
		border-radius: 50% 50% 0 0;
		margin-inline: auto;
		padding-top: 3rem;
		position: absolute;
		inset: 0;
		top: -37rem;
		z-index: -1;
	}
	.rank_in {
		position: relative;
		z-index: 1;
	}
	.rank_in .headline {
		height: 70rem;
		background: var(--color-bg);
		color: var(--color-orange);
		font-size: 30rem;
		letter-spacing: .1em;
		line-height: 70rem;
		border-radius: 20rem 20rem 0 0;
	}
	.rank_in .inner {
		background: var(--color-cream);
		border-radius: var(--radius-20-bl);
		padding: 26rem 22rem 38rem;
	}
	.rank_in_ttl {
		font-size: 22rem;
		letter-spacing: .12em;
		line-height: 1.63em;
	}
	.rank_in_ttl strong {
		font-size: 150%;
	}
	.gentle_img {
		position: relative;
		z-index: 2;
	}
	.gentle_img img {
		width: 244rem;
		margin-top: 16rem;
	}
	.gentle_list {
		margin-top: 22rem;
		padding-right: 10rem;
	}
	.gentle_list li {
		font-size: 12rem;
		letter-spacing: .24em;
		line-height: 1.5;
		text-align: right;
	}
	.gentle_list li::before {
		content: '・';
		display: inline-block;
	}
	.gentle_list + small {
		font-size: 10rem;
		letter-spacing: .1em;
		text-align: right;
		margin-top: 10rem;
		padding-right: 10rem;
		display: block;
	}
	.reason_img {
		width: 356rem;
		filter: var(--drop-shadow-668);
		margin-top: 30rem;
		display: inline-block;
	}
	.rank_in_txt {
		font-size: 16rem;
		font-weight: 500;
		letter-spacing: .24em;
		line-height: 1.69;
		text-align: left;
		margin-top: 13rem;
	}
	#care,
	#commute {
		padding-block: 60rem;
	}
	#care .rank_ttl,
	#commute .rank_ttl {
		margin-top: 20rem;
	}
	.care_dl {
		width: 356rem;
		margin: 40rem auto 0;
	}
	.care_dl dt {
		width: 328rem;
		height: 60rem;
		background: var(--color-cream);
		color: var(--color-orange);
		font-size: 22rem;
		letter-spacing: .12em;
		line-height: 60rem;
		border-radius: 0 18rem 18rem 0;
		margin: auto 0 -30rem auto;
		position: relative;
	}
	.care_dl dt:nth-of-type(n+2) {
		margin-top: 80rem;
	}
	.care_dl dt::before,
	.care_dl dt::after {
		content: '';
		width: 14rem;
		height: 2rem;
		background: var(--color-orange);
		position: absolute;
		top: 30rem;
		right: 14rem;
	}
	.care_dl dt::before {
		rotate: -90deg;
	}
	.care_dl dt.open::before {
		background: transparent;
		rotate: 0deg;
	}
	.care_dl .icon {
		width: 80rem;
		height: 80rem;
		background: var(--color-base);
		border-radius: 50%;
		display: grid;
		place-content: center;
		position: absolute;
		top: -10rem;
		left: -28rem;
	}
	.care_dl dt:nth-of-type(1) .icon,
	.care_dl dt:nth-of-type(4) .icon {
		padding-right: 5rem;
	}
	.care_dl dt:nth-of-type(3) .icon {
		padding-right: 3rem;
	}
	.care_dl dt:nth-of-type(1) .icon img,
	.care_dl dt:nth-of-type(4) .icon img {
		width: 54rem;
	}
	.care_dl dt:nth-of-type(2) .icon img,
	.care_dl dt:nth-of-type(3) .icon img {
		width: 49rem;
	}
	.care_dl dt:nth-of-type(5) .icon img {
		width: 53rem;
	}
	.care_dl dd {
		width: 328rem;
		background: var(--color-cream);
		font-size: 14rem;
		letter-spacing: .24em;
		line-height: 1.86;
		text-align: left;
		border-radius: 0 0 18rem 18rem;
		margin-inline: auto 0;
		padding: 54rem 20rem 24rem;
	}
	.care_message {
		height: 86rem;
		background: var(--color-cream);
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 1.6;
		text-align: left;
		margin-top: 88rem;
		padding: 15rem 0 15rem 173rem;
	}
	.care_message img {
		width: 165rem;
		position: absolute;
		top: -21rem;
		left: -16rem;
	}
	.care_message p {
		position: relative;
	}
	.care_message p::before,
	.care_message p::after {
		content: '';
		width: 12rem;
		height: 9rem;
		background: url(images/qt.png) no-repeat center center / 100% auto;
		position: absolute;
	}
	.care_message p::before {
		top: -1rem;
		left: -17rem;
	}
	.care_message p::after {
		bottom: 17rem;
		right: 45rem;
		scale: -1 -1;
	}
	.commute_txt {
		width: 356rem;
		background: #fdf5ea;
		margin: 20rem auto 0;
		padding-block: 22rem 25rem;
	}
	.commute_txt h3 {
		width: 300rem;
		color: var(--color-orange);
		font-size: 24rem;
		letter-spacing: .16em;
		line-height: 1.45;
		border-bottom: 2rem var(--color-orange) solid;
		margin-inline: auto;
		padding-bottom: 6rem;
	}
	.commute_txt p {
		font-size: 18rem;
		letter-spacing: .12em;
		line-height: 1.5;
		margin-top: 15rem;
	}
	.commute_list {
		width: 356rem;
		margin: 30rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13rem;
	}
	.commute_list li {
		height: 110rem;
		background: var(--color-white);
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: .16em;
		line-height: 1.6;
		padding-left: .16em;
		display: grid;
		place-content: center;
	}
	#commute .cv {
		margin-top: 30rem;
	}
	/* プラン */
	#plan .bg_round_in {
		padding-top: 55rem;
	}
	#plan .ttl h2 {
		height: 40rem;
		background: var(--color-white);
		color: var(--color-orange);
		font-size: 32rem;
		font-weight: 700;
		letter-spacing: .24em;
		line-height: 38rem;
	}
	.plans {
		width: 400rem;
		margin: 38rem auto 0;
	}
	.plans li {
		filter: var(--drop-shadow-668);
		margin-top: 30rem;
	}
	.plans .cs {
		height: 66rem;
		background: #ecb760;
		color: var(--color-white);
		border-radius: var(--radius-20-tr);
		display: grid;
		place-content: center;
	}
	.plans .count {
		font-size: 18rem;
		letter-spacing: .08em;
		line-height: 1.3;
	}
	.plans .count b {
		font-size: 110%;
	}
	.plans .cs p {
		font-size: 26rem;
		letter-spacing: .1em;
		padding-top: 10rem;
		position: relative;
	}
	.plans .cs strong {
		font-size: 40rem;
		vertical-align: -3rem;
		padding-inline: 3rem;
	}
	.plans .pr {
		background: var(--color-white);
		border-radius: var(--radius-20-bl);
		padding-inline: 22rem;
	}
	.plans .s {
		color: #f6b549;
		padding-top: 12rem;
	}
	.plans .s .tb_rl {
		font-size: 27rem;
		letter-spacing: .14em;
		line-height: 1;
		vertical-align: -6rem;
	}
	.plans .s .azo {
		font-size: 75rem;
		letter-spacing: -.04em;
		line-height: 1;
		margin-left: 4rem;
	}
	.plans .s .yen {
		font-size: 46rem;
		vertical-align: 4rem;
		margin-left: 5rem;
	}
	.plans .m {
		color: var(--color-orange2);
		font-size: 18rem;
		letter-spacing: .06em;
		padding-block: 6rem 8rem;
	}
	.plans .m .azo {
		font-size: 30rem;
		letter-spacing: -.04em;
		line-height: 1;
		vertical-align: -3rem;
		margin-right: 2rem;
	}
	.plans .m b {
		font-size: 120%;
		vertical-align: -1rem;
	}
	#plan .list_luciashica {
		width: 96rem;
		position: absolute;
		top: -53rem;
		right: 10rem;
	}
	#plan .notice {
		width: 396rem;
		color: var(--color-white);
		font-weight: 500;
		margin: 30rem auto 0;
		padding-bottom: 40rem;
	}
	.plan_other {
		padding-top: 90rem;
	}
	.plan_other_ttl img {
		width: 128rem;
	}
	.plan_other_ttl .circle {
		width: 44rem;
		height: 44rem;
		border: 2rem var(--color-base) solid;
		border-radius: 50%;
		margin: 2rem auto 0;
		display: block;
		position: relative;
	}
	.plan_other_ttl .circle::before,
	.plan_other_ttl .circle::after {
		content: '';
		width: 20rem;
		height: 2rem;
		background: var(--color-base);
		margin: auto;
		position: absolute;
		inset: 0;
	}
	.plan_other_ttl .circle::after {
		rotate: 90deg;
	}
	.plan_other_ttl.open .circle::after {
		background: transparent;
		rotate: 180deg;
	}
	.usually_plan {
		width: 400rem;
		margin: 54rem auto 0;
	}
	.option {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20rem;
	}
	.option li {
		filter: var(--drop-shadow-668);
	}
	.option_ttl {
		height: 47rem;
		background: var(--color-orange);
		color: var(--color-white);
		font-size: 23rem;
		letter-spacing: .08em;
		line-height: 47rem;
		border-radius: var(--radius-20-tr);
	}
	.option_ttl b {
		font-size: 74%;
		vertical-align: 2rem;
		margin-left: 10rem;
	}
	.option_ttl small {
		font-size: 60%;
		vertical-align: 3rem;
	}
	.option_in {
		background: var(--color-white);
		border-radius: var(--radius-20-bl);
		padding: 10rem 6rem 6rem;
	}
	.option_in .sougaku {
		padding-left: 3rem;
	}
	.option_in .sougaku_txt {
		font-size: 14rem;
		letter-spacing: .12em;
		line-height: 1;
	}
	.option_in .sougaku strong {
		font-size: 42rem;
		letter-spacing: -.06em;
		line-height: 1;
		vertical-align: 2rem;
		padding-inline: 1.5rem 2rem;
	}
	.option_in .yen {
		font-size: 23rem;
		vertical-align: 5rem;
	}
	.option_in .monthly {
		color: var(--color-orange2);
		font-size: 14rem;
		margin-top: 5rem;
	}
	.option_in .monthly strong {
		font-size: 22rem;
		vertical-align: -2rem;
	}
	.option_in .monthly b {
		font-size: 130%;
		vertical-align: -1rem;
	}
	.fullbody {
		width: 356rem;
		margin: 30rem auto 0;
		display: grid;
		gap: 20rem;
	}
	.fullbody li {
		filter: var(--drop-shadow-668);
	}
	.fullbody_ttl {
		background: var(--color-base);
		color: var(--color-white);
		font-size: 22rem;
		font-weight: 700;
		letter-spacing: .1em;
		border-radius: var(--radius-20-tr);
		padding-block: 10rem;
	}
	.fullbody_ttl .ttl_s {
		width: 132rem;
		height: 25rem;
		background: var(--color-white);
		color: var(--color-base);
		font-size: 18rem;
		line-height: 25rem;
		border-radius: 12.5rem;
		display: inline-block;
	}
	.fullbody_in {
		background: #fff1db;
		color: var(--color-orange2);
		border-radius: var(--radius-20-bl);
		padding-block: 15rem 10rem;
	}
	.fullbody_in .sougaku_txt {
		font-size: 25rem;
		line-height: 1;
	}
	.fullbody_in .sougaku strong {
		font-size: 63rem;
		letter-spacing: -.04em;
		line-height: 1;
		vertical-align: 3rem;
		margin-inline: 3rem;
	}
	.fullbody_in .yen {
		font-size: 38rem;
		vertical-align: 7rem;
	}
	.fullbody_in .monthly {
		font-size: 16rem;
		border-top: 2rem var(--color-orange2) solid;
		margin-top: 3rem;
		padding-top: 5rem;
		position: relative;
	}
	.fullbody_in .monthly strong {
		font-size: 27rem;
		line-height: 1;
		vertical-align: -3rem;
	}
	.fullbody_in .monthly b {
		font-size: 130%;
		vertical-align: -1rem;
	}
	.fullbody_in .attention {
		font-size: 14rem;
		letter-spacing: .06em;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.plan_notice {
		font-size: 12rem;
		letter-spacing: .1em;
		line-height: 2;
		text-align: left;
	}
	.usually_plan .plan_notice {
		width: 356rem;
		margin: 13rem auto 0;
	}
	#plan .cv {
		margin-top: 54rem;
	}
	/* 安心サポート */
	#support {
		margin-top: 60rem;
		padding: 50rem 24rem 48rem;
	}
	#support h2 {
		font-size: 24rem;
		letter-spacing: .24em;
	}
	#support h2 .large {
		font-size: 130%;
		line-height: 1.4;
		display: block;
	}
	#support h2 strong {
		font-size: calc(24rem * 1.7);
		display: inline-block;
		line-height: 1;
	}
	.support_list {
		width: 356rem;
		margin: 28rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13rem;
	}
	.support_list li {
		height: 110rem;
		background: rgba(255, 255, 255, .8);
		color: var(--color-blue);
		font-size: 20rem;
		font-weight: 700;
		letter-spacing: .18em;
		line-height: 1.2;
		filter: var(--drop-shadow-446);
		display: grid;
		place-content: center;
	}
	.support_list small {
		font-size: 80%;
	}
	.support_list img {
		width: 71rem;
	}
	#support .notes {
		counter-reset: note;
		margin-top: 13rem;
	}
	#support .notes li {
		font-size: 12rem;
		letter-spacing: .1em;
		line-height: 2;
		text-align: left;
	}
	#support .notes li::before {
		counter-increment: note;
		content: '※'counter(note);
		padding-right: 12rem;
	}
	/* ルシアのこだわり */
	#commitment {
		padding-block: 35rem 60rem;
	}
	#commitment h2 {
		color: var(--color-white);
		font-size: 30rem;
		letter-spacing: .22em;
	}
	#commitment .bg_white {
		height: 40rem;
		font-size: 20rem;
		line-height: 40rem;
		margin-top: 30rem;
		display: block;
	}
	.commitment_in {
		width: 400rem;
		filter: var(--drop-shadow-668);
		margin: 35rem auto 0;
	}
	.commitment_in_ttl {
		height: 60rem;
		background: var(--color-base);
		border-radius: var(--radius-20-tr);
	}
	.commitment_in_ttl span {
		color: var(--color-white);
		font-size: 22rem;
		letter-spacing: .22em;
		line-height: 60rem;
	}
	.commitment_in_ttl span::before {
		content: '“';
	}
	.commitment_in_ttl span::after {
		content: '”';
	}
	.commitment_in_ttl b {
		color: var(--color-orange);
		font-size: 120%;
	}
	.commitment_in .inner {
		background: #fefbf7;
		border-radius: var(--radius-20-bl);
		padding: 0 20rem 20rem;
	}
	#treatment .inner {
		padding-top: 22rem;
	}
	#efficacious .inner {
		padding-top: 30rem;
	}
	.commitment_in .copy {
		font-size: 18rem;
		font-weight: 500;
		letter-spacing: .22em;
		white-space: nowrap;
	}
	.commitment_in .copy::before {
		content: '＼';
	}
	.commitment_in .copy::after {
		content: '／';
	}
	.slide_wrap {
		border: 4rem var(--color-orange) solid;
		padding-block: 20rem 10rem;
		position: relative;
	}
	#treatment .slide_wrap {
		margin-top: 20rem;
	}
	.swiper h4 {
		background: var(--color-base);
		color: var(--color-white);
		font-size: 22rem;
		font-weight: 500;
		letter-spacing: .22em;
		margin-inline: auto;
	}
	#treatment .swiper h4 {
		width: 260rem;
		height: 46rem;
		line-height: 42rem;
		border-radius: 23rem;
	}
	#efficacious .swiper h4 {
		width: 300rem;
		height: 80rem;
		line-height: 1.55;
		border-radius: 15rem;
		display: grid;
		place-content: center;
	}
	.swiper img {
		width: 274rem;
		margin-top: 25rem;
	}
	#treatment .slide1 img {
		width: 200rem;
	}
	.swiper p {
		font-weight: 500;
	}
	#treatment .swiper p {
		font-size: 14rem;
		letter-spacing: .22em;
		line-height: 1.42;
		margin-top: 10rem;
	}
	#efficacious .swiper p {
		font-size: 16rem;
		letter-spacing: .24em;
		line-height: 1.68;
		text-align: left;
		margin-top: 22rem;
		padding-inline: 15rem;
	}
	#efficacious .swiper p small {
		font-size: 12rem;
		display: block;
	}
	.dm {
		width: 32rem;
		height: 32rem;
		background: var(--color-orange);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		translate: 0 -50%;
		cursor: pointer;
		z-index: 3;
	}
	.dm.button-prev {
		left: -15rem;
		scale: -1 1;
	}
	.dm.button-next {
		right: -15rem;
	}
	.dm::after {
		content: '';
		width: 12rem;
		height: 15rem;
		background: var(--color-white);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		position: absolute;
		top: 50%;
		left: 12rem;
		translate: 0 -50%;
	}
	#commitment .cv {
		margin-top: 36rem;
	}
	/* ルシアの配慮 */
	#concern {
		padding-block: 52rem 60rem;
		position: relative;
		overflow: hidden;
	}
	#concern h2 {
		font-size: 24rem;
		letter-spacing: .16em;
	}
	#concern img {
		width: 155rem;
		display: block;
		position: absolute;
		top: 38rem;
		right: -10rem;
	}
	.concern_list {
		width: 356rem;
		margin: 33rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13rem;
	}
	.concern_list li {
		height: 110rem;
		background: rgba(255, 255, 255, .9);
		filter: var(--drop-shadow-446);
		display: grid;
		place-content: center;
	}
	.concern_list p {
		color: var(--color-blue);
		font-size: 14rem;
		letter-spacing: .08em;
		line-height: 1.7;
	}
	.concern_list b {
		font-size: 120%;
		line-height: 1.1;
	}
	.concern_list .underline {
		border-bottom: 2rem var(--color-blue) dotted;
	}
	/* 施術までの流れ */
	#flow {
		padding-bottom: 60rem;
	}
	#flow .swiper {
		padding-block: 40rem 30rem;
	}
	#flow .swiper-slide {
		width: 330rem;
		height: 477rem;
		box-shadow: 4rem 4rem 15rem rgba(89, 89, 89, .15);
		translate: 24rem 0;
	}
	#flow .swiper-slide .ttl {
		height: 110rem;
		padding: 24rem 0 24rem 22rem;
		display: flex;
	}
	#flow .swiper-slide h3 {
		color: var(--color-orange);
		display: grid;
		place-content: center;
	}
	.step {
		width: 72rem;
		color: #f7dbb0;
		font-size: 52rem;
		letter-spacing: .04em;
		line-height: .8;
		padding-top: 28rem;
		display: inline-block;
		position: relative;
	}
	.step::before {
		content: 'STEP';
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 20rem;
		font-weight: 700;
		letter-spacing: .08em;
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	#flow .swiper-slide h3,
	#flow .swiper-slide p {
		font-weight: 700;
		letter-spacing: .24em;
		line-height: 1.4;
	}
	#flow .swiper-slide h3 {
		width: 236rem;
		font-size: 24rem;
	}
	#flow .swiper-slide .txt {
		padding: 20rem 24rem 10rem;
	}
	#flow .swiper-slide p {
		font-size: 16rem;
		text-align: left;
	}
	/* よくある質問 */
	#qanda h2 {
		position: relative;
		cursor: pointer;
	}
	#qanda dl {
		width: 356rem;
		text-align: left;
		margin-inline: auto;
		padding-block: 40rem 60rem;
	}
	#qanda .q {
		background: var(--color-base);
		filter: var(--drop-shadow-668);
		padding: 14rem 50rem 15rem 16rem;
		position: relative;
		cursor: pointer;
	}
	#qanda dt:nth-of-type(n+2) {
		margin-top: 20rem;
	}
	#qanda .q span {
		color: var(--color-white);
		font-size: 16rem;
		font-weight: 700;
		letter-spacing: .24em;
		line-height: 1.4;
	}
	#qanda .acc::before,
	#qanda .acc::after {
		content: '';
		width: 16rem;
		height: 2rem;
		background: var(--color-white);
		position: absolute;
		top: 50%;
		right: 24rem;
		translate: 0 -50%;
	}
	#qanda .acc::before {
		rotate: -90deg;
	}
	#qanda .acc.open::before {
		background: transparent;
		rotate: 0deg;
	}
	#qanda .a {
		margin-top: 20rem;
		padding-inline: 14rem;
	}
	#qanda .a p {
		font-size: 14rem;
		letter-spacing: .24em;
		line-height: 1.6;
	}
	/* クリニックの様子 */
	#clinic {
		margin-top: 2rem;
	}
	#photo .loop {
		display: flex;
		overflow: hidden;
	}
	.photo_loop {
		margin-top: 15rem;
		display: flex;
	}
	.photo_loop li {
		width: 111rem;
	}
	.loop1 {
		animation: scroll-anime-loop1 60s -30s linear infinite;
	}
	.loop2 {
		animation: scroll-anime-loop2 60s linear infinite;
	}
	@keyframes scroll-anime-loop1 {
		from { translate: 100% 0; }
		to { translate: -100% 0; }
	}
	@keyframes scroll-anime-loop2 {
		from { translate: 0 0; }
		to { translate: -200% 0; }
	}
	/* クリニック一覧 */
	.area_name {
		font-size: 30rem;
		font-weight: 700;
		letter-spacing: .28em;
	}
	#photo + .area_name {
		margin-top: 35rem;
	}
	.clinic_list + .area_name {
		margin-top: 40rem;
	}
	.clinic_list {
		width: 380rem;
		margin: 30rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15rem 10rem;
	}
	.clinic_list li {
		height: 68rem;
	}
	.clinic_list .md-btn {
		height: 100%;
		background: var(--color-orange);
		color: var(--color-white);
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: .14em;
		line-height: 1.2;
		border-radius: 6rem 32rem 6rem 6rem;
		box-shadow: 4rem 4rem 6rem rgba(89, 89, 89, .26);
		display: grid;
		place-content: center;
	}
	/* クリニック_モーダル */
	.md-overlay {
		width: 100%;
		height: 100%;
		background: #f0ac3d;
		display: none;
		position: fixed;
		inset: 0;
		opacity: .5;
		z-index: 9999;
	}
	.md-contents {
		width: 356rem;
		height: 730rem;
		margin: auto;
		display: none;
		position: fixed;
		inset: 0;
		overflow: hidden;
		z-index: 9999;
	}
	.md-contents h3,
	.close .md-close {
		height: 74rem;
		background: var(--color-base);
		color: var(--color-white);
		font-size: 24rem;
		letter-spacing: .2em;
		line-height: 74rem;
	}
	.md-contents h3 {
		border-radius: var(--radius-20-tr);
	}
	.modal-scroll {
		height: calc(100% - (74rem * 2));
		background: var(--color-white);
		padding: 30rem 23rem;
		overflow-y: scroll;
		overscroll-behavior: none;
	}
	.close .md-close {
		font-weight: 700;
		border-radius: var(--radius-20-bl);
		display: block;
		cursor: pointer;
	}
	.close .md-close::before {
		content: '×';
	}
	.clinic_photo {
		filter: var(--drop-shadow-668);
	}
	.modal-scroll table {
		width: 100%;
		margin-top: 30rem;
	}
	.modal-scroll th {
		width: 25rem;
		padding-top: 6rem;
	}
	.modal-scroll th span {
		position: relative;
	}
	.modal-scroll th span::before {
		content: '\e0c8';
		color: var(--color-orange);
		font-size: 27rem;
		font-family: 'Material Icons';
		letter-spacing: -3rem;
		position: absolute;
		top: -5rem;
	}
	.modal-scroll th img {
		width: 21rem;
	}
	.modal-scroll td {
		font-size: 14rem;
		letter-spacing: .1em;
		line-height: 1.78;
	}
	.modal-scroll td address {
		padding-bottom: 1em;
	}
	.modal-scroll > a {
		height: 70rem;
	}
	.modal-scroll > a:nth-of-type(1) {
		font-size: 18rem;
		margin-top: 30rem;
	}
	.modal-scroll > a:nth-of-type(2) {
		margin-top: 10rem;
	}
	.doctor {
		margin-top: 30rem;
	}
	.doctor_photo {
		position: relative;
	}
	.doctor_photo img {
		filter: var(--drop-shadow-668);
	}
	.doctor_photo .name {
		font-weight: 700;
		letter-spacing: .14em;
		text-align: center;
		padding: 20rem 10rem 0 0;
		position: absolute;
		top: 0;
		right: 0;
	}
	.doctor_photo .name_ja {
		font-size: 24rem;
		line-height: 1.4;
		display: block;
	}
	.doctor_photo .name_en {
		font-size: 12rem;
	}
	.doctor dl {
		letter-spacing: .12em;
		line-height: 1.6;
		text-align: left;
		margin-top: 30rem;
	}
	.doctor dt {
		font-size: 18rem;
	}
	.doctor dd {
		font-size: 14rem;
	}
	.doctor dd:nth-of-type(1) {
		margin-top: 9rem;
	}
	.doctor dd:nth-of-type(n+2) {
		margin-top: 7rem;
	}
	/* フォーム */
	.lpform #form_cont:not(.form_fc) {
		padding-bottom: 80rem;
	}
	#form {
		padding-top: 80rem;
	}
	#form .bg_round h2 {
		height: 120rem;
		line-height: 110rem;
	}
	.form_notice {
		padding: 70rem 24rem 0;
	}
	.form_notice p:nth-of-type(1) {
		font-size: 20rem;
		letter-spacing: .1em;
	}
	.form_notice p:nth-of-type(2) {
		font-size: 12rem;
		letter-spacing: .1em;
		text-align: left;
		margin-top: 1em;
		padding-inline: 25rem;
	}
	.form_notice .cv {
		margin-top: 10rem;
	}
	.form_notice .cv a {
		width: 340rem;
		height: 45rem;
	}
	#form .area_name {
		margin-top: 40rem;
	}
	.form_list {
		margin-top: 30rem;
		padding-inline: 25rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10rem;
	}
	.form_list a {
		height: 54rem;
		background: #fff;
		color: #9b826e;
		font-size: 16rem;
		border: 2rem var(--color-base) solid;
		border-radius: 10rem;
		padding-left: 20rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.form_list a::after {
		content: '';
		width: 9rem;
		height: 9rem;
		border-top: 2rem var(--color-base) solid;
		border-right: 2rem var(--color-base) solid;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 20rem;
		rotate: 45deg;
	}
	.form_list a:hover {
		background: #ecb760;
		color: #fff;
		border-color: #ecb760;
	}
	.form_list a:hover::after {
		border-color: #fff;
	}

	.form_list a,
	.form_list a::after,
	.form_list a:hover {
		border-color: #e3aa9c;
	}
	.form_list a:hover {
		background: #e3aa9c;
	}
	/* フッター */
	#footer {
		background: var(--color-orange);
		padding-bottom: 33rem;
		position: relative;
	}
	#footer .pagetop {
		color: var(--color-white);
		font-size: 22rem;
		letter-spacing: .06em;
		line-height: 70rem;
		display: block;
		position: relative;
	}
	#footer .pagetop::before {
		content: '';
		width: 29rem;
		height: 29rem;
		background: url(/_asset_lp/images/footnav_top.png) no-repeat left top / 100% auto;
		vertical-align: middle;
		margin-right: 10rem;
		display: inline-block;
	}
	#footer .pagetop::after {
		content: '';
		width: 356rem;
		height: 1rem;
		background: var(--color-white);
		margin-inline: auto;
		position: absolute;
		inset: 0;
		translate: 0 70rem;
	}
	#footer .logo {
		width: 73rem;
		height: 94rem;
		margin: 30rem auto 0;
	}
	#footer .copy {
		color: var(--color-white);
		font-size: 12rem;
		letter-spacing: .1em;
		margin: 62rem auto 0;
	}