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%;
}

:root {
	--liteblue-color: #EEF8FF;
	--blue-color41: #41A7EB;
	--green-color: #19C199;
	--mint-color: #15D5A7;
	--text-color: #000000;
	--pink-color: #DE0091;
	--litepink-color: #FFF8FD;
	--yellow-color: #FFF500;
}

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

.fixed-banner {
	display: block;
 	margin: 0 auto;
	width: min(732px, 96.5vw);
	animation: btn_animation 1.5s infinite;
 	position: fixed;
 	bottom: 0;
 	right: 0;
 	left: -12px;
 	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);
    }
}

#to_top {
	display: flex;
	width: min(60px, 15.38vw);
	height: min(60px, 15.38vw);
	background: var(--blue-color41);
	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);
	min-height: 100svh;
	box-shadow: 0 0 6px 0 rgba(0, 0, 0, .25);
	position: relative;
}

header {
	display: flex;
	flex-wrap: wrap;
	padding: min(20px, 3.85vw) min(40px, 5vw);
	width: 100%;
	height: min(120px, 20.51vw);
	background: rgba(65, 167, 235, .8);
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
	justify-content: space-between;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

header .logo {
    display: inline-block;
    margin-right: auto;
    color: #ffffff;
    font-family: 'the-seasons', serif;
    font-size: min(40px, 4.62vw);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .2em;
}

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

header .link_salon {
	display: flex;
	flex-wrap: wrap;
	margin-right: min(10px, 1.28vw);
	width: min(96px, 15.38vw);
	height: 100%;
	background: #ffffff;
	border: 2px solid var(--blue-color41);
	border-radius: .625em;
	color: var(--blue-color41);
	font-size: min(24px, 3.85vw);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	justify-content: center;
	align-items: center;
}

header .link_reserve {
	display: flex;
	flex-wrap: wrap;
	width: min(285px, 38.97vw);
	height: 100%;
	background: var(--green-color);
	border: 2px solid #ffffff;
	border-radius: .625em;
	color: #ffffff;
	font-size: min(28px, 4.36vw);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	justify-content: center;
	align-items: center;
}

header .link_reserve img {
	display: block;
	margin: .2em .1em 0 0;
	height: 62.5%;
}

header .link_reserve span {
	display: inline-block;
	transform: scaleX(.65);
	position: relative;
	left: .1em;
}


main {
	width: 100%;
	height: min(1900px, 290vw);
	background: var(--liteblue-color) url(../images/bg_main_pc.webp) no-repeat 50% 0;
	background-size: 100%;
	position: relative;
}

main .cherry {
	display: flex;
	flex-wrap: wrap;
	width: min(238px, 31.79vw);
	height: min(237px, 31.54vw);
	background: url(../images/fig_cherry.svg) no-repeat 50% 50%;
	background-size: 100%;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(120px, 22vw);
	left: 7px;
}

main .cherry span {
	display: block;
	color: #ffffff;
	font-size: min(39px, 4.87vw);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	transform: rotate(-10deg);
	position: relative;
	top: .1em;
}

main .cherry span small {
	font-size: 90%;
}

main .main_copy {
	display: flex;
	flex-wrap: wrap;
	width: min(232px, 31.54vw);
	aspect-ratio: 1 / 1;
	background: #ffffff;
	border: min(4px, .77vw) solid var(--pink-color);
	border-radius: 50%;
	font-size: min(50px, 6.67vw);
	font-weight: 700;
	line-height: .95em;
	text-align: center;
	letter-spacing: 0;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(460px, 71.29vw);
	left: min(40px, 5vw);
	transform: rotate(-10deg);
	filter: drop-shadow(0 .15rem .15rem rgba(222, 0, 145, .5));
}

main .main_copy h1 {
	position: relative;
	top: -.1em;
}

main .main_copy span {
	color: var(--pink-color);
}

main .back_h2 {
	display: block;
	margin: 0 auto;
	width: min(735px, 100vw);
	position: absolute;
	top: min(640px, 94.36vw);
	right: 0;
	left: 0;
	z-index: 0;
}

main .main_arrow {
	display: block;
	margin: 0 auto;
	width: min(670px, 100vw);
	position: absolute;
	top: 825px;
	right: 0;
	left: 0;
	z-index: 0;
}

:is(main, .camp2) > h2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(676px, 100vw);
	left: min(40px, 5vw);
	z-index: 1;
}

