@charset "UTF-8";
	:root {
		--color-black: #000;
		--color-red: #ea5525;
		--color-red2: #e95525;
		--color-yellow: #fcee21;
		--color-green: #85b840;
		--color-green2: #619b14;
		--color-gray: #ededed;
		--color-beige: #f1e7cf;
		--text-tate: vertical-rl;
		--translate-x: -50% 0;
		--translate-y: 0 -50%;
		--floating-shadow: 0 0 2rem var(--white);
	}
	html {
		font-size: calc(100vw / ( var(--size-base) / 1 ));
		scroll-behavior: smooth;
	}
	body {
		color: var(--green-4);
		font-size: 15.7rem;
		font-weight: 700;
		font-feature-settings: 'palt' 1;
		letter-spacing: .1em;
	}

@media (min-width:769px) {
	html {
		--size-base: 1280;
		scroll-padding-top: 160rem;
	}
	#pc_fixed {
		width: 50%;
		height: 100vh;
		background: var(--green-4);
		display: flex!important;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		overflow: hidden;

		& img {
			filter: drop-shadow(5rem 5rem 0 #145619);
			position: absolute;
		}
	}
	.pc_imgs_1 {
		width: 328rem;
		top: 24rem;
		left: 130rem;
	}
	.pc_imgs_2 {
		width: 347rem;
		top: 170rem;
		left: 0;
	}
	.pc_imgs_3 {
		width: 320rem;
		top: 474rem;
		left: 0;
	}
	.pc_imgs_4 {
		width: 405rem;
		top: 130rem;
		right: -110rem;
	}
	.pc_imgs_5 {
		width: 324rem;
		top: 418rem;
		right: -24rem;
	}
	.pc_imgs_6 {
		width: 262rem;
		top: 642rem;
		right: 110rem;
	}
	#pc_loop {
		width: 50%;
		height: 110rem;
		background: linear-gradient(90deg, var(--color-gray) 0%, var(--color-gray) 90%, transparent 90%, transparent 100%);
		position: fixed;
		top: 0;
		left: 50%;
		z-index: 100;

		& ul {
			height: 40rem;
			overflow: hidden;
		}
		& .loop1 {
			animation: loop1 38s -19s linear infinite;
		}
		& .loop2 {
			animation: loop2 38s linear infinite;
		}
		& span {
			width: 280rem;
			font-size: 20rem;
			line-height: 40rem;
		}
	}
	@keyframes loop1 {
		0% { translate: 100% 0; }
		100% { translate: -100% 0; }
	}
	@keyframes loop2 {
		0% { translate: 0 0; }
		100% { translate:-200% 0; }
	}
	main {
		width: unset;
		background: var(--color-gray);
		padding: 110rem 0 110rem 50%;
		position: relative;
		overflow-x: hidden;
	}
	article {
		width: 387rem;
		border: 2rem #012e05 solid;
	}

	/* 追尾 */
	#footnav {
		position: fixed;
		bottom: 10rem;
		right: 30rem;
		z-index: 9999;
	}
	.floating_btn {
		& .bg_tp {
			font-size: 15rem;
			font-family: 'RocknRoll One', sans-serif;
			font-weight: 100;
			letter-spacing: .1em;
			-webkit-text-stroke: 3rem var(--white);
			text-stroke: 3rem var(--white);
			padding: 0 84rem 3rem 0;
		}
		& .bg_g {
			background: #032d05;
			color: var(--white);
			font-size: 14rem;
			letter-spacing: .1em;
			line-height: 18rem;
			padding: 8rem 84rem 10rem 10rem;
		}
		& .ital {
			-webkit-text-stroke: 3rem #032d05;
			text-stroke: 3rem #032d05;
			filter: drop-shadow(2rem 2rem var(--color-green2));
		}
		& img {
			width: 77rem;
			height: auto;
			position: absolute;
			bottom: 0;
			right: 0;
		}
	}
}

