/* ----------------------------------------
Reset
---------------------------------------- */

* {
	margin: 0;
	padding: 0;
}

*,
::before,
::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

:where(a[href],
area,
button,
label[for],
select,
summary,
[tabindex]:not([tabindex*="-"])) {
	-ms-touch-action: manipulation;
	cursor: pointer;
	touch-action: manipulation;
}

:where(input[type=file]) {
	cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button {
	cursor: pointer;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
	cursor: pointer;
}

:where(button,
button[type],
input[type=button],
input[type=submit],
input[type=reset])[disabled] {
	cursor: not-allowed;
}

/* ----------------------------------------
Base
---------------------------------------- */

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

html.is_fixed {
	height: 100%;
	overflow: hidden;
	width: 100%;
}

body {
	background-color: #fff;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0 auto;
	max-width: 750px;
	min-height: 100vh;
	position: relative;
	width: 100%;
}

li {
	list-style: none;
}

a {
	color: #333;
}

a:hover {
	opacity: 0.7;
}

/* ----------------------------------------
font-weight
---------------------------------------- */

.fw400 {
	font-weight: 400 !important;
}

.fw500 {
	font-weight: 500 !important;
}

.fw700 {
	font-weight: 700 !important;
}

.fw900 {
	font-weight: 900 !important;
}

/* ----------------------------------------
padding
---------------------------------------- */

.p0-35 {
	padding: 0 min(4.6666666667%, 35px) !important;
}

.p0-50 {
	padding: 0 min(6.6666666667%, 50px) !important;
}

/* ----------------------------------------
padding-top
---------------------------------------- */

.pt10 {
	padding-top: min(1.3333333333vw, 10px) !important;
}

.pt20 {
	padding-top: min(2.6666666667vw, 20px) !important;
}

.pt30 {
	padding-top: min(4vw, 30px) !important;
}

.pt40 {
	padding-top: min(5.3333333333vw, 40px) !important;
}

.pt50 {
	padding-top: min(6.6666666667vw, 50px) !important;
}

.pt60 {
	padding-top: min(8vw, 60px) !important;
}

.pt70 {
	padding-top: min(9.3333333333vw, 70px) !important;
}

.pt80 {
	padding-top: min(10.6666666667vw, 80px) !important;
}

.pt90 {
	padding-top: min(12vw, 90px) !important;
}

.pt100 {
	padding-top: min(13.3333333333vw, 100px) !important;
}

/* ----------------------------------------
padding-bottom
---------------------------------------- */

.pb10 {
	padding-bottom: min(1.3333333333vw, 10px) !important;
}

.pb20 {
	padding-bottom: min(2.6666666667vw, 20px) !important;
}

.pb30 {
	padding-bottom: min(4vw, 30px) !important;
}

.pb40 {
	padding-bottom: min(5.3333333333vw, 40px) !important;
}

.pb50 {
	padding-bottom: min(6.6666666667vw, 50px) !important;
}

.pb60 {
	padding-bottom: min(8vw, 60px) !important;
}

.pb70 {
	padding-bottom: min(9.3333333333vw, 70px) !important;
}

.pb80 {
	padding-bottom: min(10.6666666667vw, 80px) !important;
}

.pb90 {
	padding-bottom: min(12vw, 90px) !important;
}

.pb100 {
	padding-bottom: min(13.3333333333vw, 100px) !important;
}

/* ----------------------------------------
margin-top
---------------------------------------- */

.mt10 {
	margin-top: min(1.3333333333vw, 10px) !important;
}

.mt20 {
	margin-top: min(2.6666666667vw, 20px) !important;
}

.mt30 {
	margin-top: min(4vw, 30px) !important;
}

.mt40 {
	margin-top: min(5.3333333333vw, 40px) !important;
}

.mt50 {
	margin-top: min(6.6666666667vw, 50px) !important;
}

.mt60 {
	margin-top: min(8vw, 60px) !important;
}

.mt70 {
	margin-top: min(9.3333333333vw, 70px) !important;
}

.mt80 {
	margin-top: min(10.6666666667vw, 80px) !important;
}

.mt90 {
	margin-top: min(12vw, 90px) !important;
}

.mt100 {
	margin-top: min(13.3333333333vw, 100px) !important;
}

/* ----------------------------------------
margin-bottom
---------------------------------------- */

.mb10 {
	margin-bottom: min(1.3333333333vw, 10px) !important;
}

.mb20 {
	margin-bottom: min(2.6666666667vw, 20px) !important;
}

.mb30 {
	margin-bottom: min(4vw, 30px) !important;
}

.mb40 {
	margin-bottom: min(5.3333333333vw, 40px) !important;
}

.mb50 {
	margin-bottom: min(6.6666666667vw, 50px) !important;
}

.mb60 {
	margin-bottom: min(8vw, 60px) !important;
}

.mb70 {
	margin-bottom: min(9.3333333333vw, 70px) !important;
}

.mb80 {
	margin-bottom: min(10.6666666667vw, 80px) !important;
}

.mb90 {
	margin-bottom: min(12vw, 90px) !important;
}

.mb100 {
	margin-bottom: min(13.3333333333vw, 100px) !important;
}

/* ----------------------------------------
footer
---------------------------------------- */

/* ----------------------------------------
header
---------------------------------------- */

/* ----------------------------------------
top
---------------------------------------- */

/* ----------------------------------------
common
---------------------------------------- */

.btn {
	-webkit-animation-name: anime_btn;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-duration: 1.5s;
	-webkit-animation-fill-mode: both;
	-webkit-transform-origin: center;
	animation-duration: 1.5s;
	animation-fill-mode: both;
	animation-iteration-count: infinite;
	animation-name: anime_btn;
	display: block;
	transform-origin: center;
}

.text {
	font-size: min(3.7333333333vw, 2.8rem);
	font-weight: 500;
	letter-spacing: calc(50 / 1000 * 1em);
	line-height: 2;
}

.text--marker {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #f5eb43));
	background: linear-gradient(transparent 60%, #f5eb43 40%);
}

.note {
	color: #999;
	font-size: clamp(0.9rem, 1.8666666667vw, 1.4rem);
	line-height: calc(14 / 9);
}

/* ----------------------------------------
cta
---------------------------------------- */

.cta {
	overflow-x: hidden;
}

.cta__catch {
	margin: 0 auto;
	width: min(84.2647058824%, 573px);
}

/* ----------------------------------------
fv
---------------------------------------- */

.fv .cta {
	padding-top: min(9.3333333333%, 70px);
}

/* ----------------------------------------
face-line
---------------------------------------- */

.face-line {
	padding-bottom: min(16%, 120px);
}

.face-line__risk {
	color: #666;
	font-size: min(2.6666666667vw, 2rem);
	text-align: center;
}

/* ----------------------------------------
e-line
---------------------------------------- */

.e-line {
	background-color: #ebebeb;
	position: relative;
}

.e-line__heading {
	position: absolute;
	top: max(-7.7333333333vw, -58px);
}

.e-line__icon {
	margin: min(5.3333333333%, 40px) auto;
	width: min(18.6666666667%, 140px);
}

.e-line__text {
	color: #444;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(4.8vw, 3.6rem);
	font-weight: bold;
	letter-spacing: calc(50 / 1000 * 1em);
	line-height: calc(68 / 36);
	text-align: center;
}

.e-line__text span {
	background: -webkit-gradient(linear, left top, right top, from(#a89ce2), to(#fd7aab));
	background: linear-gradient(to right, #a89ce2 0%, #fd7aab 100%);
	color: #fff;
	padding: 5px 10px;
}

/* ----------------------------------------
feature
---------------------------------------- */

.feature {
	margin-top: max(-6.1333333333%, -46px);
}

/* ----------------------------------------
price
---------------------------------------- */

.price {
	background: -webkit-gradient(linear, left bottom, left top, from(#e5ecf3), to(#92b1cd));
	background: linear-gradient(to top, #e5ecf3 0%, #92b1cd 100%);
}

.price__heading {
	color: #fff;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(5.8666666667vw, 4.4rem);
	letter-spacing: calc(100 / 1000 * 1em);
	line-height: calc(64 / 44);
	margin-bottom: min(5.3333333333%, 40px);
	text-align: center;
}

.price__heading img {
	margin-bottom: min(4%, 30px);
}

.price__chart {
	border-radius: min(5.9701492537%, 40px);
	margin: min(6%, 45px) auto min(4%, 30px);
	width: min(89.3333333333%, 670px);
}

.price .note {
	color: #333;
}

/* ----------------------------------------
case
---------------------------------------- */

.case {
	background-image: -webkit-gradient(linear, left bottom, left top, from(#c0bcdd), to(#eebdd0));
	background-image: linear-gradient(to top, #c0bcdd 0%, #eebdd0 100%);
	padding-bottom: min(13.3333333333%, 100px);
}

.case__heading p {
	color: #fff;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(6.6666666667vw, 5rem);
	line-height: 1;
	margin: 0 auto;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.case__heading p::after {
	background-color: #fff;
	bottom: -1px;
	content: "";
	display: block;
	height: min(0.8vw, 6px);
	left: 0;
	position: absolute;
	width: 100%;
}

.case-slider {
	padding: 0 min(5.7333333333%, 43px);
	position: relative;
}

.case-slider .swiper-slide {
	cursor: pointer;
	margin: 0 min(5.7333333333%, 43px);
}

.case-slider .swiper-pagination {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 0;
	gap: min(3.3333333333vw, 25px);
	justify-content: center;
	margin-top: min(6.6666666667vw, 50px);
}

.case-slider .swiper-pagination-bullet {
	aspect-ratio: 1;
	background-color: transparent;
	border: 2px solid #333;
	border-radius: 50%;
	width: min(2.1333333333vw, 16px);
}

.case-slider .swiper-pagination-bullet-active {
	background-color: #333;
}

.case-slider .swiper-button-prev,
.case-slider .swiper-button-next {
	background-color: transparent;
	background-size: 100%;
	border: none;
	font-size: 0;
	height: min(3.2vw, 24px);
	position: absolute;
	top: min(10.6666666667vw, 80px);
	width: min(8.2666666667vw, 62px);
	z-index: 100;
}

.case-slider .swiper-button-prev {
	background-image: url(../img/arrow-left01.webp);
	background-repeat: no-repeat;
	left: min(1.8666666667vw, 14px);
}

.case-slider .swiper-button-next {
	background-image: url(../img/arrow-right01.webp);
	background-repeat: no-repeat;
	right: min(1.8666666667vw, 14px);
}

.case-slider .note {
	color: #fff;
}

/* ----------------------------------------
treatment
---------------------------------------- */

.treatment {
	background-color: #fdf6ff;
	padding-bottom: min(6vw, 45px);
}

.treatment__contents {
	background-color: #fbecfc;
	border-radius: min(2.2666666667vw, 17px);
	margin: 0 auto;
	margin-top: max(-18.8821752266%, -125px);
	padding-bottom: min(10vw, 75px);
	padding-top: min(20.0906344411%, 133px);
	width: min(88.2666666667%, 662px);
}

.treatment__text-more {
	color: #c755cd;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(4vw, 3rem);
	font-weight: bold;
	letter-spacing: calc(200 / 1000 * 1em);
	margin-bottom: min(1.3333333333vw, 10px);
	text-align: center;
}

.treatment__text {
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(4vw, 3rem);
	font-weight: bold;
	letter-spacing: calc(50 / 1000 * 1em);
	line-height: calc(51 / 30);
	margin-bottom: min(6.6666666667vw, 50px);
	text-align: center;
}

.treatment__text span {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #ffea00));
	background: linear-gradient(transparent 60%, #ffea00 40%);
	color: #c755cd;
}

.treatment .note {
	color: #666;
	padding: 0 min(6.6666666667vw, 50px);
}

/* ----------------------------------------
checkup
---------------------------------------- */

.checkup__contents {
	background-image: url(../img/checkup_bg.webp);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-top: max(-4%, -30px);
	padding-top: min(8%, 60px);
}

.checkup__list {
	position: relative;
	top: max(-6.6666666667vw, -50px);
}

.checkup .cta {
	background-color: #fff;
	margin-top: max(-6.6666666667vw, -50px);
	padding-top: min(8vw, 60px);
}

.checkup-slider {
	margin-top: max(-3.7333333333%, -28px);
	overflow: unset;
	overflow-x: clip;
	position: relative;
	z-index: 10;
}

.checkup-slider .swiper-slide {
	-webkit-box-shadow: 0 0 min(2.4vw, 18px) min(1.3333333333vw, 10px) rgba(214, 214, 214, 0.6);
	aspect-ratio: 285/180;
	border: min(0.8vw, 6px) solid #fff;
	border-radius: min(2.6666666667vw, 20px);
	box-shadow: 0 0 min(2.4vw, 18px) min(1.3333333333vw, 10px) rgba(214, 214, 214, 0.6);
	cursor: pointer;
	margin: 0 min(2%, 15px);
	overflow: hidden;
	width: min(76vw, 570px);
}

.checkup-slider .swiper-button-prev,
.checkup-slider .swiper-button-next {
	-webkit-transform: translateY(-50%);
	aspect-ratio: 1;
	background-color: transparent;
	background-size: 100%;
	border: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(12%, 90px);
	z-index: 100;
}

.checkup-slider .swiper-button-prev {
	background-image: url(../img/arrow-left02.webp);
	left: min(4%, 30px);
}

.checkup-slider .swiper-button-next {
	background-image: url(../img/arrow-right02.webp);
	right: min(4%, 30px);
}

/* ----------------------------------------
flow
---------------------------------------- */

.flow {
	background-color: #eec5e0;
	padding-bottom: min(16vw, 120px);
}

.flow .note {
	color: #333;
}

.flow-slider {
	padding: 0 min(4%, 30px);
	position: relative;
}

.flow-slider .swiper-slide {
	cursor: pointer;
	margin: 0 min(4%, 30px);
}

.flow-slider .swiper-pagination {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 0;
	gap: min(3.3333333333vw, 25px);
	justify-content: center;
	margin-top: min(6.6666666667vw, 50px);
}

.flow-slider .swiper-pagination-bullet {
	aspect-ratio: 1;
	background-color: transparent;
	border: 2px solid #333;
	border-radius: 50%;
	width: min(2.1333333333vw, 16px);
}

.flow-slider .swiper-pagination-bullet-active {
	background-color: #333;
}

.flow-slider .swiper-button-prev,
.flow-slider .swiper-button-next {
	-webkit-transform: translateY(-50%);
	aspect-ratio: 1;
	background-color: transparent;
	background-size: 100%;
	border: none;
	font-size: 0;
	position: absolute;
	top: 37.5%;
	transform: translateY(-50%);
	width: min(9.3333333333%, 70px);
	z-index: 100;
}

.flow-slider .swiper-button-prev {
	background-image: url(../img/arrow-left03.png);
	left: max(-1.3333333333%, -10px);
}

.flow-slider .swiper-button-next {
	background-image: url(../img/arrow-right03.png);
	right: max(-1.3333333333%, -10px);
}

.flow-slider .swiper-button-disabled {
	display: none;
}

.flow-slider__head {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: min(1.3333333333vw, 10px);
	justify-content: center;
	margin-bottom: min(2.6666666667vw, 20px);
}

.flow-slider__head img {
	width: min(21.3333333333vw, 160px);
}

.flow-slider__heading {
	color: #614e71;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(6.2666666667vw, 4.7rem);
	letter-spacing: calc(260 / 1000 * 1em);
	line-height: calc(69 / 47);
}

.flow-slider__heading p {
	background-color: #fff;
	padding: 0 min(1.3333333333vw, 10px);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.flow-slider__heading p + p {
	margin-top: min(0.9333333333vw, 7px);
}

.flow-slider__heading--02 {
	letter-spacing: calc(440 / 1000 * 1em);
}

.flow-slider__heading--02 p {
	margin-left: auto;
}

.flow-slider__heading--04 {
	letter-spacing: calc(200 / 1000 * 1em);
}

.flow-slider__heading--05 {
	letter-spacing: calc(60 / 1000 * 1em);
}

.flow-slider__img {
	margin-bottom: min(4vw, 30px);
}

.flow-slider__text {
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(3.6vw, 2.7rem);
	font-weight: 500;
	letter-spacing: calc(40 / 1000 * 1em);
}

.flow-slider__label {
	background-color: #614e71;
	color: #fff;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(2.6666666667vw, 2rem);
	font-weight: 500;
	letter-spacing: calc(140 / 1000 * 1em);
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: min(28.6666666667vw, 215px);
	z-index: 10;
}

.flow-slider__desc {
	background-color: #fff;
	color: #c370b2;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(4.5333333333vw, 3.4rem);
	font-weight: bold;
	letter-spacing: calc(260 / 1000 * 1em);
	margin-top: max(-2vw, -15px);
	padding: min(5.3333333333vw, 40px) 0;
	text-align: center;
}

/* ----------------------------------------
others
---------------------------------------- */

.others__bg {
	background-image: url(../img/others_bg.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: min(6.6666666667%, 50px);
}

.others__heading {
	color: #4989bd;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(5.8666666667vw, 4.4rem);
	font-weight: bold;
	letter-spacing: calc(100 / 1000 * 1em);
	margin-bottom: min(6.6666666667%, 50px);
	padding: 0 min(6.6666666667%, 50px);
}

.others__text {
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(3.3333333333vw, 2.5rem);
	font-weight: 500;
	line-height: calc(52 / 25);
	margin-bottom: min(10.6666666667%, 80px);
	padding: 0 min(6.6666666667%, 50px);
}

.others__img {
	-webkit-box-shadow: 0px 0px min(4.2666666667vw, 32px) min(0.4266666667vw, 3.2px) rgba(88, 174, 220, 0.2);
	border-radius: min(6%, 45px);
	box-shadow: 0px 0px min(4.2666666667vw, 32px) min(0.4266666667vw, 3.2px) rgba(88, 174, 220, 0.2);
	margin: max(-5.3333333333%, -40px) auto min(4%, 30px);
	width: min(93.0666666667%, 698px);
}

/* ----------------------------------------
faq
---------------------------------------- */

.faq {
	background-color: #f5e4fa;
	padding-bottom: min(10.6666666667%, 80px);
}

.faq__title {
	background-image: url(../img/q.webp), url(../img/arrow-down.webp);
	background-position: min(4.6478873239%, 33px) center, min(95.3521126761%, 677px) center;
	background-repeat: no-repeat;
	background-size: min(10%, 71px), min(3.0985915493%, 22px);
	color: #463731;
	font-family: HiraginoSans, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", hiragino-kaku-gothic-pron, sans-serif;
	font-size: min(4.1333333333vw, 3.1rem);
	font-weight: 500;
	letter-spacing: calc(200 / 1000 * 1em);
	line-height: calc(40 / 31);
	padding: min(5.6338028169%, 40px) min(10.5633802817%, 75px) min(5.6338028169%, 40px) min(17.6056338028%, 125px);
	position: relative;
}

.faq__title:has(+ .is-open) {
	background-image: url(../img/q.webp), url(../img/arrow-up.png);
}

.faq__text {
	color: #444;
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
	font-size: min(3.2vw, 2.4rem);
	font-weight: 500;
	letter-spacing: calc(20 / 1000 * 1em);
	line-height: calc(45 / 24);
}

.accordion {
	padding: 0 min(2.6666666667%, 20px);
}

.accordion__item {
	background-color: #fff;
	border-radius: min(1.8666666667vw, 14px);
	margin-bottom: min(2.6666666667vw, 20px);
}

.accordion__contents {
	display: none;
	padding: 0 min(4.4%, 33px) min(5.3333333333%, 40px);
}

.accordion__contents.is-open {
	display: block;
}

/* ----------------------------------------
area
---------------------------------------- */

.area {
	background-color: #f5f6f7;
	padding-top: min(10.6666666667%, 80px);
}

.area__logo {
	margin: 0 auto;
	width: min(58.6666666667%, 440px);
}

/* accelrator */
.accelerator_note{
  background-color: #ECEEF0;
  padding: 10px 20px 20px 20px;
  font-size:11px;
}
/*# sourceMappingURL=styles.css.map */