.camp2 > h2 {
	position: relative;
	top: 0;
	left: 0;
}

:is(main, .camp2) > h2 span {
	display: inline-flex;
	margin: 0 .25em 0 0;
	height: 2.8em;
	padding: .4em .2em;
	background: #5C5D61;
	border-radius: .3rem;
	color: #ffffff;
	font-size: min(50px, 6.67vw);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

:is(main, .camp2) > h2 strong {
	color: var(--pink-color);
	font-family: 'Athene', serif;
	font-size: min(180px, 23.08vw);
	-webkit-text-stroke: 12px #ffffff;
	text-stroke: 12px #ffffff;
	paint-order: stroke fill;
	line-height: 1;
	letter-spacing: -.02em;
	filter: drop-shadow(0 .2rem .2rem var(--pink-color));
	position: relative;
	z-index: 1;
}

:is(main, .camp2) > h2 strong::before {
	content: '1,400';
	background: linear-gradient(0deg, transparent 60%, #F269C3 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 0;
	text-stroke: 0;
	position: absolute;
	top: 0;
	left: 0;
}

:is(main, .camp2) > h2 strong small {
	font-family: hiragino-mincho-pron, serif;
	font-size: 65%;
	font-weight: 900;
	position: relative;
	top: -.075em;
}

:is(main, .camp2) > h2 i {
	font-family: hiragino-mincho-pron, serif;
	font-style: normal;
	font-size: min(26px, 4.62vw);
	line-height: 1;
	-webkit-text-stroke: .2em #ffffff;
	text-stroke: .2em #ffffff;
	paint-order: stroke fill;
	filter: drop-shadow(0 .15rem .15rem var(--pink-color));
	position: absolute;
	top: .1em;
	right: 1.75em;
}

.camp2 > h2 i {
	right: 3.5em;
}

:is(main, .camp2) > h2 > small {
	font-size: min(20px, 3.85vw);
	-webkit-text-stroke: .3em #ffffff;
	text-stroke: .3em #ffffff;
	paint-order: stroke fill;
	position: relative;
	top: 2.5em;
	left: .5em;
}

:is(main, .camp2) h3 {
	margin: 0 auto;
	padding: 0 0 .05em;
	width: min(670px, 90vw);
	border-top: 2px solid var(--pink-color);
	border-bottom: 2px solid var(--pink-color);
	-webkit-text-stroke: .2em #ffffff;
	text-stroke: .2em #ffffff;
	paint-order: stroke fill;
	color: var(--pink-color);
	font-size: min(30px, 4.1vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.75;
	position: absolute;
	top: min(860px, 125.64vw);
	right: 0;
	left: 0;
}

.camp2 h3 {
	margin-top: .5em;
	border: none;
	color: var(--text-color);
	position: relative;
	top: 0;
}

:is(main, .camp2) h3::before {
	content: 'キャンペーン期間：2026年2月27日まで';
	margin: 0 auto;
	filter: drop-shadow(0 .15rem .15rem var(--pink-color));
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
}

.camp2 h3::before {
	filter: drop-shadow(0 .15rem .15rem rgba(222, 0, 145, .25));
}

:is(main, .camp2) h3::after {
	content: '※2';
	color: var(--text-color);
	font-size: min(20px, 3.08vw);
	font-weight: 400;
	position: absolute;
	top: .5em;
	right: .5em;
}

:is(main, .camp2) h3 small {
	color: initial;
	font-size: min(20px, 3.85vw);
	font-weight: 400;
	-webkit-text-stroke: .3em #ffffff;
	text-stroke: .3em #ffffff;
	paint-order: stroke fill;
	filter: drop-shadow(0 0 0 transparent);
}

main h4 {
	margin: 0 auto;
	width: min(670px, 90vw);
	position: absolute;
	top: min(930px, 137vw);
	right: 0;
	left: 0;
}

main h4 strong {
	display: block;
	font-family: "allura", sans-serif;
	font-size: min(85px, 11.54vw);
	font-weight: 400;
	font-style: normal;
	text-align: center;
	line-height: 1;
	letter-spacing: .06em;
	position: relative;
}

main h4 strong::before,
main h4 strong::after {
	content: '';
	width: 20%;
	height: min(2px, .5vw);
	background: var(--text-color);
	position: absolute;
	top: .5em;
	left: 0;
}

main h4 strong::after {
	left: auto;
	right: 0;
}

main h4 p {
	font-size: min(30px, 4.36vw);
	font-weight: 700;
	text-align: center;
	-webkit-text-stroke: .2em #ffffff;
	text-stroke: .2em #ffffff;
	paint-order: stroke fill;
	filter: drop-shadow(0 .15rem .15rem rgba(222, 0, 145, .3));
}

main h4 > span {
	display: flex;
	margin: .2em 0;
	font-size: min(46px, 5.64vw);
	font-weight: 700;
	line-height: 1;
	justify-content: center;
	align-items: baseline;
}

main h4 > span > span {
	display: inline-block;
	margin-right: .25em;
	padding: .15em .2em;
	background: #5C5D61;
	border-radius: .3rem;
	color: #ffffff;
	font-size: min(34px, 4.1vw);

}

main h4 del {
  text-decoration: none;
  position: relative;
  top: .1em;
}

main h4 del::before {
	content: '';
	width: 100%;
	height: 6px;
	background: linear-gradient(to bottom, var(--pink-color) 0%, var(--pink-color) 33%, transparent 33%, transparent 67%, var(--pink-color) 67%);
	position: absolute;
	top: calc(.5em - 3px);
	left: 0;
}

main h4 del::after {
	content: '（税込）';
	font-size: min(14px, 1.79vw);
	font-weight: 400;
	position: absolute;
	top: -.35em;
	right: -.2em;
}

:is(main, .camp2, .camp3) > ul {
	display: flex;
	margin: 0 auto;
	width: min(670px, 90vw);
	height: auto;
	justify-content: space-between;
	position: absolute;
	top: min(1160px, 169.23vw);
	right: 0;
	left: 0;
}

:is(.camp2, .camp3) > ul {
	margin-top: 1rem;
	position: relative;
	top: 0;
}

:is(main, .camp2, .camp3) > ul li {
	display: flex;
	flex-wrap: wrap;
	width: min(208px, 27.95vw);
	height: min(208px, 27.95vw);
	background: linear-gradient(0deg, var(--pink-color) 60%, #F269C3 100%);
	border: min(5px, .77vw) solid #ffffff;
	border-radius: 50%;
	color: var(--yellow-color);
	font-size: min(85px, 10.77vw);
	font-weight: 700;
	line-height: .725em;
	justify-content: center;
	align-items: center;
	text-align: center;
	letter-spacing: 0;
	filter: drop-shadow(0 .25rem .25rem rgba(0, 0, 0, .3));
	position: relative;
}

:is(main, .camp2, .camp3) > ul li::before {
	content: '';
	width: min(63px, 8.21vw);
	height: min(63px, 8.21vw);
	background: url(../images/fig_cherry_s.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -.5rem;
	right: -.5rem;
}

:is(main, .camp2, .camp3) > ul li > div {
	z-index: 1;
}

:is(main, .camp2, .camp3) > ul li > div > span {
	font-size: 47%;
}

:is(main, .camp2, .camp3) > ul li > div > small {
	display: block;
	color: #ffffff;
	font-size: 47%;
	line-height: 1.5;
}

:is(main, .camp2, .camp3) > ul li > div > small.first-month {
	margin-bottom: .2em;
	line-height: 1.05;
}

:is(main, .camp2, .camp3) > ul li > div > span + small {
	margin-top: -.5em;
}

:is(main, .camp2, .camp3) > ul li > div > small > small {
	font-size: 75%;
}

:is(main, .camp2) h5 {
	display: flex;
	margin: 0 auto;
	color: var(--pink-color);
	font-size: min(47px, 7.18vw);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(1460px, 205vw);
	right: 0;
	left: 0;
}

.camp2 h5 {
	margin-top: .5em;
	position: relative;
	top: 0;
}

:is(main, .camp2) h5 span {
	display: inline-block;
	margin-right: .35em;
	padding: .2em .5em;
	border: min(2px, .26vw) solid #5C5D61;
	border-radius: .3rem;
	color: #5C5D61;
	font-size: min(28px, 3.59vw);
	letter-spacing: 0;
}

:is(main, .camp2) h5 small {
	position: relative;
	top: .05em;
}

:is(main, .camp2) h5 small::after {
	content: '（税込）';
	color: var(--text-color);
	font-size: min(14px, 1.79vw);
	font-weight: 400;
	white-space: nowrap;
	position: absolute;
	top: -1em;
	right: -.2em;
}

:is(main, .camp2) .main_reserve {
	display: block;
	width: min(750px, 100vw);
	position: absolute;
	top: min(1520px, 214vw);
	left: 0;
}

.camp2 .main_reserve {
	margin-top: 1rem;
	position: relative;
	top: 0;
}

:is(main, .camp2) .main_reserve a {
	display: block;
	width: min(732px, 96.5vw);
}

:is(main, .camp2) .main_reserve p {
	margin: .75em auto 0;
	width: min(670px, 90vw);
	font-size: min(10px, 3.08vw);
	line-height: 1.35;
}

:is(main, .camp2) .main_reserve p span {
	display: block;
	margin: .75em 0 0;
	color: var(--pink-color);
	font-size: min(18px, 4.1vw);
	font-weight: 600;
}


.survey {
	background: var(--liteblue-color);
}

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

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

}

.survey .top_survey .survey_girl {
	display: block;
	width: min(573px, 78.97vw);
	height: min(630px, 82.1vw);
	object-fit: cover;
	object-position: 50% 0;
	position: absolute;
	bottom: 0;
	left: min(98px, 13.33vw);
}

.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: 87px;
	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: 2;
}

.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;
}

.big_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;
}

.reason .big_logo {
	margin-top: -.75em;
}

.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);
}