@media (max-width: 768px) {
	html {
		--size-base: 384;
		scroll-padding-top: 50rem;
	}
	article {
		width: 100%;
	}
	/* 追尾 */
	#footnav {
		height: 93rem;
		position: fixed;
		inset: auto 0 0;
		z-index: 9999;

		&.invisible {
			animation: fade .2s ease-in-out forwards;
			pointer-events: none;
		}
	}
	.floating_btn a {
		width: 100%;
		height: 100%;
		font-size: 0;
		display: block;
	}
}

	article {
		background: var(--color-green);
		margin-inline: auto;
		position: relative;
	}
	img {
		width: 100%;
		height: auto;
	}

	/* font */
	.min {
		font-family: 'Noto Serif JP', serif;
	}
	.eng {
		font-family: 'Teko', sans-serif;
		font-weight: 500;
	}
	.eng_pr {
		font-family: 'Barlow', sans-serif;
		font-weight: 700;
		font-style: italic;
	}
	.ital {
		font-style: italic;
	}
	.cl_red {
		color: var(--color-red);
	}
	.cl_yellow {
		color: var(--color-yellow);
	}
	.bg_red {
		background: var(--color-red);
	}
	.bg_gray {
		background: #aaa;
	}
	/* layout */
	.flex {
		display: flex;
	}
	.block {
		display: block;
	}
	/* 汎用 */
	/* 見出し_斜体 */
	.skew {
		height: 50rem;
		letter-spacing: .06em;
		margin-bottom: 25rem;
		padding-left: 18rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		position: relative;

		&::before {
			content: '';
			width: 8rem;
			height: 50rem;
			background: var(--color-red2);
			transform : skewX(-14deg);
			transform-origin: left bottom;
			position: absolute;
			inset: 0;
		}
		& small {
			font-size: 12rem;
			font-weight: 500;
			margin-left: 1em;
			display: block;
		}
		& .large {
			font-size: 24rem;
			font-style: italic;
			line-height: 1.15;
		}
	}
	/* 見出し_ライン */
	.border span {
		line-height: 1;
		position: relative;

		&::before,
		&::after {
			content: '';
			height: 2rem;
			background: var(--color-green2);
			border-radius: 2rem;
			position: absolute;
			top: 50%;
			translate: var(--translate-y);
		}
		&::before {
			right: calc(100% + 8rem);
		}
		&::after {
			left: calc(100% + 6rem);
		}
	}
	section .copy {
		color: var(--white);
		font-weight: 700;
		font-style: italic;
		letter-spacing: .06em;
		-webkit-text-stroke: 3rem #032d05;
		text-stroke: 3rem #032d05;
		filter: drop-shadow(0 3rem var(--color-green2));

		& span {
			font-size: 150%;
			line-height: 1;
		}
	}
	.round { /* 角丸見出し */
		height: 30rem;
		color: var(--white);
		font-size: 17rem;
		letter-spacing: .12em;
		line-height: 30rem;
		border-radius: 15rem;
		margin-inline: auto;
	}
	.sougaku { /* 総額表記 */
		font-weight: 900;
		writing-mode: var(--text-tate);
		line-height: 1;
	}
	.tax { /* 税込 */
		font-weight: 900;
		position: relative;
	}
	.sla::before {
		content: '＼';
	}
	.sla::after {
		content: '／';
	}

	/* header */
	header {
		width: 100%;
		height: 50rem;
		background: var(--white);
		padding-inline: 8rem;
		display: flex;
		justify-content: space-between;
		align-items: center;

		& .logo {
			width: 125rem;
		}
		& .head_cv {
			width: 230rem;
			height: 37rem;

			& a {
				width: 100%;
				height: 100%;
				background: var(--color-red);
				color: var(--white);
				font-size: 14rem;
				font-weight: 900;
				line-height: 1.4;
				border-radius: 18.5rem;
				box-shadow: 0 3rem #c03305;
				padding-top: 3rem;
				padding-left: 42rem;
				display: block;
				position: relative;

				&::before {
					content: '';
					width: 30rem;
					height: 30rem;
					background: var(--white) url(../images/cv_icon.png) no-repeat center / 17rem auto;
					border-radius: 50%;
					position: absolute;
					top: 50%;
					left: 12rem;
					translate: var(--translate-y);
				}
			}
			& small {
				font-size: 10rem;
				font-weight: 700;
				display: block;
			}
			& .dot::before {
				width: 2rem;
				background: var(--white);
			}
		}
	}

	/* CVボタン */
	.cv_btn {
		width: 280rem;
		margin-inline: auto;
		position: relative;
		z-index: 10;

		& a {
			width: 100%;
			height: 67rem;
			border-radius: 34rem;
			margin-inline: auto;
			padding-left: 60rem;
			display: block;
			position: relative;
			&::before {
				content: '';
				width: 53rem;
				height: 53rem;
				background: var(--white);
				border-radius: 50%;
				position: absolute;
				top: 50%;
				left: 10rem;
				translate: var(--translate-y);
			}
			&::after {
				content: '';
				width: 29.5rem;
				height: 37.5rem;
				background: url('../images/cv_icon.png') no-repeat center / 100% auto;
				position: absolute;
				top: 12rem;
				left: 22rem;
			}

			& .dot::before {
				width: 2rem;
			}
			& small {
				font-size: 12rem;
				padding-top: 12rem;
				display: block;
			}
			& strong {
				font-size: 20rem;
				font-weight: 900;
			}
		}
		&.bg_yellow a {
			background: var(--color-yellow);
			box-shadow: 0 6rem #436e09;

			& .dot::before {
				background: var(--green-4);
			}
		}
		&.bg_orange a {
			background: var(--color-red);
			color: var(--white);
			box-shadow: 0 6rem #b43005;

			& .dot::before {
				background: var(--white);
			}
		}
	}
	.cta p {
		font-size: 10rem;
		font-weight: 900;
		margin-top: 1.4em;
	}

	/* FV */
	#first_view {
		padding-bottom: 38rem;

		& .cta {
			margin-top: 20rem;
		}
	}
	.fv_img {
		font-size: 0;
	}
	.fv_txt {
		background: var(--white);
		border: 2rem var(--color-black) solid;
		padding: 20rem 12rem 10rem;

		& .count {
			width: 126rem;
			font-size: 15rem;
			letter-spacing: .16em;

			& p {
				height: 27rem;
				background: var(--green-4);
				color: var(--white);
				line-height: 27rem;
			}
			& b {
				font-size: 120%;
				vertical-align: -1rem;
			}
		}
	}
	.fv_price {
		white-space: nowrap;
		margin-left: 9rem;

		& .sougaku {
			font-size: 22rem;
		}
		& .eng {
			font-size: 72rem;
			letter-spacing: -.02em;
			line-height: 0;
			margin-left: 3rem;
		}
		& .tax {
			font-size: 22rem;
			vertical-align: 2rem;
		}
	}
	.fv_list {
		margin-top: 8rem;
		padding-left: 12rem;

		& li {
			font-size: 10rem;
			letter-spacing: .12em;
			line-height: 1.75;
			text-align: left;

			&::before {
				content: '※';
			}
		}
	}

	/* difference */
	#difference {
		position: relative;
		overflow: hidden;
	}
	.diff_in {
		background: var(--white);
		border-bottom-left-radius: 50% 44rem;
		border-bottom-right-radius: 50% 44rem;
		margin: 0 -20rem;
		padding: 38rem 32rem 36rem;

		& > .cta {
			margin-top: 40rem;
		}
	}
	.point_list {
		& > li:nth-child(even) {
			margin-top: 40rem;
		}
		& .list_ttl {
			height: 49rem;
			background: #00aabe;
			color: var(--white);
			font-size: 20rem;
			letter-spacing: .18em;
			line-height: 49rem;
			border-radius: 10rem 10rem 0 0;
		}
		& .list_in {
			background: var(--color-beige);
			padding: 20rem 22rem;
		}
		& .copy {
			font-size: 20rem;
			letter-spacing: .1em;
			line-height: 1.375;
		}
		& .list_img {
			font-size: 0;
			margin-top: 24rem;
		}
		& .list_txt {
			font-size: 14rem;
			letter-spacing: .12em;
			line-height: 1.75;
			margin-top: 16rem;
			padding-bottom: 17rem;

			& p {
				text-align: left;
			}
		}
		& .case {
			width: 300rem;
			background: var(--white);
			border: 1rem var(--green-4) solid;
			border-radius: 5rem;
			margin: 30rem auto 0;
		}
		& .case_ttl {
			height: 22rem;
			background: var(--green-4);
			color: var(--white);
			font-size: 14rem;
			letter-spacing: .12em;
			line-height: 22rem;
			border-radius: 11rem;
			padding: 0 10rem;
			display: inline-block;
			translate: 0 -15rem;
		}
		& .case_img {
			font-size: 0;
			margin: 3rem 12rem 8rem;
			padding-bottom: 17rem;
			border-bottom: 1rem var(--green-4) solid;
		}
		& .case_txt {
			font-size: 15rem;
			letter-spacing: .12em;
			line-height: 1;
			padding-bottom: 15rem;
		}
		& > li:nth-child(4) .case {
			background: #e9f3dc url('../images/feature_bg.png') repeat center;
			background-size: 18rem auto;
		}
		& .case_in_txt {
			font-size: 14rem;
			letter-spacing: .12em;
			line-height: 1.47;
		}
		& .case_list {
			margin-top: 9rem;
			padding-bottom: 18rem;
			justify-content: center;

			& span {
				width: 96rem;
				height: 96rem;
				color: var(--color-green);
				font-size: 26rem;
				font-family: 'RocknRoll One', sans-serif;
				font-weight: 100;
				line-height: 1;
				border-radius: 50%;
				filter: drop-shadow(3rem 3rem var(--color-green2));
				display: flex;
				justify-content: center;
				align-items: center;
				flex-direction: column;
				position: relative;

				&:nth-child(1) {
					z-index: 2;
					margin-right: -12rem;
				}
				&:nth-child(2) {
					z-index: 1;
					margin-right: -12rem;
				}
				&:nth-child(odd) {
					background: #f2ffe0;
				}
				&:nth-child(even) {
					background: var(--white);
				}
			}
			& small {
				font-size: 18rem;
				padding-bottom: 5rem;
			}
			& .batsu::after {
				content: '';
				background: url('../images/batsu.png') no-repeat center / 59rem auto;
				position: absolute;
				inset: 0;
			}
		}
		& .cta {
			margin: 25rem auto;
		}
	}

	/* price */
	#price {
		width: 360rem;
		margin: 38rem auto 0;

		& .inner .round {
			background: var(--green-4);
		}
		& .price {
			background: #e9f3dc;
			border: 2rem var(--green-4) solid;
			border-radius: 10rem;
			margin-top: 20rem;
			padding: 21rem 22rem 22rem;
			position: relative;
		}
		& > .cta {
			margin: 25rem auto 24rem;
		}
		& .kome {
			color: var(--white);
			font-size: 10rem;
			font-weight: 500;
			letter-spacing: .12em;
			line-height: 1.75;
			text-align: left;
			margin-top: 10rem;

			& li {
				display: flex;

				&::before {
					content: '※';
				}
			}
		}
	}
	.part {
		background: var(--white);
		border: 2rem var(--green-4) solid;
		border-radius: 10rem;
		padding-block: 20rem 16rem;

		& h2 {
			font-size: 19rem;
			margin-bottom: 13rem;

			#hige &,
			#full & {
				width: 190rem;
			}
			#delicate & {
				width: 297rem;
			}
		}
		& .flex {
			padding-left: 23rem;
			padding-right: 15rem;
			justify-content: space-between;
		}
		& .part_list {
			counter-reset: course;

			& li {
				font-size: 15rem;
				line-height: 1.2;
				text-align: left;
				padding-left: 1.3em;
				position: relative;

				&:nth-child(n+2) {
					margin-top: 9rem;
				}
				&::before {
					counter-increment: course;
					content: counter(course);
					width: 14rem;
					height: 14rem;
					background: var(--green-4);
					color: var(--white);
					font-size: 10rem;
					font-weight: 700;
					letter-spacing: 0;
					line-height: 13rem;
					text-align: center;
					border-radius: 50%;
					margin-block: auto;
					position: absolute;
					inset: 0;
				}
			}
		}
		#hige & .img {
			width: 208rem;
			margin-top: -3rem;
			margin-right: 6rem;
		}
		#full & .img {
			width: 186rem;
		}
		#delicate & .img {
			width: 190rem;
		}
	}
	.price_list li {
		position: relative;

		&:nth-child(n+2) {
			margin-top: 19rem;
			padding-top: 22rem;
		}
		&:nth-child(n+2)::after {
			content: '';
			width: 100%;
			height: 2rem;
			background: var(--green-4);
			border-radius: 1rem;
			position: absolute;
			top: 0;
			left: 50%;
			translate: var(--translate-x);
		}
		& .border span {
			color: var(--color-green2);
			font-size: 18rem;
			font-weight: 900;
			letter-spacing: .12em;
			line-height: 1.38;
			-webkit-text-stroke: 2rem var(--white);
			text-stroke: 2rem var(--white);
			filter: drop-shadow(2rem 3rem var(--color-green2));

			&::before,
			&::after {
				width: 18rem;
				border: 1rem var(--white) solid;
				box-sizing: content-box;
			}
		}
		& .price_box {
			letter-spacing: .08em;
			white-space: nowrap;
			-webkit-text-stroke: 2rem var(--white);
			text-stroke: 2rem var(--white);
			filter: drop-shadow(1rem 2rem var(--color-green2));
			margin-top: 2rem;

			& .sougaku {
				font-size: 25rem;
				letter-spacing: .08em;
				margin-right: 5rem;
				translate: 0 3rem;
				scale: 1 1.1;
			}
			& .eng_pr {
				font-size: 77rem;
				letter-spacing: -.04em;
				line-height: 1;
				vertical-align: -2rem;
				display: inline-block;
				scale: 1 1.1;
			}
			& .tax {
				font-size: 41rem;
				margin-left: 5rem;
				display: inline-block;
			}
		}
		& .teigaku {
			font-size: 18rem;
			margin-top: 9rem;

			& small {
				font-size: 70%;
				vertical-align: 2rem;
			}
		}
	}

	/* テスト照射が無料 */
	#test_irradiation {
		width: 360rem;
		margin: 35rem auto 25rem;

		& .wrap {
			position: relative;
			overflow: hidden;
		}
		& .inner {
			background: var(--color-beige);
			border-bottom-left-radius: 50% 60rem;
			border-bottom-right-radius: 50% 60rem;
			margin: 0 -20rem;
			padding: 15rem 46rem 50rem;
		}
		& h2 {
			font-size: 22rem;
			font-weight: 900;
			letter-spacing: .06em;
			line-height: 1.75;
			margin-bottom: 25rem;
			padding-bottom: 15rem;
			position: relative;

			&::after {
				content: '';
				width: 285rem;
				height: 1rem;
				background: var(--green-4);
				position: absolute;
				inset: 0;
				margin: auto auto 0;
			}
		}
		& .img {
			font-size: 0;
			margin-bottom: 25rem;
			position: relative;

			& p {
				width: 100%;
				background: linear-gradient(to left, var(--green-4) 20%, transparent 85%);
				color: var(--white);
				font-size: 14rem;
				letter-spacing: .12em;
				line-height: 1.75;
				text-align: right;
				padding: .6em;
				position: absolute;
				bottom: 0;
				left: 0;

				& .min {
					font-size: 150%;
					line-height: 0;
				}
			}
		}
	}

	/* 男性に選ばれる3つの理由 */
	#wcu {
		width: 360rem;
		margin: 25rem auto 50rem;

		& ol {
			width: 345rem;
			margin: 42rem auto 0;
			counter-reset: wcu;

			& li {
				letter-spacing: .12em;
				text-align: left;
				position: relative;

				&:nth-child(n+2) {
					margin-top: 18rem;
				}
				&::before {
					counter-increment: wcu;
					content: '0'counter(wcu);
					font-size: 34rem;
					font-weight: 900;
					line-height: 1;
					position: absolute;
					top: 180rem;
					left: 18rem;
					z-index: 1;
				}
			}
		}
		& .img {
			font-size: 0;

			& img {
				height: 200rem;
				object-fit: cover;
				border-radius: 15rem;
				filter: drop-shadow(5rem 5rem var(--color-green2));
			}
		}
		& .txt {
			padding-top: 20rem;
			padding-left: 18rem;
		}
		& h3 {
			font-size: 20rem;
			font-weight: 900;
		}
		& p {
			color: var(--white);
			font-size: 15rem;
			line-height: 1.8;
			margin-top: 7rem;
			padding-left: 13rem;

			& small {
				font-size: 12rem;
				line-height: 1.5;
				margin-top: 8rem;
				display: block;
			}
		}
	}

	/* 追加費用0保証 */
	#guarantee {
		background: var(--white);
		padding: 42rem 12rem 38rem;

		& .ttl {
			font-weight: 900;

			& .small {
				color: #313131;
				font-size: 18rem;
				letter-spacing: .1em;
				text-align: right;
				padding-right: 12rem;
			}
			& .large {
				color: var(--green-4);
				font-size: 51rem;
				line-height: 44rem;
				white-space: nowrap;
			}
			& strong {
				font-size: 125rem;
				font-weight: 700;
				vertical-align: -4rem;
				margin-left: -6rem;
				margin-right: -5rem;
				display: inline-block;
			}
		}
		& ul {
			margin-top: 30rem;
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 3rem;

			& li {
				height: 128rem;
				background-color: #EAECDE;
				position: relative;

				& .img {
					height: 94rem;
					display: grid;
					place-content: center;

					& img {
						max-width: 68rem;
						max-height: 64rem;
					}
				}
				& p {
					color: var(--color-black);
					font-size: 14rem;
					font-weight: 900;
					letter-spacing: 0;
					white-space: nowrap;

					& span {
						font-size: 10rem;
						font-weight: 700;
						position: absolute;
						bottom: 0;
						right: 4rem;
					}
				}
			}
		}
		& .caution {
			font-size: 10rem;
			text-align: left;
			margin-top: 18rem;
		}
	}

	/* 初回施術までの流れ */
	#flow {
		background: var(--color-beige);
		padding: 38rem 0 40rem 12rem;
	}
	.flow_list {
		counter-reset: flow;

		& li {
			text-align: left;
			padding-left: 39rem;
			padding-right: 12rem;
			position: relative;

			&:nth-last-child(n+2) {
				padding-bottom: 22rem;
			}
			&::before {
				counter-increment: flow;
				content: counter(flow);
				width: 25rem;
				height: 25rem;
				background: #ca9c8b;
				color: var(--white);
				font-size: 17rem;
				letter-spacing: 0;
				line-height: 24rem;
				text-align: center;
				border-radius: 50%;
				position: absolute;
				inset: 0;
			}
			&:nth-last-child(n+2)::after {
				content: '';
				width: 2rem;
				height: 100%;
				background: #ca9c8b;
				position: absolute;
				top: 25rem;
				left: 12rem;
			}
		}
		& h3 {
			margin-bottom: 10rem;

			& span {
				color: var(--white);
				font-size: 20rem;
				font-weight: 700;
				letter-spacing: .1em;
				line-height: 1;
				-webkit-text-stroke: 3rem #032d05;
				text-stroke: 3rem #032d05;
				filter: drop-shadow(0 3rem var(--color-green2));
			}
			& small {
				font-size: 13rem;
				margin-left: 8rem;
			}
		}
		& .flex {
			margin-top: 5rem;
			justify-content: space-between;
			align-items: flex-start;
		}
		& .img {
			width: 115rem;
			font-size: 0;
			border-radius: 10rem;
			box-shadow: 4rem 3rem var(--color-green2);
			overflow: hidden;

			& img {
				height: 125rem;
				object-fit: cover;
			}
		}
		& .txt {
			width: 190rem;

			& p {
				font-size: 13rem;
				line-height: 1.65;
			}
		}
		& .btn {
			width: 100%;
			height: 42rem;
			background: var(--color-yellow);
			font-size: 13rem;
			font-weight: 900;
			letter-spacing: .12em;
			line-height: 42rem;
			text-align: center;
			border-radius: 21rem;
			box-shadow: 0 4rem #436e09;
			margin-top: 10rem;
			display: block;
		}
	}

	/* 院内写真 */
	#photo ul {
		flex-wrap: wrap;

		& li {
			width: 50%;
			font-size: 0;
		}
	}

	/* よくあるご質問 */
	#qanda {
		background: var(--color-green);
		background-image: repeating-linear-gradient(-45deg, transparent, transparent 18rem, #7fb339 18rem, #7fb339 36rem);
		background-attachment: fixed;
		background-size: auto;
		text-align: left;
		padding: 40rem 12rem 35rem;

		& .q {
			background: var(--white) url('../images/qanda_q.png') no-repeat left 9rem top 4rem / 21rem auto;
			font-size: 13rem;
			letter-spacing: .08em;
			line-height: 1.54;
			border-radius: 5rem;
			margin-top: 5rem;
			padding: 6rem 24rem 5rem 38rem;
			position: relative;

			&::before,
			&::after {
				width: 10rem;
				height: 2rem;
				background-color: var(--green-4);
				right: 12rem;
			}
		}
		& .a {
			background: url('../images/qanda_arrow.png') no-repeat left 20rem top 6rem / 18rem auto;
			padding: 8rem 7rem 0 68rem;
			display: none;
			position: relative;

			&::before {
				content: 'A';
				width: 16rem;
				height: 16rem;
				background: var(--green-4);
				color: var(--white);
				font-size: 12rem;
				font-family: 'RocknRoll One', sans-serif;
				font-weight: 400;
				letter-spacing: 0;
				line-height: 15rem;
				border-radius: 50%;
				text-align: center;
				position: absolute;
				top: 8rem;
				left: 45rem;
			}
			& p {
				color: var(--white);
				font-size: 11rem;
				font-weight: 500;
				letter-spacing: .04em;
				line-height: 1.75;
			}
		}
		& li:nth-last-child(n+2) .a {
			margin-bottom: 20rem;
		}
	}

	/* 店舗・アクセス */
	#clinic {
		background: var(--white);
		padding: 38rem 12rem;

		& .clinic_name {
			text-align: left;
			padding-block: 16rem;
			border-top: 1px var(--color-gray) solid;

			&::before,
			&::after {
				width: 16px;
				height: 1px;
				background-color: var(--green-4);
				right: 0;
			}
		}

		& .map {
			width: 100%;
			margin-bottom: 25rem;

			& iframe {
				width: 100%;
				height: 250rem;
				vertical-align: bottom;
			}
		}
		& .info {
			margin-bottom: 30rem;

			& tr {
				padding: 13rem 15rem;
				display: block;

				&:nth-child(odd) {
					background: #f4f5e3;
				}
			}
			& th,
			& td {
				color: #1a1a1a;
				font-size: 12rem;
				line-height: 1.7;
				text-align: left;
				display: block;
			}
			& th::before {
				content: '●';
				color: #439125;
				margin-right: 5rem;
				display: inline-block;
			}
			& td {
				font-weight: 500;
				margin-top: 5rem;

				& a {
					color: #439125;
					border-bottom: 1rem #439125 solid;
				}
				& .career {
					color: #439125;
					margin: 12rem auto 5rem;
					display: block;
				}
			}
			& dl {
				line-height: 1.8;
				text-align: left;
				flex-wrap: wrap;

				& dt {
					width: 20%;
					background: #f4f5e3;
					text-align: center;
					margin-bottom: 1rem;
					padding: 5rem 0;
				}
				& dd {
					width: 80%;
					font-size: 10rem;
					padding: 5rem;
				}
			}
		}
		& .cta {
			margin-top: 25rem;
		}
	}

	/* footer */
	footer {
		width: unset;
		background: var(--green-4);

		& .footer_img {
			width: 100%;
			height: 200rem;

			& img {
				height: 100%;
				object-fit: cover;
			}
		}
		& .logo {
			padding-top: 90rem;

			& p {
				font-size: 18rem;
			}
			& img {
				width: 265rem;
				height: 224rem;
			}
		}
		& .sns {
			margin-top: 40rem;

			& ul {
				justify-content: center;

				& li {
					width: 30rem;
					height: 24rem;

					&:nth-child(n+2) {
						margin-left: 40rem;
					}
					& img {
						width: auto;
						height: 100%;
					}
				}
			}
		}
		& .copyright {
			font-size: 10rem;
			font-weight: 500;
			margin-top: 80rem;
		}
	}

	/* 下部フォーム */
	.lpform {
		background: var(--color-beige);
		padding: 30rem 12rem 60rem;
	}
	.reserve_notice {
		padding-inline: 15rem;

		& p:nth-of-type(1) span {
			font-size: 18rem;
			border-bottom: 1.5rem var(--green-4) solid;
			padding: 0 .3em 5rem;
			display: inline-block;
		}
		& p:nth-of-type(2) {
			font-size: 12rem;
			line-height: 1.8;
			text-align: left;
			margin-top: 20rem;
		}
	}
	.form_list {
		margin: 30rem auto 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10rem;

		& a {
			height: 44rem;
			background: #fff;
			border: 1.2rem #000 solid;
			border-radius: 5rem;
			padding-left: 14rem;
			display: flex;
			align-items: center;
			position: relative;

			&::after {
				content: '';
				width: 7rem;
				height: 7rem;
				border-top: 2rem #000 solid;
				border-right: 2rem #000 solid;
				margin-block: auto;
				position: absolute;
				inset: 0 auto;
				right: 20rem;
				rotate: 45deg;
			}
		}
	}
	.reserve_btn {
		width: 300rem;
		height: 44rem;
		background: var(--color-red);
		color: var(--white);
		font-size: 16rem;
		border-radius: 100vmax;
		margin: 30rem auto 0;
		padding-left: 30rem;
		display: grid;
		place-content: center;
		position: relative;

		&::before,
		&::after {
			content: '';
			position: absolute;
		}
		&::before {
			width: 34rem;
			height: 34rem;
			background: var(--white);
			border-radius: 50%;
			margin-block: auto;
			inset: 0 auto;
			left: 8rem;
		}
		&::after {
			width: 18rem;
			height: 100%;
			background: url('../images/cv_icon.png') no-repeat center / 100% auto;
			top: 0;
			left: 16rem;
		}
	}
