@charset "UTF-8";
	:root {
		--red: #ea5525;
		--green: #002d04;
		--green2: #e6f1d9;
		--green3: #85b840;
		--yellow: #fcec20;
		--white: #fff;
		--gray: #ccc;
		--beige: #faf5e9;
	}
	@media (min-width: 769px) {
		html {
			font-size: calc(100vw / ( 1280 / 1 ));
		}
		body {
			position: relative;
		}
		body::before {
			content: '';
			background: var(--green) url(images/pc_bg.png) repeat center center / 232px auto;
			background-attachment: fixed;
			position: fixed;
			inset: 0;
			z-index: -1;
		}
		main {
			width: 400rem;
		}
		.pc_floating_link {
			width: 250rem;
			position: fixed;
			right: 30rem;
			bottom: 30rem;
		}
		.fl_copy {
			font-size: 16rem;
			font-family: 'RocknRoll One', sans-serif;
			font-weight: 100;
			letter-spacing: .1em;
			display: inline-block;
			position: relative;
			translate: -40rem 0;
			z-index: 1;
		}
		.fl_copy::after {
			content: 'スマホで簡単!';
			-webkit-text-stroke: 4rem var(--white);
			text-stroke: 4rem var(--white);
			margin: auto;
			position: absolute;
			inset: 0;
			z-index: -1;
		}
		.fl_txt {
			height: 60rem;
			color: var(--white);
			font-size: 16rem;
			font-style: italic;
			letter-spacing: .1rem;
			line-height: 20rem;
			margin-top: 2rem;
			padding-right: 84rem;
			display: grid;
			place-content: center;
		}
		.fl_txt span {
			position: relative;
			z-index: 1;
		}
		.fl_txt span::after {
			-webkit-text-stroke: 2rem var(--green);
			text-stroke: 2rem var(--green);
			margin: auto;
			position: absolute;
			inset: 0;
			z-index: -1;
		}
		.fl_txt span:nth-of-type(1)::after {
			content: '無料カウンセリング';
		}
		.fl_txt span:nth-of-type(2)::after {
			content: '予約はこちら!!';
		}
		.pc_floating_link img {
			width: 77rem;
			position: absolute;
			bottom: 0;
			right: 8rem;
		}
		.setplan .notice {
			margin-top: 20rem;
			padding-inline: 30rem;
		}
	}
	@media (max-width: 768px) {
		html {
			font-size: calc(100vw / ( 400 / 1 ));
		}
		.sp_floating_link {
			z-index: 10;
		}
		.sp_floating_link.invisible {
			animation: fade .2s ease-in-out forwards;
			pointer-events: none;
		}
		@keyframes fade {
			from { opacity: 1; }
			to { opacity: 0; }
		}
		.setplan .notice {
			margin-top: 6rem;
			padding-inline: 54rem;
		}
		.setplan .notice li {
			font-weight: 500;
		}
	}

	/* common */
	body {
		width: 100%;
		color: var(--green);
		font-size: 16rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		letter-spacing: .05em;
		text-align: center;
		overflow-x: hidden;
	}
	img {
		height: auto;
		vertical-align: bottom;
	}
	.ani_over,
	.ani_over::before,
	.ani_over::after {
		transition: all .3s ease-out;
	}
	main {
		background: var(--white);
		margin-inline: auto;
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
	i {
		font-style: normal;
	}
	strong,
	b {
		font-weight: 900;
	}
	.fig {
		font-family: "Figtree", sans-serif;
		font-optical-sizing: auto;
		letter-spacing: 0;
		line-height: 1;
	}
	.bar {
		font-family: "Barlow", sans-serif;
		line-height: 1;
	}
	.bg_check {
		background-color: var(--white);
		background-image: linear-gradient(90deg, #f2f2f2 1.2rem, transparent 1.2rem), linear-gradient(#f2f2f2 1.2rem, transparent 1.2rem);
		background-position: 9rem 9rem;
		background-size: 18rem 18rem;
	}
	.bg_w {
		background: var(--white);
	}
	.bg_y {
		background: var(--yellow);
	}
	.bg_r {
		background: var(--red);
	}
	.bg_g {
		background: var(--green3);
	}
	.fc_y {
		color: var(--yellow);
	}
	.fc_r {
		color: var(--red);
	}
	.tb_rl {
		writing-mode: vertical-rl;
	}
	.round {
		border-radius: 100vmax;
	}
	.dot {
		position: relative;
	}
	.dot::before {
		content: '';
		aspect-ratio: 1;
		border-radius: 100vmax;
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	.slash {
		display: inline-block;
		position: relative;
	}
	.slash::before,
	.slash::after {
		content: '';
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	.slash::before {
		left: 0;
		rotate: -30deg;
	}
	.slash::after {
		right: 0;
		rotate: 30deg;
	}
	.strike {
		position: relative;
	}
	.strike::after {
		content: '';
		height: 3rem;
		background: var(--red);
		border-radius: 100vmax;
		margin: auto;
		position: absolute;
		inset: 0;
		rotate: -10deg;
	}
	.notice li {
		font-size: 12rem;
		font-weight: 700;
		letter-spacing: .6rem;
		line-height: 21rem;
		text-align: left;
		display: flex;
	}
	.notice li::before {
		content: '※';
	}
	.balloon::after {
		content: '';
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0;
	}
	.ttl_g {
		color: var(--white);
		font-size: 28rem;
		text-align: left;
		padding-left: 73rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.ttl_g:not(:has(small)) {
		height: 86rem;
	}
	.ttl_g:has(small) {
		height: 110rem;
	}
	.ttl_g small {
		font-size: 18rem;
	}
	.border_box {
		width: 340rem;
		border: 4rem var(--green) solid;
		margin-inline: auto;
	}
	.icon_maru {
		text-align: left;
		padding-left: 56rem;
		position: relative;
	}
	.icon_maru::before {
		content: '';
		height: 44rem;
		background-color: var(--green3);
		background-repeat: no-repeat;
		background-position: center center;
		aspect-ratio: 1;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		left: 0;
	}
	.plan_ttl {
		background: var(--green3) url(images/plan_ttl_icon.svg) no-repeat left 24rem center / 40rem auto;
	}
	.pay_ttl {
		background: var(--green3) url(images/pay_ttl_icon.svg) no-repeat left 26rem center / 35rem auto;
	}
	.flow_ttl {
		background: var(--green3) url(images/flow_ttl_icon.svg) no-repeat left 26rem center / 31rem auto;
	}
	.qa_ttl {
		background: var(--green3) url(images/qa_ttl_icon.svg) no-repeat left 28rem center / 34rem auto;
	}
	.clinic_ttl {
		background: var(--green3) url(images/clinic_ttl_icon.svg) no-repeat left 29rem top 30rem / 26rem auto;
	}

	/* header */
	header {
		height: 70rem;
		padding-inline: 14rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_logo {
		width: 112rem;
	}
	.header_cv {
		width: 220rem;
	}
	.header_cv a {
		height: 42rem;
		color: var(--white);
		padding-left: 28rem;
		display: grid;
		place-content: center;
		position: relative;
	}
	.header_cv a::before {
		content: '';
		width: 28rem;
		background: var(--white) url(images/cv_icon.svg) no-repeat center center / 20rem auto;
		aspect-ratio: 1;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
		left: 7rem;
	}
	.header_cv small {
		font-size: 10rem;
		font-weight: 700;
		letter-spacing: .6rem;
	}
	.header_cv small::before,
	.header_cv small::after {
		width: 1.2rem;
		height: 10rem;
		background: var(--white);
	}
	.header_cv small::before {
		left: auto !important;
		right: calc(50% + 6.5em);
	}
	.header_cv small::after {
		left: calc(50% + 6em);
	}
	.header_cv .dot::before {
		width: 2rem;
		background: var(--white);
	}
	.header_cv span {
		font-size: 14rem;
		letter-spacing: .8rem;
		margin-top: -3rem;
	}

	/* cvボタン */
	.cv .cv_btn {
		width: 340rem;
		height: 74rem;
		text-align: left;
		border: 2rem var(--green) solid;
		box-shadow: 0 5rem #000;
		margin-inline: auto;
		padding: 18rem 0 0 52rem;
		display: block;
		position: relative;
	}
	.cv .cv_btn::before {
		content: '';
		width: 36rem;
		background: var(--white) url(images/cv_icon.svg) no-repeat center center / 26rem auto;
		aspect-ratio: 1;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
		left: 10rem;
	}
	.cv .cv_btn small {
		width: 186rem;
		height: 32rem;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .05em;
		line-height: 28rem;
		text-align: center;
		border: 2rem var(--green) solid;
		margin-inline: auto;
		position: absolute;
		inset: -16rem 0 auto;
	}
	.cv .cv_btn .dot::before {
		width: 2rem;
		background: var(--green);
	}
	.cv .cv_btn span {
		color: var(--white);
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.cv_copy {
		font-size: 12rem;
		letter-spacing: .6rem;
		margin-top: 16rem;
	}

	/* 料金表 */
	.plan strong {
		font-size: 40rem;
		line-height: 38rem;
		display: inline-block;
		position: relative;
	}
	.plan .slash {
		font-size: 12rem;
		font-weight: 500;
		line-height: 14rem;
		text-align: center;
		padding-inline: 6rem;
		position: absolute;
		inset: -18rem 0 auto;
	}
	.plan .slash::before,
	.plan .slash::after {
		width: 1px;
		height: 18rem;
		background: var(--green);
	}
	.plan > small {
		font-size: 20rem;
		vertical-align: 5rem;
		margin-inline: 2rem;
	}
	.plan .count {
		font-weight: 500;
		text-align: center;
		border: 1px var(--green) solid;
		display: inline-block;
	}
	.price strong {
		font-size: 64rem;
	}
	.part {
		background: var(--green2);
		font-size: 12rem;
		font-weight: 500;
	}

	/* FV */
	.fv {
		background: var(--green);
		padding-bottom: 32rem;
	}
	.fv_img {
		width: 100%;
	}
	.fv_plan {
		width: 340rem;
		text-align: left;
		border: 4rem var(--green3) solid;
		margin: 24rem auto 0;
		padding: 36rem 20rem 20rem;
		position: relative;
	}
	.fv_plan .plan .count {
		height: 48rem;
		font-size: 12rem;
		line-height: 44rem;
		vertical-align: 10rem;
		aspect-ratio: 1;
		border-radius: 100vmax;
		margin-left: 4rem;
	}
	.fv_plan .plan .count b {
		font-size: 16rem;
		font-weight: 500;
	}
	.fv_plan .price {
		margin-top: 4rem;
	}
	.fv_plan .price .yen {
		font-size: 32rem;
		vertical-align: 2rem;
		margin-left: 2rem;
	}
	.fv_plan .part {
		line-height: 1.8;
		margin-top: 12rem;
		padding: 8rem;
	}
	.fv_plan img {
		width: 71rem;
		position: absolute;
		top: -14rem;
		right: -6rem;
	}
	.fv .cv {
		margin-top: 50rem;
	}
	.fv .notice {
		margin-top: 22rem;
		padding-inline: 30rem;
	}
	.fv .notice li {
		color: var(--white);
		font-weight: 500;
	}

	/* SV */
	.sv_copy {
		height: 116rem;
		line-height: 1.8;
		padding: 16rem 102rem 0 54rem;
		position: relative;
	}
	.sv_copy .slash {
		font-size: 18rem;
		padding-inline: 12rem;
	}
	.sv_copy .slash::before,
	.sv_copy .slash::after {
		width: 1px;
		height: 20rem;
		background: var(--green);
	}
	.sv_copy strong {
		font-size: 40rem;
		margin-top: -12rem;
		display: inline-block;
	}
	.sv_copy img {
		width: 93rem;
		position: absolute;
		right: 8rem;
		bottom: 0;
	}
	.sv_wrap {
		background: url(images/sv_bg.jpg) no-repeat center top / 100% auto;
		padding: 40rem 30rem 22rem;
	}
	.sv_ttl {
		line-height: 1.8;
		position: relative;
	}
	.sv_ttl > *:not(img) {
		display: inline-block;
		position: relative;
		z-index: 1;
	}
	.sv_ttl .bg_w {
		width: 154rem;
		height: 30rem;
		color: var(--green3);
		font-size: 16rem;
		line-height: 30rem;
	}
	.sv_ttl .txt {
		color: var(--white);
		font-size: 24rem;
		margin-top: 8rem;
	}
	.sv_ttl .txt .dot::before {
		width: 3rem;
		background: var(--white);
		top: 3rem;
	}
	.sv_ttl .txt small {
		font-size: 18rem;
	}
	.sv_ttl strong {
		color: var(--white);
		font-size: 56rem;
		margin-top: -18rem;
	}
	.sv_ttl img {
		width: 145rem;
		position: absolute;
		top: -12rem;
		right: -26rem;
	}
	.sv_plan_list {
		margin-top: 8rem;
	}
	.sv_plan_in {
		border: 2rem var(--green3) solid;
		padding-bottom: 18rem;
	}
	.sv_plan_in + .sv_plan_in {
		margin-top: 32rem;
	}
	.sv_plan_in .ttl {
		height: 50rem;
		padding-top: 12rem;
		position: relative;
	}
	.sv_plan_in .ttl::after {
		width: 13rem;
		height: 11rem;
		background: var(--green3);
		bottom: -11rem;
	}
	.sv_plan_in .ttl span {
		color: var(--white);
		font-size: 16rem;
		position: relative;
	}
	.sv_plan_in .ttl span::before {
		content: '';
		width: 21rem;
		height: 25rem;
		background: url(images/sv_icon2.svg) no-repeat center center / 100% auto;
		position: absolute;
		top: -20rem;
		right: -24rem;
	}
	.sv_plan_in .plan {
		margin-top: 32rem;
	}
	.sv_plan_in .plan .count {
		height: 24rem;
		font-size: 14rem;
		line-height: 22rem;
		vertical-align: 8rem;
		margin-left: 8rem;
		padding-inline: 16rem;
		display: inline-block;
	}
	.sv_plan_in .price {
		margin-top: 8rem;
		position: relative;
	}
	.sv_plan_in .price:has(.balloon) {
		padding-right: 18rem;
	}
	.sv_plan_in .price .yen {
		font-size: 18rem;
		vertical-align: 3rem;
		margin-left: 4rem;
	}
	.sv_plan_in .price .balloon {
		height: 50rem;
		background: var(--green);
		color: var(--white);
		font-size: 12rem;
		font-weight: 500;
		aspect-ratio: 1;
		border-radius: 100vmax;
		display: grid;
		place-content: center;
		position: absolute;
		top: -14rem;
		right: 6rem;
	}
	.sv_plan_in .price .balloon::after {
		width: 13rem;
		height: 12rem;
		background: var(--green);
		margin: 0;
		bottom: 3rem;
		rotate: 45deg;
	}
	.sv_plan_in .part {
		height: 24rem;
		line-height: 24rem;
		margin: 8rem 22rem 0;
	}
	.sv_txt {
		margin-top: 45rem;
	}
	.sv_txt .more {
		color: var(--white);
		font-size: 24rem;
		line-height: 1.5;
		text-align: left;
		padding-left: 110rem;
		display: block;
		position: relative;
	}
	.sv_txt .more span {
		width: 92rem;
		height: 64rem;
		background: url(images/sv_icon3.svg) no-repeat center center / 100% auto;
		font-size: 18rem;
		padding: 18rem 0 0 18rem;
		position: absolute;
		top: 4rem;
		left: 8rem;
		rotate: -5deg;
	}
	.sv_txt .bg_w {
		height: 78rem;
		font-size: 56rem;
		line-height: 72rem;
		margin-top: 10rem;
		padding-inline: 12rem;
		display: inline-block;
	}
	.sv_txt .txt {
		color: var(--white);
		font-size: 32rem;
		line-height: 1.8;
		margin-top: -4rem;
		display: block;
	}
	.sv_txt .slash {
		color: var(--white);
		font-size: 24rem;
		line-height: 1.8;
		margin-top: -5rem;
		padding-inline: 18rem 14rem;
	}
	.sv_txt .slash::before,
	.sv_txt .slash::after {
		width: 2rem;
		height: 28rem;
		background: var(--white);
		translate: 0 4rem;
	}
	.sv_txt strong {
		background: linear-gradient(0deg, transparent 26rem, var(--red) 26rem, var(--red) 41rem, transparent 41rem);
		font-size: 88rem;
		line-height: 1.8;
		margin-top: -32rem;
		padding-inline: 10rem;
		display: inline-block;
		position: relative;
	}
	.sv_txt strong::before,
	.sv_txt strong::after {
		content: '';
		width: 51rem;
		height: 47rem;
		background: url(images/sv_icon4.svg) no-repeat center center / 100% auto;
		position: absolute;
		top: -10rem;
	}
	.sv_txt strong::before {
		left: -24rem;
	}
	.sv_txt strong::after {
		right: -24rem;
		scale: -1 1;
	}

	/* 推しポイント */
	.appeal {
		background: var(--green2);
		position: relative;
		z-index: 1;
	}

	/* ビフォアフ */
	.effect_copy {
		background: var(--beige);
		font-size: 32rem;
		padding-top: 40rem;
	}
	.effect_copy .balloon {
		width: 242rem;
		height: 40rem;
		font-size: 24rem;
		line-height: 36rem;
		border: 2rem var(--green) solid;
		margin-inline: auto;
		position: absolute;
		inset: -20rem 0 auto;
	}
	.effect_copy .balloon::before {
		content: '';
		width: 12rem;
		height: 11rem;
		background: var(--white);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 0;
		bottom: -10rem;
		z-index: 1;
	}
	.effect_copy .balloon::after {
		width: 16rem;
		height: 15rem;
		background: var(--green);
		bottom: -15rem;
	}
	.effect_copy .dot {
		font-size: 40rem;
	}
	.effect_copy .dot::before {
		width: 4rem;
		height: 4rem;
		background: var(--red);
		translate: 0 4rem;
	}
	.effect_case {
		background: var(--beige);
		padding: 16rem 30rem 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32rem;
	}
	.effect_in {
		border: 4rem var(--green3) solid;
		position: relative;
	}
	.effect_in.before::after {
		content: '';
		width: 10rem;
		height: 12rem;
		background: var(--green);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: -25rem;
	}
	.effect_in img {
		height: 172rem;
		object-fit: cover;
	}
	.effect_in p {
		height: 55rem;
		color: var(--white);
		font-size: 14rem;
		font-weight: 700;
		line-height: 1.5;
		padding-top: 4rem;
		display: grid;
		place-content: center;
	}
	.effect_in small {
		font-size: 12rem;
	}
	.effect_notice {
		background: var(--beige);
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50rem), 50% 100%, 0 calc(100% - 50rem));
		padding: 8rem 30rem 72rem;
	}
	.effect_notice li {
		font-size: 10rem;
		font-weight: 700;
		line-height: 1.5;
		text-align: left;
	}

	/* ジェントルマックスプロプラスとは？ */
	.gentle {
		margin-top: 32rem;
	}
	.gentle_ttl {
		font-size: 20rem;
		line-height: 38rem;
	}
	.gentle_ttl .fc_r {
		background: linear-gradient(0deg, var(--yellow) 6rem, transparent 6rem);
		font-size: 32rem;
		display: inline-block;
	}
	.gentle_ttl span:nth-of-type(2) {
		margin-right: 4rem;
	}
	.gentle_cont {
		height: 345rem;
		display: grid;
		place-content: center;
		position: relative;
	}
	.gentle_cont::before {
		content: 'Gentle\Amax\APro Plus';
		color: var(--white);
		font-size: 96rem;
		font-family: "Figtree", sans-serif;
		font-optical-sizing: auto;
		letter-spacing: 0;
		line-height: 115rem;
		white-space: pre;
		margin: auto;
		position: absolute;
		inset: 0;
	}
	.gentle_cont img {
		width: 155rem;
		position: relative;
		z-index: 1;
	}
	.gentle_cont p {
		width: 116rem;
		background: url(images/gentle_icon1.svg) no-repeat center center / 100% auto;
		color: var(--green3);
		font-size: 18rem;
		line-height: 1.25;
		aspect-ratio: 1;
		padding: 4rem 0 0 4rem;
		display: grid;
		place-content: center;
		position: absolute;
		z-index: 2;
	}
	.gentle_cont .txt1 {
		top: 30rem;
		left: 32rem;
	}
	.gentle_cont .txt2 {
		top: 135rem;
		right: 22rem;
	}
	.gentle_cont .txt3 {
		top: 209rem;
		left: 32rem;
	}
	.gentle_copy {
		background: url(images/gentle_kirakira.svg) no-repeat left 70rem bottom 17rem / 266rem auto;
	}
	.gentle_copy .slash {
		font-size: 20rem;
		line-height: 40rem;
		padding-inline: 15rem;
	}
	.gentle_copy .slash::before,
	.gentle_copy .slash::after {
		width: 2rem;
		height: 24rem;
		background: var(--green);
		translate: 0 2rem;
	}
	.gentle_copy .txt {
		font-size: 32rem;
		line-height: 72rem;
		margin-top: -19rem;
		display: block;
	}
	.gentle_copy .txt small {
		font-size: 24rem;
	}
	.gentle_copy strong {
		font-size: 72rem;
		line-height: 145.2rem;
		margin-top: -50rem;
		display: inline-block;
		position: relative;
	}
	.gentle_copy strong::before {
		content: '最新型';
		text-stroke: 4rem var(--green);
		-webkit-text-stroke: 4rem var(--green);
		position: absolute;
		inset: 0;
		z-index: -1;
	}
	.gentle_list {
		margin-top: 16rem;
		padding: 14rem 24rem;
		position: relative;
	}
	.gentle_list::before {
		content: '';
		width: 96rem;
		height: 101rem;
		background: url(images/gentle_icon2.svg) no-repeat center center / 100% auto;
		position: absolute;
		top: -100rem;
		right: -18rem;
		z-index: -1;
	}
	.gentle_list li {
		font-size: 14rem;
		line-height: 1.5;
		padding-block: 14rem;
	}
	.gentle_list li:nth-child(1)::before {
		background-image: url(images/gentle_list_icon1.svg);
		background-size: 24rem auto;
	}
	.gentle_list li:nth-child(2)::before {
		background-image: url(images/gentle_list_icon2.svg);
		background-size: 19rem auto;
	}
	.gentle_list li:nth-child(3)::before {
		background-image: url(images/gentle_list_icon3.svg);
		background-size: 23rem auto;
	}
	.gentle_list li:nth-child(n+2) {
		border-top: 1px var(--gray) solid;
	}
	.gentle .cv {
		margin-top: 56rem;
	}

	/* 痛み対策 */
	.painful {
		margin-top: 80rem;
		padding-bottom: 80rem;
	}
	.pain_ttl .balloon {
		color: var(--white);
		font-size: 20rem;
		line-height: 1.5;
		padding: 2rem 12rem;
		display: inline-block;
		position: relative;
	}
	.pain_ttl .balloon::after {
		width: 15rem;
		height: 13rem;
		background: var(--green3);
		bottom: -13rem;
	}
	.pain_ttl .txt {
		line-height: 55rem;
		margin-top: 4rem;
		display: block;
	}
	.pain_ttl .txt strong {
		font-size: 32rem;
	}
	.pain_ttl .txt small {
		font-size: 20rem;
	}
	.pain_cont {
		margin-top: 10rem;
		padding: 20rem 20rem 6rem;
	}
	.pain_cont img {
		width: 100%;
	}
	.pain_list {
		margin-top: 20rem;
	}
	.pain_list li {
		padding-block: 14rem;
	}
	.pain_list li:nth-child(1) .ttl::before {
		background-image: url(images/gentle_list_icon4.svg);
		background-size: 11rem auto;
	}
	.pain_list li:nth-child(2) .ttl::before {
		background-image: url(images/gentle_list_icon5.svg);
		background-size: 20rem auto;
	}
	.pain_list li:nth-child(3) .ttl::before {
		background-image: url(images/gentle_list_icon6.svg);
		background-size: 19rem auto;
	}
	.pain_list li:nth-child(n+2) {
		border-top: 1px var(--gray) solid;
	}
	.pain_list .ttl {
		font-size: 16rem;
		line-height: 44rem;
	}
	.pain_list .txt {
		font-size: 13rem;
		font-weight: 700;
		line-height: 1.78;
		text-align: left;
		margin-top: 8rem;
	}

	/* セットプラン */
	.setplan {
		padding-bottom: 87rem;
		position: relative;
		z-index: 1;
	}
	.plan_wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	input[name="plan_tab"] {
		display: none;
	}
	.plan_tab {
		width: 133rem;
		height: 52rem;
		font-size: 14rem;
		display: grid;
		place-content: center;
		position: relative;
		cursor: pointer;
	}
	.plan_wrap input:not(:checked) + .plan_tab {
		border-bottom: 1px var(--gray) solid;
	}
	.plan_wrap input:checked + .plan_tab {
		border-bottom: 2rem var(--red) solid;
	}
	.plan_cont {
		width: 100%;
		display: none;
	}
	#plan_set:checked ~ #plan_set_cont,
	#plan_body:checked ~ #plan_body_cont,
	#plan_beard:checked ~ #plan_beard_cont {
		display: block;
	}
	.setplan .swiper {
		padding-top: 24rem;
	}
	.setplan .swiper-slide {
		width: 270rem;
		box-shadow: 0 0 2rem rgba(0, 0, 0, .25);
	}
	.plan_img {
		height: 217rem;
		display: grid;
		place-content: center;
		position: relative;
	}
	#plan_set_cont .slide1 img {
		width: 210rem;
	}
	#plan_set_cont .slide2 img {
		width: 191rem;
	}
	#plan_set_cont .slide3 img {
		width: 232rem;
	}
	#plan_body_cont .plan_img img {
		width: 115rem;
	}
	#plan_beard_cont .slide1 img,
	#plan_beard_cont .slide2 img {
		width: 179rem;
	}
	#plan_beard_cont .slide3 img {
		width: 230rem;
	}
	.plan_img small {
		font-size: 12rem;
		font-weight: 500;
		line-height: 17rem;
		position: absolute;
		right: 9rem;
		bottom: 9rem;
	}
	.plan_txt {
		height: 185rem;
		padding-block: 28rem 16rem;
	}
	#plan_set_cont .plan_txt {
		background: var(--beige);
	}
	#plan_body_cont .plan_txt {
		background: var(--green2);
	}
	#plan_beard_cont .plan_txt {
		background: #f7f7f7;
	}
	.plan_name strong {
		font-size: 32rem;
		line-height: 38rem;
		position: relative;
	}
	.plan_name strong .slash {
		width: 80rem;
		font-size: 12rem;
		font-weight: 500;
		line-height: 17rem;
		white-space: nowrap;
		padding-inline: 6rem;
		position: absolute;
		inset: 0 0 auto;
		translate: -9rem -10rem;
	}
	.plan_name strong .slash::before,
	.plan_name strong .slash::after {
		width: 1px;
		height: 14rem;
		background: var(--green);
		translate: 0 2rem;
	}
	.plan_name small {
		font-size: 14rem;
		vertical-align: 5rem;
		margin-inline: 4rem;
	}
	.plan_pattern {
		margin-top: 14rem;
		display: flex;
		justify-content: center;
	}
	.plan_pattern span {
		width: 54rem;
		height: 25rem;
		line-height: 25rem;
	}
	.plan_pattern .count {
		font-size: 14rem;
	}
	.plan_pattern .pat {
		font-size: 12rem;
		font-weight: 700;
	}
	.plan_pattern .pat:not(.bg_y):not(.bg_g) {
		background: var(--green);
	}
	.plan_pattern .pat:not(.bg_y) {
		color: var(--white);
	}
	.plan_price {
		margin-top: 12rem;
	}
	.plan_price strong {
		font-size: 48rem;
	}
	.plan_price .yen {
		font-size: 18rem;
		vertical-align: 2rem;
		margin-left: 4rem;
	}
	.plan_cont .swiper-pagination {
		font-size: 0;
		margin-top: 28rem;
		display: flex;
		justify-content: center;
		gap: 8rem;
		position: relative;
		inset: 0 !important;
	}
	.plan_cont .swiper-pagination-bullet {
		background: #d9d9d9;
		margin: 0 !important;
		opacity: 1;
	}
	.plan_cont .swiper-pagination-bullet-active {
		background: var(--green);
	}
	.plan_cont .swiper-button-next,
	.plan_cont .swiper-button-prev {
		width: 32rem;
		height: 32rem;
		border: 1px var(--green) solid;
		border-radius: 100vmax;
		margin-top: 0;
		top: 442rem;
	}
	.plan_cont .swiper-button-next {
		right: 54rem;
	}
	.plan_cont .swiper-button-prev {
		left: 54rem;
	}
	.plan_cont .swiper-button-next:after,
	.plan_cont .swiper-button-prev:after {
		content: '';
		width: 8rem;
		height: 8rem;
		border-left: 1px var(--green) solid;
		border-bottom: 1px var(--green) solid;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		rotate: 45deg;
	}
	.plan_cont .swiper-button-next:after {
		right: 13rem;
		scale: -1 -1;
	}
	.plan_cont .swiper-button-prev:after {
		left: 13rem;
	}
	.plan_notice {
		font-size: 12rem;
		font-weight: 500;
		line-height: 1.4;
		text-align: left;
		padding-inline: 55rem;
	}
	.swiper-button-next + .plan_notice {
		margin-top: 28rem;
	}
	.plan_notice + .plan_notice {
		margin-top: 4rem;
	}
	.setplan .cv {
		margin-top: 56rem;
	}
	.setplan .more {
		width: 178rem;
		height: 56rem;
		background: var(--green);
		font-size: 24rem;
		line-height: 29rem;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		padding-top: 3rem;
		position: absolute;
		inset: auto 0 -36rem;
	}
	.plan_more {
		width: 69rem;
		position: absolute;
		bottom: -90rem;
		right: 50rem;
	}

	/* 割引 */
	.discount {
		background: var(--green2);
		padding: 60rem 30rem 42rem;
	}
	.disc_ttl .balloon {
		width: 135rem;
		height: 28rem;
		color: var(--white);
		font-size: 16rem;
		line-height: 28rem;
		display: inline-block;
		position: relative;
	}
	.disc_ttl .balloon::after {
		width: 10rem;
		height: 8rem;
		background: var(--green3);
		bottom: -8rem;
	}
	.disc_ttl strong {
		font-size: 35rem;
		display: block;
	}
	.disc_ttl strong small {
		font-size: 28rem;
	}
	.disc_list {
		margin-top: 10rem;
		display: grid;
		gap: 14rem;
	}
	.disc_list li {
		height: 136rem;
		text-align: left;
		filter: drop-shadow(0 0 5rem #00000029);
		padding: 14rem 0 0 92rem;
		position: relative;
	}
	.disc_list li::before {
		content: '';
		width: 64rem;
		height: 64rem;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		left: 14rem;
	}
	.disc_list li:nth-child(1)::before {
		background: var(--green3) url(images/disc_icon1.svg) no-repeat center center / 36rem auto;
	}
	.disc_list li:nth-child(2)::before {
		background: var(--green3) url(images/disc_icon2.svg) no-repeat center center / 40rem auto;
	}
	.disc_list .ttl,
	.disc_list .fc_r {
		font-size: 21rem;
	}
	.disc_list .txt {
		font-size: 12rem;
		font-weight: 700;
		margin-top: 4rem;
	}
	.disc_list .fc_r {
		margin-top: 2rem;
	}
	.disc_list strong {
		font-size: 49rem;
		letter-spacing: 0;
		margin-right: 4rem;
	}
	.discount .notice {
		font-size: 11rem;
		font-weight: 700;
		line-height: 1.6;
		text-align: left;
		margin-top: 11rem;
	}

	/* 0円保証 */
	.guarantee {
		background: var(--beige) url(images/gua_bg.svg) no-repeat right 14rem top 4rem / 175rem auto;
		padding-block: 42rem;
	}
	.gua_ttl .slash {
		font-size: 16rem;
		font-weight: 700;
		padding-inline: 15rem;
	}
	.gua_ttl .slash::before,
	.gua_ttl .slash::after {
		width: 2rem;
		height: 21rem;
		background: var(--green);
	}
	.gua_ttl .line_y {
		background: linear-gradient(0deg, transparent 4rem, var(--yellow) 4rem, var(--yellow) 18rem, transparent 18rem);
		font-size: 28rem;
		margin-top: -4rem;
		padding-inline: 4rem;
		display: inline-block;
	}
	.gua_ttl strong {
		font-size: 80rem;
		vertical-align: -3rem;
	}
	.gua_txt {
		font-size: 16rem;
		margin-top: 16rem;
	}
	.gua_list {
		margin-top: 21rem;
		padding-inline: 30rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14rem;
	}
	.gua_list li {
		height: 56rem;
		background: var(--green);
		padding-left: 54rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.gua_list li::before {
		content: '';
		width: 33rem;
		height: 33rem;
		background-color: var(--white);
		background-repeat: no-repeat;
		background-position: center center;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
		left: 12rem;
	}
	.gua_list li:nth-child(1)::before {
		background-image: url(images/gua_icon1.svg);
		background-size: 26rem auto;
	}
	.gua_list li:nth-child(2)::before {
		background-image: url(images/gua_icon2.svg);
		background-size: 26rem auto;
	}
	.gua_list li:nth-child(3)::before {
		background-image: url(images/gua_icon3.svg);
		background-size: 25rem auto;
	}
	.gua_list li:nth-child(4)::before {
		background-image: url(images/gua_icon4.svg);
		background-size: 28rem auto;
	}
	.gua_list li:nth-child(5)::before {
		background-image: url(images/gua_icon5.svg);
		background-size: 20rem auto;
	}
	.gua_list li:nth-child(6)::before {
		background-image: url(images/gua_icon6.svg);
		background-size: 26rem auto;
	}
	.gua_list li:nth-child(7)::before {
		background-image: url(images/gua_icon7.svg);
		background-size: 30rem auto;
	}
	.gua_list li:nth-child(8)::before {
		background-image: url(images/gua_icon8.svg);
		background-size: 27rem auto;
	}
	.gua_list p {
		color: var(--white);
		font-size: 12rem;
		line-height: 1.75;
		text-align: left;
	}
	.gua_list p small {
		font-size: 10rem;
		margin-left: 3rem;
	}
	.guarantee .notice {
		margin-top: 14rem;
		padding-inline: 30rem;
		counter-reset: guarantee;
	}
	.guarantee .notice li::before {
		content: '※'counter(guarantee);
		counter-increment: guarantee;
		margin-right: 5rem;
	}
	.guarantee .cv {
		margin-top: 37rem;
	}

	/* お支払いについて */
	.pay_list {
		text-align: left;
		padding: 28rem;
	}
	.pay_list dt:nth-of-type(n+2) {
		border-top: 1px var(--gray) solid;
		margin-top: 21rem;
		padding-top: 21rem;
	}
	.pay_list dt span {
		height: 31rem;
		font-size: 21rem;
		line-height: 31rem;
		padding-left: 39rem;
		display: block;
	}
	.pay_list dt:nth-of-type(1) span {
		background: url(images/pay_icon1.svg) no-repeat left center / 31rem auto;
	}
	.pay_list dt:nth-of-type(2) span {
		background: url(images/pay_icon2.svg) no-repeat left 3rem center / 25rem auto;
	}
	.pay_list dt:nth-of-type(3) span {
		background: url(images/pay_icon3.svg) no-repeat left 8rem center / 18rem auto;
	}
	.pay_list dt:nth-of-type(4) span {
		background: url(images/pay_icon4.svg) no-repeat left center / 31rem auto;
	}
	.pay_list dd,
	.pay_list dd .img {
		margin-top: 14rem;
	}
	.pay_list dd:nth-of-type(3) .img {
		width: 251rem;
	}
	.pay_list dd p {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.8;
	}

	/* 初回施術までの流れ */
	.flow {
		background: var(--beige);
		padding-bottom: 42rem;
	}
	.flow .swiper-wrapper {
		padding-block: 28rem 49rem;
	}
	.flow .swiper-slide {
		width: 310rem;
		height: 331rem;
		filter: drop-shadow(0 0 8rem #00000029);
		translate: 28rem 0;
	}
	.swiper .img img {
		height: 154rem;
		object-fit: cover;
	}
	.swiper .ttl {
		margin-top: 12rem;
		padding-inline: 16rem;
		display: flex;
		align-items: center;
	}
	.swiper .ttl span {
		height: 44rem;
		color: var(--green3);
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.swiper .ttl span i {
		font-size: 11rem;
		line-height: 1.45;
		display: block;
	}
	.swiper .ttl p {
		font-size: 16rem;
		margin-left: 14rem;
	}
	.swiper .txt {
		margin-top: 8rem;
		padding-inline: 14rem;
	}
	.swiper .txt p {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.8;
		text-align: left;
	}
	.message {
		padding: 0 28rem 35rem;
	}
	.msg_ttl .slash {
		color: var(--green3);
		font-size: 16rem;
		padding-inline: 10rem;
	}
	.msg_ttl .slash::before,
	.msg_ttl .slash::after {
		width: 2rem;
		height: 21rem;
		background: var(--green3);
	}
	.msg_ttl strong {
		font-size: 28rem;
		margin-top: 8rem;
		display: inline-block;
	}
	.msg_in {
		border: 4rem var(--green3) solid;
		margin-top: 21rem;
		padding: 25rem;
	}
	.msg_in .line_y {
		background: linear-gradient(0deg, transparent 3rem, var(--yellow) 3rem, var(--yellow) 11rem, transparent 11rem);
		font-size: 28rem;
		padding-inline: 2rem;
	}
	.msg_in .copy {
		background: var(--green2);
		font-size: 14rem;
		line-height: 1.5;
		margin-top: 12rem;
		padding-block: 14rem;
	}
	.msg_in .txt {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.8;
		text-align: left;
		margin-top: 14rem;
	}

	/* よくあるご質問 */
	.qanda {
		padding-bottom: 28rem;
	}
	.qa_wrap {
		margin: 28rem 28rem 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	input[name="qa_tab"] {
		display: none;
	}
	.qa_tab {
		width: 108rem;
		height: 35rem;
		font-size: 12rem;
		border-radius: 5rem 5rem 0 0;
		display: grid;
		place-content: center;
		position: relative;
		cursor: pointer;
	}
	.qa_wrap input:not(:checked) + .qa_tab {
		background: var(--gray);
	}
	.qa_wrap input:checked + .qa_tab {
		background: var(--green);
		color: var(--white);
	}
	.qa_cont {
		width: 100%;
		border: 4rem var(--green) solid;
		padding: 10rem;
		display: none;
	}
	#qa_laser:checked ~ #qa_laser_cont,
	#qa_machine:checked ~ #qa_machine_cont,
	#qa_reserve:checked ~ #qa_reserve_cont {
		display: block;
	}
	.qa_list {
		text-align: left;
	}
	.qa_list dt,
	.qa_list dd {
		font-size: 14rem;
		line-height: 1.8;
		position: relative;
	}
	.qa_list dt {
		padding: 14rem 35rem 14rem 0;
		display: flex;
		align-items: center;
		cursor: pointer;
	}
	.qa_list dt::before,
	.qa_list dt::after {
		content: '';
		width: 2rem;
		height: 14rem;
		background: var(--green3);
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 18rem;
		transition: all .3s ease-out;
	}
	.qa_list dt::after {
		rotate: 90deg;
	}
	.qa_list dt.active::before {
		background: transparent;
		rotate: 90deg;
		transition: all .3s ease-out;
	}
	.qa_list dt:nth-of-type(n+2) {
		border-top: 1px var(--gray) solid;
	}
	.qa_list dd {
		margin-top: 8rem;
		padding: 0 0 14rem 35rem;
		display: none;
	}
	.qa_list .fig {
		width: 28rem;
		height: 28rem;
		color: var(--white);
		letter-spacing: 0;
		border-radius: 100vmax;
		flex-shrink: 0;
		display: grid;
		place-content: center;
	}
	.qa_list dd .fig {
		position: absolute;
		inset: 0;
	}
	.qa_list dt span {
		margin-left: 8rem;
	}
	.qa_list dd p {
		font-weight: 700;
	}
	.qa_list dd small {
		font-size: 10rem;
	}

	/* 院内写真 */
	.loop {
		display: flex;
		overflow: hidden;
	}
	.photo_loop {
		display: flex;
	}
	.photo_loop li {
		width: 114rem;
	}
	.loop1 {
		animation: scroll-anime-loop1 80s -40s linear infinite;
	}
	.loop2 {
		animation: scroll-anime-loop2 80s 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_list {
		padding: 28rem 28rem 42rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 15rem 14rem;
	}
	.md-btn {
		background: url(images/clinic_icon.svg) no-repeat right center / 18rem auto;
		font-size: 14rem;
		font-weight: 700;
		text-align: left;
		padding-bottom: 8rem;
		border-bottom: 1px var(--green) solid;
		display: block;
	}

	/* クリニック_モーダル */
	.md-overlay {
		background: #000;
		display: none;
		position: fixed;
		inset: 0;
		opacity: .1;
		z-index: 9999;
	}
	.md-contents {
		width: 338rem;
		height: 700rem;
		max-height: 96vh;
		margin: auto;
		display: none;
		position: fixed;
		inset: 0;
		overflow: hidden;
		z-index: 9999;
	}
	.clinic_name {
		height: 56rem;
		color: var(--white);
		font-size: 21rem;
		display: grid;
		place-content: center;
	}
	.clinic_wrap {
		height: calc(100% - (56rem + 63rem));
		background: var(--white);
		padding: 28rem 19rem 28rem 23rem;
		overflow-y: scroll;
		overscroll-behavior: none;
	}
	.clinic_map {
		height: 182rem;
	}
	.clinic_map iframe {
		width: 100%;
		height: 100%;
	}
	.clinic_info {
		width: 100%;
	}
	.clinic_info tr {
		margin-top: 14rem;
		display: flex;
	}
	.clinic_info th {
		width: 32rem;
		text-align: left;
		padding-top: 4rem;
		flex-shrink: 0;
	}
	.clinic_info tr:nth-child(1) th img,
	.clinic_info tr:nth-child(3) th img {
		width: 24rem;
	}
	.clinic_info tr:nth-child(2) th img {
		width: 21rem;
	}
	.clinic_info td {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.8;
		text-align: left;
	}
	.clinic_info a {
		color: var(--red);
		border-bottom: 1px var(--red) solid;
	}
	.clinic_list .btns {
		margin-top: 28rem;
		display: grid;
		gap: 8rem;
	}
	.clinic_list .btns a {
		height: 42rem;
		display: grid;
		place-content: center;
	}
	.clinic_list .btns span {
		font-size: 16rem;
		padding-left: 21rem;
		position: relative;
	}
	.clinic_list .btns span::before {
		content: '';
		width: 18rem;
		height: 18rem;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.clinic_list .cv_btn {
		color: var(--white);
	}
	.clinic_list .cv_btn span::before {
		background: url(images/clinic_icon4.svg) no-repeat center center / 100% auto;
	}
	.clinic_list .tel_btn {
		border: 2rem var(--green) solid;
	}
	.clinic_list .tel_btn span::before {
		background: url(images/clinic_icon5.svg) no-repeat center center / 100% auto;
	}
	.clinic_doc {
		margin-top: 28rem;
	}
	.doc_name {
		text-align: left;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.doc_name .ttl {
		width: 100%;
		font-size: 12rem;
	}
	.doc_name .name {
		font-size: 21rem;
		flex-grow: 2;
	}
	.doc_name .name_en {
		color: var(--green3);
		font-size: 10rem;
		font-weight: 700;
	}
	.doc_career {
		text-align: left;
		border-top: 2rem var(--gray) solid;
		margin-top: 14rem;
		padding-top: 14rem;
	}
	.doc_career dt {
		color: var(--green3);
		font-size: 14rem;
	}
	.doc_career dt + dd {
		margin-top: 8rem;
	}
	.doc_career dd {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.8;
	}
	.close {
		height: 63rem;
		background: var(--green);
		display: grid;
		place-content: center;
		cursor: pointer;
	}
	.close span {
		color: var(--white);
		font-size: 16rem;
		padding-left: 28rem;
		position: relative;
	}
	.close span::before,
	.close span::after {
		content: '';
		width: 4rem;
		height: 30rem;
		background: var(--white);
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.close span::before {
		rotate: -45deg;
	}
	.close span::after {
		rotate: 45deg;
	}

	/* フォーム */
	.form {
		padding: 42rem 28rem;
	}
	.form_ttl {
		color: var(--white);
		font-size: 28rem;
		padding-bottom: 28rem;
		position: relative;
	}
	.form_ttl::after {
		content: '';
		width: 14rem;
		height: 2rem;
		background: var(--white);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 0;
	}
	.form_notice {
		color: var(--white);
		margin-top: 28rem;
	}
	.form_notice .copy {
		font-size: 16rem;
	}
	.form_notice .txt {
		font-size: 12rem;
		font-weight: 700;
		line-height: 1.6;
		text-align: left;
		margin-top: 14rem;
	}
	.form_list {
		margin-top: 21rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14rem;
	}
	.form_list a {
		height: 46rem;
		background: var(--white);
		font-size: 12rem;
		font-weight: 700;
		border-radius: 5rem;
		padding-left: 14rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.form_list a::after {
		content: '';
		width: 10rem;
		height: 10rem;
		border-top: 2rem var(--green) solid;
		border-right: 2rem var(--green) solid;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 14rem;
		rotate: 45deg;
	}
	.form_btn {
		width: 254rem;
		height: 42rem;
		font-size: 16rem;
		line-height: 40rem;
		margin-top: 21rem;
		display: inline-block;
		position: relative;
	}
	.form_btn::before,
	.form_btn::after {
		content: '';
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	.form_btn::before {
		width: 13rem;
		height: 13rem;
		background: var(--green);
		border-radius: 100vmax;
		right: 8rem;
	}
	.form_btn::after {
		width: 4rem;
		height: 4rem;
		border-top: 1px var(--white) solid;
		border-right: 1px var(--white) solid;
		right: 12rem;
		rotate: 45deg;
	}

	/* footer */
	footer {
		background: var(--green);
		color: var(--white);
		padding: 56rem 14rem 14rem;
	}
	.footer_logo .copy {
		font-size: 21rem;
		font-weight: 700;
	}
	.footer_logo img {
		width: 246rem;
	}
	footer .sns {
		margin-top: 8rem;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 26rem;
	}
	footer .sns li:nth-child(1) img {
		width: 13rem;
	}
	footer .sns li:nth-child(2) {
		width: 26rem;
	}
	footer .sns li:nth-child(3) {
		width: 23rem;
	}
	footer .copyright {
		font-size: 10rem;
		font-weight: 500;
		border-top: 1px var(--white) solid;
		margin-top: 56rem;
		padding-top: 14rem;
	}