.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: var(--liteblue-color);
	position: absolute;
	top: 0;
	left: 0;
}

.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: .15em;
	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);
}

.camp {
	padding: min(90px, 10.26vw) 0 min(30px, 5.13vw);
	background: var(--litepink-color) url(../images/bg_camp.webp) no-repeat 50% 0;
	background-size: cover;
	position: relative;
}

.camp h2 {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(107px, 14.1vw);
	font-weight: 600;
	line-height: .9;
	text-align: center;
	filter: drop-shadow(0 0 .15rem rgba(222, 0, 145, .6)) drop-shadow(0 0 .3rem rgba(222, 0, 145, 1));
	position: relative;
}

.camp .cherry_p {
	display: flex;
	width: min(114px, 15.38vw);
	height: min(114px, 15.38vw);
	background: url(../images/fig_cherry_p.svg) no-repeat 50% 50%;
	background-size: 100%;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 65px;
	left: 40px;
}

.camp .cherry_p span {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(65px, 8.46vw);
	font-weight: 600;
	transform: rotate(-9deg);
	position: relative;
	top: .1em;
}

.camp > h3 {
	margin: .5em auto 0;
	width: min(600px, 80vw);
	background: #F066BE;
	border-radius: 1em;
	color: #ffffff;
	font-size: min(50px, 6.67vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
}

:is(.camp, .camp3) > h4 {
	display: flex;
	margin: .5em auto 0;
	width: min(670px, 90vw);
	border-top: 1px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
	font-size: min(46px, 6.15vw);
	font-weight: 600;
	line-height: 1.35;
	justify-content: center;
	align-items: center;
}

.camp3 > h4 {
	margin-top: .35em;
}

:is(.camp, .camp3) > h4 small {
	margin-right: .25em;
	font-family: hiragino-mincho-pron, serif;
	font-size: 80%;
	font-weight: 400;
}

:is(.camp, .camp3)> h4 span {
	color: var(--pink-color);
}


.camp2 {
	padding: 0 0 min(70px, 10.26vw);
	position: relative;
	background: var(--litepink-color);
}


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

.present > strong {
	display: block;
	margin: 0 0 .5em;
	color: var(--blue-color41);
	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-color41);
	border-radius: 1.2rem;
	filter: drop-shadow(0 .2rem .2rem var(--blue-color41));
	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;
}

