@charset "UTF-8";
	html {
		font-size: calc(100vw / (var(--size-base) / 1 ));
	}
	body {
		width: 100%;
		font-size: 16rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-feature-settings: 'palt' 1;
		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;
	}
@media (min-width: 769px) {
	html {
		--size-base: 1280;
	}
	.sp_only {
		display: none !important;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	body {
		background: #e9ebed;
		position: relative;
	}
	main {
		width: 450rem;
	}
	/* PC用背景 */
	.pc_logo {
		width: 110rem;
		position: fixed;
		top: 35rem;
		left: 35rem;
	}
	.pc_loop_txt {
		width: 100%;
		height: 115rem;
		margin-block: auto;
		display: flex;
		position: fixed;
		inset: 0;
		overflow: hidden;
	}
	.pc_loop_txt img {
		width: auto;
		max-width: none;
		height: 100%;
	}
	.pc_bg_1 {
		animation: loop1 38s -19s linear infinite;
	}
	.pc_bg_2 {
		animation: loop2 38s linear infinite;
	}
	.pc_official {
		width: 189rem;
		color: #002d04;
		text-align: left;
		border-top: 2rem #000 solid;
		border-bottom: 2rem #000 solid;
		padding-block: 26rem 28rem;
		position: fixed;
		bottom: 35rem;
		left: 35rem;
	}
	.pc_official a {
		color: #002d04;
	}
	.pc_official p:has(a) {
		font-size: 16rem;
	}
	.pc_official .en {
		font-size: 12rem;
		margin-top: 42rem;
	}
	.pc_official .sns {
		margin-top: 17rem;
		display: flex;
		align-items: center;
	}
	.pc_official .sns li {
		line-height: 1;
	}
	.pc_official .sns li:nth-child(1) {
		width: 21rem;
	}
	.pc_official .sns li:nth-child(2) {
		width: 20rem;
		margin-left: 18rem;
	}
	.pc_official .sns li:nth-child(3) {
		width: 16rem;
		margin-left: 22rem;
	}
	.pc_floating_link {
		width: 320rem;
		display: grid;
		gap: 7rem;
		position: fixed;
		right: 20rem;
		bottom: 35rem;
	}
	.pc_floating_link .qr {
		height: 90rem;
		background: rgba(255, 255, 255, .7) url(images/arrow_pc.png) no-repeat right 104rem center / auto;
		border-radius: 10rem;
		text-align: left;
		padding: 20rem 0 0 26rem;
		position: relative;
	}
	.pc_floating_link .qr .en {
		color: #b7ed3f;
		font-size: 10.7rem;
		line-height: 1;
	}
	.pc_floating_link .qr .txt {
		font-size: 14.22rem;
		line-height: 1.2;
		margin-top: 5rem;
	}
	.pc_floating_link .qr img {
		width: 62rem;
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
		right: 27rem;
	}
}
@media (max-width: 768px) {
	html {
		--size-base: 450;
	}
	.pc_only {
		display: none!important;
	}
	.sp_floating_link {
		display: none;
		position: fixed;
		inset: auto 0 0;
		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 */
main {
	background: #fff;
	margin-inline: auto;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.din {
	font-family: 'din-2014', sans-serif;
	font-weight: 700;
	line-height: 1;
}
.en {
	font-family: 'Montserrat', serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: italic;
}
.skew {
	display: inline-block;
	transform: skew(-5deg);
}
.bg_w {
	background: #fff;
}
.bg_b {
	background: #000;
}
.tb_rl {
	writing-mode: vertical-rl;
}
.line {
	background: linear-gradient(0deg, transparent 3rem, #b7ed3f 3rem, #b7ed3f 19.8rem, transparent 19.8rem);
}
.bg_exc {
	background-image: url(images/exc.png);
	background-repeat: no-repeat;
	background-size: auto 100%;
}
.bg_arrow {
	background: url(images/arrow.png) no-repeat center top / 120rem auto;
}
.bg_bi {
	background: linear-gradient(90deg, #b7ed3f 50%, #e1e8ed 50%);
}
.h_line {
	font-size: 33.6rem;
	line-height: 60rem;
}
.h_line .line {
	font-size: 48rem;
}
.h_que {
	width: 354rem;
	font-size: 26.4rem;
	line-height: 37.2rem;
	text-align: left;
	white-space: nowrap;
	margin-inline: auto;
	padding-left: 85rem;
	position: relative;
}
.h_que::before {
	content: '';
	width: 67.5rem;
	height: 75.5rem;
	background: url(images/h_que.png) no-repeat center / 100% auto;
	position: absolute;
	top: 2rem;
	left: 7rem;
}
.h_que span {
	background: linear-gradient(0deg, #b7ed3f 12rem, transparent 12rem);
	padding-inline: 2rem 5rem;
}
.h_que span small {
	font-size: 18rem;
}
.h_plan {
	color: #fff;
}
.h_plan small,
.h_bi small {
	font-size: 16.8rem;
}
.h_plan .en,
.h_bi .en {
	font-size: 72rem;
	margin-top: 4rem;
	display: block;
}
.h_bi .en {
	color: #b7ed3f;
}
.notice {
	font-size: 12rem;
	font-weight: 500;
}

/* cvボタン */
.cv_btn {
	width: 354rem;
	height: 84rem;
	background: #f35d27;
	color: #fff;
	border: 3rem #000 solid;
	border-radius: 100vmax;
	margin-inline: auto;
	padding-right: 40rem;
	display: grid;
	place-content: center;
	position: relative;
}
.cv_btn::before,
.cv_btn::after {
	content: '';
	margin-block: auto;
	position: absolute;
	inset: 0 auto;
}
.cv_btn::before {
	width: 48rem;
	height: 48rem;
	background: #000;
	border-radius: 50%;
	right: 20rem;
}
.cv_btn::after {
	width: 9rem;
	height: 9rem;
	border-top: 2rem #fff solid;
	border-right: 2rem #fff solid;
	right: 42rem;
	rotate: 45deg;
}
.cv_btn small {
	font-size: 14.4rem;
	font-weight: 500;
	line-height: 1;
}
.cv_btn span {
	font-size: 24rem;
	line-height: 1;
	margin-top: 6rem;
}
.cv_txt {
	font-size: 24rem;
	line-height: 1;
}
.cv_txt + .cv_btn {
	margin-top: 15rem;
}
.cv_copy {
	font-size: 12rem;
	font-weight: 500;
	margin-top: 10rem;
}

/* 流れるテキスト */
.loop_txt {
	height: 107rem;
	display: flex;
	overflow: hidden;
}
.loop_txt img {
	width: auto;
	max-width: none;
	height: 100%;
}
.loop_1 {
	animation: loop1 30s -15s linear infinite;
}
.loop_2 {
	animation: loop2 30s linear infinite;
}
@keyframes loop1 {
	0% { translate: 100% 0; }
	100% { translate: -100% 0; }
}
@keyframes loop2 {
	0% { translate: 0 0; }
	100% { translate:-200% 0; }
}

/* header */
.header_logo {
	height: 72rem;
	background: #002d04;
	display: grid;
	place-content: center;
}
.header_logo img {
	width: 240rem;
}

/* FV */
.fv_wrap {
	height: 706rem;
	background: url(/cmn/images/index/fv_koki4.jpg) no-repeat center / 100% auto;
}
h1 {
	font-size: 48rem;
	line-height: 54.6rem;
	text-align: left;
	padding: 24rem 0 0 33rem;
}
h1 small {
	font-size: 36rem;
}
h1 .line {
	margin-left: -9rem;
	padding-inline: 9rem;
}
h1 .df {
	color: #fff;
	mix-blend-mode: exclusion;
}
h1 > span:last-of-type {
	margin-top: 3rem;
	margin-left: -4rem;
}
.fv_copy {
	margin-top: 22rem;
	padding-left: 24rem;
}
.fv_copy span {
	height: 45rem;
	font-size: 24rem;
	line-height: 43rem;
	display: block;
	transform-origin: left bottom;
}
.fv_copy small {
	font-size: 18rem;
}
.fv_copy .bg_w {
	width: 163rem;
}
.fv_copy .bg_b {
	width: 176rem;
	color: #b7ed3f;
	margin-top: 7rem;
}
.fv_price {
	width: 402rem;
	border-radius: 12rem;
	margin: 92rem auto 0;
	overflow: hidden;
}
.fv_price > .bg_b {
	height: 64rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.fv_price > .bg_b .bg_w {
	width: 146rem;
	height: 40rem;
	font-size: 12rem;
	line-height: 14.4rem;
	border-radius: 4rem;
	display: grid;
	place-content: center;
}
.fv_price > .bg_b .skew {
	color: #fff;
	font-size: 33.6rem;
	margin-left: 16rem;
}
.fv_price > .bg_w {
	padding: 12rem 0 11rem 12rem;
}
.fv_price li {
	display: flex;
	align-items: center;
}
.fv_price li:nth-child(2) {
	margin-top: 10rem;
}
.fv_price .part {
	width: 85rem;
	font-size: 16.8rem;
	padding-top: 6rem;
}
.fv_price .part .bg_b {
	height: 26rem;
	color: #fff;
	font-size: 14.4rem;
	margin-bottom: 2rem;
	display: grid;
	place-content: center;
}
.fv_price .price {
	color: #f35d27;
	white-space: nowrap;
}
.fv_price li:nth-child(1) .price {
	margin-left: 37rem;
}
.fv_price li:nth-child(2) .price {
	margin-left: 16rem;
}
.fv_price .price .tb_rl {
	font-size: 19.2rem;
	letter-spacing: .2em;
	line-height: 1;
}
.fv_price .price .en {
	font-size: 57.6rem;
	line-height: 1;
	vertical-align: 2rem;
}
.fv_price li:nth-child(1) .en {
	margin-left: 8rem;
}
.fv_price li:nth-child(2) .en {
	margin-left: 6rem;
}
.fv_price .price .yen {
	font-size: 21.6rem;
	vertical-align: 4rem;
	margin-left: 2rem;
}
.fv_wrap .notice {
	text-align: left;
	margin-top: 10rem;
	padding-left: 24rem;
}
.fv_wrap + .cv {
	margin-top: 34rem;
}

/* こんなお悩み */
.concerns {
	margin-top: 40rem;
}
.concerns h2 {
	margin-top: 44rem;
}
.concerns h2 .line {
	margin-left: -3rem;
	padding-left: 3rem;
}
.conc_list {
	width: 330rem;
	margin: 28rem auto 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20rem 42rem;
}
.conc_list .img {
	width: 144rem;
	height: 144rem;
	background: #b7ed3f;
	border-radius: 50%;
	display: grid;
	place-content: center;
}
.conc_list img {
	width: auto;
	height: 66rem;
}
.conc_list p {
	font-size: 16.8rem;
	line-height: 25.2rem;
	margin-top: 4rem;
}
.conc_arrow {
	margin-top: 40rem;
	padding-top: 52rem;
}
.conc_arrow span {
	font-size: 31.2rem;
	line-height: 1.2;
}
.conc_arrow span small {
	font-size: 24rem;
}
.conc_copy {
	font-size: 19.2rem;
	line-height: 34.8rem;
	margin-top: 23rem;
}
.conc_copy span {
	border-bottom: 1.5rem #000 solid;
}
.concerns .cv {
	margin-top: 97rem;
}

/* こんなに違う */
.difference {
	margin-top: 90rem;
	padding-bottom: 178rem;
}
.difference h2 {
	margin-top: 34rem;
}
.difference h2 .line {
	padding-inline: 8rem 5rem;
	margin-right: -5rem;
}
.scene {
	width: 402rem;
	margin-inline: auto;
}
.scene1 {
	margin-top: 63rem;
}
.scene2 {
	margin-top: 55rem;
}
.scene .ttl {
	position: relative;
}
.scene .ttl::before {
	content: '';
	width: 100%;
	height: 2.4rem;
	background: #000;
	margin-block: auto;
	position: absolute;
	inset: 0;
}
.scene .ttl span {
	font-size: 16.8rem;
	line-height: 30rem;
	padding-inline: 12rem;
	position: relative;
}
.scene .ttl i {
	font-size: 19.2rem;
	padding-right: .5em;
}
.beer-slider {
	margin-top: 10rem;
}
.scene .beer-reveal {
	border-right: 3rem rgba(255, 255, 255, .9) solid;
	box-sizing: content-box;
}
.scene .beer-handle {
	width: 54rem;
	height: 54rem;
	background: #fff;
}
.diff_copy {
	font-size: 28.8rem;
	line-height: 51.6rem;
	margin-top: 45rem;
}
.diff_copy .line {
	padding-inline: 6rem 3rem;
}
.difference .notice {
	margin-top: 9rem;
}

/* 選ぶポイント */
.point {
	background: #e1e8ed;
	padding-block: 136rem 75rem;
	position: relative;
}
.point_ttl {
	font-size: 19.2rem;
	line-height: 34.8rem;
}
.point_ttl + h2 {
	margin-top: 40rem;
}
.copy1 {
	padding-left: 48rem;
	position: absolute;
	top: -80rem;
	left: 0;
}
.copy2 {
	margin-top: 80rem;
	padding: 0 0 59rem 85rem;
	position: relative;
}
.copy3 {
	margin-top: 72rem;
	padding-left: 48rem;
	position: relative;
	z-index: 1;
}
.point_copy p {
	width: 320rem;
	background: #fff;
	font-size: 19.2rem;
	line-height: 28.8rem;
	border: 2rem #000 solid;
	border-radius: 13rem;
	padding-block: 14rem 13rem;
}
.point_copy img {
	position: absolute;
	z-index: 1;
}
.question01 {
	width: 103rem;
	right: -51rem;
	bottom: -61rem;
}
.question02 {
	width: 105rem;
	left: 33rem;
	bottom: 0;
}
.question03 {
	width: 112rem;
	top: 51rem;
	right: 22rem;
}
.value {
	width: 402rem;
	margin: 32rem auto 0;
	padding: 37rem 25rem 20rem 37rem;
}
.value .notice {
	text-align: left;
	margin-top: 10rem;
}
.conclusion {
	width: 328rem;
	background-position: right top;
	font-size: 28.8rem;
	line-height: 1;
	text-align: left;
	margin: 46rem 0 0 65rem;
	padding-block: 45rem 14rem;
}
.conclusion .bg_b {
	color: #fff;
	font-size: 24rem;
	vertical-align: 2rem;
	margin-inline: 4rem 16rem;
	padding: 9rem 16rem 10rem 18rem;
	display: inline-block;
}
.conclusion .line {
	margin-top: 15rem;
	padding: 0 0 11rem 9rem;
	display: inline-block;
}
.conclusion .line b {
	font-size: 48rem;
}
.tab_ttl {
	margin-top: 28rem;
}
.tab_ttl small {
	font-size: 16.8rem;
}
.tab_ttl span {
	background: linear-gradient(0deg, #b7ed3f 12rem, transparent 12rem);
	font-size: 28.8rem;
	line-height: 51.6rem;
}
.tab_ttl span:nth-of-type(1) {
	padding-inline: 6rem 4rem;
}
.tab_ttl span:nth-of-type(2) {
	padding-inline: 11rem 8rem;
}
.point_tab {
	margin-top: 42rem;
	padding-inline: 24rem;
}
.point_tab .copy {
	width: 196rem;
	height: 39.6rem;
	font-size: 19.2rem;
	border: 2rem #000 solid;
	margin-inline: auto;
	display: grid;
	place-content: center;
}
.tab_notice + .copy {
	margin-top: 50rem;
}
.tab {
	width: 100%;
	border: 1.2rem #000 solid;
	margin-top: 24rem;
}
.tab th,
.tab td {
	font-size: 16.8rem;
	text-align: center;
	vertical-align: middle;
	border: none;
}
.tab thead th {
	background: #000;
	color: #fff;
}
.tab thead th:nth-child(n+2) {
	border-left: 1.2rem #fff solid;
}
.point_tab table:nth-of-type(-n+2) th {
	height: 48rem;
}
.tab tbody th {
	width: 154rem;
}
.tab tbody td {
	border-left: 1.2rem #000 solid;
	position: relative;
}
.tab tbody td:nth-of-type(2) {
	width: 122rem;
}
.point_tab table:last-of-type td {
	font-weight: 500;
	line-height: 1.2;
	padding-block: 16rem;
}
.tab .ml th,
.tab .ml td {
	background: #b7ed3f;
}
.tab .oth th,
.tab .oth td {
	background: #fff;
	border-top: 1.2rem #000 solid;
}
.tab .mark {
	width: 42rem;
	height: 42rem;
	background: #f35d27;
	color: #fff;
	font-size: 9.6rem;
	border-radius: 50%;
	display: grid;
	place-content: center;
	position: absolute;
	top: -10rem;
	right: -16rem;
	z-index: 1;
}
.tab_notice {
	font-size: 14.4rem;
	text-align: right;
	margin-top: 10rem;
}
.completion {
	margin-top: 95rem;
}
.completion .copy {
	font-size: 19.2rem;
	line-height: 1.2;
}
.comp_list {
	margin-top: 33rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.comp_list li {
	width: 168rem;
	height: 168rem;
	background: #b7ed3f;
	border-radius: 50%;
	display: grid;
	place-content: center;
	position: relative;
}
.comp_list li:nth-child(1)::after {
	content: '';
	width: 40rem;
	height: 40rem;
	background: url(images/plus.png) no-repeat center / 100% auto;
	margin-block: auto;
	position: absolute;
	inset: 0 auto;
	right: -29rem;
	z-index: 1;
}
.comp_list li:nth-child(2) {
	margin-left: 18rem;
}
.comp_list p {
	font-size: 32.4rem;
	line-height: 42rem;
}
.comp_list small {
	font-size: 19.2rem;
	line-height: 25.2rem;
}
.comp_txt {
	font-size: 26.4rem;
	line-height: 48.6rem;
	margin-top: 40rem;
}
.comp_txt .line {
	margin-top: 6rem;
	display: inline-block;
}
.comp_txt b {
	color: #f35d27;
	font-size: 48rem;
}
.comp_txt span {
	font-size: 33.6rem;
}
.point .cv {
	margin-top: 44rem;
}

/* プランリスト */
.plan_list {
	margin-top: 45rem;
	display: grid;
	gap: 24rem;
}
.plan_list li {
	padding: 35rem 24rem;
}
.plan_name {
	height: 43rem;
	color: #fff;
	font-size: 21.6rem;
	line-height: 41rem;
	position: relative;
}
.plan_name small {
	font-size: 19.2rem;
}
.plan_name .count {
	width: 60rem;
	height: 60rem;
	background: #b7ed3f;
	color: #000;
	font-size: 19.2rem;
	border-radius: 50%;
	display: grid;
	place-content: center;
	position: absolute;
	top: -8rem;
	right: -14rem;
}
.plan_in {
	margin-top: 30rem;
	display: flex;
}
.plan_in .price {
	color: #f35d27;
	font-size: 19.2rem;
	white-space: nowrap;
}
.plan_in .price .en {
	font-size: 48rem;
	line-height: 1;
	vertical-align: -2rem;
}
.plan_in .price .yen {
	font-size: 21.6rem;
	margin-left: 5rem;
}

/* おすすめプラン */
.recommend {
	background: #1e1e1e url(images/img-plan.jpg) no-repeat center top / 100% auto;
	padding: 72rem 24rem 74rem;
}
.recommend .plan_in .img {
	width: 122rem;
	padding-left: 4rem;
	flex-shrink: 0;
}
.recommend li:nth-child(1) img {
	width: 117rem;
}
.recommend li:nth-child(2) img {
	width: 105rem;
}
.recommend li:nth-child(3) img {
	width: 102rem;
}
.recommend .plan_in .txt {
	text-align: left;
	margin-left: 15rem;
}
.recommend .plan_in .part {
	font-size: 16.8rem;
	font-weight: 500;
	line-height: 30rem;
	margin-top: 18rem;
}
.recommend .plan_in .part span {
	width: 96rem;
	height: 30rem;
	font-size: 14.4rem;
	border: 2rem #000 solid;
	display: grid;
	place-content: center;
}
.recommend .plan_in .part small {
	font-size: 14.4rem;
}
.recommend .cv {
	margin-top: 62rem;
}
.recommend .cv_txt,
.recommend .cv_copy {
	color: #fff;
}

/* 脱毛未経験でも安心 */
.safety {
	margin-top: 130rem;
}
.check {
	width: 402rem;
	border: 2rem #000 solid;
	margin-inline: auto;
	padding: 132rem 24rem 34rem;
	position: relative;
}
.check_ttl {
	width: 354rem;
	height: 177rem;
	background-color: #fff;
	background-position: right 8rem top;
	font-size: 28.8rem;
	text-align: left;
	margin-inline: auto;
	padding: 46rem 0 0 24rem;
	position: absolute;
	inset: -73rem 0 auto;
}
.check_ttl .en {
	font-size: 52.8rem;
	margin-top: 5rem;
	display: inline-block;
}
.check_txt {
	background: #b7ed3f;
	font-size: 19.2rem;
	padding-block: 17rem 15rem;
}
.check_txt span {
	font-size: 21.6rem;
	display: block;
}
.check_txt .en {
	font-size: 46.8rem;
	line-height: 1;
	margin-left: 4rem;
}
.check_txt small {
	font-size: 16.8rem;
}
.check_list {
	margin-top: 60rem;
	display: grid;
	gap: 17rem;
}
.check_list li {
	font-size: 19.2rem;
	border-bottom: 1.2rem #e1e8ed solid;
	padding-bottom: 17rem;
	display: flex;
	align-items: center;
}
.check_list .num {
	width: 50.4rem;
	height: 50.4rem;
	background: #b7ed3f;
	font-size: 28.8rem;
	border-radius: 50%;
	display: grid;
	place-content: center;
}
.check_list .bg_b {
	height: 40rem;
	color: #fff;
	font-size: 21.6rem;
	padding-inline: 15rem;
	display: grid;
	place-content: center;
}
.check_list .num + span {
	margin-inline: 11rem 5rem;
}
.check_list span:nth-of-type(3) {
	margin-left: 7rem;
}
.safe_copy {
	font-size: 19.2rem;
}
.safe_copy + h2 {
	margin-top: 28rem;
}
.safety .bg_bi {
	padding-inline: 24rem;
	position: relative;
}
.safe_tab_ttl {
	margin-inline: auto;
	display: flex;
	justify-content: center;
	position: absolute;
	inset: auto 0;
}
.safe_tab_ttl li {
	width: 180rem;
	height: 64rem;
	font-size: 26.4rem;
	line-height: 1.2;
	border: 2rem #000 solid;
	display: grid;
	place-content: center;
}
.safe_tab_ttl li:nth-child(1) {
	background: #b7ed3f;
}
.safe_tab_ttl li:nth-child(2) {
	background: #e1e8ed;
	margin-left: 30rem;
}
.safe_tab_ttl small {
	font-size: 12rem;
}
.safe_tab li {
	display: flex;
	justify-content: center;
}
.safe_tab .h {
	width: 24rem;
	color: #fff;
	font-size: 14.4rem;
	letter-spacing: .12em;
	display: grid;
	place-content: center;
}
.safety .bg_bi .cv {
	margin-top: 70rem;
}
.safety_q1,
.safety_q2,
.safety_q3 {
	margin-top: 58rem;
}
.safety_q1 .safe_txt,
.safety_q3 .safe_txt {
	font-size: 16.8rem;
	font-weight: 500;
	line-height: 33.6rem;
	text-align: left;
	margin-top: 34rem;
	padding-inline: 48rem;
}
.safety_q1 .bg_bi {
	margin-top: 92rem;
	padding-block: 52rem 75rem;
}
.safety_q1 .safe_tab_ttl {
	top: -34rem;
}
.safe_tab.tab1 {
	border-top: 1.2rem #fff solid;
}
.safe_tab.tab1 li {
	border-bottom: 1.2rem #fff solid;
}
.safe_tab.tab1 p:not(.h) {
	width: 189rem;
	font-size: 19.2rem;
	line-height: 1.2;
	padding-block: 24rem;
}
.safe_tab.tab1 p:not(.h) small {
	font-size: 14.4rem;
}
.merit_wrap {
	width: 354rem;
	margin: 50rem auto 0;
}
.merit_ttl {
	height: 56rem;
	background: #fff;
	font-size: 21.6rem;
	border: 2rem #000 solid;
	display: grid;
	place-content: center;
}
.merit_ttl small {
	font-size: 16.8rem;
}
.merit_list {
	counter-reset: merit;
	margin-top: 12rem;
}
.merit_list li {
	font-size: 19.2rem;
	font-weight: 500;
	line-height: 38.4rem;
	text-align: left;
	display: flex;
}
.merit_list li::before {
	counter-increment: merit;
	content: counter(merit)'.';
	margin-right: 3rem;
}
.safety_q2 .bg_bi {
	margin-top: 100rem;
	padding-block: 38rem 73rem;
}
.safety_q2 .safe_tab_ttl {
	top: -50rem;
}
.safe_tab.tab2 {
	display: grid;
	gap: 12rem;
}
.safe_tab.tab2 li {
	background: #fff;
	border-radius: 13rem;
}
.safe_tab.tab2 p:not(.h) {
	width: 177rem;
	font-size: 14.4rem;
	line-height: 26.4rem;
	padding-block: 82rem 14rem;
	position: relative;
}
.safe_tab.tab2 p:not(.h)::before {
	content: '';
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	margin-inline: auto;
	position: absolute;
	inset: 20rem 0 auto;
}
.double::before {
	width: 53.5rem;
	height: 54rem;
	background-image: url(images/icon_double.png);
}
.maru::before {
	width: 53.5rem;
	height: 53.5rem;
	background-image: url(images/icon_maru.png);
}
.tri::before {
	width: 56.5rem;
	height: 49rem;
	background-image: url(images/icon_tri.png);
}
.safe_tab.tab2 p:not(.h) span {
	font-size: 16.8rem;
}
.safety_q2 .safe_txt {
	margin-top: 42rem;
}
.safety_q2 .safe_txt span {
	font-size: 19.2rem;
	font-weight: 500;
	line-height: 34.8rem;
}
.safety_q2 .safe_txt strong {
	font-size: 26.4rem;
	margin-top: 8rem;
	display: inline-block;
}
.safety_q2 .safe_txt .bg_b {
	color: #fff;
	margin-right: 10rem;
	padding: 0 12rem 3rem;
	display: inline-block;
}
.safety_q3 .bg_arrow {
	font-size: 28.8rem;
	line-height: 51.6rem;
}
.safety_q3 img {
	width: 354rem;
	margin-top: 58rem;
	display: inline-block;
}
.safety_q3 .bg_arrow {
	margin-top: 37rem;
	padding-top: 53rem;
}
.safety_q3 .bg_arrow span {
	background: linear-gradient(0deg, #b7ed3f 12rem, transparent 12rem);
	padding-inline: 8rem;
}
.safe_pay {
	background: #e1e8ed;
	margin-top: -37rem;
	padding: 116rem 24rem 74rem;
}
.safe_ttl {
	margin-top: 12rem;
}
.safe_ttl span {
	background: linear-gradient(0deg, #b7ed3f 16.8rem, transparent 16.8rem);
	padding: 0 12rem 6rem 8rem;
}
.safe_ttl b {
	font-size: 28.8rem;
	line-height: 51.6rem;
}
.safe_pay .cv {
	margin-top: 63rem;
}
.pay_merit {
	background: rgba(255, 255, 255, .5);
	border: 2rem #1e1e1e solid;
	border-radius: 13rem;
	padding: 28rem 34rem 35rem;
}
.merit1 {
	margin-top: 48rem;
}
.merit2 {
	margin-top: 24rem;
}
.pay_merit .bg_b {
	width: 228rem;
	height: 40rem;
	color: #fff;
	font-size: 21.6rem;
	margin-inline: auto;
	display: grid;
	place-content: center;
}
.pay_merit .list {
	margin-top: 24rem;
	display: flex;
	justify-content: space-between;
}
.pay_merit .list .img {
	width: 144rem;
	height: 144rem;
	background: #b7ed3f;
	border-radius: 50%;
	display: grid;
	place-content: center;
}
.merit1 li:nth-child(1) img {
	width: 57rem;
}
.merit2 li:nth-child(1) img {
	width: 58rem;
}
.pay_merit li:nth-child(2) img {
	width: 66rem;
}
.pay_merit .list p {
	font-size: 16.8rem;
	line-height: 25.2rem;
	margin-top: 4rem;
}

/* 選ばれる理由 */
.reason {
	margin-top: 72rem;
	padding-bottom: 46rem;
}
.reason h2 {
	font-size: 33.6rem;
	line-height: 60rem;
	position: relative;
	z-index: 1;
}
.reason .loop_txt {
	margin-top: -43rem;
}
.reason .bg_b {
	color: #fff;
}
.reason_cont {
	width: 402rem;
	background: #b7ed3f;
	text-align: left;
	padding: 42rem 24rem 57rem;
	position: relative;
}
.reason_cont .num {
	font-size: 96rem;
	line-height: 1;
	position: absolute;
	top: -58rem;
	left: 24rem;
}
.reason_cont .ttl {
	font-size: 19.2rem;
	line-height: 37.2rem;
}
.reason_cont .ttl small {
	font-size: 16.8rem;
	line-height: 30rem;
}
.reason_cont .ttl .bg_b {
	height: 48rem;
	font-size: 26.4rem;
	line-height: 48rem;
	padding-inline: 16rem;
	display: inline-block;
}
.reason_cont .ttl span:nth-of-type(1) {
	margin-top: 14rem;
}
.reason_cont .ttl span:nth-of-type(n+2) {
	margin-top: 6rem;
}
.reason_cont .ttl span:last-of-type {
	margin-right: 7rem;
}
.reason_cont .ttl b {
	font-size: 26.4rem;
}
.reason_cont .list li {
	font-size: 14.4rem;
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 26.4rem;
	display: flex;
}
.reason_cont .list li::before {
	content: '・';
}
.reason_cont img {
	position: absolute;
}
.reason1,
.reason3 {
	margin-inline: 0 auto;
}
.reason2 {
	margin-inline: auto 0;
}
.reason1 {
	margin-top: 57rem;
}
.reason2,
.reason3 {
	margin-top: 96rem;
}
.reason1 .list,
.reason2 .list {
	margin-top: 17rem;
}
.reason1 .list li::before,
.reason2 .list li::before {
	padding-inline: 6rem 8rem;
}
.reason1 img {
	width: 194rem;
	right: -50rem;
	bottom: -63rem;
}
.reason2 .reason_in {
	font-size: 19.2rem;
	text-align: center;
	border: 2rem #000 solid;
	border-radius: 13rem;
	margin-top: 33rem;
	padding-block: 19rem 24rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.reason2 .reason_in small {
	font-size: 14.4rem;
	font-weight: 500;
}
.reason2 .reason_in p:nth-of-type(1) {
	width: 100%;
}
.reason2 .reason_in p:nth-of-type(1) span {
	padding-left: 43rem;
	position: relative;
}
.reason2 .reason_in p:nth-of-type(1) span::before {
	content: '';
	width: 27rem;
	height: 23rem;
	background: url(images/icon_warning.png) no-repeat center / 100% auto;
	position: absolute;
	top: 3rem;
	left: 0;
}
.reason2 .reason_in p:nth-of-type(n+2) {
	min-height: 66rem;
	background: url(images/icon_cross.png) no-repeat center / 65rem auto;
	line-height: 1.2;
	margin-top: 23rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.reason2 .reason_in p:nth-of-type(n+3) {
	margin-left: 14rem;
}
.reason3 .trial {
	margin-top: 24rem;
	display: grid;
	gap: 12rem;
}
.reason3 .trial li {
	white-space: nowrap;
	padding: 24rem 24rem 28rem;
}
.trial_ttl {
	height: 32rem;
	font-size: 14.4rem;
	display: grid;
	place-content: center;
}
.trial_part {
	height: 32rem;
	background: #e1e8ed;
	font-size: 14.4rem;
	line-height: 32rem;
	text-align: center;
	vertical-align: super;
	margin-top: 18rem;
	display: inline-block;
}
.trial li:nth-child(1) .trial_part {
	width: 115rem;
}
.trial li:nth-child(2) .trial_part {
	width: 120rem;
}
.reason3 .trial span:not(.trial_part) {
	color: #f35d27;
}
.reason3 .trial .tb_rl {
	font-size: 12rem;
	letter-spacing: .12em;
	line-height: 1;
}
.trial li:nth-child(1) .tb_rl {
	margin-block: 6rem 10rem;
}
.trial li:nth-child(2) .tb_rl {
	margin-block: 7rem 24rem;
}
.reason3 .trial .en {
	font-size: 40.8rem;
	line-height: 1;
}
.reason3 .trial .yen {
	font-size: 21.6rem;
	margin-left: 4rem;
}
.reason3 .pain {
	font-size: 26.4rem;
	margin-top: 32rem;
}
.reason3 .pain small {
	font-size: 19.2rem;
}
.reason3 .list {
	margin-top: 20rem;
	padding-right: 120rem;
}
.reason3 .list li::before {
	padding-right: 8rem;
}
.reason3 img {
	width: 168rem;
	right: -48rem;
	bottom: -46rem;
}
.reason .movie {
	margin-top: 72rem;
	padding-inline: 24rem;
}
.reason .movie .ttl {
	font-size: 21.6rem;
	text-align: left;
}
.reason .movie .bg_b {
	vertical-align: 6rem;
	margin: 6rem 8rem 0 0;
	padding: 4rem 21rem 6rem 17rem;
	display: inline-block;
}
.reason .movie small {
	font-size: 16.8rem;
}
.reason .movie_wrap {
	font-size: 0;
	margin-top: 14rem;
}
.reason .movie_wrap video {
	width: 100%;
	aspect-ratio: 16 / 9;
}

/* 返金保証 */
.guarantee {
	background: #b0c3ce;
	padding: 67rem 24rem 74rem;
}
.guarantee p {
	color: #002d04;
}
.guarantee .ttl {
	font-size: 31.2rem;
}
.guarantee .ttl strong {
	font-size: 57.6rem;
	margin-top: 9rem;
	display: block;
}
.guarantee .ttl span {
	height: 80rem;
	background: #002d04;
	color: #fff;
	line-height: 76rem;
	vertical-align: 3rem;
	margin-right: 13rem;
	padding-inline: 17rem;
	display: inline-block;
}
.guarantee .ttl small {
	font-size: 24rem;
	line-height: 43.2rem;
	text-align: left;
	margin-top: 9rem;
	display: block;
}
.guarantee .txt {
	background: rgba(255, 255, 255, .5);
	border: 2rem #002d04 solid;
	font-size: 16.8rem;
	line-height: 30rem;
	text-align: left;
	margin-top: 32rem;
	padding: 13rem 22rem 30rem;
}
.guarantee .cv {
	margin-top: 50rem;
}

/* プラン */
.plan {
	background: url(images/img-plan2_bg.jpg) no-repeat center top / auto 100%;
	padding: 72rem 24rem 82rem;
}
.plan .plan_in .price {
	text-align: left;
}
.plan .plan_in .month {
	color: #f35d27;
	font-size: 19.2rem;
	border-top: 2rem #000 solid;
	margin-top: 10rem;
	padding-top: 3rem;
}
.plan .plan_in .month .en {
	font-size: 24rem;
	margin-inline: 3rem 7rem;
}
.plan .plan_list li:nth-child(-n+2) img {
	width: 156rem;
}
.plan .plan_list li:nth-child(-n+2) .txt {
	margin-left: 13rem;
}
.plan .plan_list li:nth-child(n+3):nth-child(-n+4) .img {
	width: 120rem;
}
.plan .plan_list li:nth-child(n+3):nth-child(-n+4) .txt {
	margin-left: 10rem;
	padding-top: 18rem;
	flex-grow: 1;
}
.plan .plan_list li:nth-child(3) img {
	width: 96rem;
}
.plan .plan_list li:nth-child(4) img:nth-of-type(1) {
	width: 65rem;
}
.plan .plan_list li:nth-child(4) img:nth-of-type(2) {
	width: 96rem;
	margin-top: 10rem;
}
.plan .plan_list li:last-child .plan_in {
	flex-direction: column;
	align-items: center;
}
.plan .plan_list li:last-child .img {
	display: flex;
	align-items: center;
}
.plan .plan_list li:last-child img:nth-of-type(1) {
	width: 86rem;
}
.plan .plan_list li:last-child img:nth-of-type(2) {
	width: 131rem;
	margin-left: 15rem;
}
.plan .plan_list li:last-child img:nth-of-type(3) {
	width: 71rem;
	margin-left: 26rem;
}
.plan .plan_list li:last-child .txt {
	width: 276rem;
	margin-top: 20rem;
}
.plan .plan_list li:last-child .txt .en {
	margin-left: 12rem;
}
.price_txt {
	color: #fff;
	font-size: 19.2rem;
	line-height: 34.8rem;
	margin-top: 30rem;
}
.price_txt + .cv {
	margin-top: 53rem;
}
.price_txt + .cv p {
	color: #fff;
}
.price_notice {
	margin-top: 33rem;
}
.price_notice li {
	color: #fff;
	font-size: 12rem;
	font-weight: 500;
	line-height: 21.6rem;
	text-align: left;
	display: flex;
}
.price_notice li::before {
	content: '※';
}
.discount {
	margin-top: 78rem;
}
.dis_ttl {
	height: 176rem;
	background-position: right 24rem top;
	color: #fff;
	font-size: 28.8rem;
	padding-top: 44rem;
}
.dis_ttl span {
	font-size: 48rem;
	margin-top: 7rem;
	display: inline-block;
}
.dis_list {
	margin-top: 20rem;
	display: grid;
	gap: 24rem;
}
.dis_list li {
	height: 168rem;
	border-width: 2rem;
	border-style: solid;
	padding: 11rem 40rem 0 0;
	position: relative;
}
.dis_list li::before {
	content: '';
	width: 56rem;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}
.dis_list li::after {
	content: 'DISCOUNT';
	color: #fff !important;
	font-size: 28.8rem;
	font-family: 'din-2014', sans-serif;
	line-height: 1;
	position: absolute;
	top: 18rem;
	right: 40rem;
	rotate: -90deg;
	transform-origin: right top;
}
.dis_list .ttl {
	font-size: 28.8rem;
}
.dis_list .txt {
	font-size: 16.8rem;
}
.dis_list .din {
	font-size: 43.2rem;
}
.dis_list .din span {
	font-size: 72rem;
}
.dis_list .change {
	color: #f35d27;
	border-color: #f35d27;
}
.dis_list .change::before {
	background: #f35d27;
}
.dis_list .pair {
	color: #20aac9;
	border-color: #20aac9;
}
.dis_list .pair::before {
	background: #20aac9;
}
.discount .notice {
	color: #fff;
	text-align: left;
	margin-top: 8rem;
}

/* 追加費用0円 */
.addcost {
	margin-top: 70rem;
	padding-inline: 24rem;
}
.addcost h2 {
	color: #f35d27;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.addcost h2 small {
	width: 100%;
	font-size: 19.2rem;
}
.addcost h2 span {
	font-size: 36rem;
	line-height: 43.2rem;
	padding-top: 112rem;
}
.addcost h2 .din {
	font-size: 240rem;
	margin: -10rem 3rem 0 10rem;
}
.addcost h2 .yen {
	font-size: 60rem;
	padding-top: 120rem;
}
.cost_list {
	margin-top: 28rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12rem;
}
.cost_list li {
	height: 126rem;
}
.cost_list li:nth-last-child(n+2) {
	background: #b7ed3f;
}
.cost_list li:last-child {
	background: #002d04;
	display: grid;
	place-content: center;
}
.cost_list li:not(:nth-child(2)):not(:nth-child(4)):not(:last-child) {
	padding-top: 18rem;
}
.cost_list li:nth-child(2) {
	padding-top: 23rem;
}
.cost_list li:nth-child(4) {
	padding-top: 26rem;
}
.cost_list li:nth-child(1) img {
	width: 47rem;
}
.cost_list li:nth-child(2) img {
	width: 63rem;
}
.cost_list li:nth-child(3) img {
	width: 69rem;
}
.cost_list li:nth-child(4) img,
.cost_list li:nth-child(7) img,
.cost_list li:nth-child(8) img {
	width: 72rem;
}
.cost_list li:nth-child(5) img {
	width: 67rem;
}
.cost_list li:nth-child(6) img {
	width: 68rem;
}
.cost_list li:last-child img {
	width: 72rem;
}
.cost_list p {
	font-size: 14.4rem;
}
.cost_list small {
	font-size: 12rem;
}
.cost_list li:nth-child(4) p {
	margin-top: 6rem;
}
.cost_list li:nth-child(2) p,
.cost_list li:nth-child(6) p {
	margin-top: 5rem;
}
.cost_notice {
	counter-reset: cost;
	margin-top: 18rem;
}
.cost_notice li {
	font-size: 12rem;
	font-weight: 500;
	line-height: 21.6rem;
	text-align: left;
	display: flex;
}
.cost_notice li::before {
	counter-increment: cost;
  content: '※'counter(cost);
  margin-right: 6rem;
}
.addcost .cv {
	margin-top: 55rem;
}

/* お支払い方法 */
.payment {
	background: #1e1e1e;
	margin-top: 74rem;
	padding: 97rem 24rem 72rem;
}
.payment h2 {
	color: #fff;
	font-size: 28.8rem;
}
.pay_in {
	text-align: left;
	margin-top: 38rem;
	padding: 45rem 24rem 63rem;
}
.pay_in dt {
	height: 48rem;
	padding-left: 60rem;
	position: relative;
}
.pay_in dt::before {
	content: '';
	width: 48rem;
	height: 48rem;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 0;
	left: 0;
}
.pay_in dt:nth-of-type(1)::before {
	background-image: url(images/icon_pay1.png);
	background-size: 44rem auto;
}
.pay_in dt:nth-of-type(2)::before {
	background-image: url(images/icon_pay2.png);
	background-size: 43rem auto;
}
.pay_in dt:nth-of-type(3)::before {
	background-image: url(images/icon_pay3.png);
	background-size: 43rem auto;
}
.pay_in dt span {
	font-size: 21.6rem;
	line-height: 48rem;
}
.pay_in dd + dt {
	margin-top: 43rem;
}
.pay_in dd img {
	width: 330rem;
	margin: 33rem auto 0;
	display: block;
}
.pay_in dd p {
	font-size: 16.8rem;
	font-weight: 500;
	line-height: 33.6rem;
}

/* 初回施術までの流れ */
.flow {
	background: #b7ed3f url(images/img-flow_bg.jpg) no-repeat center top / 100% auto;
	padding-block: 70rem 115rem;
}
.flow .h_bi small {
	color: #fff;
}
.flow .swiper {
	margin-top: 58rem;
	overflow: visible;
}
.flow .swiper-slide {
	width: 304rem;
	height: 480rem;
}
.swiper .num {
	width: 86.4rem;
	height: 86.4rem;
	color: #fff;
	font-size: 36rem;
	line-height: 1;
	border-radius: 50%;
	display: grid;
	place-content: center;
	position: absolute;
	top: -24rem;
	left: -19rem;
}
.swiper .num small {
	font-size: 14.4rem;
	letter-spacing: .05em;
	padding: 0 0 2rem 4rem;
}
.swiper .ttl {
	height: 91rem;
	display: grid;
	place-content: center;
}
.swiper .ttl span {
	font-size: 24rem;
	line-height: 36rem;
}
.swiper img {
	width: 100%;
}
.swiper .txt {
	font-size: 14.4rem;
	font-weight: 500;
	line-height: 28.8rem;
	text-align: left;
	margin-top: 10rem;
	padding-inline: 24rem;
}
.flow .swiper-pagination {
	translate: 0 50rem;
}
.flow .swiper-pagination-bullet {
	width: 9.6rem;
	height: 9.6rem;
	margin: 0;
}
.flow .swiper-pagination span:nth-child(n+2) {
	margin-left: 10rem;
}
.flow .swiper-pagination span:not(.swiper-pagination-bullet-active) {
	background: rgba(0, 0, 0, .4);
}
.flow .swiper-pagination .swiper-pagination-bullet-active {
	width: 17.6rem;
	height: 17.6rem;
	background: #000;
	border: 4rem #b7ed3f solid;
	box-shadow: 0 0 0 1.2rem #000;
	vertical-align: middle;
}

/* カウンセリング無料 */
.message {
	margin-top: 82rem;
	padding-inline: 24rem;
}
.message h2 {
	height: 137rem;
	background: url(images/icon_message.png) no-repeat center top / 147rem auto;
	font-size: 28.8rem;
	line-height: 51.6rem;
	padding-top: 30rem;
}
.message_in {
	border: 2rem #000 solid;
	margin-top: 64rem;
	padding: 32rem 24rem 38rem;
	position: relative;
}
.message_in .ttl {
	width: 270rem;
	height: 48rem;
	color: #fff;
	font-size: 26.4rem;
	margin-inline: auto;
	display: grid;
	place-content: center;
	position: absolute;
	inset: -25rem 0 auto;
}
.message_in .copy {
	font-size: 19.2rem;
	line-height: 34.8rem;
	text-align: left;
}
.message_in .copy span {
	background: linear-gradient(0deg, #b7ed3f 8.4rem, transparent 8.4rem);
}
.message_in .txt {
	font-size: 16.8rem;
	font-weight: 500;
	line-height: 30rem;
	text-align: left;
	margin-top: 7rem;
}
.message .cv {
	margin-top: 50rem;
}

/* よくあるご質問 */
.qa {
	background: #e1e8ed;
	margin-top: 74rem;
	padding-block: 70rem 72rem;
}
.qa_wrap {
	margin-top: 34rem;
	display: flex;
	flex-wrap: wrap;
}
input[name="qa_tab"] {
	display: none;
}
.qa_tab {
	width: 146rem;
	height: 66rem;
	font-size: 16.8rem;
	border: 1.2rem #000 solid;
	display: grid;
	place-content: center;
	position: relative;
}
.qa_wrap label:nth-of-type(n+2) {
	margin-left: 6rem;
}
.qa_wrap input:not(:checked) + .qa_tab {
	background: #fff;
}
.qa_wrap input:checked + .qa_tab {
	background: #000;
	color: #fff;
}
.qa_cont {
	width: 100%;
	text-align: left;
	border: 2rem #000 solid;
	padding: 45rem 22rem;
	display: none;
}
#qa_laser:checked ~ #qa_laser_cont,
#qa_machine:checked ~ #qa_machine_cont,
#qa_reserve:checked ~ #qa_reserve_cont {
	display: block;
}
.qa_list {
	border: 1.2rem #000 solid;
}
.qa_list .q,
.qa_list .a {
	font-size: 16.8rem;
	letter-spacing: .04em;
	line-height: 30rem;
	position: relative;
}
.qa_list .en {
	font-size: 24rem;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 28rem;
	translate: 0 -50%;
}
.qa_list .a .en {
	color: #f35d27;
}
.qa_list .q {
	padding: 22rem 46rem 26rem 70rem;
}
.qa_list dt:nth-of-type(n+2) {
	border-top: 1.2rem #000 solid;
}
.qa_list .q::before,
.qa_list .q::after {
	content: '';
	width: 18rem;
	height: 1.8rem;
	background: #000;
	margin-block: auto;
	position: absolute;
	inset: 0 auto;
	right: 24rem;
}
.qa_list .q::after {
	rotate: -90deg;
	transition: all .3s ease-out;
}
.qa_list .q.active::after {
	background: transparent;
	rotate: 0deg;
	transition: all .3s ease-out;
}
.qa_list .a {
	background: rgba(0, 0, 0, .03);
	padding: 16rem 20rem 30rem 70rem;
	display: none;
}
.qa_list .a small {
	font-size: 14.4rem;
	font-weight: 500;
	line-height: 26.4rem;
}

/* クリニック */
.clinic {
	margin-top: 70rem;
	padding-inline: 24rem;
	padding-bottom: 72rem;
}
.clinic_list {
	margin-top: 53rem;
	display: grid;
	gap: 24rem;
}
.md-btn {
	height: 84rem;
	background: #b7ed3f;
	font-size: 24rem;
	line-height: 84rem;
	text-align: left;
	padding-left: 20rem;
	display: block;
	position: relative;
}
.md-btn::before,
.md-btn::after {
	content: '';
	margin-block: auto;
	position: absolute;
	inset: 0 auto;
}
.md-btn::before {
	width: 36rem;
	height: 36rem;
	background: #000;
	border-radius: 50%;
	right: 18rem;
}
.md-btn::after {
	width: 7rem;
	height: 7rem;
	border-top: 2rem #fff solid;
	border-right: 2rem #fff solid;
	right: 34rem;
	rotate: 45deg;
}
.md-overlay {
	background: rgba(0, 0, 0, .4);
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
}
.md-contents {
	width: 402rem;
	height: 730rem;
	max-height: 900px;
	margin: auto;
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
}
.md-contents .close .md-close {
	width: 62rem;
	height: 62rem;
	border-radius: 50%;
	position: absolute;
	top: -27rem;
	right: -15rem;
}
.md-contents .close .md-close::before,
.md-contents .close .md-close::after {
	content: '';
	width: 30rem;
	height: 2rem;
	background: #fff;
	margin: auto;
	position: absolute;
	inset: 0;
}
.md-contents .close .md-close::before {
	rotate: 45deg;
}
.md-contents .close .md-close::after {
	rotate: -45deg;
}
.clinic_wrap {
	height: 100%;
	overflow-x: hidden;
	scrollbar-width: none;
}
.clinic_in {
	padding: 24rem 24rem 76rem;
}
.clinic_in .map iframe {
	width: 100%;
	height: 236rem;
}
.clinic_info {
	text-align: left;
	margin-top: 32rem;
}
.clinic_info dt {
	height: 36rem;
	padding-left: 41rem;
	position: relative;
}
.clinic_info dt::before {
	content: '';
	width: 36rem;
	height: 36rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 23rem auto;
	position: absolute;
	top: 0;
	left: 0;
}
.clinic_info dt:nth-of-type(1)::before {
	background-image: url(images/icon_clinic1.png);
}
.clinic_info dt:nth-of-type(2)::before {
	background-image: url(images/icon_clinic2.png);
}
.clinic_info dt:nth-of-type(3)::before {
	background-image: url(images/icon_clinic3.png);
}
.clinic_info dt:nth-of-type(n+2) {
	margin-top: 48rem;
}
.clinic_info span {
	font-size: 24rem;
	line-height: 36rem;
}
.clinic_info dd {
	font-size: 16.8rem;
	line-height: 28.8rem;
	margin-top: 3rem;
}
.clinic_info dd a {
	border-bottom: 1rem #000 solid;
}
.clinic_info dd p:nth-of-type(n+2) {
	margin-top: 1em;
}
.clinic_in .cv_btn {
	height: 72rem;
	margin-top: 80rem;
}
.clinic_in .cv_btn span {
	font-size: 21.61rem;
	margin: 0;
	padding-right: 24rem;
}
.tel_btn {
	height: 72rem;
	color: #fff;
	font-size: 24rem;
	border-radius: 100vmax;
	margin-top: 12rem;
	display: grid;
	place-content: center;
}
.tel_btn span::before {
	content: '';
	width: 24rem;
	height: 24rem;
	background: url(images/icon_tel.png) no-repeat center / 100% auto;
	vertical-align: middle;
	margin-right: 4rem;
	display: inline-block;
}

/* 下部フォーム */
.contact {
	background: #e1e8ed;
	padding: 60rem 24rem;
}
.reserve_ttl {
	font-size: 28.8rem;
}
.reserve_notice {
	margin-top: 30rem;
}
.contact .cv_btn {
	height: 54rem;
	margin-top: 30rem;
}
.contact .cv_btn i {
	font-size: 21rem;
}
.contact .cv_btn::before {
	width: 36rem;
	height: 36rem;
	right: 10rem;
}
.contact .cv_btn::after {
	right: 25rem;
}
.reserve_notice p:nth-of-type(1) {
	font-size: 20rem;
}
.reserve_notice p:nth-of-type(2) {
	font-size: 12rem;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	margin-top: 20rem;
	padding-inline: 24rem;
}
.form_list {
	margin-top: 30rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10rem;
}
.form_list a {
	height: 44rem;
	background: #fff;
	border: 1.2rem #000 solid;
	border-radius: 6rem;
	padding-left: 14rem;
	display: flex;
	align-items: center;
	position: relative;
}
.form_list a::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: 18rem;
	rotate: 45deg;
}
.form_list a:hover {
	background: #b7ed3f;
}

/* footer */
footer {
	background: #002d04;
	color: #fff;
	padding-block: 70rem 27rem;
}
.footer_logo .copy {
	font-size: 19.5rem;
	padding-bottom: 34rem;
}
.footer_logo img {
	width: 211rem;
}
footer .sns {
	margin-top: 57rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .sns li:nth-child(-n+2) {
	width: 33rem;
}
footer .sns li:nth-child(3) {
	width: 24rem;
}
footer .sns li:nth-child(n+2) {
	margin-left: 30rem;
}
footer .copyright {
	font-size: 14.4rem;
	font-weight: 500;
	margin-top: 45rem;
}

/* 症例追加コンテンツ */
.parti_case {
	width: 385rem;
	border: 2rem #000 solid;
	border-radius: 20rem;
	margin: 72rem auto 0;
	padding-bottom: 32rem;
}
.parti_case_ttl {
	padding-top: 38rem;
	position: relative;
}
.parti_balloon {
	width: 224rem;
	height: 40rem;
	background: #000;
	color: #fff;
	font-size: 24rem;
	line-height: 36rem;
	margin-inline: auto;
	position: absolute;
	inset: -20rem 0 auto;
}
.parti_balloon::after {
	content: '';
	width: 14rem;
	height: 14rem;
	background: #000;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin-inline: auto;
	position: absolute;
	inset: auto 0 -13rem;
}
.parti_balloon small {
	font-size: 18rem;
}
.parti_case_ttl strong {
	color: #f35d27;
	font-size: 40rem;
}
.parti_case_ttl .dot {
	position: relative;
}
.parti_case_ttl .dot::before {
	content: '';
	width: 4rem;
	height: 4rem;
	background: #f35d27;
	border-radius: 50%;
	margin-inline: auto;
	position: absolute;
	inset: 0;
	translate: 0 4rem;
}
.parti_case_ttl span {
	font-size: 32rem;
}
.parti_case_ba {
	margin-top: 16rem;
	padding-inline: 28rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32rem;
}
.parti_case_ba li {
	border: 4rem #b7ed3f solid;
	position: relative;
}
.parti_case_ba li:nth-child(1)::after {
	content: '';
	width: 10rem;
	height: 12rem;
	background: #000;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	margin-block: auto;
	position: absolute;
	inset: 0 auto;
	right: -25rem;
}
.parti_case_ba img {
	height: 172rem;
	object-fit: cover;
}
.parti_case_ba p {
	height: 55rem;
	background: #b7ed3f;
	font-size: 14rem;
	font-weight: 700;
	line-height: 21rem;
	padding-top: 4rem;
	display: grid;
	place-content: center;
}
.parti_case_ba small {
	font-size: 12rem;
}
.parti_case_notice {
	margin-top: 16rem;
	padding-inline: 28rem;
}
.parti_case_notice li {
	font-size: 10rem;
	font-weight: 700;
	letter-spacing: .5rem;
	line-height: 15rem;
	text-align: left;
}

/* こーきさん画像 */
.copy1 .lp_koki4 {
	width: 117rem;
	right: -62rem;
	bottom: -64rem;
}
.copy2 .lp_koki2 {
	width: 180rem;
	height: 152rem;
	object-fit: cover;
	object-position: center top;
	left: 0;
	bottom: -40rem;
}
.copy3 .lp_koki4 {
	width: 117rem;
	right: 24rem;
	bottom: -64rem;
}
.reason1 .top_koki_3 {
	width: 136rem;
	top: -143rem;
	right: -12rem;
}