html {
  scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	color: var(--text-color);
	font-family: hiragino-kaku-gothic-pron, sans-serif;
	font-size: min(16px, 4.1vw);
	font-style: normal;
	font-weight: 300;
	font-feature-settings: 'palt';
	letter-spacing: .06em;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
 	counter-reset: number 0;
}

:root {
	--main-color: #CEEAFF;
	--liteblue-color: #F5F8FB;
	--blue-color31: #3190D6;
	--blue-color6c: #6CB7F1;
	--paleblue-color: #D5DDFF;
	--logo-color: #727171;
	--text-color: #000000;
	--pink-color: #DE0091;
	--pink-color2: #FF64AF;
	--litepink-color: #EA96DE;
	--palepink-color: #FFE2F5;
	--yellow-color: #FFF500;
	--marine-color: #00B8BC;
	--green-color: #19C199;
	--mint-color: #15D5A7;
	--gold-color: #7D7235;
	--red-color: #DD0013;
}

@font-face {
  font-family: 'Athene';
  src:
  url('../fonts/Athene.otf') format('otf'),
  url('../fonts/Athene.woff') format('woff'),
  url('../fonts/Athene.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* 読み込みまでデフォルトのフォントを表示 */
}

@font-face {
  font-family: 'Futehodo';
  src:
  url('../fonts/Futehodo-MaruGothic.woff') format('woff'),
  url('../fonts/Futehodo-MaruGothic.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

#to_top {
	display: flex;
	width: min(60px, 15.38vw);
	height: min(60px, 15.38vw);
	background: var(--blue-color31);
	color: #ffffff;
	font-size: 1.5rem;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: .5s;
	position: fixed;
	bottom: -100px;
	right: -100px;
	z-index: 9;
}

#to_top.appear {
	opacity: 1;
	position: fixed;
	bottom: 0;
	right: 0;
}

.wrap_lp {
	margin: 0 auto;
	width: min(750px, 100vw);
	box-shadow: 0 0 6px 0 rgba(0, 0, 0, .25);
	overflow: hidden;
}

main {
	padding: min(700px, 106vw) 0 min(80px, 10.26vw);
	width: 100%;
	background: url(../images/bg_main.webp) no-repeat 50% 0;
	background-size: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

main::after {
	content: '';
	width: 100%;
	height: min(1000px, 150vw);
	background: linear-gradient(0deg, rgba(255, 255, 255, 1.0) 40%, rgba(255, 255, 255, 0));
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
}

main > a {
	display: flex;
	padding: 0 0 0 .5em;
	width: min(195px, 26.67vw);
	height: min(70px, 12.82vw);
	background: #06C755;
	border: min(2px, .51vw) solid #ffffff;
	border-radius: .6rem;
	color: #ffffff;
	font-size: min(24px, 3.59vw);
	font-weight: 700;
	text-align: center;
	line-height: 1.15;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(20px, 2.56vw);
	right: min(240px, 30.4vw);
}

main > a.reserve {
	background: var(--green-color);
	right: 40px;
}

main > a.reserve img {
	display: block;
	margin-right: .35em;
	height: 65%;
}

main > a span {
	margin-left: .15em;
	transform: scaleX(.6);
}

main > strong {
	font-size: min(87px, 5.13vw);
	font-style: normal;
	font-weight: 600;
	line-height: .8;
	letter-spacing: 0;
  	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  	text-orientation: upright;
  	justify-items: center;
  	transform: rotate(15deg);
	position: absolute;
	top: 100px;
	right: 110px;
}

main > strong i {
	padding: .5em 0 0;
	font-size: min(40px, 5.13vw);
	font-style: normal;
	-webkit-text-stroke: min(6px, 1vw) #ffffff;
	text-stroke: min(6px, 1vw) #ffffff;
	paint-order: stroke fill;
}

main > strong span {
	display: block;
	color: var(--palepink-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(130px, 16.92vw);
	-webkit-text-stroke: min(5px, .64vw) #000000;
	text-stroke: min(5px, .64vw) #000000;
	paint-order: stroke fill;
}

main > strong span small {
	font-size: 70%;
}

main > strong img {
	display: block;
	width: min(244px, 33.33vw);
	transform: rotate(-6deg);
	filter: drop-shadow(0 0 .1rem var(--pink-color2)) drop-shadow(0 0 .2rem var(--pink-color2)) drop-shadow(0 0 .25rem var(--pink-color2));
	position: relative;
	top: -.4rem;
	left: .2rem;
}

main .main_epix {
	display: block;
	width: min(124px, 18.21vw);
	position: absolute;
	top: min(550px, 87.19vw);
	right: 20px;
	z-index: 1;
}

main > h1 {
	padding: 1em 0 0;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-weight: 600;
	font-style: normal;
	font-size: min(63px, 8.72vw);
	line-height: 1.35;
	letter-spacing: .1em;
	text-shadow: 0 0 .1em #55BFFF, 0 0 .2em #55BFFF, 0 0 .3em #55BFFF;
	text-indent: -1em;
  	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  	text-orientation: upright;
  	justify-items: center;
  	position: absolute;
  	top: min(120px, 20.51vw);
  	left: min(40px, 4vw);
  	z-index: 2;
}

main > h1 > small {
	display: block;
	font-size: 76.19%;
	letter-spacing: .1em;
	position: relative;
}

main > h1 span {
	padding-left: min(10px, 1vw);
	border-left: 1px solid #ffffff;
}

main > h2 {
	color: #ffffff;
	font-family: 'the-seasons', serif;
	font-weight: 700;
	font-size: min(44px, 5.64vw);
	letter-spacing: .2em;
	text-align: center;
	text-shadow: 0 0 .1rem var(--blue-color6c), 0 0 .2rem var(--blue-color6c), 0 0 .3rem var(--blue-color6c), 0 0 .4rem var(--blue-color6c);
	line-height: 1.25;
	position: absolute;
	top: min(20px, 4vw);
	left: min(40px, 5vw);
}

main > h2 > small {
	display: block;
	font-size: 28%;
	font-weight: 400;
	letter-spacing: .24em;
}

main .campaign {
	width: 100%;
	position: relative;
	z-index: 1;
}

main .campaign > h2 {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(50px, 6.67vw);
	font-weight: 600;
	text-align: center;
	line-height: min(60px, 6vw);
	letter-spacing: .06em;
}

main .campaign .cont_camp {
	padding: 0 40px;
}

main .campaign .cont_camp > strong,
.exp > .cont_exp > h3,
.get_plan > strong,
.reason_camp > strong {
	display: flex;
	color: #727272;
  	font-family: 'Futehodo';
	font-size: min(50px, 6.41vw);
	line-height: 1;
	justify-content: space-between;
	align-items: baseline;
}

.get_plan > strong {
	margin: -.25em auto 0;
	width: min(690px, 90vw);
}

.reason_camp > strong {
	margin-top: -.5em;
	font-size: min(32px, 4.1vw);
}

main .campaign .cont_camp > strong span:first-child,
.exp > .cont_exp > h3 span:first-child,
.get_plan > strong span:first-child,
.reason_camp > strong span:first-child {
	color: #ffffff;
	-webkit-text-stroke: min(6px, 1vw) var(--litepink-color);
	text-stroke: min(6px, 1vw) var(--litepink-color);
	paint-order: stroke fill;
	filter: drop-shadow(.04em .04em .04em #5b7dc9);
}

main .campaign .cont_camp > strong span:last-child,
.exp > .cont_exp > h3 span:last-child,
.get_plan > strong span:last-child,
.reason_camp > strong span:last-child {
	-webkit-text-stroke: min(8px, 1.28vw) #ffffff;
	text-stroke: min(8px, 1.28vw) #ffffff;
	paint-order: stroke fill;
}

main .campaign .cont_camp > strong span:last-child strong,
.exp > .cont_exp > h3 span:last-child strong,
.get_plan > strong span:last-child strong,
.reason_camp > strong span:last-child strong {
	margin: 0 0 0 .05em;
	color: var(--marine-color);
	font-size: 275%;
	font-weight: normal;
	letter-spacing: .05em;
}

main .campaign .cont_camp > strong span:last-child strong small,
.exp > .cont_exp > h3 span:last-child strong small,
.get_plan > strong span:last-child strong small,
.reason_camp > strong span:last-child strong small {
	color: var(--marine-color);
	font-size: 50%;
}

main .campaign .cont_camp .img_facevio {
	width: min(284px, 41vw);
	transform: rotate(-7deg);
	position: absolute;
	top: -70px;
	left: 42px;
}

main .campaign .cont_camp h3.h3_body,
.exp > .cont_exp > h4.h4_body,
.get_plan > h3.h3_body,
.reason_camp > h5.h5_body {
	margin: .05em 0 0;
	color: #ffffff;
  	font-family: 'Futehodo';
	font-size: min(160px, 21.03vw);
	text-align: center;
	-webkit-text-stroke: min(12px, 2.05vw) #ffffff;
	text-stroke: min(12px, 2.05vw) #ffffff;
	paint-order: stroke fill;
	line-height: 1;
	letter-spacing: .05em;
	filter: drop-shadow(.04em .04em .02em #5b7dc9);
	position: relative;
}

.reason_camp > h5.h5_body {
    font-size: min(100px, 12.31vw);
	letter-spacing: .08em;
}

main .campaign .cont_camp h3.h3_body::before,
main .campaign .cont_camp h3.h3_body::after,
.exp > .cont_exp > h4.h4_body::before,
.exp > .cont_exp > h4.h4_body::after,
.get_plan > h3.h3_body::before,
.get_plan > h3.h3_body::after,
.reason_camp > h5.h5_body::before,
.reason_camp > h5.h5_body::after {
	content: attr(data-text);
	margin: auto;
	-webkit-text-stroke: min(6px, 1vw) var(--litepink-color);
	text-stroke: min(6px, 1vw) var(--litepink-color);
	paint-order: stroke fill;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

main .campaign .cont_camp h3.h3_body::before,
.exp > .cont_exp > h4.h4_body::before,
.get_plan > h3.h3_body::before,
.reason_camp > h5.h5_body::before {
	content: attr(data-text);
	margin: auto;
	-webkit-text-stroke: min(18px, 3.08vw) var(--litepink-color);
	text-stroke: min(18px, 3.08vw) var(--litepink-color);
	paint-order: stroke fill;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

main .campaign .cont_camp h4,
.get_plan > h4,
.reason_camp > h6 {
	display: flex;
	margin-top: 1rem;
  	font-family: 'Futehodo';
	font-weight: 600;
	line-height: 1;
	position: relative;
	align-items: center;
}

.reason_camp > h6 {
	margin-top: .75rem;
}

.vertical-span {
	display: inline-block;
	flex-wrap: wrap;
	margin: 0 .25em 0 0;
	padding: .7em .2em;
	height: fit-content;
	background: var(--marine-color);
	border-radius: .6rem;
	color: var(--yellow-color);
	font-size: min(54px, 7.18vw);
	font-feature-settings: initial;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    vertical-align: middle;
	line-height: 1.25;
	letter-spacing: .1em;
	align-items: center;
}

/* Chrome用のみ調整 */
@supports not (-webkit-hyphens: none) {
    .vertical-span {
				padding: .55em .2em .85em;
        letter-spacing: -.5em;
    }
}

.reason_camp > h6 > span {
	font-size: min(36px, 4.62vw) !important;
}

main .campaign .cont_camp h4 strong,
.exp > .cont_exp > h5 strong,
.get_plan h4 strong,
.reason_camp > h6 strong {
	color: var(--litepink-color);
	font-size: min(200px, 26.67vw);
	-webkit-text-stroke: min(12px, 2.56vw) #ffffff;
	text-stroke: min(12px, 2.56vw) #ffffff;
	paint-order: stroke fill;
	letter-spacing: 0;
	filter: drop-shadow(.05em .05em .03em #5b7dc9);
	position: relative;
}

.reason_camp > h6 strong {
	font-size: min(128px, 16.15vw);
	-webkit-text-stroke: min(8px, 2.56vw) #ffffff;
	text-stroke: min(8x, 2.56vw) #ffffff;
}

main .campaign .cont_camp h4 strong span,
.exp > .cont_exp > h5 strong span,
.get_plan h4 strong span,
.reason_camp > h6 strong span {
	position: relative;
}

main .campaign .cont_camp h4 strong :is(span, small)::before,
.exp > .cont_exp > h5 strong :is(span, small)::before,
.get_plan h4 strong :is(span, small)::before,
.reason_camp > h6 strong :is(span, small)::before {
	content: attr(data-text);
	-webkit-text-stroke: min(16px, 3.59vw) var(--litepink-color);
	text-stroke: min(16px, 3.59vw) var(--litepink-color);
	paint-order: stroke fill;
	position: absolute;
	z-index: -1;
}

main .campaign .cont_camp h4 strong small::before,
.exp > .cont_exp > h5 strong small::before,
.get_plan h4 strong small::before,
.reason_camp > h6 strong small::before {
	top: .3em;
}

main .campaign .cont_camp h4 strong > small,
.exp > .cont_exp > h5 strong > small,
.get_plan h4 strong small,
.reason_camp > h6 strong small {
	margin-left: .1em;
	font-size: 50%;
	position: relative;
	top: .05em;
}

.tax-small {
	color: #ffffff;
	font-size: min(30px, 4.1vw);
	filter: drop-shadow(.1em .1em .1em #5b7dc9);
	position: absolute;
	top: 1.5em;
	right: -.85em;
}

/* Chrome用のみletter-spacing */
@supports not (-webkit-hyphens: none) {
    .tax-small {
			top: 1.5em;
			right: -.1em;
    }
}

.reason_camp > h6 > small,
.exp > .cont_exp > h5 > small {
	font-size: min(24px, 3.08vw);
	top: .75em;
	right: -.5em;
}

.att-em {
	margin: 0 0 0 .5em;
	color: #ffffff;
	font-size: min(30px, 4.1vw);
	font-style: normal;
	filter: drop-shadow(.1em .1em .1em #5b7dc9);
	position: absolute;
	top: .25em;
	right: -.1em;
}

/* Chrome用のみletter-spacing */
@supports not (-webkit-hyphens: none) {
    .att-em {
			top: .25em;
			right: .5em;
    }
}

main .campaign .cont_camp h5,
.get_plan h5 {
	margin: min(16px, 3.59vw) 0 0;
	border-top: 2px solid;
	border-bottom: 2px solid;
	color: var(--pink-color);
	font-size: min(30px, 4.1vw);
	font-weight: 600;
	text-align: center;
	position: relative;
}

main .campaign .cont_camp h5 > span,
.get_plan h5 span {
	display: inline-block;
	-webkit-text-stroke: min(6px, 1.28vw) #ffffff;
	text-stroke: min(6px, 1.28vw) #ffffff;
	paint-order: stroke fill;
	filter: drop-shadow(0 .05em .05em var(--pink-color));
}

main .campaign .cont_camp > a.btn_cv {
	display: block;
	margin: 2.5rem 0 0;
	animation: btn_animation 1.5s infinite;
}

main .campaign .cont_camp > a.btn_cv img {
	filter: drop-shadow(.2rem .2rem .1rem rgba(0, 0, 0, .2));
}

main .campaign .cont_camp > p {
	margin: 1.5em 0 0;
	font-size: min(16px, 3.08vw);
	line-height: 1.5;
	letter-spacing: .04em;
}

main .campaign .cont_camp > p.p_pink,
.thankyou .get_plan > p.note.p_pink {
	color: var(--pink-color);
	font-size: min(18px, 3.59vw);
	font-weight: 600;
}

.exp {
	margin: 0;
	padding: min(80px, 9.23vw) min(20px, 5vw) min(60px, 10.26vw);
	background: #ffffff;
	background-size: 100%;
	position: relative;
	z-index: 0;
}

.exp > h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(54px, 7.69vw);
	font-weight: 600;
	text-align: center;
	position: relative;
}

.exp > h2::before {
	content: '';
	width: min(44px, 7.69vw);
	height: min(27px, 4.62vw);
	background: url(../images/txt_mazu.svg) no-repeat 50% 50%;
	background-size: 100%;
	transform: rotate(-20deg);
	position: absolute;
	top: .1em;
	left: 56%;
}

.exp > h2 span {
	color: var(--pink-color);
	position: relative;
}

.exp > h2 span span::before {
	content: '・';
	margin: 0 auto;
	color: var(--text-color);
	font-weight: 300;
	position: absolute;
	top: -1.25em;
	right: 0;
	left: 0;
}

.exp > h3 {
	font-size: min(36px, 4.1vw);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.exp > h3 span {
	display: inline-block;
	padding: .35em .35em;
	border-radius: .6rem;
	background: var(--pink-color);
	color: var(--yellow-color);
}

.exp > h4 {
	margin: .75em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(40px, 5.64vw);
	font-weight: 600;
	text-align: center;
}

.exp > h4 > span {
	padding-bottom: .2em;
	border-bottom: 1px solid var(--text-color);
}

.exp > h4 > span span {
	color: var(--pink-color);
}

.exp > ul {
	display: flex;
	margin: 1rem 0 0;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.exp > ul li {
	width: min(220px, 29.23vw);
	height: min(220px, 29.23vw);
}

.exp > ul li img {
	width: 100%;
	height: 100%;
	border: min(5px, 1.28vw) solid #ffffff;
	filter: drop-shadow(.2rem .2rem .2rem rgba(0, 0, 0, .2));
	object-fit: cover;
}

.exp > .cont_exp {
	margin: 25px 0 0 -20px;
	padding: min(40px, 10.26vw) min(50px, 7.69vw) 0 0;
	width: min(750px, 100vw);
	height: min(470px, 55.13vw);
	background: url(../images/bg_camp.webp) no-repeat 50% 50%;
	background-size: 100%;
    font-family: 'Futehodo';
	position: relative;
	z-index: 0;
}

.exp > .cont_exp > strong {
    display: flex;
    flex-wrap: wrap;
    width: min(134px, 21.54vw);
    height: min(134px, 21.54vw);
    background: var(--pink-color);
    border-radius: 50%;
    color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
    font-size: min(28px, 4.36vw);
    font-weight: 600;
    line-height: 1;
    text-align: center;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 20px;
    left: min(40px, 2.5vw);
}

.exp > .cont_exp > img.camp_girl {
	width: 246px;
	height: 351px;
	object-fit: cover;
	object-position: 50% 0;
	position: absolute;
	bottom: 0;
	left: 25px;
	z-index: 1;
}

.exp > .cont_exp > h3 {
	margin: 0 0 0 min(240px, 37.44vw);
	width: min(470px, 57.95vw);
	font-size: min(36px, 4.1vw);
	white-space: nowrap;
}

.exp > .cont_exp > h4.h4_body {
		margin: .1em 0 0;
    font-size: min(109px, 13.85vw);
    text-align: right;
		-webkit-text-stroke: min(10px, 2.05vw) #ffffff;
    text-stroke: min(10px, 2.05vw) #ffffff;
}
/*
.exp > .cont_exp > h4.h4_body::before {
    content: '';
    width: min(190px, 27.18vw);
    height: min(33px, 4.67vw);
    background: url(../images/copy_facevio_ed.svg) no-repeat 50% 50%;
    background-size: 100%;
    transform: rotate(-7deg);
    position: absolute;
    top: -36px;
    left: 250px;
}

.exp > .cont_exp > h4.h4_body strong {
    font-size: min(108px, 13.59vw);
    position: relative;
    top: .05em;
}
*/
.exp > .cont_exp > h4.h4_body strong span {
    font-size: min(50px, 5.9vw) !important;
    position: relative;
    top: -.1em;
}

.exp > .cont_exp > h5 {
    display: flex;
    margin: .75rem 0 0;
    line-height: 1;
    justify-content: flex-end;
    position: relative;
}

.exp > .cont_exp > h5 > span {
	padding: .5em .25em .75em;
    font-size: min(36px, 4.62vw);
    position: relative;
    top: .15em;
}

.exp > .cont_exp > h5 strong {
    font-size: min(133px, 16.92vw);
    text-align: right;
	-webkit-text-stroke: min(8px, 2.56vw) #ffffff;
	text-stroke: min(8px, 2.56vw) #ffffff;
	letter-spacing: 0;
}

.exp > .cont_exp > h5 strong small {
	margin-left: .1em;
    font-size: 60%;
    position: relative;
    top: .06em;
}



.exp > .cont_exp > h6 {
	display: flex;
	flex-wrap: wrap;
	font-weight: 600;
	line-height: 1.15;
	justify-content: flex-end;
	align-items: center;
}

.exp > .cont_exp > h6 > em {
	font-size: min(16px, 3.59vw);
	font-style: normal;
}

.exp > .cont_exp > h6 > span {
	margin: 0 .4em 0 .4em;
	font-size: min(22px, 3.59vw);
	line-height: 1.5;
	letter-spacing: 0;
}

.exp > .cont_exp > h6 > strong {
	color: var(--pink-color);
	font-size: min(38px, 6.15vw);
    -webkit-text-stroke: min(6px, 1vw) #ffffff;
    text-stroke: min(6px, 1vw) #ffffff;
    paint-order: stroke fill;
    filter: drop-shadow(0 .08em .04em var(--blue-color6c));
    position: relative;
}

.exp > .cont_exp > h6 > strong small {
	color: var(--text-color);
	font-size: min(12px, 2.05vw);
	font-weight: 400;
	position: absolute;
	top: -1em;
	right: 0;
}

.exp > .note_exp {
	margin: 1rem 0 0;
}

.exp > .note_exp > p {
	padding: 0 0 0 2em;
	font-size: min(16px, 3.08vw);
	line-height: 1.5;
	text-indent: -1em;
}

.exp > .note_exp .no_solicit {
	margin: 1em 0 0;
	padding: .75em 0;
	background: #ffffff;
	border: 1px solid var(--pink-color);
	color: var(--pink-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(28px, 4.62vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
	letter-spacing: .06em;
}

.epix .cont_epix {
	padding: min(40px, 5vw) 0 min(40px, 7.69vw);
	background: var(--blue-color31);
	position: relative;
	z-index: 1;
}

.epix .cont_epix > h2 {
	display: flex;
	height: min(116px, 15.38vw);
	background: var(--main-color);
	font-size: min(24px, 3.59vw);
	font-weight: 600;
	justify-content: center;
	align-items: center;
}

.epix .cont_epix > h2 img {
	display: block;
	margin: 0 1.5em;
	height: 100%;
}

.epix .cont_epix > img.img_epix {
	display: block;
	width: min(220px, 35.13vw);
	position: absolute;
	bottom: -1.5rem;
	left: 0;
}

.epix .cont_epix > img.logo_iceshr {
	display: block;
	margin: 0 auto;
	width: min(122px, 25.13vw);
	position: absolute;
	bottom: -37px;
	right: 0;
	left: 0;
}

.epix .cont_epix > h3 {
	margin: 1.5em 0 0;
	padding: 0 0 0 200px;
	width: 25.75em;
	color: #ffffff;
	font-size: min(23px, 5.13vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
	position: relative;
}

.epix .cont_epix > h3 strong {
	display: block;
	color: var(--yellow-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(33px, 7.44vw);
	letter-spacing: .08em;
}

.epix .cont_epix > h3 > span {
	display: flex;
	flex-wrap: wrap;
	padding: .25em 0 0;
	width: min(108px, 17.95vw);
	height: min(108px, 17.95vw);
	background: var(--yellow-color);
	border-radius: 50%;
	color: var(--text-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(23px, 3.59vw);
	font-weight: 600;
	line-height: 1.15;
	text-align: center;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -1em;
	right: -5.5em;
}

.epix .cont_epix > p {
	margin: .75em 0 0;
	padding: 0 min(40px, 5.13vw) 0 min(200px, 33.33vw);
	color: #ffffff;
	font-size: min(16px, 3.08vw);
	line-height: 1.5;
}

.epix .feature_epix {
	padding: min(40px, 10.26vw) min(40px, 5vw) min(40px, 5vw);
	background: var(--main-color);
	position: relative;
}

.epix .feature_epix h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(30px, 5.13vw);
	font-weight: 600;
	text-align: center;
}

.epix .feature_epix ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.epix .feature_epix ul li {
	display: flex;
	flex-wrap: wrap;
	width: 32%;
	aspect-ratio: 1 / 1;
	border: min(3px, .77vw) solid #94969f;
	border-radius: 50%;
	color: #ffffff;
	justify-content: center;
	align-items: center;
	position: relative;
}

.epix .feature_epix ul li::before {
	content: '';
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(0, 0, 0, .5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.epix .feature_epix ul li::after {
	counter-increment: number 1;
	content: 'FEATURE.' counter(number);
	margin: 0 auto;
	color: #ffffff;
	font-size: min(15px, 2.31vw);
	font-weight: 600;
	text-align: center;
	position: absolute;
	top: 1em;
	right: 0;
	left: 0;
	z-index: 1;
}

.epix .feature_epix ul li div {
	position: relative;
	color: #ffffff;
	font-size: min(18px, 2.82vw);
	font-weight: 400;
	text-align: center;
	text-shadow: 0 .25em .25em rgba(0, 0, 0, .5);
	line-height: 1.5;
	z-index: 1;
}

.epix .feature_epix ul li div strong {
	display: block;
	color: var(--yellow-color);
	font-size: min(28px, 4.1vw);
}

.epix .feature_epix ul li:first-child {
	background: url(../images/bg_epix01.webp) no-repeat 50% 50%;
	background-size: cover;
}

.epix .feature_epix ul li:nth-child(2) {
	background: url(../images/bg_epix02.webp) no-repeat 50% 50%;
	background-size: cover;
}

.epix .feature_epix ul li:nth-child(3) {
	background: url(../images/bg_epix03.webp) no-repeat 50% 50%;
	background-size: cover;
}

.epix .cont_jac {
	padding: 0 0 min(40px, 10.26vw);
	background: #ffffff;
}

.epix .cont_jac h2 {
	display: flex;
	height: min(100px, 12.82vw);
	background: var(--gold-color);
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(30px, 4.36vw);
	font-weight: 600;
	letter-spacing: .08em;
	justify-content: center;
	align-items: center;
}

.epix .cont_jac h3 {
	margin: 1em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(22px, 4.1vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .08em;
}

.epix .cont_jac .logo_jac {
	display: block;
	margin: 2.5rem auto 0;
	width: min(200px, 41.02vw);
}

.epix .cont_jac p {
	margin: .75em min(40px, 5vw) 0;
	padding: 0;
	font-size: min(16px, 3.59vw);
	text-align: center;
	line-height: 1.5;
}

.epix .cont_jac p.jac_merit {
	padding: 1.5em;
	background: rgba(0, 0, 0, .05);
	border-radius: .6rem;
	color: var(--gold-color);
	font-weight: 600;
	text-align: left;
}

.epix .cont_jac p.jac_merit span {
	display: block;
	padding: 0 0 0 2.5em;
	color: var(--text-color);
	font-weight: 400;
	position: relative;
}

.epix .cont_jac p.jac_merit span::before {
	content: '→';
	position: absolute;
	top: 0;
	left: 1em;
}

.epix .cont_jac .logo_product {
	display: block;
	margin: 1.25rem auto 2rem;
	width: min(176px, 29.74vw);
}

.survey {
	padding: min(30px, 3.85vw) 0 0;
	background: #EEF8FF;
}

.survey .tit_survey {
	display: block;
	margin: 0 auto;
	width: min(694px, 92.69vw);
}

.survey .top_survey {
	margin: -115px 0 0;
	width: 100%;
	height: min(640px, 90vw);
	background: url(../images/bg_cloud.webp) no-repeat 60% 60%;
	background-size: min(684px, 85.38vw);
	position: relative;

}

.survey .top_survey .survey_girl {
	display: block;
	width: min(419px, 70.26vw);
	height: min(586px, 78.46vw);
	object-fit: cover;
	object-position: 50% 0;
	position: absolute;
	bottom: 0;
	left: min(136px, 11vw);
}

.survey .top_survey p {
	display: flex;
	flex-wrap: wrap;
	padding: .2em 0 0;
	width: min(213px, 30.26vw);
	aspect-ratio: 1 / 1;
	background: var(--mint-color);
	border-radius: 50%;
	color: #ffffff;
	font-size: min(34px, 5.38vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	text-shadow: 0 0 .25em rgba(0, 0, 0, .25);
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 30px;
	left: 40px;
}

.survey .top_survey p::before {
	content: 'A';
	margin: 0;
	color: rgba(255, 255, 255, .3);
	font-size: min(174px, 24.36vw);
	font-weight: 600;
	text-shadow: none;
	position: absolute;
	top: -.05em;
	right: 0;
	bottom: 0;
	left: 0;
}

.survey .top_survey p small {
	display: block;
	font-size: min(27px, 3.85vw);
}

.survey .top_survey .copy_survey_pc {
	display: block;
	width: 125px;
	position: absolute;
	top: 20px;
	right: 40px;
	z-index: 1;
}

.survey .top_survey .copy_survey_pc::before {
	content: '';
	width: 148px;
	height: 148px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	left: -30px;
	bottom: 0;
	z-index: -1;
}

.survey .top_survey .copy_survey_sp {
	display: none;
}

.survey .questions {
	margin: 0 0 0 min(40px, 5vw);
	padding: min(90px, 11.54vw) 0 min(65px, 8.97vw);
	width: min(710px, 95vw);
	background: #ffffff;
	border-radius: min(60px, 15.38vw) 0 0 min(60px, 15.38vw);
	position: relative;
}

.survey .questions .fig_start {
	display: block;
	width: min(670px, 90vw);
  	animation: fuwafuwa 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
	position: absolute;
	top: -136px;
	left: 0;
	z-index: 1;
}

@keyframes fuwafuwa {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-20px); } /* 少し上へ */
  60%  { transform: translateY(35px); }  /* 下に大きく沈む */
  100% { transform: translateY(0); }
}


.survey .questions h2 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 1em;
	padding: 0 0 0 2.5em;
	height: min(120px, 16.67vw);
	background: #000000;
	color: #ffffff;
	font-size: min(28px, 5.13vw);
	font-weight: 700;
	line-height: 1.15;
	align-items: center;
	position: relative;
}

.survey .questions h2 span {
	color: var(--yellow-color);
}

.survey .questions h2 em {
	display: flex;
	width: min(100px, 13.33vw);
	aspect-ratio: 1 / 1;
	background: var(--mint-color);
	border-radius: 50%;
	color: #ffffff;
	font-size: min(36px, 4.62vw);
	font-weight: 600;
	font-style: normal;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -1em;
	left: -1em;
}

input[type=radio] {
	display: none;
}

.survey .questions label {
	display: block;
	margin: .5em auto 0;
	padding: 0 0 0 2em;
	width: min(630px, 84.6vw);
	background: #ffffff;
	border: 2px solid var(--mint-color);
	border-radius: 2em;
	font-size: min(28px, 4.1vw);
	font-weight: 600;
	line-height: min(80px, 10.26vw);
	transition: .5s;
}

.survey .questions label small {
	font-size: min(24px, 3.08vw);
}

.survey .questions input[type="radio"]:checked + label {
	background: var(--mint-color);
	color: #ffffff;
}

.survey .questions form + h2 {
	margin-top: 2em;
}

.fin label {
	display: block;
	margin: 1.5em auto 0;
	width: 8em;
	background: var(--yellow-color);
	border: min(5px,.51vw) solid #000000;
	border-radius: 2em;
	font-size: min(38px, 5.64vw);
	font-weight: 600;
	text-align: center;
	transition: .5s;
	position: relative;
	z-index: 1;
}

.fin input[type="radio"]:checked + label {
	background: #000000;
	color: var(--yellow-color);
}

.exp > .logo,
.intransigent .intransigent_logo,
.reason .reason_logo,
.ticket .thankyou_logo,
.survey .survey_logo {
	display: flex;
	margin: -.15em 0 0;
	color: #ffffff;
	font-family: 'the-seasons', serif;
	font-weight: 700;
	font-size: min(130px, 17.44vw);
	line-height: .75;
	justify-content: space-between;
}

.exp > .logo {
	margin: 0 auto;
	width: 100%;
	color: var(--main-color);
	line-height: 1;
	position: absolute;
	top: -.15em;
	right: 0;
	left: 0;
}


.thankyou {
	padding: min(250px, 33.333vw) 0 0;
	position: relative;
}

.thankyou::before {
	content: '';
	width: 100%;
	height: min(160px, 21.79vw);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background: #EEF8FF;
	position: absolute;
	top: 0;
	left: 0;
}

.thankyou2 {
	padding-top: 0;
}

.thankyou2::before {
	content: none;
}

.thankyou h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(60px, 8.21vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
	letter-spacing: .2em;
	position: relative;
}

.thankyou h2 small {
	display: block;
	font-size: min(37px, 5.38vw);
	letter-spacing: .15em;
}

.thankyou h2::before {
	content: '';
	margin: 0 auto;
	width: min(670px, 90vw);
	height: 1px;
	background: #000000;
	position: absolute;
	bottom: .15em;
	right: 0;
	left: 0;
}

.thankyou .fig_thankyou {
	display: block;
	margin: min(70px, 7.69vw) 0 0;
	width: min(750px, 100vw);
}

.thankyou .get_plan {
	margin: -2px 0 0;
	padding: min(300px, 53vw) min(40px, 5vw) min(100px, 10.26vw);
	background: url(../images/bg_getplan.webp) no-repeat 50% 0;
	background-size: 100%;
}

.get_plan > span {
	font-size: min(32px, 4.1vw);
	font-style: normal;
	font-weight: 600;
	line-height: .4;
	letter-spacing: 0;
}

.get_plan > span i {
	padding: .5em 0 0;
	font-style: normal;
	-webkit-text-stroke: min(5px, 1vw) #ffffff;
	text-stroke: min(5px, 1.03vw) #ffffff;
	paint-order: stroke fill;
}

.get_plan > span span {
	display: block;
	color: var(--palepink-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(112px, 15.9vw);
	-webkit-text-stroke: min(5px, .64vw) #000000;
	text-stroke: min(5px, .64vw) #000000;
	paint-order: stroke fill;
}

.get_plan > span span small {
	font-size: 60%;
}


.ticket {
	position: relative;
}

.reason01 > a,
.ticket > a {
	display: block;
	margin: 2.5rem auto 0;
	width: min(700px, 97vw);
	animation: btn_animation 1.5s infinite;
	position: relative;
	z-index: 1;
}

.ticket > a {
	left: -15px;
}

.fixed-banner {
	display: block;
 	margin: 0 auto;
	width: min(700px, 97vw);
	animation: btn_animation 1.5s infinite;
 	position: fixed;
 	bottom: min(10px, 2.56vw);
 	right: 0;
 	left: 0;
 	z-index: 9;
 }

@keyframes btn_animation {
    0% {
        transform: scale(1, 0.8);
    }
    20% {
        transform: scale(0.8, 1.1);
    }
    95% {
        transform: scale(1, 1);
    }
    100% {
        transform: scale(1, 0.8);
    }
}

.ticket .thankyou_logo {
	margin: 0;
	width: min(750px, 100vw);
	color: rgba(255, 255, 255, .2);
	position: absolute;
	bottom: -.25em;
	left: 0;
	z-index: 0;
}

.opening > p.note,
.thankyou .get_plan > p.note {
	padding: 2.5em min(40px, 5vw) min(60px, 10.26vw);
	width: 100%;
	font-size: min(16px, 3.08vw);
	line-height: 1.35;
}

.thankyou .get_plan > p.note {
	margin: 2em 0 0;
	padding: 0;
}

.thankyou .get_plan > p.note.p_pink {
	margin: 1.5em 0 0;
}

.opening > p.note {
	padding-top: 0;
	padding-bottom: 0;
	background: none;
}

.opening > p.note > span,
.thankyou .get_plan > p.note > span {
	display: block;
	margin: 2em 0 0;
	padding: 1.5em 0 1.75em;
	background: #000000;
	color: #ffffff;
	font-size: min(14px, 2.31vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.75;
	letter-spacing: .2em !important;
}

.opening > p.note > span strong,
.thankyou .get_plan > p.note > span strong {
	display: block;
	color: var(--yellow-color);
	font-size: min(29px, 4.87vw);
	position: relative;
}

.opening > p.note > span strong::before,
.opening > p.note > span strong::after,
.thankyou .get_plan > p.note > span strong::before,
.thankyou .get_plan > p.note > span strong::after {
	content: '';
	width: min(32px, 5.64vw);
	height: min(30px, 5.13vw);
	background: url(../images/icon_attention.webp) no-repeat 50% 50%;
	background-size: cover;
	position: absolute;
	top: .3em;
	left: 17%;
}

.opening > p.note > span strong::after,
.thankyou .get_plan > p.note > span strong::after {
	left: auto;
	right: 17%;
}

.limit {
	padding: min(80px, 10.26vw) 0 min(30px, 2.5vw);
	background: #151E38 url(../images/bg_limit02.webp) no-repeat 50% 0;
	background-size: 100%;
	position: relative;
	z-index: 1;
}

.limit::before {
	content: '';
	width: 100%;
	height: min(670px, 100vw);
	background: linear-gradient(0deg, #4B5063 70%, rgba(75, 80, 99, 0));
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
}

.limit::after {
	content: '';
	width: 100%;
	height: min(126px, 16.92vw);
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
	background: #4B5063;
	position: absolute;
	bottom: max(-125.8px, -16.92vw);
	left: 0;
}

strong.st_strong {
	display: block;
	text-align: center;
	color: #ffffff;
	font-size: min(20px, 3.59vw);
	font-weight: 600;
}

strong.st_strong.bk {
	color: #000000;
}

strong.st_strong span {
	color: var(--paleblue-color);
}

.limit h2 {
	margin: min(160px, 17.95vw) auto min(60px, 5vw);
	width: fit-content;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(55px, 7.69vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .06em;
	position: relative;
}

.limit h2::before {
	content: '';
	width: min(377px, 50.26vw);
	height: min(80px, 10.77vw);
	background: url(../images/txt_limit01.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -74px;
	left: -120px;
}

.limit h2 > strong {
	display: block;
	margin: 0 0 .1em;
	border-bottom: 1px solid #ffffff;
	color: var(--paleblue-color);
	font-size: min(70px, 9.23vw);
	line-height: 1;
	letter-spacing: .08em;
	position: relative;
}

.limit h2 > strong strong {
	font-size: 130%;
}

.limit h2 > span {
	border-bottom: 1px solid #ffffff;
	font-size: min(60px, 7.69vw);
	letter-spacing: .15em;
}

.limit h3 {
	display: flex;
	margin: 0 auto min(30px, 3.85vw);
	padding: min(25px, 2.56vw);
	width: min(710px, 95vw);
	height: min(220px, 29.23vw);
	background: rgba(59, 70, 113, .8);
	border-radius: 0 min(105px, 14.1vw);
	align-items: center;
}

.limit :is(h3, h4, h5) {
	position: relative;
	z-index: 1;
}

.limit h3 > figure {
	margin: 0 min(48px, 6.15vw) 0 0;
	width: min(170px, 23.08vw);
	height: min(170px, 23.08vw);
	position: relative;
}

.limit h3 > figure::after {
	content: '';
	width: min(60px, 7.95vw);
	height: min(63px, 8.21vw);
	background: url(../images/icon_limit01.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -5px;
	right: -15px;
}

.limit h3:first-of-type > img {
	width: min(300px, 40vw);
}

.limit h3:nth-of-type(2) > img {
	width: min(380px, 51.28vw);
}

.limit h3:nth-of-type(3)> img {
	width: min(380px, 55vw);
}

.limit h4 {
	margin: 1em auto 0;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(42px, 6.15vw);
	font-weight: 400;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .08em;
}

.limit h4 span {
	border-bottom: 1px solid #ffffff;
}

.limit h5 {
	margin: min(40px, 5vw) 0 0;
	color: var(--yellow-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(50px, 7.18vw);
	font-weight: 600;
	text-align: center;
	line-height: 1;
	letter-spacing: .1em;
}

.limit h5 strong {
	font-size: 120%;
	font-weight: inherit;
}


.recommend {
	padding: min(190px, 25.64vw) 0 min(40px, 10.26vw);
	background: url(../images/bg_recommend.webp) no-repeat 50% 0;
	background-size: 100%;
	position: relative;
}

.recommend h2 {
	margin: 20px 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(60px, 7.69vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
}

.recommend h2 small {
	display: block;
	font-family: hiragino-kaku-gothic-pron, sans-serif;
	font-size: min(24px, 3.08vw);
}

.recommend h2 span {
	display: inline-flex;
	margin: 0 .05em;
	width: min(76px, 9.74vw);
	height: min(76px, 9.74vw);
	background: #000000;
	color: #ffffff;
	font-family: "avenir-lt-pro", sans-serif;
	font-weight: 900;
	font-style: normal;
	justify-content: center;
	align-items: center;
}

.recommend h2 span:first-of-type {
	margin-left: .25em;
}
.recommend h2 span:last-of-type {
	margin-right: .25em;
}

.recommend h2 span:nth-of-type(3) {
	color: var(--red-color);
}

.recommend h3 {
	margin: min(40px, 7.69vw) 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(84px, 10.77vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
}

.recommend h3 > strong {
	color: var(--red-color);
	font-size: min(116px, 15.38vw);
	font-weight: inherit;
}

.recommend h3 > small {
	font-size: 70%;
}

.recommend h3 > strong span {
	position: relative;
}

.recommend h3 > strong span small {
	font-size: 90%;
}

.recommend h3 > strong span::before {
	content: '';
	margin: 0 auto;
	width: min(20px, 3.08vw);
	height: min(20px, 3.08vw);
	background: var(--red-color);
	border-radius: 50%;
	position: absolute;
	top: max(-24px, -5vw);
	right: 0;
	left: 0;
}

.recommend h3 > span {
	display: block;
	font-size: min(48px, 7.18vw);
	letter-spacing: .1em;
}

.recommend h3 > span span {
	color: var(--blue-color31);
}

.recommend .logo_epix {
	width: min(174px, 38.46vw);
	position: absolute;
	top: 960px;
	left: 40px;
}

.recommend .logo_epix > span {
	display: flex;
	padding: 0 .5em 0 0;
	font-size: min(12px, 2.56vw);
	font-weight: 600;
	line-height: 1;
}

.recommend .logo_epix > span:first-of-type {
	letter-spacing: -.04em;
	justify-content: space-between;
	position: relative;
	bottom: -2.25em;
}

.recommend .logo_epix > span:last-of-type {
	justify-content: flex-end;
	position: relative;
	top: -2.5em;
}

.recommend .img_hinyari {
	width: min(160px, 37.18vw);
	position: absolute;
	top: 940px;
	left: 218px;
}

.recommend h4 {
	font-size: min(17px, 3.59vw);
	font-weight: 600;
	line-height: 1.25;
	position: absolute;
	top: 1100px;
	left: 40px;
}

.recommend h4::after {
	content: '';
	width: min(360px, 45.13vw);
	height: min(33px, 4.1vw);
	background: url(../images/line_hinyari.webp) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	left: -1em;
	bottom: -1.35em;
}

.recommend h4 span {
	display: block;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(28px, 6.92vw);
	font-weight: 600;
	letter-spacing: .06em;
}

.recommend h4 span strong {
	margin-right: .1em;
	color: var(--blue-color31);
	font-size: min(48px, 11.79vw);
	font-weight: 400;
}

.recommend .bnr_recommend {
	display: block;
	margin: min(580px, 117.95vw) auto 0;
	width: min(710px, 90vw);
}

.recommend .logo_lp {
    margin: 80px auto 0;
    font-family: 'the-seasons', serif;
    font-weight: 700;
    font-size: min(56px, 7.69vw) !important;
    letter-spacing: .2em;
    text-align: center;
    line-height: 1.25;
    position: relative;
}

.recommend .logo_lp > small {
    display: block;
    font-size: 28%;
    font-weight: 400;
    letter-spacing: .24em;
}

.recommend .logo_lp::after {
	content: 'メーカー\A直営\Aサロン';
	margin: auto 0;
	padding: 1em 0;
	width: min(166px, 22.05vw);
	height: min(166px, 22.05vw);
	background: var(--yellow-color);
	border-radius: 50%;
	font-size: min(30px, 3.85vw);
	text-align: center;
	letter-spacing: 0;
	white-space: pre;
	position: absolute;
	top: 0;
	bottom: 0;
	right: min(20px, 2.5vw);
}

.recommend h5 {
	margin: 1em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(62px, 7.69vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .08em;
}

.recommend h5 strong {
	color: var(--red-color);
	font-weight: inherit;
}

.recommend h5 strong span {
	position: relative;
}

.recommend h5 strong span::before {
	content: '';
	margin: 0 auto;
	width: min(16px, 2.05vw);
	height: min(16px, 2.05vw);
	background: var(--red-color);
	border-radius: 50%;
	position: absolute;
	top: -.375em;
	right: 0;
	left: 0;
}

.recommend .wrap_befoaf {
	margin: min(24px, 5vw) auto;
	padding: min(40px, 5vw);
	width: min(710px, 95vw);
	background: #ffffff;
	border: min(2px, .5vw) solid #000000;
	border-radius: 1.2rem;
	box-shadow: 0 .2rem .4rem 0 rgba(0, 0, 0, .2);
}

.recommend .wrap_befoaf strong.parts {
	display: block;
	margin: 0 0 min(12px, 1.54vw);
	background: #000000;
	border-radius: .6rem;
	color: var(--yellow-color);
	font-size: min(24px, 3.59vw);
	font-weight: 600;
	text-align: center;
	line-height: 2.25;
	letter-spacing: .1em;
}

.recommend .wrap_befoaf .ol_befoaf {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.recommend .wrap_befoaf .ol_befoaf + strong.parts {
	margin-top: min(40px, 5vw);
}

.recommend .wrap_befoaf .ol_befoaf li {
	width: 48.25%;
	aspect-ratio: 3 / 2;
	border-radius: .6rem;
	overflow: hidden;
	position: relative;
}

.recommend .wrap_befoaf .ol_befoaf li:first-child::before,
.recommend .wrap_befoaf .ol_befoaf li:last-child::before {
	content: 'Before';
	font-size: min(24px, 3.08vw);
	font-weight: 600;
    -webkit-text-stroke: min(5px, 1.28vw) #ffffff;
    text-stroke: min(5px, 1.28vw) #ffffff;
    paint-order: stroke fill;
	position: absolute;
	top: .1em;
	left: .6em;
}

.recommend .wrap_befoaf .ol_befoaf li:last-child::before {
	content: 'After';
	color: var(--red-color);
}

.recommend .note {
	margin: 0;
	padding: 0 min(20px, 2.5vw) 0 0;
	font-size: min(16px, 3.08vw);
	text-align: right;
}

.merit {
	padding: min(80px, 10.26vw) 0 0;
	height: min(1842px, 247.43vw);
	background: url(../images/bg_merit.webp) no-repeat 50% 0;
	background-size: cover;
}

.merit h2 {
	margin: min(110px, 12.82vw) 0 min(50px, 7.69vw);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(60px, 7.69vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.15;
	letter-spacing: .1em;
	position: relative;
}

.merit h2::before {
	content: '';
	width: min(308px, 41.02vw);
	height: min(73px, 9.74vw);
	background: url(../images/txt_merit01.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -80px;
	left: 90px;
}

.merit h2 span {
	border-bottom: 1px solid #000000;
}

.merit h2 span:first-of-type {
	font-size: min(70px, 8.97vw);
}

.merit h2 span strong {
	color: var(--pink-color);
}

.merit .merit01 {
	padding: min(174px, 22vw) 0 0 min(350px, 44.1vw);
	height: min(404px, 54.1vw);
	background: url(../images/bg_merit01.webp) no-repeat 0 0;
	background-size: 100%;
}

.merit div span {
	padding: .25em .75em;
	border: 1px solid #000000;
	border-radius: 1em;
	font-size: min(20px, 3.08vw);
}

.merit div img {
	display: block;
	max-width: initial;
	position: relative;
}

.merit div p {
	margin: -.25em 0 0;
	font-size: min(26px,3.59vw);
	line-height: 1.5;
}

.merit .merit01 img {
	width: min(420px, 55vw);
	left: -1.5rem;
}

.merit .merit02 {
	padding: min(216px, 27.8vw) 0 0 min(80px, 10.26vw);
	height: min(443px, 58.97vw);
	background: url(../images/bg_merit02.webp) no-repeat 0 0;
	background-size: 100%;
}

.merit .merit02 img {
	width: min(460px, 61vw);
	left: -1.5rem;
}

.merit .merit03 {
	margin: min(40px, 7.69vw) 0 0;
	padding: min(170px, 21vw) 0 0 min(350px, 46vw);
	height: min(399px, 53.08vw);
	background: url(../images/bg_merit03.webp) no-repeat 0 0;
	background-size: 100%;
}

.merit .merit03 img {
	width: min(421px, 56.41vw);
	left: -1.25rem;
}

.reason ruby rt {
	font-size: 40%;
	font-weight: 300;
	text-align: center;
}


.reason {
	padding: min(150px, 20.51vw) 0 min(120px, 15.38vw);
	background: var(--main-color);
	overflow-x: hidden;
}

.reason > h2 {
	margin: 0 0 min(60px, 7.69vw);
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(80px, 11.03vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .1em;
	position: relative;
}

.reason > h2::after {
	content: '';
	margin: 0 auto;
	width: min(670px, 90vw);
	height: 1px;
	background: var(--blue-color31);
	position: absolute;
	bottom: .15em;
	right: 0;
	left: 0;
}

.reason > h2 > p {
	display: flex;
	flex-wrap: wrap;
	width: min(123px, 17.95vw);
	aspect-ratio: 1 / 1;
	border: 1px solid #000000;
	border-radius: 50%;
	color: #000000;
	font-family: initial;
	font-size: min(28px, 4.1vw);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0;
	justify-content: center;
	align-items: center;
	transform: rotate(-10deg);
	position: absolute;
	top: -1.5em;
	left: 3em;
}

.reason > h2 > span {
	display: block;
	color: #000000;
	font-size: min(50px, 7.69vw);
	font-weight: 300;
	letter-spacing: .04em;
}

.reason > h2 small {
	font-size: 90%;
}

.reason .reason_logo {
	margin: -.75em 0 0;
}

.reason .reason01 {
	margin: min(60px, 7.69vw) 0 0;
}

.reason .reason01 > h3 {
	margin: 0 auto;
	padding: 0 0 0 11rem;
	width: min(670px, 90vw);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(75px, 9.74vw);
	font-weight: 600;
	line-height: 1.15;
	position: relative;
}

.reason .reason02 > h3 {
	font-size: min(56px, 8.46vw);
	line-height: 1.35;
}

.reason .reason01 > h3 > span {
	display: block;
	color: var(--blue-color31);
	font-size: min(42px, 5.64vw);
}

.reason .reason02 > h3 > span {
	font-size: min(37px, 5.38vw);
}

.reason .reason01 > h3 > span > span,
.reason .reason01 > h3 > strong {
	border-bottom: 1px solid;
}

.reason .reason01 > h3 > strong small {
	font-size: inherit;
}

.reason .reason01 > h3 > p {
	width: min(160px, 21.54vw);
	color: #ffffff;
	font-family: initial;
	font-size: min(46px, 6.67vw);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	position: absolute;
	top: .85em;
	left: 0;
	z-index: 1;
}

.reason .reason01 > h3 > p > small {
	display: block;
	font-size: min(22px, 3.08vw);
}

.reason .reason01 > h3 > p::after {
	content: '';
	margin: auto;
	width: min(114px, 15.39vw);
	aspect-ratio: 1 / 1;
	background: var(--blue-color31);
	transform: rotate(45deg);
	position: absolute;
	top: -.25em;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.reason .reason01 .cont_reason01 {
	margin: min(30px, 5vw) auto 0;
	width: min(670px, 90vw);
}

.reason .reason01 .cont_reason01 .reason_girl {
	padding-bottom: min(30px, 2.5vw) !important;
	background: #ffffff url(../images/img_reasongirl.webp) no-repeat 0 100%;
	background-size: 210px;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp {
	margin: 0 min(30px, 5vw) 0 min(210px, 28vw);
}
/*
.reason .reason01 .cont_reason01 .reason_girl .reason_camp h5 {
	display: flex;
	border-top: 1px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
	color: var(--pink-color);
    font-size: min(30px, 4.62vw);
    font-weight: 600;
    justify-content: center;
    align-items: center;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h5 span {
	margin: 0 .25em 0 0;
    color: var(--text-color);
    font-family: hiragino-mincho-pron, serif;
    font-size: min(26px, 3.85vw);
    font-weight: 400;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 {
	display: flex;
    margin: 1rem 0 0;
    font-family: hiragino-mincho-pron, serif;
    font-weight: 600;
    line-height: 1;
    position: relative;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 > span {
    font-size: min(38px, 4.62vw);
    position: relative;
    top: .3em;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 > strong {
	color: var(--pink-color);
    font-size: min(160px, 21.54vw);
    -webkit-text-stroke: min(16px, 2.56vw) #ffffff;
    text-stroke: min(16px, 2.56vw) #ffffff;
    paint-order: stroke fill;
    letter-spacing: 0;
    filter: drop-shadow(0 .03em .02em var(--pink-color));
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 > strong small {
    font-size: min(80px, 9.23vw);
    position: relative;
    top: -.08em;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 > small {
    font-size: min(24px, 2.56vw);
	position: absolute;
	top: 1.5em;
	right: .65em;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp > strong {
	display: block;
	font-size: min(24px, 3.59vw);
	font-weight: 600;
	text-align: center;
}
*/
.reason .reason01 .cont_reason01 .cont_reason01-01 {
	padding: min(60px, 7.69vw) 0 0;
	border-radius: 45px 45px 0 0;
	line-height: 1.5;
}

.reason .reason01 .cont_reason01 .reason_girl .reason_camp > p {
	margin: 2em 0 0;
	font-size: min(14px, 2.56vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
}

.reason .reason01 .cont_reason01 .cont_reason01-01 h4 {
	margin: 0 min(40px, 5vw);
	font-size: min(26px, 5.13vw);
	font-weight: 700;
}

.reason .reason01 .cont_reason01 .cont_reason01-01 h4 span {
	background: linear-gradient(0deg, var(--yellow-color) 40%, transparent 40%);

}

.reason .reason01 .cont_reason01 .cont_reason01-01 > p {
	margin: 1rem min(40px, 5vw) min(20px, 2vw);
	font-size: min(22px, 3.59vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 {
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, .25);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > p {
	width: 50%;
}

.reason .reason01 .cont_reason01 .cont_reason01-01 > p strong {
	font-weight: 600;
}

.reason .reason01 .cont_reason01 .cont_reason01-02 {
	background: var(--blue-color31);
	border-radius: 0 0 45px 45px;
}

.reason .reason01 .cont_reason01 .cont_reason01-02 ul li,
.reason .reason01 .cont_reason01 .cont_reason01-02 ul li img {
	width: min(670px, 90vw);
}

.slick_pc { display: flex !important; }
.slick_sp { display: none !important; }

.slick01 {
	position: relative;
}

.slick01 .slick-prev:before,
.slick01 .slick-next:before {
	font-size: min(60px, 10.26vw);
}

.slick01 .slick-prev {
	left: -2rem;
}

.slick01 .slick-next {
	right: -2rem;
}

.reason .reason01 .cont_reason01 :is(.cont_reason02-01, .cont_reason03-01) {
	padding: min(60px, 7.69vw) 0 0;
	background: #ffffff;
	border-radius: min(45px, 11.54vw);
	line-height: 1.5;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul {
	display: flex;
	flex-wrap: wrap;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li {
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	aspect-ratio: 1 / 1;
	text-align: center;
	justify-content: center;
	align-items: center;
	position: relative;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:first-child {
	padding-bottom: 8em;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > :is(li:first-child, li:last-child) {
	background: var(--blue-color31);
	color: #ffffff;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li h5 {
	font-size: min(32px, 4.1vw);
	font-weight: 700;
	line-height: 1.25;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > :is(li:first-child, li:last-child) p {
	margin-top: .25em;
	font-size: min(18px, 2.56vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:nth-child(2) p {
	margin: 0 auto;
	font-size: min(16px, 2.56vw);
	font-weight: 500;
	letter-spacing: 0;
	position: absolute;
	bottom: min(20px, 5vw);
	right: 0;
	left: 0;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:nth-child(2) img {
	display: block;
	margin: 0 auto;
	position: absolute;
	right: 0;
	left: 0;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:nth-child(2) .machine {
	width: min(275px, 36.41vw);
	bottom: min(155px, 26.67vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:nth-child(2) .logo {
	width: min(155px, 24.36vw);
	bottom: min(48px, 9.74vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:nth-child(3) img {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 > h6,
.exp > h6,
.recommend > h6 {
	margin: 1.25em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(48px, 6.15vw);
	font-weight: 600;
	text-align: center;
}

.recommend > h6 {
	margin: 0;
	font-size: min(38px, 5.13vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table {
	margin: 1rem 0 0;
	width: 100%;
	line-height: 1.15;
	letter-spacing: 0;
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, .25);
	position: relative;
	z-index: 1;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table::after {
	content: '';
	width: 30%;
	height: 103%;
	border: min(10px, 1.54vw) solid var(--pink-color);
	position: absolute;
	top: -1%;
	right: -1%;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr th {
	padding: 2rem 0;
	background: #EFEFEF;
	border-right: min(4px, 1.02vw) solid #D6D6D6;
	font-size: min(27px, 3.59vw);
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr th:last-child {
	width: 28%;
	background: var(--pink-color);
	border-bottom: min(4px, 1.02vw) solid var(--pink-color);
	color: #ffffff;
	font-size: min(32px, 4.1vw);
}


.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:first-child {
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(27px, 3.59vw);
	font-weight: 600;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td {
	padding: 0 0;
	width: 24%;
	height: 5em;
	border-top: min(4px, 1.02vw) solid #D6D6D6;
	border-right: min(4px, 1.02vw) solid #D6D6D6;
	font-size: min(24px, 3.08vw);
	text-align: center;
	vertical-align: middle;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child {
	color: var(--pink-color);
	font-size: min(26px, 3.59vw);
	font-weight: 600;
	line-height: 1.75rem;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr:last-child td:last-child {
	padding: 0;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child strong {
	display: block;
	margin: .15em 0 .35em;
	font-size: 150%;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child small {
	color: var(--text-color);
}
/*
strong.parts {
	display: block;
	margin: 1em 0 .5em;
	font-size: min(24px, 4.62vw);
	font-weight: 600;
	text-align: center;
}

strong.parts:first-of-type {
	margin-top: .5em;
}

ol.ol_befoaf {
	display: flex;
	margin: 0 auto;
	width: min(710px, 90vw);
	gap: 0 min(20px, 2.5vw);
}

ol.ol_befoaf:last-of-type {
	margin-bottom: min(70px, 7.69vw);
}

ol.ol_befoaf li {
	width: min(345px, 43.75vw);
	aspect-ratio: 3 / 4;
	border: min(6px, 1.03vw) solid #ffffff;
	filter: drop-shadow(.2rem .2rem .2rem rgba(0, 0, 0, .2));
	position: relative;
}

ol.ol_befoaf li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

ol.ol_befoaf li::before {
	content: 'BEFORE';
	display: block;
	margin: 0 auto;
	padding: .2em 0;
	background: rgba(0, 0, 0, .8);
	border: min(4px, .6vw) solid #ffffff;
	width: 7em;
	color: #ffffff;
	font-size: min(24px, 3.08vw);
	font-weight: 600;
	text-align: center;
	position: absolute;
	bottom: 1em;
	right: 0;
	left: 0;
}

ol.ol_befoaf li:last-child::before {
	content: 'AFTER';
}
*/
.reason .reason01 .cont_reason01 .cont_reason02-01 .closing {
	height: min(425px, 57.69vw);
	background: url(../images/bg_closing.webp) no-repeat 50% 100%;
	background-size: cover;
	border-radius: 0 0 min(45px, 11.54vw) min(45px, 11.54vw);
	position: relative;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 .closing h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(56px, 7.69vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .1em;
	position: absolute;
	top: 18%;
	left: 10%;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 .closing h2 small {
	padding-bottom: .25em;
	background: linear-gradient(0deg, var(--yellow-color) 50%, transparent 50%);
	font-size: min(32px, 5.13vw);
	letter-spacing: .06em;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 {
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, .25);
}

.reason .reason01 .cont_reason01 .cont_reason03-01 img {
	display: block;
	margin: min(50px, 5vw) 0 0;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 .effect {
	padding: min(30px, 5vw) 0 min(60px, 10vw);
	background: url(../images/bg_reason3.webp) no-repeat 50% 100%;
	background-size: cover;
	border-radius: 0 0 min(45px, 11.54vw) min(45px, 11.54vw);
}

.reason .reason01 .cont_reason01 .cont_reason03-01 h5 {
	color: var(--blue-color31);
	font-size: min(34px, 4.36vw);
	font-weight: 600;
	text-align: center;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 ul {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5em auto 0;
	width: 90%;
	font-size: min(22px, 3.59vw);
	font-weight: 500;
	line-height: 1.25;
	gap: .75em 0;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 ul li {
	padding: 0 0 0 2.5em;
	width: 50%;
	position: relative;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 ul li::before {
	content: '';
	width: min(33px, 6.92vw);
	height: min(30px, 6.41vw);
	background: url(../images/icon_check02.webp);
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.reason .reason01 .cont_reason01 .cont_reason04-01 img {
	display: block;
	border-radius: 0 0 min(45px, 11.54vw) min(45px, 11.54vw);
}

.intransigent {
	padding: min(60px, 7.69vw) 0 min(110px, 15.38vw);
	background: var(--blue-color31);
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.intransigent::before {
	content: '';
	margin: auto 0;
	width: 1600px;
	height: 1600px;
	background: url(../images/bg_intransigent2.webp) no-repeat 50% 50%;
	background-size: 100%;
	border-radius: 50%;
	animation: 60s 0s rotate linear infinite;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -425px;
	z-index: 1;
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.intransigent .intransigent01 h2 {
	margin: 0 auto;
	width: min(670px, 90vw);
	border-top: 1px solid;
	border-bottom: 1px solid;
	font-size: min(132px, 18.72vw);
	position: relative;
	z-index: 1;
}

.intransigent h2 span {
	display: inline-block;
	transform: rotate(15deg);
}

.intransigent .intransigent01 h3 {
	margin: .75em 0 .25em;
	font-size: min(60px, 8.46vw);
	letter-spacing: .1em;
	position: relative;
	z-index: 1;
}

.intransigent .intransigent01 h3 span {
	color: var(--yellow-color);
	font-size: min(73px, 10vw);
	position: relative;
}

.intransigent .intransigent01 h3 span::before {
	content: '';
	margin: 0 auto;
	width: .25em;
	height: .25em;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: -.4em;
	right: 0;
	left: 0;
}

.intransigent .video {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.intransigent video {
	margin: 0 0 0 -11%;
	width: 122%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 0;
}

.intransigent .intransigent02 {
	padding: min(60px, 7.69vw) 0 0;
	position: relative;
	z-index: 1;
}

.intransigent .intransigent02 h2 {
	margin: 0 auto;
	width: min(670px, 90vw);
	border-top: 1px solid;
	border-bottom: 1px solid;
	font-size: min(116px, 15.38vw);
}

.intransigent .intransigent02 p {
	margin: .5em 0 0;
	font-size: min(36px, 4.87vw);
}

.intransigent .intransigent_logo {
	width: 100%;
	opacity: .2;
	position: absolute;
	bottom: 0;
}

.opening {
	padding: min(60px, 7.69vw) 0 min(100px, 10.26vw);
	background: #DDEBF9;
}

.opening > h2 {
	margin: 0 auto;
	width: 65%;
	background: var(--blue-color31);
	border-radius: 2em;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(50px, 6.67vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
}

.opening > h3 {
	margin: .15em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(72px, 9.49vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .1em;
}

.opening > h3 span {
	border-bottom: 1px solid;
}

.opening > h3 small {
	font-size: min(60px, 7.69vw);
}


.opening .ticket {
	margin: min(60px, 7.69vw) 0 0;
}

.voice {
	padding: min(80px, 10.26vw) min(40px, 5vw)  min(80px, 7.69vw);
	background: var(--main-color);
}

.voice > h2 {
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(56px, 6.15vw);
	font-weight: 600;
	text-align: center;
}

.voice > p.lead {
	font-size: min(22px, 4.1vw);
	text-align: center;
	line-height: 1.5;
}

.voice > p.txt_ggle {
	margin: 2em 0 .5em;
	color: var(--blue-color31);
	font-size: min(22px, 4.1vw);
	font-weight: 600;
	letter-spacing: .03em;
}

.voice > p.txt_ggle small {
	color: var(--text-color);
}

.voice .cont_voice {
	padding: 2.75rem 2rem;
	background: #ffffff;
	border: min(3px, .77vw) solid var(--blue-color31);
	box-shadow: .4rem .4rem 0 rgba(49, 144, 214, .3);
	position: relative;
}

.voice .cont_voice + .cont_voice {
	margin-top: min(32px, 6.15vw);
}

.voice .cont_voice > img {
	display: block;
	width: min(160px, 23.88vw);
	position: absolute;
	top: 2rem;
	left: 2rem;
}

.voice .cont_voice > strong {
	display: inline-block;
	margin: 0 0 0 32%;
	padding: .35em .75em;
	background: var(--pink-color);
	color: #ffffff;
	font-size: min(23px, 4.1vw);
	font-weight: 600;
	line-height: 1;
}

.voice .cont_voice > h3 {
	margin: .6em 0 .35em 32%;
	color: var(--pink-color);
	font-size: min(32px, 4.62vw);
	font-weight: 600;
	line-height: 1.25;
}

.voice .cont_voice > span {
	display: block;
	margin: 0 0 0 32%;
	color: #FFC300;
	font-size: min(30px, 5.13vw);
	line-height: 1;
}

.voice .cont_voice > p {
	margin:  1.5em 0 0;
	font-size: min(20px, 3.59vw);
	line-height: 1.5;
}

.voice .cont_voice > p small {
	display: block;
	text-align: right;
}

.voice > p.note {
	margin: 1.5em 0 0;
	font-size: min(16px, 2.56vw);
	text-align: right;
}

.feature {
	position: relative;
	background: linear-gradient(180deg, #FFE5F8 0%, #CBD4F4 80%, #DBF0FF 100%);
}

.feature .img_staff {
	width: min(132px, 20.51vw);
	position: absolute;
	bottom: 0;
	right: 40px;
}

.feature .logo {
    display: inline-flex;
    flex-wrap: wrap;
    padding: .6em 0;
    width: 100%;
    background: #F759BD;
    color: #ffffff;
    font-family: 'the-seasons', serif;
    font-size: min(72px, 10.26vw);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .2em;
    justify-content: center;
    align-items: center;
}

.feature .logo small {
    display: block;
    margin: 0 auto;
    width: 100%;
    font-size: 30%;
    font-weight: 400;
    letter-spacing: .24em;
    text-align: center;
}

.feature .logo span {
	display: block;
	font-size: min(28px, 3.59vw);
	line-height: 1;
	letter-spacing: .1em;
	position: relative;
	left: -.2em;
}

.feature > h2 {
	margin: 1em 0 0;
	font-size: min(30px, 4.1vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
}

.feature > h2 span {
	display: block;
	color: var(--pink-color);
	font-size: min(36px, 4.87vw);
}

.feature .feature01 {
	margin: 3.5rem auto 0;
	padding: min(30px, 3.08vw) 0 min(30px, 3.08vw);
	width: min(670px, 90vw);
	background: #ffffff;
	border: min(3px, .77vw) solid #F27FC8;
	filter: drop-shadow(0 .2rem .2rem rgba(0, 0, 0, .2));
	position: relative;
}

.feature .feature01 > strong {
	display: flex;
	width: min(140px, 19.48vw);
	height: min(140px, 19.48vw);
	background: #F759BD;
	border-radius: 50%;
	color: #ffffff;
	font-size: min(46px, 6.15vw);
	font-weight: 700;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -1em;
	left: -.5em;
	z-index: 0;
}

.feature .feature01 > h3 {
	padding-left: 90px;
	font-size: min(40px, 5.13vw);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0;
	position: relative;
	z-index: 1;
}

.feature .feature01 > h3 small {
	display: block;
	padding-left: 1.75em;
	font-size: 60%;
	font-weight: 300;
}

.feature .feature01 > h3 span {
	color: var(--pink-color);
}

.feature .feature01 > h4 {
	color: var(--pink-color);
	font-size: min(84px, 11.03vw);
	font-weight: 700;
	text-align: center;
	line-height: 1.25;
}

.feature .feature01 > h4 span {
	margin-right: .25em;
	padding: .35em .5em;
	border: min(4px, .51vw) solid;
	font-size: min(30px, 4.62vw);
	position: relative;
	bottom: .5em;
}

.feature .feature01 > h4 small {
	font-size: 75%;
	position: relative;
	bottom: .02em;
}

.feature .feature01 > h4 small::before {
	content: '（税込）';
	color: var(--text-color);
	font-size: min(18px, 2.31vw);
	font-weight: 400;
	position: absolute;
	top: -1em;
	right: .1em;
}

.feature .feature01 > p {
	margin: .5em 0 0;
	font-size: min(16px, 2.56vw);
	text-align: center;
	line-height: 1;
}

.feature > p {
	margin: 0 auto;
	padding: 0 0 0 1em;
	width: min(670px, 90vw);
	font-size: min(16px, 3.08vw);
	line-height: 1.35;
	text-indent: -1em;
}

.feature > p:first-of-type {
	margin-top: 1.5em;
}

.feature > h5 {
	padding: 2em 0 3em;
	font-size: min(30px, 5.13vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
	letter-spacing: .1em;
}

.feature > h5 span {
	display: inline-block;
	color: var(--pink-color);
	position: relative;
	z-index: 1;
}

.feature > h5 span::after {
	content: '';
	width: 110%;
	height: .75em;
	background: var(--yellow-color);
	position: absolute;
	top: .75em;
	left: -5%;
	z-index: -1;
}

.present {
	padding: min(60px, 10.26vw) min(20px, 5vw) min(50px, 7.69vw);
}

.present > strong {
	display: block;
	margin: 0 0 .5em;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(86px, 10.77vw);
	font-weight: 600;
	text-align: center;
	line-height: 1;
	letter-spacing: .1em;
}

.present > div {
	margin: 0 0 1.25rem;
	padding: min(20px, 5vw);
	background: #ffffff;
	border: min(5px, 1.28vw) solid var(--blue-color31);
	border-radius: 1.2rem;
	filter: drop-shadow(0 .2rem .2rem var(--blue-color31));
	position: relative;
}

.present > div.present1 {
	height: min(600px, 87.18vw);
	background: #ffffff url(../images/bg_present.webp) no-repeat 50% 120%;
	background-size: 100%;
}

.present > div h2 {
	padding: .25rem 0 0 1rem;
	position: relative;
}

.present > div h2::after {
	content: '※条件あり';
	color: var(--text-color);
	font-family: initial;
	font-size: min(14px, 2.56vw);
	position: absolute;
	left: 24rem;
	bottom: -2rem;
}

.present > div.present2 h2::after {
	left: 26rem;
}

.present > div h2 > small {
	display: block;
	font-size: min(25px, 3.85vw);
	font-weight: 600;
	letter-spacing: .08em;
}

.present > div h2 > strong {
	display: block;
	margin: .25em 0 0;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(87px, 11.28vw);
	font-weight: 600;
	line-height: .75;
	letter-spacing: .06em;
}

.present > div.present2 h2 > strong {
	margin-top: .2em;
	font-size: min(80px, 10.26vw);
}

.present > div h2 > strong span {
	font-size: min(60px, 7.18vw);
	position: relative;
	left: 2.5em;
}

.present > div.present2 h2 > strong span {
	left: 3em;
}

.present > div > p {
	display: flex;
	width: min(180px, 23.08vw);
	height: min(180px, 23.08vw);
	border: min(5px, .77vw) solid var(--blue-color31);
	border-radius: 50%;
	color: var(--blue-color31);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(115px, 14.36vw);
	font-weight: 600;
	letter-spacing: 0;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 3rem;
	right: 30px;
}

.present > div.present2 > p {
	width: min(164px, 20vw);
	height: min(164px, 20vw);
	font-size: min(77px, 9.23vw);
	top: 4.75rem;
}

.present > div > p small {
	font-size: 65%;
	position: relative;
	top: .1em;
}

.present > div > ul {
	display: flex;
	margin: 0 auto;
	width: min(670px, 82vw);
	color: var(--blue-color31);
	font-size: min(16px, 2.56vw);
	font-weight: 600;
	line-height: 2.5;
	justify-content: space-between;
	position: absolute;
	bottom: min(20px, 2.5vw);
	right: 0;
	left: 0;
}

.present > div > ul li {
	width: 24%;
	background: #ffffff;
	border: min(3px, .51vw) solid var(--blue-color31);
	border-radius: 1.5em;
	text-align: center;
}

.present > div .heart {
	display: flex;
	flex-wrap: wrap;
	width: min(145px, 16.92vw);
	height: min(120px, 14.01vw);
	background: url(../images/fig_heart.svg) no-repeat 50% 50%;
	background-size: 100%;
	color: #ffffff;
	font-size: min(32px, 3.59vw);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	filter: drop-shadow(0 0 .35rem rgba(222, 0, 145, 1.0));
	transform: rotate(-20deg);
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 190px;
	left: 40px;
}

.present > div .heart p {
	position: relative;
	top: -.15em;
}

.present > div .heart p span {
	font-size: 150%;
}


.present > div.present2 {
	height: min(283px, 37.95vw);
}

.present > p {
	padding: 0 0 0 1em;
	font-size: min(16px, 3.08vw);
	line-height: 1.35;
	text-indent: -1em;
}

.present > div.present2 img {
	display: block;
	width: min(92px, 12.31vw);
	transform: rotate(-20deg);
	position: absolute;
	top: 54%;
	left: 12%;
}

.flow {
	padding: min(120px, 17.95vw) min(40px, 5vw) min(70px, 15.38vw);
	background: var(--blue-color31);
}

.flow > h2 {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(72px, 9.23vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .06em;
}

.flow > h3 {
	margin: 1em 0;
	background: #ffffff;
	border-radius: .625rem;
	color: var(--blue-color31);
	font-size: min(44px, 6.15vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .08em;
	position: relative;
}

.flow > h3::after {
	content: '▼';
	margin: 0 auto;
	width: 66.67%;
	color: #ffffff;
	font-size: 1em;
	line-height: 1;
	transform: scaleX(1.5);
	transform-origin: bottom center;
	position: absolute;
	bottom: -.6em;
	right: 0;
	left: 0;
}

.flow > .cont_flow + h3 {
	margin-top: 2em;
}

.flow .cont_flow {
	padding: min(80px, 14.1vw) min(75px, 6.41vw) min(60px, 14.1vw);
	background: #ffffff;
	border-radius: .625rem;
}

.flow .cont_flow > h4 {
	margin: 0 0 1.25em;
	border: 1px solid var(--blue-color31);
	border-radius: 2em;
	color: var(--blue-color31);
	font-size: min(34px, 4.62vw);
	font-weight: 600;
	text-align: center;
	line-height: 2.35;
	position: relative;
}

.flow .cont_flow > h4::before {
	content: '';
	margin: 0 auto;
	width: 1px;
	height: min(64px, 8.21vw);
	background: var(--blue-color31);
	position: absolute;
	top: -60%;
	right: 0;
	left: 0;
}

.flow .cont_flow > :is(div, p) + h4 {
	margin-top: 2.5em;
}

.flow .cont_flow > h4 + p {
	margin-top: -1em;
}

.flow .cont_flow > p + .img_flow {
	margin: 1.5rem 0 0;
}

.flow .cont_flow .img_flow {
	display: block;
	aspect-ratio: 1.85 / 1;
	object-fit: cover;
}

.flow .cont_flow p {
	margin: 1em 0 0;
	font-size: min(20px, 3.59vw);
	font-weight: 500;
	line-height: 1.75;
}

.flow .cont_flow p > a {
	display: block;
	margin: .5em 0 0;
	color: var(--blue-color31);
	font-size: min(23px, 4.1vw);
	font-weight: 500;
}

.flow .cont_flow p > a span {
	padding-bottom: .25em;
	border-bottom: 1px solid;
}

.flow .cont_flow > h5 {
	margin: 1em auto -1em;
	width: 80%;
	background: var(--blue-color31);
	border-radius: 2em;
	color: #ffffff;
	font-size: min(23px, 5.13vw);
	font-weight: 700;
	text-align: center;
}

.flow .cont_flow .bring {
	padding: min(50px, 10.26vw) min(30px, 4.1vw) min(40px, 5.13vw);
	border: min(3px, .77vw) solid var(--blue-color31);
	border-radius: .625rem;
	color: var(--blue-color31);
}

.flow .cont_flow .bring > h6 {
	font-size: min(23px, 4.1vw);
	font-weight: 700;
	line-height: 1;
}

.flow .cont_flow .bring > p {
	margin: .5em 0 0;
	font-size: min(16px, 3.59vw);
	font-weight: 500;
	line-height: 1.5;
}

.flow .cont_flow .bring > p + h6 {
	margin-top: 1em;
}

.flow .cont_flow .bring > p a {
	margin-bottom: 0;
}

.flow .cont_flow > strong {
	display: block;
	margin: 1rem 0 0;
	color: var(--blue-color31);
	font-size: min(24px, 4.1vw);
	font-weight: 700;
}

.flow .cont_flow > p + strong {
	padding-top: 1rem;
	border-top: 1px solid var(--blue-color31);
}

.flow .cont_flow > strong + p {
	margin-top: .2em;
}

.faq {
	padding: min(50px, 5vw) min(40px, 5vw) min(60px, 15.38vw);
	background: #EEF8FF;
}

.faq > h2 {
	color: #41A7EB;
	font-size: min(44px, 5.64vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .08em;
}

.faq dl {
	margin: 1.5rem 0 0;
	line-height: 1.5;
}

.faq dl dt {
	padding: 0 0 .5em;
	color: #41A7EB;
	font-size: min(26px, 4.62vw);
	font-weight: 700;
}

.faq dl dt span {
	font-size: min(30px, 4.62vw);
}

.faq dl dd {
	padding: .75em 1em .75em 3em;
	background: #ffffff;
	font-size: min(22px, 4.1vw);
	font-weight: 500;
	position: relative;
}

.faq dl dd::before {
	content: 'A.';
	font-family: hiragino-mincho-pron, serif;
	position: absolute;
	top: .75em;
	left: 1em;
}

.faq dl dd small {
	display: block;
	margin: .25em 0 0;
	font-size: 75%;
}

.faq dl span {
	font-family: hiragino-mincho-pron, serif;
}

footer .salon_info {
	display: flex;
	flex-wrap: wrap;
	padding: min(120px, 15.38vw) min(40px, 5vw) min(60px, 10.26vw);
	aspect-ratio: 75 / 70;
	background: var(--blue-color31);
	color: #ffffff;
}

footer .salon_info > div {
	width: 100%;
	height: auto;
}

footer .salon_info h2 {
	margin: 0 auto;
	color: #ffffff;
	font-family: 'the-seasons', serif;
	font-weight: 700;
	font-size: min(80px, 12.31vw) !important;
	letter-spacing: .2em;
	text-align: center;
	line-height: 1.25;
}

footer .salon_info h2 > small {
	display: block;
	font-size: 28%;
	font-weight: 400;
	letter-spacing: .24em;
}

footer .salon_info address {
	margin: 1.5em 0;
	font-size: min(24px, 4.1vw);
	line-height: 1.75;
}

footer .salon_info address i {
	font-style: normal;
}

footer .salon_info h3 {
	font-size: min(30px, 5.9vw);
	font-weight: 500;
	line-height: 1.25;
}

footer .salon_info h3 small {
	display: block;
	font-size: min(24px, 4.1vw);
}

footer .salon_info h3 strong {
	font-size: min(45px, 8.72vw);
	font-weight: 500;
}

footer .salon_info iframe {
	margin: min(40px, 7.69vw) 0 0;
	width: 100%;
	aspect-ratio: 5 / 4;
}


footer > img {
	display: block;
	aspect-ratio: 75 / 70;
	object-fit: cover;
}

footer .links {
	padding: 0 0;
}

footer .links ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: 2em 0;
	width: min(670px, 90vw);
	font-size: min(16px, 3.59vw);
	font-weight: 500;
	justify-content: space-between;
}

footer .copy {
/*	padding: 0 0 min(80px, 15.38vw); 固定バナーなし*/
	padding: 0 0 min(280px, 33.33vw);
	font-family: 'the-seasons', serif;
	font-size: min(16px, 3.08vw);
	text-align: center;
}


.pc_only {
	display: initial !important;
}

.sp_only {
	display: none !important;
}


@media (width <= 750px) {



/*@media (height < 700px) {*/

	main {
		padding: 65vw 0 10.26vw;
	}

	main > h1 {
		top: 16vw;
	}

	main > strong {
		transform: scale(.8) rotate(15deg);
		top: 8vw !important;
		right: 18vw !important;
	}

	main .campaign .cont_camp h3.h3_body {
		margin-top: .05em;
	}

	main .campaign .cont_camp h4 {
		margin-top: .5em !important;
	}

/*}*/



	#to_top {
		display: none;
	}

	.fixed-banner {
		visibility: hidden;
		opacity: 0;
	}

	.fixed-banner.is-active {
		visibility: visible;
		opacity: 1;
	}

	main {
		background: url(../images/bg_main_sp.webp) no-repeat 50% 0;
		background-size: 100%;
	}

	main > a.reserve {
		right: 2.56vw;
	}

	main > strong {
		top: 20vw;
		right: 14vw;
	}

	main > strong span small {
		font-size: 60%;
	}

	main > strong span {
		letter-spacing: 0;
	}

	main> a.reserve img {
		margin-right: .15em;
		height: 55%;
	}

	main> a.reserve span {
		margin-left: .15em;
	}

	main .campaign::before {
		top: -18vw;
		left: auto;
		right: 0;
	}

	main .campaign .cont_camp {
		padding: 0 5vw;
	}

	main .campaign .cont_camp .img_facevio {
		top: -10vw;
		left: 5vw;
	}

	main .campaign .cont_camp > a.btn_cv {
		margin: .5rem 0 0;
	}

	main .main_copy01 {
		right: 1.5vw;
	}

	main .campaign .cont_camp > strong {
	    top: -1.85em;
	    right: 5vw;
	}

	main .campaign .cont_camp h4 {
		margin-top: .75rem;
	}

	main .campaign .cont_camp h4 > small {
		top: 1.25em;
		right: 0;
	}

	.tax-small {
		right: -.75em !important;
	}

	@supports not (-webkit-hyphens: none) {
	    .tax-small {
				right: -.5em !important;
	    }
	}

	main .campaign .cont_camp > h5 > strong small {
	    top: -.75em;
    	right: 0;
	}

	main .campaign .cont_camp > .logo {
		margin: 2rem auto 0;
	}

	.exp > h2 {
		letter-spacing: 0;
	}

	.exp > h2::before {
		top: -.1em;
	}

	.exp > h3 span {
	    padding: .35em .7em;
	    border-radius: .3rem;
 	}

 	.exp > .cont_exp {
 		margin: 5vw 0 0 -5vw;
 		padding: 3vw 5vw 0 0;
 	}

	.exp > .cont_exp > strong {
		top: -2.05vw;
	}

	.exp > .cont_exp > img.camp_girl {
		width: 38vw;
		height: 42.56vw;
		object-fit: cover;
		object-position: 50% 0;
		left: .5vw;
	}
/*
	.exp > .cont_exp > h4.h4_body::before {
	    top: -6vw;
	    left: 34vw;
	}

	.exp > .cont_exp > h4.h4_body::after {
	    top: -5vw;
	    right: -3vw;
	}
*/
	.exp > .cont_exp > h5 > small {
		top: .5em;
    right: -.75em;
	}

	.exp > .cont_exp > h5 > span {
		top: .05em;
	}

	.exp > .cont_exp > h6 > em {
		display: block;
		margin: 0 0 .25em;
		padding: 0 4.5em 0 0;
		width: 100%;
		text-align: right;
	}

	.exp > .note_exp {
		margin-top: 1.25rem;
	}

	.exp > .note_exp > p {
		padding: 0 0 0 1em;
		line-height: 1.35;
	}

	.exp > .note_exp .no_solicit {
		margin: .75em 0 0;
		padding: .5em 0;
	}

	.epix .cont_epix > h2 {
		letter-spacing: .04em;
	}

	.epix .cont_epix > h2 img {
		margin: 0 1em;
	}

	.epix .cont_epix > img.img_epix {
		bottom: 8.6vw;
	}

	.epix .cont_epix > img.logo_iceshr {
		bottom: -7.8vw;
	}

	.epix .cont_epix > h3 {
		padding: 1em 0 0;
		width: 100%;
	}

	.epix .cont_epix > h3 > span {
		top: -6vw;
		right: 2.5vw;
	}

	.epix .feature_epix ul li div {
		letter-spacing: 0;
	}

	.epix .cont_jac p {
		text-align: left;
	}

	.survey .tit_survey.sp_only {
		display: block !important;
	}

	.survey .top_survey {
		margin: -19vw 0 0;
	}

	.survey .top_survey p {
		top: 10vw;
		left: 5vw;
	}

	.survey .top_survey .copy_survey_pc {
		display: none;
	}

	.survey .top_survey .copy_survey_sp {
		display: block;
		width: 17.95vw;
		position: absolute;
		top: 7vw;
		right: 5vw;
		z-index: 1;
	}

	.survey .top_survey .copy_survey_sp::before {
		content: '';
		width: 19.49vw;
		height: 19.49vw;
		background: #ffffff;
		border-radius: 50%;
		position: absolute;
		bottom: 8vw;
		left: -5vw;
		z-index: -1;
	}

	.survey .questions .fig_start {
		top: -18.21vw;
	}

	.thankyou .get_plan {
		background: url(../images/bg_getplan_sp.webp) no-repeat 50% 0;
		background-size: 100%;
	}

	.get_plan > span {
		line-height: .2;
	}

	.get_plan h4 > small {
		top: 1.25em;
	}

	.get_plan h4 > em {
		top: 0;
	}

	.thankyou .get_plan .main_getplan .omedeto {
		top: 31.79vw;
	}

	.thankyou .get_plan .main_getplan .wow {
		top: 6.41vw;
		right: 10.26vw;
	}

	.ticket img.ticket {
		margin-top: -3.08vw;
	}

	.ticket ul {
		gap: .5em 0;
	}

	.ticket ul li {
		width: 100% !important;
	}

	.ticket ul li:nth-child(2n) + li:nth-child(2n+1) {
		margin-top: .5em;
	}

	.reason01 > a,
	.ticket > a {
		margin: 1rem auto 0;
	}

	.ticket > a {
		left: -3.5vw;
	}

	.opening > p.note > span strong::before,
	.thankyou .get_plan > p.note > span strong::before {
		left: 9%;
	}

	.opening > p.note > span strong::after,
	.thankyou .get_plan > p.note > span strong::after {
		right: 9%;
	}

	.limit h2::before {
		top: -10vw;
		left: -16vw;
	}

	.recommend {
		background: url(../images/bg_recommend_sp.webp) no-repeat 50% 0;
		background-size: 100%;
	}

	.recommend .logo_epix {
		top: 173vw;
		left: 10.26vw;
	}

	.recommend .img_hinyari {
		top: 128.5vw;
		left: 9vw;
	}

	.recommend h4 {
		line-height: 1;
		top: 175vw;
		left: auto;
		right: 5vw;
	}

	.recommend h4 span strong {
		display: block;
	}

	.recommend .logo_lp::after {
		bottom: 2em;
	}

	.merit h2::before {
		top: -11vw;
		left: 12vw;
	}

	.merit :is(.merit01, .merit02, .merit03) img {
		margin-top: -.5vw;
		left: -.75rem;
	}


	.reason > h2 > p {
		left: 1.5em;
	}

	.reason .reason01 .cont_reason01 .cont_reason01-01 {
		border-radius: 11.54vw 11.54vw 0 0;
	}

	.reason .reason01 .cont_reason01 .cont_reason01-02 {
		border-radius: 0 0 11.54vw 11.54vw;
	}

	.reason .reason01 .cont_reason01 .reason_girl {
		background: #ffffff url(../images/img_reasongirl.webp) no-repeat -1.26vw 100%;
		background-size: 31.5vw;
	}

	.reason .reason01 .cont_reason01 .reason_girl .reason_camp {
	    margin: 5vw 5vw 0 31vw;
	}

	.reason_camp > strong {
		letter-spacing: 0;
	}

	.reason_camp > h5.h5_body {
		text-align: right;
	}

	.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 {
		justify-content: flex-end;
	}

	.reason .reason01 .cont_reason01 .reason_girl .reason_camp h6 > small {
	    top: .5em;
	    right: -1.25em !important;
	}

	.reason .reason01 .cont_reason01 .cont_reason01-02 ul li {
		padding-top: 1rem;
	}

	.reason .reason01 .cont_reason01 .cont_reason02-01 > ul > li:first-child {
		padding-bottom: 4em;
	}

	.reason .reason01 > h3 {
		padding-left: 23.08vw;
	}

	.reason .reason03 > h3 > span {
		letter-spacing: -.05em;
	}

	.reason .reason04 > h3 {
		letter-spacing: .02em;
	}

	.reason .reason01 > h3 > strong small {
		font-size: 90%;
	}

	.reason .reason01 .cont_reason01 .cont_reason02-01 table tr :is(th, td) {
		padding: 1.25rem 0;
	}

	.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child {
		padding: 0;
		line-height: 1.1 !important;
	}

	.slick_pc { display: none !important; }
	.slick_sp { display: flex !important; }

	.slick01 .slick-prev {
		left: -1.25rem;
	}

	.slick01 .slick-next {
		right: -1.25rem;
	}

	.slick-dots {
		display: flex;
		flex-wrap: nowrap;
		width: 90vw !important;
		bottom: 8vw !important;
	}

	.slick-dots li {
		padding-top: 0;
		width: auto !important;
	}

	.slick-dots li button,
	.slick-dots li button::before {
		font-size: 4.1vw !important;
	}

	.slick-dots li button::before {
		content: '◯' !important;
		color: #ffffff !important;
		opacity: 1 !important;
	}

	.slick-dots li.slick-active button::before {
		content: '●' !important;
		opacity: 1 !important;
	}

	.reason .reason01 .cont_reason01 .cont_reason02-01 .closing h2 {
		left: 5%;
	}

	.reason .reason01 .cont_reason01 .cont_reason03-01 ul li {
		height: 2em;
	}

	.reason .reason01 .cont_reason01 .cont_reason03-01 ul li::before {
		top: -.3em;
	}

	.feature .img_staff {
		right: 0;
	}

	.feature .feature01 {
    margin: 1.75rem auto 0;
	}

	.feature .feature01 > h3 {
		padding-left: 15.4vw;
	}

	.feature .feature01 > p {
		letter-spacing: 0;
	}

	.feature > h5 {
	    letter-spacing: .04em;
  	}

	.intransigent::before {
		width: 200vw;
		height: 200vw;
		left: -50vw;
	}

	.present > div.present1 {
	    background: #ffffff url(../images/bg_present.webp) no-repeat 50% 102%;
	    background-size: 105%;
	}

	.present > div h2 {
		padding: 0;
	}

	.present > div h2::after {
		bottom: -1.25rem;
		left: 9.5rem !important;
	}

	.present > div.present2 h2::after {
		left: 10.25rem !important;
	}

	.present > div h2 > small {
		line-height: 1;
	}

	.present > div.present1 h2 > small {
		letter-spacing: .04em;
	}

	.present > div.present2 h2 > small {
		font-size: 3.21vw;
		letter-spacing: .04em;
	}

	.present > div h2 > strong {
		margin-top: .4em !important;
		line-height: .8;
	}

	.present > div .heart {
		filter: drop-shadow(0 0 .2rem rgba(222, 0, 145, 1.0));
		top: 26vw;
		left: 6vw;
	}

	.present > div > p {
		top: 11vw !important;
		right: 4vw !important;
	}

	.present > div.present2 img {
			top: 20vw;
			left: 11vw;
	}

	.voice .cont_voice {
		padding: 1.75rem 1.5rem 1.5rem 1.5rem;
	}

	.voice .cont_voice > img {
		top: 1.5rem;
		left: 1rem;
	}


	.flow .cont_flow p a {
		text-align: center;
	}

	footer .links ul {
		justify-content: flex-start;
		gap: .75em 0;
	}

	footer .links ul li {
		width: 100%;
	}

	footer .salon_info,
	footer img {
		height: auto;
		aspect-ratio: 39 / 43 !important;
	}

	footer .salon_info address {
		line-height: 1.5;
	}

	footer .salon_info address i {
		padding-left: 4.8em;
	}

	@keyframes fuwafuwa {
	  0%   { transform: translateY(0); }
	  30%  { transform: translateY(-3vw); }
	  60%  { transform: translateY(6vw); }
	  100% { transform: translateY(0); }
	}

	.pc_only {
		display: none !important;
	}

	.sp_only {
		display: initial !important;
	}



}