.present > div h2 > strong {
	display: block;
	margin: .25em 0 0;
	color: var(--blue-color41);
	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-color41);
	border-radius: 50%;
	color: var(--blue-color41);
	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-color41);
	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-color41);
	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, 45.13vw);
}

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

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

.camp3 {
	padding: min(54px, 10.26vw) 0 min(40px, 10.26vw);
	background: var(--liteblue-color);
	position: relative;
}

.camp3 > strong {
	display: block;
	margin: 0 auto;
	width: min(330px, 44.62vw);
	color: #ffffff;
	font-size: min(30px, 3.85vw);
	font-weight: 600;
	text-align: center;
	position: relative;
	z-index: 1;
}

.camp3 > strong span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--blue-color41);
}

.camp3 > strong::before,
.camp3 > strong::after {
	content: '';
	width: min(62px, 7.17vw);
	height: min(71px, 8.21vw);
	background: url(../images/fig_ribbon.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: 7px;
	left: -36px;
	z-index: -2;
}

.camp3 > strong::after {
	left: auto;
	right: -36px;
	transform: scaleX(-1);
 }

.camp3 > h2 {
	margin: .25em 0 0;
  color: #ffffff;
  font-family: hiragino-mincho-pron, serif;
  font-size: min(104px, 13.85vw);
  font-weight: 600;
  line-height: .9;
  text-align: center;
  filter: drop-shadow(0 0 .15rem rgba(65, 167, 235, 1)) drop-shadow(0 0 .3rem rgba(65, 167, 235, 1));
  position: relative;
}

.camp3 .new {
	display: flex;
	width: min(118px, 15.38vw);
	height: min(118px, 15.38vw);
	background: var(--blue-color41);
	border-radius: 50%;
	color: var(--yellow-color);
  font-family: hiragino-mincho-pron, serif;
	font-size: min(77px, 10.26vw);
  font-weight: 600;
 	text-align: center;
 	line-height: 1;
 	transform: rotate(-10deg);
 	justify-content: center;
 	align-items: center;
 	position: absolute;
 	top: 105px;
 	left: 45px;
}

.camp3 > h3 {
	display: flex;
	margin: 0;
  font-family: hiragino-mincho-pron, serif;
  font-weight: 600;
  line-height: 1;
  justify-content: center;
  align-items: center;
  position: relative;
}

.camp3 > h3::before {
	content: '';
	width: min(120px, 15.9vw);
	height: min(169px, 22.56vw);
	background: url(../images/illust_girl01.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -10px;
	left: 15px;
}

.camp3 > h3::after {
	content: '';
	width: min(101px, 13.33vw);
	height: min(196px, 26.15vw);
	background: url(../images/illust_girl02.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -35px;
	right: 25px;
}

.camp3 > h3 > span {
  display: inline-flex;
 	height: 2.8em;
	padding: .4em .2em;
	background: #5C5D61;
  border-radius: .3rem;
  color: #ffffff;
  font-size: min(40px, 5.13vw);
  font-weight: 600;
  text-align: center;
}

.camp3 > h3 strong {
	color: var(--pink-color);
	font-size: min(144px, 18.46vw);
  letter-spacing: -.04em;
  position: relative;
}

.camp3 > h3 strong::after {
	content: '（税込）';
	color: var(--text-color);
	font-size: min(25px, 3.08vw);
	font-weight: 400;
	letter-spacing: 0;
	position: absolute;
	top: .8em;
	right: 0;
}

.camp3 > h3 strong span {
	letter-spacing: -.1em;
}

.camp3 > h3 strong small {
	font-size: 60%;
}

.camp3 > h3 strong small.yen {
	position: relative;
	top: -.08em;
}

.cont_reason01-02 {
	margin: 1.5rem auto 0;
	background: var(--blue-color41);
	border-radius: 1.2rem;
}

.cont_reason01-02,
.cont_reason01-02 ul li,
.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 {
	padding: 70px 0 60px;
	background: var(--liteblue-color);
}


.reason > h2 {
    margin: 0 0 min(50px, 7.69vw);
    color: var(--blue-color41);
    font-family: hiragino-mincho-pron, serif;
    font-size: min(90px, 11.79vw);
    font-weight: 600;
    text-align: center;
    line-height: 1.1;
    letter-spacing: .05em;
    position: relative;
}

.reason > h2::after {
	content: '';
	margin: 0 auto;
	width: min(670px, 90vw);
	height: 1px;
	background: var(--blue-color41);
	position: absolute;
	bottom: .1em;
	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(30px, 4.62vw);
	font-weight: 600;
	letter-spacing: 0;
	justify-content: center;
	align-items: center;
	transform: rotate(-10deg);
	position: absolute;
	top: -1em;
	left: 2em;
}

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

.reason ruby rt {
	font-size: 50%;
	font-weight: 300;
	text-align: center;
	letter-spacing: .2em;
	position: relative;
	top: -.2em;
}

.reason .reason01 {
	margin: min(90px, 12.82vw) 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-color41);
	font-size: min(46px, 5.9vw);
}

.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-color41);
	transform: rotate(45deg);
	position: absolute;
	top: -.25em;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}

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

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

