*, *::before, *::after {
	box-sizing: border-box
}
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth
}
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol {
	margin: 0
}
ul, ol {
	padding: 0;
	list-style: none
}
img, picture, video, svg {
	display: block;
	max-width: 100%;
	height: auto
}
a {
	text-decoration: none
}
button, input, select, textarea {
	padding: 0;
	color: inherit;
	font: inherit;
	background: none;
	border: 0;
	border-radius: 0;
	appearance: none
}
button {
	cursor: pointer
}
table {
	width: 100%;
	border-collapse: collapse
}
address {
	font-style: normal
}
@media(prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto
	}
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important
	}
}
@font-face {
	font-family: "LP Hiragino";
	font-weight: 400;
	src: local("HiraginoSans-W4"), local("HiraKakuProN-W3")
}
@font-face {
	font-family: "LP Hiragino";
	font-weight: 500;
	src: local("HiraginoSans-W4"), local("HiraKakuProN-W3")
}
@font-face {
	font-family: "LP Hiragino";
	font-weight: 700;
	src: local("HiraginoSans-W6"), local("HiraKakuProN-W6")
}
@font-face {
	font-family: "LP Hiragino";
	font-weight: 900;
	src: local("HiraginoSans-W7"), local("HiraKakuProN-W6")
}
:root {
	--color-navy: #073190;
	--color-red: #e60012;
	--color-yellow: #ffe64d;
	--color-text: #313232;
	--header-height: 56px
}
@media screen and (min-width: 768px) {
	:root {
		--header-height: 74px
	}
}
body {
	color: #313232;
	font-family: "LP Hiragino", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
	font-weight: 500;
	font-size: .875rem;
	line-height: 1.7;
	letter-spacing: .04em;
	background-color: #fff
}
@media screen and (min-width: 768px) {
	body {
		font-size: 1rem
	}
}
:where(main, .l-header, .l-footer, .l-fixed-cta) a {
	color: inherit
}
[id] {
	scroll-margin-top: calc(var(--header-height) + 8px)
}
::selection {
	color: #fff;
	background-color: #073190
}
.js-inview {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .8s cubic-bezier(0.22, 0.61, 0.36, 1), transform .8s cubic-bezier(0.22, 0.61, 0.36, 1)
}
.js-inview.is-inview {
	opacity: 1;
	transform: none
}
.c-offer {
	width: 83.84vw;
	margin-inline: auto;
	padding: 0 1.0666666667vw 1.0666666667vw;
	background-color: #fff
}
@media screen and (min-width: 768px) {
	.c-offer {
		width: min(89.212962963vw, 1284.6666666667px);
		padding: 0 min(.3703703704vw, 5.3333333333px) min(.3703703704vw, 5.3333333333px);
		border: 1px solid #333
	}
}
.c-offer__title {
	padding-block: 1.4133333333vw;
	color: #005dad;
	font-size: 3.2vw;
	font-weight: 900;
	letter-spacing: .082em;
	line-height: 1.2;
	text-align: center
}
@media screen and (min-width: 768px) {
	.c-offer__title {
		padding-block: min(.9537037037vw, 13.7333333333px);
		font-size: min(3.1481481481vw, 45.3333333333px);
		letter-spacing: .04em
	}
}
.c-offer__body {
	padding: 3.92vw 4.8vw 4.2666666667vw;
	background-color: #005dad
}
@media screen and (min-width: 768px) {
	.c-offer__body {
		padding: min(2.1388888889vw, 30.8px) min(3.1481481481vw, 45.3333333333px) min(1.5462962963vw, 22.2666666667px)
	}
}
.c-offer__subject {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 1.6vw;
	color: #fff;
	line-height: 1;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.c-offer__subject {
		gap: min(1.4814814815vw, 21.3333333333px)
	}
}
.c-offer__subject-main {
	font-size: 4.8vw;
	font-weight: 700;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.c-offer__subject-main {
		font-size: min(3.6666666667vw, 52.8px)
	}
}
.c-offer__subject-sub {
	font-size: 3.2vw;
	font-weight: 700;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.c-offer__subject-sub {
		font-size: min(2.75vw, 39.6px)
	}
}
.c-offer__price {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.6vw;
	margin-top: 2.4533333333vw
}
@media screen and (min-width: 768px) {
	.c-offer__price {
		gap: min(.6481481481vw, 9.3333333333px);
		margin-top: min(1.1666666667vw, 16.8px)
	}
}
.c-offer__badge {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 16.9333333333vw;
	height: 16.9333333333vw;
	color: #005dad;
	font-size: 2.9333333333vw;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.35;
	text-align: center;
	background-color: #ffe64d;
	border-radius: 50%
}
@media screen and (min-width: 768px) {
	.c-offer__badge {
		width: min(5.3148148148vw, 76.5333333333px);
		height: min(5.3148148148vw, 76.5333333333px);
		font-size: min(1.1296296296vw, 16.2666666667px)
	}
}
.c-offer__amount {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #ffe64d;
	font-weight: 700;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.c-offer__amount {
		flex-direction: row;
		align-items: baseline
	}
}
.c-offer__row {
	display: flex;
	align-items: baseline
}
.c-offer__row + .c-offer__row {
	margin-top: 1.6vw
}
@media screen and (min-width: 768px) {
	.c-offer__row + .c-offer__row {
		margin-top: 0
	}
}
.c-offer__label {
	margin-right: .5333333333vw;
	font-size: 2.9333333333vw;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.c-offer__label {
		margin-right: min(.2777777778vw, 4px);
		font-size: min(2.8055555556vw, 40.4px);
		letter-spacing: .018em
	}
}
.c-offer__num {
	font-size: 5.6vw
}
@media screen and (min-width: 768px) {
	.c-offer__num {
		font-size: min(4.1018518519vw, 59.0666666667px)
	}
}
.c-offer__unit {
	font-size: 2.9333333333vw;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.c-offer__unit {
		font-size: min(2.0648148148vw, 29.7333333333px)
	}
}
.c-offer__unit--yen {
	font-size: 3.2vw
}
@media screen and (min-width: 768px) {
	.c-offer__unit--yen {
		font-size: min(2.75vw, 39.6px)
	}
}
.c-offer__times {
	margin-left: -0.15em;
	font-size: 3.4666666667vw;
	font-weight: 500
}
@media screen and (min-width: 768px) {
	.c-offer__times {
		font-size: min(2.8240740741vw, 40.6666666667px)
	}
}
.c-offer__yen {
	font-size: 8.8vw
}
@media screen and (min-width: 768px) {
	.c-offer__yen {
		font-size: min(5.5555555556vw, 80px)
	}
}
.c-offer__tax {
	font-size: 2.4vw;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.c-offer__tax {
		font-size: min(1.6296296296vw, 23.4666666667px)
	}
}
.c-offer__note {
	width: 73.3333333333vw;
	margin-top: 2.6666666667vw;
	margin-left: -.3466666667vw;
	color: #fff;
	font-size: 2.4vw;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5
}
@media screen and (min-width: 768px) {
	.c-offer__note {
		width: min(64.2592592593vw, 925.3333333333px);
		margin-top: min(1.5vw, 21.6px);
		margin-left: min(11.8055555556vw, 170px);
		font-size: min(1.0185185185vw, 14.6666666667px)
	}
}
.c-offer--with-button .c-offer__body {
	position: relative
}
.c-cta-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 79.2vw;
	min-height: 13.8666666667vw;
	margin-inline: auto;
	padding-inline: 4.2666666667vw;
	color: #fff;
	text-align: center;
	background-color: red;
	border-radius: 999px;
	box-shadow: 0 0 0 .7866666667vw #fff, 0 0 0 1.56vw red, 0 1.0666666667vw 2.6666666667vw rgba(0, 0, 0, .28);
	transition: transform .4s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media screen and (min-width: 768px) {
	.c-cta-pill {
		width: min(66.6666666667vw, 960px);
		min-height: min(10.4074074074vw, 149.8666666667px);
		padding-inline: min(2.7777777778vw, 40px);
		box-shadow: 0 0 0 min(.2731481481vw, 3.9333333333px) #fff, 0 0 0 min(.5416666667vw, 7.8px) red, 0 min(.3703703704vw, 5.3333333333px) min(1.1111111111vw, 16px) rgba(0, 0, 0, .28)
	}
}
@media(hover: hover) {
	.c-cta-pill:hover {
		transform: translateY(2px);
		box-shadow: 0 0 0 .7866666667vw #fff, 0 0 0 1.56vw red, 0 .5333333333vw 1.6vw rgba(0, 0, 0, .28)
	}
}
@media screen and (hover: hover)and (min-width: 768px) {
	.c-cta-pill:hover {
		box-shadow: 0 0 0 min(.2731481481vw, 3.9333333333px) #fff, 0 0 0 min(.5416666667vw, 7.8px) red, 0 min(.1851851852vw, 2.6666666667px) min(.5555555556vw, 8px) rgba(0, 0, 0, .28)
	}
}
.c-cta-pill__text {
	font-size: 4vw;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.c-cta-pill__text {
		font-size: min(2.8888888889vw, 41.6px)
	}
}
.c-cta-pill__arrow {
	position: relative;
	display: block;
	flex-shrink: 0;
	width: 5.1733333333vw;
	height: 5.1733333333vw;
	margin-left: 1.2533333333vw;
	background-color: #fff;
	border-radius: 50%
}
@media screen and (min-width: 768px) {
	.c-cta-pill__arrow {
		width: min(2.9907407407vw, 43.0666666667px);
		height: min(2.9907407407vw, 43.0666666667px);
		margin-left: min(.9444444444vw, 13.6px)
	}
}
.c-cta-pill__arrow::before {
	position: absolute;
	top: 50%;
	left: 54%;
	width: 0;
	height: 0;
	border-top: 1.0666666667vw solid rgba(0, 0, 0, 0);
	border-bottom: 1.0666666667vw solid rgba(0, 0, 0, 0);
	border-left: 1.7066666667vw solid #e73828;
	transform: translate(-50%, -50%);
	content: ""
}
@media screen and (min-width: 768px) {
	.c-cta-pill__arrow::before {
		left: min(1.3425925926vw, 19.3333333333px);
		border-top-width: min(.9259259259vw, 13.3333333333px);
		border-bottom-width: min(.9259259259vw, 13.3333333333px);
		border-left-width: min(1.3240740741vw, 19.0666666667px);
		transform: translateY(-50%)
	}
}
.c-faq {
	display: grid;
	gap: 3.7333333333vw;
	width: 89.8666666667vw;
	margin-inline: auto
}
@media screen and (min-width: 768px) {
	.c-faq {
		grid-template-columns: repeat(2, min(34.9444444444vw, 503.2px));
		gap: min(2.7685185185vw, 39.8666666667px) min(2.4259259259vw, 34.9333333333px);
		align-items: start;
		justify-content: center;
		width: auto
	}
}
.c-faq__item {
	overflow: hidden;
	background-color: #fff;
	border-radius: 1.0666666667vw
}
@media screen and (min-width: 768px) {
	.c-faq__item {
		border-radius: min(.3703703704vw, 5.3333333333px)
	}
}
.c-faq__trigger {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	width: 100%;
	min-height: 14.9333333333vw;
	text-align: left
}
@media screen and (min-width: 768px) {
	.c-faq__trigger {
		grid-template-columns: min(6.1574074074vw, 88.6666666667px) 1fr min(7.6666666667vw, 110.4px);
		min-height: min(6.9444444444vw, 100px)
	}
}
.c-faq__mark {
	display: grid;
	align-items: center;
	padding-inline: 4.9066666667vw 3.2vw
}
@media screen and (min-width: 768px) {
	.c-faq__mark {
		padding-inline: min(1.8888888889vw, 27.2px) 0
	}
}
.c-faq__mark img {
	width: 8.16vw
}
@media screen and (min-width: 768px) {
	.c-faq__mark img {
		width: min(2.8333333333vw, 40.8px);
		margin-top: min(.2777777778vw, 4px)
	}
}
.c-faq__question {
	padding-block: 2.1333333333vw;
	color: #012a6a;
	font-size: 3.4666666667vw;
	font-weight: 900;
	letter-spacing: .03em;
	line-height: 1.4
}
@media screen and (min-width: 768px) {
	.c-faq__question {
		padding-block: min(.3703703704vw, 5.3333333333px);
		padding-right: min(.7407407407vw, 10.6666666667px);
		font-size: min(1.4814814815vw, 21.3333333333px);
		line-height: 1.63
	}
}
.c-faq__toggle {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 2.1333333333vw;
	align-self: stretch;
	width: 13.8666666667vw;
	color: #fff;
	background-color: #012a6a
}
@media screen and (min-width: 768px) {
	.c-faq__toggle {
		width: auto;
		gap: min(1.4814814815vw, 21.3333333333px);
		padding-top: min(.1851851852vw, 2.6666666667px)
	}
}
.c-faq__toggle-icon {
	width: 3.4666666667vw;
	height: 2.24vw;
	background: url("../img/svgs/icon-faq-chevron.svg") no-repeat center/contain;
	transition: transform .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media screen and (min-width: 768px) {
	.c-faq__toggle-icon {
		width: min(1.5925925926vw, 22.9333333333px);
		height: min(1.0277777778vw, 14.8px)
	}
}
.c-faq__toggle-label {
	font-size: 2.6666666667vw;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.c-faq__toggle-label {
		font-size: min(1.2037037037vw, 17.3333333333px)
	}
}
.is-open .c-faq__toggle-icon {
	transform: rotate(180deg)
}
.c-faq__body {
	overflow: hidden;
	transition: height .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
.c-faq__answer {
	padding: 3.2vw 4.2666666667vw 4.2666666667vw;
	border-top: 1px dotted #d5d5d4;
	color: #000;
	font-size: 3.0666666667vw;
	letter-spacing: .1em;
	line-height: 1.9
}
@media screen and (min-width: 768px) {
	.c-faq__answer {
		padding: min(1.4814814815vw, 21.3333333333px) min(1.8518518519vw, 26.6666666667px) min(2.037037037vw, 29.3333333333px) min(1.6296296296vw, 23.4666666667px);
		font-size: min(1.2314814815vw, 17.7333333333px)
	}
}
.c-faq__answer p + p {
	margin-top: 1em
}
.c-faq__answer em {
	color: #e60012;
	font-style: normal
}
.c-faq__links {
	margin-top: 1.2em
}
.c-faq__links li {
	display: flex
}
.c-faq__links li + li {
	margin-top: .13em
}
.c-faq__links a {
	position: relative;
	display: inline-block;
	padding-right: 6.6666666667vw;
	font-weight: 700
}
@media screen and (min-width: 768px) {
	.c-faq__links a {
		padding-right: min(2.5555555556vw, 36.8px)
	}
}
@media(hover: hover) {
	.c-faq__links a:hover {
		text-decoration: underline
	}
}
.c-faq__links a::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 3.4666666667vw;
	height: 3.4666666667vw;
	background: url("../img/svgs/icon-link-arrow.svg") no-repeat center/contain;
	transform: translateY(-50%);
	content: ""
}
@media screen and (min-width: 768px) {
	.c-faq__links a::after {
		width: min(1.287037037vw, 18.5333333333px);
		height: min(1.287037037vw, 18.5333333333px)
	}
}
.l-header {
	position: relative;
	z-index: 1000;
	background-color: #fff
}
.l-header__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "logo group""contact contact";
	align-items: center;
	padding: 4vw 5.0666666667vw 2.4vw 4.5333333333vw;
	row-gap: 2.4vw
}
@media screen and (min-width: 768px) {
	.l-header__inner {
		grid-template-columns: auto auto auto 1fr;
		grid-template-areas: "logo classrooms group contact";
		column-gap: min(1.6666666667vw, 24px);
		padding: min(1.1759259259vw, 16.9333333333px) min(7.4074074074vw, 106.6666666667px) min(1.2592592593vw, 18.1333333333px) min(8.4259259259vw, 121.3333333333px)
	}
}
.l-header__logo {
	grid-area: logo;
	width: 48.4vw
}
@media screen and (min-width: 768px) {
	.l-header__logo {
		width: min(21.3888888889vw, 308px)
	}
}
.l-header__logo img {
	width: 100%
}
.l-header__classrooms {
	grid-area: classrooms;
	color: #073190;
	font-weight: 700;
	line-height: 1.2;
	text-align: center
}
.l-header__classrooms-main {
	display: block;
	font-size: min(1.2037037037vw, 17.3333333333px)
}
.l-header__count {
	padding-inline: min(.1851851852vw, 2.6666666667px);
	font-size: min(2.1296296296vw, 30.6666666667px)
}
.l-header__asof {
	display: block;
	font-size: min(.8333333333vw, 12px)
}
.l-header__group {
	display: flex;
	grid-area: group;
	align-items: center;
	gap: 1.0666666667vw;
	padding-left: 2.6133333333vw
}
@media screen and (min-width: 768px) {
	.l-header__group {
		gap: min(.5555555556vw, 8px);
		padding-left: min(1.3888888889vw, 20px)
	}
}
.l-header__group img:last-child {
	width: 20.2133333333vw
}
@media screen and (min-width: 768px) {
	.l-header__group img:last-child {
		width: min(11.2037037037vw, 161.3333333333px)
	}
}
.l-header__switch {
	width: 2.9866666667vw
}
@media screen and (min-width: 768px) {
	.l-header__switch {
		width: min(1.6574074074vw, 23.8666666667px)
	}
}
.l-header__contact {
	display: grid;
	grid-area: contact;
	grid-template-columns: auto auto;
	grid-template-areas: "tel lead""tel hours";
	align-items: center;
	justify-content: space-between;
	column-gap: .8vw
}
@media screen and (min-width: 768px) {
	.l-header__contact {
		grid-template-columns: auto;
		grid-template-areas: "lead""tel""hours";
		row-gap: min(.0972222222vw, 1.4px);
		justify-self: end;
		justify-items: start;
		width: min(16.6574074074vw, 239.8666666667px)
	}
}
.l-header__lead {
	grid-area: lead;
	color: #313232;
	white-space: nowrap;
	font-size: 2.4vw;
	letter-spacing: .07em;
	line-height: 1.3
}
@media screen and (min-width: 768px) {
	.l-header__lead {
		font-size: min(1.0185185185vw, 14.6666666667px);
		letter-spacing: .079em
	}
}
.l-header__lead .is-accent {
	color: #e60012
}
.l-header__tel {
	display: flex;
	grid-area: tel;
	align-items: center;
	gap: 2.6133333333vw;
	color: #000;
	white-space: nowrap;
	font-size: 6.1333333333vw;
	font-weight: 700;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.l-header__tel {
		gap: min(.5555555556vw, 8px);
		margin-left: min(-2.962962963vw, -42.6666666667px);
		font-size: min(2.3981481481vw, 34.5333333333px)
	}
}
.l-header__tel img {
	width: 8.16vw
}
@media screen and (min-width: 768px) {
	.l-header__tel img {
		width: min(2.4444444444vw, 35.2px)
	}
}
.l-header__tel .l-header__tel-img {
	display: block;
	width: 37.6533333333vw
}
@media screen and (min-width: 768px) {
	.l-header__tel .l-header__tel-img {
		width: min(14.712962963vw, 211.8666666667px)
	}
}
.l-header__hours {
	grid-area: hours;
	color: #073190;
	font-size: 1.8666666667vw;
	letter-spacing: -0.02em;
	line-height: 1.3;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.l-header__hours {
		margin-left: min(.1296296296vw, 1.8666666667px);
		font-size: min(.7407407407vw, 10.6666666667px);
		letter-spacing: 0
	}
}
.l-footer {
	padding-block: 4.2666666667vw 18.6666666667vw;
	color: #fff;
	background-color: #00183e
}
@media screen and (min-width: 768px) {
	.l-footer {
		padding-block: min(4.6296296296vw, 66.6666666667px) min(2.2222222222vw, 32px)
	}
}
.l-footer__inner {
	width: 89.8666666667vw;
	margin-inline: auto
}
@media screen and (min-width: 768px) {
	.l-footer__inner {
		width: min(77.7777777778vw, 1120px)
	}
}
.l-footer__note {
	font-size: 2.2666666667vw;
	font-weight: 400;
	line-height: 1.6
}
@media screen and (min-width: 768px) {
	.l-footer__note {
		font-size: min(.9259259259vw, 13.3333333333px)
	}
}
.l-footer__copyright {
	margin-top: 2.6666666667vw;
	font-size: 2.4vw;
	font-weight: 400;
	text-align: center
}
@media screen and (min-width: 768px) {
	.l-footer__copyright {
		margin-top: min(1.4814814815vw, 21.3333333333px);
		font-size: min(.9259259259vw, 13.3333333333px)
	}
}
.l-fixed-cta {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 900;
	padding: 2.1333333333vw 2.6666666667vw calc(2.1333333333vw + env(safe-area-inset-bottom));
	background-color: rgba(255, 255, 255, .94);
	box-shadow: 0 -.5333333333vw 2.1333333333vw rgba(0, 0, 0, .15);
	transform: translateY(110%);
	transition: transform .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
.l-fixed-cta.is-visible {
	transform: none
}
@media screen and (min-width: 768px) {
	.l-fixed-cta {
		display: none
	}
}
.l-fixed-cta__inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 2.1333333333vw
}
.l-fixed-cta__btn {
	display: grid;
	place-items: center;
	min-height: 11.7333333333vw;
	padding: 1.6vw;
	color: #fff;
	font-size: 3.4666666667vw;
	font-weight: 700;
	letter-spacing: .04em;
	text-align: center;
	border-radius: 1.6vw
}
.l-fixed-cta__btn--trial {
	background-color: #d52222;
	box-shadow: 0 .8vw 0 #ad1c1c
}
.l-fixed-cta__btn--tel {
	background-color: #073190;
	box-shadow: 0 .8vw 0 #112f5a
}
.p-kv {
	display: grid;
	overflow: hidden
}
.p-kv > * {
	grid-area: 1/1
}
.p-kv__visual img {
	width: 100%;
	height: auto
}
.p-kv__body {
	position: relative;
	padding: 8.2666666667vw 5.3333333333vw 6.9333333333vw 8.5333333333vw
}
@media screen and (min-width: 768px) {
	.p-kv__body {
		padding: min(5.9259259259vw, 85.3333333333px) min(3.7037037037vw, 53.3333333333px) min(3.8888888889vw, 56px) min(9.8796296296vw, 142.2666666667px)
	}
}
.p-kv__title {
	display: block;
	margin: 0;
	font-weight: 700
}
.p-kv__lead {
	display: flex;
	margin-left: 0
}
@media screen and (min-width: 768px) {
	.p-kv__lead {
		margin-left: min(.5vw, 7.2px)
	}
}
.p-kv__lead {
	align-items: center;
	gap: 1.6vw;
	color: #000;
	font-size: 2.6666666667vw;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.p-kv__lead {
		gap: min(1.1111111111vw, 16px);
		font-size: min(2.3148148148vw, 33.3333333333px)
	}
}
.p-kv__slash {
	font-weight: 400
}
.p-kv__slash:first-child {
	transform: scaleX(-1)
}
.p-kv__brand {
	display: flex;
	align-items: baseline;
	margin-top: 1.7333333333vw;
	margin-left: .5333333333vw;
	color: #112f5a;
	font-size: 5.6vw;
	letter-spacing: -0.054em;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.p-kv__brand {
		margin-top: min(1.8518518519vw, 26.6666666667px);
		margin-left: min(.1018518519vw, 1.4666666667px);
		font-size: min(5.5555555556vw, 80px);
		letter-spacing: 0
	}
}
.p-kv__ie {
	width: 5.9466666667vw;
	margin-inline: .5333333333vw 1.6vw;
	align-self: center
}
@media screen and (min-width: 768px) {
	.p-kv__ie {
		width: min(5.5092592593vw, 79.3333333333px);
		margin-inline: min(.3703703704vw, 5.3333333333px) min(1.2962962963vw, 18.6666666667px)
	}
}
.p-kv__no {
	font-size: 4vw;
	letter-spacing: 0
}
@media screen and (min-width: 768px) {
	.p-kv__no {
		font-size: min(3.8888888889vw, 56px)
	}
}
.p-kv__label {
	display: flex;
	margin-top: 1.4666666667vw;
	margin-left: .7733333333vw
}
@media screen and (min-width: 768px) {
	.p-kv__label {
		margin-top: min(1.2037037037vw, 17.3333333333px);
		margin-left: min(.7962962963vw, 11.4666666667px)
	}
}
.p-kv__label span {
	display: grid;
	place-items: center;
	width: 8.8533333333vw;
	height: 8.6133333333vw;
	color: #d10016;
	font-size: 6.4vw;
	font-weight: 900;
	line-height: 1;
	border: .2666666667vw solid #d10016
}
@media screen and (min-width: 768px) {
	.p-kv__label span {
		width: min(8.0555555556vw, 116px);
		height: min(7.8333333333vw, 112.8px);
		font-size: min(6.1018518519vw, 87.8666666667px);
		border-width: min(.0925925926vw, 1.3333333333px)
	}
}
.p-kv__label span + span {
	margin-left: -.2666666667vw
}
@media screen and (min-width: 768px) {
	.p-kv__label span + span {
		margin-left: min(-.0925925926vw, -1.3333333333px)
	}
}
.p-kv__points {
	margin-top: 3.3333333333vw;
	margin-left: .8vw
}
@media screen and (min-width: 768px) {
	.p-kv__points {
		margin-top: min(3.2407407407vw, 46.6666666667px);
		margin-left: 0
	}
}
.p-kv__points li {
	position: relative;
	padding-left: 4vw;
	color: #000;
	font-size: 2.4vw;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.p-kv__points li {
		padding-left: min(3.5185185185vw, 50.6666666667px);
		font-size: min(2.1296296296vw, 30.6666666667px)
	}
}
.p-kv__points li + li {
	margin-top: 2.9333333333vw
}
@media screen and (min-width: 768px) {
	.p-kv__points li + li {
		margin-top: min(2.037037037vw, 29.3333333333px)
	}
}
.p-kv__points li::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 2.64vw;
	height: 2.64vw;
	background: url("../img/svgs/icon-check.svg") no-repeat center/contain;
	transform: translateY(-50%);
	content: ""
}
@media screen and (min-width: 768px) {
	.p-kv__points li::before {
		width: min(2.0555555556vw, 29.6px);
		height: min(2.0555555556vw, 29.6px)
	}
}
.p-offer {
	position: relative;
	margin-top: -6.2133333333vw;
	padding-bottom: 5.8666666667vw
}
@media screen and (min-width: 768px) {
	.p-offer {
		margin-top: min(-4.2037037037vw, -60.5333333333px);
		padding-bottom: min(2.5vw, 36px)
	}
}
.p-offer::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 66.4vw;
	background-color: #c4e7f9;
	content: ""
}
@media screen and (min-width: 768px) {
	.p-offer::before {
		height: min(30.8333333333vw, 444px)
	}
}
.p-offer > * {
	position: relative
}
.p-offer .c-cta-pill {
	margin-top: 5.3333333333vw
}
@media screen and (min-width: 768px) {
	.p-offer .c-cta-pill {
		margin-top: min(3.8055555556vw, 54.8px)
	}
}
.p-trouble {
	background-color: #c4e7f9
}
.p-trouble__inner {
	width: 89.8666666667vw;
	margin-inline: auto;
	padding: 9.9733333333vw 4vw 8vw;
	background-color: #fff;
	border-radius: 1.6vw
}
@media screen and (min-width: 768px) {
	.p-trouble__inner {
		width: min(89.75vw, 1292.4px);
		padding: min(3.1296296296vw, 45.0666666667px) min(4.1111111111vw, 59.2px) min(4.4351851852vw, 63.8666666667px);
		border-radius: min(1.8518518519vw, 26.6666666667px)
	}
}
.p-trouble__heading {
	color: #005dad;
	font-size: 4.5333333333vw;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1.2;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-trouble__heading {
		font-size: min(2.3055555556vw, 33.2px)
	}
}
.p-trouble__accent {
	color: #d10016;
	font-size: 5.1733333333vw
}
@media screen and (min-width: 768px) {
	.p-trouble__accent {
		font-size: min(2.6203703704vw, 37.7333333333px)
	}
}
.p-trouble__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4.0266666667vw 4vw;
	justify-content: center;
	margin-top: 4vw
}
@media screen and (min-width: 768px) {
	.p-trouble__list {
		grid-template-columns: repeat(5, 1fr);
		gap: min(.8703703704vw, 12.5333333333px);
		margin-top: min(2.0092592593vw, 28.9333333333px)
	}
}
.p-trouble__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 34.0266666667vw;
	padding: 4.2666666667vw 1.6vw 3.7333333333vw;
	border: .5333333333vw solid #e5e5e5;
	border-radius: 1.8133333333vw
}
@media screen and (min-width: 768px) {
	.p-trouble__item {
		height: min(13.9814814815vw, 201.3333333333px);
		padding: min(1.7592592593vw, 25.3333333333px) min(.7407407407vw, 10.6666666667px) min(1.8518518519vw, 26.6666666667px);
		border-width: min(.1851851852vw, 2.6666666667px);
		border-radius: min(.6296296296vw, 9.0666666667px)
	}
}
.p-trouble__item:last-child {
	grid-column: 1/-1;
	width: 37.8666666667vw;
	margin-inline: auto
}
@media screen and (min-width: 768px) {
	.p-trouble__item:last-child {
		grid-column: auto;
		width: auto;
		margin-inline: 0
	}
}
.p-trouble__text {
	color: #112f5a;
	font-size: 3.0133333333vw;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.4;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-trouble__text {
		font-size: min(1.0462962963vw, 15.0666666667px)
	}
}
.p-trouble__icon {
	width: auto;
	height: auto;
	margin-top: auto
}
.p-trouble__item:nth-child(1) .p-trouble__icon {
	width: 49.4%
}
.p-trouble__item:nth-child(2) .p-trouble__icon {
	width: 60.1%
}
.p-trouble__item:nth-child(3) .p-trouble__icon {
	width: 39.9%
}
.p-trouble__item:nth-child(4) .p-trouble__icon {
	width: 28.6%
}
.p-trouble__item:nth-child(5) .p-trouble__icon {
	width: 46.4%
}
.p-trouble__arrow {
	width: 13.3333333333vw;
	margin: 3.7333333333vw auto 0
}
@media screen and (min-width: 768px) {
	.p-trouble__arrow {
		width: min(8.0185185185vw, 115.4666666667px);
		margin-top: min(1.6111111111vw, 23.2px)
	}
}
.p-trouble__arrow img {
	width: 100%
}
.p-strength {
	padding-top: 3.7333333333vw;
	background-color: #c4e7f9
}
@media screen and (min-width: 768px) {
	.p-strength {
		padding-top: min(2.75vw, 39.6px)
	}
}
.p-strength__inner {
	width: 89.8666666667vw;
	margin-inline: auto;
	padding: 9.3333333333vw 5.0666666667vw 7.4666666667vw;
	background-color: #fff;
	border-radius: 1.6vw
}
@media screen and (min-width: 768px) {
	.p-strength__inner {
		width: min(89.75vw, 1292.4px);
		padding: min(2.7314814815vw, 39.3333333333px) min(4.3518518519vw, 62.6666666667px) min(4.4814814815vw, 64.5333333333px);
		border-radius: min(1.8518518519vw, 26.6666666667px)
	}
}
.p-strength__heading {
	color: #005dad;
	font-size: 4.7733333333vw;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1.45;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-strength__heading {
		font-size: min(2.3055555556vw, 33.2px);
		line-height: 1.2
	}
}
.p-strength__accent {
	color: #d10016
}
.p-strength__list {
	display: grid;
	gap: 10.2933333333vw;
	margin-top: 8.2666666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__list {
		grid-template-columns: repeat(3, 1fr);
		gap: min(3.5648148148vw, 51.3333333333px) min(.962962963vw, 13.8666666667px);
		margin-top: min(3.5555555556vw, 51.2px)
	}
}
.p-strength__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 75.8933333333vw;
	min-height: 84.72vw;
	margin-inline: auto;
	padding: 10.4vw 6.2666666667vw 3.28vw;
	border: .3786666667vw solid gray;
	border-radius: 3.3866666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__card {
		width: auto;
		min-height: min(29.4166666667vw, 423.6px);
		margin-inline: 0;
		padding: min(3.6111111111vw, 52px) min(2.1759259259vw, 31.3333333333px) min(1.1388888889vw, 16.4px);
		border-width: min(.1314814815vw, 1.8933333333px);
		border-radius: min(1.1759259259vw, 16.9333333333px)
	}
}
.p-strength__card--teal {
	--strength-color: #00a89c
}
.p-strength__card--orange {
	--strength-color: #f6921e
}
.p-strength__card--blue {
	--strength-color: #005dad
}
.p-strength__title {
	position: absolute;
	top: -4.5066666667vw;
	left: 50%;
	display: flex;
	align-items: baseline;
	gap: 1.0666666667vw;
	padding-inline: 2.6666666667vw;
	color: var(--strength-color);
	font-size: 4.9333333333vw;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	background-color: #fff;
	transform: translateX(-50%)
}
@media screen and (min-width: 768px) {
	.p-strength__title {
		top: min(-1.5648148148vw, -22.5333333333px);
		gap: min(.3703703704vw, 5.3333333333px);
		padding-inline: min(.9259259259vw, 13.3333333333px);
		font-size: min(1.712962963vw, 24.6666666667px)
	}
}
.p-strength__num {
	font-size: 7.7333333333vw;
	letter-spacing: .13em
}
@media screen and (min-width: 768px) {
	.p-strength__num {
		font-size: min(2.6851851852vw, 38.6666666667px)
	}
}
.p-strength__lead, .p-strength__foot {
	color: #112f5a;
	font-size: 3.0133333333vw;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.45;
	text-align: center;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.p-strength__lead, .p-strength__foot {
		font-size: min(1.0462962963vw, 15.0666666667px)
	}
}
.p-strength__foot {
	margin-top: auto;
	padding-top: 5.2266666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__foot {
		padding-top: min(1.8148148148vw, 26.1333333333px)
	}
}
.p-strength__tag {
	width: fit-content;
	margin-top: 2.1333333333vw;
	padding: .8vw 3.7333333333vw;
	text-align: center;
	white-space: nowrap;
	color: #fff;
	font-size: 3.0133333333vw;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.2;
	border-radius: 1.0666666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__tag {
		margin-top: min(.7407407407vw, 10.6666666667px);
		padding: min(.2777777778vw, 4px) min(1.2962962963vw, 18.6666666667px);
		font-size: min(1.0462962963vw, 15.0666666667px);
		border-radius: min(.3703703704vw, 5.3333333333px)
	}
}
.p-strength__tag--navy {
	background-color: #112f5a
}
.p-strength__tag--orange {
	background-color: #f6921e
}
.p-strength__tag + .p-strength__media {
	margin-top: 3.8666666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__tag + .p-strength__media {
		margin-top: min(1.3425925926vw, 19.3333333333px)
	}
}
.p-strength__media {
	width: 100%;
	margin-top: 4vw
}
@media screen and (min-width: 768px) {
	.p-strength__media {
		margin-top: min(1.3888888889vw, 20px)
	}
}
.p-strength__media img {
	width: 100%
}
.p-strength__card:nth-child(3) .p-strength__media {
	width: 58.6666666667vw
}
@media screen and (min-width: 768px) {
	.p-strength__card:nth-child(3) .p-strength__media {
		width: min(20.3703703704vw, 293.3333333333px)
	}
}
.p-strength__card:nth-child(6) .p-strength__media {
	width: 58.7733333333vw
}
@media screen and (min-width: 768px) {
	.p-strength__card:nth-child(6) .p-strength__media {
		width: min(20.4074074074vw, 293.8666666667px)
	}
}
.p-strength__subjects {
	display: grid;
	grid-template-columns: repeat(4, 11.7333333333vw);
	justify-content: space-between;
	gap: .2133333333vw 0;
	width: 100%;
	margin-top: 2.16vw
}
@media screen and (min-width: 768px) {
	.p-strength__subjects {
		grid-template-columns: repeat(4, min(4.0740740741vw, 58.6666666667px));
		gap: min(.0740740741vw, 1.0666666667px) 0;
		margin-top: min(.75vw, 10.8px)
	}
}
.p-strength__subjects li {
	color: #112f5a;
	font-size: 1.9466666667vw;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-strength__subjects li {
		font-size: min(.6759259259vw, 9.7333333333px)
	}
}
.p-strength__subjects img {
	width: 10vw;
	margin: 0 auto .5333333333vw
}
@media screen and (min-width: 768px) {
	.p-strength__subjects img {
		width: min(3.4722222222vw, 50px);
		margin-bottom: min(.1851851852vw, 2.6666666667px)
	}
}
.p-strength__note {
	margin-top: 1.0666666667vw;
	color: gray;
	font-size: 2.2666666667vw;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.3;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-strength__note {
		margin-top: min(.3703703704vw, 5.3333333333px);
		font-size: min(.787037037vw, 11.3333333333px)
	}
}
.p-movie {
	padding-block: 6.4vw 8vw;
	background-color: #c4e7f9
}
@media screen and (min-width: 768px) {
	.p-movie {
		padding-block: min(7.1851851852vw, 103.4666666667px) min(7.1111111111vw, 102.4px)
	}
}
.p-movie__heading {
	color: #000;
	font-size: 4vw;
	font-weight: 900;
	letter-spacing: .05em;
	line-height: 1.2;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-movie__heading {
		font-size: min(2.4722222222vw, 35.6px)
	}
}
.p-movie__frame {
	width: 89.8666666667vw;
	margin: 3.2vw auto 0;
	border: .2666666667vw solid #d5d5d4
}
@media screen and (min-width: 768px) {
	.p-movie__frame {
		width: min(63.3518518519vw, 912.2666666667px);
		margin-top: min(2.4537037037vw, 35.3333333333px);
		border-width: min(.0925925926vw, 1.3333333333px)
	}
}
.p-movie__frame {
	position: relative;
	aspect-ratio: 16/9
}
.p-movie__frame img, .p-movie__frame iframe {
	display: block;
	width: 100%;
	height: 100%
}
.p-movie__frame iframe {
	border: 0
}
.p-movie__play {
	display: block;
	height: 100%;
	transition: opacity .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media(hover: hover) {
	.p-movie__play:hover {
		opacity: .85
	}
}
.p-movie__play:focus-visible {
	outline: 3px solid #005dad;
	outline-offset: 2px
}
.p-course {
	padding-block: 6.9333333333vw 16.0266666667vw;
	background-color: #fff
}
@media screen and (min-width: 768px) {
	.p-course {
		padding-block: min(4.2777777778vw, 61.6px) min(7.4259259259vw, 106.9333333333px)
	}
}
.p-course__heading {
	color: #005dad;
	font-size: 4vw;
	font-weight: 900;
	letter-spacing: .05em;
	line-height: 1.45;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-course__heading {
		font-size: min(2.3055555556vw, 33.2px);
		line-height: 1.2
	}
}
.p-course__accent {
	color: #d10016
}
.p-course__sub {
	margin-top: 3.2vw;
	font-size: 3.4666666667vw;
	font-weight: 900;
	letter-spacing: .13em;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-course__sub {
		margin-top: min(1.2685185185vw, 18.2666666667px);
		font-size: min(1.6296296296vw, 23.4666666667px)
	}
}
.p-course__sub span {
	background: linear-gradient(transparent 60%, #ff0 60%)
}
.p-course__grades {
	display: grid;
	gap: 5.36vw;
	width: 78.48vw;
	margin: 4.2666666667vw auto 0
}
@media screen and (min-width: 768px) {
	.p-course__grades {
		grid-template-columns: repeat(3, min(27.25vw, 392.4px));
		gap: min(4.1111111111vw, 59.2px);
		justify-content: center;
		width: auto;
		margin-top: min(1.6296296296vw, 23.4666666667px);
		padding-right: min(.4537037037vw, 6.5333333333px)
	}
}
.p-course__grade {
	min-height: 58.8vw;
	padding: 6.9333333333vw 0 5.3333333333vw;
	border-radius: 2.88vw
}
@media screen and (min-width: 768px) {
	.p-course__grade {
		min-height: min(20.4166666667vw, 294px);
		padding: min(2.4074074074vw, 34.6666666667px) 0 min(1.8518518519vw, 26.6666666667px);
		border-radius: min(1vw, 14.4px)
	}
}
.p-course__grade--high {
	background-color: #39a6de
}
.p-course__grade--high .p-course__grade-list {
	padding-left: 16.1066666667vw
}
@media screen and (min-width: 768px) {
	.p-course__grade--high .p-course__grade-list {
		padding-left: min(5.5925925926vw, 80.5333333333px)
	}
}
.p-course__grade--junior {
	background-color: #7cad01
}
.p-course__grade--junior .p-course__grade-list {
	padding-left: 17.92vw
}
@media screen and (min-width: 768px) {
	.p-course__grade--junior .p-course__grade-list {
		padding-left: min(6.2222222222vw, 89.6px)
	}
}
.p-course__grade--primary {
	background-color: #ff6301
}
.p-course__grade--primary .p-course__grade-list {
	padding-left: 22.2133333333vw
}
@media screen and (min-width: 768px) {
	.p-course__grade--primary .p-course__grade-list {
		padding-left: min(7.712962963vw, 111.0666666667px)
	}
}
.p-course__grade-title {
	color: #fff;
	font-size: 6.64vw;
	font-weight: 900;
	letter-spacing: .13em;
	line-height: 1.2;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-course__grade-title {
		font-size: min(2.3055555556vw, 33.2px)
	}
}
.p-course__grade-list {
	margin-top: 4.56vw
}
@media screen and (min-width: 768px) {
	.p-course__grade-list {
		margin-top: min(1.5833333333vw, 22.8px)
	}
}
.p-course__grade-list li {
	position: relative;
	padding-left: 7.8666666667vw;
	color: #fff;
	font-size: 3.76vw;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.75
}
@media screen and (min-width: 768px) {
	.p-course__grade-list li {
		padding-left: min(2.7314814815vw, 39.3333333333px);
		font-size: min(1.3055555556vw, 18.8px)
	}
}
.p-course__grade-list li::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 3.8933333333vw;
	height: 3.8933333333vw;
	background: url("../img/svgs/icon-check-circle.svg") no-repeat center/contain;
	transform: translateY(-50%);
	content: ""
}
@media screen and (min-width: 768px) {
	.p-course__grade-list li::before {
		width: min(1.3518518519vw, 19.4666666667px);
		height: min(1.3518518519vw, 19.4666666667px)
	}
}
.p-course__detail {
	padding: 7.4666666667vw 0 0
}
@media screen and (min-width: 768px) {
	.p-course__detail {
		padding: min(3.0648148148vw, 44.1333333333px) min(5.0925925926vw, 73.3333333333px) 0 min(6.0185185185vw, 86.6666666667px)
	}
}
.p-course__detail-heading {
	font-size: 4.8vw;
	font-weight: 900;
	letter-spacing: .1em;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-course__detail-heading {
		font-size: min(2.2592592593vw, 32.5333333333px)
	}
}
.p-course__links {
	display: grid;
	gap: 8vw;
	width: 69.3333333333vw;
	margin: 4.4vw auto 0
}
@media screen and (min-width: 768px) {
	.p-course__links {
		grid-template-columns: repeat(3, min(24.0740740741vw, 346.6666666667px));
		gap: min(2.7962962963vw, 40.2666666667px);
		justify-content: center;
		width: auto;
		margin-top: min(2.5277777778vw, 36.4px)
	}
}
.p-course__links > li {
	display: grid;
	gap: 2.6666666667vw;
	align-content: start
}
@media screen and (min-width: 768px) {
	.p-course__links > li {
		gap: min(1.4074074074vw, 20.2666666667px)
	}
}
.c-course-btn {
	display: grid;
	align-content: start;
	justify-items: start;
	gap: 2.1866666667vw;
	min-height: 21.0933333333vw;
	padding: 3.7066666667vw 11.7333333333vw 0 5.9733333333vw;
	color: #fff;
	border-radius: 1.6vw
}
@media screen and (min-width: 768px) {
	.c-course-btn {
		min-height: min(7.3240740741vw, 105.4666666667px);
		gap: min(.7592592593vw, 10.9333333333px);
		padding: min(1.287037037vw, 18.5333333333px) min(4.0740740741vw, 58.6666666667px) 0 min(2.0740740741vw, 29.8666666667px);
		border-radius: min(.5555555556vw, 8px)
	}
}
.c-course-btn::before {
	position: absolute;
	top: 50%;
	right: 3.44vw;
	width: 6.88vw;
	height: 6.88vw;
	border-radius: 50%;
	transform: translateY(-50%);
	content: ""
}
@media screen and (min-width: 768px) {
	.c-course-btn::before {
		right: min(1.1944444444vw, 17.2px);
		width: min(2.3888888889vw, 34.4px);
		height: min(2.3888888889vw, 34.4px)
	}
}
.c-course-btn--high {
	background-image: linear-gradient(135deg, #39a6de, #417ebd)
}
.c-course-btn--high::before {
	background-color: #034bb5
}
.c-course-btn--junior {
	background-image: linear-gradient(135deg, #7cad01, #529400)
}
.c-course-btn--junior::before {
	background-color: #107b00
}
.c-course-btn--primary {
	background-image: linear-gradient(135deg, #ff6401, #ff4300)
}
.c-course-btn--primary::before {
	background-color: #e92301
}
.c-course-btn--primary .c-course-btn__grades {
	letter-spacing: .194em
}
.c-course-btn__title {
	display: flex;
	align-items: baseline;
	margin-left: .6933333333vw;
	font-weight: 700;
	letter-spacing: .176em;
	line-height: 1;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.c-course-btn__title {
		margin-left: min(.2407407407vw, 3.4666666667px)
	}
}
.c-course-btn__title b {
	font-size: 6.6666666667vw;
	font-weight: 700
}
@media screen and (min-width: 768px) {
	.c-course-btn__title b {
		font-size: min(2.3148148148vw, 33.3333333333px)
	}
}
.c-course-btn__title small, .c-course-btn__title em {
	font-size: 4vw;
	font-style: normal
}
@media screen and (min-width: 768px) {
	.c-course-btn__title small, .c-course-btn__title em {
		font-size: min(1.3888888889vw, 20px)
	}
}
.c-course-btn__grades {
	display: grid;
	place-items: center;
	width: 49.92vw;
	min-height: 6.1333333333vw;
	font-size: 3.2vw;
	font-weight: 700;
	letter-spacing: .35em;
	line-height: 1.4;
	white-space: nowrap;
	background-color: rgba(255, 255, 255, .3);
	border-radius: 1.5733333333vw
}
@media screen and (min-width: 768px) {
	.c-course-btn__grades {
		width: min(17.3333333333vw, 249.6px);
		min-height: min(2.1296296296vw, 30.6666666667px);
		padding-block: 0;
		font-size: min(1.1111111111vw, 16px);
		border-radius: min(.5462962963vw, 7.8666666667px)
	}
}
.c-course-sub {
	display: grid;
	align-items: center;
	min-height: 10.6666666667vw;
	padding: 1.6vw 8vw 1.6vw 6.1866666667vw;
	color: #fff;
	font-size: 5.0666666667vw;
	font-weight: 700;
	letter-spacing: .27em;
	line-height: 1.2;
	text-align: left;
	border-radius: 1.6vw
}
@media screen and (min-width: 768px) {
	.c-course-sub {
		min-height: min(3.7037037037vw, 53.3333333333px);
		padding: min(.5555555556vw, 8px) min(2.962962963vw, 42.6666666667px) min(.5555555556vw, 8px) min(2.1481481481vw, 30.9333333333px);
		font-size: min(1.7592592593vw, 25.3333333333px);
		border-radius: min(.5555555556vw, 8px)
	}
}
.c-course-sub--blue {
	background-color: #3a74c5
}
.c-course-sub--green {
	background-color: #4c9749
}
.c-course-sub--red {
	background-color: #ed5548
}
.c-course-btn, .c-course-sub {
	position: relative;
	transition: opacity .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media(hover: hover) {
	.c-course-btn:hover, .c-course-sub:hover {
		opacity: .85
	}
}
.c-course-btn::after, .c-course-sub::after {
	position: absolute;
	top: 50%;
	right: 6.08vw;
	width: 2.5066666667vw;
	height: 2.5066666667vw;
	border-top: .5493333333vw solid #fff;
	border-right: .5493333333vw solid #fff;
	transform: translateY(-50%) rotate(45deg);
	content: ""
}
@media screen and (min-width: 768px) {
	.c-course-btn::after, .c-course-sub::after {
		right: min(2.1111111111vw, 30.4px);
		width: min(.8703703704vw, 12.5333333333px);
		height: min(.8703703704vw, 12.5333333333px);
		border-top-width: min(.1907407407vw, 2.7466666667px);
		border-right-width: min(.1907407407vw, 2.7466666667px)
	}
}
.p-search {
	position: relative;
	padding-block: 16.0533333333vw 1.6vw;
	overflow: hidden;
	background-color: #c4e7f9
}
@media screen and (min-width: 768px) {
	.p-search {
		padding-block: min(4.4907407407vw, 64.6666666667px) min(1.4814814815vw, 21.3333333333px)
	}
}
.p-search__card {
	width: 89.8666666667vw;
	margin-inline: auto;
	padding-bottom: 10.6666666667vw;
	background-color: #fff
}
@media screen and (min-width: 768px) {
	.p-search__card {
		width: min(89.8148148148vw, 1293.3333333333px);
		padding-bottom: min(4.1851851852vw, 60.2666666667px)
	}
}
.p-search__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-top: 11.04vw
}
@media screen and (min-width: 768px) {
	.p-search__inner {
		display: block;
		margin-top: min(6.7777777778vw, 97.6px)
	}
}
.p-search__body {
	display: contents
}
@media screen and (min-width: 768px) {
	.p-search__body {
		position: relative;
		z-index: 1;
		display: block
	}
}
.p-search__heading {
	order: 1;
	padding-left: 12.2933333333vw;
	color: #000;
	font-size: 5.3333333333vw;
	font-weight: 900;
	letter-spacing: .047em;
	line-height: 2.1
}
@media screen and (min-width: 768px) {
	.p-search__heading {
		padding-left: min(10.7962962963vw, 155.4666666667px);
		font-size: min(2.962962963vw, 42.6666666667px);
		line-height: 1.5
	}
}
.p-search__accent {
	color: #e60012
}
.p-search__de {
	margin-left: 2.16vw
}
@media screen and (min-width: 768px) {
	.p-search__de {
		margin-left: min(.9259259259vw, 13.3333333333px)
	}
}
.p-search__logo {
	display: inline-block;
	width: 49.6vw;
	margin-left: 4.24vw;
	vertical-align: middle
}
@media screen and (min-width: 768px) {
	.p-search__logo {
		margin-left: 0;
		width: min(24.1666666667vw, 348px)
	}
}
.p-search__count {
	position: relative;
	z-index: 2;
	display: flex;
	order: 3;
	align-items: baseline;
	justify-content: center;
	width: 75.76vw;
	min-height: 7.7066666667vw;
	margin-left: 6.9333333333vw;
	padding: 0;
	color: #073190;
	font-size: 2.9333333333vw;
	font-weight: 900;
	letter-spacing: .018em;
	line-height: 1.2;
	white-space: nowrap;
	background-color: #eaeaea;
	border-radius: 1.44vw
}
@media screen and (min-width: 768px) {
	.p-search__count {
		width: min(49.212962963vw, 708.6666666667px);
		min-height: min(4.8333333333vw, 69.6px);
		margin-top: min(3.9166666667vw, 56.4px);
		margin-left: min(5.462962963vw, 78.6666666667px);
		padding: 0;
		font-size: min(2.037037037vw, 29.3333333333px);
		border-radius: min(.5vw, 7.2px)
	}
}
.p-search__num {
	padding-inline: .5333333333vw;
	font-size: 4.5333333333vw
}
@media screen and (min-width: 768px) {
	.p-search__num {
		padding-inline: min(.3703703704vw, 5.3333333333px);
		font-size: min(3.0555555556vw, 44px)
	}
}
.p-search__mark {
	font-size: .7em
}
.p-search__note {
	position: relative;
	z-index: 2;
	order: 4;
	width: 75.76vw;
	margin-top: 1.0666666667vw;
	margin-left: 6.9333333333vw;
	padding-right: .8vw;
	color: #073190;
	font-size: 2.4vw;
	font-weight: 700;
	text-align: right
}
@media screen and (min-width: 768px) {
	.p-search__note {
		width: min(49.212962963vw, 708.6666666667px);
		margin-top: min(.5555555556vw, 8px);
		margin-left: min(5.462962963vw, 78.6666666667px);
		padding-right: min(2.7777777778vw, 40px);
		font-size: min(.9259259259vw, 13.3333333333px)
	}
}
.p-search__btn {
	position: relative;
	z-index: 2;
	display: grid;
	order: 5;
	place-items: center;
	width: 44vw;
	min-height: 7.84vw;
	margin-top: 14.2666666667vw;
	margin-left: 22.9333333333vw;
	padding: 0 5.3333333333vw 0 0;
	color: #fff;
	font-size: 2.9333333333vw;
	font-weight: 900;
	letter-spacing: .219em;
	background-color: #7a7a7a;
	border-radius: .88vw;
	box-shadow: 0 .5333333333vw 0 #1d1d1d;
	transition: opacity .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media screen and (min-width: 768px) {
	.p-search__btn {
		width: min(45.3333333333vw, 652.8px);
		min-height: min(4.8333333333vw, 69.6px);
		margin-top: min(2.1759259259vw, 31.3333333333px);
		margin-left: min(22.7037037037vw, 326.9333333333px);
		padding: 0 0 0 min(1vw, 14.4px);
		font-size: min(2.037037037vw, 29.3333333333px);
		border-radius: min(.3055555556vw, 4.4px);
		box-shadow: 0 min(.3240740741vw, 4.6666666667px) 0 #1d1d1d
	}
}
@media(hover: hover) {
	.p-search__btn:hover {
		opacity: .85
	}
}
.p-search__btn::after {
	position: absolute;
	top: 50%;
	right: 10.8vw;
	width: 1.8133333333vw;
	height: 1.8133333333vw;
	border-right: .4vw solid #fff;
	border-bottom: .4vw solid #fff;
	transform: translateY(-70%) rotate(45deg);
	content: ""
}
@media screen and (min-width: 768px) {
	.p-search__btn::after {
		right: min(13.6111111111vw, 196px);
		width: min(.9259259259vw, 13.3333333333px);
		height: min(.9259259259vw, 13.3333333333px);
		border-right-width: min(.1851851852vw, 2.6666666667px);
		border-bottom-width: min(.1851851852vw, 2.6666666667px)
	}
}
.p-search__visual {
	position: relative;
	order: 2;
	align-self: stretch;
	height: 25.68vw;
	margin-top: 2.1066666667vw
}
@media screen and (min-width: 768px) {
	.p-search__visual {
		position: absolute;
		top: min(-0.25vw, -3.6px);
		right: min(.2777777778vw, 4px);
		width: min(43.1759259259vw, 621.7333333333px);
		height: auto;
		margin-top: 0
	}
}
.p-search__map {
	position: absolute;
	top: 0;
	left: 24.5333333333vw;
	width: 44.3733333333vw
}
@media screen and (min-width: 768px) {
	.p-search__map {
		position: absolute;
		top: min(-1.8425925926vw, -26.5333333333px);
		left: 0;
		width: min(15.537037037vw, 223.7333333333px)
	}
}
.p-search__staff {
	position: absolute;
	top: 2.24vw;
	left: 12.2666666667vw;
	width: 42.1333333333vw
}
@media screen and (min-width: 768px) {
	.p-search__staff {
		position: static;
		display: inline-block;
		width: min(34.6296296296vw, 498.6666666667px);
		margin-left: min(8.5462962963vw, 123.0666666667px)
	}
}
.p-exam {
	padding-block: 6.4vw 8vw;
	background-color: #c4e7f9
}
@media screen and (min-width: 768px) {
	.p-exam {
		padding-block: min(2.3148148148vw, 33.3333333333px) min(3.8888888889vw, 56px)
	}
}
.p-exam__banner {
	position: relative;
	display: flex;
	align-items: center;
	width: 89.8666666667vw;
	margin: 6.4vw auto 0;
	padding: 3.7333333333vw 3.2vw;
	background-color: #fff;
	border: .6666666667vw solid #3a74c4;
	border-radius: 3.2vw
}
@media screen and (min-width: 768px) {
	.p-exam__banner {
		width: min(75.9814814815vw, 1094.1333333333px);
		min-height: min(15.7314814815vw, 226.5333333333px);
		margin-top: min(5vw, 72px);
		padding: min(1.2962962963vw, 18.6666666667px) min(2.7777777778vw, 40px);
		border-width: min(.4212962963vw, 6.0666666667px);
		border-radius: min(1.1111111111vw, 16px)
	}
}
.p-exam__body {
	flex: 1;
	min-width: 0
}
.p-exam__heading {
	color: #005dad;
	font-size: 4.2666666667vw;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.3;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-exam__heading {
		font-size: min(3.0185185185vw, 43.4666666667px)
	}
}
.p-exam__cta {
	margin-top: 2.1333333333vw;
	padding: 1.6vw 2.1333333333vw 2.1333333333vw;
	background-color: #005dad
}
@media screen and (min-width: 768px) {
	.p-exam__cta {
		width: min(50.9259259259vw, 733.3333333333px);
		margin-top: min(1.1111111111vw, 16px);
		margin-inline: auto;
		padding: min(.5555555556vw, 8px) min(.9259259259vw, 13.3333333333px) min(.9259259259vw, 13.3333333333px)
	}
}
.p-exam__target {
	color: #ff0;
	font-size: 2.6666666667vw;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.p-exam__target {
		font-size: min(1.7962962963vw, 25.8666666667px)
	}
}
.p-exam__link {
	position: relative;
	display: grid;
	place-items: center;
	margin-top: 1.3333333333vw;
	padding: 1.0666666667vw 4.8vw 1.0666666667vw 2.6666666667vw;
	color: #005dad;
	font-size: 2.6666666667vw;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.3;
	text-align: center;
	background-color: #fff;
	border-radius: 999px;
	transition: opacity .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media screen and (min-width: 768px) {
	.p-exam__link {
		width: min(42.5925925926vw, 613.3333333333px);
		min-height: min(2.7777777778vw, 40px);
		margin-top: min(.7407407407vw, 10.6666666667px);
		margin-inline: auto;
		padding: 0 min(2.7777777778vw, 40px) 0 min(1.4814814815vw, 21.3333333333px);
		font-size: min(1.7037037037vw, 24.5333333333px)
	}
}
@media(hover: hover) {
	.p-exam__link:hover {
		opacity: .85
	}
}
.p-exam__arrow {
	position: absolute;
	top: 50%;
	right: 2.6666666667vw;
	width: 1.6vw;
	height: 1.6vw;
	border-top: .4266666667vw solid #f6921e;
	border-right: .4266666667vw solid #f6921e;
	transform: translateY(-50%) rotate(45deg)
}
@media screen and (min-width: 768px) {
	.p-exam__arrow {
		right: min(1.4814814815vw, 21.3333333333px);
		width: min(.8333333333vw, 12px);
		height: min(.8333333333vw, 12px);
		border-top-width: min(.2222222222vw, 3.2px);
		border-right-width: min(.2222222222vw, 3.2px)
	}
}
.p-exam__teacher {
	flex-shrink: 0;
	width: 17.0666666667vw;
	margin-left: 1.6vw
}
@media screen and (min-width: 768px) {
	.p-exam__teacher {
		width: min(13.1481481481vw, 189.3333333333px);
		margin-left: min(1.2962962963vw, 18.6666666667px)
	}
}
.p-faq {
	padding-block: 8vw 9.6vw;
	background-color: #09449f
}
@media screen and (min-width: 768px) {
	.p-faq {
		padding-block: min(6.1111111111vw, 88px) min(7.4074074074vw, 106.6666666667px)
	}
}
.p-faq__heading {
	margin-bottom: 5.3333333333vw;
	color: #fff;
	font-size: 6.9333333333vw;
	font-weight: 900;
	letter-spacing: .06em;
	line-height: 1.2;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-faq__heading {
		margin-bottom: min(3.5185185185vw, 50.6666666667px);
		font-size: min(4.2592592593vw, 61.3333333333px)
	}
}
.p-cta {
	padding-block: 6.4vw 8vw;
	background-image: linear-gradient(135deg, #14ace5, #3571eb)
}
@media screen and (min-width: 768px) {
	.p-cta {
		padding-block: min(2.8703703704vw, 41.3333333333px) min(4.9074074074vw, 70.6666666667px)
	}
}
.p-cta__card {
	width: 89.8666666667vw;
	margin-inline: auto;
	padding-bottom: 5.3333333333vw;
	background-color: #fff
}
@media screen and (min-width: 768px) {
	.p-cta__card {
		width: min(72.2222222222vw, 1040px);
		padding-top: min(3.0462962963vw, 43.8666666667px);
		padding-bottom: min(3.1481481481vw, 45.3333333333px)
	}
}
.p-cta__title {
	margin-inline: 3.2vw;
	padding-block: 1.6vw;
	color: #fff;
	font-size: 3.4666666667vw;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.3;
	text-align: center;
	background-color: #4a57aa
}
@media screen and (min-width: 768px) {
	.p-cta__title {
		width: min(67.5925925926vw, 973.3333333333px);
		margin-inline: auto;
		padding-block: min(.7962962963vw, 11.4666666667px);
		font-size: min(3.1481481481vw, 45.3333333333px);
		line-height: 1.2
	}
}
.p-cta__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2.1333333333vw;
	margin-top: 3.2vw;
	color: #4a57aa
}
@media screen and (min-width: 768px) {
	.p-cta__price {
		gap: min(.6018518519vw, 8.6666666667px);
		margin-top: min(3.1666666667vw, 45.6px)
	}
}
.p-cta__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	font-weight: 700;
	line-height: 1
}
.p-cta__label {
	margin-right: .5333333333vw;
	font-size: 3.4666666667vw;
	letter-spacing: .018em
}
@media screen and (min-width: 768px) {
	.p-cta__label {
		margin-right: min(.2777777778vw, 4px);
		font-size: min(2.8055555556vw, 40.4px)
	}
}
.p-cta__num {
	font-size: 5.6vw
}
@media screen and (min-width: 768px) {
	.p-cta__num {
		font-size: min(4.1018518519vw, 59.0666666667px)
	}
}
.p-cta__unit {
	font-size: 2.9333333333vw;
	letter-spacing: .1em
}
@media screen and (min-width: 768px) {
	.p-cta__unit {
		font-size: min(2.0648148148vw, 29.7333333333px)
	}
}
.p-cta__unit--yen {
	position: relative;
	font-size: 3.4666666667vw
}
@media screen and (min-width: 768px) {
	.p-cta__unit--yen {
		font-size: min(2.75vw, 39.6px)
	}
}
.p-cta__times {
	margin-left: -0.15em;
	font-size: 3.4666666667vw;
	font-weight: 500
}
@media screen and (min-width: 768px) {
	.p-cta__times {
		font-size: min(2.8240740741vw, 40.6666666667px)
	}
}
.p-cta__arrow {
	width: 1.7333333333vw;
	height: 2.5333333333vw;
	margin: 0 .8vw 1.4666666667vw;
	background-color: currentcolor;
	clip-path: polygon(0 0, 100% 50%, 0 100%)
}
@media screen and (min-width: 768px) {
	.p-cta__arrow {
		width: min(1.3425925926vw, 19.3333333333px);
		height: min(1.9537037037vw, 28.1333333333px);
		margin: 0 min(.5740740741vw, 8.2666666667px) min(1.1944444444vw, 17.2px) min(.6481481481vw, 9.3333333333px)
	}
}
.p-cta__yen {
	font-size: 8vw
}
@media screen and (min-width: 768px) {
	.p-cta__yen {
		font-size: min(5.5555555556vw, 80px)
	}
}
.p-cta__tax {
	position: absolute;
	bottom: 100%;
	left: 0;
	font-size: 2.1333333333vw;
	letter-spacing: .1em;
	white-space: nowrap
}
@media screen and (min-width: 768px) {
	.p-cta__tax {
		font-size: min(.8888888889vw, 12.8px)
	}
}
.p-cta__badge {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 11.7333333333vw;
	height: 11.7333333333vw;
	color: #005dad;
	font-size: 2.4vw;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.35;
	text-align: center;
	background-color: #ffe64d;
	border-radius: 50%
}
@media screen and (min-width: 768px) {
	.p-cta__badge {
		width: min(5.3148148148vw, 76.5333333333px);
		height: min(5.3148148148vw, 76.5333333333px);
		font-size: min(1.1296296296vw, 16.2666666667px)
	}
}
.p-cta__btn {
	position: relative;
	display: grid;
	place-items: center;
	gap: 1.0666666667vw;
	width: 79.2vw;
	margin: 3.7333333333vw auto 0;
	padding: 2.1333333333vw 6.4vw 2.1333333333vw 3.2vw;
	color: #fff;
	font-size: 3.7333333333vw;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center;
	background-color: #d52222;
	border-radius: 1.6vw;
	box-shadow: 0 .8vw 0 #ad1c1c;
	transition: transform .4s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media screen and (min-width: 768px) {
	.p-cta__btn {
		gap: min(.9259259259vw, 13.3333333333px);
		width: min(46.4907407407vw, 669.4666666667px);
		min-height: min(7.1388888889vw, 102.8px);
		margin-top: min(2.5277777778vw, 36.4px);
		padding: min(1.1111111111vw, 16px) min(1.4814814815vw, 21.3333333333px) min(.8148148148vw, 11.7333333333px);
		font-size: min(2.0925925926vw, 30.1333333333px);
		line-height: 1;
		border-radius: min(.5555555556vw, 8px);
		box-shadow: 0 min(.6018518519vw, 8.6666666667px) 0 #ad1c1c
	}
}
@media(hover: hover) {
	.p-cta__btn:hover {
		transform: translateY(2px);
		box-shadow: 0 .2666666667vw 0 #ad1c1c
	}
}
@media screen and (hover: hover)and (min-width: 768px) {
	.p-cta__btn:hover {
		box-shadow: 0 min(.2037037037vw, 2.9333333333px) 0 #ad1c1c
	}
}
@media screen and (min-width: 768px) {
	.p-cta__btn-main {
		margin-right: min(2.962962963vw, 42.6666666667px)
	}
}
.p-cta__btn-arrow {
	position: absolute;
	top: 4.2666666667vw;
	right: 3.7333333333vw;
	width: 1.8666666667vw;
	height: 1.8666666667vw;
	border-top: .5333333333vw solid #fff;
	border-right: .5333333333vw solid #fff;
	transform: rotate(45deg)
}
@media screen and (min-width: 768px) {
	.p-cta__btn-arrow {
		top: min(1.6388888889vw, 23.6px);
		right: min(6.2037037037vw, 89.3333333333px);
		width: min(1.0648148148vw, 15.3333333333px);
		height: min(1.0648148148vw, 15.3333333333px);
		border-top-width: min(.212962963vw, 3.0666666667px);
		border-right-width: min(.212962963vw, 3.0666666667px)
	}
}
.p-cta__btn-sub {
	display: grid;
	place-items: center;
	width: 58.6666666667vw;
	padding-block: .5333333333vw;
	color: #000;
	font-size: 2.4vw;
	font-weight: 400;
	letter-spacing: .1em;
	background-color: #fff;
	border-radius: 999px
}
@media screen and (min-width: 768px) {
	.p-cta__btn-sub {
		width: min(26.3148148148vw, 378.9333333333px);
		min-height: min(2.1574074074vw, 31.0666666667px);
		padding-block: 0;
		font-size: min(1.1666666667vw, 16.8px)
	}
}
.p-cta__request {
	margin-top: 3.7333333333vw;
	font-size: 3.7333333333vw;
	font-weight: 900;
	letter-spacing: .089em;
	text-align: center
}
@media screen and (min-width: 768px) {
	.p-cta__request {
		margin-top: min(2.4074074074vw, 34.6666666667px);
		font-size: min(1.8796296296vw, 27.0666666667px)
	}
}
.p-cta__request a {
	position: relative;
	padding-left: 4.2666666667vw;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .25em
}
@media screen and (min-width: 768px) {
	.p-cta__request a {
		padding-left: min(2.6851851852vw, 38.6666666667px)
	}
}
.p-cta__request a::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.6vw;
	height: 1.6vw;
	border-top: .5333333333vw solid #155de3;
	border-right: .5333333333vw solid #155de3;
	transform: translateY(-50%) rotate(45deg);
	content: ""
}
@media screen and (min-width: 768px) {
	.p-cta__request a::before {
		width: min(1.0185185185vw, 14.6666666667px);
		height: min(1.0185185185vw, 14.6666666667px);
		border-top-width: min(.3240740741vw, 4.6666666667px);
		border-right-width: min(.3240740741vw, 4.6666666667px)
	}
}
.p-cta__note {
	margin: 3.7333333333vw 4.2666666667vw 0;
	font-size: 2.2666666667vw;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5
}
@media screen and (min-width: 768px) {
	.p-cta__note {
		width: min(64.2592592593vw, 925.3333333333px);
		margin: min(2.8888888889vw, 41.6px) 0 0 min(3.9814814815vw, 57.3333333333px);
		font-size: min(1.1111111111vw, 16px);
		line-height: 1.3333
	}
}
.p-cta__tel {
	display: grid;
	align-items: center;
	justify-items: center;
	margin-top: 3.7333333333vw
}
@media screen and (min-width: 768px) {
	.p-cta__tel {
		grid-template-columns: min(23.5185185185vw, 338.6666666667px) auto auto;
		justify-content: start;
		justify-items: start;
		gap: 0;
		margin-top: min(1.7962962963vw, 25.8666666667px);
		padding-left: min(3.9814814815vw, 57.3333333333px)
	}
}
.p-cta__tel-lead {
	font-size: 3.2vw;
	font-weight: 900;
	letter-spacing: .052em
}
@media screen and (min-width: 768px) {
	.p-cta__tel-lead {
		font-size: min(1.3888888889vw, 20px)
	}
}
.p-cta__tel-num {
	display: flex;
	align-items: center;
	gap: 2.8vw;
	margin-top: 1.0666666667vw;
	font-size: 7.4666666667vw;
	font-weight: 700;
	line-height: 1
}
@media screen and (min-width: 768px) {
	.p-cta__tel-num {
		gap: min(1.0092592593vw, 14.5333333333px);
		margin-top: 0;
		font-size: min(3.7037037037vw, 53.3333333333px)
	}
}
.p-cta__tel-num img {
	width: 9.3333333333vw
}
@media screen and (min-width: 768px) {
	.p-cta__tel-num img {
		width: min(3.8981481481vw, 56.1333333333px)
	}
}
.p-cta .p-cta__tel-num .p-cta__tel-img {
	display: block;
	width: 54.0266666667vw
}
@media screen and (min-width: 768px) {
	.p-cta .p-cta__tel-num .p-cta__tel-img {
		width: min(22.7314814815vw, 327.3333333333px);
		margin-left: min(.1388888889vw, 2px)
	}
}
.p-cta__tel-hours {
	margin-top: 1.0666666667vw;
	font-size: 2.4vw;
	font-weight: 400;
	line-height: 1.4
}
@media screen and (min-width: 768px) {
	.p-cta__tel-hours {
		margin-top: 0;
		margin-left: min(1.6064814815vw, 23.1333333333px);
		font-size: min(.9259259259vw, 13.3333333333px)
	}
}
.l-inner {
	width: 100%;
	max-width: calc(800px + 40px);
	margin-inline: auto;
	padding-inline: 20px
}
.l-section {
	padding-block: 40px
}
@media screen and (min-width: 768px) {
	.l-section {
		padding-block: 72px
	}
}
.c-heading {
	font-weight: 900;
	font-size: 1.25rem;
	line-height: 1.5;
	text-align: center
}
@media screen and (min-width: 768px) {
	.c-heading {
		font-size: 1.875rem
	}
}
.c-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 56px;
	padding: 12px 32px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	background-color: #e60012;
	border-radius: 999px;
	box-shadow: 0 4px 0 #d10016;
	transition: transform .4s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow .4s cubic-bezier(0.22, 0.61, 0.36, 1)
}
@media(hover: hover) {
	.c-btn:hover {
		transform: translateY(2px);
		box-shadow: 0 2px 0 #d10016
	}
}
.c-btn--tel {
	background-color: #073190;
	box-shadow: 0 4px 0 #112f5a
}
.c-note {
	font-size: .6875rem;
	line-height: 1.6
}
@media screen and (min-width: 768px) {
	.u-sp {
		display: none !important
	}
}
@media screen and (max-width: 767px) {
	.u-pc {
		display: none !important
	}
}
.u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap
}
.u-nowrap {
	white-space: nowrap
}