/*
Theme Name: knsp
Theme URI:
Author: 
Author URI:
Description: none
Version: 1
License: 
*/

* {
	box-sizing: border-box;
}

html {
	font-size: 10px;
}

body {
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	/*font-feature-settings: "palt";*/
	color: #000;
}

main {
	overflow-x: hidden;
}

input,
select,
textarea {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	/*font-feature-settings: "palt";*/
}

a {
	color: #424743;
	transition: all 0.3s ease-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-weight: normal;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.inner {
	width: 110.5rem;
	margin: 0 auto;
}

.u-mobile {
	display: none;
}

.u-desktop {
	display: block;
}

@media screen and (max-width: 1440px) {
	html {
		font-size: calc((10 / 1440) * 100vw);
	}
}

@media screen and (max-width: 810px) {
	html {
		font-size: calc((10 / 393) * 100vw);
		min-height: 100%;
	}

	.inner {
		width: calc(100% - 3.2rem);
	}

	.u-mobile {
		display: block;
	}

	.u-desktop {
		display: none;
	}
}


.sec {}

.sec__top {
	margin-bottom: 6.4rem;
}

.sec__ttl {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.sec__ttl .en {
	font-family: "Manrope", sans-serif;
	font-size: 8.3rem;
	font-weight: 200;
	padding-left: 5.6rem;
	position: relative;
}

.sec__ttl .en span {
	width: 2.9rem;
	height: 2.5rem;
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}

.sec__ttl .en span::before,
.sec__ttl .en span::after {
	content: "";
	width: 1.7rem;
	height: 2rem;
	position: absolute;
}

.sec__ttl .en span::before {
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background-color: #1634BB;
	top: 0;
	left: 0;
}

.sec__ttl .en span::after {
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	background-color: #8CB10B;
	right: 0;
	bottom: 0;
}

.sec__ttl .jp {
	font-size: 1.2rem;
	font-weight: 700;
	color: #9CA3AF;
	padding-left: 5.6rem;
}

.sec__desc {
	font-size: 1.6rem;
	line-height: 2;
}

.sec__num {
	font-family: "Roboto", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	color: #1634BB;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.sec__num::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #1634BB;
}

.sec__btn {
	width: 26.2rem;
	height: 5.8rem;
	border-radius: 5.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding-right: 2rem;
	background: #1634BB;
	background: linear-gradient(165deg, rgba(22, 52, 187, 1) 0%, rgba(146, 142, 197, 1) 100%);
	transition: all 0.3s ease-in-out;
}

.sec__btn p {
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
}

.sec__btn .arrow {
	width: 4.2rem;
	height: 4.2rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 1rem;
	translate: 0 -50%;
	background-color: rgba(255, 255, 255, 0.8);
}

.sec__btn .arrow::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 1.7rem;
	height: 0.2rem;
	border-radius: 1.5rem;
	background: #1634BB;
}

.sec__btn .arrow::after {
	content: "";
	display: block;
	position: absolute;
	width: 1.2rem;
	height: 1.2rem;
	border: 0.2rem solid;
	border-color: transparent transparent #1634BB #1634BB;
	top: 50%;
	right: 1.3rem;
	translate: 0 -50%;
	rotate: 225deg;
	border-radius: 0.2rem;
}

.sec__btn.orange {
	background: #FFDDCF;
}

.sec__btn.orange p {
	color: #1634BB;
}

.swiper-button-prev,
.swiper-button-next {
	width: 10.4rem;
	height: 10.4rem;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
	margin: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	font-size: 3rem;
	color: #1634BB;
}


.modal {
	display: none;
	/* 初期は非表示 */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(28, 35, 68, 0.7);
	justify-content: center;
	align-items: center;
	z-index: 999;
}

.modal.is-active {
	display: flex;
	/* 表示状態 */
}

.modal__inner {
	height: 100%;
	padding-right: 4.2rem;
	overflow-y: auto;
}

.modal__inner::-webkit-scrollbar {
	width: 0.5rem;
}

.modal__inner::-webkit-scrollbar-track {
	background-color: #fff;
}

.modal__inner::-webkit-scrollbar-thumb {
	background: #1634BB;
	background: linear-gradient(165deg, rgba(22, 52, 187, 1) 0%, rgba(146, 142, 197, 1) 100%);
	border-radius: 0.8rem;
}

.modal__content {
	background: #fff;
	width: 85.4rem;
	max-height: 70vh;
	height: inherit;
	padding: 4.5rem 1.0rem 4.2rem 5.2rem;
	border-radius: 1rem;
	position: fixed;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.modal__ttl {
	font-size: 1.58rem;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 1rem;
}

.modal__desc {
	font-size: 1.4rem;
	line-height: 1.8;
}

.modal__close {
	position: absolute;
	width: 3.6rem;
	height: 3.6rem;
	top: -4.5rem;
	right: 0;
	rotate: 45deg;
}

.modal__close::before,
.modal__close::after {
	content: "";
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.modal__close::before {
	width: 100%;
	height: 0.2rem;
}

.modal__close::after {
	width: 0.2rem;
	height: 100%;
}

@media screen and (min-width: 811px) {
	.sec__btn:hover {
		opacity: 0.8;
	}
}

@media screen and (max-width: 810px) {
	.sec__top {
		margin-bottom: 3.2rem;
	}

	.sec__ttl {
		gap: 1.6rem;
	}

	.sec__ttl .en {
		font-size: 5.7rem;
		padding-left: 4rem;
	}

	.sec__ttl .en span {
		width: 2.7rem;
		height: 1.9rem;
	}

	.sec__ttl .en span::before,
	.sec__ttl .en span::after {
		width: 1.2rem;
		height: 1.3rem;
	}

	.sec__ttl .en span::before {
		top: 0.1rem;
		left: 0.4rem;
	}

	.sec__ttl .en span::after {
		right: 0.3rem;
		bottom: 0.1rem;
	}

	.sec__ttl .jp {
		font-size: 1rem;
		padding-left: 4rem;
	}

	.sec__desc {
		font-size: 1.4rem;
	}

	.sec__num {
		font-size: 1.4rem;
		gap: 0.6rem;
		margin-bottom: 1.6rem;
	}

	.sec__num::before {
		width: 0.5rem;
		height: 0.5rem;
	}

	.sec__btn {
		width: 26rem;
	}

	.sec__btn p {
		font-size: 1.4rem;
		font-weight: 700;
	}

	.sec__btn .arrow {
		width: 4rem;
		height: 4rem;
	}

	.swiper-button-prev,
	.swiper-button-next {
		width: 5.4rem;
		height: 5.4rem;
	}

	.swiper-button-prev::after,
	.swiper-button-next::after {
		font-size: 2rem;
		font-weight: 700;
	}

	.modal__content {
		width: calc(100% - 3.2rem);
		max-height: 80vh;
		padding: 4rem 1rem 4rem 3.2rem;
	}

	.modal__inner {
		padding-right: 2.2rem;
	}


}



/* トップページ */
.mv {
	padding: 2.4rem 0 3.0rem;
	background-color: #F3F5FB;
}

.mv__inner {
	width: 128.6rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.mv__left {
	width: 81.5rem;
}

.mv__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.8rem;
}

.mv__catch {
	display: flex;
	flex-direction: column;
	gap: 2.6rem;
}

.mv__catch p {
	font-size: 7rem;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
	color: #0152B6;
}

.mv__catch span {
	background: #000000;
	background: linear-gradient(94deg, rgba(0, 0, 0, 1) 0%, rgba(22, 52, 187, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.mv__leaf-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.7rem;
}

.mv__leaf {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	position: relative;
}

.mv__leaf::before,
.mv__leaf::after {
	content: "";
	width: 7rem;
	height: 9.3rem;
	background-image: url(img/leaf__b.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: -0.9rem;
}

.mv__leaf::before {
	left: -5rem;
}

.mv__leaf::after {
	right: -5rem;
	scale: -1 1;
}

.mv__leaf p {
	font-size: 3.2rem;
	line-height: 1.13;
	text-align: center;
	color: #1634BB;
}

.mv__leaf span {
	font-size: 1.9rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	padding: 0.8rem 1.8rem;
	background-color: #1634BB;
	position: relative;
	clip-path: polygon(100% 0, 96% 50%, 100% 100%, 0% 100%, 4% 50%, 0% 0%);
}

.mv__feature {
	display: flex;
	justify-content: center;
	gap: 0.9rem;
}

.mv__feature>li {
	width: 13.6rem;
	height: 13.6rem;
	border-radius: 50%;
	background-color: #1634BB;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}

.mv__feature>li::before {
	content: "";
	width: 11.4rem;
	height: 11.4rem;
	border-radius: 50%;
	border: 0.1rem solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.mv__feature>li p {
	font-size: 1.9rem;
	line-height: 1.13;
	letter-spacing: 0.06em;
	font-weight: 500;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: flex-end;
}

.mv__feature>li span {
	font-size: 1.1rem;
	line-height: 1.13;
	letter-spacing: 0.06em;
	font-weight: 500;
	text-align: center;
	color: #fff;
}

.mv__feature>li.lang p {
	font-size: 2.8rem;
}

.mv__feature>li.monthly img {
	width: 6.4rem;
	margin-right: 0.4rem;
}

.mv__feature>li.monthly p:nth-of-type(2) {
	margin-left: 0.6rem;
	margin-top: 0.6rem;
	margin-bottom: 0.8rem;
}

.mv__image {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.mv__image::before {
	content: "×";
	font-size: 6.4rem;
	font-weight: 300;
	background: #0152B6;
	background: linear-gradient(68deg, rgba(1, 82, 182, 1) 0%, rgba(57, 175, 185, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.mv__image>li {
	width: 37.2rem;
	padding: 1.5rem 1.1rem;
	position: relative;
}

.mv__image>li span {
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	width: 20.4rem;
	height: 5.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0.5rem;
	left: 0.8rem;
	border-bottom-right-radius: 2rem;
}

.mv__image>li span::before {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 1.6rem;
	translate: 0 -50%;
}

.mv__img {
	border-radius: 2rem;
	overflow: hidden;
}

.mv__image>li.system,
.mv__image>li.system span {
	background-color: #1634BB;
}

.mv__image>li.substitute,
.mv__image>li.substitute span {
	background-color: #12A7B4;
}

.mv__contact {
	width: 43.1rem;
}

.mv__contact__ttl {
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	height: 4.8rem;
	background-color: #1634BB;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top-left-radius: 0.5rem;
	border-top-right-radius: 0.5rem;
}

.mv__contact__box {
	height: 60rem;
	background-color: #fff;
	padding: 1rem;
}

.mv__form {
	height: 100%;
	padding: 1rem 0.8rem 2rem;
	overflow-y: scroll;
}

.mv__form::-webkit-scrollbar {
	width: 0.5rem;
}

.mv__form::-webkit-scrollbar-track {
	background-color: #fff;
}

.mv__form::-webkit-scrollbar-thumb {
	background: #1634BB;
	background: linear-gradient(165deg, rgba(22, 52, 187, 1) 0%, rgba(146, 142, 197, 1) 100%);
	border-radius: 0.8rem;
}

.mv__form .contact__item {
	margin-top: 1.2rem;
}

.mv__form .contact__item>p {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mv__form .contact__radio {
	gap: 1.4rem 1.2rem;
}

.mv__form .contact__radio label {
	font-size: 1.4rem;
}

.mv__form .contact__btn {
	font-weight: 600;
}

.mv__form .contact__label {
	font-size: 1.3rem;
	width: 12rem;
	flex-shrink: 0;
	padding-right: 1.5rem;
	display: flex;
	justify-content: flex-end;
}

.mv__form .contact__input,
.mv__form .contact__textarea {
	padding: 1rem 1.4rem;
	border-radius: 0.3rem;
	margin-top: 0;
}

.mv__form .contact__item--type {
	margin: 0 0 2.1rem;
}

.mv__btn {
	display: none;
}


.case {
	padding: 3rem 0 3rem;
}

.case__leaf {
	width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	margin: 0 auto 3rem;
	position: relative;
}

.case__leaf::before,
.case__leaf::after {
	content: "";
	width: 7.2rem;
	height: 9.4rem;
	background-image: url(img/leaf__g.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: -0.9rem;
}

.case__leaf::before {
	left: -6.3rem;
}

.case__leaf::after {
	right: -6.3rem;
	scale: -1 1;
}

.case__leaf p {
	font-size: 3rem;
	font-weight: 500;
	color: #1634BB;
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.case__leaf span {
	font-size: 2.7rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.case__leaf img {
	width: 13.7rem;
	margin-bottom: 0.5rem;
}

.case__leaf .note {
	font-size: 1.4rem;
	font-weight: 700;
	color: #1634BB;
}

.case__slider {
	overflow: hidden;
	width: 100%;
	display: flex;
	align-items: center;
}

.case__scroll {
	animation: scroll 15s linear infinite;
	flex-shrink: 0;
}

.case__list {
	display: flex;
	align-items: center;
}

.case__list li {
	flex-shrink: 0;
	margin: 0 1rem;
}

.case__list li.case__01 img {
	width: 7.6rem;
}

.case__list li.case__02 img {
	width: 7.5rem;
}

.case__list li.case__03 img {
	width: 31.2rem;
}

.case__list li.case__04 img {
	width: 7.1rem;
}

.case__list li.case__01 img {
	width: 7.6rem;
}

.case__list li.case__05 img {
	width: 8.3rem;
}

.case__list li.case__06 img {
	width: 31.5rem;
}

.case__list li.case__07 img {
	width: 7.5rem;
}

.case__list li.case__08 img {
	width: 7.6rem;
}

.case__list li.case__09 img {
	width: 16.3rem;
}

.case__list li.case__10 img {
	width: 10.7rem;
}

.case__list li.case__11 img {
	width: 7.6rem;
}

.case__list li.case__12 img {
	width: 12.0rem;
}

.case__list li.case__13 img {
	width: 16.6rem;
}

.case__list li.case__14 img {
	width: 22.0rem;
}

.case__list li img {
	max-height: 100%;
}

@keyframes scroll {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-100%);
	}
}

.lead {
	padding-top: 10rem;
	margin-bottom: 6.2rem;
}

.lead__inner {
	display: flex;
	align-items: flex-start;
	gap: 13.4rem;
}

.lead__catch {
	font-size: 3.6rem;
	line-height: 1.73;
	font-weight: 300;
	margin-left: 5.6rem;
}

.lead__desc {
	display: flex;
	flex-direction: column;
	gap: 3.4rem;
}

.lead__desc p {
	line-height: 2.8;
}


.point__list {
	display: flex;
	flex-direction: column;
	gap: 6.4rem;
}

.point__list>li {
	padding: 7.2rem 5.6rem;
	background: #1634BB;
	background: linear-gradient(81deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
	border-radius: 1.5rem;
	overflow: hidden;
	position: relative;
}

.point__txt {
	max-width: 46rem;
}

.point__num {
	font-weight: 400;
	color: #fff;
}

.point__num::before {
	background-color: #fff;
}

.point__catch {
	font-size: 3.0rem;
	line-height: 1.6;
	font-weight: 300;
	color: #fff;
	margin-bottom: 3rem;
}

.point__desc {
	color: #fff;
}

.point__img {
	width: 51.2rem;
	position: absolute;
	top: 6.2rem;
	right: 0;
}


.service {
	padding-top: 13.6rem;
}

.service__list>li {
	padding-top: 9.4rem;
	padding-bottom: 6.4rem;
	position: relative;
}

.service__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6rem;
}

.service__txt {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	position: relative;
}

.service__num {
	color: #1634BB;
	position: absolute;
	left: 0;
	top: -2.8rem;
}

.service__catch {
	font-size: 3.6rem;
	line-height: 1.3;
	font-weight: 300;
}

.service__desc {
	max-width: 55rem;
}

.service__btn {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.service__osusume {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.service__osusume dt {
	font-size: 1.9rem;
	line-height: 1.3;
	font-weight: 500;
	flex-shrink: 0;
}

.service__osusume ul {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.service__osusume ul>li {
	font-size: 1.5rem;
	line-height: 1.55;
	display: flex;
	gap: 1rem;
}

.service__osusume ul>li::before {
	content: "";
	width: 2.1rem;
	height: 2.1rem;
	background-image: url(img/icon__checkbox.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: inline-block;
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.service01::before,
.service02::before,
.service03::before,
.service04::before,
.service05::before,
.service06::before {
	content: "";
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.service01::before,
.service02::before,
.service03::before {
	background-color: #F3F5FB;
}

.service04::before,
.service05::before,
.service06::before {
	background: #1634BB;
	background: linear-gradient(81deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
}

.service01::before {
	height: 62rem;
}

.service02::before {
	height: 44rem;
}

.service03::before {
	height: 100%;
	left: calc((100% - 128.6rem) / 2);
	border-top-left-radius: 8rem;
	border-bottom-left-radius: 8rem;
}

.service04::before {
	height: 60rem;
}

.service05::before {
	height: 47.7rem;
	left: calc((100% - 128.6rem) / 2);
	border-top-left-radius: 8rem;
	border-bottom-left-radius: 8rem;
}

.service06::before {
	height: 46.2rem;
}

.service01 {}

.service01__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	margin-bottom: 2.4rem;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.service01__nav>li {
	font-size: 1.4rem;
	font-weight: 500;
	color: #1634BB;
	padding: 1.5rem 1.5rem;
	background-color: #fff;
	border: 0.1rem solid #D2D5E1;
	border-radius: 4rem;
	cursor: pointer;
}

.service01__nav>li.is-active {
	color: #fff;
	background-color: #1634BB;
	border-color: #1634BB;
}

.service01__slider {
	overflow: visible;
	width: 100.7rem;
	margin: 0 auto;
}

.service01__list {
	overflow: hidden;
	border-radius: 4.2rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service01__list>li {}

.service01__prev,
.service01__next {
	top: 50%;
	translate: 0 -50%;
}

.service01__prev {
	left: -13.6rem;
}

.service01__next {
	right: -13.6rem;
}


.service02 {}

.service__list>li.service02 {
	padding-bottom: 8.6rem;
}

.service02__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3.2rem 2rem;
}

.service02__list>li {
	width: 26rem;
	padding: 3rem 0 3rem;
	background-color: #fff;
	border-radius: 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service02__list>li.spacer {
	width: 0;
	visibility: hidden;
}

.service02__ttl {
	font-size: 1.6rem;
	line-height: 1.175;
	font-weight: 500;
	text-align: center;
	color: #1634BB;
	height: calc(2em * 1.175);
	margin-bottom: 0.8rem;
}

.service02__ttl span {
	font-size: 1.2rem;
}

.service02__img {
	width: 11rem;
	height: 9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.service02__img img {
	max-width: 90%;
	max-height: 100%;
}

.service02__ba {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.service02__ba .arrow {
	width: 1.1rem;
	height: 1.9rem;
	background-image: url(img/icon__arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	translate: 0 0.6rem;
}

.service02__before {
	color: #1634BB;
	margin-right: 0.4rem;
}

.service02__before .yaku {
	font-size: 1.5rem;
	font-weight: 700;
}

.service02__before .num {
	font-family: "Roboto", sans-serif;
	font-size: 4.2rem;
	letter-spacing: -0.07em;
	font-weight: 500;
	margin-left: 0.4rem;
	display: inline-block;
	translate: 0 0.4rem;
}

.service02__before .num span {
	font-size: 3rem;
}

.service02__before .hour {
	font-size: 1.8rem;
	font-weight: 700;
	margin-left: 0.4rem;
}

.service02__after {
	color: #F5006B;
}

.service02__after .num {
	font-family: "Roboto", sans-serif;
	font-size: 6rem;
	letter-spacing: -0.07em;
}

.service02__after .hour {
	font-size: 2.8rem;
	font-weight: 700;
	margin-left: 0.4rem;
	display: inline-block;
	translate: 0 -0.4rem;
}

.service03 {
	margin-bottom: 6.4rem;
}

.service03__inner {
	display: flex;
	justify-content: space-between;
}

.service03__head {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4.3rem;
}

.service03__content {
	width: 56rem;
	display: flex;
	align-items: flex-start;
	gap: 5.4rem;
	margin-top: -3rem;
}

.service03__nav {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.service03__nav>li {
	font-size: 1.4rem;
	font-weight: 500;
	color: #1634BB;
	width: 18.3rem;
	padding: 1.5rem 0.5rem;
	background-color: #fff;
	border: 0.1rem solid #D2D5E1;
	border-radius: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.service03__nav>li.is-active {
	color: #fff;
	background-color: #1634BB;
	border-color: #1634BB;
}

.service03__slider {
	overflow: visible;
	width: 32.4rem;
	margin: -11.6rem auto 0;
}

.service03__list {
	border-radius: 4.2rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service03__list>li {
	position: relative;
}

.service03__label {
	font-size: 2.4rem;
	line-height: 1.13;
	font-weight: 700;
	text-align: center;
	color: #fff;
	width: 12.6rem;
	height: 12.6rem;
	border-radius: 50%;
	background-color: #1634BB;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -1rem;
	right: -3.1rem;
	z-index: 5;
}

.service03__label::before {
	content: "";
	width: 10.4rem;
	height: 10.4rem;
	border-radius: 50%;
	border: 0.1rem solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.service03__prev,
.service03__next {
	top: calc(100% + 1.6rem);
}

.service03__prev {
	left: 0.8rem;
}

.service03__next {
	right: 0.8rem;
}


.service04 {}

.service04__inner {}

.service04__head {
	margin-bottom: 4.2rem;
}

.service04__content {
	padding: 4.8rem 5.6rem;
	background-color: #fff;
	border-radius: 4rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service04__num,
.service04__catch,
.service04__desc {
	color: #fff;
}

.service04__num::before {
	background-color: #fff;
}

.service04__list {
	display: flex;
	gap: 1.8rem;
	margin-bottom: 2.8rem;
}

.service04__list>li {
	padding: 2.4rem 2.8rem;
	background-color: #F3F5FB;
	border-radius: 1.6rem;
	flex: 1 1 0;
	position: relative;
}

.service04__list>li:not(:last-of-type)::before {
	content: "";
	width: 5.2rem;
	height: 3.2rem;
	background-image: url(img/icon__yajirushi.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 50%;
	right: -3rem;
	translate: 0 -50%;
	z-index: 4;
}

.service04__info {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.6rem;
}

.service04__img {
	height: 7.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.service04__list>li:nth-of-type(1) .service04__img {
	width: 7.2rem;
}

.service04__list>li:nth-of-type(2) .service04__img {
	width: 8.5rem;
}

.service04__list>li:nth-of-type(3) .service04__img {
	width: 5.6rem;
}

.service04__list>li:nth-of-type(4) .service04__img {
	width: 5.4rem;
}

.service04__img img {
	max-height: 100%;
}

.service04__ttl {
	font-size: 1.8rem;
	line-height: 1.27;
	font-weight: 500;
	white-space: nowrap;
	color: #1634BB;
}

.service04__detail {}

.service04__detail>li {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: 400;
	color: #1634BB;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.service04__detail>li::before {
	content: "";
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(img/icon__checkbox.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: inline-block;
}

.service04__osusume {
	display: flex;
	flex-direction: row;
	gap: 4.4rem;
}


.service05 {}

.service__list>li.service05 {
	padding-top: 6.4rem;
}

.service05__inner {
	display: flex;
	align-items: flex-start;
	gap: 5.6rem;
}

.service05__head {
	margin-top: 3rem;
	margin-bottom: 0;
}

.service05__num,
.service05__catch,
.service05__desc {
	color: #fff;
}

.service05__num::before {
	background-color: #fff;
}

.service05__content {
	width: 59rem;
	flex-shrink: 0;
}

.service05__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	margin-bottom: 2.4rem;
}

.service05__list>li {
	width: calc((100% - 1.6rem) / 2);
	padding: 2.4rem 0;
	background-color: #fff;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.6rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service05__img {
	height: 7.4rem;
	display: flex;
	justify-content: center;
}

.service05__img img {
	width: auto;
	height: 100%;
}

.service05__ttl {
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	color: #1634BB;
}

.service05__osusume {
	padding: 2rem 4rem 2.5rem;
	background-color: #fff;
	border-radius: 2rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service06 {}

.service__list>li.service06 {
	padding-bottom: 0;
}

.service06__head {
	margin-bottom: 4.2rem;
}

.service06__num,
.service06__catch,
.service06__desc {
	color: #fff;
}

.service06__num::before {
	background-color: #fff;
}

.service06__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}

.service06__list>li {
	width: calc((100% - 3.2rem) / 3);
	padding: 4.6rem 3rem 4rem;
	background-color: #fff;
	border-radius: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
}

.service06__ttl {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	color: #1634BB;
	margin-bottom: 3.2rem;
}

.service06__img {
	width: 18.6rem;
	height: 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2.4rem;
}

.service06__img img {
	max-width: 100%;
	max-height: 100%;
}

.service06__detail {
	font-size: 1.4rem;
	line-height: 1.81;
}



.reason {
	padding-top: 13.6rem;
}

.reason__list {
	border-top: 0.1rem solid #9CA3AF;
}

.reason__list>li {
	display: flex;
	justify-content: space-between;
	padding: 5.5rem 0;
	border-bottom: 0.1rem solid #9CA3AF;
}

.reason__left {
	display: flex;
}

.reason__num {
	font-family: "Manrope", sans-serif;
	font-size: 4rem;
	font-weight: 200;
	width: 21.6rem;
	margin-top: 1rem;
}

.reason__catch {
	font-size: 2.2rem;
	line-height: 1.58;
	font-weight: 300;
	margin-bottom: 3rem;
}

.reason__desc {
	font-size: 1.4rem;
	width: 46rem;
}

.reason__img {
	width: 33.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.reason__img img {
	height: auto;
}

.reason__01 .reason__img img {
	width: 31.4rem;
	margin-left: auto;
}

.reason__02 .reason__img img {
	width: 33.9rem;
}

.reason__03 .reason__img img {
	width: 9.2rem;
}


.voice {
	padding-top: 13.6rem;
}

.voice__scroll {
	position: relative;
}

.voice__list {
	display: flex;
	gap: 2rem;
	margin-top: -6rem;
	padding-top: 6rem;
	padding-left: calc((100% - 110.5rem) / 2);
	padding-right: calc((100% - 110.5rem) / 2);
	padding-bottom: 12.2rem;
	overflow-x: scroll;
	scroll-behavior: smooth;
	width: 100%;
	/* 表示エリア */
	scrollbar-width: none;
	/* Firefox */
}

.voice__list::-webkit-scrollbar {
	display: none;
	/* Chrome */
}

.voice__list>li {
	width: 38.5rem;
	flex-shrink: 0;
}

.voice__list>li a {
	height: 100%;
	padding: 4.8rem 2.8rem;
	background-color: #fff;
	border-radius: 3.8rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
	display: block;
	cursor: pointer;
	transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.voice__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3.2rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 0;
}

.voice__scrollbar {
	width: 84.4rem;
	height: 0.2rem;
	background: #D9D9D9;
	border-radius: 0.2rem;
	position: relative;
}

.voice__scrollbar .thumb {
	top: 0;
	left: 0;
	height: 100%;
	width: 50rem;
	/* 動的に調整してもOK */
	background: #1634BB;
	background: linear-gradient(90deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
	border-radius: 0.2rem;
	cursor: pointer;
	position: absolute;
}

.voice__btn {
	width: 10.4rem;
	height: 10.4rem;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
	border: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.voice__btn::after {
	font-size: 3rem;
	color: #1634BB;
	font-family: swiper-icons;
}

.voice__btn.left::after {
	content: 'prev';
}

.voice__btn.right::after {
	content: 'next';
}

.voice__img {
	border-radius: 0.6rem;
	margin-bottom: 1.6rem;
	overflow: hidden;
}

.voice__img img {
	transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.voice__ttl {
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
	color: #0064A5;
	padding: 1rem;
	background-color: #F3F5FB;
	border-radius: 0.6rem;
	margin-bottom: 1rem;
}

.voice__catch {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 500;
	margin-bottom: 2.4rem;
}

.voice__detail {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	padding: 0.6rem 1rem;
	border-left: 0.2rem solid #0064A5;
}

.voice__detail dt {
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 700;
}

.voice__detail dd {
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 700;
	color: #9CA3AF;
}

.modal .voice__content {
	border-radius: 3.8rem;
}

.modal .voice__info {
	display: flex;
	gap: 3.1rem;
	padding-bottom: 3.2rem;
	border-bottom: 0.1rem solid #9CA3AF;
	margin-bottom: 3.2rem;
}

.modal .voice__img {
	width: 33rem;
	margin: 0;
	flex-shrink: 0;
}

.modal .voice__catch {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.modal .voice__detail {
	flex-direction: row;
	align-items: center;
	gap: 1.4rem;
	padding: 0.4rem 1rem;
}

.modal .voice__ba {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
}

.modal .voice__ba>div {
	display: flex;
	gap: 2.6rem;
}

.modal .voice__ba dt {
	font-size: 1.4rem;
	font-weight: 700;
	width: 13.9rem;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.modal .voice__ba dd {
	font-size: 1.6rem;
	line-height: 2;
}

.modal .voice__ba .before dt {
	color: #0064A5;
	background-color: #F3F5FB;
}

.modal .voice__ba .after dt {
	color: #F5006B;
	background-color: #FFDDEC;
}

.cta {
	padding-top: 6.4rem;
	padding-bottom: 6rem;
	position: relative;
}

.cta::before {
	content: "";
	width: 100%;
	height: 54.3rem;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #F3F5FB;
	z-index: -1;
}

.cta__inner {
	padding: 6.4rem 8.8rem;
	background: #1634BB;
	background: linear-gradient(81deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
	border-radius: 5rem;
}

.cta__target {
	font-size: 2.4rem;
	letter-spacing: 0.03em;
	font-weight: 500;
	color: #1634BB;
	padding: 0.7rem 2rem;
	background-color: #FFDDCF;
	border-radius: 0.3rem;
	width: fit-content;
	margin: 0 auto 2rem;
}

.cta__ask {
	font-size: 3.6rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	margin-bottom: 3rem;
}

.cta__list {
	display: flex;
	gap: 1.7rem;
}

.cta__list>li {
	width: calc((100% - 3.4rem) / 3);
}

.cta__list>li a {
	height: 100%;
	padding: 4.6rem 3rem 4.8rem;
	background-color: #fff;
	border-radius: 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.cta__ttl {
	font-size: 2.4rem;
	text-align: center;
	color: #1634BB;
	margin-bottom: 3.2rem;
}

.cta__img {
	height: 9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 2rem;
}

.cta__list>li:nth-of-type(2) .cta__img {
	width: 8rem;
}

.cta__list>li:nth-of-type(3) .cta__img {
	width: 8.7rem;
}

.cta__img img {
	max-height: 100%;
}

.cta__desc {
	font-size: 1.6rem;
	line-height: 2.5rem;
	font-weight: 500;
	color: #1634BB;
	margin-bottom: 2rem;
}

.cta__list>li:nth-of-type(2) .cta__desc {
	text-align: center;
	margin-bottom: 0;
}

.cta__num {
	font-family: "Roboto", sans-serif;
	font-size: 3.3rem;
	font-weight: 600;
	text-align: center;
	color: #1634BB;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
}

.cta__btn {
	width: 100%;
}

.price {
	padding-top: 13.6rem;
	padding-bottom: 13.6rem;
}

.price__list {
	display: flex;
	flex-direction: column;
}

.price__list>li {
	display: flex;
}

.price__ttl {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	color: #fff;
	font-feature-settings: normal;
	white-space: nowrap;
	word-break: keep-all;
	writing-mode: vertical-rl;
	width: 3.3rem;
	padding: 1rem 0;
	background-color: #ccc;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.price__detail {
	position: relative;
}

.price__detail>div {
	min-height: 8.5rem;
	display: flex;
}

.price__detail dt {
	font-size: 1.6rem;
	line-height: 1.44;
	font-weight: 400;
	text-align: center;
	width: 20rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.price__data {
	width: 79rem;
	display: flex;
}

.price__data dd {
	width: calc(100% / 4);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.price__data dd p {
	font-size: 1.9rem;
	font-weight: 500;
	text-align: center;
}

.price__data dd span {
	font-size: 1.6rem;
}

.price__data dd .note {
	font-size: 1.5rem;
	font-weight: 400;
	display: block;
	margin-top: 0.8rem;
}

.price__list>li.head .price__detail>div {
	min-height: 7.4rem;
}

.price__list>li.head .price__data dd {
	font-size: 1.8rem;
	font-weight: 700;
}

/* 枠線 */
.price__detail::before {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}

.price__data dd::before {
	content: "";
	width: 0.2rem;
	height: 100%;
	background-color: #D2D5E1;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.price__detail>div:not(:last-of-type) dt::after,
.price__detail>div:not(:last-of-type) dd::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.price__detail>div:not(:last-of-type) dt::after {
	background-color: #fff;
}

.price__detail>div:not(:last-of-type) dd::after {
	background-color: #F4F4F4;
}

/* けんさぽ */
.price__data .ours {
	position: relative;
}

.price__data .ours .border {
	width: 100%;
	height: 100%;
	border-left: 0.4rem solid #1634BB;
	border-right: 0.4rem solid #1634BB;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
}

.price__data .ours .border.end {
	border-bottom: 0.4rem solid #1634BB;
}

.price__data .ours p {
	font-size: 2.4rem;
	font-weight: 900;
	color: #F5006B;
}

.price__data .ours p .num {
	font-size: 2.4rem;
}

.price__data .ours span {
	font-weight: 700;
}

.price__data .ours .note {
	font-weight: 400;
}

.price__list>li.head .price__data .ours {
	background-color: #1634BB;
}

.price__list>li.head .price__data .ours p,
.price__list>li.monthly .price__data .ours p {
	font-weight: 700;
}

.price__list>li.head .price__data .ours img {
	width: 13.2rem;
}

/* 色 */
.price__list>li.head .price__ttl {
	background-color: #fff;
}

.price__list>li.head .price__data {
	background-color: #F5F5F5;
}

.price__list>li.monthly .price__ttl {
	background-color: #fff;
}

.price__list>li.monthly .price__detail {
	background-color: #F3F3F3;
}

.price__list>li.monthly .price__data {
	background-color: #fff;
}

.price__list>li.system .price__ttl {
	background-color: #1634BB;
}

.price__list>li.system .price__detail {
	display: flex;
	background-color: #E8F2FC;
}

.price__list>li.system .price__data {
	background-color: #F5FAFF;
}

.price__list>li.substitute .price__ttl {
	background-color: #BAD757;
}

.price__list>li.substitute .price__detail {
	background-color: #F0F6DA;
}

.price__list>li.substitute .price__data {
	background-color: #FBFFEF;
}

.price__list>li.apli .price__ttl {
	background-color: #FFB597;
}

.price__list>li.apli .price__detail {
	display: flex;
	background-color: #FFEBE2;
}

.price__list>li.apli .price__data {
	background-color: #FFF4EF;
}

.price__list>li.option .price__ttl {
	background-color: #9CA3AF;
}

.price__list>li.option .price__detail {
	background-color: #F3F3F3;
}

.price__list>li.option .price__data {
	background-color: #FBFBFB;
}

.mission {
	padding-top: 7.6rem;
	padding-bottom: 7.6rem;
	position: relative;
}

.mission::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #1634BB;
	background: linear-gradient(81deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
	position: absolute;
	top: 0;
	left: calc((100% - 128.6rem) / 2);
	border-top-left-radius: 8rem;
	border-bottom-left-radius: 8rem;
	z-index: -1;
}

.mission__inner {
	display: flex;
	gap: 8rem;
}

.mission__txt {
	width: 51.4rem;
}

.mission__sub {
	font-size: 2rem;
	color: #fff;
	margin-bottom: 1.8rem;
}

.mission__catch {
	font-size: 3.2rem;
	line-height: 1.6;
	color: #fff;
	margin-bottom: 3.9rem;
}

.mission__desc {
	display: flex;
	flex-direction: column;
	gap: 3.6rem;
}

.mission__desc p {
	font-size: 1.4rem;
	line-height: 2;
	color: #fff;
}

.mission__img {
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}

.mission__img img {
	border-radius: 1rem;
}

.mission__img img:nth-of-type(1) {
	width: 45.7rem;
}

.mission__img img:nth-of-type(2) {
	width: 37.9rem;
}

.flow {
	padding-top: 13.6rem;
	padding-bottom: 15.2rem;
}

.flow__list {
	display: flex;
	gap: 6.5rem;
}

.flow__list>li {
	width: calc((100% - 13rem) / 3);
	padding: 6.9rem 3.8rem 4rem;
	background-color: #fff;
	border-radius: 1.5rem;
	box-shadow: 0 0.4rem 5.4rem 0 rgba(0, 0, 0, 0.07);
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.flow__list>li:not(:last-of-type)::before {
	content: "";
	width: 2.7rem;
	height: 4.3rem;
	background-image: url(img/icon__arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: 50%;
	right: -5rem;
	translate: 0 -50%;
	z-index: 4;
}

.flow__num {
	font-family: "Manrope", sans-serif;
	font-size: 4rem;
	font-weight: 200;
	color: #1634BB;
	position: absolute;
	top: 1.6rem;
	left: 2.5rem;
}

.flow__img {
	height: 10.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.8rem;
}

.flow__img img {
	max-height: 100%;
}

.flow__ttl {
	font-size: 2.2rem;
	line-height: 1.375;
	text-align: center;
	color: #1634BB;
	margin-bottom: 1.6rem;
}

.flow__desc {
	line-height: 1.75;
	width: 100%;
}

.faq {
	padding-top: 15.2rem;
	padding-bottom: 15.2rem;
	background-color: #F3F5FB;
}

.faq__inner {
	display: flex;
	justify-content: space-between;
}

.faq__list {
	width: 59rem;
	border-top: 0.1rem solid #9CA3AF;
}

.faq__list>li {
	padding: 3.2rem 0 2.8rem;
	border-bottom: 0.1rem solid #9CA3AF;
}

.faq__dl {
	display: flex;
	flex-direction: column;
	gap: 2.8rem;
}

.faq__dl dt {
	font-size: 1.8rem;
	line-height: 1.55;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 1.2rem;
}

.faq__dl dd {
	display: flex;
	align-items: center;
	gap: 1.2rem;
}

.faq__dl dd p {
	line-height: 1.75;
}

.faq__dl dt::before,
.faq__dl dd::before {
	font-family: "Roboto", sans-serif;
	font-size: 2rem;
	color: #fff;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.faq__dl dt::before {
	content: "Q";
	background-color: #1634BB;
}

.faq__dl dd::before {
	content: "A";
	background-color: #F5006B;
}

.contact {
	padding-top: 13.6rem;
	padding-bottom: 15.2rem;
}

.contact__top .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.contact__desc {
	width: 55rem;
}

.contact__inner {
	width: 76rem;
}

.contact__item {
	margin-top: 2.4rem;
}

.contact__label {
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: 500;
}

.contact__label .required {
	font-weight: 500;
	color: #93BBF1;
}

.contact__input,
.contact__textarea {
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	width: 100%;
	padding: 1rem 3rem;
	background-color: #F3F5FB;
	border: 0;
	border-radius: 1rem;
	margin-top: 1rem;
}

.contact__input::placeholder,
.contact__textarea::placeholder {
	color: #9CA3AF;
}

.contact__input.wpcf7-not-valid {
	background-color: #FFE8F2;
}

.contact__textarea {
	height: 17.1rem;
}

.contact__radio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2.5rem;
}

.contact__radio input {
	background-color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0.1rem solid #9CA3AF;
	border-radius: 50%;
	width: 2.6rem;
	height: 2.6rem;
	margin: 0;
	position: relative;
}

.contact__radio input::before {
	content: "";
	width: 1.8rem;
	height: 1.8rem;
	background-color: #F3F5FB;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.contact__radio input:checked::before {
	background: #1634BB;
	background: linear-gradient(165deg, rgba(22, 52, 187, 1) 0%, rgba(146, 142, 197, 1) 100%);
}

.contact__radio .wpcf7-list-item {
	margin: 0;
}

.contact__radio label {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.contact__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1.8rem 0 auto;
}

.contact__submit>p {
	position: relative;
}

.contact__submit .arrow {
	width: 4.2rem;
	height: 4.2rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 1rem;
	translate: 0 -50%;
	background-color: rgba(255, 255, 255, 0.8);
	pointer-events: none;
}

.contact__submit .arrow::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 1.7rem;
	height: 0.2rem;
	border-radius: 1.5rem;
	background: #1634BB;
}

.contact__submit .arrow::after {
	content: "";
	display: block;
	position: absolute;
	width: 1.2rem;
	height: 1.2rem;
	border: 0.2rem solid;
	border-color: transparent transparent #1634BB #1634BB;
	top: 50%;
	right: 1.3rem;
	translate: 0 -50%;
	rotate: 225deg;
	border-radius: 0.2rem;
}

.contact__submit .wpcf7-spinner {
	position: absolute;
	right: -6.4rem;
	top: 50%;
	translate: 0 -50%;
}

.contact__btn {
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
	background-color: #1F1F1F;
	cursor: pointer;
	border: 0;
	transition: all 0.3s ease-in-out;
}

.contact__item--type {
	margin-top: 0;
	margin-bottom: 4rem;
}

.contact__item--policy {
	margin-top: 3.6rem;
}

.contact__item--policy .wpcf7-form-control-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contact__item--policy .wpcf7-list-item-label {
	font-size: 1.4rem;
	font-weight: 500;
	position: relative;
	display: flex;
	align-items: center;
}

.contact__item--policy .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background-color: #F3F5FB;
	border-radius: 0.5rem;
	margin-right: 1.2rem;
}

.contact__item--policy input {
	display: none;
}

.contact__item--policy input:checked+.wpcf7-list-item-label::before {
	background-color: #1634BB;
}

.contact__item--policy input+.wpcf7-list-item-label::after {
	display: none;
}

.contact__item--policy input:checked+.wpcf7-list-item-label::after {
	content: "";
	width: 1.3rem;
	height: 1.4rem;
	display: block;
	background-image: url(img/icon__check.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	left: 0.7rem;
	translate: 0 -50%;
}

.contact__item--policy a {
	color: #1735BB;
	text-decoration: underline;
	text-underline-offset: 0.5rem;
	cursor: pointer;
}

.contact__item .wpcf7-not-valid-tip {
	font-size: 1.2rem;
	color: #F5006B;
	margin-top: 0.5rem;
}

.contact__policy {
	height: 42.5rem;
}

@media screen and (min-width: 811px) {
	.voice__list>li a:hover {
		transform: scale(1.04);
	}

	.voice__list>li a:hover .voice__img img {
		transform: scale(1.1);
	}

	.cta__list>li a:hover {
		transform: scale(1.04);
	}
}

@media screen and (max-width: 810px) {
	.mv {
		padding: 9.9rem 0 5.1rem;
	}

	.mv__inner {
		width: calc(100% - 3.2rem);
		flex-direction: column;
		align-items: unset;
		justify-content: unset;
	}

	.mv__left {
		width: 100%;
	}

	.mv__top {
		flex-direction: column;
		align-items: unset;
		justify-content: unset;
		gap: 3.0rem;
		margin-bottom: 3.2rem;
	}

	.mv__catch {
		gap: 1.8rem;
	}

	.mv__catch p {
		font-size: 4.3rem;
	}

	.mv__leaf-feature {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
	}

	.mv__leaf {
		width: 18.6rem;
		gap: 0.7rem;
	}

	.mv__leaf::before,
	.mv__leaf::after {
		width: 4.9rem;
		height: 6.4rem;
		top: -0.4rem;
	}

	.mv__leaf::before {
		left: -0.9rem;
	}

	.mv__leaf::after {
		right: -0.9rem;
	}

	.mv__leaf p {
		font-size: 2.1rem;
		font-weight: 500;
	}

	.mv__leaf span {
		font-size: 1.3rem;
		padding: 0.5rem 1.1rem;
	}

	.mv__feature {
		gap: 0.5rem;
	}

	.mv__feature>li {
		width: 7.8rem;
		height: 7.8rem;
	}

	.mv__feature>li::before {
		content: "";
		width: 6.8rem;
		height: 6.8rem;
	}

	.mv__feature>li p {
		font-size: 1.1rem;
		line-height: 1.13;
		letter-spacing: 0.06em;
		font-weight: 500;
		text-align: center;
		color: #fff;
		display: flex;
		align-items: flex-end;
	}

	.mv__feature>li span {
		font-size: 1rem;
		scale: 0.6;
	}

	.mv__feature>li.lang p {
		font-size: 1.6rem;
	}

	.mv__feature>li.monthly img {
		width: 3.6rem;
		margin-right: 0.2rem;
	}

	.mv__feature>li.monthly p:nth-of-type(2) {
		margin-left: 0.3rem;
		margin-top: 0.3rem;
		margin-bottom: 0.3rem;
	}

	.mv__image {
		margin-left: -1.6rem;
		margin-right: -1.6rem;
	}

	.mv__image::before {
		font-size: 3rem;
	}

	.mv__image>li {
		width: 18.3rem;
		padding: 0.8rem 0.4rem;
	}

	.mv__image>li span {
		font-size: 1.6rem;
		width: 13rem;
		height: 3.6rem;
		top: 0.3rem;
		left: 0.4rem;
		border-bottom-right-radius: 0.9rem;
	}

	.mv__image>li span::before {
		width: 0.6rem;
		height: 0.6rem;
		left: 0.5rem;
	}

	.mv__img {
		border-radius: 1rem;
	}

	.mv__contact {
		display: none;
	}

	.mv__btn {
		display: flex;
		justify-content: center;
		margin-top: 3rem;
	}

	.case {
		padding: 3rem 0 3rem;
	}

	.case__leaf {
		gap: 1rem;
		margin: 0 auto 1.5rem;
	}

	.case__leaf::before,
	.case__leaf::after {
		width: 4.7rem;
		height: 6.3rem;
		top: -0.7rem;
	}

	.case__leaf::before {
		left: -3.3rem;
	}

	.case__leaf::after {
		right: -3.3rem;
	}

	.case__leaf p {
		font-size: 2rem;
		gap: 0.4rem;
	}

	.case__leaf span {
		font-size: 1.6rem;
		gap: 0.4rem;
	}

	.case__leaf img {
		width: 9rem;
		margin-bottom: 0.2rem;
	}

	.case__leaf .note {
		font-size: 1.2rem;
	}


	.case__list {}

	.case__list li {}

	.case__list li.case__01 img {
		width: 7.6rem;
	}

	.case__list li.case__02 img {
		width: 7.5rem;
	}

	.case__list li.case__03 img {
		width: 31.2rem;
	}

	.case__list li.case__04 img {
		width: 7.1rem;
	}

	.case__list li.case__01 img {
		width: 7.6rem;
	}

	.case__list li.case__05 img {
		width: 8.3rem;
	}

	.case__list li.case__06 img {
		width: 31.5rem;
	}

	.case__list li.case__07 img {
		width: 7.5rem;
	}

	.case__list li.case__08 img {
		width: 7.6rem;
	}

	.case__list li.case__09 img {
		width: 16.3rem;
	}

	.case__list li.case__10 img {
		width: 10.7rem;
	}

	.case__list li.case__11 img {
		width: 7.6rem;
	}

	.case__list li.case__12 img {
		width: 12.0rem;
	}

	.case__list li.case__13 img {
		width: 16.6rem;
	}

	.case__list li.case__14 img {
		width: 22.0rem;
	}

	.case__list li img {
		max-height: 100%;
	}

	.lead {
		padding-top: 3rem;
		margin-bottom: 5.8rem;
	}

	.lead__inner {
		flex-direction: column;
		gap: 3rem;
	}

	.lead__catch {
		font-size: 3rem;
		margin-left: 0;
	}

	.lead__desc {
		gap: 3.2rem;
	}

	.lead__desc p {
		line-height: 2;
	}

	.point__list {
		gap: 3.2rem;
		margin-right: -1.6rem;
	}

	.point__list>li {
		padding: 6.2rem 0 0 3.2rem;
		border-top-left-radius: 2rem;
		border-top-right-radius: 0;
		border-bottom-left-radius: 2rem;
		border-bottom-right-radius: 0;
	}

	.point__txt {
		width: calc(100% - 1.6rem);
		max-width: unset;
		margin-bottom: 3.2rem;
	}

	.point__num {
		font-weight: 500;
	}

	.point__catch {
		font-size: 2.4rem;
		font-weight: 400;
		margin-bottom: 2.6rem;
	}

	.point__img {
		width: 32rem;
		position: static;
		top: unset;
		right: unset;
		margin-left: auto;
	}

	.service {
		padding-top: 8rem;
	}

	.service__list>li {
		padding-top: 9.2rem;
		padding-bottom: 6.4rem;
	}

	.service__head {
		margin-bottom: 3.3rem;
	}

	.service__txt {
		gap: 2.7rem;
	}

	.service__num {
		top: -3rem;
	}

	.service__catch {
		font-size: 2.8rem;
		font-weight: 400;
	}

	.service__desc {
		max-width: unset;
	}

	.service__btn {
		gap: 1.6rem;
	}

	.service__osusume {
		gap: 1.8rem;
	}

	.service__osusume dt {
		font-size: 1.6rem;
		font-weight: 700;
	}

	.service__osusume ul {
		gap: 1.4rem;
	}

	.service__osusume ul>li {
		font-size: 1.4rem;
		line-height: 1.77;
		gap: 0.5rem;
	}


	.service01::before {
		height: 47.3rem;
	}

	.service02::before {
		height: 62.8rem;
	}

	.service03::before {
		height: 85.6rem;
		left: 0;
		border-radius: 0;
	}

	.service04::before {
		height: 108.2rem;
	}

	.service05::before {
		height: 74.4rem;
		left: 0;
		border-radius: 0;
	}

	.service06::before {
		height: 80.7rem;
	}

	.service01 {}

	.service__list>li.service01 {
		padding-bottom: 29.4rem;
	}

	.service01__nav {
		gap: 1rem 0.9rem;
		justify-content: unset;
		margin-bottom: 1.6rem;
	}

	.service01__nav>li {
		font-size: 1.2rem;
		font-weight: 700;
		padding: 1.1rem 1rem;
		border-radius: 4rem;
	}

	.service01__slider {
		width: 100%;
	}

	.service01__list {
		border-radius: 2rem;
	}

	.service01__prev,
	.service01__next {
		top: calc(100% + 1.7rem);
		translate: unset;
	}

	.service01__prev {
		left: 12rem;
	}

	.service01__next {
		right: 12rem;
	}

	.service01__btn {
		position: absolute;
		left: 50%;
		bottom: 6.4rem;
		translate: -50% 0;
	}


	.service02 {}

	.service__list>li.service02 {
		padding-bottom: 15.1rem;
	}

	.service02__list {
		gap: 1.6rem 1.5rem;
		justify-content: center;
	}

	.service02__list>li {
		width: calc((100% - 1.5rem) / 2);
		padding: 3rem 0 2.5rem;
	}

	.service02__list>li.spacer {
		display: none;
	}

	.service02__ttl {
		font-size: 1.4rem;
		line-height: 1.34;
		font-weight: 700;
		height: calc(2em * 1.34);
		margin-bottom: 0.8rem;
	}

	.service02__ttl span {
		font-size: 1.2rem;
	}

	.service02__img {
		width: 9.4rem;
		height: 8rem;
		margin-bottom: 1rem;
	}

	.service02__img img {
		max-width: 100%;
		max-height: 100%;
	}

	.service02__ba {
		gap: 0.2rem;
	}

	.service02__ba .arrow {
		width: 0.8rem;
		height: 1.3rem;
		translate: 0 0.6rem;
	}

	.service02__before {
		margin-right: 0.4rem;
	}

	.service02__before .yaku {
		font-size: 1rem;
	}

	.service02__before .num {
		font-size: 2.9rem;
		margin-left: 0.4rem;
		translate: 0 0.2rem;
	}

	.service02__before .num span {
		font-size: 1.9rem;
	}

	.service02__before .hour {
		font-size: 1.1rem;
		margin-left: 0.4rem;
	}

	.service02__after {
		margin-left: 0.4rem;
	}

	.service02__after .num {
		font-size: 4.4rem;
	}

	.service02__after .hour {
		font-size: 1.8rem;
		margin-left: 0.4rem;
		translate: 0 -0.2rem;
	}

	.service02__btn {
		position: absolute;
		bottom: 6.4rem;
		left: 50%;
		translate: -50% 0;
	}

	.service03 {
		margin-bottom: 0;
	}

	.service__list>li.service03 {
		padding-bottom: 22.2rem;
	}

	.service03__inner {
		flex-direction: column;
		justify-content: unset;
	}

	.service03__head {}

	.service03__content {
		flex-direction: column;
		width: 100%;
		gap: 0;
		margin-top: 0;
	}

	.service03__nav {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		gap: 1rem 0.9rem;
		margin-bottom: 1.6rem;
	}

	.service03__nav>li {
		font-size: 1.2rem;
		font-weight: 700;
		width: unset;
		padding: 1.1rem 1.2rem;
		border-radius: 4rem;
	}

	.service03__slider {
		width: 26rem;
		margin: 0 auto;
	}

	.service03__list {
		border-radius: 3.3rem;
	}

	.service03__label {
		font-size: 1.9rem;
		width: 9.6rem;
		height: 9.6rem;
		top: -1.5rem;
		right: -3.2rem;
	}

	.service03__label::before {
		width: 8rem;
		height: 8rem;
	}

	.service03__prev {
		left: 7rem;
	}

	.service03__next {
		right: 7rem;
	}

	.service03__btn {
		position: absolute;
		left: 50%;
		bottom: 6.4rem;
		translate: -50% 0;
	}

	.service04 {}

	.service__list>li.service04 {
		padding-bottom: 15.9rem;
	}

	.service04__inner {}

	.service04__head {
		margin-bottom: 3.5rem;
	}

	.service04__content {
		padding: 3.2rem 3.2rem 3.5rem;
		border-radius: 3rem;
	}

	.service04__list {
		flex-direction: column;
		gap: 1.6rem;
		margin-bottom: 3.6rem;
		overflow: unset;
		padding-bottom: 0;
	}

	.service04__list>li {
		padding: 2.4rem 2.6rem;
		flex: unset;
		position: relative;
	}

	.service04__list>li:not(:last-of-type)::before {
		width: 3.2rem;
		height: 4.1rem;
		background-image: url(img/icon__yajirushi__sp.png);
		top: unset;
		bottom: -3rem;
		right: unset;
		left: 50%;
		translate: -50% 0;
	}

	.service04__info {
		gap: 1rem;
		margin-bottom: 1rem;
		margin-left: 1.8rem;
	}

	.service04__img {
		height: unset;
	}

	.service04__list>li:nth-of-type(1) .service04__img,
	.service04__list>li:nth-of-type(2) .service04__img,
	.service04__list>li:nth-of-type(3) .service04__img,
	.service04__list>li:nth-of-type(4) .service04__img {
		width: 8.5rem;
	}

	.service04__list>li:nth-of-type(1) .service04__img img {
		width: 7.2rem;
	}

	.service04__list>li:nth-of-type(2) .service04__img img {
		width: 8.5rem;
	}

	.service04__list>li:nth-of-type(3) .service04__img img {
		width: 5.6rem;
	}

	.service04__list>li:nth-of-type(4) .service04__img img {
		width: 5.4rem;
	}

	.service04__ttl {
		font-size: 1.6rem;
		font-weight: 700;
	}

	.service04__detail {
		display: flex;
		flex-wrap: wrap;
		gap: 0 1.5rem;
	}

	.service04__detail>li {
		font-size: 1.4rem;
		font-weight: 500;
	}

	.service04__osusume {
		flex-direction: column;
		gap: 1.8rem;
	}

	.service04__btn {
		position: absolute;
		left: 50%;
		bottom: 6.4rem;
		translate: -50% 0;
	}


	.service05 {}

	.service__list>li.service05 {
		padding-top: 9.2rem;
	}

	.service05__inner {
		flex-direction: column;
		gap: 0;
	}

	.service05__head {
		margin-top: 0;
		margin-bottom: 3.3rem;
	}

	.service05__content {
		width: 100%;
		flex-shrink: 0;
	}

	.service05__list {
		gap: 1.6rem 1.5rem;
		margin-bottom: 1.6rem;
	}

	.service05__list>li {
		width: calc((100% - 1.5rem) / 2);
		padding: 3.2rem 0 2rem;
		border-radius: 1.5rem;
		gap: 1rem;
	}

	.service05__img {
		height: 7.4rem;
	}

	.service05__ttl {
		font-size: 1.4rem;
		line-height: 1.34;
		font-weight: 700;
		height: calc(2em * 1.34);
		display: flex;
		align-items: center;
	}

	.service05__osusume {
		padding: 3.8rem 3.2rem 3.5rem;
		border-radius: 3rem;
	}

	.service06 {}

	.service06__head {
		margin-bottom: 3.5rem;
	}

	.service06__list {
		flex-direction: column;
	}

	.service06__list>li {
		width: 100%;
		padding: 3rem 3.2rem 2.5rem;
		border-radius: 1.5rem;
	}

	.service06__ttl {
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 1.6rem;
	}

	.service06__info {
		display: flex;
		align-items: center;
		gap: 1.6rem;
	}

	.service06__img {
		width: 9.1rem;
		height: 9.6rem;
		margin-bottom: 0;
		flex-shrink: 0;
	}

	.service06__list>li:nth-of-type(1) .service06__img img {
		width: 8.5rem;
	}

	.service06__detail {
		font-size: 1.4rem;
		line-height: 1.77;
	}

	.reason {
		padding-top: 7.9rem;
	}

	.reason__list>li {
		flex-direction: column;
		justify-content: unset;
		gap: 2.5rem;
		padding: 3.6rem 0 4rem;
	}

	.reason__left {
		flex-direction: column;
		gap: 1.3rem;
	}

	.reason__num {
		font-size: 2.8rem;
		width: unset;
		margin-top: 0;
	}

	.reason__catch {
		font-size: 2rem;
		line-height: 1.65;
		margin-bottom: 1.6rem;
	}

	.reason__desc {
		font-size: 1.4rem;
		width: 100%;
	}

	.reason__img {
		width: 100%;
	}

	.reason__01 .reason__img img {
		width: 26.6rem;
		margin-left: unset;
	}

	.reason__02 .reason__img img {
		width: 30rem;
	}

	.reason__03 .reason__img img {
		width: 7.4rem;
	}

	.voice {
		padding-top: 7.9rem;
	}

	.voice__list {
		gap: 1.6rem;
		padding-left: 1.6rem;
		padding-right: 1.6rem;
		padding-bottom: 7rem;
	}

	.voice__list>li {
		width: 29.5rem;
	}

	.voice__list>li a {
		padding: 3.2rem 1.6rem;
	}

	.voice__nav {
		gap: 1.6rem;
	}

	.voice__scrollbar {
		width: 22.1rem;
	}

	.voice__scrollbar .thumb {
		width: 10rem;
	}

	.voice__btn {
		width: 5.4rem;
		height: 5.4rem;
	}

	.voice__btn::after {
		font-size: 2rem;
		font-weight: 700;
	}

	.voice__img {}

	.voice__ttl {
		font-size: 1.3rem;
		font-weight: 700;
		padding: 1.1rem 0;
	}

	.voice__catch {
		font-size: 1.6rem;
		line-height: 1.7;
		margin-bottom: 2.8rem;
	}

	.voice__detail {
		padding: 0.4rem 1.2rem;
		border-left: 0.3rem solid #0064A5;
	}

	.voice__detail dt {
		font-size: 1.4rem;
	}

	.voice__detail dd {
		font-size: 1.4rem;
	}

	.modal .voice__info {
		flex-direction: column;
		gap: 1.5rem;
		padding-bottom: 2.5rem;
	}

	.modal .voice__img {
		width: 100%;
	}

	.modal .voice__catch {
		font-size: 1.6rem;
		margin-bottom: 1.9rem;
	}

	.modal .voice__detail {
		gap: 2.4rem;
	}

	.modal .voice__ba {
		gap: 1.8rem;
	}

	.modal .voice__ba>div {
		flex-direction: column;
		gap: 1.6rem;
	}

	.modal .voice__ba dt {}

	.modal .voice__ba dd {
		font-size: 1.4rem;
	}

	.cta {
		padding-top: 8.8rem;
		padding-bottom: 0;
	}

	.cta::before {
		display: none;
	}

	.cta__inner {
		padding: 6.4rem 1.6rem;
		border-radius: 4rem;
	}

	.cta__target {
		font-size: 1.6rem;
		font-weight: 700;
		padding: 0.6rem 1.5rem;
		margin: 0 auto 0.8rem;
	}

	.cta__ask {
		font-size: 2.4rem;
		line-height: 1.47;
		margin-bottom: 2.6rem;
	}

	.cta__list {
		flex-direction: column;
		gap: 1.6rem;
	}

	.cta__list>li {
		width: 100%;
	}

	.cta__list>li a {
		padding: 3.2rem 1.6rem 2.4rem;
		position: relative;
	}

	.cta__txt {
		width: 20.4rem;
		margin-left: auto;
	}

	.cta__ttl {
		font-size: 2rem;
		text-align: left;
		margin-bottom: 1.1rem;
	}

	.cta__img {
		height: 8.8rem;
		margin-bottom: 0;
		position: absolute;
		top: 2.4rem;
		left: 1.6rem;
	}

	.cta__list>li:nth-of-type(2) .cta__img {
		width: 7.1rem;
	}

	.cta__list>li:nth-of-type(3) .cta__img {
		width: 7.2rem;
	}

	.cta__desc {
		font-size: 1.4rem;
		line-height: 2.3rem;
		margin-bottom: 2rem;
	}

	.cta__list>li:nth-of-type(2) .cta__desc {
		text-align: center;
	}

	.cta__num {
		font-size: 3.3rem;
		text-align: left;
		white-space: nowrap;
		height: auto;
		margin-bottom: 1rem;
	}

	.cta__btn {
		width: 24rem;
	}

	.price {
		padding-top: 7.9rem;
		padding-bottom: 6.3rem;
	}

	.price__inner {
		width: 100%;
		margin: 0;
		padding: 0 3.2rem 1.6rem;
		overflow-x: scroll;
	}

	.price__list {
		display: flex;
		flex-direction: column;
	}

	.price__list>li {
		display: flex;
	}

	.price__ttl {
		font-size: 1.2rem;
		width: 2.3rem;
		padding: 0.4rem 0;
	}

	.price__detail>div {
		min-height: 5.8rem;
		display: flex;
	}

	.price__detail dt {
		font-size: 1.1rem;
		font-weight: 500;
		width: 10.8rem;
	}

	.price__data {
		width: 38rem;
	}

	.price__data dd {}

	.price__data dd p {
		font-size: 1.3rem;
	}

	.price__data dd span {
		font-size: 1.1rem;
	}

	.price__data dd .note {
		font-size: 1rem;
		margin-top: 0.4rem;
	}

	.price__list>li.head .price__detail>div {
		min-height: 5.1rem;
	}

	.price__list>li.head .price__data dd {
		font-size: 1.3rem;
	}

	/* けんさぽ */
	.price__data .ours {
		position: relative;
	}

	.price__data .ours .border {
		width: 100%;
		height: 100%;
		border-left: 0.4rem solid #1634BB;
		border-right: 0.4rem solid #1634BB;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 4;
	}

	.price__data .ours .border.end {
		border-bottom: 0.4rem solid #1634BB;
	}

	.price__data .ours p {
		font-size: 1.6rem;
	}

	.price__data .ours p .num {
		font-size: 2rem;
	}

	.price__list>li.head .price__data .ours img {
		width: 7.1rem;
	}

	.mission {
		padding-top: 6.1rem;
		padding-bottom: 6.4rem;
		position: relative;
	}

	.mission::before {
		left: 1.6rem;
		border-top-left-radius: 4rem;
		border-bottom-left-radius: 4rem;
	}

	.mission__inner {
		flex-direction: column;
		gap: 4.2rem;
		padding-left: 3.2rem;
	}

	.mission__txt {
		width: 100%;
	}

	.mission__sub {
		font-size: 1.6rem;
		margin-bottom: 1.5rem;
	}

	.mission__catch {
		font-size: 2.4rem;
		line-height: 1.5;
		margin-bottom: 3.6rem;
	}

	.mission__desc {
		gap: 3.4rem;
	}

	.mission__desc p {
		font-size: 1.4rem;
		line-height: 2;
	}

	.mission__img {
		gap: 2.4rem;
	}

	.mission__img img {
		border-radius: 1rem;
	}

	.mission__img img:nth-of-type(1) {
		width: 100%;
	}

	.mission__img img:nth-of-type(2) {
		width: 25rem;
		margin: 0;
	}

	.flow {
		padding-top: 7.9rem;
		padding-bottom: 8.8rem;
	}

	.flow__inner {
		width: 100%;
		margin: 0;
		padding: 0 1.6rem 1.6rem;
		overflow-x: scroll;
	}

	.flow__list {
		display: flex;
		gap: 1.2rem;
	}

	.flow__list>li {
		width: 25.6rem;
		padding: 5rem 3.5rem 2rem;
		flex-shrink: 0;
	}

	.flow__list>li:not(:last-of-type)::before {
		right: -2rem;
	}

	.flow__num {
		font-family: "Manrope", sans-serif;
		font-size: 4rem;
		font-weight: 200;
		color: #1634BB;
		position: absolute;
		top: 1.6rem;
		left: 2.5rem;
	}

	.flow__img {
		margin-bottom: 1.2rem;
	}

	.flow__ttl {
		font-size: 2.2rem;
		line-height: 1.27;
		white-space: nowrap;
		margin-bottom: 0.8rem;
	}

	.flow__desc {
		line-height: 2;
	}

	.faq {
		padding-top: 8rem;
		padding-bottom: 8.8rem;
	}

	.faq__inner {
		flex-direction: column;
		justify-content: unset;
	}

	.faq__list {
		width: 100%;
	}

	.faq__list>li {
		padding: 3.2rem 0 2.5rem;
	}

	.faq__dl {
		gap: 1.6rem;
	}

	.faq__dl dt {
		font-size: 1.6rem;
		gap: 1.2rem;
	}

	.faq__dl dd {
		align-items: flex-start;
		gap: 1.2rem;
	}

	.faq__dl dd p {
		line-height: 2;
	}

	.faq__dl dt::before,
	.faq__dl dd::before {
		font-size: 1.7rem;
		width: 4rem;
		height: 4rem;
	}

	.contact {
		padding-top: 8rem;
		padding-bottom: 8.8rem;
	}

	.contact__top .inner {
		flex-direction: column;
		align-items: unset;
		justify-content: unset;
		gap: 2.1rem;
	}

	.contact__desc {
		width: 100%;
	}

	.contact__inner {
		width: calc(100% - 3.2rem);
	}

	.contact__item {
		margin-top: 1.6rem;
	}

	.contact__label {
		font-size: 1.4rem;
	}

	.contact__input,
	.contact__textarea {
		font-size: 1.4rem;
		padding: 1.5rem 1.8rem;
		margin-top: 0.8rem;
	}

	.contact__textarea {
		height: 16.1rem;
	}

	.contact__radio {
		gap: 1.4rem 1.6rem;
	}

	.contact__radio label {
		font-size: 1.4rem;
		gap: 0.6rem;
	}

	.contact__submit {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 1.2rem 0 auto;
	}

	.contact__submit .arrow {
		width: 4rem;
		height: 4rem;
		right: 0.8rem;
	}

	.contact__btn {
		font-size: 1.4rem;
		font-weight: 700;
	}

	.contact__item--type {
		margin-top: 0;
		margin-bottom: 2.8rem;
	}

	.contact__item--policy {
		margin-top: 2.8rem;
	}

	.contact__item .wpcf7-not-valid-tip {
		margin-top: 0.5rem;
	}

	.contact__policy {
		height: 80vh;
	}
}




.header {
	padding: 3.4rem 0 1.2rem;
	background-color: #fff;
}

.header__inner {
	width: 128.6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__logo {
	width: 17.9rem;
}

.header__btn {
	display: none;
}

.header__sp {
	display: flex;
	align-items: center;
	gap: 3.5rem;
}

.header__nav {}

.header__nav ul {
	display: flex;
	align-items: center;
	gap: 2.8rem;
}

.header__nav a {
	font-size: 1.4rem;
	font-weight: 500;
}

.header__cta {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 2.4rem;
}

.header__cta>li {}

.header__cta>li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	position: relative;
}

.header__cta>li p,
.header__cta>li span {
	color: #1634BB;
}

.header__cta>li.mail {}

.header__cta>li.mail a {
	width: 15.4rem;
	height: 4.6rem;
	border-radius: 4.6rem;
	background-color: #1634BB;
	transition: all 0.3s ease-out;
}

.header__cta>li.mail p {
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
}

.header__cta>li.mail img {
	display: none;
}

.header__cta>li.tel {}

.header__cta>li.tel p {
	font-family: "Roboto", sans-serif;
	font-size: 2.8rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.header__cta>li.tel span {
	display: none;
}

.header__cta>li.tel img {
	width: 2rem;
}

@media screen and (min-width: 811px) {
	.header__cta>li.mail a:hover {
		opacity: 0.8;
	}
}

@media screen and (max-width: 810px) {
	.header {
		width: 100%;
		height: 6.7rem;
		padding: 0;
		background-color: unset;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
	}

	.header__inner {
		width: 100%;
		height: 100%;
	}

	.header__logo {
		width: 15rem;
		margin-left: 1.1rem;
	}

	.header__btn {
		width: 6.9rem;
		height: 6.7rem;
		padding-top: 0.2rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.8rem;
		background-color: #1634BB;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 99;
		transition: all 0.2s ease-out;
	}

	.header__btn>div {
		display: flex;
		flex-direction: column;
		gap: 1.2rem;
	}

	.header__btn span {
		width: 4rem;
		height: 0.2rem;
		background-color: #fff;
		transition: all 0.3s ease-out;
	}

	.header__btn p {
		font-size: 1.5rem;
		font-weight: 500;
		color: #fff;
	}

	.header__btn.is-opened {
		background-color: unset;
	}

	.header__btn.is-opened span:nth-of-type(1) {
		rotate: 45deg;
		translate: 0 0.8rem;
	}

	.header__btn.is-opened span:nth-of-type(2) {
		rotate: -45deg;
		translate: 0 -0.8rem;
	}

	.header__btn.is-opened p {}

	.header__sp {
		display: block;
		opacity: 0;
		visibility: hidden;
		width: 29.5rem;
		padding: 9.3rem 1.8rem 10.7rem 2.5rem;
		background: #1634BB;
		background: linear-gradient(148deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
		border-top-left-radius: 4rem;
		border-bottom-left-radius: 4rem;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 50;
		transition: all 0.3s ease-out;
	}

	.header__sp.is-active {
		opacity: 1;
		visibility: visible;
		right: 0;
	}

	.header__nav ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 3.4rem;
		margin-left: 0.5rem;
		margin-bottom: 5rem;
	}

	.header__nav a {
		color: #fff;
		font-weight: 700;
	}

	.header__cta {
		flex-direction: column;
		align-items: unset;
		gap: 1.6rem;
	}

	.header__cta>li a,
	.header__cta>li.mail a {
		width: 100%;
		height: 6.8rem;
		background-color: #FFDDCF;
		border-radius: 1rem;
		gap: 0.1rem;
	}

	.header__cta>li.mail a {
		padding-left: 1rem;
	}

	.header__cta>li.mail p {
		font-size: 1.6rem;
		font-weight: 700;
		color: #1634BB;
	}

	.header__cta>li.mail img {
		width: 3.2rem;
		display: block;
		position: absolute;
		left: 3.3rem;
		top: 50%;
		translate: 0 -50%;
	}

	.header__cta>li.tel p {
		font-weight: 700;
	}

	.header__cta>li.tel span {
		font-size: 1rem;
		font-weight: 700;
		display: block;
	}
}


.footer {
	position: relative;
}

.footer__pagetop {
	position: absolute;
	top: 6.8rem;
	right: 7.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.footer__pagetop span {
	width: 1.4rem;
	height: 1.4rem;
	position: relative;
}

.footer__pagetop span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 0.1rem;
	height: 1.4rem;
	border-radius: 1.5rem;
	background: #fff;
}

.footer__pagetop span::after {
	content: "";
	display: block;
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	border: 0.1rem solid;
	border-color: transparent transparent #fff #fff;
	top: 0.1rem;
	left: 50%;
	translate: -50% 0;
	rotate: 135deg;
	border-radius: 0.1rem;
}

.footer__pagetop p {
	font-size: 1.2rem;
	font-weight: 500;
	color: #fff;
	font-feature-settings: normal;
	white-space: nowrap;
	word-break: keep-all;
	writing-mode: vertical-rl;
}

.footer__top {
	padding: 6rem 0 4rem;
	background: #1634BB;
	background: linear-gradient(81deg, rgba(22, 52, 187, 1) 0%, rgba(87, 133, 215, 1) 100%);
}

.footer__logo-cta {
	display: flex;
	justify-content: space-between;
	margin-bottom: -6rem;
}

.footer__logo {
	width: 31.4rem;
}

.footer__cta {
	display: flex;
	flex-direction: column;
	gap: 3.4rem;
}

.footer__cta>li {}

.footer__cta>li a {
	width: 29.2rem;
	height: 6.8rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	position: relative;
	background-color: #FFDDCF;
	border-radius: 1rem;
}

.footer__cta>li p,
.footer__cta>li span {
	color: #1634BB;
}

.footer__cta>li.mail {}

.footer__cta>li.mail a {
	padding-left: 1.6rem;
}

.footer__cta>li.mail p {
	font-size: 1.6rem;
	font-weight: 700;
}

.footer__cta>li.mail img {
	width: 3.2rem;
	position: absolute;
	top: 50%;
	left: 3.3rem;
	translate: 0 -50%;
}

.footer__cta>li.tel {}

.footer__cta>li.tel p {
	font-family: "Roboto", sans-serif;
	font-size: 2.8rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.footer__cta>li.tel span {
	font-size: 1rem;
	font-weight: 700;
}

.footer__cta>li.tel img {
	width: 2rem;
}

.footer__nav1 {
	margin-bottom: 2rem;
}

.footer__nav1 ul {}

.footer__nav1 a {
	font-size: 1.4rem;
	line-height: 2.375;
	font-weight: 500;
	color: #fff;
}

.footer__company {
	font-size: 1.4rem;
	line-height: 2.125;
	color: #fff;
}

.footer__address {
	font-size: 1.4rem;
	line-height: 1.56;
	color: #fff;
	margin-bottom: 4rem;
}

.footer__sns {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.footer__sns>li {
	width: 2.6rem;
}

.footer__btm {
	padding: 4rem 0;
	background-color: #000;
}

.footer__nav-copyright {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer__nav2 ul {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.footer__nav2 a {
	font-size: 1.4rem;
	color: #fff;
}

.footer__copyright {
	font-size: 1.4rem;
	color: #fff;
}

@media screen and (max-width: 810px) {
	.footer__pagetop {
		top: 4.5rem;
		right: 2rem;
	}

	.footer__top {
		padding: 4.8rem 0 3.3rem;
	}

	.footer__logo-cta {
		flex-direction: column;
		justify-content: unset;
		gap: 3.2rem;
		margin-bottom: 2rem;
	}

	.footer__logo {
		width: 21.6rem;
	}

	.footer__cta {
		gap: 1.6rem;
	}

	.footer__cta>li a {
		width: 25.9rem;
		height: 6.8rem;
	}

	.footer__cta>li.mail img {
		width: 3rem;
		left: 4.2rem;
	}

	.footer__nav1 {
		margin-bottom: 2rem;
	}

	.footer__nav1 ul {}

	.footer__nav1 a {
		font-size: 1.4rem;
		font-weight: 700;
	}

	.footer__company {
		font-size: 1.4rem;
	}

	.footer__address {
		font-size: 1.4rem;
		margin-bottom: 2.7rem;
	}

	.footer__btm {
		padding: 1.6rem 0 2rem;
	}

	.footer__nav-copyright {
		flex-direction: column;
		justify-content: center;
		gap: 1.7rem;
	}

	.footer__nav2 ul {
		justify-content: center;
		gap: 1.6rem;
	}

	.footer__nav2 a {
		font-size: 1.4rem;
	}

	.footer__copyright {
		font-size: 1.2rem;
	}
}

.js-slide {
	display: inline-block;
	overflow: hidden;
	margin-bottom: -1rem;
}

.js-slide span {
	display: inline-block;
	transform: translateY(100%);
}

.js-slide.is-show .js-slide__01 {
	transform: translateY(0%);
	transition: transform .8s 0s cubic-bezier(0, 0, 0, 1);
}

.js-slide.is-show .js-slide__02 {
	transform: translateY(0%);
	transition: transform .8s .15s cubic-bezier(0, 0, 0, 1);
}

.js-slide.is-show .js-slide__03 {
	transform: translateY(0%);
	transition: transform .8s .225s cubic-bezier(0, 0, 0, 1);
}

.js-slide.is-show .js-slide__04 {
	transform: translateY(0%);
	transition: transform .8s .3s cubic-bezier(0, 0, 0, 1);
}

.js-slide-right {
	transform: translate3d(2rem, 6rem, 0);
	display: block;
	opacity: 0;
}

.js-slide-right.is-show {
	transform: translate3d(0, 0, 0);
	opacity: 1;
	transition: transform .8s cubic-bezier(0, 0, 0, 1), opacity .8s;
}

.cf7-cf-turnstile {
	margin-top: 20px !important;
	display: flex;
	justify-content: center;
}