.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_reason01-01 ul li img.logo_iceshr {
	width: min(175px, 23.59vw);
	position: relative;
	top: -.75rem;
}

.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-color41);
	border-radius: 0 0 1.2rem;
}

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

.reason .reason01 .cont_reason01 :is(.cont_reason02-01, .cont_reason03-01) {
	padding: min(60px, 7.69vw) 0 0;
	background: #ffffff;
	border-radius: 1.2rem;
	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-color41);
	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 {
	margin: 1.25em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(48px, 6.15vw);
	font-weight: 600;
	text-align: center;
}

.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: 52%;
	height: 102%;
	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: 1.5rem 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: 50%;
	background: var(--pink-color);
	border-bottom: min(4px, 1.02vw) solid var(--pink-color);
	color: #ffffff;
	font-size: min(45px, 5.64vw);
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td {
	padding: 1.5rem 0;
	width: 25%;
	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:first-child {
	background: var(--blue-color41);
	color: #ffffff;
	font-size: min(27px, 3.59vw);
	font-weight: 600;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child {
	color: var(--pink-color);
	font-size: min(37px, 4.62vw);
	font-weight: 600;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child strong {
	font-size: 120%;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child small {
	display: block;
	color: var(--text-color);
	font-size: 78%;
	line-height: 1.15;
}

.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child small:has(small),
.reason .reason01 .cont_reason01 .cont_reason02-01 table tr td:last-child small small {
	display: inline;
}

.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 1.2rem 1.2rem;
	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 1.2rem 1.2rem;
}

.reason .reason01 .cont_reason01 .cont_reason03-01 h5 {
	color: var(--blue-color41);
	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 1.2rem 1.2rem;
}

.feature {
	position: relative;
	background: var(--litepink-color);
}

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

:is(.feature, .salon) .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;
}

.salon .logo {
	background: var(--blue-color41);
}

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

:is(.feature, .salon) .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 :is(.feature01, .feature02) {
	margin: 1.5rem auto 0;
	padding: min(30px, 5vw) min(40px, 5vw) min(30px, 5vw);
	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 .feature02 {
	border: min(2px, .51vw) solid #F27FC8;
}

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

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

.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-right: .75em;
	font-size: min(20px, 2.31vw);
	text-align: right;
}

.feature .feature02 {
	padding: min(20px, 5vw) 0 min(20px, 5vw);
	font-size: min(32px, 4.62vw);
	font-weight: 600;
	text-align: center;
}

.feature .feature02 span {
	color: var(--pink-color);
}

.feature .feature02 + p {
	margin-top: 1.5em;
}

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

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

.feature > h5 {
	padding: 1.5em 0;
	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;
}

.flow {
	padding: min(140px, 17.95vw) min(40px, 5vw) min(70px, 15.38vw);
	background: var(--blue-color41);
	overflow-x: hidden;
	position: relative;
}

.flow .big_logo {
	margin: 0;
	width: 100%;
	position: absolute;
	top: -.03em;
	left: 0;
}

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

.flow > h3 {
	margin: .75em 0 1em;
	background: #ffffff;
	border-radius: .625rem;
	color: var(--blue-color41);
	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(50px, 7.69vw) min(40px, 5vw) min(60px, 14.1vw);
	background: #ffffff;
}

.flow .cont_flow > h4 {
	margin: 0 0 .5em;
	color: var(--blue-color41);
	font-size: min(44px, 6.15vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .06em;
	position: relative;
}

.flow .cont_flow > h4.flow_arrow::before {
	content: '';
	width: min(670px, 90vw);
	height: min(670px, 90vw);
	border-right: min(120px, 20.51vw) solid var(--blue-color41);
	border-bottom: min(120px, 20.51vw) solid var(--blue-color41);
	transform: scaleY(.25) rotate(45deg);
	position: absolute;
	top: -11.25em;
	left: -40px;
}

.flow .cont_flow > h4 span {
	padding-bottom: .2em;
	border-bottom: min(8px, 1.28vw) dotted;
}

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

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

.flow .cont_flow .img_flow {
	display: block;
	aspect-ratio: 590 / 440;
	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-color41);
	font-size: min(32px, 5.13vw);
	font-weight: 500;
}

.flow .cont_flow .bring p > a {
	margin-top: 1em;
	font-size: min(24px, 4.69vw);
	letter-spacing: .06em;
}


.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-color41);
	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-color41);
	border-radius: .625rem;
	color: var(--blue-color41);
}

