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 {
	--main-color: #CEEAFF;
	--liteblue-color: #F5F8FB;
	--blue-color31: #3190D6;
	--blue-color6c: #6CB7F1;
	--logo-color: #727171;
	--text-color: #000000;
	--pink-color: #DE0091;
	--yellow-color: #FFF500;
	--marine-color: #58D0CE;
}

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

.wrap_lp > h1 {
	background: var(--blue-color31);
	color: #ffffff;
	font-size: min(30px, 3.85vw) !important;
	font-weight: 600 !important;
	text-align: center;
	line-height: min(60px, 8.21vw);
}

main {
	width: 100%;
	height: min(1380px, 212.56vw);
	background: url(../images/main_girl.webp) no-repeat 65% 15px, url(../images/bg_top.webp) no-repeat 50% 0;
	background-size: 550px, cover;
	position: relative;
}

main::after {
	content: '';
	width: 100%;
	height: min(720px, 120.52vw);
	background: linear-gradient(0deg, rgba(206, 234, 255, 1.0), rgba(206, 234, 255, 0));
	position: absolute;
	bottom: 0;
	left: 0;
}

main .main_copy01 {
	display: block;
	width: min(140px, 19.74vw);
	position: absolute;
	top: min(20px, 2.56vw);
	right: min(40px, 5vw);
}

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

