@charset "UTF-8";

/************************************************************************
 * reset
 ************************************************************************/
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	-webkit-print-color-adjust: exact;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-underline-offset: 0.2em;
	background: #eff1f9;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	color: #292929;
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	line-break: strict;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: normal;
	overflow-wrap: anywhere;
}

article,
aside,
footer,
header,
nav,
section,
main {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	vertical-align: baseline;
	margin: 0;
	border: 0;
	padding: 0;
	font: inherit;
	font-size: 100%;
}

a {
	display: inline-block;
	-webkit-transition: opacity 0.3s ease 0s;
	transition: opacity 0.3s ease 0s;
	color: inherit;
	text-decoration: none;
}

a[href="*"] {
	cursor: pointer;
}

a[href="*"]:hover,
a[href="*"]:focus-visible {
	opacity: 0.7;
}

img,
svg {
	display: inline-block;
	vertical-align: top;
	border: none;
	width: 100%;
	max-width: 100%;
	height: auto;
}

video {
	width: 100%;
	height: auto;
}

code,
kbd,
pre,
samp {
	font-size: inherit;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
	content: "";
	content: none;
}

address {
	font-style: italic;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	margin: 0;
	border: none;
	background: transparent;
	padding: 0;
	font: inherit;
}

abbr,
acronym {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

cite {
	font-style: italic;
}

code,
kbd {
	background-color: #e2e4f0;
	padding: 0.25em 0.5em;
}

em {
	font-style: italic;
	font-weight: 700;
}

pre {
	display: block;
	background-color: #e2e4f0;
	padding: 1em 2em;
}

sub {
	vertical-align: sub;
	font-size: smaller;
}

sup {
	vertical-align: super;
	font-size: smaller;
}

var {
	background-color: #e2e4f0;
	padding: 0.25em 0.5em;
	font-style: italic;
}

/************************************************************************
 * end reset
 ************************************************************************/
.js-fadeIn {
	visibility: hidden;
	opacity: 0;
}

.js-fadeInUp {
	-webkit-transform: translateY(30px);
	transform: translateY(30px);
	visibility: hidden;
	opacity: 0;
}

.js-fadeInLeft {
	-webkit-transform: translateX(-30px);
	transform: translateX(-30px);
	visibility: hidden;
	opacity: 0;
}

.js-fadeInRight {
	-webkit-transform: translateX(30px);
	transform: translateX(30px);
	visibility: hidden;
	opacity: 0;
}

@-webkit-keyframes fadeInLeft {
	from {
		-webkit-transform: translate3d(-2%, 0, 0);
		transform: translate3d(-2%, 0, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes fadeInLeft {
	from {
		-webkit-transform: translate3d(-2%, 0, 0);
		transform: translate3d(-2%, 0, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}
@-webkit-keyframes fadeInRight {
	from {
		-webkit-transform: translate3d(2%, 0, 0);
		transform: translate3d(2%, 0, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}
@keyframes fadeInRight {
	from {
		-webkit-transform: translate3d(2%, 0, 0);
		transform: translate3d(2%, 0, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}
@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translate3d(0, 2%, 0);
		transform: translate3d(0, 2%, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}
@keyframes fadeInUp {
	from {
		-webkit-transform: translate3d(0, 2%, 0);
		transform: translate3d(0, 2%, 0);
		opacity: 0;
	}

	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
@-webkit-keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}
@keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.fadeInLeft,
.fadeInRight,
.fadeInUp,
.fadeIn,
.fadeOut {
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}

.fadeInLeft {
	-webkit-animation-name: fadeinleft;
	animation-name: fadeInLeft;
}

.fadeInRight {
	-webkit-animation-name: fadeinright;
	animation-name: fadeInRight;
}

.fadeInUp {
	-webkit-animation-name: fadeinup;
	animation-name: fadeInUp;
}

.fadeIn {
	-webkit-animation-name: fadein;
	animation-name: fadeIn;
}

.fadeOut {
	opacity: 1;
	-webkit-animation-name: fadeout;
	animation-name: fadeOut;
}

[data-target] {
	cursor: pointer;
}

html {
	font-size: 16px;
}

button {
	color: #292929;
}

/************************************************************************
 * layout
 ************************************************************************/
body {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

body.fadeIn {
	opacity: 0;
}

main {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

footer {
	margin-top: auto;
}

/************************************************************************
 * base
 ************************************************************************/
a[target="_blank"]:not([class]) {
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

a[target="_blank"]:not([class])::after {
	display: inline-block;
	-webkit-mask-image: url("../img/common/icon-outerLink.svg");
	mask-image: url("../img/common/icon-outerLink.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	margin-left: 0.7647058824em;
	background-color: currentColor;
	width: 0.8529411765em;
	height: 0.7647058824em;
	font-weight: 900;
	content: "";
}

a:not([class]) {
	color: #03c;
}

a:not([class]):visited {
	color: #639;
}

a:not([class]):hover {
	text-decoration: underline;
}

table {
	margin-right: auto;
	margin-left: auto;
	border-collapse: collapse;
	border-spacing: 0;
	width: auto;
	min-width: 100%;
	table-layout: fixed;
}

th,
td {
	border: 1px solid;
}

address {
	font-style: normal;
}

details .icon {
	aspect-ratio: 1;
	display: block;
	position: relative;
	width: 24px;
	width: 1.5rem;
}

details .icon::before,
details .icon::after {
	inset: 0;
	position: absolute;
	margin: auto;
	background-color: #292929;
	width: 13px;
	width: 0.8125rem;
	height: 1px;
	content: "";
}

details .icon::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
}

details[open] > summary .icon::after {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

details.is-closing[open] > summary .icon::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

summary {
	/* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
	display: block;
	cursor: pointer;
}

summary::-webkit-details-marker {
	/* Safariで表示されるデフォルトの三角形アイコンを消します */
	display: none;
}

/************************************************************************
 * end base
 ************************************************************************/

/************************************************************************
 * form
 ************************************************************************/
form {
	margin: 0;
	padding: 0;
}

form button[type="submit"],
form input[type="submit"],
form input[type="button"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	width: auto;
}

form button[type="submit"]:hover,
form button[type="submit"]:focus-visible,
form input[type="submit"]:hover,
form input[type="submit"]:focus-visible,
form input[type="button"]:hover,
form input[type="button"]:focus-visible {
	outline: none;
}

form button[type="submit"]:disabled,
form input[type="submit"]:disabled,
form input[type="button"]:disabled {
	cursor: default;
	border-color: transparent;
	background-color: #b2b2b2;
	pointer-events: none;
	color: #fff;
}

form button[type="submit"] ::-moz-focus-inner,
form input[type="submit"] ::-moz-focus-inner,
form input[type="button"] ::-moz-focus-inner {
	border: none;
	padding: 0;
}

label {
	cursor: pointer;
}

input,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #707070;
	border-radius: 0;
	background-image: none;
	padding: 8px;
	padding: 0.5rem;
	width: 100%;
	font-family: inherit;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

textarea {
	resize: vertical;
}

textarea:hover,
textarea:focus-visible {
	outline: none;
}

textarea:focus-visible {
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-color: #707070;
}

textarea ::-moz-focus-inner {
	border: none;
	padding: 0;
}

input:focus {
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-color: #707070;
}

input[type="radio"] {
	position: absolute;
	opacity: 0;
	margin: 0;
	padding: 0;
	width: auto;
	line-height: 1.5;
}

input[type="radio"] + span {
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin: 0;
	padding: 0 0 0 1.875em;
	line-height: 1.5;
}

input[type="radio"] + span::before {
	display: block;
	position: absolute;
	top: 0.5lh;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #707070;
	border-radius: 50%;
	background: #fff;
	width: 1.625em;
	height: 1.625em;
	content: "";
}

input[type="radio"] + span::after {
	display: block;
	position: absolute;
	top: 0.5lh;
	left: 0.5em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: 0;
	-webkit-transition: opacity 0.3s ease 0s;
	transition: opacity 0.3s ease 0s;
	border-radius: 50%;
	background: #707070;
	width: 0.625em;
	height: 0.625em;
	content: "";
}

input[type="radio"]:focus-visible + span::before {
	outline: -webkit-focus-ring-color auto 5px;
}

input[type="radio"]:checked + span::after {
	opacity: 1;
}

input[type="checkbox"] {
	position: absolute;
	vertical-align: middle;
	opacity: 0;
	margin: 0;
	padding: 0;
	width: auto;
	line-height: 1.5;
}

input[type="checkbox"] + span {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	cursor: pointer;
	padding-left: 1.875em;
	line-height: 1.5;
}

input[type="checkbox"] + span::before {
	display: inline-block;
	position: absolute;
	top: 0.5lh;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid #707070;
	width: 1.625em;
	height: 1.625em;
	content: "";
}

input[type="checkbox"] + span::after {
	display: inline-block;
	position: absolute;
	top: 0.5lh;
	left: 0;
	-webkit-transform: translateY(-70%) translateX(0.5em) rotate(45deg);
	transform: translateY(-70%) translateX(0.5em) rotate(45deg);
	opacity: 0;
	-webkit-transition: opacity 0.3s ease 0s;
	transition: opacity 0.3s ease 0s;
	border-right: 0.25em solid #0f165b;
	border-bottom: 0.25em solid #0f165b;
	width: 0.8125em;
	height: 1.625em;
	content: "";
}

input[type="checkbox"]:focus-visible + span::before {
	outline: -webkit-focus-ring-color auto 5px;
}

input[type="checkbox"]:checked:focus-visible + span::before {
	outline: none;
}

input[type="checkbox"]:checked + span::after {
	opacity: 1;
}

input[type="number"],
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	-moz-appearance: textfield;
	margin: 0;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #707070;
	border-radius: 0;
	padding: 0.4em 2.4em 0.4em 0.8em;
	color: inherit;
	font-family: inherit;
	font-size: 16px;
	font-size: 1rem;
}

select::-ms-expand {
	display: none;
}

select:focus {
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-color: #707070;
}

select:focus-visible {
	outline: initial;
}

select:invalid {
	color: #b2b2b2;
}

select:not(:disabled) {
	cursor: pointer;
}

:root {
	/* ウィンドウサイズ */
	--vw: 100vw;
	--vh: 100vh;

	/* 三角形 */
	--clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
	--clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
	--clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
	--clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
	--clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
	--clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
	--clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
	--clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

.slick-track {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.slick-dots li {
	margin: 0 2px;
}

.slick-dots li button::before {
	font-size: 7px;
}

/************************************************************************
 * swiper
 ************************************************************************/
.swiper-button-prev,
.swiper-button-next {
	position: static;
	cursor: pointer;
	margin-top: initial;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
}

.swiper-pagination {
	position: static;
}

.swiper-pagination-bullet {
	display: inline-block;
	cursor: pointer;
	border-radius: 50%;
	background-color: #0f165b;
	width: 6px;
	height: 6px;
}

.swiper-pagination-bullet + .swiper-pagination-bullet {
	margin-left: 5px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #0f165b;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
	.swiper-pagination-bullet {
	margin-inline: 10px;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: auto;
}

/* rtl ******************************************************************/

/************************************************************************
 * swiper end
 ************************************************************************/
.l-about {
	margin-top: 40px;
	margin-top: 2.5rem;
	padding-bottom: 50px;
	padding-bottom: 3.125rem;
}

.l-container {
	margin: 0 auto;
	padding: 0 30px;
	width: 100%;
	max-width: 1260px;
}

.l-container.l-container--narrower {
	max-width: 900px;
}

.l-container.l-container--narrow {
	max-width: 1000px;
}

.l-container.l-container--wide {
	max-width: 1380px;
}

.l-container.l-container--full {
	margin-left: calc((100% - 100vw) / 2);
	width: 100vw;
	max-width: none;
}

.l-feature {
	padding-top: 50px;
	padding-top: 3.125rem;
	padding-bottom: 60px;
	padding-bottom: 3.75rem;
}

.l-footer {
	padding-top: 20px;
	padding-top: 1.25rem;
	padding-bottom: 20px;
	padding-bottom: 1.25rem;
}

.l-header {
	position: -webkit-sticky;
	position: sticky;
	top: -110%;
	left: 0;
	z-index: 99998;
	-webkit-transition: top 1s ease 0s;
	transition: top 1s ease 0s;
	width: 100%;
}

.l-header.is-fixed {
	top: 0;
	-webkit-box-shadow: 0 3px 6px rgba(117, 117, 117, 0.16);
	box-shadow: 0 3px 6px rgba(117, 117, 117, 0.16);
}

.l-mv {
	padding-top: 60px;
	padding-top: 3.75rem;
	padding-bottom: 234px;
}

.l-section {
	padding-top: 50px;
	padding-top: 3.125rem;
	padding-bottom: 50px;
	padding-bottom: 3.125rem;
}

.l-section--pb {
	padding-bottom: 60px;
	padding-bottom: 3.75rem;
}

.c-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	gap: 10px;
	gap: 0.625rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: 0.3s ease 0s;
	transition: 0.3s ease 0s;
	-webkit-transition-property: prop;
	transition-property: prop;
	margin: 0;
	border-radius: 100vmax;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		color-stop(41%, #ff710c),
		to(#d8461d)
	);
	background: linear-gradient(#ff710c 41%, #d8461d 100%);
	padding: 0.6em 1.36em 0.9em 1.07em;
	color: #fff;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
}

.c-btn:focus-visible {
	outline: none;
}

.c-btn__tag {
	display: inline-block;
	border-radius: 3.125rem;
	background: #ffda44;
	padding: 5px 20px;
	padding: 0.3125rem 1.25rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	color: #0f165b;
	font-size: 18px;
	font-size: 1.125rem;
	letter-spacing: 0.01em;
}

.c-btn__text {
	padding-right: 15px;
	padding-right: 0.9375rem;
	word-break: keep-all;
}

.c-btn::after {
	position: absolute;
	top: 63%;
	right: 42px;
	right: 2.625rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/common/arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 11px;
	width: 0.6875rem;
	height: 18px;
	height: 1.125rem;
	content: "";
}

.c-btn.c-btn--shine {
	position: relative;
	overflow: hidden;
}

.c-btn.c-btn--shine::before {
	/*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
	background: -webkit-gradient(
		linear,
		left top,
		right top,
		from(rgba(255, 255, 255, 0)),
		to(rgba(255, 255, 255, 0.8))
	);
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.8) 100%
	);

	/*キラッと光る形状*/
	width: 50%;
	height: 100%;
	content: "";
}

.c-btn.c-btn--shine:focus-visible {
	opacity: 1;
	border-color: linear-gradient(#ff710c 41%, #d8461d 100%);
	background-color: linear-gradient(#ff710c 41%, #d8461d 100%);
	color: #fff;
}

.c-btn.c-btn--shine:focus-visible::before {
	-webkit-animation: shine 0.7s;
	animation: shine 0.7s;
}

@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}

@keyframes shine {
	100% {
		left: 125%;
	}
}

.c-cta-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	gap: 3px;
	gap: 0.1875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-transition: 0.3s ease 0s;
	transition: 0.3s ease 0s;
	-webkit-transition-property: prop;
	transition-property: prop;
	margin: 0;
	border-radius: 2.5rem;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		color-stop(41%, #ff710c),
		to(#d8461d)
	);
	background: linear-gradient(#ff710c 41%, #d8461d 100%);
	padding: 16px 40px 16px 22.4px;
	padding: 1rem 2.5rem 1rem 1.4rem;
	color: #fff;
	font-size: 15px;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
}

.c-cta-btn:focus-visible {
	outline: none;
}

.c-cta-btn__tag {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-radius: 3.125rem;
	background: #ffda44;
	padding: 1px 0.86em;
	padding: 0.0625rem 0.86em;
	color: #0f165b;
	font-size: 14px;
	font-size: 0.875rem;
}

.c-cta-btn::after {
	position: absolute;
	top: 50%;
	right: 20px;
	right: 1.25rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/common/arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 6.56px;
	width: 0.41rem;
	height: 10.6px;
	height: 0.6625rem;
	content: "";
}

.c-cta-btn.c-cta-btn--shine {
	position: relative;
	overflow: hidden;
}

.c-cta-btn.c-cta-btn--shine::before {
	/*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	left: -75%;
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
	background: -webkit-gradient(
		linear,
		left top,
		right top,
		from(rgba(255, 255, 255, 0)),
		to(rgba(255, 255, 255, 0.8))
	);
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.8) 100%
	);

	/*キラッと光る形状*/
	width: 50%;
	height: 100%;
	content: "";
}

.c-cta-btn.c-cta-btn--shine:focus-visible {
	opacity: 1;
	border-color: linear-gradient(#ff710c 41%, #d8461d 100%);
	background-color: linear-gradient(#ff710c 41%, #d8461d 100%);
	color: #fff;
}

.c-cta-btn.c-cta-btn--shine:focus-visible::before {
	-webkit-animation: shine 0.7s;
	animation: shine 0.7s;
}

@keyframes shine {
	100% {
		left: 125%;
	}
}

.c-section-title {
	color: #0f165b;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
}

.c-section-title--white {
	color: #fff;
}

.c-totop {
	display: block;
	position: fixed;
	right: 20px;
	right: 1.25rem;
	bottom: 20px;
	bottom: 1.25rem;
	visibility: hidden;
	opacity: 0;
	z-index: 99997;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	background-color: #f0f1f7;
	width: 50px;
	width: 3.125rem;
	height: 50px;
	height: 3.125rem;
}

.c-totop::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -20%) rotate(-45deg);
	transform: translate(-50%, -20%) rotate(-45deg);
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	width: 20px;
	width: 1.25rem;
	height: 20px;
	height: 1.25rem;
	content: "";
}

.c-totop.is-active {
	visibility: visible;
	opacity: 0.7;
}

.c-totop.is-active:focus {
	opacity: 1;
}

.p-float-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 99997;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
	padding: 10px 0;
	width: 100%;
}

.p-float-cta.hide {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

.p-float-cta__btn {
	margin-inline: auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 18px;
	font-size: 1.125rem;
}

.p-about__message {
	--text-color: currentColor;
	color: #292929;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	line-height: 1.9;
	text-align: center;
}

.p-about__title-block {
	gap: 8px;
	gap: 0.5rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 20px;
	margin-top: 1.25rem;
	margin-left: 35px;
	margin-left: 2.1875rem;
	text-align: center;
}

.p-about__title-aid {
	color: #0f165b;
	font-size: 27px;
	font-size: 1.6875rem;
	font-weight: 700;
	line-height: 1.8;
}

.p-about__title {
	color: #0f165b;
	font-size: 60px;
	font-size: 3.75rem;
	font-weight: 700;
	line-height: 1.8;
}

.p-about__ruby {
	position: relative;
}

.p-about__ruby::before {
	position: absolute;
	right: -4.2em;
	bottom: 90%;
	left: -3.9em;
	-webkit-transform: scale(0.3);
	transform: scale(0.3);
	-webkit-transform-origin: bottom center;
	transform-origin: bottom center;
	letter-spacing: 1.1em;
	line-height: 1;
	text-align: center;
	content: attr(data-ruby);
}

.p-about__ruby rt {
	display: none;
}

.p-about__content {
	margin-top: 14px;
	margin-top: 0.875rem;
}

.p-about__head {
	background: #0f165b;
	padding: 20px;
	padding: 1.25rem;
	color: #fff;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.p-about__body {
	background: #fff;
	padding: 50px 130px;
	padding: 3.125rem 8.125rem;
}

.p-about__top {
	background: #f0f1f7;
	padding: 10px 30px 30px;
	padding: 0.625rem 1.875rem 1.875rem;
}

.p-about__top-title {
	color: #0f165b;
	font-size: 27px;
	font-size: 1.6875rem;
	font-weight: 700;
	text-align: center;
}

.p-about__text {
	margin-top: 18px;
	margin-top: 1.125rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

.p-about__items {
	gap: 15px;
	gap: 0.9375rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.p-about__item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #fff;
	padding: 30px 4px;
	padding: 1.875rem 0.25rem;
}

.p-about__img {
	aspect-ratio: 1;
	width: 70px;
	width: 4.375rem;
	height: auto;
	overflow: hidden;
}

.p-about__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-about__item-text {
	margin-top: 10px;
	margin-top: 0.625rem;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-about__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-about__bottom {
	margin-top: 35px;
	margin-top: 2.1875rem;
}

.p-about__bottom-title {
	--text-color: currentColor;
	color: #0f165b;
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1.8;
}

.p-about__bottom-title--pl {
	padding-left: 10px;
	padding-left: 0.625rem;
}

.p-about__bottom-thepast {
	display: inline-block;
	position: relative;
	padding-right: 18px;
	padding-right: 1.125rem;
	padding-left: 64px;
	padding-left: 4rem;
	color: #282b42;
	font-size: 29px;
	font-size: 1.8125rem;
	font-weight: 700;
	white-space: nowrap;
}

.p-about__bottom-thepast::before {
	position: absolute;
	top: 0;
	left: 12px;
	left: 0.75rem;
	background-image: url(../img/common/thepast-icon.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 48px;
	width: 3rem;
	height: 48px;
	height: 3rem;
	content: "";
}

.p-about__bottom-content {
	margin-top: 15px;
	margin-top: 0.9375rem;
	background: rgba(255, 245, 205, 0.6);
	background: rgba(255, 245, 205, 0.6);
	padding: 20px;
	padding: 1.25rem;
	text-align: center;
}

.p-about__bottom-text {
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1.9;
}

.p-about__note {
	margin-top: 15px;
	margin-top: 0.9375rem;
	font-size: 15px;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.9;
}

.p-company {
	background: #e2e4f0;
}

.p-company__title-block {
	text-align: center;
}

.p-company__text {
	margin-top: 20px;
	margin-top: 1.25rem;
	color: #0f165b;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
	text-align: center;
}

.p-company__content {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-company__item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-company__item + .p-company__item {
	margin-top: 2px;
	margin-top: 0.125rem;
}

.p-company__content-text + .p-company__content-text {
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-company__name {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	background: #0f165b;
	padding: 20px;
	padding: 1.25rem;
	width: 16.5476190476%;
	color: #fff;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-company__description {
	background: #fff;
	padding: 20px;
	padding: 1.25rem;
	width: 83.4523809524%;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-compare {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	background: #fff;
	width: 100%;
}

.p-compare__other {
	-webkit-filter: drop-shadow(-10px 0 25px rgba(0, 0, 0, 0.08));
	filter: drop-shadow(-10px 0 25px rgba(0, 0, 0, 0.08));
	width: 33.6170212766%;
}

.p-compare__other-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
	-webkit-box-shadow: inset -10px 0 25px rgba(0, 0, 0, 0.08);
	box-shadow: inset -10px 0 25px rgba(0, 0, 0, 0.08);
	background: #eee;
	padding: 52px 80px 75px 45px;
	padding: 3.25rem 5rem 4.6875rem 2.8125rem;
	height: 100%;
}

.p-compare__tag {
	display: inline-block;
	background: #0f165b;
	padding: 10px 25px;
	padding: 0.625rem 1.5625rem;
	color: #fff;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
}

.p-compare__thePast {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left: -97px;
	margin-left: -6.0625rem;
	padding: 52px 50px 48px 85px;
	padding: 3.25rem 3.125rem 3rem 5.3125rem;
	width: 76.7021276596%;
	height: 100%;
}

.p-compare__logo {
	width: 183px;
	width: 11.4375rem;
	height: auto;
}

.p-compare__logo img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-compare__title {
	margin-top: 30px;
	margin-top: 1.875rem;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.p-compare__text {
	margin-top: 30px;
	margin-top: 1.875rem;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-compare__text--center {
	text-align: center;
}

.p-contact {
	background: #0f165b;
}

.p-contact__title-block {
	text-align: center;
}

.p-contact__text {
	margin-top: 20px;
	margin-top: 1.25rem;
	color: #fff;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-contact__btn {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 20px auto 0;
	padding: 20.8px 40px;
	padding: 1.3rem 2.5rem;
	min-width: 240px;
	font-size: 18px;
	font-size: 1.125rem;
}

.p-contact__highlight {
	color: #ffda44;
}

.p-curriculum-card {
	background: #fff;
	padding: 20px;
	padding: 1.25rem;
	height: 100%;
}

.p-curriculum-card__img {
	aspect-ratio: 255 / 165;
	overflow: hidden;
}

.p-curriculum-card__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-curriculum-card__body {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.p-curriculum-card__name {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
}

.p-curriculum-card__text {
	margin-top: 12px;
	margin-top: 0.75rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-curriculum-cards {
	gap: 20px 27.5px;
	gap: 1.25rem 1.71875rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.p-curriculum__content {
	background: #eff1f9;
	padding: 50px 130px;
	padding: 3.125rem 8.125rem;
}

.p-drawer {
	display: none;
}

.p-drawer__items {
	gap: 0 2px;
	gap: 0 0.125rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
}

.p-drawer__menu {
	border-bottom: 1px solid white;
	width: 100%;
}

.p-drawer__menu:first-of-type {
	border-top: 1px solid white;
}

.p-drawer__menu:last-of-type {
	border-top: none;
	border-bottom: none;
}

.p-drawer__menu--contact {
	margin-top: 30px;
	margin-top: 1.875rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.p-drawer__link {
	display: block;
	position: relative;
	padding: 15px;
	padding: 0.9375rem;
	width: 100%;
}

.p-drawer__link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	right: 0.9375rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/common/arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 8px;
	width: 0.5rem;
	height: 15px;
	height: 0.9375rem;
	content: "";
}

.p-faq {
	background: #fff;
}

.p-faq__title {
	text-align: center;
}

.p-faq__content {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.p-faq__item + .p-faq__item {
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-faq__question-left {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-faq__question {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #0f165b;
	padding: 15px 20px;
	padding: 0.9375rem 1.25rem;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-faq__question::-webkit-details-marker {
	display: none;
}

.p-faq__question-span {
	display: inline-block;
	margin-right: 10px;
	margin-right: 0.625rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 25px;
	font-size: 1.5625rem;
	line-height: 1;
	white-space: nowrap;
}

.p-faq__question--text {
	font-size: 16px;
	font-size: 1rem;
}

.p-faq__question-btn {
	display: inline-block;
	position: relative;
	margin-left: auto;
	border-radius: 3.125rem;
	background: #fff;
	width: 29px;
	width: 1.8125rem;
	min-width: 29px;
	min-width: 1.8125rem;
	height: 29px;
	height: 1.8125rem;
}

.p-faq__question-btn::before {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border-radius: 100vmax;
	background: #0f165b;
	width: 14px;
	width: 0.875rem;
	height: 2px;
	content: "";
}

.p-faq__question-btn::after {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
	border-radius: 100vmax;
	background: #0f165b;
	width: 14px;
	width: 0.875rem;
	height: 2px;
	content: "";
}

.p-faq__question-btn.is-opened::after {
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-faq__answer {
	background: #fff;
	overflow: hidden;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-faq__answer-flex {
	gap: 3px;
	gap: 0.1875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 85px 20px 20px;
	padding: 1.25rem 5.3125rem 1.25rem 1.25rem;
}

.p-faq__answer-span {
	margin-right: 10px;
	margin-right: 0.625rem;
	color: #0f165b;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.p-feature-title {
	background: #0f165b;
	padding: 20px;
	padding: 1.25rem;
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-feature {
	position: relative;
	z-index: 1;
	background: #fff;
}

.p-feature::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-image: url(../img/common/feature-bg.webp);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 566px;
	height: 35.375rem;
	content: "";
}

.p-feature__head {
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-feature__content {
	margin-top: 56px;
	margin-top: 3.5rem;
	background: #eff1f9;
	padding: 50px 130px;
	padding: 3.125rem 8.125rem;
}

.p-feature__text-block {
	padding-inline: 50px;
	padding-inline: 3.125rem;
}

.p-feature__text {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-feature__text + .p-feature__text {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.p-feature__compare {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-feature__pronunciation {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-feature__supervision {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-footer {
	background-color: #fff;
}

.p-footer__inner {
	margin-inline: auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-right: 50px;
	padding-right: 3.125rem;
	padding-left: 50px;
	padding-left: 3.125rem;
	max-width: 1920px;
	max-width: 120rem;
}

.p-footer__items {
	gap: 30px;
	gap: 1.875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-footer__link {
	padding: 10px 0;
	padding: 0.625rem 0;
	width: 100%;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-footer__copy {
	padding: 10px 0;
	padding: 0.625rem 0;
	color: #292929;
}

.p-header {
	background-color: #0f165b;
	padding-top: 10px;
	padding-top: 0.625rem;
	padding-bottom: 10px;
	padding-bottom: 0.625rem;
	height: 70px;
	height: 4.375rem;
}

.p-header__inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
}

.p-header__logo {
	z-index: 100000;
	width: 160px;
	width: 10rem;
	height: auto;
}

.p-header__logo a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
}

.p-header__logo img,
.p-header__logo svg {
	width: auto;
	height: inherit;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-header__hamburger {
	display: none;
}

.p-header__hamburger {
	z-index: 9999;
	margin-left: auto;
}

.p-header__hamburger-bar {
	display: block;
	position: relative;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
	background-color: #fff;
	width: 35.5px;
	width: 2.21875rem;
	height: 1px;
	height: 0.0625rem;
}

.p-header__hamburger:nth-child(1) {
	top: 0;
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(1) {
	top: 9px;
	top: 0.5625rem;
	-webkit-transform: rotate(35deg);
	transform: rotate(35deg);
}

.p-header__hamburger-bar:nth-child(2) {
	margin: 7.5px 0;
	margin: 0.46875rem 0;
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(2) {
	opacity: 0;
}

.p-header__hamburger-bar:nth-child(3) {
	top: 0;
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(3) {
	top: -8px;
	top: -0.5rem;
	-webkit-transform: rotate(-35deg);
	transform: rotate(-35deg);
}

.p-header__nav {
	display: block;
	margin-left: auto;
	height: inherit;
}

.p-header__nav-items {
	gap: 30px;
	gap: 1.875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: inherit;
}

.p-header__nav-item {
	height: inherit;
}

.p-header__nav-item--contact {
	margin-left: -15px;
	margin-left: -0.9375rem;
	height: auto;
}

.p-header__nav-link {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	color: #fff;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
}

.p-header__nav-span {
	display: inline-block;
	position: relative;
}

.p-header__nav-span::after {
	position: absolute;
	bottom: -5px;
	bottom: -0.3125rem;
	left: 0;
	scale: 0;
	-webkit-transition: scale 0.3s ease;
	transition: scale 0.3s ease;
	background: #fff;
	width: 100%;
	height: 1px;
	content: "";
}

.p-header__drawer {
	display: none;
}

.p-introduction-card {
	position: relative;
	background: #fff;
	padding: 20px 30px;
	padding: 1.25rem 1.875rem;
	height: 100%;
}

.p-introduction-card::before {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-clip-path: polygon(0 0, 0 10%, 8% 0);
	clip-path: polygon(0 0, 0 10%, 8% 0);
	background: #0f165b;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	content: "";
}

.p-introduction-card__header {
	gap: 20px;
	gap: 1.25rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-introduction-card__tag {
	display: inline-block;
	background: #ffda44;
	padding: 2px 10px;
	padding: 0.125rem 0.625rem;
	color: #0f165b;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-introduction-card__name {
	margin-top: 5px;
	margin-top: 0.3125rem;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-introduction-card__img {
	width: 30.3797468354%;
}

.p-introduction-card__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-introduction-card__introduction {
	width: 59.4936708861%;
}

.p-introduction-card__title {
	color: #0f165b;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-introduction-card__text {
	margin-top: 20px;
	margin-top: 1.25rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-introduction-cards__item {
	margin-inline: 15px;
	margin-inline: 0.9375rem;
	height: auto;
}

.p-introduction {
	background: #e2e4f0;
}

.p-introduction__title {
	text-align: center;
}

.p-introduction__content {
	position: relative;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-introduction__pagination-wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.p-introduction__prev-btn,
.p-introduction__next-btn {
	aspect-ratio: 1;
	width: 38px;
	width: 2.375rem;
}

.p-introduction__prev-btn {
	margin-right: 20px;
	margin-right: 1.25rem;
}

.p-introduction__next-btn {
	margin-left: 20px;
	margin-left: 1.25rem;
}

.p-introduction__prev-btn img,
.p-introduction__next-btn img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-material-item {
	gap: 30px;
	gap: 1.875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 30px;
	margin-bottom: 1.875rem;
}

.p-material-item + .p-material-item {
	border-top: 1px solid rgba(15, 22, 91, 0.2);
	padding-top: 30px;
	padding-top: 1.875rem;
}

.p-material-item:last-of-type {
	margin-bottom: 0;
}

.p-material-item__img {
	aspect-ratio: 350 / 208;
	width: 37.2340425532%;
	overflow: hidden;
}

.p-material-item__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-material-item__body {
	width: 59.5744680851%;
}

.p-material-item__sub-title {
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.6;
}

.p-material-item__sub-items {
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.p-material-item__sub-item + .p-material-item__sub-item {
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.p-material-item__head {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-material-item__description {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-material__content {
	background: #eff1f9;
	padding: 50px 130px;
	padding: 3.125rem 8.125rem;
}

.p-mv {
	position: relative;
}

.p-mv::after {
	aspect-ratio: 1920 / 1097;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-image: url(../img/common/mv-bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(57.1354166667vw, 1097px);
	height: min(57.1354166667vw, 68.5625rem);
	content: "";
}

.p-mv::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	-webkit-clip-path: polygon(100% 0, 100% 82%, 50% 100%, 0 82%, 0 0);
	clip-path: polygon(100% 0, 100% 82%, 50% 100%, 0 82%, 0 0);
	background: #0f165b;
	width: 100%;
	height: 100%;
	content: "";
}

.p-mv__top {
	gap: 53px;
	gap: 3.3125rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.p-mv__badge {
	position: relative;
	margin-right: 10px;
	margin-right: 0.625rem;
	margin-left: auto;
	padding: 8px 12px 34px 18px;
	padding: 0.5rem 0.75rem 2.125rem 1.125rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	color: #fff;
	font-size: 20px;
	/* 整数2桁小数1桁に対応するために全体の文字サイズを小さくする */
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.p-mv__badge-span {
	font-size: 26px;
	font-size: 1.625rem;
}

.p-mv__badge::before {
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(../img/common/bubble.webp);
	background-repeat: no-repeat;
	background-size: contain;
	width: 214px;
	width: 13.375rem;
	height: 69px;
	height: 4.3125rem;
	content: "";
}

.p-mv__content {
	padding-left: 60px;
	padding-left: 3.75rem;
	width: 51.1363636364%;
	min-width: 630px;
	min-width: 39.375rem;
}

.p-mv__title-top {
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.p-mv__title-fz46 {
	font-size: 46px;
	font-size: 2.875rem;
}

.p-mv__title-center {
	gap: 10px;
	gap: 0.625rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	margin-top: 18px;
	margin-top: 1.125rem;
	white-space: nowrap;
}

.p-mv__title-img {
	width: 73.7439222042%;
}

.p-mv__title-text {
	padding-bottom: 5px;
	padding-bottom: 0.3125rem;
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-mv__title-bottom {
	margin-top: 7px;
	margin-top: 0.4375rem;
	color: #fff;
	font-size: 46.44px;
	font-size: 2.9025rem;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

.p-mv__title-fz40 {
	font-size: 40px;
	font-size: 2.5rem;
}

.p-mv__text-block {
	margin-top: 42px;
	margin-top: 2.625rem;
}

.p-mv__text {
	color: #fff;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.8;
}

.p-mv__text--sp + .p-mv__text--sp {
	margin-top: 3px;
	margin-top: 0.1875rem;
}

.p-mv__btn-wrap {
	margin-top: 37px;
	margin-top: 2.3125rem;
	background: rgba(85, 95, 166, 0.6);
	background: rgba(88, 95, 166, 0.6);
	padding: 28px 28px 35px;
	padding: 1.75rem 1.75rem 2.1875rem;
}

.p-mv__point {
	color: #fff;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
}

.p-mv__point-text {
	position: relative;
}

.p-mv__point-text::before {
	position: absolute;
	top: 40%;
	left: -5px;
	left: -0.3125rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	rotate: -45deg;
	background: #fff;
	width: 1px;
	height: 25px;
	height: 1.5625rem;
	content: "";
}

.p-mv__point-text::after {
	position: absolute;
	top: 40%;
	right: -5px;
	right: -0.3125rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	rotate: 45deg;
	background: #fff;
	width: 1px;
	height: 25px;
	height: 1.5625rem;
	content: "";
}

.p-mv__btn {
	margin-top: 12px;
	margin-top: 0.75rem;
}

.p-mv__img {
	aspect-ratio: 594.76 / 656;
	width: 45.0575757576%;
	overflow: hidden;
}

.p-mv__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-mv__bottom {
	margin-top: 117px;
	margin-top: 7.3125rem;
}

.p-mv__bottom-text {
	color: #fff;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.p-mv__items {
	gap: 30px;
	gap: 1.875rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-mv__item {
	background: #fff;
	padding: 27px 42px 20px;
	padding: 1.6875rem 2.625rem 1.25rem;
}

.p-mv__item-img {
	aspect-ratio: 206.23 / 190;
	overflow: hidden;
}

.p-mv__item-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-mv__item-text {
	position: relative;
	padding-top: 22px;
	padding-top: 1.375rem;
	color: #333;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-mv__item-text::before {
	position: absolute;
	top: 10px;
	top: 0.625rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #dfdfdf;
	width: 125%;
	height: 1px;
	content: "";
}

.p-price {
	background: #0f165b;
}

.p-price__title {
	text-align: center;
}

.p-price__content {
	margin-top: 40px;
	margin-top: 2.5rem;
	background: #fff;
	padding: 50px 130px;
	padding: 3.125rem 8.125rem;
}

.p-price__item:not(:last-of-type) {
	padding-bottom: 30px;
	padding-bottom: 1.875rem;
}

.p-price__item:not(:first-of-type) {
	border-top: 1px solid rgba(15, 22, 91, 0.2);
	padding-top: 30px;
	padding-top: 1.875rem;
}

.p-price__sub-title {
	color: #0f165b;
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	text-align: center;
}

.p-price__compare-items {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	margin-top: -4px;
	margin-top: -0.25rem;
}

.p-price__thepast-item {
	width: 42.5531914894%;
	text-align: center;
}

.p-price__other-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 57.4468085106%;
}

.p-price__additional {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-price__compare-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 50%;
}

.p-price__compare-item:not(:last-of-type) {
	border-right: 2px solid #fff;
}

.p-price__compare-item--thepast {
	margin-top: 5px;
	margin-top: 0.3125rem;
	border: 2px solid #0f165b;
	width: 100%;
}

.p-price__compare-body {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	background: #ededed;
	padding: 18px 23px;
	padding: 1.125rem 1.4375rem;
}

.p-price__compare-body--thepast {
	background: rgba(255, 245, 205, 0.6);
	background: rgba(255, 245, 205, 0.6);
	padding: 25px 80px 20px;
	padding: 1.5625rem 5rem 1.25rem;
}

.p-price__plan {
	background: #4b4b4b;
	padding-top: 6px;
	padding-top: 0.375rem;
	padding-bottom: 6px;
	padding-bottom: 0.375rem;
	color: #fff;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}

.p-price__plan--thepast {
	background: #ffc344;
	color: #46340d;
}

.p-price__tag-wrap {
	gap: 6px;
	gap: 0.375rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-price__tag {
	border-radius: 100vmax;
	background: #4b4b4b;
	padding: 3.5px 9px;
	padding: 0.21875rem 0.5625rem;
	color: #fff;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-price__tag--thepast {
	background: #ffc344;
	color: #0f165b;
}

.p-price__plan-items {
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.p-price__plan-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-price__plan-item + .p-price__plan-item {
	margin-top: 0;
}

.p-price__plan-price {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	margin-left: 5px;
	margin-left: 0.3125rem;
	font-family: "Roboto", serif;
	font-size: min(2.5vw, 30px);
	font-size: min(2.5vw, 1.875rem);
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.p-price__plan-price-tag {
	display: inline-block;
	margin-right: auto;
	background: #292929;
	padding-top: 6px;
	padding-top: 0.375rem;
	padding-bottom: 6px;
	padding-bottom: 0.375rem;
	width: min(6.3492063492vw, 80px);
	width: min(6.3492063492vw, 5rem);
	color: #fff;
	font-family: "Noto Sans JP", serif;
	font-size: min(0.9523809524vw, 12px);
	font-size: min(0.9523809524vw, 0.75rem);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.p-price__plan-price-en {
	display: inline-block;
	margin-left: 3px;
	margin-left: 0.1875rem;
	font-family: "Noto Sans JP", serif;
	font-size: min(1.5873015873vw, 20px);
	font-size: min(1.5873015873vw, 1.25rem);
}

.p-price__notes-wrap {
	gap: 10px;
	gap: 0.625rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-price__notes {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 11px;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-price__system-items {
	gap: 68px;
	gap: 4.25rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.p-price__system-item {
	border: 2px solid #0f165b;
	width: 34.4680851064%;
}

.p-price__system-item--coaching {
	position: relative;
	width: 58.2978723404%;
}

.p-price__system-item--coaching::after {
	position: absolute;
	top: 55%;
	right: -54px;
	right: -3.375rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/common/plus.webp);
	background-repeat: no-repeat;
	background-size: contain;
	width: 36px;
	width: 2.25rem;
	height: 36px;
	height: 2.25rem;
	content: "";
}

.p-price__style {
	background: #0f165b;
	padding-top: 12px;
	padding-top: 0.75rem;
	padding-bottom: 11px;
	padding-bottom: 0.6875rem;
	color: #fff;
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.p-price__style--coaching {
	background: #ffc344;
	color: #292929;
}

.p-price__style-body {
	padding: 30px 20px 14px;
	padding: 1.875rem 1.25rem 0.875rem;
}

.p-price__style-body--coaching {
	background: rgba(255, 245, 205, 0.6);
	background: rgba(255, 245, 205, 0.6);
}

.p-price__text {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-price__text--coaching {
	text-align: center;
}

.p-price__style-price {
	margin-top: 10px;
	margin-top: 0.625rem;
	font-family: "Roboto", serif;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}

.p-price__style-price--coaching {
	margin-top: 15px;
	margin-top: 0.9375rem;
	color: #0f165b;
	font-size: 40px;
	font-size: 2.5rem;
}

.p-price__style-price-en {
	font-family: "Noto Sans JP", serif;
	font-size: 20px;
	font-size: 1.25rem;
}

.p-price__style-price-en--coaching {
	font-size: 25px;
	font-size: 1.5625rem;
}

.p-price__point-items {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.p-price__point-item {
	background: #f0f1f7;
	padding: 20px;
	padding: 1.25rem;
}

.p-price__point-item + .p-price__point-item {
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-price__point-head {
	color: #0f165b;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-price__point-price-wrap {
	gap: 10px;
	gap: 0.625rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-price__price {
	color: #0f165b;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-price__point-en {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1;
}

.p-price__note-items {
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-price__note-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-price__point-text {
	margin-top: 10px;
	margin-top: 0.625rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-pronunciation__title {
	background: #0f165b;
	padding: 20px;
	padding: 1.25rem;
	color: #fff;
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

.p-pronunciation__body {
	background: #fff;
	padding: 30px 50px;
	padding: 1.875rem 3.125rem;
}

.p-pronunciation__text {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
	text-align: center;
}

.p-pronunciation__text + .p-pronunciation__text {
	margin-top: 22px;
	margin-top: 1.375rem;
}

.p-pronunciation__text--bold {
	font-weight: 700;
}

.p-pronunciation__text-fz18 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.8;
}

.p-pronunciation__text-fz20 {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 1.8;
}

.p-pronunciation__center {
	margin-top: 30px;
	margin-top: 1.875rem;
	background: rgba(255, 245, 205, 0.6);
	background: rgba(255, 245, 205, 0.6);
	padding: 20px;
	padding: 1.25rem;
}

.p-pronunciation__bottom {
	position: relative;
	margin-top: 30px;
	margin-top: 1.875rem;
	border: 2px solid #0f165b;
	padding: 20px 38px 30px;
	padding: 1.25rem 2.375rem 1.875rem;
}

.p-pronunciation__bottom::before {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-clip-path: polygon(0 0, 0 5%, 3% 0);
	clip-path: polygon(0 0, 0 5%, 3% 0);
	background: #0f165b;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	content: "";
}

.p-pronunciation__sub-title {
	margin-inline: auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	color: #0f165b;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-pronunciation__example {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 20px;
	margin-top: 1.25rem;
	background: #f0f1f7;
	padding: 12px;
	padding: 0.75rem;
	color: #333;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-pronunciation__example-span {
	display: inline-block;
	position: relative;
	padding-left: 27px;
	padding-left: 1.6875rem;
}

.p-pronunciation__example-span::before {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/common/vowel.webp);
	background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	width: 1.5rem;
	height: 24px;
	height: 1.5rem;
	content: "";
}

.p-pronunciation__items {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.p-pronunciation__item {
	padding-bottom: 17px;
	padding-bottom: 1.0625rem;
}

.p-pronunciation__item:not(:first-of-type) {
	position: relative;
	padding-top: 17px;
	padding-top: 1.0625rem;
}

.p-pronunciation__item:not(:first-of-type)::before {
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(
		to right,
		rgba(15, 22, 91, 0.2) 4px,
		transparent 4px
	);
	background-repeat: repeat-x;
	background-size: 10px 2px;
	width: 100%;
	height: 1px;
	height: 0.0625rem;
	content: "";
}

.p-pronunciation__item:last-of-type {
	padding-bottom: 0;
}

.p-pronunciation__head {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 900;
}

.p-pronunciation__text-block {
	position: relative;
}

.p-pronunciation__bottom-text {
	margin-top: 24px;
	margin-top: 1.5rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-pronunciation__bottom-text--mt0 {
	margin-top: 0;
}

.p-pronunciation__bottom-text--mt {
	margin-top: 0;
}

.p-pronunciation__sign {
	font-size: 12px;
	font-size: 0.75rem;
}

.p-pronunciation__bubble {
	position: absolute;
	z-index: 1;
	-webkit-filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
	padding: 7px 10px;
	padding: 0.4375rem 0.625rem;
	color: #0f165b;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-pronunciation__bubble::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	border-radius: 0.625rem;
	background: #ffda44;
	width: 100%;
	height: 100%;
	content: "";
}

.p-pronunciation__bubble::after {
	position: absolute;
	background: #ffda44;
	content: "";
}

.p-pronunciation__bubble--01 {
	top: -32px;
	top: -2rem;
	left: min(148px, 19.4736842105%);
	left: min(9.25rem, 19.4736842105%);
}

.p-pronunciation__bubble--01::after {
	top: 50%;
	left: -20px;
	left: -1.25rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 75%);
	clip-path: polygon(100% 0%, 0% 100%, 100% 75%);
	width: 22px;
	width: 1.375rem;
	height: 18px;
	height: 1.125rem;
}

.p-pronunciation__bubble--02 {
	top: -12px;
	top: -0.75rem;
	left: min(520px, 68.4210526316%);
	left: min(32.5rem, 68.4210526316%);
}

.p-pronunciation__bubble--02::after {
	top: 40%;
	left: -72px;
	left: -4.5rem;
	-webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 35%);
	clip-path: polygon(100% 0%, 0% 100%, 100% 35%);
	width: 75px;
	width: 4.6875rem;
	height: 40px;
	height: 2.5rem;
}

.p-pronunciation__bubble--03 {
	top: -54px;
	top: -3.375rem;
	right: -16px;
	right: -1rem;
}

.p-pronunciation__bubble--03::after {
	bottom: -18px;
	bottom: -1.125rem;
	left: 53%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
	clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
	width: 18px;
	width: 1.125rem;
	height: 20px;
	height: 1.25rem;
}

.p-slider__control {
	margin-inline: auto;
	padding-inline: 40px;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: -webkit-max-content;
	max-width: -moz-max-content;
	max-width: max-content;
}

.p-slider__arrows {
	cursor: pointer;
}

.p-slider__prev-arrow {
	position: absolute;
	top: -8px;
	top: -0.5rem;
	left: 0;
}

.p-slider__next-arrow {
	position: absolute;
	top: -8px;
	top: -0.5rem;
	right: 0;
}

.p-slider__prev-arrow,
.p-slider__next-arrow {
	width: 38px;
	width: 2.375rem;
	height: 38px;
	height: 2.375rem;
}

.p-slider__prev-arrow {
	margin-left: -15px;
	margin-left: -0.9375rem;
}

.p-slider__next-arrow {
	margin-right: -15px;
	margin-right: -0.9375rem;
}

.p-slider__dots .slick-dots {
	position: static;
	font-size: 0;
}

.p-supervision {
	background: #fff;
	padding: 10px 50px 20px;
	padding: 0.625rem 3.125rem 1.25rem;
}

.p-supervision__capture {
	color: #0f165b;
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 700;
}

.p-supervision__flex {
	gap: 30px;
	gap: 1.875rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-top: 10px;
	margin-top: 0.625rem;
}

.p-supervision__img {
	aspect-ratio: 1;
	width: 18.5714285714%;
	overflow: hidden;
}

.p-supervision__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-supervision__text-block {
	width: 77.8571428571%;
}

.p-supervision__tag {
	display: inline-block;
	background: #0f165b;
	padding: 0 10px;
	padding: 0 0.625rem;
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-supervision__name {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-supervision__text {
	margin-top: 10px;
	margin-top: 0.625rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-voice-card {
	background: #fff;
	padding: 20px 30px;
	padding: 1.25rem 1.875rem;
	height: 100%;
}

.p-voice-card__header {
	gap: 20px;
	gap: 1.25rem;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.p-voice-card__point {
	display: inline-block;
	background: #0f165b;
	padding: 5px 10px;
	padding: 0.3125rem 0.625rem;
	color: #ffda44;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
}

.p-voice-card__point-span {
	color: #fff;
	font-size: 14px;
	font-size: 0.875rem;
}

.p-voice-card__name {
	margin-top: 12px;
	margin-top: 0.75rem;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-voice-card__img {
	width: 30.3797468354%;
}

.p-voice-card__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-voice-card__introduction {
	width: 59.4936708861%;
}

.p-voice-card__title {
	margin-top: 20px;
	margin-top: 1.25rem;
	color: #0f165b;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-voice-card__text {
	margin-top: 10px;
	margin-top: 0.625rem;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7;
}

.p-voice-cards__item {
	margin-inline: 15px;
	margin-inline: 0.9375rem;
	height: auto;
}

.p-voice {
	background: #eff1f9;
}

.p-voice__title {
	text-align: center;
}

.p-voice__content {
	position: relative;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.clearfix::after {
	display: block;
	clear: both;
	content: "";
}

/************************************************************************
 * visible device spファースト
 ************************************************************************/
.u-onlyPc {
	display: block;
}

.u-onlySp {
	display: none;
}

.red {
	color: #e30f0f;
}

.yellow {
	color: #ffda44;
}

.dark-yellow {
	color: #ffc344;
}

.u-inlineBlock {
	display: inline-block !important;
}

.u-block {
	display: block !important;
}

.u-inline {
	display: inline !important;
}

.underline {
	border-bottom: 2px solid #0f165b;
}

.highlight {
	display: inline;
	background: #ffeca2;
}

.bold {
	font-weight: 700;
}

@media (max-width: 1200px) {
	html {
		font-size: 1.3333333333vw;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 16px;
	}

	.l-about {
		margin-top: 14px;
		margin-top: 0.875rem;
		padding-bottom: 48px;
		padding-bottom: 3rem;
	}

	.l-container {
		padding: 0 15px;
		max-width: 630px;
	}

	.l-container.l-container--narrower {
		max-width: 630px;
	}

	.l-container.l-container--narrow {
		max-width: 630px;
	}

	.l-container.l-container--wide {
		max-width: 630px;
	}

	.l-container.l-container--full {
		max-width: 630px;
	}

	.l-feature {
		padding-top: 170px;
		padding-top: 10.625rem;
		padding-bottom: 30px;
		padding-bottom: 1.875rem;
	}

	.l-footer {
		padding-top: 10px;
		padding-top: 0.625rem;
		padding-bottom: 20px;
		padding-bottom: 1.25rem;
	}

	.l-mv {
		padding-top: 16px;
		padding-top: 1rem;
		padding-bottom: 86px;
	}

	.l-section {
		padding-top: 20px;
		padding-top: 1.25rem;
		padding-bottom: 50px;
		padding-bottom: 3.125rem;
	}

	.l-section--pb {
		padding-bottom: 60px;
		padding-bottom: 3.75rem;
	}

	.c-btn {
		gap: 0;
		padding: 0.5em 0.68em 0.7em 2.05em;
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.3;
	}

	.c-btn__tag {
		margin-right: 30px;
		margin-right: 1.875rem;
		padding: 0 12px;
		padding: 0 0.75rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.c-btn__text {
		padding-right: 30px;
		padding-right: 1.875rem;
	}

	.c-btn::after {
		top: 50%;
		right: 15px;
		right: 0.9375rem;
	}

	.c-section-title {
		font-size: 22px;
		font-size: 1.375rem;
	}

	.p-about__message {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.6;
	}

	.p-about__title-block {
		gap: 3px;
		gap: 0.1875rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 25px;
		margin-top: 1.5625rem;
		margin-left: 0;
	}

	.p-about__title-aid {
		font-size: 18px;
		font-size: 1.125rem;
	}

	.p-about__title {
		font-size: 38px;
		font-size: 2.375rem;
	}

	.p-about__ruby::before {
		right: -5.2em;
		bottom: 85%;
		left: -4.7em;
		-webkit-transform: scale(0.35);
		transform: scale(0.35);
		letter-spacing: 1.4em;
	}

	.p-about__content {
		margin-top: 16px;
		margin-top: 1rem;
	}

	.p-about__head {
		padding: 10px 20px;
		padding: 0.625rem 1.25rem;
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.5;
		text-align: left;
	}

	.p-about__body {
		padding: 20px 14px;
		padding: 1.25rem 0.875rem;
	}

	.p-about__top {
		padding: 10px 15px 15px;
		padding: 0.625rem 0.9375rem 0.9375rem;
	}

	.p-about__top-title {
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-about__text {
		margin-top: 15px;
		margin-top: 0.9375rem;
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.7;
		text-align: left;
	}

	.p-about__items {
		gap: 5px;
		gap: 0.3125rem;
		grid-template-columns: repeat(1, 1fr);
		margin-top: 15px;
		margin-top: 0.9375rem;
	}

	.p-about__item {
		gap: 5px;
		gap: 0.3125rem;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		padding: 6px 10px;
		padding: 0.375rem 0.625rem;
	}

	.p-about__item--pd {
		padding: 15px 10px;
		padding: 0.9375rem 0.625rem;
	}

	.p-about__img {
		width: 52px;
		width: 3.25rem;
		width: 20%;
	}

	.p-about__item-text {
		margin-top: 0;
		width: 80%;
		font-size: 16px;
		font-size: 1rem;
		letter-spacing: 0;
		line-height: 1.7;
		text-align: left;
	}

	.p-about__bottom {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-about__bottom-title-block {
		gap: 0;
		text-align: left;
	}

	.p-about__bottom-title {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 2;
	}

	.p-about__bottom-title--pl {
		padding-left: 0;
	}

	.p-about__bottom-thepast {
		padding-right: 3px;
		padding-right: 0.1875rem;
		padding-left: 32px;
		padding-left: 2rem;
		font-size: 20px;
		font-size: 1.25rem;
		letter-spacing: -0.03em;
	}

	.p-about__bottom-thepast::before {
		top: -2px;
		top: -0.125rem;
		left: -2px;
		left: -0.125rem;
		width: 32px;
		width: 2rem;
		height: 32px;
		height: 2rem;
	}

	.p-about__bottom-content {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-about__bottom-text {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.6;
	}

	.p-about__note {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.7;
	}

	.p-company__text {
		text-align: left;
	}

	.p-company__item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-company__item + .p-company__item {
		margin-top: 0;
	}

	.p-company__name {
		-webkit-box-pack: left;
		-webkit-justify-content: left;
		-ms-flex-pack: left;
		justify-content: left;
		padding: 10px 20px;
		padding: 0.625rem 1.25rem;
		width: 100%;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-company__description {
		width: 100%;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-compare {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-compare__other {
		width: 100%;
	}

	.p-compare__other-inner {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
		padding: 20px 66px 43px;
		padding: 1.25rem 4.125rem 2.6875rem;
	}

	.p-compare__thePast {
		margin-top: -72px;
		margin-top: -4.5rem;
		margin-left: 0;
		padding: 82px 15px 22px;
		padding: 5.125rem 0.9375rem 1.375rem;
		width: 100%;
	}

	.p-compare__logo {
		width: 161px;
		width: 10.0625rem;
	}

	.p-compare__title {
		margin-top: 10px;
		margin-top: 0.625rem;
		line-height: 1.7;
		text-align: center;
		white-space: inherit;
	}

	.p-compare__text {
		margin-top: 10px;
		margin-top: 0.625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-curriculum-card {
		padding: 20px 15px;
		padding: 1.25rem 0.9375rem;
	}

	.p-curriculum-card__img {
		aspect-ratio: 315 / 165;
	}

	.p-curriculum-card__name {
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-curriculum-card__text {
		margin-top: 9px;
		margin-top: 0.5625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-curriculum-cards {
		grid-template-columns: repeat(1, 1fr);
	}

	.p-curriculum__content {
		padding: 20px 0 50px;
		padding: 1.25rem 0 3.125rem;
	}

	.p-drawer {
		display: none;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		margin-top: 50px;
		margin-top: 3.125rem;
		background: #0f165b;
		padding-top: 40px;
		padding-top: 2.5rem;
		padding-bottom: 100px;
		padding-bottom: 6.25rem;
		width: 100%;
		height: calc(100vh - 3.125rem);
		height: calc(100svh - 3.125rem);
		overflow-y: auto;
	}

	.p-faq__content {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-faq__question {
		padding: 16px 15px;
		padding: 1rem 0.9375rem;
	}

	.p-faq__question-span {
		margin-right: 0;
	}

	.p-faq__answer {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-faq__answer-flex {
		padding: 10px 15px;
		padding: 0.625rem 0.9375rem;
	}

	.p-faq__answer-span {
		margin-right: 2px;
		margin-right: 0.125rem;
	}

	.p-feature-title {
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		padding: 15px;
		padding: 0.9375rem;
		font-size: 22px;
		font-size: 1.375rem;
	}

	.p-feature {
		background: #eff1f9;
	}

	.p-feature::after {
		background-image: url(../img/common/feature-bg_sp.webp);
		height: 388px;
		height: 24.25rem;
	}

	.p-feature__head {
		min-height: 199px;
		min-height: 12.4375rem;
		font-size: 22px;
		font-size: 1.375rem;
		text-align: left;
	}

	.p-feature__content {
		margin-top: 20px;
		margin-top: 1.25rem;
		padding: 20px 0 50px;
		padding: 1.25rem 0 3.125rem;
	}

	.p-feature__text-block {
		padding-inline: 0;
	}

	.p-feature__compare {
		margin-top: 30px;
		margin-top: 1.875rem;
	}

	.p-feature__pronunciation {
		margin-top: 30px;
		margin-top: 1.875rem;
	}

	.p-feature__supervision {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-footer__inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-footer__items {
		gap: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-footer__item {
		text-align: center;
	}

	.p-footer__link {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-footer__copy {
		margin-top: 30px;
		margin-top: 1.875rem;
	}

	.p-header {
		padding-top: 5px;
		padding-top: 0.3125rem;
		padding-bottom: 5px;
		padding-bottom: 0.3125rem;
		height: 50px;
		height: 3.125rem;
	}

	.p-header__logo {
		width: 127px;
		width: 7.9375rem;
	}

	.p-header__hamburger {
		display: block;
	}

	.p-header__nav {
		display: none;
	}

	.p-header__drawer {
		display: block;
	}

	.p-introduction-card {
		padding: 20px 15px 20px;
		padding: 1.25rem 0.9375rem 1.25rem;
	}

	.p-introduction-card::before {
		-webkit-clip-path: polygon(0 0, 0 6%, 8% 0);
		clip-path: polygon(0 0, 0 6%, 8% 0);
	}

	.p-introduction-card__header {
		gap: 10px;
		gap: 0.625rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-introduction-card__tag {
		padding: 0.5px 10px;
		padding: 0.03125rem 0.625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-introduction-card__name {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-introduction-card__img {
		width: 38.0952380952%;
	}

	.p-introduction-card__introduction {
		width: 100%;
		text-align: center;
	}

	.p-introduction-card__text {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-introduction-cards__item {
		margin-inline: 0;
	}

	.p-introduction__content {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-material-item {
		gap: 20px;
		gap: 1.25rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-bottom: 15px;
		margin-bottom: 0.9375rem;
	}

	.p-material-item + .p-material-item {
		padding-top: 20px;
		padding-top: 1.25rem;
	}

	.p-material-item__img {
		aspect-ratio: 345 / 208;
		width: 100%;
	}

	.p-material-item__body {
		padding-inline: 15px;
		padding-inline: 0.9375rem;
		width: 100%;
	}

	.p-material-item__sub-title {
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.5;
	}

	.p-material-item__head {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-material-item__description {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-material__content {
		padding: 20px 0;
		padding: 1.25rem 0;
	}

	.p-mv::before {
		-webkit-clip-path: polygon(100% 0, 100% 96%, 50% 100%, 0 96%, 0 0);
		clip-path: polygon(100% 0, 100% 96%, 50% 100%, 0 96%, 0 0);
	}

	.p-mv__top {
		gap: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.p-mv__badge {
		-webkit-box-ordinal-group: 2;
		-webkit-order: 1;
		-ms-flex-order: 1;
		order: 1;
		font-size: 14px;
		font-size: 0.875rem;
		letter-spacing: -0.07em;
	}

	.p-mv__badge-span {
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-mv__badge::before {
		top: 4px;
		top: 0.25rem;
		left: 2px;
		left: 0.125rem;
		background-image: url(../img/common/bubble_sp.webp);
		width: 151px;
		width: 9.4375rem;
		height: 46px;
		height: 2.875rem;
	}

	.p-mv__content {
		display: contents;
		padding-left: 0;
		width: 100%;
		min-width: inherit;
	}

	.p-mv__title-block {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}

	.p-mv__title-top {
		margin-top: -5px;
		margin-top: -0.3125rem;
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-mv__title-fz46 {
		font-size: 25px;
		font-size: 1.5625rem;
	}

	.p-mv__title-center {
		margin-top: 6px;
		margin-top: 0.375rem;
	}

	.p-mv__title-img {
		width: 242.76px;
		width: 15.1725rem;
	}

	.p-mv__title-text {
		padding-bottom: 0;
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-mv__title-bottom {
		margin-top: 3px;
		margin-top: 0.1875rem;
		font-size: 28.6px;
		font-size: 1.7875rem;
	}

	.p-mv__title-fz40 {
		font-size: 28.6px;
		font-size: 1.7875rem;
	}

	.p-mv__text-block {
		-webkit-box-ordinal-group: 5;
		-webkit-order: 4;
		-ms-flex-order: 4;
		order: 4;
		margin-top: 0;
	}

	.p-mv__text {
		padding-left: 24px;
		padding-left: 1.5rem;
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.4;
	}

	.p-mv__text--sp {
		position: relative;
	}

	.p-mv__text--sp::before {
		position: absolute;
		top: 0;
		left: 0;
		background-image: url(../img/common/check.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 16px;
		width: 1rem;
		height: 20px;
		height: 1.25rem;
		content: "";
	}

	.p-mv__btn-wrap {
		-webkit-box-ordinal-group: 6;
		-webkit-order: 5;
		-ms-flex-order: 5;
		order: 5;
		margin-top: 18px;
		margin-top: 1.125rem;
		padding: 10px 15px 12px;
		padding: 0.625rem 0.9375rem 0.75rem;
		width: 100%;
	}

	.p-mv__point {
		position: relative;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-mv__point-text::before {
		top: 58%;
		left: -18px;
		left: -1.125rem;
		rotate: -34deg;
		height: 40px;
		height: 2.5rem;
	}

	.p-mv__point-text::after {
		top: 58%;
		right: -18px;
		right: -1.125rem;
		rotate: 34deg;
		height: 40px;
		height: 2.5rem;
	}

	.p-mv__btn {
		margin-top: 8px;
		margin-top: 0.5rem;
	}

	.p-mv__img {
		margin-inline: auto;
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		order: 3;
		margin-top: -3px;
		margin-top: -0.1875rem;
		padding-left: 21px;
		padding-left: 1.3125rem;
		width: 71.0144927536%;
	}

	.p-mv__bottom {
		margin-top: 27px;
		margin-top: 1.6875rem;
	}

	.p-mv__bottom-text {
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.5;
	}

	.p-mv__items {
		padding-inline: 15px;
		padding-inline: 0.9375rem;
		gap: 10px;
		gap: 0.625rem;
		grid-template-columns: repeat(1, 1fr);
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-mv__item {
		gap: 10px;
		gap: 0.625rem;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 7px 11px 8px 11px;
		padding: 0.4375rem 0.6875rem 0.5rem 0.6875rem;
	}

	.p-mv__item-img {
		width: 35.0877192982%;
	}

	.p-mv__item-text {
		padding-top: 0;
		width: 61.4035087719%;
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.6;
		text-align: left;
	}

	.p-mv__item-text::before {
		content: none;
	}

	.p-price__content {
		margin-top: 20px;
		margin-top: 1.25rem;
		padding: 20px 13px;
		padding: 1.25rem 0.8125rem;
	}

	.p-price__item:not(:last-of-type) {
		padding-bottom: 0;
	}

	.p-price__item:not(:first-of-type) {
		border-top: none;
	}

	.p-price__sub-title {
		font-size: 22px;
		font-size: 1.375rem;
	}

	.p-price__compare-items {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-price__thepast-item {
		width: 100%;
	}

	.p-price__other-item {
		padding-inline: 7.5px;
		padding-inline: 0.46875rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 7px;
		margin-top: 0.4375rem;
		width: 100%;
	}

	.p-price__additional {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-price__compare-item {
		width: 100%;
	}

	.p-price__compare-item:not(:last-of-type) {
		border-right: none;
	}

	.p-price__compare-item--thepast {
		margin-top: 2px;
		margin-top: 0.125rem;
	}

	.p-price__compare-body {
		padding: 10px 43px 16px;
		padding: 0.625rem 2.6875rem 1rem;
	}

	.p-price__compare-body--thepast {
		padding: 18px 49px 15px;
		padding: 1.125rem 3.0625rem 0.9375rem;
	}

	.p-price__plan {
		padding-top: 3px;
		padding-top: 0.1875rem;
		padding-bottom: 3px;
		padding-bottom: 0.1875rem;
	}

	.p-price__plan--thepast {
		padding-top: 4px;
		padding-top: 0.25rem;
		padding-bottom: 2px;
		padding-bottom: 0.125rem;
	}

	.p-price__tag-wrap {
		gap: 10px;
		gap: 0.625rem;
	}

	.p-price__tag {
		padding: 0.4px 10px 1.4px;
		padding: 0.025rem 0.625rem 0.0875rem;
		font-size: 15px;
		font-size: 0.9375rem;
		line-height: 1.5;
	}

	.p-price__plan-items {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-price__plan-item {
		margin-inline: auto;
		max-width: 300px;
		max-width: 18.75rem;
	}

	.p-price__plan-item + .p-price__plan-item {
		margin-top: 2px;
		margin-top: 0.125rem;
	}

	.p-price__plan-price {
		font-size: 30px;
		font-size: 1.875rem;
	}

	.p-price__plan-price-tag {
		padding: 5.52px 0;
		padding: 0.345rem 0;
		width: 73.47px;
		width: 4.591875rem;
		font-size: 15px;
		font-size: 0.9375rem;
	}

	.p-price__plan-price-en {
		margin-left: 2px;
		margin-left: 0.125rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-price__notes-wrap {
		gap: 10px;
		gap: 0.625rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 17px;
		margin-top: 1.0625rem;
	}

	.p-price__notes {
		font-size: 14px;
		font-size: 0.875rem;
	}

	.p-price__system-items {
		gap: 50px;
		gap: 3.125rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 20px;
		margin-top: 1.25rem;
		margin-top: 16px;
		margin-top: 1rem;
	}

	.p-price__system-item {
		width: 100%;
	}

	.p-price__system-item--coaching {
		width: 100%;
	}

	.p-price__system-item--coaching::after {
		top: auto;
		bottom: -45px;
		bottom: -2.8125rem;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

	.p-price__style {
		padding-top: 5px;
		padding-top: 0.3125rem;
		padding-bottom: 5px;
		padding-bottom: 0.3125rem;
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.5;
	}

	.p-price__style-body {
		padding: 15px 14px 5px;
		padding: 0.9375rem 0.875rem 0.3125rem;
	}

	.p-price__text {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-price__text--coaching {
		text-align: left;
	}

	.p-price__style-price {
		margin-top: 0;
	}

	.p-price__style-price--coaching {
		font-size: 30px;
		font-size: 1.875rem;
	}

	.p-price__style-price-en {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-price__point-items {
		margin-top: 32px;
		margin-top: 2rem;
	}

	.p-price__point-item {
		padding: 20px 15px;
		padding: 1.25rem 0.9375rem;
	}

	.p-price__point-head {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.5;
	}

	.p-price__point-price-wrap {
		gap: 6px;
		gap: 0.375rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.p-price__point-en {
		font-size: 28px;
		font-size: 1.75rem;
	}

	.p-price__note-item + .p-price__note-item {
		margin-top: 5px;
		margin-top: 0.3125rem;
	}

	.p-price__point-text {
		margin-top: 10px;
		margin-top: 0.625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-pronunciation__title {
		padding: 20px 15px;
		padding: 1.25rem 0.9375rem;
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 1.5;
		text-align: left;
	}

	.p-pronunciation__body {
		padding: 20px 15px;
		padding: 1.25rem 0.9375rem;
	}

	.p-pronunciation__text {
		font-size: 16px;
		font-size: 1rem;
		text-align: left;
	}

	.p-pronunciation__text + .p-pronunciation__text {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.p-pronunciation__text-fz18 {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.7;
	}

	.p-pronunciation__text-fz20 {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.7;
	}

	.p-pronunciation__center {
		margin-top: 20px;
		margin-top: 1.25rem;
		padding: 20px 10px;
		padding: 1.25rem 0.625rem;
	}

	.p-pronunciation__bottom {
		margin-top: 30px;
		margin-top: 1.875rem;
		padding: 20px 15px;
		padding: 1.25rem 0.9375rem;
	}

	.p-pronunciation__bottom::before {
		-webkit-clip-path: polygon(0 0, 0 2%, 8% 0);
		clip-path: polygon(0 0, 0 2%, 8% 0);
	}

	.p-pronunciation__sub-title {
		padding-bottom: 8px;
		padding-bottom: 0.5rem;
		width: 100%;
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-pronunciation__example {
		margin-top: 10px;
		margin-top: 0.625rem;
		padding: 11px 15px;
		padding: 0.6875rem 0.9375rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-pronunciation__example-span {
		padding-left: 34px;
		padding-left: 2.125rem;
	}

	.p-pronunciation__example-span::before {
		top: 12px;
		top: 0.75rem;
		left: -2px;
		left: -0.125rem;
	}

	.p-pronunciation__items {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-pronunciation__item {
		padding-bottom: 20px;
		padding-bottom: 1.25rem;
	}

	.p-pronunciation__item:not(:first-of-type) {
		padding-top: 10px;
		padding-top: 0.625rem;
	}

	.p-pronunciation__head {
		font-size: 20px;
		font-size: 1.25rem;
	}

	.p-pronunciation__bottom-text {
		margin-top: 10px;
		margin-top: 0.625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-pronunciation__bottom-text--mt0 {
		margin-top: 0;
	}

	.p-pronunciation__bottom-text--mt {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-pronunciation__sign {
		font-size: 14px;
		font-size: 0.875rem;
	}

	.p-pronunciation__bubble {
		position: relative;
		top: initial;
		right: inherit;
		left: inherit;
		margin-top: 10px;
		margin-top: 0.625rem;
		padding: 7px 10px 15px;
		padding: 0.4375rem 0.625rem 0.9375rem;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		max-width: none;
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.7;
	}

	.p-pronunciation__bubble::before {
		top: 0;
		left: 0;
		border-radius: 0.625rem;
		background: #ffda44;
		width: 100%;
		height: 100%;
	}

	.p-pronunciation__bubble::after {
		top: -10px;
		top: -0.625rem;
		left: 40px;
		left: 2.5rem;
		-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		width: 20px;
		width: 1.25rem;
		height: 12px;
		height: 0.75rem;
	}

	.p-pronunciation__bubble--01 {
		top: 0;
		left: 0;
	}

	.p-pronunciation__bubble--01::after {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	.p-pronunciation__bubble--03 {
		padding: 7px 10px;
		padding: 0.4375rem 0.625rem;
	}

	.p-supervision {
		padding: 20px;
		padding: 1.25rem;
	}

	.p-supervision__capture {
		font-size: 20px;
		font-size: 1.25rem;
		text-align: center;
	}

	.p-supervision__flex {
		gap: 15px;
		gap: 0.9375rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.p-supervision__img {
		width: 51.1475409836%;
	}

	.p-supervision__text-block {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		width: 100%;
	}

	.p-supervision__name {
		margin-top: 4px;
		margin-top: 0.25rem;
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.6;
	}

	.p-supervision__text {
		margin-top: 10px;
		margin-top: 0.625rem;
		font-size: 16px;
		font-size: 1rem;
	}

	.p-voice-card {
		padding: 20px 15px 20px;
		padding: 1.25rem 0.9375rem 1.25rem;
	}

	.p-voice-card__header {
		gap: 10px;
		gap: 0.625rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.p-voice-card__point-span {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-voice-card__name {
		margin-top: 10px;
		margin-top: 0.625rem;
	}

	.p-voice-card__img {
		width: 38.0952380952%;
	}

	.p-voice-card__introduction {
		width: 100%;
		text-align: center;
	}

	.p-voice-card__text {
		font-size: 16px;
		font-size: 1rem;
	}

	.p-voice-cards__item {
		margin-inline: 0;
	}

	.p-voice__content {
		margin-top: 20px;
		margin-top: 1.25rem;
	}

	.u-onlyPc {
		display: none;
	}

	.u-onlySp {
		display: block;
	}
}

@media (max-width: 375px) {
	html {
		font-size: 4.2666666667vw;
	}
}

@media (hover: hover) {
	.c-btn.c-btn--shine:hover {
		opacity: 1;
		border-color: linear-gradient(#ff710c 41%, #d8461d 100%);
		background-color: linear-gradient(#ff710c 41%, #d8461d 100%);
		color: #fff;
	}

	.c-btn.c-btn--shine:hover::before {
		-webkit-animation: shine 0.7s;
		animation: shine 0.7s;
	}

	.c-cta-btn.c-cta-btn--shine:hover {
		opacity: 1;
		border-color: linear-gradient(#ff710c 41%, #d8461d 100%);
		background-color: linear-gradient(#ff710c 41%, #d8461d 100%);
		color: #fff;
	}

	.c-cta-btn.c-cta-btn--shine:hover::before {
		-webkit-animation: shine 0.7s;
		animation: shine 0.7s;
	}

	.c-totop.is-active:hover {
		opacity: 1;
	}

	.p-faq__question:hover {
		cursor: pointer;
	}

	.p-header__nav-link:hover {
		opacity: 1;
	}

	.p-header__nav-span:hover::after {
		scale: 1;
	}
}

/* オリジナルのscript.jsで文字列リテラルとして読み込むと画像のバンドルができないため、CSSで設定 */
.p-slider__prev-arrow {
	content: url(../img/common/slider-arrow-prev.svg);
}

.p-slider__next-arrow {
	content: url(../img/common/slider-arrow-next.svg);
}

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