.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;
	text-align: center;
}

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

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

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

.salon {
	padding: min(60px, 7.69vw) 0 min(80px, 10.26vw);
	background: var(--liteblue-color);
}

.salon > h2 {
	margin: 0 0 .5em;
	color: var(--blue-color41);
	font-size: min(44px, 6.15vw);
	font-weight: 600;
	text-align: center;
}

.salon > h3 {
	margin: 1em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(34px, 4.62vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
}

.salon > p {
	margin: 2.5em auto 0;
	width: min(670px, 90vw);
	font-size: min(20px, 3.59vw);
	line-height: 1.5;
}

.salon > p strong {
	color: var(--blue-color41);
	font-weight: 600;
}

.salon .container {
	margin: 1rem auto 0;
	width: min(670px, 90vw);
}

.salon .container :is(.slick-img, .thumbnail-img) {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.salon .container .thumbnail {
	margin-top: min(20px, 2.56vw);
	cursor: pointer;
	position: relative;
}

/* サムネイルの動きを止める */
.salon .container .thumbnail .slick-track {
  transform: unset !important;
}

.salon .container .thumbnail::before,
.salon .container .thumbnail::after {
	content: '';
	width: 10px;
	height: 100%;
	background: var(--liteblue-color);
	position: absolute;
	top: 0;
	left: calc(33% - 5px);
	z-index: 1;
}

.salon .container .thumbnail::after {
	left: calc(66% - 5px);
}

.salon > address {
	display: block;
	margin: 1.5rem auto 0;
	padding: 1em;
	width: min(670px, 90vw);
	background: #ffffff;
	border: 2px solid var(--blue-color41);
	font-size: min(20px, 3.08vw);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}

.salon > address i {
	font-style: normal !important;
}

.salon > ul {
	display: flex;
	margin: 1.5rem auto 0;
	width: min(670px, 90vw);
	gap: 0 1em;
}

.salon > ul li .icon_sns {
	width: min(50px, 12.31vw);
}

.salon > iframe {
	display: block;
	margin: 4rem auto 0;
	width: min(670px, 90vw);
	aspect-ratio: 5 / 4;
}

.faq {
	padding: min(50px, 7.69vw) min(40px, 5vw) min(60px, 10.26vw);
	background: var(--liteblue-color);
}

.faq > h2 {
	color: var(--blue-color41);
	font-size: min(44px, 6.15vw);
	font-weight: 600;
	text-align: center;
}

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

.faq dl dt {
	padding: 0 0 .5em;
	color: var(--blue-color41);
	font-size: min(22px, 4.62vw);
	font-weight: 700;
}

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

.faq dl dd {
	padding: .75em 1em .75em 3em;
	background: #ffffff;
	font-size: min(20px, 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 span {
	font-family: hiragino-mincho-pron, serif;
}


footer .salon_info {
	display: flex;
	flex-wrap: wrap;
	padding: 0 min(40px, 5vw) 0;
	aspect-ratio: 75 / 70;
	background: var(--blue-color41);
	color: #ffffff;
	align-items: center;
}

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: 600;
	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);
}


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) {

	#to_top {
		display: none;
	}

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

	:is(main, .camp2) > h2 strong {
		letter-spacing: .02em;
	}

	main > h2 i {
		top: -.25em !important;
		right: 1.4em !important;
	}

	.camp2 > h2 i {
		top: -.25em !important;
		right: 2.25em !important;
	}

	:is(main, .camp2) > h2 > small {
		top: 1.75em;
		left: .25em;
	}

	:is(main, .camp2) h3 {
		line-height: 2;
	}

	:is(main, .camp2) h3::after {
		top: .35em;
		right: 0;
	}

	main h4 p {
		letter-spacing: -.02em;
	}

	main h4 > span > span {
		padding: .3em .35em;
	}

	main .main_arrow {
		transform: scaleY(.75);
		top: 124vw;
	}

	:is(main, .camp2) .main_reserve a {
		padding: 0 0 0 1.8vw;
	}

:is(main, .camp2, .camp3) > ul li::before {
	top: -.2rem;
	right: -.2rem;
}

	.survey .top_survey {
		margin: -12vw 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: 0;
		right: 5vw;
		z-index: 2;
	}

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

	.camp .cherry_p {
		top: 6vw;
		left: 5vw;
	}

	.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: .02em;
	}

	.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: 22vw;
			left: 8vw;
	}

	.camp3 > strong::before,
	.camp3 > strong::after {
		top: 1.28vw;
		left: -3.85vw;
	}

	.camp3 > strong::after {
		left: auto;
		right: -3.85vw;
	}

	.camp3 .new {
		top: 17.44vw;
		left: 5vw;
	}

	.camp3 > h3 {
		margin-top: .25em;
	}

	.camp3 > h3::before {
		top: -3vw;
		left: 2vw;
	}

	.camp3 > h3::after {
		top: -5.6vw;
		right: 3vw;
	}

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

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

	.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 {
		padding: 5.13vw 0  15.38vw;
	}

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

	.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 .closing h2 {
		left: 5%;
	}

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

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

	.feature .img_staff {
		right: 0;
	}

	.feature .feature01 {
		padding: 5vw;
	}

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

	.feature .feature02 {
		padding: 2vw 0;
		letter-spacing: 0;
	}

	.feature > h5 {
	    padding: 1.5em 0 2em;
	    letter-spacing: .04em;
  }

	.feature + .present {
		padding-top: 10.26vw;
	}

	.flow .cont_flow p > a {
		letter-spacing: -.04em;
	}

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

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

	.flow .cont_flow > h4.flow_arrow::before {
		top: -68vw;
		left: -5vw;
	}

	.salon .container .thumbnail::before,
	.salon .container .thumbnail::after {
		width: 1.8vw;
		left: calc(33% - .9vw);
	}

	.salon .container .thumbnail::after {
		left: calc(66% - .9vw);
	}

	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;
	}


}
















