._mincho {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
}

html {
	scroll-behavior: smooth;
}

main {
	display: block;
}

.heading-text {
	text-align: center;
	color: black;
	margin-bottom: 2rem;
}

.is-sp {
	display: none !important;
}

.is-pc {
	display: block !important;
}

.mainimg {
	max-width: 1920px;
	margin-inline: auto;
}

.mainimg img {
	height: auto;
}

.section-nav {
	padding: 24px 20px;
	background-color: rgba(255, 255, 255, 0.94);
}

.section-nav__inner {
	max-width: 980px;
	margin: 0 auto;
}

.section-nav__list {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	border-left: 1px solid #9a9a9a;
}

.section-nav__item {
	flex: 1 1 0;
	border-right: 1px solid #9a9a9a;
	margin-bottom: 0;
}

.section-nav__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 0 12px;
	box-sizing: border-box;
	color: #333;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.section-nav__item a:hover {
	opacity: 0.68;
}

.section-nav__en {
	display: block;
	color: #84beff;
	font-size: 13px;
	line-height: 1.2;
}

.section-nav__ja {
	display: block;
	margin-top: 5px;
	font-size: 13px;
	line-height: 1.35;
	white-space: nowrap;
}

.section-heading {
	text-align: center;
}

.section-heading:before {
	content: "";
	display: block;
	width: 1px;
	height: 46px;
	margin: 0 auto 18px;
	background-color: #84beff;
}

.section-heading__en {
	margin: 0;
	color: #84beff;
	font-size: 50px;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
}

.section-heading__ja {
	margin-top: 10px;
	color: #84beff;
	font-size: 16px;
	line-height: 1.4;
}

.what {
	padding: 72px 20px 88px;
	background-image: url("../img/bg_what.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.what__inner {
	max-width: 870px;
	margin: 0 auto;
}

.what__box {
	width: 870px;
	max-width: 100%;
	margin: 54px auto 0;
	padding: 38px 54px;
	box-sizing: border-box;
	border-radius: 20px;
	background-color: rgba(255, 255, 255, 0.86);
	box-shadow: 0 5px 16px rgba(116, 175, 241, 0.15);
	text-align: center;
}

.what__box p {
	margin: 18px 0 0;
	color: #222;
	font-size: 15px;
	line-height: 2;
}

.what__box p small {
	font-size: 14px;
}

.what__box p:first-child {
	margin-top: 0;
}

.osusume {
	overflow: visible;
	padding: 5.625vw 1.5625vw 0;
	background-image: url("../img/bg_osusume.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.osusume__inner {
	position: relative;
	width: 76.5625vw;
	min-height: 43.75vw;
	margin: 0 auto;
}

.osusume__image {
	position: absolute;
	left: -1.40625vw;
	bottom: 0;
	z-index: 0;
	width: 36.71875vw;
	min-width: 35.15625vw;
}

.osusume__image img {
	display: block;
	width: 100%;
	height: auto;
}

.osusume__content {
	position: relative;
	z-index: 1;
	width: 44.53125vw;
	max-width: calc(100% - 28.125vw);
	margin: 0 0 7.1875vw auto;
	padding-top: 0.625vw;
	color: #fff;
}

.osusume__title {
	position: relative;
	width: 23.4375vw;
	max-width: 100%;
	font-weight: bold;
	margin: 0 auto 3.28125vw;
	padding: 1.015625vw 1.5625vw;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.9);
	color: #84beff;
	font-size: 1.40625vw;
	line-height: 1.4;
	text-align: center;
}

.osusume__title:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1.71875vw;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.875vw 0.78125vw 0 0.78125vw;
	border-color: rgba(255, 255, 255, 0.9) transparent transparent transparent;
	transform: translateX(-50%) skewX(-40deg);
}

