	@charset "utf-8";
	
	/* 下部リンク */
	article:has(.cont_about) .page_link,
	article:has(.cont_reason) .page_link {
		margin-top: 56rem;
	}
	article:has(.flow_page) .page_link {
		margin-top: 80rem;
	}

	/* 医療脱毛が初めての方へ */
	.cont_about {
		padding-inline: 32rem;
		padding-bottom: 96rem;
		position: relative;
	}
	.cont_about::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;
	}
	.cont_about .cont_ttl .copy {
		font-size: 20rem;
		font-weight: 700;
		line-height: 2;
		margin-top: 24rem;
		padding-bottom: 32rem;
		position: relative;
	}
	.cont_about .cont_ttl .copy::after {
		content: '';
		width: 16rem;
		height: 1px;
		background: var(--gray);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 0;
	}
	.cont_about p:not([class]) {
		font-size: 14rem;
		line-height: 2;
	}
	.about_txt {
		margin-top: 32rem;
	}
	.about_wrap {
		margin-top: 80rem;
		display: grid;
		gap: 56rem;
	}
	.about_in .ttl {
		font-size: 20rem;
		font-weight: 700;
		margin-top: 16rem;
	}
	.about_in .ttl + * {
		margin-top: 16rem;
	}
	/* 15の安心サポート */
	.cont_sup15 {
		border-radius: 50rem 0 0 50rem;
		padding: 64rem 32rem 80rem;
		position: relative;
	}
	.cont_sup15::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;
	}
	.sup_wrap {
		box-shadow: 0 0 2rem var(--gray);
		margin-top: 56rem;
		padding-inline: 24rem;
	}
	.sup_wrap li {
		padding-block: 32rem 48rem;
		position: relative;
	}
	.sup_num {
		color: var(--beige);
		font-size: 120rem;
		position: absolute;
		bottom: -36rem;
		right: -6rem;
	}
	.sup_wrap li > *:not(.sup_num) {
		position: relative;
		z-index: 1;
	}
	.sup_wrap li + li {
		border-top: 1px var(--gray) dotted;
	}
	.sup_wrap .ttl {
		display: flex;
		align-items: center;
	}
	.sup_wrap .ttl span {
		width: 42rem;
		background-repeat: no-repeat;
		background-position: center center;
		aspect-ratio: 1 / 1;
		flex-shrink: 0;
	}
	.sup_wrap li:nth-child(-n+8) .ttl span {
		background-size: 36rem auto;
	}
	.sup_wrap li:nth-child(n+9):nth-child(-n+11) .ttl span,
	.sup_wrap li:nth-child(15) .ttl span {
		background-size: 24rem auto;
	}
	.sup_wrap li:nth-child(12) .ttl span {
		background-size: 31rem auto;
	}
	.sup_wrap li:nth-child(13) .ttl span {
		background-size: 10rem auto;
	}
	.sup_wrap li:nth-child(14) .ttl span {
		background-size: 22rem auto;
	}
	.sup_wrap .ttl p {
		font-size: 18rem;
		font-weight: 700;
		line-height: 1.5;
		margin-left: 8rem;
	}
	.sup_wrap .ttl + * {
		margin-top: 16rem;
	}
	.sup_wrap .notice {
		font-size: 12rem;
		line-height: 2;
	}
	.sup_wrap .notice + .txt {
		margin-top: 8rem;
	}
	.sup_wrap .txt p {
		font-size: 12rem;
		line-height: 2;
	}

	/* 選ばれる理由 */
	.reason_wrap {
		margin-top: 56rem;
		gap: 60rem;
	}
	.reason_in .txt .ttl_s {
		font-size: 16rem;
		font-weight: 700;
	}
	.reason_in .txt p + p {
		margin-top: 16rem;
	}

	/* 医療脱毛を受けるまでの流れ */
	.flow_anchor {
		padding-inline: 32rem;
	}
	.flow_anchor_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16rem;
	}
	.flow_anchor_list a {
		height: 60rem;
		border-radius: 5rem;
		box-shadow: 0 0 2rem var(--gray);
		padding-inline: 8rem 5rem;
		display: flex;
		align-items: center;
	}
	.flow_anchor_list span {
		font-size: 12rem;
		line-height: 1.5;
		padding-right: 18rem;
		flex-grow: 1;
	}
	.flow_page {
		padding: 72rem 32rem 56rem;
		position: relative;
	}
	#counseling {
		margin-top: 136rem;
	}
	#treatment {
		margin-top: 112rem;
	}
	.flow_page > figure {
		margin-inline: auto;
		position: absolute;
	}
	.counseling_img {
		width: 128rem;
		inset: -64rem 0 auto;
	}
	.treatment_img {
		width: 102rem;
		inset: -53rem 0 auto;
	}
	.counseling_time {
		margin-top: 32rem;
	}
	.time_ttl {
		font-size: 16rem;
		font-weight: 700;
	}
	.time_count {
		margin-block: -16rem -21rem;
	}
	.time_count span {
		font-size: 24rem;
		font-weight: 700;
		vertical-align: 4rem;
	}
	.time_count em {
		font-size: 92rem;
		margin-inline: 6rem 3rem;
	}
	.counseling_time .notice {
		padding-inline: 24rem;
	}
	.flow_cont_wrap {
		display: grid;
		gap: 120rem;
	}
	#counseling .flow_cont_wrap {
		margin-top: 72rem;
	}
	#treatment .flow_cont_wrap {
		margin-top: 45rem;
	}
	.flow_cont_in {
		position: relative;
	}
	.flow_cont_in + .flow_cont_in::before {
		content: '';
		width: 17rem;
		height: 14rem;
		background: var(--gray);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: -70rem 0 auto;
	}
	.flow_txt_wrap {
		padding: 32rem 24rem 40rem;
	}
	.flow_cont_ttl {
		font-size: 20rem;
	}
	.flow_cont_txt {
		margin-top: 16rem;
	}
	.flow_cont_txt p {
		font-size: 14rem;
		line-height: 2;
	}
	.flow_page .notice li {
		line-height: 2;
	}
	.flow_page .notice li::before {
		margin-right: 8rem;
	}

	/* 追加コンテンツ */
	.flow_border {
		border-top: 1px var(--gray) dotted;
		margin-block: 24rem;
	}
	.flow_icon_ttl {
		background-repeat: no-repeat;
		background-position: left center;
		background-size: auto;
		padding-left: 24rem;
	}
	.flow_cont_in .circle_list,
	.flow_cont_in .add_txt p,
	.flow_cont_in .border_box .txt {
		font-size: 12rem;
		line-height: 2;
	}
	.flow_cont_in .circle_list li::before {
		top: 9rem;
	}
	.flow_cont_in .border_box {
		border: 2rem var(--orange2) solid;
		margin-top: 32rem;
		padding: 6rem 22rem 22rem;
	}
	.flow_cont_in .border_box p.fc_ora {
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 27rem auto;
		font-size: 18rem;
		font-weight: 700;
		border-bottom: 1px var(--gray) dotted;
		padding: 16rem 0 16rem 32rem;
	}
	.flow_cont_in .border_box .txt {
		margin-top: 16rem;
	}
	.flow_cont_in .circle_list.bg_beige {
		margin-top: 24rem;
		padding: 24rem 16rem;
	}
	.flow_cont_in .link {
		text-align: right;
	}
	.flow_cont_in .link span {
		font-size: 12rem;
		padding-right: 16rem;
	}
	.flow_cont_in * + .flow_icon_ttl {
		margin-top: 20rem;
	}
	.flow_cont_in .flow_icon_ttl + * {
		margin-top: 4rem;
	}