main > h2 {
	display: flex;
	flex-wrap: wrap;
	width: min(176px, 24.87vw);
	height: min(176px, 24.87vw);
	background: linear-gradient(-45deg, #5CAFFF, #D690C6);
	border-radius: 50%;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(51px, 6.92vw);
	font-weight: 600;
	text-align: center;
	line-height: .9;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: min(20px, 2.56vw);
	left: min(40px, 5vw);
}

main > h2 > small {
	display: block;
	margin-top: .25em;
	padding-top: .25em;
	font-size: min(32px, 4.1vw);
	border-top: 1px solid;
}

main > h3 {
	padding: 1em 0 0;
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-weight: 600;
	font-style: normal;
	font-size: min(46px, 6.92vw);
	line-height: 1.35;
	letter-spacing: .08em;
	text-shadow: 0 0 .15em var(--blue-color31), 0 0 .3em var(--blue-color31);
	text-indent: -1em;
  	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  	text-orientation: upright;
  	justify-items: center;
  	position: absolute;
  	top: min(210px, 30vw);
  	left: min(40px, 4vw);
}

main > h4 {
	margin: 0 auto;
	text-shadow: 0 0 .1em var(--blue-color31), 0 0 .25em var(--blue-color31), 0 0 .5em var(--blue-color31);
	color: #ffffff;
	font-family: 'the-seasons', serif;
	font-weight: 700;
	font-size: min(66px, 9.23vw) !important;
	letter-spacing: .2em;
	text-align: center;
	line-height: 1.25;
	position: absolute;
	top: min(428px, 69.74vw);
	right: 0;
	left: 0;
}

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

main > h4 > span {
	display: block;
	margin-top: -.2em;
	padding-right: .5em;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(25px, 3.59vw);
	letter-spacing: .08em;
}

main > ul {
	display: flex;
	margin: 0 auto;
	width: min(470px, 72.82vw);
	justify-content: space-between;
	position: absolute;
	top: min(570px, 90vw);
	right: 0;
	left: 0;
}

main > ul > li {
	display: flex;
	flex-wrap: wrap;
	padding: min(12px, 1.54vw) 0 0;
	width: 31.91%;
	height: min(169px, 26.15vw);
	background: url(../images/bg_topul.webp) no-repeat 50% 50%;
	background-size: cover;
	color: var(--blue-color31);
	font-size: min(24px, 3.59vw);
	font-weight: 500;
	text-align: center;
	line-height: 1.15;
	letter-spacing: 0;
	justify-content: center;
	align-items: center;
}

main > ul > li small {
	font-size: min(12px, 1.79vw);
	font-weight: 600;
}

main > ul > li strong {
	font-size: min(35px, 4.36vw);
	font-weight: 700;
}

main > ul > li p {
	font-size: min(12px, 2.05vw);
	font-weight: 500;
	text-align: right;
}

main > ul > li:last-child p {
	margin-top: -1em;
	position: relative;
	top: 1em;
}

main .campaign {
	margin: 0 auto;
	width: min(670px, 90vw);
	background: #ffffff;
	border: 2px solid var(--blue-color31);
	outline: 2px solid var(--blue-color31);
	outline-offset: -11px;
	position: absolute;
	top: min(760px, 118vw);
	right: 0;
	left: 0;
	z-index: 1;
}

main .campaign > h2 {
	background: var(--blue-color31);
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(56px, 7.69vw);
	font-weight: 600;
	text-align: center;
	line-height: min(100px, 12.82vw);
}

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

main .campaign .cont_camp h3 {
	width: 12.5em;
	background: var(--pink-color);
	border-radius: 1.5em;
	color: #ffffff;
	font-size: min(34px, 4.36vw);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .06em;
	text-align: center;
}

main .campaign .cont_camp h4 {
	display: flex;
	margin-top: -.1em;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(109px, 13.33vw);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.02em;
	justify-content: space-between;
	align-items: baseline;
}

main .campaign .cont_camp h4 strong {
	font-family: hiragino-kaku-gothic-pron, sans-serif;
	font-size: min(130px, 19.49vw);
	font-weight: 700;
	  -webkit-text-stroke: 4px;
	  text-stroke: 4px;
}

main .campaign .cont_camp h4 strong span {
	font-size: min(68px, 10.77vw) !important;
	font-weight: 600;
	  -webkit-text-stroke: 0;
	  text-stroke: 0;
}

main .campaign .cont_camp h5 {
	display: flex;
	margin-top: -1rem;
	font-family: hiragino-mincho-pron, serif;
	font-weight: 600;
	line-height: 1;
	position: relative;
	align-items: center;
}

main .campaign .cont_camp h5 > span {
	display: inline-flex;
	flex-wrap: wrap;
	margin: 0 -.1em 0 0;
	padding: 0 0 0 .75em;
	width: min(200px, 24.62vw);
	height: min(120px, 17.95vw);
	clip-path: polygon(0 0,75% 0,100% 50%,75% 100%,0 100%);
	background: linear-gradient(-45deg, #5CAFFF, #D690C6);
	color: #ffffff;
	font-size: min(31px, 4.36vw);
	text-align: center;
	line-height: 1.25;
	align-items: center;
}

main .campaign .cont_camp h5 strong {
	color: var(--pink-color);
	font-size: min(180px, 24.87vw);
	letter-spacing: -.04em;
}

main .campaign .cont_camp h5 strong > small {
	margin-left: -.02em;
	font-size: min(90px, 12.82vw);
	position: relative;
	top: -.1em;
}

main .campaign .cont_camp h5 > small {
	font-size: min(27px, 3.85vw);
	font-weight: 300;
	position: absolute;
	top: 1.5em;
	right: -.2em;
}

main .campaign .cont_camp h6 {
	display: flex;
	margin: -.25em 0 0;
	font-size: min(20px, 3.08vw);
	font-weight: 600;
	gap: .5em;
}

main .campaign .cont_camp h6 > span {
	padding: 0 1.5em;
	border: 1px solid;
	color: var(--blue-color31);
}

main .campaign .cont_camp h6 > del {
	color: var(--pink-color);
}

main .campaign .cont_camp h6 > del > span {
	color: var(--text-color);
}

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

main > p.note {
	margin: 0 auto;
	width: min(670px, 90vw);
	font-size: min(12px, 2.31vw);
	line-height: 1.5;
	position: absolute;
	top: min(1340px, 200vw);
	right: 0;
	left: 0;
	z-index: 1;
}

.survey {
	padding: min(30px, 3.85vw) 0 0;
	background: var(--main-color);
}

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

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

}

.survey .top_survey .survey_girl {
	display: block;
	width: min(390px, 66.92vw);
	height: min(640px, 82.1vw);
	object-fit: cover;
	object-position: 50% 0;
	position: absolute;
	bottom: 0;
	left: min(204px, 19.49vw);
}

.survey .top_survey p {
	display: flex;
	flex-wrap: wrap;
	padding: .2em 0 0;
	width: min(213px, 30.26vw);
	aspect-ratio: 1 / 1;
	background: var(--marine-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;
}

.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(--marine-color);
	border-radius: 50%;
	color: #000000;
	font-size: min(36px, 4.62vw);
	font-weight: 600;
	font-style: normal;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -1em;
	left: -1em;
}

.survey .questions h2 em::before {
	content: '';
	width: min(30px, 4.1vw);
	height: min(65.5px, 8.97vw);
	background: url(../images/fig_hair01.webp) no-repeat 50% 50%;
	background-size: cover;
	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(--marine-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(--marine-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);
}

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

.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(--main-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: .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(70px, 6.41vw) 0 0;
	background: url(../images/getplan_girl.webp) no-repeat 50% 155px, var(--blue-color31) url(../images/bg_getplan.webp) no-repeat 50% 0;
	background-size: 314px, 100%;
}

.thankyou .get_plan h3 {
	margin: 0 auto;
	width: min(440px, 73.333vw);
	background: #ffffff;
	border-radius: 2em;
	font-size: min(32px, 5.13vw);
	font-weight: 600;
	text-align: center;
}

.thankyou .get_plan .main_getplan {
	width: 100%;
	height: min(426px, 61.54vw);
	position: relative;
}

.thankyou .get_plan .main_getplan .omedeto {
	display: block;
	margin: 0 auto;
	width: min(487px, 83.333vw);
	position: absolute;
	top: 252px;
	right: 0;
	left: 0;
}

.thankyou .get_plan .main_getplan .wow {
	display: block;
	width: min(204px, 27.18vw);
	transform: rotate(-20deg);
	position: absolute;
	top: 40px;
	right: 60px;
}

.ticket {
	position: relative;
}

.ticket img.ticket {
	display: block;
	margin: -23px auto 0;
	width: min(670px, 90vw);
	filter: drop-shadow(.5rem .5rem 0 #808080);
}

.ticket ul {
	display: flex;
	flex-wrap: wrap;
	margin: 1.5em auto 0;
	padding: 1.5em 1.5em;
	width: min(670px, 90vw);
	background: #ffffff;
	font-size: min(18px, 3.59vw);
	line-height: 1.25;
	gap: 1em 0;
}

.ticket ul li:nth-child(2n+1) {
	width: 30%;
	font-weight: 600;
}

.ticket ul li:nth-child(2n) {
	width: 70%;
	font-weight: 400;
}

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

 .ticket > a.is-fixed {
 	position: fixed;
 	margin: 0 auto;
 	bottom: 0;
 	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 {
	margin: min(30px, 5vw) 0 0;
	padding: 2.5em min(40px, 5vw) min(60px, 10.26vw);
	width: 100%;
	background: #ffffff;
	font-size: min(16px, 3.08vw);
	line-height: 1.5;
}

.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(110px, 12.82vw) 0 0;
	background: #000000 url(../images/bg_limit.webp) no-repeat 50% 0;
	background-size: cover;
	position: relative;
}

.limit::after {
	content: '';
	width: 100%;
	height: min(190px, 25.64vw);
	background: linear-gradient(0deg, #860058, transparent);
	position: absolute;
	bottom: 0;
	left: 0;
}

.limit h2 {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(55px, 8.97vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .06em;
	position: relative;
}

.limit h2::after {
	content: '';
	margin: 0 auto;
	width: min(560px, 90vw);
	height: 1px;
	background: #ffffff;
	position: absolute;
	top: 1.1em;
	right: 0;
	left: 0;	
}

.limit h2 span {
	position: relative;
}

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

.limit h2 strong {
	display: block;
	font-size: min(82px, 13.33vw);
	letter-spacing: .1em;
	text-shadow: 0 0 .1em var(--pink-color), 0 0 .2em var(--pink-color), 0 0 .25em var(--pink-color), 0 0 .3em var(--pink-color);
	position: relative;
}

.limit h2 strong::after {
	content: '';
	margin: 0 auto;
	width: min(378px, 61.54vw);
	height: 1px;
	background: #ffffff;
	position: absolute;
	bottom: .1em;
	right: 0;
	left: 0;
}

.limit h3 {
	color: #ffffff;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(66px, 9.23vw);
	font-weight: 600;
	position: absolute;
	bottom: 160px;
	right: 80px;
	z-index: 1;
}

.limit h3::before,
.limit h3::after {
	content: 'お悩み';
	display: block;
	color: rgba(255, 255, 255, .5);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(66px, 9.23vw);
	font-weight: 600;
	position: absolute;
	top: 1.1em;
	left: 0;
}

.limit h3::after {
	color: rgba(255, 255, 255, .2);
	top: 2.2em;
}

.nomoney {
	padding: min(120px, 15.38vw) 0 0;
	background: #C70082;
}

.nomoney h2 {
	color: #ffffff;
	font-size: min(59px, 7.95vw);
	font-weight: 700;
	text-align: center;
	line-height: 1;
	position: relative;
}

.nomoney h2::before,
.nomoney h2::after {
	content: '';
	margin: 0 auto;
	width: min(340px, 45.64vw);
	height: 1px;
	background: #ffffff;
	position: absolute;
	top: 1.35em;
	right: 0;
	left: 0;
}

.nomoney h2::after {
	width: min(670px, 90vw);
	top: 2.7em;
}

.nomoney h2 > span {
	display: flex;
	width: min(100px, 15.38vw);
	aspect-ratio: 1 / 1;
	background: #000000;
	border-radius: 50%;
	color: #ffffff;
	font-size: min(50px, 7.44vw);
	font-weight: 500;
	text-align: center;
	justify-content: center;
	align-items: center;
	transform: rotate(-20deg);
	position: absolute;
	top: -.5em;
	left: 1.85em;
}

.nomoney h2 > strong {
	font-size: min(82px, 10.77vw);
	position: relative;
}

.nomoney h2 > strong > span {
	position: relative;
}

.nomoney h2 > strong > span::before {
	content: '';
	margin: 0 auto;
	width: min(42px, 5.64vw);
	height: min(38px, 5.13vw);
	background: url(../images/icon_check.webp) no-repeat 50% 50%;
	background-size: cover;
	position: absolute;
	top: -.6em;
	right: 0;
	left: 0;
}

.nomoney h2 > img {
	display: block;
	width: min(98px, 15.9vw);
	position: absolute;
	top: -48px;
	right: 90px;
}

.nomoney .main_nomoney {
	width: 100%;
	height: min(1000px, 146.15vw);
	background: linear-gradient(0deg, #DDEBF9 27.5%, #C70082 27.5%);
	position: relative;
}

.nomoney .main_nomoney h3 {
	color: #ffffff;
	font-size: min(32px, 6.15vw);
	font-weight: 600;
  	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
  	text-orientation: upright;
  	justify-items: center;
  	position: absolute;
}

.nomoney .main_nomoney h3:first-of-type {
	top: min(140px, 17.95vw);
	right: min(40px, 5vw);
}

.nomoney .main_nomoney h3:first-of-type span:last-child {
	margin-top: 2em !important;
}

.nomoney .main_nomoney h3:nth-of-type(2) {
	top: min(40px, 2.56vw);
	right: min(300px, 40.26vw);
}

.nomoney .main_nomoney h3:nth-of-type(2) span:last-child {
	margin-top: 2em !important;
}

.nomoney .main_nomoney h3:nth-of-type(3) {
	top: min(280px, 25.64vw);
	left: min(40px, 5vw);
}

.nomoney .main_nomoney h3:nth-of-type(3) span:last-child {
	margin-top: 3em !important;
}

.nomoney .main_nomoney h3 span {
	display: inline-block;
	margin: 0 -.25em;
	padding: .75em .25em;
	background: #000000;
	letter-spacing: .15em;
}

.nomoney .main_nomoney h3 span.pink {
	color: #FF41BD;
}

.flymoney01 {
	display: block;
	width: min(234px, 31.28vw);
	transform: rotate(-20deg);
	animation: fly01 2s linear infinite;
	position: absolute;
	top: 80px;
	left: 45px;
}

.flymoney02 {
	display: block;
	width: min(126px, 18.97vw);
	transform: rotate(26deg);
	animation: fly02 2s linear infinite;
	position: absolute;
	top: 70px;
	right: 140px;
}

.flymoney03 {
	display: block;
	width: min(184px, 24.62vw);
	transform: rotate(18deg);
	animation: fly03 2s linear infinite;
	position: absolute;
	top: 460px;
	right: 195px;
	z-index: 1;
}

@keyframes fly01 {
 0% { transform: translateY(0) rotate(-20deg); }
 50% { transform: translateY(-20px) rotate(-20deg); }
 100% { transform: translateY(0) rotate(-20deg); }
}

@keyframes fly02 {
 0% { transform: translateY(0) rotate(26deg); }
 50% { transform: translateY(-10px) rotate(26deg); }
 100% { transform: translateY(0) rotate(26deg); }
}

@keyframes fly03 {
 0% { transform: translateY(0) rotate(18deg); }
 50% { transform: translateY(-15px) rotate(18deg); }
 100% { transform: translateY(0) rotate(18deg); }
}


.agony_girl {
	display: block;
	margin: 0 auto;
	width: min(275px, 35.9vw);
	height: min(428px, 50vw);
	object-fit: cover;
	object-position: 50% 0;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
}

.debut {
	background: linear-gradient(180deg, #DDEBF9 min(210px, 22.05vw), #ffffff min(210px, 22.05vw));

}

.debut .triangle {
	padding: 1em 0 0;
	width: 100%;
	height: min(357px, 44.1vw);
	background: url(../images/fig_triangle.webp) no-repeat 50% 0;
	background-size: 90%;
}

.debut .triangle p {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(45px, 5.9vw);
	font-weight: 300;
	text-align: center;
	line-height: 1.5;
}

.debut .triangle p strong {
	display: block;
	color: var(--pink-color);
	font-size: min(60px, 7.69vw);
	font-weight: 600;
	line-height: 1;
}

.debut .triangle p strong small {
	font-size: min(50px, 6.41vw);
}

.debut .flags {
	display: block;
	margin-top: -145px;
}

.debut > h2 {
	margin: .5em 0 .5em;
	background: linear-gradient(90deg, #CA93CB, #6AACF9);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(80px, 11.03vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .06em;
	position: relative;
}

.debut > h2::before,
.debut > h2::after {
	content: '';
	margin: 0 auto;
	width: min(388px, 51.28vw);
	height: 1px;
	background: #87A4E9;
	position: absolute;
	top: 1.05em;
	right: 0;
	left: 0;
}

.debut > h2::after {
	width: min(568px, 75.64vw);
	background: #77A7F2;
	top: 2.3em;
}

.debut > h2 span {
	display: block;
	font-size: min(64px, 8.46vw);
	font-weight: 300;
	letter-spacing: .04em;
}

:is(.debut, .reason) ruby rt {
	font-size: 40%;
	font-weight: 300;
	text-align: center;
}

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

.reason {
	padding: min(150px, 20.51vw) 0 min(120px, 15.38vw);
	background: #DCEAF7;
	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(30px, 4.62vw);
	font-weight: 600;
	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(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-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 .cont_reason01-01 {
	padding: min(60px, 7.69vw) 0 0;
	background: #ffffff;
	border-radius: min(45px, 11.54vw) min(45px, 11.54vw) 0 0;
	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_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 min(45px, 11.54vw) min(45px, 11.54vw);
}

.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 {
	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: 30%;
	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: 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: 1rem 0;
	width: 24%;
	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 .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: 60%;
	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.25;
}

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

.opening p.note {
	margin: .75em 0 0;
	padding-top: 0;
	padding-bottom: 0;
	background: none;
}

.plan {
	padding: min(120px, 15.38vw) 0;
	background: url(../images/bg_plan.webp) no-repeat 50% 50%;
	background-size: cover;
}

.plan h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(74px, 10.26vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
	letter-spacing: .08em;
	  -webkit-text-stroke: 8px #ffffff;
	  text-stroke: 8px #ffffff;
	  paint-order: stroke;
}

.plan h2 span {
	display: block;
	font-size: min(56px, 7.69vw);
}

.plan .cont_plan {
	margin: min(30px, 4.1vw) auto 0;
	padding: min(60px, 8.97vw) min(30px, 4.1vw);
	width: min(670px, 90vw);
	background: #ffffff;
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, .25);
}

.plan .cont_plan h3 {
	background: #000000;
	border-radius: 1.5em;
	color: var(--yellow-color);
	font-family: hiragino-mincho-pron, serif;
	font-size: min(36px, 6.15vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.75;
}

.plan .cont_plan > p {
	margin: 1em 0 0;
	font-size: min(20px, 3.59vw);
	font-weight: 500;
	text-align: center;
	line-height: 1.75;
}

.plan .cont_plan > p span {
	color: #ff0000;
}

.plan .cont_plan h4 {
	margin: .5em 0 0;
	font-family: hiragino-mincho-pron, serif;
	font-size: min(50px, 6.67vw);
	font-weight: 600;
}

.plan .cont_plan h4 span {
	font-family: initial;
	font-size: min(30px, 3.85vw);
	font-weight: 400;
}
	
.plan .cont_plan .fee {
	padding: min(50px, 5.13vw) 0;
	background: #000000;
	color: #ffffff;
	font-size: min(28px, 3.59vw);
	text-align: center;
}

.plan .cont_plan .fee strong {
	font-size: min(34px, 4.62vw);
	font-weight: 600;
}

.plan .cont_plan .fee del {
	color: #ff0000;
	font-size: min(28px, 3.59vw);
}

.plan .cont_plan .fee del span {
	color: #ffffff;
}

.plan .cont_plan .fee b {
	font-size: min(30px, 3.85vw);
	font-weight: 600;
}

.plan .cont_plan .fee b em {
	color: #ff0000;
	font-style: normal;
}

.plan .cont_plan .fee small {
	font-size: min(20px, 2.56vw);
}

.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(20px, 5vw) min(40px, 5vw) min(60px, 15.38vw);
	background: #DCEAF8;
}

.faq > h2 {
	font-family: hiragino-mincho-pron, serif;
	font-size: min(60px, 9.23vw);
	font-weight: 600;
	text-align: center;
	letter-spacing: .15em;
}

.faq dl {
	margin: 1rem 0 0;
}

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

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

.faq dl dd {
	padding: .5em 1em;
	background: #ffffff;
	font-size: min(20px, 4.1vw);
	font-weight: 500;
}

.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-color31);
	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: 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 > 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.08vw);
	font-weight: 500;
	justify-content: space-between;
}

footer .copy {
	padding: 0 0 min(280px, 33.33vw);
/*	padding: 0 0 min(80px, 15.38vw); 固定バナーなし*/
	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: url(../images/main_girl.webp) no-repeat 72% 2svh, url(../images/bg_top.webp) no-repeat 50% 0;
		background-size: 76.92vw, cover;
		position: relative;
	}

	main .campaign .cont_camp {
		padding: 2.56vw 5.13vw;
	}

	main .main_epix {
		right: 1vw;
	}

	main .campaign .cont_camp h4 {
		margin-top: -.25em;
		font-size: 13.33vw;
		letter-spacing: 0;
		justify-content: space-between;
		align-items: baseline;
	}

	main .campaign .cont_camp h5 {
		margin-top: -.5em;
	}

	main .campaign .cont_camp h5 > span {
		padding-left: .4em;
	}

	main .campaign .cont_camp h6 {
		line-height: 1.5;
		letter-spacing: 0;
		white-space: nowrap;
	}

	main .campaign .cont_camp h6 > span {
		padding: 0 1em;
	}

	main .campaign .cont_camp > p {
		margin-top: .75em;
		padding-bottom: 1em;
	}

	.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: 0;
		right: 5vw;
	}

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

	.thankyou .get_plan {
		background: url(../images/getplan_girl.webp) no-repeat 50% 17.95vw, var(--blue-color31) url(../images/bg_getplan.webp) no-repeat 50% 0;
		background-size: 51.79vw, 100%;
	}

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

	.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 h3 {
		right: 10.26vw;
		bottom: 21vw;
	}

	.nomoney h2 > span {
		top: -.75em;
		left: 1.4em;
	}

	.nomoney h2 > img {
		top: -3.5vw;
		right: 5vw;
	}

	.nomoney .main_nomoney h3 {
		line-height: 1.75;		
	}

	.nomoney .main_nomoney h3 span {
		margin: 0 -2em !important;
		padding: .75em 0;
		letter-spacing: .04em;
	}

	.flymoney01 {
		top: 5vw;
		left: 5vw;
	}

	.flymoney02 {
		top: 6vw;
		right: 18vw;
	}

	.flymoney03 {
		top: 82vw;
		right: 30vw;
	}

	.debut .flags {
		margin-top: -21vw;
	}

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

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

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

	}

	.reason .reason04 > h3 {
		padding-left: 5.5rem;
		letter-spacing: .02em;
	}

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

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

	.plan h2 {
		letter-spacing: .04em;
	}

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

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



}