.osusume__list {
	margin: 0;
	padding: 3.125vw 3.59375vw 3.28125vw;
	box-sizing: border-box;
	background-color: rgba(116, 175, 241, 0.72);
	box-shadow: 1.71875vw 1.71875vw 0 rgba(116, 175, 241, 0.28);
	list-style: none;
}

.osusume__list li {
	position: relative;
	margin-top: 1.40625vw;
	padding-left: 2.65625vw;
	color: #fff;
	font-size: max(11px,1.171875vw);
	line-height: 1.65;
}

.osusume__list li:first-child {
	margin-top: 0;
}

.osusume__list li:before {
	content: "";
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1.640625vw;
	height: 1.484375vw;
	background-image: url("../img/ico_check.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.comparison {
	padding: 78px 20px 86px;
	background-color: #fff;
}

.comparison__inner {
	max-width: 980px;
	margin: 0 auto;
}

.comparison__scroll {
	margin-top: 58px;
}

.comparison-table {
	width: 820px;
	max-width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	color: #333;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}

.comparison-table th:first-child {
	width: 22%;
}

.comparison-table th:not(:first-child),
.comparison-table td {
	width: 26%;
}

.comparison-table th,
.comparison-table td {
	padding: 18px 16px;
	border-right: 1px solid #b8b8b8;
	border-bottom: 1px solid #b8b8b8;
	box-sizing: border-box;
	vertical-align: middle;
	background-color: #fff;
	font-size: 15px;
}

.comparison-table tr:first-child th:not(.comparison-table__blank) {
	border-top: 1px solid #b8b8b8;
	background-color: #f7f7f7;
}

.comparison-table tr:first-child th:nth-child(2) {
	border-left: 1px solid #b8b8b8;
	border-top-left-radius: 8px;
}

.comparison-table tr:first-child th:last-child {
	border-top-right-radius: 8px;
}

.comparison-table tr:last-child th:first-child {
	border-bottom-left-radius: 8px;
}

.comparison-table tr:last-child td:last-child {
	border-bottom-right-radius: 8px;
}

.comparison-table tr:not(:first-child) th:first-child {
	border-left: 1px solid #b8b8b8;
	background-color: #f7f7f7;
}

.comparison-table tr:nth-child(2) th:first-child {
	border-top: 1px solid #b8b8b8;
}

.comparison-table th {
	font-weight: bold;
}

.comparison-table__blank {
	border: 0 !important;
	background-color: transparent;
}

.comparison-table__sbc {
	background-color: rgba(130, 157, 189, 0.1) !important;
	color: #5076a2;
	font-weight: bold;
}

.comparison-table tr:first-child .comparison-table__sbc {
	background-color: #6f97c7 !important;
	color: #fff;
}

.about {
	padding: 6.09375vw 0 0;
	background-color: #fff;
}

.about__heading {
	width: 100%;
	margin: 0 auto 4.21875vw;
	padding: 0 1.5625vw;
	box-sizing: border-box;
}

.about-block {
	position: relative;
	background-repeat: no-repeat;
	background-size: auto 24.6875vw;
}

.about-block + .about-block {
	margin-top: 6.25vw;
}

.about-block--right {
	background-image: url("../img/bg_about_right.png");
	background-position: top right;
}

.about-block--left {
	background-image: url("../img/bg_about_left.png");
	background-position: top left;
}

.about-block__inner {
	position: relative;
	display: grid;
	grid-template-columns: 42% 58%;
	align-items: flex-start;
	width: 76.5625vw;
	min-height: 21.09375vw;
	margin: 0 auto;
	padding: 2.65625vw 1.5625vw;
	box-sizing: border-box;
}

.about-block--left .about-block__inner {
	grid-template-columns: 58% 42%;
}

.about-block__point {
	position: absolute;
	top: 0.625vw;
	left: -6.8125vw;
	z-index: 2;
	width: 5.9375vw;
}

.about-block--left .about-block__point {
	left: auto;
	right: 26.5625vw;
}

.about-block__point img,
.about-block__image img {
	display: block;
	width: 100%;
	height: auto;
}

.about-block__image {
	width: 33.59375vw;
	max-width: none;
}

.about-block--right .about-block__image {
	grid-column: 1;
	justify-self: start;
	margin-left: -5.625vw;
}

.about-block--right .about-block__text {
	grid-column: 2;
}

.about-block--left .about-block__image {
	grid-column: 2;
	justify-self: end;
	margin-right: -5.625vw;
}

.about-block--left .about-block__text {
	grid-column: 1;
	grid-row: 1;
}

.about-block__text {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	padding: 0 1.25vw;
	color: #333;
}

.about-block__title {
	text-align: left;
	margin: 0 0 1.5625vw;
	color: #5076a2;
	font-size: 1.71875vw;
	font-weight: 600;
	line-height: 1.45;
	border-bottom: 0.15625vw solid;
}

.about-block__text p {
	margin: 0;
	font-size: 1.09375vw;
	line-height: 2;
}

.price {
	position: relative;
	padding: 78px 20px 88px;
	background-image: linear-gradient(rgba(167, 202, 241, 0.15), rgba(167, 202, 241, 0.15)), url("../img/bg_price.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

.price__inner {
	position: relative;
	z-index: 1;
	max-width: 980px;
	margin: 0 auto;
}

.price__body {
	width: 800px;
	max-width: 100%;
	margin: 34px auto 0;
}

.price-table {
	width: 100%;
	margin-top: 30px;
	background-color: rgba(255, 255, 255, 0.86);
	border-collapse: collapse;
	table-layout: fixed;
}

.price-table:first-child {
	margin-top: 0;
}

.price-table__head {
	padding: 12px 18px;
	background-color: #84beff;
	color: #fff;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.4;
	text-align: center;
}

.price-table__row {
	border-bottom: 1px solid #bdbdbd;
}

.price-table__row:last-child {
	border-bottom: 0;
}

.price-table__part,
.price-table__fee {
	padding: 16px 48px;
	vertical-align: middle;
}

.price-table__part {
	width: 46%;
	color: #333;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

.price-table__fee {
	width: 54%;
	color: #333;
	font-size: 0;
	line-height: 1;
	text-align: right;
	white-space: nowrap;
}

.price-table__num {
	display: inline-block;
	font-size: 46px;
	font-weight: normal;
	line-height: 1;
	vertical-align: baseline;
}

.price-table__unit {
	display: inline-block;
	margin-left: 1px;
	font-size: 34px;
	line-height: 1;
	vertical-align: baseline;
}

.price-table__currency {
	display: inline-block;
	margin-left: 5px;
	font-size: 14px;
	line-height: 1;
	vertical-align: baseline;
}

.photo {
	padding: 74px 20px 82px;
	background-color: #fff;
	border: none;
}

.photo__inner {
	max-width: 980px;
	margin: 0 auto;
}

.photo__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 48px;
	width: 720px;
	max-width: 100%;
	margin: 42px auto 0;
}

.photo__item img {
	display: block;
	width: 100%;
	height: auto;
}

.faq {
	padding: 58px 20px 86px;
	background-color: #f2f7ff;
}

.faq__inner {
	max-width: 980px;
	margin: 0 auto;
}

.faq__list {
	max-width: 980px;
	width: 100%;
	margin: 42px auto 0;
}

.faq-item {
	margin-top: 32px;
	background-color: rgba(255, 255, 255, 0.9);
}

.faq-item:first-child {
	margin-top: 0;
}

.faq-item__question,
.faq-item__answer {
	display: flex;
	align-items: flex-start;
	width: 100%;
	box-sizing: border-box;
}

.faq-item__question {
	padding: 22px 48px;
	border-bottom: 1px solid #d9e0e8;
}

.faq-item__answer {
	padding: 24px 48px 28px;
}

.faq-item__icon {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border: 2px solid #b8d6f5;
	border-radius: 50%;
	color: #9bc7f4;
	font-size: 20px;
	line-height: 28px;
	text-align: center;
}

.faq-item__icon--answer {
	border-color: #84beff;
	background-color: #84beff;
	color: #fff;
}

.faq-item__question p,
.faq-item__answer p {
	flex: 1 1 auto;
	margin: 0;
	padding-left: 18px;
	color: #333;
	font-size: 15px;
	line-height: 1.85;
}

.faq-item__question p {
	color: #86b9ee;
	font-weight: bold;
}

@media screen and (min-width: 1281px) {
	.osusume {
		padding: 72px 20px 0;
	}

	.osusume__inner {
		width: 980px;
		min-height: 560px;
	}

	.osusume__image {
		left: -18px;
		width: 470px;
		min-width: 450px;
	}

	.osusume__content {
		width: 570px;
		max-width: calc(100% - 360px);
		margin-bottom: 92px;
		padding-top: 8px;
	}

	.osusume__title {
		width: 300px;
		margin-bottom: 42px;
		padding: 13px 20px;
		font-size: 18px;
	}

	.osusume__title:after {
		bottom: -22px;
		border-width: 24px 10px 0 10px;
	}

	.osusume__list {
		padding: 40px 46px 42px;
		box-shadow: 22px 22px 0 rgba(116, 175, 241, 0.28);
	}

	.osusume__list li {
		margin-top: 18px;
		padding-left: 34px;
		font-size: 15px;
	}

	.osusume__list li:before {
		width: 21px;
		height: 19px;
	}

	.about {
		padding-top: 78px;
	}

	.about__heading {
		margin-bottom: 54px;
		padding: 0 20px;
	}

	.about-block {
		background-size: auto 316px;
	}

	.about-block + .about-block {
		margin-top: 80px;
	}

	.about-block__inner {
		width: 980px;
		min-height: 270px;
		padding: 34px 20px;
	}

	.about-block__point {
		top: 8px;
		left: -87px;
		width: 76px;
	}

	.about-block--left .about-block__point {
		right: 340px;
	}

	.about-block__image {
		width: 430px;
	}

	.about-block--right .about-block__image {
		margin-left: -72px;
	}

	.about-block--left .about-block__image {
		margin-right: -72px;
	}

	.about-block__text {
		padding: 0 16px;
	}

	.about-block__title {
		margin-bottom: 20px;
		font-size: 22px;
		border-bottom-width: 2px;
	}

	.about-block__text p {
		font-size: 14px;
	}
}

@media screen and (max-width: 900px) and (min-width: 641px) {
	.section-nav__list {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		border-left: 0;
	}

	.section-nav__item {
		border-right: 1px solid #d9d9d9;
		border-bottom: 1px solid #d9d9d9;
	}

	.section-nav__item:nth-child(4n) {
		border-right: 0;
	}

	.section-nav__item:last-child {
		grid-column: 3 / 5;
		border-right: 0;
		
	}

	.section-nav__item a {
		min-height: 70px;
	}

	.what__box {
		padding: 34px 36px;
	}

	.osusume__inner {
		min-height: 62.222vw;
	}

	.osusume__image {
		left: -5.111vw;
		width: 48vw;
	}

	.osusume__content {
		width: 62.222vw;
		max-width: calc(100% - 33.333vw);
		margin-bottom: 7.111vw;
	}

	.osusume__list {
		padding-right: 3.778vw;
		padding-left: 4.222vw;
		box-shadow: 1.556vw 1.556vw 0 rgba(116, 175, 241, 0.24);
	}

	.about-block__inner {
		min-height: 27.778vw;
	}

	.about-block__point {
		left: 1.111vw;
		width: 6.889vw;
	}

	.about-block--left .about-block__point {
		right: 33.333vw;
	}

	.about-block__image {
		width: 34.444vw;
	}

	.about-block__title {
		font-size: 2vw;
	}
	
	.about-block__text {
		padding-inline: .5vw;
	}

	.about-block__text p {
		font-size: 1.444vw;
		line-height: 1.85;
	}

	.price-table__part,
	.price-table__fee {
		padding-right: 32px;
		padding-left: 32px;
	}
}

@media screen and (max-width: 640px) {
	.section-nav {
		padding: 0;
	}

	.is-sp {
		display: block !important;
	}

	.is-pc {
		display: none !important;
	}

	.section-nav__inner {
		max-width: none;
	}

	.section-nav__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-left: 0;
	}

	.section-nav__item {
		border-right: 1px solid #d9d9d9;
		border-bottom: 1px solid #d9d9d9;
	}

	.section-nav__item:nth-child(2n) {
		border-right: 0;
	}

	.section-nav__item:last-child {
		grid-column: 1 / -1;
		border-right: 0;
		border-bottom: none;
	}

	.section-nav__item a {
		min-height: 78px;
		padding: 10px 8px;
	}

	.section-nav__en {
		font-size: 12px;
	}

	.section-nav__ja {
		margin-top: 5px;
		font-size: 13px;
		line-height: 1.4;
		white-space: normal;
	}

	.what {
		padding: 54px 15px 64px;
		background-position: center top;
	}

	.what__box {
		text-align: center;
		margin-top: 34px;
		padding: 28px 20px;
		border-radius: 16px;
	}

	.what__box p {
		margin-top: 14px;
		font-size: 13px;
		line-height: 1.85;
	}

	.what__box p small {
		font-size: 12px;
	}

	.osusume {
		overflow: hidden;
		margin-top: -6.933vw;
		padding: 13.333vw 3.733vw 0;
		background-position: center top;
		background-image: url(../img/bg_osusume_sp.png);
	}

	.osusume__inner {
		display: block;
		width: 100%;
		min-height: unset;
		padding-bottom: 10.667vw;
	}

	.osusume__image {
		position: absolute;
		left: auto;
		right: -28vw;
		top: 5vw;
		z-index: 0;
		width: 79vw;
		max-width: none;
		opacity: 1;
		transform: none;
		min-width: unset;
	}

	.osusume__image img {
		max-width: none;
	}

	.osusume__content {
		position: relative;
		z-index: 1;
		max-width: 100%;
		width: 64vw;
		min-width: 0;
		margin: 0;
		padding-top: 0;
	}

	.osusume__title {
		width: 100%;
		margin: 0 0 5.867vw;
		padding: 2.4vw 2.667vw;
		font-size: 4.467vw;
	}

	.osusume__title:after {
		left: 45%;
		bottom: -3.2vw;
		border-width: 3.733vw 1.6vw 0 1.6vw;
		transform: translateX(-50%) skewX(40deg);
	}

	.osusume__list {
		width: 100%;
		margin: 0;
		padding: 5.867vw 4.267vw 6.4vw;
		background-color: rgba(116, 175, 241, 0.76);
		box-shadow: 2.133vw 2.133vw 0 rgba(116, 175, 241, 0.22);
	}

	.osusume__list li {
		margin-top: 3.2vw;
		padding-left: 5.333vw;
		font-size: 2.933vw;
		line-height: 1.55;
	}

	.osusume__list li br {
		display: none;
	}

	.osusume__list li:before {
		top: 0.45em;
		width: 3.2vw;
		height: 2.933vw;
	}

	.about {
		padding-top: 14.4vw;
	}

	.about-block {
		background-size: auto 100%;
	}

	.about__heading {
		margin-bottom: 9.067vw;
		padding: 0 4vw;
	}

	.about-block__inner,
	.about-block--left .about-block__inner {
		display: grid;
		grid-template-columns: 42% 58%;
		align-items: center;
		width: 100%;
		min-height: 0;
		padding: 9.6vw 4vw 9.067vw;
	}

	.about-block__point,
	.about-block--left .about-block__point {
		top: 4.267vw;
		left: 2vw;
		right: auto;
		width: 11.2vw;
	}

	.about-block__image,
	.about-block--right .about-block__image,
	.about-block--left .about-block__image {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
	}

	.about-block__text {
		display: contents;
		padding: 0;
	}

	.about-block__lead {
		grid-column: 2;
		grid-row: 1;
		align-self: center;
		padding-left: 3.733vw;
	}

	.about-block--left .about-block__inner {
		grid-template-columns: 58% 42%;
	}

	.about-block--left .about-block__point {
		top: 4.267vw;
		left: auto;
		right: 34vw;
	}

	.about-block--left .about-block__lead {
		grid-column: 1;
		padding-right: 3.733vw;
		padding-left: 0;
	}

	.about-block--left .about-block__image {
		grid-column: 2;
		justify-self: end;
	}

	.about-block__title {
		margin: 0;
		font-size: 3.733vw;
		line-height: 1.5;
	}

	.about-block__title:after {
		content: "";
		display: block;
		width: 100%;
		height: 0.267vw;
		margin-top: 3.2vw;
		background-color: #5076a2;
	}

	.about-block__text p {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: 4.8vw;
		font-size: 3.2vw;
		line-height: 1.85;
	}

	.comparison {
		padding: 54px 15px 62px;
		overflow: hidden;
	}

	.comparison__scroll {
		margin-top: 34px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 12px;
	}

	.comparison-table {
		width: 780px;
		max-width: none;
		margin-left: 0;
		font-size: 12px;
		line-height: 1.45;
	}

	.comparison-table th,
	.comparison-table td {
		padding: 14px 10px;
	}

	.price {
		padding: 56px 15px 64px;
	}

	.section-heading__en {
		font-size: 36px;
	}

	.section-heading__ja {
		font-size: 14px;
	}

	.price__body {
		margin-top: 28px;
	}

	.price-table {
		margin-top: 24px;
	}

	.price-table__head {
		padding: 10px 12px;
		font-size: 14px;
	}

	.price-table__part,
	.price-table__fee {
		padding: 13px 12px;
	}

	.price-table__part {
		font-size: 13px;
	}

	.price-table__num {
		font-size: 34px;
	}

	.price-table__unit {
		font-size: 25px;
	}

	.price-table__currency {
		margin-left: 4px;
		font-size: 12px;
	}

	.photo {
		padding: 54px 15px 60px;
	}

	.photo__list {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-top: 30px;
	}

	.faq {
		padding: 48px 15px 58px;
	}

	.faq__list {
		margin-top: 30px;
	}

	.faq-item {
		margin-top: 18px;
	}

	.faq-item__question {
		padding: 17px 16px;
	}

	.faq-item__answer {
		padding: 18px 16px 20px;
	}

	.faq-item__icon {
		flex-basis: 26px;
		width: 26px;
		height: 26px;
		font-size: 16px;
		line-height: 22px;
	}

	.faq-item__question p,
	.faq-item__answer p {
		padding-left: 12px;
		font-size: 13px;
		line-height: 1.75;
	}
}

@media screen and (max-width: 374px) {
	.section-nav__ja {
		font-size: 13px;
	}

	.what__box {
		padding-right: 16px;
		padding-left: 16px;
	}


	.osusume__content {
		width: 68vw;
		min-width: 0;
	}

	.osusume__list {
		padding-right: 4.8vw;
		padding-left: 4.8vw;
	}

	.price-table__part,
	.price-table__fee {
		padding-right: 10px;
		padding-left: 10px;
	}

	.price-table__num {
		font-size: 31px;
	}

	.price-table__unit {
		font-size: 23px;
	}

	.price-table__currency {
		font-size: 11px;
	}
}
