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

.wrapper {
	-webkit-box-shadow: 0px 5px 8px rgba(134, 134, 134, 0.24);
	box-shadow: 0px 5px 8px rgba(134, 134, 134, 0.24);
	overflow: hidden;
}

/* ----------------------------------------
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
---------------------------------------- */

.text {
	font-size: min(3.7333333333vw, 2.8rem);
	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%, #d8ecf6));
	background: linear-gradient(transparent 60%, #d8ecf6 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);
}

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

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

.case-slider .swiper-slide {
	cursor: pointer;
	height: auto;
	margin: 0 min(1.8%, 13.5px);
	width: min(80vw, 600px);
}

.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.8666666667vw, 29px);
	justify-content: center;
	margin-top: min(3.4666666667vw, 26px);
}

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

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

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

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

.price .text {
	color: #525760;
}

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

.payment__note {
	background-color: #e8f1f9;
}

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

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

.feature__question {
	background-image: url(../img/flag.webp), url(../img/feature_plus.webp);
	background-position: min(4.7142857143%, 33px) center, min(96.7142857143%, 677px) center;
	background-repeat: no-repeat;
	background-size: min(18.1428571429%, 127px), min(7.2857142857%, 51px);
	border-bottom: none;
	color: #151e22;
	font-family: "Shippori Mincho B1", sans-serif;
	font-size: min(4.9333333333vw, 3.7rem);
	font-weight: normal;
	letter-spacing: calc(50 / 1000 * 1em);
	line-height: calc(52 / 37);
	padding: min(4.2857142857%, 30px) min(10.7142857143%, 75px) min(4.2857142857%, 30px) min(24.1428571429%, 169px);
	position: relative;
}

.feature__question:has(+ .is-open) {
	background-image: url(../img/flag.webp), url(../img/feature_minus.webp);
}

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

.feature .accordion__item {
	background-color: #fbfbfb;
	border-radius: min(2.8571428571vw, 20px);
	margin-bottom: min(2.8571428571vw, 20px);
	overflow: hidden;
}

.feature .accordion__contents {
	background-color: #fbfbfb;
	padding: min(6%, 42px) 0 min(5.7142857143%, 40px);
}

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

.flow {
	background-position: top;
	background-repeat: repeat;
	background-size: 100%;
}

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

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

.flow__item {
	border: 1px solid #666;
	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;
	background-size: cover;
	border: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(10.6666666667%, 80px);
	z-index: 100;
}

.flow-slider .swiper-button-prev {
	background-image: url(../img/arrow_left.webp);
	left: min(1.3333333333%, 10px);
}

.flow-slider .swiper-button-next {
	background-image: url(../img/arrow_right.webp);
	right: min(1.3333333333%, 10px);
}

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

/* ----------------------------------------
reason
---------------------------------------- */

.reason {
	background-image: url(../img/reason_bg.webp);
	background-position: top;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: min(13.3333333333vw, 100px);
}

.reason .cta {
	margin-top: max(-6.6666666667vw, -50px);
}

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

.faq {
	background-color: #ededed;
	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.webp);
}

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

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