	@charset "utf-8";

	/* ピックアップメニュー */
	.pickup {
		margin-top: 32rem;
		padding-inline: 32rem;
	}
	.pick_notice {
		margin: 24rem 32rem 0;
		padding: 16rem;
	}

	/* 料金タブ */
	input[name="plan_tab"] {
		display: none;
	}
	.plan_tab_wrap {
		display: flex;
	}
	.fullbody .plan_tab_wrap {
		padding-inline: 32rem;
	}
	.plan_tab {
		width: 50%;
		font-size: 0;
		text-align: center;
		cursor: pointer;
	}
	.plan_tab.fullbody {
		margin-top: 64rem;
		padding-bottom: 16rem;
	}
	.plan_tab span {
		font-weight: 700;
		line-height: 1.5;
	}
	.plan_tab.fullbody span {
		font-size: 14rem;
	}
	input:not(:checked) + .plan_tab {
		color: var(--gray);
		border-bottom: 2rem var(--gray) solid;
	}
	input:checked + .plan_tab.fullbody {
		border-bottom: 2rem var(--orange2) solid;
	}
	.tab_wrap {
		margin-top: 40rem;
		padding-inline: 32rem;
	}
	.fullbody .tab_wrap {
		display: none;
	}
	.plan_tab_wrap:has(#tab1:checked) ~ #tab1-wrap,
	.plan_tab_wrap:has(#tab2:checked) ~ #tab2-wrap {
		display: block;
	}
	.tab_menu .swiper-wrapper > div:nth-of-type(n+2) {
		padding-left: 4rem;
	}
	.tab_menu .plan_name {
		height: 48rem;
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		cursor: pointer;
	}
	.tab_menu .plan_name:has(br) {
		padding-top: 8rem;
		display: block;
	}
	.tab_menu .plan_name:not(:has(br)) {
		display: grid;
		place-content: center;
	}
	.tab_menu .swiper-slide-thumb-active .plan_name {
		background: var(--orange2);
		color: var(--white);
	}
	.tab_menu .swiper-slide:not(.swiper-slide-thumb-active) .plan_name {
		background: var(--gray);
	}
	.tab_wrap:not(.beard) .tab_cont {
		border: 2rem var(--orange2) solid;
	}
	.price_wrap {
		padding: 0 24rem 16rem;
	}
	.part_img:not(:has(figcaption)) {
		min-height: 300rem;
		display: grid;
		place-content: center;
	}
	.part_img:has(figcaption) {
		padding-top: 32rem;
	}
	.part_img img {
		max-height: 265rem;
	}
	.part_img figcaption {
		text-align: left;
		margin: 32rem -24rem 0;
		padding: 12rem 22rem;
	}
	.part_img figcaption > .block {
		font-size: 14rem;
		font-weight: 700;
	}
	.part_img figcaption:not(:has(.needle_cap)) .block {
		margin-bottom: -6rem;
	}
	.part_img figcaption small {
		font-size: 12rem;
	}
	.part_img .needle_cap {
		border-top: 1px var(--gray) dotted;
		margin-top: 10rem;
		padding-top: 10rem;
		display: flex;
		flex-wrap: wrap;
		gap: 8rem 0;
	}
	.part_img .needle_cap dt {
		width: 80rem;
		font-size: 12rem;
		flex-shrink: 0;
	}
	.part_img .needle_cap dd {
		width: 210rem;
		font-size: 10rem;
		margin-left: -2rem;
	}
	.part_img .needle_cap em {
		font-weight: 700;
		padding-top: 2rem;
	}
	.part_img .needle_cap span {
		margin-top: 4rem;
		padding-left: 16rem;
		position: relative;
	}
	.part_img .needle_cap span::before {
		content: '';
		height: 12rem;
		background: url(/images/hairremoval/link_arrow.svg) no-repeat center center / 100% auto;
		aspect-ratio: 1 / 1;
		position: absolute;
		top: 3rem;
		left: 0;
	}
	.price_tab {
		width: 100%;
	}
	.price_tab tr {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.price_tab th,
	.price_tab td {
		border: none;
	}
	.price_tab th {
		font-size: 14rem;
		text-align: left;
	}
	.price_tab td {
		font-size: 16rem;
		text-align: right;
	}
	.price_tab td small {
		font-size: 12rem;
	}

	.price_wrap:not(:has(figcaption)) .price_tab tr:nth-child(n+2) {
		border-top: 1px var(--gray) dotted;
	}
	.price_wrap:not(:has(figcaption)) .price_tab th,
	.price_wrap:not(:has(figcaption)) .price_tab td {
		padding-block: 16rem;
	}

	.price_wrap:has(figcaption) .price_tab {
		margin-top: 12rem;
	}
	.price_wrap:has(figcaption) .price_tab tr:nth-child(n+2) {
		border-top: 1px var(--gray) solid;
	}
	.price_wrap:has(figcaption) .price_tab th,
	.price_wrap:has(figcaption) .price_tab td {
		padding-block: 10rem;
	}

	/* ヒゲ料金表 */
	.tab_ttl {
		height: 48rem;
		line-height: 48rem;
	}
	.plan_tab.beard {
		padding-bottom: 8rem;
	}
	.plan_tab.beard span {
		font-size: 12rem;
	}
	input:checked + .plan_tab.beard {
		border-bottom: 2rem var(--green) solid;
	}
	input:checked + .plan_tab.beard span {
		color: var(--green);
	}
	.beard .tab_cont {
		border: 2rem var(--green) solid;
	}
	.beard .price_tab_wrap {
		display: none;
	}
	.plan_tab_wrap:has(#tab1:checked) ~ #price-tab1,
	.plan_tab_wrap:has(#tab2:checked) ~ #price-tab2 {
		display: block;
	}

	/* 割引 */
	.price_more {
		margin-top: 97rem;
	}

	/* 基本情報 */
	.bg_wrap.bg_beige {
		margin-top: 156rem;
		padding: 44rem 32rem 56rem;
		position: relative;
	}
	.bg_wrap.bg_beige .luciashica1 {
		top: -64rem;
	}
	.about_wrap {
		filter: drop-shadow(0 0 3rem var(--gray));
		margin-top: 40rem;
	}
	.about_wrap > div:nth-of-type(n+2) {
		padding-top: 40rem;
	}
	.about_wrap > div:last-of-type {
		padding-bottom: 48rem;
	}
	.about_ttl {
		height: 50rem;
		font-size: 20rem;
		display: grid;
		place-content: center;
	}
	.about_in .ttl {
		height: 30rem;
		font-size: 16rem;
		display: grid;
		place-content: center;
	}
	.about_in:not(.about) .ttl {
		margin-inline: 24rem;
	}
	.about_in .in {
		padding-inline: 24rem;
	}
	.about_in .about_img {
		text-align: center;
		padding-top: 36rem;
	}
	.about_in .about_img img {
		max-height: 200rem;
	}
	.about_in p {
		font-size: 14rem;
	}
	.about_in .notice {
		display: inline-block;
	}
	.about_wrap:not(:has(.about_ttl)) .about .in {
		padding-top: 36rem;
	}
	.about_in.about p {
		line-height: 2;
		margin-top: 16rem;
	}
	.time_count {
		margin-block: -15rem -35rem;
	}
	.time_count .fig {
		font-size: 92rem;
	}
	.time_count span {
		font-size: 24rem;
		font-weight: 700;
		margin-left: 4rem;
	}
	.about_in.pain .in {
		margin-top: 32rem;
	}
	.about_in.pain .in_ttl {
		font-weight: 700;
	}
	.pain_level {
		width: 208rem;
		height: 31rem;
		background: var(--gray);
		margin-inline: auto;
		position: relative;
		mask: url(/images/hairremoval/icon_pain_level.svg) no-repeat center center / 100% auto;
	}
	.pain_level::after {
		content: '';
		position: absolute;
		inset: 0 auto;
		left: 0;
		transform-origin: left top;
	}
	.cont_about:not(.beard) .pain_level::after {
		background: var(--orange2);
	}
	.cont_about.beard .pain_level::after {
		background: var(--green);
	}
	.level2::after {
		width: 80rem;
	}
	.level3::after {
		width: 122rem;
	}
	.level4::after {
		width: 165rem;
	}
	.level4_5::after {
		width: 190rem;
	}
	.about_in.pain .in_ttl + .pain_level {
		margin-top: 8rem;
	}
	.about_in.pain .pain_level + .in_ttl,
	.about_in.pain .notice + .in_ttl {
		margin-top: 26rem;
	}
	.about_in.pain .notice {
		margin-top: 16rem;
	}
	.about_in.downtime .in,
	.about_in.risk .in {
		margin-top: 24rem;
	}
	.about_in.downtime .notice {
		margin-top: 4rem;
	}
	.about_atten {
		margin-top: 32rem;
	}
	.about_atten .atten_ttl {
		background: url(/images/hairremoval/icon_caution_r.svg) no-repeat left center / 28rem auto;
		font-size: 20rem;
		line-height: 1.5;
		border-bottom: 1px var(--gray) solid;
		padding: 10rem 0 8rem 40rem;
	}
	.about_atten .atten_ttl + * {
		margin-top: 24rem;
	}
	.about_atten .atten_copy {
		font-size: 20rem;
		font-weight: 700;
		line-height: 2;
	}
	.about_atten .atten_copy + * {
		margin-top: 16rem;
	}
	.about_atten .atten_list li {
		font-size: 14rem;
		line-height: 2;
	}
	.about_atten .atten_list li::before {
		top: 10rem;
	}

	/* デザインうなじのパターン */
	.pattern_ttl {
		margin-top: 64rem;
	}
	.pattern_copy {
		font-size: 14rem;
		line-height: 2;
		margin-top: 24rem;
	}

	/* 気になるポイント */
	.cont_point {
		margin-top: 80rem;
		padding-inline: 32rem;
	}
	.cont_point .en_ttl + .point_wrap {
		margin-top: 56rem;
	}
	.point_wrap + .point_wrap {
		margin-top: 80rem;
	}
	.point_ttl {
		font-size: 20rem;
		line-height: 1.5;
		border-bottom: 1px var(--gray) solid;
		padding-bottom: 24rem;
		display: flex;
		align-items: center;
	}
	.point_ttl .num {
		font-size: 32rem;
		padding-right: 20rem;
	}
	.point_ttl .bg_beige {
		height: 50rem;
		aspect-ratio: 1;
		margin-right: 16rem;
		padding: 12rem 8rem;
	}
	.point_in {
		filter: drop-shadow(0 0 3rem var(--gray));
		margin-top: 40rem;
	}
	.point_in .content {
		padding-inline: 24rem;
	}
	.point1 .content {
		padding-block: 32rem 56rem;
	}
	.point2 .content {
		padding-block: 40rem;
	}
	.in_ttl {
		font-size: 18rem;
	}
	.point2 .in_ttl {
		font-weight: 700;
		text-align: center;
		margin-top: 40rem;
	}
	.point_in .txt {
		font-size: 12rem;
	}
	.point1 .txt {
		margin-top: 16rem;
	}
	.point2 .in_ttl + .txt {
		margin-top: 40rem;
	}
	.point2 figure + .txt {
		margin-top: 24rem;
	}
	.point_in .bg_beige {
		font-size: 14rem;
	}
	.point_list li {
		min-height: 96rem;
		padding-inline: 22rem;
		display: flex;
		align-items: center;
	}
	.point_list figure {
		flex-shrink: 0;
	}
	.point1 .point_list figure {
		width: 40rem;
	}
	.point1 .point_list p {
		margin-left: 12rem;
	}
	.point2 .point_list figure {
		width: 48rem;
	}
	.point2 .point_list img {
		max-height: 48rem;
	}
	.point2 .point_list p {
		margin-left: 16rem;
	}
	.point2 p.bg_beige {
		padding: 32rem 24rem;
	}
	.point_in .txt + .bg_beige {
		margin-top: 40rem;
	}
	.point_in .bg_beige + .bg_beige {
		margin-top: 24rem;
	}
	.point_in .ng_ttl {
		font-size: 18rem;
		font-weight: 700;
		border-top: 1px var(--gray) dotted;
		margin-top: 32rem;
		padding-top: 32rem;
	}
	.point1 .point_list {
		margin-top: 24rem;
	}
	.point2 .point_list {
		margin-top: 40rem;
	}
	.point_in .in_ttl_or {
		height: 50rem;
		font-size: 20rem;
		display: grid;
		place-content: center;
	}
	.point_in .point_img {
		position: relative;
	}
	.point_in .point_img figcaption {
		font-size: 48rem;
		text-stroke: 1px var(--orange2);
		-webkit-text-stroke: 1px var(--orange2);
		position: absolute;
		top: -48rem;
		left: 3rem;
	}
	.point2 .bg_wht figure:nth-of-type(n+2) {
		margin-top: 144rem;
	}
	.point2 .bg_wht figure:nth-of-type(n+2)::before {
		content: '';
		width: 17rem;
		height: 14rem;
		background: var(--gray);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: -105rem 0 auto;
	}
	.point_caution {
		border: 2rem var(--orange2) solid;
		margin-top: 64rem;
		padding: 32rem 24rem 40rem;
	}
	.caution_ttl {
		font-size: 20rem;
		line-height: 1.5;
		text-align: center;
	}
	.caution_ttl span {
		padding-left: 38rem;
	}
	.point_caution .circle_list {
		border-top: 1px var(--gray) dotted;
		margin-top: 24rem;
		padding-top: 24rem;
		display: grid;
		gap: 16rem;
	}
	.point_caution .circle_list li {
		font-size: 14rem;
	}
	.point_caution .circle_list li::before {
		top: 8rem;
	}

	/* メリット・デメリット */
	.cont_merit {
		margin-top: 92rem;
		padding-block: 208rem 78rem;
		position: relative;
	}
	.cont_merit::before {
		top: 118rem;
	}
	.merit_wrap {
		padding-inline: 32rem;
	}
	.merit_in {
		filter: drop-shadow(0 0 3rem var(--gray));
		margin-top: 40rem;
	}
	.merit_in .ttl {
		height: 50rem;
		font-size: 20rem;
		display: grid;
		place-content: center;
	}
	.merit .ttl {
		background: var(--red);
	}
	.demerit .ttl {
		background: var(--blue3);
	}
	.merit_in .check_list {
		padding: 8rem 24rem 10rem;
	}
	.merit_in .check_list li {
		padding-left: 36rem;
	}
	.cont_merit .notice {
		margin-top: 24rem;
	}
	.cont_merit .notice li::before {
		padding-right: 4rem;
	}
	.icon_page_merit {
		width: 120rem;
		margin-inline: auto;
		position: absolute;
		inset: 0 0 auto;
	}

	/* こだわり */
	.commit_cont {
		margin-top: 96rem;
		padding-bottom: 80rem;
		position: relative;
	}
	.commit_cont::after {
		content: '';
		width: 50rem;
		background: url(/images/hairremoval/radius_bg2.svg) no-repeat center center / 100% auto;
		aspect-ratio: 1;
		position: absolute;
		right: 0;
		bottom: 0;
		rotate: 90deg;
	}
	.commit_cont_ttl .fig {
		font-size: 16rem;
	}
	.commit_cont_ttl h2 {
		line-height: 1;
		margin-top: 4rem;
	}
	.commit_cont_ttl .slash {
		font-size: 18rem;
		padding-inline: 8rem;
	}
	.commit_cont_ttl .slash::before,
	.commit_cont_ttl .slash::after {
		width: 1px;
		height: 16rem;
		background: var(--black);
	}
	.commit_cont_ttl .block {
		font-size: 32rem;
		margin-top: -8rem;
	}
	.commit_cont_ttl em {
		font-size: 48rem;
	}
	.commit_wrap {
		margin-top: 48rem;
		gap: 72rem;
	}
	.commit_ttl {
		margin-top: -24rem;
	}
	.commit_ttl .in {
		line-height: 1.6;
	}
	.commit_ttl .in:not(:has(small)) {
		margin-top: 8rem;
	}
	.commit_ttl .in:has(small) {
		margin-top: -4rem;
	}
	.commit_ttl .in small {
		font-size: 18rem;
	}
	.commit_txt {
		margin: 32rem 32rem 0;
	}

	/* 脱毛パターン */
	.design_list {
		display: grid;
		gap: 32rem;
	}
	.design_list:not(.collarneck) {
		margin-top: 80rem;
		padding-inline: 32rem;
	}
	.design_list.collarneck {
		margin-top: 24rem;
	}
	.design_list li {
		background-repeat: no-repeat;
		background-position: left 22rem center;
		border: 2rem var(--orange2) solid;
		padding-block: 20rem;
		padding-right: 22rem;
		position: relative;
	}
	.design_list.vio li {
		background-size: 73rem auto;
		padding-left: 104rem;
	}
	.design_list.collarneck li {
		background-size: 95rem;
		padding-left: 137rem;
	}
	.design_list .ttl,
	.beard_list .ttl {
		font-size: 16rem;
		font-weight: 700;
		line-height: 1.5;
	}
	.design_list .txt {
		font-size: 12rem;
		line-height: 2;
		margin-top: 2rem;
	}
	.design_list .popular {
		width: 50rem;
		font-size: 12rem;
		line-height: 1.25;
		aspect-ratio: 1;
		display: grid;
		place-content: center;
		position: absolute;
		top: -25rem;
		left: -16rem;
	}

	/* 脱毛パターン_メンズ */
	.beard_ttl {
		background: url(/images/hairremoval/icon_beard.svg) no-repeat left 2rem center / 30rem auto;
		font-size: 18rem;
		font-weight: 700;
		line-height: 1.5;
		border-bottom: 1px var(--gray) solid;
		margin: 32rem 32rem 0;
		padding: 16rem 0 16rem 38rem;
	}
	.beard_list {
		padding-inline: 32rem;
	}
	.beard_list li {
		height: 130rem;
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 80rem auto;
		font-size: 16rem;
		font-weight: 700;
		padding-left: 90rem;
		display: flex;
		align-items: center;
	}
	.beard_list li:nth-child(n+2) {
		border-top: 1px var(--gray) dotted;
	}
	.beard_notice {
		font-size: 12rem;
		margin-top: 10rem;
		padding-left: 32rem;
	}

	/* 安心サポート */
	.cont_merit + .support_cont {
		margin-top: 80rem;
	}
	.support_cont {
		border-radius: 50rem 0 0 50rem;
		margin-block: -1rem;
		padding-block: 64rem 80rem;
	}
	.support_cont::after {
		content: '';
		width: 50rem;
		background: url(/images/hairremoval/radius_bg2.svg) no-repeat center center / 100% auto;
		aspect-ratio: 1;
		position: absolute;
		right: 0;
		bottom: -50rem;
	}
	.support_list li {
		filter: drop-shadow(0 0 3rem var(--gray));
	}

	/* よくある質問 */
	.qa_cont {
		margin-top: 56rem;
	}
	.qa_cont .btn {
		margin-top: 26rem;
	}

	/* 他の脱毛プラン */
	.cont_plan {
		margin-top: 180rem;
		padding: 56rem 32rem;
		position: relative;
	}
	.cont_plan .cont_ttl .ttl {
		line-height: 1.6;
	}
	.plan_list {
		margin-top: 40rem;
		display: grid;
		gap: 32rem;
	}
	.plan_list a {
		height: 96rem;
		padding-inline: 80rem 24rem;
		display: flex;
		align-items: center;
	}
	.plan_list .fullbody a {
		background-position: left 32rem center;
	}
	.plan_list .vio a {
		background-position: left 24rem center;
	}
	.plan_list .facial a {
		background-position: left 24rem center;
	}
	.plan_list .collarneck a {
		background-position: left 24rem center;
	}
	.plan_list .needle a {
		background-position: left 25rem center;
	}
	.plan_list .beard a {
		background-position: left 22rem center;
	}
	.cont_plan .luciashica2 {
		top: -88rem;
	}

	/* 違いコンテンツ */
	.bg_wrap.bg_blue2 {
		margin-top: 160rem;
		padding: 72rem 32rem 56rem;
		position: relative;
	}
	.bg_wrap.bg_blue2 > .loop_wrap {
		font-size: 56rem;
		position: absolute;
		inset: -67rem 0 auto;
	}
	.cont_diff::before {
		content: '';
		width: 72rem;
		background: var(--white) url(/images/hairremoval/icon_hatena_blue.svg) no-repeat center center / 17rem auto;
		aspect-ratio: 1;
		border: 5rem var(--blue2) solid;
		border-radius: 100vmax;
		margin-inline: auto;
		position: absolute;
		inset: -36rem 0 auto;
	}
	.cont_diff h2 {
		font-size: 24rem;
		text-align: center;
	}
	.diff_qa {
		position: relative;
	}
	.diff_qa.question {
		border: 2rem var(--blue3) solid;
		margin-top: 66rem;
		padding-block: 24rem;
	}
	.diff_qa.answer {
		border: 2rem var(--orange2) solid;
	}
	.cont_diff:not(.needle_cont) .answer {
		margin-top: 85rem;
	}
	.needle_cont .answer {
		margin-top: 35rem;
	}
	.diff_qa.question::before,
	.diff_qa.question::after {
		content: '“';
		color: var(--gray);
		font-size: 62rem;
		line-height: 2;
		position: absolute;
	}
	.diff_qa.question::before {
		top: -54rem;
		left: 22rem;
	}
	.diff_qa.question::after {
		bottom: -52rem;
		right: 15rem;
		scale: -1 -1;
	}
	.diff_qa .tag {
		width: 127rem;
		height: 30rem;
		font-size: 18rem;
		margin-inline: auto;
		display: grid;
		place-content: center;
		position: absolute;
		inset: -30rem 0 auto;
	}
	.diff_qa.question .txt {
		font-size: 20rem;
		font-weight: 700;
		line-height: 2;
		text-align: center;
	}
	.diff_qa .explain {
		padding-top: 56rem;
		padding-inline: 22rem;
	}
	.diff_qa .explain + .explain {
		margin-top: 56rem;
		position: relative;
	}
	.diff_qa .explain + .explain::before {
		content: '';
		width: 288rem;
		height: 1px;
		background: var(--gray);
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	.exp_ttl {
		font-weight: 700;
		text-align: center;
	}
	.exp_ttl .slash {
		font-size: 18rem;
		padding-inline: 8rem;
	}
	.exp_ttl .slash::before,
	.exp_ttl .slash::after {
		width: 1px;
		height: 18rem;
		background: var(--black);
		translate: 0 1rem;
	}
	.exp_ttl .block {
		font-size: 40rem;
		line-height: 1.5;
		margin-top: 8rem;
	}
	.exp_ttl .block small {
		font-size: 32rem;
	}
	.exp_ttl .dot::before {
		width: 3rem;
		background: var(--orange2);
		top: 5rem;
	}
	.exp_ttl_s {
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 28rem auto;
		font-size: 20rem;
		font-weight: 700;
		line-height: 2;
		border-bottom: 1px var(--gray) solid;
		padding: 16rem 0 16rem 36rem;
	}
	.exp_ttl_s.fc_red {
		background-image: url(/images/hairremoval/icon_diff1.svg);
		margin-top: 24rem;
	}
	.exp_ttl_s.fc_blue3 {
		background-image: url(/images/hairremoval/icon_diff2.svg);
		margin-top: 32rem;
	}
	.needle_exp_ttl .slash {
		font-size: 14rem;
		padding-inline: 8rem;
	}
	.needle_exp_ttl .slash::before,
	.needle_exp_ttl .slash::after {
		width: 1px;
		height: 18rem;
		background: var(--black);
	}
	.needle_exp_ttl em {
		font-size: 24rem;
		line-height: 1.5;
		margin-top: 8rem;
		display: inline-block;
	}
	.cont_diff:not(.needle_cont) .exp_img {
		margin-top: 24rem;
	}
	.needle_cont .exp_img {
		margin-top: 32rem;
	}
	.exp_copy {
		font-size: 16rem;
		font-weight: 700;
		line-height: 2;
		margin-top: 32rem;
	}
	.exp_txt {
		line-height: 2;
	}
	.cont_diff:not(.needle_cont) .exp_txt {
		font-size: 14rem;
		margin-top: 32rem;
	}
	.needle_cont .exp_txt {
		font-size: 12rem;
		margin-top: 24rem;
	}
	.cont_diff .esthetic {
		border-radius: 0 0 18rem 18rem;
		margin-top: 32rem;
		padding-top: 17rem;
		position: relative;
		overflow: hidden;
	}
	.cont_diff .esthe_in {
		padding: 24rem 22rem 40rem;
	}
	.cont_diff .esthe_in::before {
		content: '';
		width: 15rem;
		height: 17rem;
		background: var(--beige);
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
		margin-inline: auto;
		position: absolute;
		inset: 0 0 auto;
	}
	.esthe_ttl {
		font-size: 18rem;
		font-weight: 700;
		text-align: center;
	}
	.cont_diff:not(.needle_cont) .esthe_ttl span {
		background: url(/images/hairremoval/icon_lamp.svg) no-repeat left center / 17rem auto;
		padding-left: 25rem;
	}
	.needle_cont .esthe_ttl span {
		background: url(/images/hairremoval/icon_hand.svg) no-repeat left 3rem center / 18rem auto;
		padding-left: 32rem;
	}
	.esthe_txt {
		font-size: 12rem;
		border-top: 1px var(--gray) dotted;
		margin-top: 24rem;
		padding-top: 24rem;
	}
	.esthe_cycle {
		margin-top: 40rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16rem;
	}
	.esthe_cycle li {
		height: 84rem;
		font-size: 12rem;
		border: 2rem var(--orange2) solid;
		padding-inline: 16rem 8rem;
		display: grid;
		place-content: center;
		position: relative;
	}
	.esthe_cycle li:nth-child(1) {
		order: 1;
	}
	.esthe_cycle li:nth-child(2) {
		order: 2;
	}
	.esthe_cycle li:nth-child(3) {
		order: 4;
	}
	.esthe_cycle li:nth-child(4) {
		order: 3;
	}
	.esthe_cycle li::after {
		content: '';
		height: 12rem;
		background: url(/images/hairremoval/icon_arrow_b.svg) no-repeat center center / 100% auto;
		aspect-ratio: 1;
		position: absolute;
	}
	.esthe_cycle li:nth-child(odd)::after {
		margin-block: auto;
		inset: 0 auto;
	}
	.esthe_cycle li:nth-child(even)::after {
		margin-inline: auto;
		inset: auto 0;
	}
	.esthe_cycle li:nth-child(1)::after {
		right: -16rem;
	}
	.esthe_cycle li:nth-child(2)::after {
		bottom: -16rem;
		rotate: 90deg;
	}
	.esthe_cycle li:nth-child(3)::after {
		left: -16rem;
		scale: -1 1;
	}
	.esthe_cycle li:nth-child(4)::after {
		top: -16rem;
		rotate: -90deg;
	}
	.diff_copy {
		position: relative;
	}
	.cont_diff:not(.needle_cont) .diff_copy {
		height: 163rem;
		background: url(/images/hairremoval/diff_luciashica.png) no-repeat center top / 100% auto;
		margin-top: 72rem;
	}
	.needle_cont .diff_copy {
		height: 186rem;
		background: url(/images/hairremoval/needle_luciashica.png) no-repeat center top / 100% auto;
		margin-top: 64rem;
	}
	.diff_copy p {
		font-weight: 700;
		text-align: center;
	}
	.cont_diff:not(.needle_cont) .diff_copy p {
		padding-top: 25rem;
	}
	.needle_cont .diff_copy p {
		padding-top: 18rem;
	}
	.diff_copy p > span:nth-of-type(1) {
		font-size: 16rem;
		position: relative;
	}
	.diff_copy p > span:nth-of-type(2) {
		font-size: 24rem;
	}
	.cont_diff:not(.needle_cont) .diff_copy p > span:nth-of-type(2) {
		margin-top: -8rem;
	}
	.needle_cont .diff_copy p > span:nth-of-type(2) {
		margin-top: -5rem;
		line-height: 1.5;
	}
	.diff_copy .slash {
		font-size: 10rem;
		padding-inline: 3rem;
		position: absolute;
		top: -10rem;
		left: 102rem;
		rotate: -5deg;
	}
	.diff_copy .slash::before,
	.diff_copy .slash::after {
		width: 1px;
		height: 10rem;
		background: var(--black);
	}
	.diff_copy p > span:nth-of-type(2) small {
		font-size: 18rem;
	}
	.diff_copy img {
		position: absolute;
	}
	.diff_copy .star1 {
		width: 17rem;
		top: -14rem;
		left: 9rem;
	}
	.diff_copy .star2 {
		width: 5rem;
		top: -1rem;
		right: 19rem;
	}
	.diff_copy .star3 {
		width: 8rem;
		left: 60rem;
		bottom: 30rem;
	}
	.diff_copy .star4 {
		width: 13rem;
		right: 60rem;
		bottom: 25rem;
	}
	.diff_copy .star1,
	.diff_copy .star4 {
		animation: shining1 2s linear infinite;
	}
	.diff_copy .star2,
	.diff_copy .star3 {
		animation: shining2 2s linear infinite;
	}
	.diff_copy + .cont_ttl {
		margin-top: 40rem;
	}
	.diff_table_ttl {
		margin-top: 45rem;
		padding-top: 40rem;
		position: relative;
	}
	.diff_table_ttl .ttl {
		font-size: 18rem;
		font-weight: 700;
		text-align: center;
	}
	.diff_table_ttl .slash {
		padding-inline: 9rem;
	}
	.diff_table_ttl .slash::before,
	.diff_table_ttl .slash::after {
		width: 1px;
		height: 18rem;
		background: var(--black);
		translate: 0 1rem;
	}
	.diff_table_ttl .block {
		margin-top: -6rem;
	}
	.diff_table_ttl em {
		font-size: 24rem;
	}
	.diff_table_ttl .icon_check {
		width: 62rem;
		position: absolute;
		top: 0;
		left: 23rem;
		rotate: -10deg;
	}
	.cont_diff .diff_table {
		margin-top: 28rem;
	}
	.needle_tab {
		border: 2rem var(--black) solid;
		margin-top: 66rem;
		display: block;
	}
	.needle_tab tr {
		display: flex;
		flex-wrap: wrap;
	}
	.needle_tab th,
	.needle_tab td {
		border: none;
		position: relative;
	}
	.needle_tab th {
		width: 100%;
		background: #f5f5f5;
		font-size: 12rem;
		padding-block: 5rem;
	}
	.needle_tab td {
		width: 50%;
		flex-shrink: 0;
	}
	.needle_tab td:nth-of-type(2) {
		border-left: 1px var(--gray) dashed;
	}
	.needle_tab thead td {
		font-size: 16rem;
		font-weight: 700;
		text-align: center;
		padding-block: 38rem 20rem;
	}
	.needle_tab thead td span {
		height: 53rem;
		background-repeat: no-repeat;
		background-position: center center;
		border: 2rem var(--black) solid;
		aspect-ratio: 1 / 1;
		margin-inline: auto;
		position: absolute;
		inset: -26rem 0 auto;
	}
	.needle_tab thead .fc_red span {
		background-image: url(/images/hairremoval/icon_needle_wht.svg);
		background-size: 19rem auto;
	}
	.needle_tab thead .fc_blue span {
		background-image: url(/images/hairremoval/icon_laser_wht.svg);
		background-size: 27rem auto;
	}
	.needle_tab tbody td {
		font-size: 12rem;
		line-height: 1.5;
		padding: 22rem 16rem 24rem;
	}
	.needle_tab figure {
		padding-inline: 4rem;
	}
	.needle_tab tbody td span {
		margin-top: 24rem;
	}
	.needle_tab .list li {
		display: flex;
	}
	.needle_tab .list li::before {
		content: '･';
	}

	/* ジェントルシリーズ */
	.cont_gentle {
		margin-top: 56rem;
		padding-bottom: 48rem;
		position: relative;
	}
	.cont_gentle::before {
		content: '';
		width: 21rem;
		height: 17rem;
		background: #efbb5f;
		clip-path: polygon(50% 0, 100% 100%, 0 100%);
		margin-inline: auto;
		position: absolute;
		inset: -17rem 0 auto;
	}
	.gentle_img {
		text-align: center;
		padding-block: 48rem 16rem;
		position: relative;
	}
	.gentle_img img {
		width: 98rem;
		position: relative;
		z-index: 1;
	}
	.cont_gentle .gentle_loop {
		position: absolute;
		inset: 32rem 0 auto;
	}
	.cont_gentle h2 {
		font-size: 24rem;
		font-weight: 700;
		text-align: center;
	}
	.cont_gentle h2 small {
		font-size: 18rem;
	}
	.cont_gentle p {
		line-height: 2;
		margin-inline: 24rem;
	}
	.cont_gentle .ttl {
		font-size: 16rem;
		font-weight: 700;
		border-top: 1px var(--white) solid;
		margin-top: 32rem;
		padding-top: 32rem;
	}
	.cont_gentle .txt {
		font-size: 12rem;
		margin-top: 12rem;
	}
	.gentle_link {
		margin-top: 32rem;
		padding-inline: 24rem;
	}
	.gentle_link .btn {
		width: auto;
		background-color: var(--black);
		color: var(--white);
	}

	/* 脱毛の流れ */
	.flow_cont {
		margin-top: 143rem;
	}

	/* 受けられるクリニック */
	.clinic_cont.bg_gr_ora {
		margin-top: 160rem;
	}
	.clinic_cont:not(.bg_gr_ora) {
		margin-top: 80rem;
	}
	.clinic_cont .clinic_simple_list {
		margin-top: 40rem;
	}

	/* 監修ドクター */
	.cont_page_doctor {
		margin-top: 80rem;
	}
	@media (max-width: 768px) {
		.cont_page_doctor {
			background: linear-gradient(0deg, var(--beige) 200rem, transparent 200rem);
		}
	}
	.cont_page_doctor h3.fc_ora {
		font-size: 20rem;
		text-align: center;
		padding-bottom: 24rem;
		position: relative;
	}
	.cont_page_doctor h3.fc_ora::after {
		content: '';
		width: 16rem;
		height: 1px;
		background: var(--gray);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 0;
	}
	.doctor_info {
		margin: 40rem 32rem 0;
		padding: 32rem 24rem;
	}
	.doc_photo {
		width: 153rem;
		margin-inline: auto;
	}
	.doc_name {
		font-size: 0;
		text-align: center;
		margin-top: 24rem;
	}
	.doc_name .bg_ora2 {
		width: 224rem;
		height: 28rem;
		font-size: 12rem;
		font-weight: 500;
		line-height: 28rem;
		display: inline-block;
	}
	.doc_name .position {
		font-size: 12rem;
		margin-top: 8rem;
		display: block;
	}
	.doc_name .name {
		font-size: 24rem;
		margin-top: -8rem;
		display: inline-block;
	}
	.doc_name .fig {
		color: var(--gray);
		font-size: 12rem;
		margin-top: -8rem;
		display: block;
	}
	.doctor_info .ttl {
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 18rem auto;
		font-size: 18rem;
		margin-top: 32rem;
		padding-left: 24rem;
	}
	.career_ttl {
		background-image: url(/images/hairremoval/icon_career.svg);
	}
	.confe_ttl {
		background-image: url(/images/hairremoval/icon_conference.svg);
	}
	.doctor_info .circle_list {
		margin-top: 8rem;
	}
	.career_ttl + .circle_list {
		border-bottom: 1px var(--gray) solid;
		padding-bottom: 32rem;
	}
	.doctor_info .circle_list li {
		font-size: 14rem;
		line-height: 2;
	}
	.doctor_info .circle_list li::before {
		top: 10rem;
	}
	.doctor_info .circle_list .blank {
		background-size: 24rem auto;
		padding-right: 24rem;
	}
	.confe_list,
	.guideline {
		margin-top: 56rem;
		padding-inline: 32rem;
	}
	.confe_list p,
	.guideline p {
		font-size: 14rem;
		line-height: 2;
		margin-top: 24rem;
	}
	.confe_list .circle_list {
		margin-top: 32rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8rem 16rem;
	}
	.confe_list .circle_list li {
		font-size: 12rem;
		line-height: 1.5;
	}
	.confe_list .circle_list li::before {
		top: 5rem;
	}
	.guideline {
		padding-top: 56rem;
	}
	@media (min-width: 769px) {
		.guideline {
			padding-bottom: 80rem;
		}
	}
	@media (max-width: 768px) {
		.guideline {
			padding-bottom: 40rem;
		}
	}
	.gl_list {
		margin-top: 40rem;
	}
	.confe_list .ta_right {
		margin-top: 24rem;
	}
	.guideline .ta_right {
		margin-top: 16rem;
	}
	.cont_page_doctor a span {
		font-size: 12rem;
		font-weight: 500;
		padding-right: 20rem;
	}