@charset "UTF-8";

@media (min-width: 769px) {
	html {
		--size-base: 1280;
	}
	.sp_only {
		display: none !important;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	body {
		position: relative;
	}
	body::before {
		content: '';
		background: #002d04 url(images/pc_bg.png) repeat center center / 232px auto;
		background-attachment: fixed;
		position: fixed;
		inset: 0;
		z-index: -1;
	}
	main {
		width: 450rem;
	}
	.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 #fff;
		text-stroke: 4rem #fff;
		margin: auto;
		position: absolute;
		inset: 0;
		z-index: -1;
	}
	.fl_txt {
		height: 60rem;
		background: #85b840;
		color: #fff;
		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 #002d04;
		text-stroke: 2rem #002d04;
		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;
	}
}
@media (max-width: 768px) {
	html {
		--size-base: 450;
	}
	.pc_only {
		display: none!important;
	}
	.sp_floating_link {
		padding-bottom: 32rem;
		z-index: 999;
	}
	.sp_floating_link.invisible {
		animation: fade .2s ease-in-out forwards;
		pointer-events: none;
	}
	@keyframes fade {
		from { opacity: 1; }
		to { opacity: 0; }
	}
}

	/* common */
	html {
		font-size: calc(100vw / (var(--size-base) / 1 ));
	}
	body {
		width: 100%;
		color: #002d04;
		font-size: 16rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		text-align: center;
		overflow-x: hidden;
	}
	img {
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}
	.ani_over,
	.ani_over::before,
	.ani_over::after {
		transition: all .3s ease-out;
	}
	main {
		background: #fff;
		margin-inline: auto;
		position: relative;
		overflow: hidden;
		z-index: 1;
	}
	i {
		font-style: normal;
	}
	strong,
	b {
		font-weight: 900;
	}
	.sp_floating_link:not(.floating) {
		margin-left: -16rem;
	}
	.fig {
		font-family: "Figtree", sans-serif;
		font-optical-sizing: auto;
		line-height: 1;
	}
	.bar {
		font-family: "Barlow", sans-serif;
		line-height: 1;
	}
	.bg_check {
		background-color: #fff;
		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: #fff;
	}
	.bg_y {
		background: #fcec20;
	}
	.bg_r {
		background: #ea5525;
	}
	.fc_y {
		color: #fcec20;
	}
	.fc_r {
		color: #ea5525;
	}
	.fc_b {
		color: #0095a7;
	}
	.tb_rl {
		writing-mode: vertical-rl;
	}
	.round {
		border-radius: 100vmax;
	}
	.dot {
		position: relative;
	}
	.dot::before {
		content: '';
		aspect-ratio: 1;
		border-radius: 50%;
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	.slash {
		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: #ea5525;
		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 {
		height: 96rem;
		color: #fff;
		font-size: 32rem;
		letter-spacing: 1.6rem;
		line-height: 96rem;
		text-align: left;
		padding-left: 83rem;
	}
	.plan_ttl {
		background: #85b840 url(images/plan_ttl_icon.svg) no-repeat left 32rem center / 40rem auto;
	}
	.pay_ttl {
		background: #85b840 url(images/pay_ttl_icon.svg) no-repeat left 30rem center / 40rem auto;
	}
	.flow_ttl {
		background: #85b840 url(images/flow_ttl_icon.svg) no-repeat left 30rem center / 35rem auto;
	}
	.qa_ttl {
		background: #85b840 url(images/qa_ttl_icon.svg) no-repeat left 32rem center / 39rem auto;
	}
	.clinic_ttl {
		background: #85b840 url(images/clinic_ttl_icon.svg) no-repeat left 33rem top 34rem / 30rem auto;
	}

	/* header */
	header {
		height: 80rem;
		padding-inline: 16rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_logo {
		width: 128rem;
	}
	.header_cv {
		width: 250rem;
	}
	.header_cv a {
		height: 48rem;
		color: #fff;
		padding-left: 32rem;
		display: grid;
		place-content: center;
		position: relative;
	}
	.header_cv a::before {
		content: '';
		width: 32rem;
		height: 32rem;
		background: #fff url(images/cv_icon.svg) no-repeat center center / 23rem auto;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0;
		left: 8rem;
	}
	.header_cv small {
		font-size: 12rem;
		font-weight: 700;
		letter-spacing: .6rem;
	}
	.header_cv small::before,
	.header_cv small::after {
		width: 1.2rem;
		height: 12rem;
		background: #fff;
	}
	.header_cv small::before {
		right: calc(50% + 6em);
	}
	.header_cv small::after {
		left: calc(50% + 6em);
	}
	.header_cv .dot::before {
		width: 2rem;
		background: #fff;
	}
	.header_cv span {
		font-size: 16rem;
		letter-spacing: .8rem;
		margin-top: -3rem;
	}

	/* cvボタン */
	.cv .cv_btn {
		text-align: left;
		border: 2rem #002d04 solid;
		box-shadow: 0 5rem #000;
		margin-inline: auto;
		display: block;
		position: relative;
	}
	.cv:not(.cv_wide) .cv_btn {
		width: 385rem;
		height: 74rem;
		padding: 16rem 0 0 66rem;
	}
	.cv.cv_wide .cv_btn {
		width: 418rem;
		height: 64rem;
		padding: 13rem 0 0 69rem;
	}
	.cv .cv_btn::before {
		content: '';
		background: #fff url(images/cv_icon.svg) no-repeat center center / 36rem auto;
		aspect-ratio: 1;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.cv:not(.cv_wide) .cv_btn::before {
		width: 50rem;
		left: 10rem;
	}
	.cv.cv_wide .cv_btn::before {
		width: 46rem;
		left: 9rem;
	}
	.cv .cv_btn small {
		width: 184rem;
		height: 32rem;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 28rem;
		text-align: center;
		border: 2rem #002d04 solid;
		margin-inline: auto;
		position: absolute;
		inset: -18rem 0 auto;
	}
	.cv .cv_btn .dot::before {
		width: 2rem;
		background: #002d04;
	}
	.cv .cv_btn span {
		color: #fff;
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.cv.cv_wide .cv_btn span {
		padding-right: 60rem;
		position: relative;
	}
	.cv.cv_wide .cv_btn span::before,
	.cv.cv_wide .cv_btn span::after {
		content: '';
		aspect-ratio: 1;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	.cv.cv_wide .cv_btn span::before {
		height: 15rem;
		background: #fff;
		border-radius: 50%;
		right: 0;
	}
	.cv.cv_wide .cv_btn span::after {
		height: 4rem;
		border-top: 1.2rem #ea5525 solid;
		border-right: 1.2rem #ea5525 solid;
		right: 6rem;
		rotate: 45deg;
	}
	.cv_copy {
		font-size: 12rem;
		letter-spacing: .6rem;
		margin-top: 16rem;
	}

	/* FV */
	.fv {
		position: relative;
		z-index: 2;
	}
	.fv_next {
		background: #002d04;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 72rem), 50% 100%, 0 calc(100% - 72rem));
		padding-block: 27rem 80rem;
	}
	.fv_next span {
		color: #fff;
		font-size: 18rem;
		letter-spacing: 1rem;
		display: block;
	}
	.fv_next .dot::before {
		width: 4rem;
		background: #fff;
		top: -4rem;
	}
	.fv_next strong {
		height: 58rem;
		background: url(images/fv_icon.svg) no-repeat left center / 40rem auto;
		font-size: 40rem;
		letter-spacing: 2rem;
		margin-top: 8rem;
		padding-left: 50rem;
		display: inline-block;
	}

	/* SV */
	.sv {
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48rem), 50% 100%, 0 calc(100% - 48rem));
		margin-top: -72rem;
		padding-block: 72rem 64rem;
		position: relative;
		z-index: 1;
	}
	.sv_ttl {
		margin-top: 16rem;
		position: relative;
	}
	.sv_ttl p {
		position: relative;
		z-index: 1;
	}
	.sv_ttl p > span {
		display: inline-block;
	}
	.sv_ttl .copy1 > span {
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.sv_ttl .copy1 > span span {
		font-size: 32rem;
		letter-spacing: 1.6rem;
	}
	.sv_ttl p > span:nth-of-type(1) small {
		font-size: 18rem;
		letter-spacing: 1rem;
	}
	.sv_ttl p > span:nth-of-type(1) .dot::before {
		width: 5rem;
		background: #002d04;
	}
	.sv_ttl .bg_w {
		height: 64rem;
		margin-top: 4rem;
		padding: 8rem 17rem 0 18rem;
		position: relative;
	}
	.sv_ttl .bg_w .balloon {
		width: 47rem;
		height: 47rem;
		background: #85b840;
		color: #fff;
		font-size: 12rem;
		letter-spacing: .6rem;
		border-radius: 50%;
		display: grid;
		place-content: center;
		position: absolute;
		top: -29rem;
		left: -32rem;
	}
	.sv_ttl .bg_w .balloon::after {
		width: 6rem;
		height: 6rem;
		background: #85b840;
		bottom: 0;
		left: auto;
		right: 5rem;
		rotate: -34deg;
	}
	.sv_ttl .bg_w .dot::before {
		width: 3rem;
		background: #ea5525;
		top: 6rem;
	}
	.sv_ttl .bg_w::after {
		content: '';
		width: 80rem;
		height: 54rem;
		background: url(images/sv_ttl_icon.svg) no-repeat center center / 100% auto;
		position: absolute;
		bottom: -36rem;
		right: -40rem;
	}
	.sv_ttl .fv_icon {
		width: 208rem;
		position: absolute;
		top: -40rem;
		left: -14rem;
		rotate: -10deg;
		scale: -1 1;
	}
	.sv_ttl .slash {
		font-size: 32rem;
		font-weight: 700;
		letter-spacing: 1.6rem;
		margin-top: 16rem;
		padding-inline: 12rem;
	}
	.sv_ttl .slash::before,
	.sv_ttl .slash::after {
		width: 2rem;
		height: 30rem;
		background: #002d04;
		translate: 0 2rem;
	}
	.sv_ttl .line_r {
		background: linear-gradient(0deg, transparent 3rem, #ea5525 3rem, #ea5525 7rem, transparent 7rem);
		font-size: 32rem;
		letter-spacing: 1.6rem;
		margin-top: -4rem;
	}
	.sv_ttl .line_r strong {
		font-size: 56rem;
		letter-spacing: 2.8rem;
	}
	.sv_ttl .line_r .dot::before {
		width: 5rem;
		background: #ea5525;
		translate: -4rem 8rem;
	}
	.sv_cont {
		width: 386rem;
		margin: 24rem auto 0;
	}
	.sv_in1 {
		padding-bottom: 14rem;
		position: relative;
	}
	.sv_in1::after {
		width: 22rem;
		height: 16rem;
		background: #002d04;
		bottom: -30rem;
	}
	.sv_in1 .cont_ttl {
		height: 40rem;
		background: #ccc;
		padding-top: 6rem;
	}
	.sv_in1 .cont_ttl .round {
		width: 78rem;
		height: 21rem;
		background: #002d04;
		color: #fff;
		font-size: 12rem;
		font-weight: 700;
		letter-spacing: .6rem;
		line-height: 20rem;
		vertical-align: 3rem;
		display: inline-block;
	}
	.sv_cont .txt,
	.sv_cont .txt2 {
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: 1rem;
	}
	.sv_cont .txt {
		margin-left: 8rem;
	}
	.sv_cont .txt2 {
		margin-left: 16rem;
		padding-left: 16rem;
		position: relative;
	}
	.sv_cont .txt2::before {
		content: '';
		width: 1.2rem;
		height: 26rem;
		background: #002d04;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.sv_in1 p:nth-of-type(n+2) {
		font-size: 24rem;
	}
	.sv_cont .price_b {
		margin-top: 12rem;
		position: relative;
	}
	.sv_cont .price_b::after {
		width: 11rem;
		height: 8rem;
		background: #002d04;
		bottom: -20rem;
	}
	.sv_cont .price_b small {
		width: 36rem;
		height: 22rem;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 20rem;
		vertical-align: 10rem;
		border: 1.2rem #002d04 solid;
		display: inline-block;
	}
	.sv_cont .price_b span {
		margin-left: 8rem;
		padding-inline: 7rem 4rem;
		display: inline-block;
		position: relative;
	}
	.sv_cont .price_b span::after {
		content: '';
		height: 3rem;
		background: #ea5525;
		border-radius: 100vmax;
		margin-block: auto;
		position: absolute;
		inset: 0;
		rotate: -9deg;
	}
	.sv_in1 strong.fig {
		font-size: 48rem;
		margin-right: 8rem;
	}
	.sv_cont .price_a {
		margin-top: 24rem;
	}
	.sv_cont .price_a .off {
		width: 48rem;
		height: 48rem;
		font-size: 12rem;
		line-height: 11rem;
		vertical-align: 6rem;
		border: 2rem #ea5525 solid;
		border-radius: 50%;
		padding-top: 11rem;
		display: inline-block;
	}
	.sv_cont .price_a .off b {
		font-size: 16rem;
	}
	.sv_cont .price_a .line_y {
		background: linear-gradient(0deg, transparent 6rem, #fcec20 6rem, #fcec20 19rem, transparent 19rem);
		line-height: 48rem;
		margin-left: 4rem;
		padding-inline: 3rem;
		display: inline-block;
	}
	.sv_in2 {
		border: 4rem #ea5525 solid;
		margin-top: 66rem;
		padding-top: 40rem;
		position: relative;
	}
	.sv_in2 .round {
		width: 225rem;
		height: 48rem;
		font-size: 24rem;
		letter-spacing: 1.2rem;
		margin-inline: auto;
		padding-top: 5rem;
		position: absolute;
		inset: -26rem 0 auto;
	}
	.sv_in2 .round i {
		color: #fff;
	}
	.sv_in2 .round span {
		width: 36rem;
		height: 36rem;
		background: #fff;
		line-height: 34rem;
		border-radius: 50%;
		display: inline-block;
	}
	.sv_in2 .round span:nth-of-type(1) {
		margin-left: 6rem;
	}
	.sv_in2 .round span:nth-of-type(n+2) {
		margin-left: -4rem;
	}
	.sv_in2 .round::before,
	.sv_in2 .round::after {
		content: '';
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100% auto;
		position: absolute;
	}
	.sv_in2 .round::before {
		width: 41rem;
		height: 32rem;
		background-image: url(images/sv_icon.svg);
		margin-block: auto;
		inset: 0 auto;
		left: -20rem;
	}
	.sv_in2 .round::after {
		width: 58rem;
		height: 60rem;
		background-image: url(images/sv_icon2.svg);
		right: -34rem;
		bottom: -1rem;
	}
	.sv_price {
		margin-top: 8rem;
		padding-bottom: 16rem;
	}
	.sv_price .bg_r {
		width: 52rem;
		height: 30rem;
		color: #fff;
		font-size: 18rem;
		letter-spacing: 1rem;
		line-height: 28rem;
		display: inline-block;
	}
	.sv_price .line_y {
		background: linear-gradient(0deg, transparent 6rem, #fcec20 6rem, #fcec20 19rem, transparent 19rem);
		font-size: 24rem;
		line-height: 58rem;
		margin-left: 8rem;
		padding-inline: 3rem;
		display: inline-block;
	}
	.sv_price strong {
		font-size: 72rem;
		vertical-align: -3rem;
	}
	.sv_count1 {
		height: 44rem;
		color: #fff;
		font-size: 18rem;
		letter-spacing: 1rem;
		line-height: 37rem;
		padding-top: 4rem;
	}
	.sv_count1 strong {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		border-bottom: 2rem #fff solid;
		margin-left: 4rem;
		padding-right: 4rem;
		display: inline-block;
	}
	.sv .notice {
		margin-top: 8rem;
		padding-left: 32rem;
	}
	.sv .notice li {
		font-size: 10rem;
		line-height: 15rem;
	}

	/* 青ヒゲとサヨナラ */
	.top_cv {
		height: 605rem;
		background: url(images/topcv_bg.jpg) no-repeat center center / 100% auto;
		margin-top: -48rem;
		padding: 48rem 32rem 40rem;
		position: relative;
	}
	.top_cv > img {
		position: absolute;
	}
	.topcv_copy {
		text-align: left;
		margin-top: 53rem;
	}
	.topcv_copy .balloon {
		width: 225rem;
		height: 30rem;
		font-size: 14rem;
		font-weight: 700;
		text-align: center;
		border: 2rem #002d04 solid;
		display: inline-block;
		position: relative;
	}
	.topcv_copy .balloon span {
		font-size: 18rem;
	}
	.topcv_copy .balloon::before {
		content: '';
		width: 12rem;
		height: 9rem;
		background: #002d04;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 -9rem;
	}
	.topcv_copy .balloon::after {
		background: #fff;
		width: 8rem;
		height: 6rem;
		bottom: -6rem;
	}
	.topcv_copy .copy {
		font-size: 40rem;
		margin-top: 28rem;
	}
	.topcv_copy .copy strong {
		font-size: 56rem;
		line-height: 74rem;
	}
	.topcv_copy .copy .dot::before {
		width: 7rem;
		background: #002d04;
		top: 5rem;
	}
	.topcv_gentle {
		background: #85b840;
		color: #fff;
		text-align: left;
		margin-top: 19rem;
		padding: 16rem;
		position: relative;
	}
	.topcv_gentle .copy {
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.topcv_gentle .copy .dot::before {
		width: 4rem;
		background: #fcec20;
	}
	.topcv_gentle .gentle {
		font-size: 18rem;
		letter-spacing: 1rem;
		border-top: 1.2rem #fff solid;
		margin-top: 13rem;
		padding-top: 8rem;
	}
	.topcv_gentle img {
		width: 121rem;
		position: absolute;
		right: -8rem;
		bottom: -19rem;
	}
	.top_cv .cv {
		margin-top: 60rem;
	}
	.top_cv .topcv_star1 {
		width: 14rem;
		top: 283rem;
		left: 16rem;
	}
	.top_cv .topcv_star2 {
		width: 12rem;
		top: 52rem;
		right: 97rem;
	}

	/* メンズルシアのこだわり */
	.dedication {
		background: #e6f1d9;
		padding: 32rem 32rem 48rem;
	}
	.dedi_ttl {
		font-size: 48rem;
		letter-spacing: 2.4rem;
	}
	.dedi_ttl .slash {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		padding-inline: 18rem;
	}
	.dedi_ttl .slash::before,
	.dedi_ttl .slash::after {
		width: 4rem;
		height: 40rem;
		background: #002d04;
	}
	.dedi_ttl strong {
		font-size: 80rem;
		line-height: .65em;
		vertical-align: -4rem;
	}
	.dedi_ttl small {
		font-size: 32rem;
	}
	.dedi_list {
		margin-top: 32rem;
		display: grid;
		gap: 40rem;
		counter-reset: dedi_list;
	}
	ol.dedi_list > li {
		border: 4rem #002d04 solid;
		position: relative;
	}
	ol.dedi_list > li::before {
		content: '0'counter(dedi_list);
		counter-increment: dedi_list;
		color: #fff;
		font-size: 48rem;
		font-family: "Barlow", sans-serif;
		letter-spacing: 2.4rem;
		-webkit-text-stroke: 1.2rem #002d04;
		text-stroke: 1.2rem #002d04;
		position: absolute;
		top: -34rem;
		left: -18rem;
	}
	.dedi_list .ttl {
		height: 100rem;
		background: #002d04;
		color: #fff;
		font-size: 19rem;
		letter-spacing: 1rem;
		line-height: 36rem;
		padding-top: 10rem;
	}
	.dedi_list .ttl span {
		font-size: 32rem;
		letter-spacing: 1.6rem;
	}
	.dedi_list .ttl small {
		font-size: 24rem;
	}
	.dedi_list .list_in {
		padding-inline: 28rem;
	}
	.dedi_list .list {
		margin-top: 16rem;
		display: grid;
	}
	.dedi_list .list li {
		height: 82rem;
		padding-left: 65rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.dedi_list .list li::before,
	.pain_ttl::before {
		content: '';
		width: 49rem;
		height: 49rem;
		background-color: #85b840;
		background-repeat: no-repeat;
		background-position: center center;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.dedi_list .list li:nth-child(n+2),
	.pain_list li:nth-child(n+2) {
		border-top: 1.2rem #ccc solid;
	}
	.dedi_list .list p {
		font-size: 16rem;
		letter-spacing: .8rem;
		line-height: 24rem;
		text-align: left;
	}

	/* こだわり_コンテンツ */
	.dedi1 .list_in {
		padding-block: 16rem 12rem;
	}
	.dedi1 .txt {
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: 1rem;
		line-height: 27rem;
	}
	.dedi1 .copy {
		border-top: 1.2rem #ccc solid;
		margin-top: 16rem;
		padding-top: 12rem;
		display: flex;
		position: relative;
	}
	.dedi1 .copy .bg_r {
		width: 47rem;
		height: 47rem;
		color: #fff;
		font-size: 12rem;
		letter-spacing: .6rem;
		line-height: 47rem;
		border-radius: 50%;
		position: absolute;
		top: -28rem;
		left: -46rem;
	}
	.dedi1 .copy .bg_r::after {
		content: '';
		width: 10rem;
		height: 10rem;
		background: #ea5525;
		clip-path: polygon(0 0, 100% 100%, 0 100%);
		position: absolute;
		bottom: 2rem;
		right: 2rem;
		rotate: 30deg;
	}
	.dedi1 .copy p {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		line-height: 30rem;
		text-align: left;
		white-space: nowrap;
		margin-right: -8rem;
		padding-top: 4rem;
	}
	.dedi1 .copy p .bg_y {
		font-size: 32rem;
		letter-spacing: 1.6rem;
		line-height: 62rem;
		margin-top: 8rem;
		padding-inline: 8rem;
		display: inline-block;
	}
	.dedi1 .copy p small {
		font-size: 24rem;
	}
	.dedi1 .notice {
		font-size: 10rem;
		font-weight: 700;
		letter-spacing: .5rem;
		text-align: left;
		margin-top: 8rem;
	}
	.dedi1 .copy img {
		width: 101rem;
	}
	.dedi1 .list li:nth-child(1)::before {
		background-image: url(images/dedi1_icon1.svg);
		background-size: 28rem auto;
	}
	.dedi1 .list li:nth-child(2)::before {
		background-image: url(images/dedi1_icon2.svg);
		background-size: 22rem auto;
	}
	.dedi1 .list li:nth-child(3)::before {
		background-image: url(images/dedi1_icon3.svg);
		background-size: 26rem auto;
	}
	.dedi2 .list_in,
	.dedi3 .list_in {
		padding-block: 32rem 12rem;
	}
	.dedi2 .copy {
		margin-top: 24rem;
	}
	.dedi2 .copy .slash {
		font-size: 16rem;
		font-weight: 700;
		letter-spacing: .8rem;
		padding-inline: 16rem;
	}
	.dedi2 .copy .slash::before,
	.dedi2 .copy .slash::after {
		width: 2rem;
		height: 32rem;
		background: #002d04;
	}
	.dedi2 .copy p {
		font-size: 32rem;
		letter-spacing: 1.6rem;
		line-height: 40rem;
		margin-top: 8rem;
	}
	.dedi2 .copy p small {
		font-size: 24rem;
	}
	.dedi2 .copy .bg_y {
		height: 32rem;
		font-size: 16rem;
		font-weight: 700;
		letter-spacing: .8rem;
		margin-top: 12rem;
		display: grid;
		place-content: center;
	}
	.dedi2 .list li:nth-child(1)::before {
		background-image: url(images/dedi2_icon1.svg);
		background-size: 29rem auto;
	}
	.dedi2 .list li:nth-child(2)::before {
		background-image: url(images/dedi2_icon2.svg);
		background-size: 25rem auto;
	}
	.dedi2 .list li:nth-child(3)::before {
		background-image: url(images/dedi2_icon3.svg);
		background-size: 32rem auto;
	}
	.dp2 {
		border-top: 1.2rem #002d04 solid;
		margin-top: 32rem;
		padding-top: 24rem;
	}
	.dp_ttl {
		width: 96rem;
		height: 32rem;
		font-size: 18rem;
		letter-spacing: 1rem;
		line-height: 28rem;
		border: 2rem #002d04 solid;
		display: inline-block;
	}
	.pain_list li {
		text-align: left;
		padding-block: 16rem;
	}
	.pain_ttl {
		height: 49rem;
		font-size: 18rem;
		letter-spacing: 1rem;
		padding-left: 65rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.dp_copy {
		font-size: 32rem;
		letter-spacing: 1.6rem;
		line-height: 36rem;
		margin-top: 8rem;
	}
	.dp_copy small {
		font-size: 24rem;
	}
	.dedi_point .img,
	.pain_list {
		margin-top: 28rem;
	}
	.trial_list {
		margin-top: 28rem;
		display: grid;
		gap: 24rem;
	}
	.trial_list li {
		filter: drop-shadow(0 0 5rem #00000029);
	}
	.tri_ttl {
		height: 40rem;
		background: #85b840;
		color: #fff;
		font-size: 24rem;
		letter-spacing: 1.2rem;
		display: grid;
		place-content: center;
	}
	.tri_part {
		font-size: 12rem;
		font-weight: 700;
		letter-spacing: .6rem;
		line-height: 18rem;
		margin-top: 10rem;
	}
	.tri_part .count {
		border: 1.2rem #002d04 solid;
		margin-right: 8rem;
		padding-inline: 6rem;
		display: inline-block;
	}
	.tri_price {
		font-size: 16rem;
		letter-spacing: .8rem;
		margin-top: 8rem;
		padding-block: 8rem 12rem;
		position: relative;
	}
	.tri_price::after {
		content: '';
		width: 290rem;
		height: 1.2rem;
		background: #ccc;
		margin-inline: auto;
		position: absolute;
		inset: 0;
	}
	.tri_price strong {
		font-size: 56rem;
		letter-spacing: 0;
		vertical-align: -4rem;
		margin-inline: 6rem 4rem;
	}
	.pain_list li:nth-child(1) .pain_ttl::before {
		background-image: url(images/dedi3_icon1.svg);
		background-size: 13rem auto;
	}
	.pain_list li:nth-child(2) .pain_ttl::before {
		background-image: url(images/dedi3_icon2.svg);
		background-size: 23rem auto;
	}
	.pain_list li:nth-child(3) .pain_ttl::before {
		background-image: url(images/dedi3_icon3.svg);
		background-size: 22rem auto;
	}
	.pain_txt {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 25rem;
		margin-top: 8rem;
	}

	/* セットプラン */
	.setplan {
		position: relative;
		z-index: 1;
	}
	.plan_wrap {
		background: #002d04;
		clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48rem), 50% 100%, 0 calc(100% - 48rem));
		padding-block: 36rem 97rem;
	}
	.plan_list {
		width: 386rem;
		margin: 32rem auto 0;
		display: grid;
		gap: 32rem;
	}
	.plan_list li {
		position: relative;
	}
	.plan_list .selection {
		width: 73rem;
		font-size: 14rem;
		letter-spacing: .7rem;
		line-height: 1.2;
		aspect-ratio: 1;
		border-radius: 50%;
		padding-top: 15rem;
		position: absolute;
		top: -9rem;
		left: -16rem;
	}
	.plan_list .selection b {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		vertical-align: -1rem;
	}
	.plan_list .ttl {
		height: 56rem;
		background: #85b840;
		color: #fff;
		font-size: 24rem;
		letter-spacing: 1.2rem;
		line-height: 56rem;
	}
	.plan_list .ttl .count {
		height: 24rem;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 22rem;
		vertical-align: 3rem;
		border: 1.2rem #fff solid;
		margin-left: 16rem;
		padding-inline: 4rem;
		display: inline-block;
	}
	.plan_list .list_in {
		padding-inline: 32rem;
		padding-bottom: 16rem;
	}
	.plan_list .img {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 8rem;
	}
	.plan_list .img i {
		width: 20rem;
		height: 20rem;
		background: #002d04;
		border-radius: 50%;
		flex-shrink: 0;
		position: relative;
	}
	.plan_list .img i::before,
	.plan_list .img i::after {
		content: '';
		width: 1.2rem;
		height: 10rem;
		background: #fff;
		margin: auto;
		position: absolute;
		inset: 0;
	}
	.plan_list .img i::after {
		rotate: 90deg;
	}
	.plan_list .plan1 .img,
	.plan_list .plan2 .img,
	.plan_list .plan3 .img,
	.plan_list .plan4 .img {
		padding-top: 16rem;
	}
	.plan_list .plan5 .img,
	.plan_list .plan6 .img {
		padding-top: 20rem;
	}
	.plan_list .plan1 img,
	.plan_list .plan2 img {
		width: 224rem;
	}
	.plan_list .plan3 img,
	.plan_list .plan4 img {
		width: 108rem;
	}
	.plan_list .plan5 img:nth-of-type(1),
	.plan_list .plan6 .img > img {
		width: 100rem;
	}
	.plan_list .plan5 img:nth-of-type(2) {
		width: 184rem;
	}
	.plan_list .plan6 .img_in {
		width: 127rem;
		display: grid;
		gap: 10rem;
	}
	.plan_list strong {
		letter-spacing: 0 !important;
		margin-inline: 4rem;
	}
	.plan_list .full {
		font-size: 16rem;
		letter-spacing: .8rem;
	}
	.plan_list li:nth-child(1) .full {
		margin-top: 8rem;
	}
	.plan_list li:nth-child(n+2) .full {
		margin-top: 16rem;
	}
	.plan_list .full strong {
		font-size: 56rem;
		vertical-align: -3rem;
	}
	.plan_list .full_b,
	.plan_list .month {
		font-size: 12rem;
		letter-spacing: .6rem;
		margin-top: 10rem;
	}
	.plan_list .month {
		border-top: 1.2rem #ccc solid;
		padding-top: 10rem;
	}
	.plan_list .full_b strong,
	.plan_list .month strong {
		font-size: 24rem;
	}
	.plan_list .full_b {
		position: relative;
	}
	.plan_list .full_b::after {
		width: 7rem;
		height: 6rem;
		background: #ccc;
		bottom: -14rem;
	}
	.plan_ban {
		margin-top: 56rem;
		padding-inline: 32rem;
	}
	.setplan .cv {
		margin-top: 56rem;
	}
	.setplan .cv_copy,
	.setplan .notice li {
		color: #fff;
	}
	.setplan .notice {
		margin-top: 16rem;
		padding-inline: 32rem;
	}
	.setplan .more {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		margin-inline: auto;
		position: absolute;
		inset: auto 0 13rem;
	}
	.setplan .plan_more {
		width: 72rem;
		position: absolute;
		bottom: -60rem;
		right: 70rem;
	}

	/* 割引 */
	.discount {
		background: #e6f1d9;
		margin-top: -48rem;
		padding: 64rem 32rem 48rem;
	}
	.disc_ttl {
		font-size: 40rem;
		letter-spacing: 2rem;
	}
	.disc_ttl small {
		font-size: 32rem;
		letter-spacing: 1.6rem;
	}
	.disc_ttl .balloon {
		width: 154rem;
		height: 32rem;
		background: #85b840;
		color: #fff;
		font-size: 16rem;
		letter-spacing: .8rem;
		line-height: 32rem;
		display: inline-block;
		position: relative;
	}
	.disc_ttl .balloon::after {
		width: 11rem;
		height: 9rem;
		background: #85b840;
		bottom: -9rem;
	}
	.disc_list {
		margin-top: 12rem;
		display: grid;
		gap: 16rem;
	}
	.disc_list li {
		height: 155rem;
		text-align: left;
		filter: drop-shadow(0 0 5rem #00000029);
		padding: 16rem 0 0 105rem;
		position: relative;
	}
	.disc_list li::before {
		content: '';
		width: 73rem;
		height: 73rem;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		left: 16rem;
	}
	.disc_list li:nth-child(1)::before {
		background: #85b840 url(images/disc_icon1.svg) no-repeat center center / 41rem auto;
	}
	.disc_list li:nth-child(2)::before {
		background: #85b840 url(images/disc_icon2.svg) no-repeat center center / 46rem auto;
	}
	.disc_list .ttl,
	.disc_list .fc_r {
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.disc_list .txt {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		margin-top: 4rem;
	}
	.disc_list .fc_r {
		margin-top: 2rem;
	}
	.disc_list strong {
		font-size: 56rem;
		letter-spacing: 0;
		margin-right: 4rem;
	}
	.discount .notice {
		font-size: 12rem;
		font-weight: 700;
		letter-spacing: .6rem;
		line-height: 21rem;
		text-align: left;
		margin-top: 12rem;
	}

	/* 0円保証 */
	.guarantee {
		background: #fbf5e9 url(images/gua_bg.svg) no-repeat right 16rem top 4rem / 200rem auto;
		padding-block: 48rem;
	}
	.gua_ttl .slash {
		font-size: 18rem;
		font-weight: 700;
		letter-spacing: 1rem;
		padding-inline: 17rem;
	}
	.gua_ttl .slash::before,
	.gua_ttl .slash::after {
		width: 2rem;
		height: 24rem;
		background: #002d04;
	}
	.gua_ttl .line_y {
		background: linear-gradient(0deg, transparent 4rem, #fcec20 4rem, #fcec20 20rem, transparent 20rem);
		font-size: 32rem;
		letter-spacing: 1.6rem;
		margin-top: -5rem;
		padding-inline: 4rem;
		display: inline-block;
	}
	.gua_ttl strong {
		font-size: 92rem;
		vertical-align: -3rem;
	}
	.gua_txt {
		font-size: 18rem;
		letter-spacing: 1rem;
		margin-top: 18rem;
	}
	.gua_list {
		width: 385rem;
		margin: 24rem auto 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16rem;
	}
	.gua_list li {
		height: 64rem;
		background: #002d04;
		padding-left: 62rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.gua_list li::before {
		content: '';
		width: 38rem;
		height: 38rem;
		background-color: #fff;
		background-repeat: no-repeat;
		background-position: center center;
		border-radius: 50%;
		margin-block: auto;
		position: absolute;
		inset: 0;
		left: 16rem;
	}
	.gua_list li:nth-child(1)::before {
		background-image: url(images/gua_icon1.svg);
		background-size: 30rem auto;
	}
	.gua_list li:nth-child(2)::before {
		background-image: url(images/gua_icon2.svg);
		background-size: 30rem auto;
	}
	.gua_list li:nth-child(3)::before {
		background-image: url(images/gua_icon3.svg);
		background-size: 28rem auto;
	}
	.gua_list li:nth-child(4)::before {
		background-image: url(images/gua_icon4.svg);
		background-size: 32rem auto;
	}
	.gua_list li:nth-child(5)::before {
		background-image: url(images/gua_icon5.svg);
		background-size: 23rem auto;
	}
	.gua_list li:nth-child(6)::before {
		background-image: url(images/gua_icon6.svg);
		background-size: 30rem auto;
	}
	.gua_list li:nth-child(7)::before {
		background-image: url(images/gua_icon7.svg);
		background-size: 34rem auto;
	}
	.gua_list li:nth-child(8)::before {
		background-image: url(images/gua_icon8.svg);
		background-size: 31rem auto;
	}
	.gua_list p {
		color: #fff;
		font-size: 14rem;
		letter-spacing: .7rem;
		line-height: 21rem;
		text-align: left;
	}
	.gua_list p small {
		font-size: 12rem;
		margin-left: 4rem;
	}
	.guarantee .notice {
		margin-top: 16rem;
		padding-inline: 32rem;
		counter-reset: guarantee;
	}
	.guarantee .notice li::before {
		content: '※'counter(guarantee);
		counter-increment: guarantee;
		margin-right: 8rem;
	}
	.guarantee .cv {
		margin-top: 48rem;
	}

	/* お支払いについて */
	.pay_list {
		text-align: left;
		padding: 32rem;
	}
	.pay_list dt:nth-of-type(n+2) {
		border-top: 1.2rem #ccc solid;
		margin-top: 24rem;
		padding-top: 24rem;
	}
	.pay_list dt span {
		height: 35rem;
		font-size: 24rem;
		letter-spacing: 1.2rem;
		line-height: 35rem;
		padding-left: 44rem;
		display: block;
	}
	.pay_list dt:nth-of-type(1) span {
		background: url(images/pay_icon1.svg) no-repeat left center / 35rem auto;
	}
	.pay_list dt:nth-of-type(2) span {
		background: url(images/pay_icon2.svg) no-repeat left 3rem center / 28rem auto;
	}
	.pay_list dt:nth-of-type(3) span {
		background: url(images/pay_icon3.svg) no-repeat left 9rem center / 21rem auto;
	}
	.pay_list dt:nth-of-type(4) span {
		background: url(images/pay_icon4.svg) no-repeat left center / 35rem auto;
	}
	.pay_list dd,
	.pay_list dd .img {
		margin-top: 16rem;
	}
	.pay_list dd:nth-of-type(3) .img {
		width: 286rem;
	}
	.pay_list dd p {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 25rem;
	}

	/* 初回施術までの流れ */
	.flow {
		background: #fbf5e9;
		padding-bottom: 48rem;
	}
	.flow .swiper-wrapper {
		padding-block: 32rem 56rem;
	}
	.flow .swiper-slide {
		width: 353rem;
		height: 377rem;
		filter: drop-shadow(0 0 10rem #00000029);
		translate: 32rem 0;
	}
	.swiper .img img {
		height: 176rem;
		object-fit: cover;
	}
	.swiper .ttl {
		margin-top: 12rem;
		padding-inline: 16rem;
		display: flex;
		align-items: center;
	}
	.swiper .ttl span {
		height: 44rem;
		color: #85b840;
		font-size: 24rem;
		letter-spacing: 1.2rem;
	}
	.swiper .ttl span i {
		font-size: 12rem;
		letter-spacing: .6rem;
		line-height: 18rem;
		display: block;
	}
	.swiper .ttl p {
		font-size: 18rem;
		letter-spacing: 1rem;
		margin-left: 16rem;
	}
	.swiper .txt {
		margin-top: 8rem;
		padding-inline: 16rem;
	}
	.swiper .txt p {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 25rem;
		text-align: left;
	}
	.message {
		padding: 0 32rem 40rem;
	}
	.msg_ttl .slash {
		color: #85b840;
		font-size: 18rem;
		letter-spacing: 1rem;
		padding-inline: 10rem;
	}
	.msg_ttl .slash::before,
	.msg_ttl .slash::after {
		width: 2rem;
		height: 24rem;
		background: #85b840;
	}
	.msg_ttl strong {
		font-size: 32rem;
		letter-spacing: 1.6rem;
		margin-top: 8rem;
		display: inline-block;
	}
	.msg_in {
		border: 4rem #85b840 solid;
		margin-top: 24rem;
		padding: 28rem;
	}
	.msg_in .line_y {
		background: linear-gradient(0deg, transparent 3rem, #fcec20 3rem, #fcec20 11rem, transparent 11rem);
		font-size: 32rem;
		letter-spacing: 1.6rem;
		padding-inline: 2rem;
	}
	.msg_in .copy {
		background: #e6f1d9;
		font-size: 16rem;
		letter-spacing: .8rem;
		line-height: 24rem;
		margin-top: 14rem;
		padding-block: 16rem;
	}
	.msg_in .txt {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 25rem;
		text-align: left;
		margin-top: 16rem;
	}

	/* よくあるご質問 */
	.qanda {
		padding-bottom: 32rem;
	}
	.qa_wrap {
		margin: 32rem 32rem 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	input[name="qa_tab"] {
		display: none;
	}
	.qa_tab {
		width: 123rem;
		height: 40rem;
		font-size: 14rem;
		letter-spacing: .7rem;
		border-radius: 5rem 5rem 0 0;
		display: grid;
		place-content: center;
		position: relative;
	}
	.qa_wrap input:not(:checked) + .qa_tab {
		background: #ccc;
	}
	.qa_wrap input:checked + .qa_tab {
		background: #002d04;
		color: #fff;
	}
	.qa_cont {
		width: 100%;
		border: 4rem #002d04 solid;
		padding: 12rem;
		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;
		letter-spacing: .7rem;
		line-height: 25rem;
		position: relative;
	}
	.qa_list dt {
		padding: 16rem 40rem 16rem 0;
		display: flex;
		align-items: center;
	}
	.qa_list dt::before,
	.qa_list dt::after {
		content: '';
		width: 2rem;
		height: 16rem;
		background: #85b840;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 20rem;
		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: 1.2rem #ccc solid;
	}
	.qa_list dd {
		margin-top: 8rem;
		padding: 0 0 16rem 40rem;
		display: none;
	}
	.qa_list .fig {
		width: 32rem;
		height: 32rem;
		color: #fff;
		letter-spacing: 0;
		border-radius: 50%;
		flex-shrink: 0;
		display: grid;
		place-content: center;
	}
	.qa_list dt .fig {
		background: #85b840;
	}
	.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: 12rem;
	}

	/* クリニック情報 */
	.clinic {
		background: #e6f1d9;
		padding-bottom: 44rem;
	}
	.clinic_ttl {
		color: #fff;
		font-size: 32rem;
		letter-spacing: 1.6rem;
		text-align: left;
		padding: 24rem 0 18rem 83rem;
	}
	.clinic_ttl small {
		font-size: 24rem;
		letter-spacing: 1.2rem;
		vertical-align: 8rem;
		display: inline-block;
	}
	.clinic_map {
		height: 250rem;
		margin: 20rem auto 0;
		padding-inline: 32rem;
	}
	.clinic_map iframe {
		width: 100%;
		height: 100%;
	}
	.clinic_info {
		width: 386rem;
		margin-inline: auto;
	}
	.clinic_info tr {
		margin-top: 16rem;
		display: flex;
	}
	.clinic_info th {
		width: 36rem;
		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: 27rem;
	}
	.clinic_info tr:nth-child(2) th img {
		width: 24rem;
	}
	.clinic_info td {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 25rem;
		text-align: left;
	}
	.clinic_info a {
		color: #ea5525;
		border-bottom: 1.2rem #ea5525 solid;
	}
	.clinic .btns {
		margin-top: 24rem;
		padding-inline: 64rem;
		display: grid;
		gap: 8rem;
	}
	.clinic .btns a {
		height: 56rem;
		display: grid;
		place-content: center;
	}
	.clinic .btns span {
		font-size: 18rem;
		letter-spacing: 1rem;
		padding-left: 24rem;
		position: relative;
	}
	.clinic .btns span::before {
		content: '';
		width: 20rem;
		height: 20rem;
		margin-block: auto;
		position: absolute;
		inset: 0;
	}
	.clinic .cv_btn {
		color: #fff;
	}
	.clinic .cv_btn span::before {
		background: url(images/clinic_icon4.svg) no-repeat center center / 100% auto;
	}
	.clinic .tel_btn {
		background: #fff;
		border: 2rem #002d04 solid;
	}
	.clinic .tel_btn span::before {
		background: url(images/clinic_icon5.svg) no-repeat center center / 100% auto;
	}

	/* フォーム */
	.form {
		padding-bottom: 32rem;
	}
	.form_ttl {
		height: 96rem;
		color: #fff;
		font-size: 32rem;
		letter-spacing: 1.6rem;
		display: grid;
		place-content: center;
	}
	.form_notice {
		width: 386rem;
		background: #fbf5e9;
		border-radius: 10rem;
		margin: 32rem auto 0;
		padding: 16rem;
	}
	.form_notice .txt {
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 22rem;
		text-align: left;
	}
	.form_list {
		width: 386rem;
		margin: 24rem auto 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16rem;
	}
	.form_list a {
		height: 52rem;
		background: #fff;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		border: 2rem #002d04 solid;
		border-radius: 5rem;
		padding-left: 16rem;
		display: flex;
		align-items: center;
		position: relative;
	}
	.form_list a::after {
		content: '';
		width: 10rem;
		height: 10rem;
		border-top: 2rem #002d04 solid;
		border-right: 2rem #002d04 solid;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 16rem;
		rotate: 45deg;
	}
	.form_btn {
		width: 290rem;
		height: 48rem;
		color: #fff;
		font-size: 18rem;
		letter-spacing: 1rem;
		line-height: 46rem;
		margin-top: 24rem;
		display: inline-block;
		position: relative;
	}
	.form_btn::before,
	.form_btn::after {
		content: '';
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	.form_btn::before {
		width: 15rem;
		height: 15rem;
		background: #fff;
		border-radius: 50%;
		right: 12rem;
	}
	.form_btn::after {
		width: 4rem;
		height: 4rem;
		border-top: 1.2rem #ea5525 solid;
		border-right: 1.2rem #ea5525 solid;
		right: 18rem;
		rotate: 45deg;
	}

	/* footer */
	footer {
		background: #002d04;
		color: #fff;
		padding: 64rem 16rem 16rem;
	}
	.footer_logo .copy {
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: 1.2rem;
	}
	.footer_logo img {
		width: 280rem;
	}
	footer .sns {
		margin-top: 8rem;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 30rem;
	}
	footer .sns li:nth-child(1) img {
		width: 15rem;
	}
	footer .sns li:nth-child(2) {
		width: 30rem;
	}
	footer .sns li:nth-child(3) {
		width: 26rem;
	}
	footer .copyright {
		font-size: 12rem;
		font-weight: 500;
		letter-spacing: .6rem;
		border-top: 1.2rem #fff solid;
		margin-top: 64rem;
		padding-top: 16rem;
	}

	/* 症例追加コンテンツ */
	.case {
		background: #fbf5e9;
		margin-top: 30rem;
		padding-bottom: 24rem;
	}
	.case_ttl {
		padding-top: 32rem;
		position: relative;
	}
	.case_ttl .balloon {
		width: 224rem;
		height: 40rem;
		font-size: 24rem;
		font-weight: 700;
		letter-spacing: 1.2rem;
		line-height: 36rem;
		border: 2rem #002d04 solid;
		margin-inline: auto;
		position: absolute;
		inset: -20rem 0 auto;
	}
	.case_ttl .balloon::before {
		content: '';
		width: 14rem;
		height: 14rem;
		background: #002d04;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-inline: auto;
		position: absolute;
		inset: auto 0 -14rem;
	}
	.case_ttl .balloon::after {
		width: 10rem;
		height: 10rem;
		background: #fff;
		bottom: -10rem;
	}
	.case_ttl .balloon small {
		font-size: 18rem;
	}
	.case_ttl strong {
		font-size: 40rem;
		letter-spacing: 2rem;
	}
	.case_ttl .dot::before {
		width: 4rem;
		background: #ea5525;
		translate: 0 4rem;
	}
	.case_ttl span {
		font-size: 32rem;
		letter-spacing: 1.6rem;
	}
	.case_ba {
		margin-top: 16rem;
		padding-inline: 28rem;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32rem;
	}
	.case_ba li {
		border: 4rem #85b840 solid;
		position: relative;
	}
	.case_ba li:nth-child(1)::after {
		content: '';
		width: 10rem;
		height: 12rem;
		background: #002d04;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: -25rem;
	}
	.case_ba img {
		height: 172rem;
		object-fit: cover;
	}
	.case_ba p {
		height: 55rem;
		background: #85b840;
		color: #fff;
		font-size: 14rem;
		font-weight: 700;
		letter-spacing: .7rem;
		line-height: 21rem;
		padding-top: 4rem;
		display: grid;
		place-content: center;
	}
	.case_ba small {
		font-size: 12rem;
	}
	.case_notice {
		margin-top: 8rem;
		padding-inline: 28rem;
	}
	.case_notice li {
		font-size: 10rem;
		font-weight: 700;
		letter-spacing: .5rem;
		line-height: 15rem;
		text-align: left;
	}