@charset "utf-8";

	:root {
		/* 冬FV使用カラー */
		--pink1: #df6e7a;
		--pink2: #f789aa;
		--blue1: #c5e7f3;
		--blue2: #ecf7fb;

		/* 春FV使用カラー */
		--pink3: #DF707C;
		--beige: #FEF3DD;
		--bg-green: #FDFFEB;
		--bg_yellow: #FFF081;
		--blue3: #7AB6D5;

		/* 夏FV使用カラー */
		--blue4: #0BBAE9;
		--pink4: #F760B3;
	}

	/* PC背景 */
	@media (min-width: 769px) {
		body::before {
			content: '';
			background: #f7dbb0 url(images/body_bg.png) repeat;
			background-size: auto;
			background-attachment: fixed;
			position: fixed;
			inset: 0;
			z-index: -1;
			animation: bgLoop 20s linear infinite;
		}
		@keyframes bgLoop {
			0% { background-position: center 251px center 284px; }
			100% { background-position: left -251px top -284px; }
		}
	}

	body {
		color: var(--base-brown);
		font-size: 14rem;
		font-weight: 700;
		font-feature-settings: 'palt' 1;
		text-align: center;
	}
	main {
		background: #fffaf2;
	}
	strong {
		font-weight: 700;
	}

	/* 汎用 */
	.bg_gra_blue { /* グラデーション_横 */
		background: linear-gradient(90deg, #73c5cf 0%, #aadaf0 100%);
	}
	.bg_gra_lblue {
		background: linear-gradient(90deg, #9fd8df 0%, #c7e6e7 100%);
	}
	.bg_gra_orange {
		background: linear-gradient(90deg, #e5ac4e 0%, #f8d48d 100%);
	}
	.bg_gra_down_blue { /* グラデーション_縦 */
		background: linear-gradient(180deg, #9fd8df 0%, #9fd8df 27%, #fffaf2 62%);
	}
	.bg_gra_down_orange {
		background: linear-gradient(180deg, var(--base-orange) 0%, #fef3dd 100%);
	}
	.gra_down_orange {
		background: linear-gradient(180deg, var(--base-orange) 0%, #f4cd8e 100%);
	}
	.bg_orange {
		background: var(--base-orange);

		h2& {
			height: 100rem;
			line-height: 100rem;
		}
		& span {
			color: var(--white);
			font-size: 24rem;
			font-weight: 700;
			letter-spacing: .24em;
		}
	}
	.txt_orange {
		color: var(--base-orange);
	}

	/* font */
	.fig {
		font-optical-sizing: auto;
		font-weight: 700;
	}

	[class*="_btn"] {
		max-width: 400rem;
		color: var(--white);
		font-weight: 700;
		border-radius: 100vmax;
		margin-inline: auto;
		display: grid;
		place-content: center;

		& span::before,
		& span::after {
			font-family: 'Material Icons';
		}
	}
	.cal {
		letter-spacing: .08em;

		&::before {
			content: '\ebcc';
			font-size: 30rem;
			font-weight: 100;
			vertical-align: -7rem;
			padding-right: 6rem;
		}
	}
	.tel {
		letter-spacing: .14em;

		&::before {
			content: '\e0b0';
			font-size: 24rem;
			font-weight: 100;
			vertical-align: -5rem;
			padding-right: 4rem;
		}
	}
	.next {
		letter-spacing: .14em;

		&::after {
			content: '\e409';
			font-size: 28rem;
			font-weight: 100;
			vertical-align: -7rem;
			padding-left: 8rem;
		}
	}
	.download {
		letter-spacing: .08em;

		&::before {
			content: '\f090';
			font-size: 24rem;
			font-weight: 400;
			vertical-align: -6rem;
			padding-right: 4rem;
		}
	}
	.cl::before {
		content: '\ea09';
		font-weight: 100;
	}
	/* ラウンド背景 */
	.bg_round {
		position: relative;
		overflow: hidden;

		& + section,
		& + div {
			margin-top: -35rem;
		}
	}
	/* ラウンド */
	.bg_round_in {
		border-bottom-left-radius: 50% 80rem;
		border-bottom-right-radius: 50% 80rem;
		margin-inline: -50rem;
		padding-bottom: 35rem;
	}
	/* ラウンド_上 */
	.bg_round_in_top {
		border-top-left-radius: 50% 112rem;
		border-top-right-radius: 50% 112rem;
		margin-inline: -38rem;
		padding-left: 38rem;
		padding-right: 38rem;
	}
	/* ※印付きリスト */
	.kome li {
		display: flex;

		&::before {
			content: '※';
			padding-right: .3em;
		}
	}
	.notice {
		font-size: 12rem;
		letter-spacing: .1em;
		line-height: 1.7;
		text-align: left;
	}
	/* 縦書き */
	.tb_rl {
		writing-mode: vertical-rl;
	}
	/* 見出し_バルーン */
	.balloon {
		width: 356rem;
		margin-inline: auto;
		padding-block: 24rem 45rem;
		position: relative;

		&::before,
		&::after {
			content: '';
			width: 100%;
			position: absolute;
			left: 0;
		}
		&::before {
			height: 2rem;
			top: 0;
		}
		&::after {
			height: 20rem;
			bottom: 0;
		}
		&.white {
			color: var(--white);
		}
		&.white::before {
			background: var(--white);
		}
		&.white::after {
			background: url(images/balloon_b_white.svg) no-repeat center / 100% auto;
		}
	}

	.yen {
		position: relative;

		&::before {
			font-size: .3em;
			white-space: nowrap;
			margin-inline: auto;
			position: absolute;
			inset: -4rem 0 auto;
		}
		.taxout &::before {
			content: '税抜';
		}
		.taxin &::before {
			content: '税込';
		}
	}

	/* ヘッダー */
	#header {
		height: 80rem;
		background: rgba(255, 255, 255, .9);
		justify-content: center;

		&.form {
			justify-content: flex-start;

			& .head_logo {
				margin-left: 10rem;
			}
		}
		& .head_logo {
			width: 50rem;
		}
		& .btn {
			height: 56rem;
			color: var(--white);
			font-size: 14rem;
			letter-spacing: .1em;
			line-height: 52rem;
			white-space: nowrap;
			border: 1rem transparent solid;
			border-radius: 28rem;
			padding-inline: 12rem;
			display: inline-block;

			& span::before {
				font-family: 'Material Icons';
			}
		}
	}
	.head_clinic {
		margin-left: 18rem;

		& .btn {
			background: var(--base-brown);
		}
		& .japan {
			padding-left: 16rem;
			position: relative;

			&::before {
				content: '';
				width: 14rem;
				height: 15rem;
				background: url(images/jp_icon.svg) no-repeat center / 100% auto;
				position: absolute;
				top: 3rem;
				left: 0;
			}
		}
		& .cl::before {
			font-size: 16rem;
			vertical-align: -3rem;
			margin-right: .2em;
		}
	}
	.head_cv {
		margin-left: 10rem;

		& .btn {
			background: var(--base-orange);

			& span::before {
				font-size: 20rem;
				vertical-align: -4rem;
				padding-right: 0;
			}
		}
	}

	/* CVボタン_マイクロコピー */
	.cv {
		position: relative;

		& p {
			color: var(--pink4);
			font-size: 20rem;
			font-weight: 700;
			letter-spacing: .1em;
			margin-bottom: 3rem;

			& > span::before,
			& > span::after {
				content: '';
				width: 2rem;
				height: 18rem;
				background: var(--pink4);
				vertical-align: -3rem;
				display: inline-block;
			}
			& > span::before {
				margin-right: 8rem;
				rotate: -20deg;
			}
			& > span::after {
				margin-left: 8rem;
				rotate: 20deg;
			}
		}
		& .link_btn {
			height: 70rem;
			background-color: var(--pink4);
			font-size: 20rem;
		}
	}

	/* FV */
	.fv {
		padding-top: 80rem;

		& .fv_wrap {
			position: relative;

			& .fv_copy {
				width: 380rem;
				margin-inline: auto;
				position: absolute;
				inset: 244rem 0 auto;
			}
		}
		& .fv_price_ban {
			background-color: var(--white);
			border-radius: 20rem 20rem 0 0;
			margin-top: -64rem;
			padding: 16rem 24rem 64rem;
			position: relative;

			& .plan_copy {
				font-size: 20rem;
				line-height: 1.5;

				& span {
					color: var(--pink4);
				}
			}
			& .fv_price_in {
				filter: drop-shadow(0 0 4rem rgba(0, 0, 0, .25));
				margin-top: 16rem;
			}
		}
		& .cv {
			margin-top: 32rem;
		}
		& .notice {
			margin-top: 32rem;

			& p {
				font-size: 9.5rem;
				font-weight: 500;
				line-height: 1.6;
			}
		}
	}
	.sv {
		background-color: var(--beige);
		line-height: 1.2;
		padding: 48rem 24rem 56rem;

		& .fc_ora {
			color: var(--base-orange);
		}
		& h2 {
			font-weight: 900;

			& > span {
				background-color: var(--base-brown);
				color: var(--white);
				font-size: 16rem;
				line-height: 38rem;
				border-radius: 100vmax;
				padding-inline: 18rem;
				display: inline-block;
			}
			& em {
				font-size: 40rem;
				margin-top: -16rem;
				display: block;

				& span {
					font-size: 140%;
				}
			}
		}
		& .sv_list_04 {
			margin-top: 56rem;
			display: grid;
			gap: 40rem;

			& li {
				background-color: var(--white);
				padding-block: 24rem;
				position: relative;

				&:nth-child(1) {
					padding-left: 174rem;
				}
				&:nth-child(2) {
					padding-left: 35rem;
				}
				&:nth-child(3) {
					padding-left: 144rem;
				}
			}
			& img {
				position: absolute;
			}
			& li:nth-child(1) img {
				width: 91rem;
				top: -35rem;
				left: 50rem;
			}
			& li:nth-child(2) img {
				width: 110rem;
				top: -34rem;
				right: 34rem;
			}
			& li:nth-child(3) img {
				width: 79rem;
				top: 18rem;
				left: 34rem;
			}
			& p {
				font-weight: 900;
				text-align: left;

				& > span {
					font-size: 20rem;
					display: block;

				}
				& > em {
					background: linear-gradient(0deg, var(--bg_yellow) 11rem, transparent 11rem);
					font-size: 32rem;
					padding: 0 4rem 8rem 2rem;
					display: inline-block;
				}
				& small {
					font-size: 50%;
				}
			}
		}
		& .notice {
			font-size: 10rem;
			font-weight: 500;
			text-align: right;
			margin-top: 16rem;
		}
		& .more {
			width: 121rem;
			height: 43rem;
			background-color: var(--blue3);
			color: var(--white);
			font-size: 16rem;
			font-weight: 700;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
			margin: 32rem auto 0;
			padding-top: 4rem;
		}
		& h3 {
			font-size: 40rem;
			font-weight: 900;
			margin-top: 16rem;

			& .dot::before {
				width: 4rem;
				background-color: var(--base-orange);
				top: 5rem;
			}
		}
		& .award_copy {
			font-size: 14rem;
			margin-top: 8rem;
		}
		& figure {
			width: 322rem;
			margin: 24rem auto 0;
			overflow: hidden;
		}
	}

	/* 料金カード */
	.plan,
	.price {
		background: var(--white);
	}
	.plan {
		font-size: 20rem;
		font-weight: 700;
		line-height: 66rem;
		border-radius: 20rem 20rem 0 0;

		& span {
			color: var(--base-orange);
		}
	}
	.price_wrap {
		position: relative;
	}
	.course {
		background: var(--base-orange);
		color: var(--white);
		border-radius: 20rem 20rem 0 0;
		display: grid;
		place-content: center;

		.fv_price_in & {
			height: 74rem;
		}
		.plans & {
			height: 64rem;
		}
		.fv_price_in &:has(.light) {
			padding-top: 6rem;
		}
		& p {
			letter-spacing: .05em;
			line-height: 2;
			position: relative;

			& em {
				font-size: 32rem;
			}
			& small {
				font-size: 12rem;
				vertical-align: 4rem;
			}
			& .plus {
				width: 20rem;
				height: 20rem;
				background-color: var(--white);
				color: var(--base-brown);
				font-size: 14rem;
				line-height: 18rem;
				vertical-align: 6rem;
				border-radius: 100vmax;
				margin-inline: 10rem;
				display: inline-block;
			}
			& .or {
				font-size: 18rem;
				vertical-align: 5rem;
				margin-inline: 6rem 8rem;
			}
			& .count {
				background-color: var(--white);
				color: var(--base-brown);
				font-size: 14rem;
				line-height: 30rem;
				vertical-align: 5rem;
				border-radius: 6rem;
				margin-left: 12rem;
				padding-inline: 10rem;
				display: inline-block;

				& b {
					font-size: 24rem;
				}
			}

			.fv & {
				font-size: 32rem;

				& b {
					vertical-align: -2rem;
				}
			}
			.plans & {
				font-size: 24rem;
			}
		}
	}
	/* ＼ライト／表記 */
	.light {
		font-size: 10rem;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 1.6;
		padding-inline: 4rem;
		position: absolute;
		top: 2rem;
		left: -8rem;
		rotate: -5deg;

		&::before,
		&::after {
			content: '';
			width: 1px;
			height: 12rem;
			background: var(--white);
			margin-block: auto;
			position: absolute;
			inset: 0 auto;
		}
		&::before {
			left: 0;
			rotate: -27deg;
		}
		&::after {
			right: 0;
			rotate: 27deg;
		}
	}
	.price {
		border-radius: 0 0 20rem 20rem;

		&:has(.normal_price) {
			height: 100rem;
		}
		&:not(:has(.normal_price)) {
			padding-block: 8rem;
		}

		& .normal_price {
			font-size: 14rem;
			line-height: 1.2;
			padding-top: 3rem;

			& .txt {
				font-size: 10rem;
				font-weight: 500;
				line-height: 12rem;
				vertical-align: 4rem;
				border: 1px var(--base-brown) solid;
				margin-right: 8rem;
				padding-inline: 2rem;
				display: inline-block;
			}
			& em {
				font-size: 24rem;
				letter-spacing: 0;
				margin-right: 4rem;
			}
			& .dismiss {
				padding-inline: 2rem 10rem;
				display: inline-block;
				position: relative;

				&::before,
				&::after {
					content: '';
					position: absolute;
				}
				&::before {
					width: 4rem;
					height: 3rem;
					background-color: var(--base-brown);
					clip-path: polygon(0 0, 100% 0, 50% 100%);
					top: 14rem;
					right: 3rem;
				}
				&::after {
					height: 2rem;
					background-color: var(--base-orange);
					border-radius: 100vmax;
					margin-block: auto;
					inset: 0;
					rotate: -7deg;
				}
			}
		}
		& .offer {
			line-height: 1.2;

			& em {
				color: var(--base-orange);
				font-size: 64rem;
			}
			& .yen {
				font-size: 32rem;
				margin-left: 3rem;
			}
			.normal_price + & {
				margin-top: -9rem;
			}
		}
		& .sougaku_txt {
			font-size: 18rem;
			letter-spacing: .2em;
			line-height: 1.4;
			margin-right: 4rem;
		}
	}
	.off_badge {
		width: 79rem;
		height: 79rem;
		background-color: var(--blue4);
		color: var(--white);
		border-radius: 100vmax;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: absolute;
		right: -16rem;

		.fv & {
			top: 65rem;
		}
		.plans & {
			top: 60rem;
		}
		& > span {
			font-size: 14rem;
			line-height: 1.2;

			&:has(em) {
				margin-block: -7rem -5rem;
			}
		}
		& em {
			font-size: 32rem;
		}
	}

	/* ルシアクリニックとは？！ */
	#about {
		background: #f3d5d2;
		padding-block: 40rem 56rem;

		& small {
			font-size: 12rem;
			font-weight: 500;
			letter-spacing: .1em;
			text-align: right;
			margin-top: 8rem;
			display: block;
		}
		& img {
			width: 112rem;
			position: absolute;
			top: -15rem;
			right: -16rem;
		}
	}
	#about h2 span {
		font-size: 30rem;
		letter-spacing: .1em;
		white-space: nowrap;

		&::before,
		&::after {
			content: '/';
			font-weight: 400;
			padding-left: 5rem;
			display: inline-block;
		}
		&::before {
			scale: -1 1;
		}
	}
	.about_in {
		width: 356rem;
		background: #fffaf2;
		margin: 32rem auto 0;
		padding: 40rem 27rem 26rem;
		position: relative;
	}
	.about_list {
		display: grid;
		gap: 20rem;

		& li {
			font-size: 20rem;
			letter-spacing: .1em;
			line-height: 1.75em;
			text-align: left;
			padding-left: 28rem;
			position: relative;

			&::before,
			&::after {
				content: '';
				aspect-ratio: 1 / 1;
				position: absolute;
			}
			&::before {
				width: 22rem;
				border: 2rem var(--pink1) solid;
				top: 8rem;
				left: 0;
			}
			&::after {
				width: 28rem;
				background: url(/_asset_lp/2025autumn/check_icon.png) no-repeat center / 100% auto;
				top: 0;
				left: -4rem;
			}
			& .underline {
				border-bottom: 2rem var(--pink1) solid;
			}
			& strong {
				font-size: 140%;
				letter-spacing: 0;
			}
			&:nth-child(1) .fig {
				font-size: 160%;
				vertical-align: -3rem;
				margin-right: 3rem;
			}
			&:nth-child(n+2) .fig {
				vertical-align: -1.5rem;
				margin-right: 2rem;
			}
		}
	}

	/* 医療脱毛はどこで受けても～ */
	.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, #9fd8df 0, #fffaf2 100%);
	}
	.solicit_in_1 .inner {
		padding-bottom: 50rem;
	}
	#solicit .luciashica_box img {
		width: 202rem;
		display: inline-block;
	}
	#solicit .luciashica_box p {
		width: 356rem;
		height: 166rem;
		background: var(--white);
		color: #73c5cf;
		margin: -7rem auto 0;
		padding-top: 14rem;
	}
	.solicit_in_2 {
		background: #fef3dd;
		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(--white);
		font-size: 24rem;
		letter-spacing: .22em;
		line-height: 2;
		padding-block: 44rem 50rem;

		& strong {
			font-size: 150%;
			line-height: 1.1;
		}
	}
	.ranking_1 {
		overflow: hidden;
	}
	.rank_num {
		color: var(--white);
		position: relative;

		&::before,
		&::after {
			content: '';
			width: 37rem;
			height: 60rem;
			background: url(images/reason_kakko.png) no-repeat center / 100% auto;
			position: absolute;
			top: 45rem;
		}
		&::before {
			right: calc(50% + 57rem);
		}
		&::after {
			left: calc(50% + 57rem);
			scale: -1 1;
		}
		& .crown {
			position: relative;

			& img {
				width: 50rem;
				display: inline-block;
			}
		}
		& small {
			font-size: 16rem;
			letter-spacing: .24em;
			margin-left: .02em;
			padding-top: 5rem;
			display: inline-block;
		}
		& strong {
			font-size: 42rem;
			letter-spacing: .14em;
			margin-top: -8rem;
			margin-left: 3rem;
			display: inline-block;
		}
	}
	.rank_copy {
		margin-top: 25rem;
	}
	.bg_white {
		background: var(--white);
		color: var(--base-orange);
		letter-spacing: .2em;
		display: inline-block;

		.reason_in & {
			padding-left: 8rem;
			padding-right: calc(8rem - .2em);
		}
		.reason_in strong& {
			height: 34rem;
			font-size: 26rem;
			line-height: 32rem;
		}
		.reason_in small& {
			height: 28rem;
			font-size: 18rem;
			line-height: 26rem;
		}
		.ranking_1 small& {
			margin-top: 6rem;
		}
		#care small&,
		#commute small& {
			margin-top: 6rem;
		}
	}
	.rank_ttl {
		color: var(--white);
		font-size: 22rem;
		letter-spacing: .12em;
		line-height: 1.63;

		& .num {
			font-size: 120%;
			line-height: 1;
			vertical-align: -2rem;
			padding-right: 3rem;
		}
		& strong {
			font-size: 150%;
			line-height: 1.5;
		}
		#care &,
		#commute & {
			margin-top: 20rem;
		}
	}
	.rank_1_cont {
		width: 400rem;
		margin-inline: auto;
		position: relative;

		&.kiki {
			margin-top: 90rem;
		}
		&.nurse {
			margin-top: 74rem;
			padding-bottom: 60rem;
		}
		& .num {
			width: 165rem;
			height: 134rem;
			background: var(--base-brown);
			color: var(--white);
			font-size: 26rem;
			border-radius: 50% 50% 0 0;
			padding-top: 3rem;
			position: absolute;
			top: -37rem;
			left: 50%;
			translate: -50% 0;
			z-index: -1;
		}
	}
	.rank_in {
		position: relative;
		z-index: 1;
	}
	.rank_in .headline {
		height: 70rem;
		background: #fffaf2;
		color: var(--base-orange);
		font-size: 30rem;
		letter-spacing: .1em;
		line-height: 70rem;
		border-radius: 20rem 20rem 0 0;
	}
	.rank_in .inner {
		background: #fef3dd;
		border-radius: 0 0 20rem 20rem;
		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_list {
		margin-top: 22rem;
		margin-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_img {
		position: relative;
		z-index: 2;
	}
	.gentle_img > small {
		font-size: 10rem;
		letter-spacing: .1em;
		text-align: right;
		margin-top: 1em;
		margin-right: 10rem;
		display: block;
	}
	.gentle_img img {
		width: 244rem;
		margin-top: 16rem;
		margin-inline: auto;
	}
	.feature_ttl {
		height: 235rem;
		margin-top: -68rem;
		padding: 80rem 21rem 30rem;
		position: relative;

		&::before,
		&::after {
			content: '';
			clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30rem), 50% 100%, 0 calc(100% - 30rem));
			position: absolute;
		}
		&::before {
			width: 100%;
			height: 100%;
			background: var(--base-orange);
			inset: 0;
		}
		&::after {
			width: calc(100% - 4rem);
			height: calc(100% - 4rem);
			background: #fef3dd;
			top: 2rem;
			left: 2rem;
		}
	}
	.feature_ttl_in {
		position: relative;
		z-index: 3;
	}
	.feature_ttl h3 {
		color: var(--base-orange);
		font-size: 24rem;
		letter-spacing: .12em;
		white-space: nowrap;
		border-bottom: 2rem var(--base-orange) solid;
		padding-bottom: 10rem;
	}
	.feature_ttl p {
		font-size: 18rem;
		font-weight: 500;
		letter-spacing: .12em;
		line-height: 1.5em;
		margin-top: 14rem;
	}
	.feature_list {
		margin: 20rem auto 50rem;

		& li {
			position: relative;

			&:nth-child(n+2) {
				margin-top: 20rem;
			}
		}
	}
	.feature_list .list_num {
		width: 80rem;
		height: 80rem;
		background: var(--base-orange) url(images/reason_point.png) no-repeat top 8rem center / 56rem auto;
		border-radius: 50%;
		position: absolute;
		top: -3rem;
		left: 0;

		& b {
			color: var(--white);
			font-size: 40rem;
			line-height: 98rem;
		}
	}
	.feature_list .list_txt {
		width: 323rem;
		border: 2rem var(--base-orange) solid;
		margin-left: 32rem;
		padding: 12rem 12rem 20rem 57rem;

		& p {
			font-size: 18rem;
			font-weight: 700;
			letter-spacing: .24em;
			line-height: 1.45;
			text-align: left;
		}
	}
	.feature_txt {
		padding-block: 34rem 36rem;
		position: relative;

		& img {
			width: 197rem;
			position: absolute;
			top: -35rem;
			right: -54rem;
		}
		& p {
			color: var(--white);
			font-size: 24rem;
			letter-spacing: .24em;
			line-height: 1.54;
			position: relative;

			& strong {
				font-size: 150%;
				line-height: 1.3;
			}
		}
	}
	.reason_img {
		width: 356rem;
		filter: drop-shadow(4rem 4rem 11rem rgba(89, 89, 89, .25));
		display: inline-block;

		.rank_1_cont & {
			margin-top: 30rem;
		}
		#care &,
		#commute & {
			margin-top: 30rem;
		}
	}
	.rank_in_txt {
		font-size: 16rem;
		font-weight: 500;
		letter-spacing: .24em;
		line-height: 1.69;
		text-align: left;
		margin-top: 13rem;
	}
	#care {
		margin-top: 30rem;
	}
	#care,
	#commute {
		padding-block: 60rem;
	}
	.care_dl {
		width: 356rem;
		margin: 40rem auto 0;
	}
	.care_dl dt {
		width: 328rem;
		height: 60rem;
		background: #fef3dd;
		color: var(--base-orange);
		font-size: 22rem;
		letter-spacing: .12em;
		line-height: 60rem;
		border-radius: 0 18rem 18rem 0;
		margin-inline: auto 0;
		position: relative;

		&:nth-of-type(n+2) {
			margin-top: 50rem;
		}
		&::before,
		&::after {
			content: '';
			width: 14rem;
			height: 2rem;
			background: var(--base-orange);
			position: absolute;
			top: 30rem;
			right: 14rem;
		}
		&::before {
			rotate: -90deg;
		}
		&.open::before {
			background: transparent;
			rotate: 0deg;
		}

		&:nth-of-type(1) .icon,
		&:nth-of-type(4) .icon {
			padding-right: 5rem;

			& img {
				width: 54rem;
			}
		}
		&:nth-of-type(3) .icon {
			padding-right: 3rem;

			& img {
				width: 49rem;
			}
		}
		&:nth-of-type(2) .icon img {
			width: 49rem;
		}
		&:nth-of-type(5) .icon img {
			width: 53rem;
		}
	}
	.care_dl .icon {
		width: 80rem;
		height: 80rem;
		background: var(--base-brown);
		border-radius: 50%;
		display: grid;
		place-content: center;
		position: absolute;
		top: -10rem;
		left: -28rem;
	}
	.care_dl dd {
		width: 328rem;
		background: #fef3dd;
		font-size: 14rem;
		letter-spacing: .24em;
		line-height: 1.86;
		text-align: left;
		border-radius: 0 0 18rem 18rem;
		margin: -30rem 0 0 auto;
		padding: 54rem 20rem 24rem;
		display: none;
	}
	.care_message {
		height: 86rem;
		background: #fef3dd;
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: .1em;
		line-height: 1.6;
		text-align: left;
		margin-top: 88rem;
		padding: 15rem 0 15rem 173rem;

		& img {
			width: 165rem;
			position: absolute;
			top: -21rem;
			left: -16rem;
		}
		& p {
			position: relative;

			&::before,
			&::after {
				content: '';
				width: 12rem;
				height: 9rem;
				background: url(images/qt.png) no-repeat center / 100% auto;
				position: absolute;
			}
			&::before {
				top: -1rem;
				left: -17rem;
			}
			&::after {
				bottom: 17rem;
				right: 45rem;
				scale: -1 -1;
			}
		}
	}
	.commute_txt {
		width: 356rem;
		background: #fdf5ea;
		margin: 20rem auto 0;
		padding-block: 22rem 25rem;

		& h3 {
			width: 300rem;
			color: var(--base-orange);
			font-size: 24rem;
			letter-spacing: .16em;
			line-height: 1.45;
			border-bottom: 2rem var(--base-orange) solid;
			margin-inline: auto;
			padding-bottom: 6rem;
		}
		& 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;

		& li {
			height: 110rem;
			background: var(--white);
			font-size: 18rem;
			font-weight: 700;
			letter-spacing: .16em;
			line-height: 1.6;
			padding-left: .16em;
			display: grid;
			align-items: center;
		}
	}
	#reason .cv {
		margin-top: 30rem;
	}

	/* プラン */
	#plan .bg_round_in {
		padding-top: 55rem;
	}
	#plan .ttl {
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: .24em;

		& span {
			height: 28rem;
			line-height: 26rem;
			padding-inline: 11rem 3rem;
		}
		& h2 {
			height: 40rem;
			background: var(--white);
			color: var(--base-orange);
			font-size: 130%;
			line-height: 38rem;
			margin-top: 3rem;
		}
	}
	.plans {
		width: 400rem;
		margin: 38rem auto 0;

		#plan .bg_round:not(:has(.notice)) & {
			padding-bottom: 40rem;
		}
	}
	.plans li {
		filter: drop-shadow(6rem 6rem 6rem rgba(89, 89, 89, .2));
		margin-top: 30rem;
	}
	#plan .list_luciashica {
		width: 96rem;
		position: absolute;
		top: -53rem;
		right: 10rem;
	}
	#plan .notice {
		width: 396rem;
		color: var(--white);
		font-weight: 500;
		margin: 30rem auto 0;
		padding-bottom: 40rem;
	}
	.plan_other {
		padding-top: 90rem;
	}
	.discount_plan {
		width: 400rem;
		background: url(images/discount_plan_line.png) repeat-x left bottom / auto 6rem;
		margin-inline: auto;
		padding-bottom: 30rem;
	}
	.discount_plan h2 {
		font-size: 24rem;
		letter-spacing: .2em;
		line-height: 1.3;
	}
	.discount_plan_list li {
		filter: drop-shadow(6rem 6rem 8rem rgba(89, 89, 89, .3));
		margin-inline: auto;
	}
	.pair {
		margin-top: 37rem;
		margin-bottom: 30rem;
	}
	.discount_plan_ttl {
		height: 70rem;
		background: #f6cf8d;
		line-height: 70rem;
		border-radius: 20rem 20rem 0 0;

		& span {
			color: var(--white);
			font-size: 34rem;
			letter-spacing: .08em;
			display: inline-block;
			position: relative;

			&::before,
			&::after {
				margin-block: auto;
				position: absolute;
				inset: 0 auto;
			}
			.pair &::before,
			.pair &::after {
				content: '';
				width: 45rem;
				height: 39rem;
				background: url(images/discount_pair_icon.png) no-repeat center / 100% auto;
			}
			.pair &::before {
				left: -70rem;
			}
			.pair &::after {
				right: -70rem;
				scale: -1 1;
			}
			.change &::before,
			.change &::after {
				content: '';
				width: 34rem;
				height: 45rem;
				background: url(images/discount_change_icon.png) no-repeat center / 100% auto;
			}
			.change &::before {
				left: -48rem;
			}
			.change &::after {
				right: -48rem;
			}
		}
	}
	.discount_plan_price {
		height: 92rem;
		background: var(--white);
		border-radius: 0 0 20rem 20rem;

		& b {
			font-size: 60rem;
		}
		& span {
			font-size: 40rem;
			font-weight: 700;
			margin-left: 8rem;
		}
	}
	.discount_plan {
		& > p {
			font-size: 16rem;
			font-weight: 700;
			letter-spacing: .1em;
			line-height: 1.5;
			text-align: left;
		}
		& .txt_orange {
			margin-top: 24rem;

			& + p {
				margin-top: 12rem;
			}
		}
	}
	.plan_notice {
		font-size: 12rem;
		letter-spacing: .1em;
		line-height: 2;
		text-align: left;

		.discount_plan & {
			margin-top: 8rem;
		}
		.usually_plan & {
			width: 356rem;
			margin: 13rem auto 0;
		}
	}
	#plan .cv {
		margin-top: 54rem;
	}

	/* 安心サポート */
	#support {
		margin-top: 60rem;
		padding: 50rem 24rem 48rem;

		& h2 {
			font-size: 24rem;
			letter-spacing: .24em;

			& .large {
				font-size: 130%;
				line-height: 1.4;
				display: block;
			}
			& strong {
				font-size: calc(24rem * 1.7);
				line-height: 1;
				display: inline-block;
			}
		}
	}
	.support_list {
		width: 358rem;
		margin: 28rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13rem;

		& li {
			height: 110rem;
			background: #f3d5d2;
			font-size: 20rem;
			font-weight: 700;
			letter-spacing: .18em;
			line-height: 1.2;
			filter: drop-shadow(4rem 4rem 6rem rgba(89, 89, 89, .2));
			padding-inline: 3rem;
			display: grid;
			place-content: center;
		}
		& small {
			font-size: 70%;
		}
		& img {
			width: 71rem;
		}
	}
	#support .notes {
		counter-reset: note;
		margin-top: 13rem;

		& li {
			font-size: 12rem;
			letter-spacing: .1em;
			line-height: 2;
			text-align: left;

			&::before {
				counter-increment: note;
				content: '※'counter(note);
				padding-right: 1em;
			}
		}
	}
	#support + img {
		width: 100%;
		height: auto;
	}

	/* ルシアのこだわり */
	#commitment {
		padding-block: 35rem 60rem;

		& h2 {
			color: var(--pink2);
			font-size: 30rem;
			letter-spacing: .22em;
		}
		& .bg_white {
			background: var(--pink2);
			height: 40rem;
			color: var(--white);
			font-size: 20rem;
			letter-spacing: .22em;
			line-height: 40rem;
			margin-top: 30rem;
			display: block;
		}
	}
	.commitment_in {
		width: 400rem;
		filter: drop-shadow(6rem 6rem 6rem rgba(89, 89, 89, .2));
		margin: 35rem auto 0;
	}
	.commitment_in_ttl {
		height: 60rem;
		background: var(--base-brown);
		border-radius: 20rem 20rem 0 0;

		& span {
			color: var(--white);
			font-size: 22rem;
			letter-spacing: .22em;
			line-height: 60rem;

			&::before {
				content: '“';
			}
			&::after {
				content: '”';
			}
		}
		& b {
			color: #ecb761;
			font-size: 120%;
		}
	}
	.commitment_in .inner {
		background: #fefbf7;
		border-radius: 0 0 20rem 20rem;
		padding: 0 20rem 20rem;

		#treatment & {
			padding-top: 22rem;
		}
		#efficacious & {
			padding-top: 30rem;
		}
	}
	.commitment_in .copy {
		font-size: 18rem;
		font-weight: 500;
		letter-spacing: .22em;
		white-space: nowrap;

		&::before {
			content: '＼';
		}
		&::after {
			content: '／';
		}
	}
	.slide_wrap {
		border: 4rem #ecb761 solid;
		padding-block: 20rem 10rem;
		position: relative;

		#treatment & {
			margin-top: 20rem;
		}
	}
	.swiper h4 {
		background: var(--base-brown);
		color: var(--white);
		font-size: 22rem;
		font-weight: 500;
		letter-spacing: .22em;
		margin-inline: auto;

		#treatment & {
			width: 260rem;
			height: 46rem;
			line-height: 42rem;
			border-radius: 23rem;
		}
		#efficacious & {
			width: 300rem;
			height: 80rem;
			line-height: 1.55;
			border-radius: 15rem;
			padding-top: 4rem;
		}
		& + img {
			margin-top: 25rem;
		}
	}
	.swiper img {
		width: 274rem;
		margin-inline: auto;
	}
	#treatment .slide1 img {
		width: 200rem;
	}
	#treatment .swiper p {
		font-size: 14rem;
		font-weight: 500;
		letter-spacing: .22em;
		line-height: 1.42;
		margin-top: 10rem;
	}
	#efficacious .swiper p {
		font-size: 16rem;
		font-weight: 500;
		letter-spacing: .24em;
		line-height: 1.68;
		text-align: left;
		margin-top: 22rem;
		padding-inline: 15rem;

		& small {
			font-size: 12rem;
			display: block;
		}
	}
	.dm {
		width: 32rem;
		height: 32rem;
		background: #ecb761;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		cursor: pointer;
		z-index: 3;

		&::after {
			content: '';
			width: 12rem;
			height: 15rem;
			background: var(--white);
			clip-path: polygon(0 0, 100% 50%, 0 100%);
			margin-block: auto;
			position: absolute;
			inset: 0 12rem;
		}
		&.button-prev {
			left: -15rem;
			scale: -1 1;
		}
		&.button-next {
			right: -15rem;
		}
	}
	#commitment .cv {
		margin-top: 36rem;
	}

	/* ルシアの配慮 */
	#concern {
		background: #f3d5d2;
		padding-block: 52rem 60rem;
		position: relative;
		overflow: hidden;

		& h2 {
			color: #976d49;
			font-size: 24rem;
			letter-spacing: .16em;
		}
		& img {
			width: 155rem;
			top: 38rem;
			position: absolute;
			right: -10rem;
		}
	}
	.concern_list {
		width: 356rem;
		margin: 33rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13rem;

		& li {
			height: 110rem;
			background: rgba(255, 255, 255, .9);
			filter: drop-shadow(4rem 4rem 6rem rgba(89, 89, 89, .2));
			display: grid;
			place-content: center;
		}
		& p {
			color: #976d49;
			font-size: 14rem;
			letter-spacing: .08em;
			line-height: 1.7;
		}
		& b {
			font-size: 120%;
			line-height: 1.1;
		}
		& .underline {
			border-bottom: 2rem var(--base-orange) dotted;
		}
	}

	/* 施術までの流れ */
	#flow {
		padding-bottom: 30rem;
	}
	#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;

		& .ttl {
			height: 110rem;
			padding: 24rem 0 24rem 22rem;
			display: flex;
		}
		& .step {
			width: 72rem;
			font-size: 52rem;
			padding-top: 28rem;

			&::before {
				font-size: 20rem;
			}
		}
		& h3 {
			width: 236rem;
			color: #ecb761;
			font-size: 24rem;
			display: grid;
			place-content: center;
		}
		& h3,
		& p {
			font-weight: 700;
			letter-spacing: .24em;
			line-height: 1.4;
		}
		& .txt {
			padding: 20rem 24rem 10rem;
		}
		& p {
			font-size: 16rem;
			text-align: left;
		}
	}
	.step {
		color: #f7dbb0;
		font-family: "Figtree", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		letter-spacing: .04em;
		line-height: .8;
		display: inline-block;
		position: relative;

		&::before {
			content: 'STEP';
			font-family: 'Noto Sans JP', sans-serif;
			font-weight: 700;
			letter-spacing: .08em;
			margin-inline: auto;
			position: absolute;
			inset: 0;
		}
	}

	/* よくある質問 */
	#qanda {
		padding-bottom: 2rem;

		& h2 {
			position: relative;
			cursor: pointer;
		}
		& dl {
			width: 356rem;
			letter-spacing: .24em;
			text-align: left;
			margin-inline: auto;
			padding-block: 40rem 60rem;
			display: none;
		}
		& dt:nth-of-type(n+2) {
			margin-top: 20rem;
		}
		& .q {
			background: var(--base-brown);
			box-shadow: 6rem 6rem 8rem rgba(138, 116, 99, .27);
			padding: 14rem 50rem 15rem 1em;
			position: relative;
			cursor: pointer;

			& span {
				color: var(--white);
				font-size: 16rem;
				font-weight: 700;
				line-height: 1.4;
			}
		}
		& .acc::before,
		& .acc::after {
			content: '';
			width: 16rem;
			height: 2rem;
			background: var(--white);
			margin-block: auto;
			position: absolute;
			inset: 0 24rem 0 auto;
		}
		& .acc::before {
			rotate: -90deg;
		}
		& .acc.open::before {
			background: transparent;
			rotate: 0deg;
		}
		& .a {
			font-size: 14rem;
			line-height: 1.6;
			padding: 20rem 1em;
			display: none;
		}
	}

	/* まずは無料カウンセリング */
	#btm_cv {
		background: linear-gradient(180deg, var(--base-orange) 0%, #f8e0b6 70%, #fef3dd 100%);
		padding-block: 33rem 60rem;

		& h2 {
			color: var(--white);
			font-size: 30rem;
			letter-spacing: .2em;
			line-height: 1.4;
		}
	}
	.cv_cont {
		width: 400rem;
		filter: drop-shadow(6rem 6rem 6rem rgba(89, 89, 89, .25));
		margin: 24rem auto 0;

		& img {
			border-radius: 20rem 20rem 0 0;
		}
	}
	.cv_in {
		background: #fffaf2;
		border-radius: 0 0 20rem 20rem;

		& .txt_orange {
			font-size: 22rem;
			letter-spacing: .1em;
			padding-top: 20rem;
		}
		& .txt_blue {
			color: var(--pink1);
			font-size: 20rem;
			letter-spacing: .1em;
			line-height: 1.3;
			margin-top: 30rem;
			padding-bottom: 27rem;
		}
	}
	.cv_list {
		margin: 12rem auto 0;
		padding-left: 27rem;

		& li {
			font-size: 16rem;
			letter-spacing: .24em;
			line-height: 1.4375;
			text-align: left;

			&::before {
				content: '・';
			}
		}
	}
	#btm_cv .cv {
		margin-top: 22rem;
	}

	/* クリニックの様子 */
	#photo .loop {
		display: flex;
		overflow: hidden;
	}
	.photo_loop {
		margin-top: 15rem;
		display: flex;

		& 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;
		}
	}

	/* クリニック一覧 */
	#clinic .link_btn {
		height: 60rem;
		background: var(--pink2);

		& span {
			font-size: 18rem;
		}
	}
	.area_name {
		font-size: 30rem;
		font-weight: 700;
		letter-spacing: .28em;
		margin-top: 40rem;
	}
	.clinic_list {
		width: 380rem;
		margin: 30rem auto 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15rem 10rem;

		& li {
			height: 68rem;
		}
		& .md-btn {
			height: 100%;
			background: var(--base-orange);
			color: var(--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;
		max-height: 900px;
		margin: auto;
		display: none;
		position: fixed;
		inset: 0;
		overflow: hidden;
		z-index: 10000;
	}
	.md-contents h3 {
		height: 74rem;
		background: var(--base-brown);
		color: var(--white);
		font-size: 24rem;
		letter-spacing: .2em;
		line-height: 74rem;
		border-radius: 20rem 20rem 0 0;
	}
	.modal-scroll {
		height: calc(100% - (74rem * 2));
		background: var(--white);
		padding: 30rem 23rem;
		overflow-y: scroll;
		overscroll-behavior: none;
	}
	.close .md-close {
		height: 74rem;
		background: var(--base-brown);
		color: var(--white);
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: .2em;
		line-height: 74rem;
		border-radius: 0 0 20rem 20rem;
		display: block;
		cursor: pointer;

		&::before {
			content: '×';
		}
	}
	.clinic_photo img {
		box-shadow: 6rem 6rem 11rem rgba(89, 89, 89, .15);
	}
	.modal-scroll table {
		margin-top: 30rem;

		& th {
			width: 25rem;
			padding-top: 6rem;

			& span {
				position: relative;
			}
			& span::before {
				content: '\e0c8';
				color: var(--base-orange);
				font-size: 27rem;
				font-family: 'Material Icons';
				position: absolute;
				top: -5rem;
				left: -3rem;
			}
			& img {
				width: 21rem;
			}
		}
		& td {
			font-size: 14rem;
			letter-spacing: .1em;
			line-height: 1.78;

			& address {
				padding-bottom: 1em;
			}
		}
	}
	.modal-scroll > a {
		&:nth-of-type(1) {
			margin-top: 30rem;
		}
		&:nth-of-type(n+2) {
			margin-top: 10rem;
		}
	}
	.doctor {
		margin-top: 30rem;

		& .doctor_photo {
			position: relative;

			& img {
				box-shadow: 6rem 6rem 11rem rgba(89, 89, 89, .15);
			}
			& .name {
				font-weight: 700;
				letter-spacing: .14em;
				text-align: center;
				padding: 20rem 10rem 0 0;
				position: absolute;
				top: 0;
				right: 0;
			}
			& .name_ja {
				font-size: 24rem;
				line-height: 1.4;
				display: block;
			}
			& .name_en {
				font-size: 12rem;
			}
		}
		& dl {
			letter-spacing: .12em;
			line-height: 1.6;
			text-align: left;
			margin-top: 30rem;

			& dt {
				font-size: 18rem;
				margin-bottom: .5em;
			}
			& dd {
				font-size: 14rem;
			}
			& dd:nth-of-type(n+2) {
				margin-top: .5em;
			}
		}
	}

	/* クリニック紹介_単院 */
	.fc_cont {
		width: 356rem;
		margin: 50rem auto 0;
	}
	.fc_name {
		height: 50rem;
		background: #f7dbb0;
		font-size: 16rem;
		letter-spacing: .24em;
		line-height: 50rem;
		border-radius: 10rem;
		box-shadow: 1rem 4rem 6rem rgba(89, 89, 89, .26);
	}
	.fc_gmap {
		aspect-ratio: 16 / 9;
		filter: drop-shadow(6rem 6rem 11rem rgba(89, 89, 89, .15));
		margin-top: 20rem;

		& iframe {
			width: 100%;
			height: 100%;
		}
	}
	.fc_info {
		width: 100%;
		margin-top: 30rem;

		& th {
			width: 30rem;

			& img {
				width: 21rem;
			}
			tr:nth-child(1) & {
				padding-top: 6rem;
			}
			tr:nth-child(2) & {
				padding-top: 20rem;
			}
		}
		& td {
			font-size: 14rem;
			letter-spacing: .1em;
			line-height: 1.78;

			tr:nth-child(2) & {
				padding-top: 14rem;
			}
		}
	}
	.fc_a {
		margin-top: 30rem;

		& li:nth-child(n+2) {
			margin-top: 10rem;
		}
	}
	/* フォーム */
	#form {
		padding-top: 80rem;

		& .bg_round h2 {
			height: 120rem;
			line-height: 110rem;
		}
	}
	.form_notice {
		padding: 70rem 24rem 0;

		& p:nth-of-type(1) {
			font-size: 20rem;
			letter-spacing: .1em;
		}
		& p:nth-of-type(2) {
			font-size: 12rem;
			letter-spacing: .1em;
			text-align: left;
			margin-top: 1em;
			padding-inline: 25rem;
		}
		& .cv {
			margin-top: 10rem;

			& a {
				width: 340rem;
				height: 45rem;
				font-size: 18rem;
			}
		}
	}

	/* LPフォーム */
	.lpform #form_cont:not(.form_fc) {
		padding-bottom: 80rem;
	}
	.form_fc {
		margin-top: 30rem;
	}
	#form .area_name {
		text-align: center;
	}
	.form_list {
		margin-top: 30rem;
		padding-inline: 25rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10rem;

		& a {
			height: 54rem;
			background: var(--white);
			color: #9b826e;
			font-size: 16rem;
			border: 2rem var(--base-brown) solid;
			border-radius: 10rem;
			padding-left: 20rem;
			display: flex;
			align-items: center;
			position: relative;

			&::after {
				content: '';
				width: 9rem;
				height: 9rem;
				border-top: 2rem var(--base-brown) solid;
				border-right: 2rem var(--base-brown) solid;
				margin-block: auto;
				position: absolute;
				inset: 0 auto;
				right: 20rem;
				rotate: 45deg;
			}
		}
	}
	.ac_wrap {
		font-size: 0;
	}

	/* フッター */
	#footer {
		background: #eeb860;
		margin-inline: auto;

		& .pagetop {
			color: var(--white);
			font-size: 20rem;
			letter-spacing: .06em;
			line-height: 80rem;
			display: block;
			position: relative;

			&::before,
			&::after {
				content: '';
			}
			&::before {
				background: url(/_asset_lp/images/footnav_top.png) no-repeat left top / 100% auto;
				width: 30rem;
				height: 35rem;
				vertical-align: middle;
				margin-right: 8rem;
				display: inline-block;
			}
			&::after {
				width: 356rem;
				height: 1px;
				background: var(--white);
				margin-inline: auto;
				position: absolute;
				inset: auto 0 0;
			}
		}
		& .logo {
			width: 57rem;
			height: 73rem;
			margin-top: 15rem;
			margin-inline: auto;
		}
		& .copy {
			color: var(--white);
			font-size: 12rem;
			letter-spacing: .1em;
			text-align: center;
			margin-top: 35rem;
			margin-inline: auto;
			padding-bottom: 18rem;
		}
	}

	/* hover設定 */
	@media (any-hover: hover) {
		.head_clinic .btn:hover .japan::before {
			background: url(images/jp_icon_hover.svg) no-repeat center / 100% auto;
		}
		#header .btn:hover {
			background: var(--white);
		}
		.head_clinic .btn:hover {
			color: var(--base-brown) !important;
			border-color: var(--base-brown) !important;
		}
		.head_cv .btn:hover {
			color: var(--base-orange) !important;
			border-color: var(--base-orange) !important;
		}
		.clinic_list .md-btn:hover {
			box-shadow: 2rem 2rem 4rem rgba(89, 89, 89, .17);
			translate: 2rem 2rem;
		}
		.complete .input a:hover {
			border-color: transparent;
		}
		.form_list a:hover {
			background: var(--base-orange);
			color: var(--white);
			border-color: var(--base-orange);

			&::after {
				border-color: var(--white);
			}
		}
	}