/* ----------------------------------------
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: #666;
	font-size: clamp(0.9rem, 1.8666666667vw, 1.4rem);
	line-height: calc(14 / 9);
}

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

.cta {
	padding-top: min(5.3333333333%, 40px);
}

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

/* ----------------------------------------
review
---------------------------------------- */

.review {
	background-image: url(../img/review_bg.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
}

.review-slider .swiper-slide {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: auto;
	margin: 0 min(4.8666666667%, 36.5px);
	width: min(90.2666666667vw, 677px);
}

.review-slider .swiper-button-prev,
.review-slider .swiper-button-next {
	-webkit-transform: translateY(-50%);
	border: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(3.4666666667%, 26px);
	z-index: 100;
}

.review-slider .swiper-button-prev img,
.review-slider .swiper-button-next img {
	width: 100%;
}

.review-slider .swiper-button-prev {
	left: min(2.6666666667%, 20px);
}

.review-slider .swiper-button-next {
	right: min(2.6666666667%, 20px);
}

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

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

.price .text {
	color: #525760;
}

/* ----------------------------------------
payment
---------------------------------------- */

.payment__note {
	background-color: #e8f1f9;
}

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

.feature__title {
	position: relative;
}

.feature__num {
	position: absolute;
	top: max(-20.2666666667vw, -152px);
}

.feature__contents {
	position: relative;
}

.feature__btn {
	bottom: min(22.6666666667vw, 170px);
	display: block;
	position: absolute;
	width: min(78.9333333333%, 592px);
}

.feature__bottom {
	background-image: url(../img/feature_bottom.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
}

.feature01 .feature__btn {
	left: min(6.6666666667%, 50px);
}

.feature04 .feature__btn {
	right: min(6.6666666667%, 50px);
}

/* ----------------------------------------
symptom
---------------------------------------- */

.symptom__content {
	background-image: url(../img/symptom_bottom.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: min(16.6666666667%, 125px);
}

.symptom__text {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	background-color: #fff;
	color: #236eb4;
	font-size: min(6.4vw, 4.8rem);
	font-weight: 900;
	letter-spacing: calc(100 / 1000 * 1em);
	line-height: 1;
	margin: 0 auto;
	padding: min(1.3333333333vw, 10px) min(2.6666666667vw, 20px) min(1.8666666667vw, 14px);
	text-align: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.symptom .note {
	color: #fff;
	padding: 0 min(5.3333333333%, 40px);
}

/* ----------------------------------------
exactly
---------------------------------------- */

.exactly {
	background-color: #f7f7f7;
}

.exactly__list {
	padding: 0 min(4%, 30px);
}

.exactly__item {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	background-color: #fff;
	background-image: url(../img/icon_check.webp);
	background-position: min(4.347826087%, 30px) center;
	background-repeat: no-repeat;
	background-size: min(6.9565217391%, 48px);
	color: #0066a4;
	font-size: min(4.2666666667vw, 3.2rem);
	font-weight: 500;
	letter-spacing: calc(25 / 1000 * 1em);
	padding: min(5.7971014493%, 40px) 0 min(5.7971014493%, 40px) min(13.0434782609%, 90px);
}

.exactly__item:not(:first-child) {
	margin-top: min(1.4492753623%, 10px);
}

/* ----------------------------------------
cause
---------------------------------------- */

.cause__container {
	position: relative;
}

.cause__text {
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	color: #fff;
	font-size: min(4.5333333333vw, 3.4rem);
	font-weight: 500;
	letter-spacing: calc(50 / 1000 * 1em);
	padding-top: min(4%, 30px);
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}

.cause__text--em {
	border-bottom: min(0.5333333333vw, 4px) solid #fff600;
	color: #fff600;
	padding-bottom: min(0.9333333333vw, 7px);
}

/* ----------------------------------------
more
---------------------------------------- */

.more__container {
	position: relative;
}

.more__content {
	padding: min(62%, 465px) min(9.3333333333%, 70px) 0;
	position: absolute;
	top: 0;
	width: 100%;
}

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

.case-slider {
	margin-top: max(-17.3333333333vw, -130px);
}

.case-slider .swiper-slide {
	cursor: pointer;
	height: auto;
	margin: 0 min(5.8%, 43.5px);
	width: min(88.4vw, 663px);
}

.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(2.6666666667vw, 20px);
	justify-content: center;
	margin-top: min(2.6666666667vw, 20px);
}

.case-slider .swiper-pagination-bullet {
	aspect-ratio: 1;
	background-color: #d4d4d4;
	border-radius: 50%;
	width: min(2.6666666667vw, 20px);
}

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

.case-slider .swiper-button-prev,
.case-slider .swiper-button-next {
	-webkit-transform: translateY(-50%);
	border: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(3.4666666667%, 26px);
	z-index: 100;
}

.case-slider .swiper-button-prev img,
.case-slider .swiper-button-next img {
	width: 100%;
}

.case-slider .swiper-button-prev {
	left: min(1.8666666667%, 14px);
}

.case-slider .swiper-button-next {
	right: min(1.8666666667%, 14px);
}

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

/* ----------------------------------------
benefit
---------------------------------------- */

.benefit {
	background-color: #ddebf4;
}

.benefit__link {
	border-bottom: 1px solid #e44574;
	color: #e44574;
	display: block;
	font-size: min(3.2vw, 2.4rem);
	font-weight: bold;
	margin: 0 auto;
	padding-bottom: min(0.8vw, 6px);
	text-decoration: none;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

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

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

.flow__heading {
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	align-items: center;
	color: #999;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Jost", sans-serif;
	font-size: min(4.8vw, 3.6rem);
	font-weight: 500;
	gap: min(5%, 30px);
	justify-content: center;
}

.flow__heading--num {
	font-size: min(7.2vw, 5.4rem);
}

.flow__item {
	border: 2px solid #858585;
	color: #666;
	font-size: min(3.2vw, 2.4rem);
	font-weight: 700;
	padding: min(5%, 30px) 0;
	text-align: center;
}

.flow .card {
	-webkit-box-shadow: 0 0 min(0.5333333333vw, 4px) min(0.5333333333vw, 4px) rgba(0, 0, 0, 0.07);
	background-color: #fff;
	box-shadow: 0 0 min(0.5333333333vw, 4px) min(0.5333333333vw, 4px) rgba(0, 0, 0, 0.07);
	padding: min(2.8169014085%, 20px) min(7.7464788732%, 55px) min(8.4507042254%, 60px);
}

.flow .card__img {
	aspect-ratio: 300/150;
}

.flow .text {
	color: #525760;
}

.flow .note {
	color: #999;
}

.flow-slider {
	overflow: unset;
	overflow-x: clip;
}

.flow-slider .swiper-slide {
	cursor: pointer;
	height: auto;
	margin: 0 min(3.8%, 28.5px);
	width: min(92.4vw, 693px);
}

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

.flow-slider .swiper-button-prev {
	left: min(1.3333333333%, 10px);
}

.flow-slider .swiper-button-next {
	right: min(1.3333333333%, 10px);
}

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

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

.others__bottom {
	background-image: url(../img/others_bg.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
}

.method {
	padding: 0 min(3.3333333333%, 25px);
}

.method__contents {
	-webkit-box-shadow: 0px 0px min(4.2666666667vw, 32px) min(0.1333333333vw, 1px) rgba(88, 174, 220, 0.2);
	background-color: #fff;
	border-radius: 30px;
	box-shadow: 0px 0px min(4.2666666667vw, 32px) min(0.1333333333vw, 1px) rgba(88, 174, 220, 0.2);
	padding: min(7.1428571429%, 50px) min(5%, 35px) min(10%, 70px);
}

.method__heading {
	color: #787a7c;
	font-size: min(4.8vw, 3.6rem);
	letter-spacing: calc(200 / 1000 * 1em);
	line-height: calc(44 / 36);
	text-align: center;
}

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

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

.faq {
	font-family: "YuGo", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}

.faq__heading {
	color: #4d4d4d;
	font-size: min(6.6666666667vw, 5rem);
	text-align: center;
}

.faq__heading img {
	margin: 0 auto;
}

.faq__title {
	background-color: #999;
	background-image: url(../img/q.webp), url(../img/arrow.webp);
	background-position: min(3.7333333333%, 28px) center, min(96.2666666667%, 722px) center;
	background-repeat: no-repeat;
	background-size: min(4.6666666667%, 35px), min(3.2%, 24px);
	color: #fff;
	font-size: min(3.3333333333vw, 2.5rem);
	font-weight: 700;
	letter-spacing: calc(100 / 1000 * 1em);
	line-height: 1.75;
	margin-bottom: min(2.6666666667%, 20px);
	padding: min(2.1333333333%, 16px) min(9.3333333333%, 70px);
	position: relative;
}

.faq__text {
	color: #4d4d4d;
	font-size: min(2.8vw, 2.1rem);
	font-weight: 500;
	letter-spacing: calc(60 / 1000 * 1em);
	line-height: 1.75;
}

.faq .note {
	color: #ff0000;
	font-weight: 500;
}

.accordion__contents {
	background-color: #fff;
	display: none;
	padding: min(2.6666666667%, 20px) min(9.3333333333%, 70px) min(8%, 60px);
}

.accordion__contents.is_open {
	display: block;
}

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

.area {
	background-color: #f5f6f7;
}

/*# sourceMappingURL=styles.css.map */
