body {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

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

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

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

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.l-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1250px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-main {
	margin-top: 4.375rem;
}

.l-under-mv {
	margin-top: 3.3125rem;
}

.bg {
	overflow-x: hidden;
	position: relative;
}

.bg::before {
	background-image: url(../images/common/mv-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.c-button {
	align-items: center;
	background-color: #FA7756;
	border-radius: 9996px;
	box-shadow: 0 0 7.75px #ffb43b;
	color: #fff;
	display: flex;
	font-size: 2.625rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.2;
	margin-left: auto;
	margin-right: auto;
	max-width: 45rem;
	padding: 0.75rem 1.25rem 1.875rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.c-button.c-button--narrow {
	padding: 2.625rem 1.25rem;
}

.c-button span {
	display: inline-block;
	font-size: 1.5625rem;
	margin-bottom: 0.0625rem;
}

.c-button::after {
	background-image: url(../images/common/arrow-button.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.875rem;
	margin-left: 8px;
	width: 1.875rem;
}

.c-button.c-button--drawer {
	max-width: 20.6875rem;
	padding: 1.25rem;
}

.c-float-cta {
	background-color: #FFEBCC;
	bottom: 0;
	display: flex;
	display: none;
	justify-content: center;
	left: 0;
	padding: 10px 0;
	position: fixed;
	transform: translateY(200%);
	transition: transform 0.5s ease-in-out;
	width: 100%;
	z-index: 899;
}

.c-float-cta.show {
	transform: translateY(0);
}

.c-popup-overlay {
	align-items: center;
	background: rgba(0, 0, 0, 0.5);
	cursor: zoom-out;
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	transform: translateX(110%);
	width: 100%;
	z-index: 99999;
}

.c-popup {
	background: #fff;
	border-left: solid 4px #23BEE6;
	box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.1);
	font-size: 1rem;
	height: 100vh;
	line-height: 1.8;
	max-width: 720px;
	overflow-y: scroll;
	padding-bottom: 20px;
	position: absolute;
	right: 0;
	transform: translateX(210%);
	transition: transform 0.4s ease-in-out;
	width: 80vw;
}

.c-popup > * {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
}

.is-show,
.is-show .c-popup {
	transform: translateX(0%);
}

.c-popup-close {
	background-color: #23BEE6;
	color: #fff;
	font-weight: 700;
	height: 40px;
	left: 0;
	margin: 0;
	padding: 8px;
	position: sticky;
	top: 0;
	width: 40px;
}

.c-popup__overview {
	align-items: center;
	color: #0096BD;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	gap: 20px;
	margin-bottom: 1rem;
	margin-top: 0.625rem;
}

.c-popup__overview-image {
	max-width: 280px;
}

.c-popup__lead {
	font-weight: 700;
}

.c-popup__heading {
	background: #23BEE6;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.625rem;
	margin-top: 2rem;
	padding: 0.625rem 0.875rem;
}

.c-popup__list,
.c-popup__notelist {
	margin-bottom: 0.25rem;
	padding-left: 1.2em;
}

.c-popup__list {
	list-style: decimal;
}

.c-popup__notelist {
	list-style: disc;
}

.c-popup__paragraph {
	line-height: 1.8;
}

.c-popup__list-item:not(:last-of-type),
.c-popup__notelist-item:not(:last-of-type) {
	margin-bottom: 0.25rem;
}

.c-popup__notelist {
	font-size: 0.625rem;
	margin-top: 0.625rem;
}

.c-scrollable-element {
	overflow-x: auto;
	position: relative;
	white-space: nowrap;
}

.c-scrollable-element__scroll-hint {
	animation: scroll-hint-animation 2s infinite ease;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	display: none;
	font-weight: 700;
	left: 50%;
	line-height: 1.4;
	padding: 10px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.c-scrollable-element__scroll-hint--show {
	display: block;
}

.p-common-parts {
	overflow: hidden;
	padding: 2.125rem 0 2.0625rem;
	position: relative;
}

.p-common-parts::before {
	background-color: #FFEBCC;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2;
}

.p-common-parts__content {
	background-color: #fff;
	border: 3px solid #FAAD56;
	border-radius: 2.5rem;
	padding: 0.75rem 1.25rem 1.5625rem;
	position: relative;
}

.p-common-parts__content::before {
	background-image: url(../images/common/common-bg-icon1.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 18.4375rem;
	left: -5.75rem;
	position: absolute;
	top: 1.75rem;
	width: 13.5625rem;
	z-index: -1;
}

.p-common-parts__content::after {
	background-image: url(../images/common/common-bg-icon2.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 20rem;
	position: absolute;
	right: -6.625rem;
	top: -1rem;
	width: 14rem;
	z-index: -1;
}

.p-common-parts__heading {
	color: #FA7756;
	font-size: 2.125rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.p-common-parts__heading-big {
	font-size: 3.375rem;
}

.p-common-parts__heading-small {
	font-size: 1.875rem;
}

.p-common-parts__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.25rem;
	text-align: center;
}

.p-common-parts__img-left-top-wrap {
	height: 12.75rem;
	left: 3.125rem;
	position: absolute;
	top: -1.5rem;
	width: 9.9375rem;
}

.p-common-parts__img-right-top-wrap {
	height: 9.75rem;
	position: absolute;
	right: 1.4375rem;
	top: -1.125rem;
	width: 12.25rem;
}

.p-common-parts__img-left-bottom-wrap {
	bottom: 2.4375rem;
	height: 8.5625rem;
	left: -1.4375rem;
	position: absolute;
	width: 8.5625rem;
}

.p-common-parts__img-right-bottom-wrap {
	bottom: 1.5625rem;
	height: 7.5rem;
	position: absolute;
	right: -1.3125rem;
	width: 9.6875rem;
}

.p-common-parts__button {
	margin-top: 1.25rem;
	text-align: center;
}

.p-comparison {
	background-color: #0096BD;
	margin-top: -14vw;
	overflow: hidden;
	padding-bottom: 3.75rem;
	position: relative;
	z-index: 3;
}

.p-comparison__list + .p-comparison__list {
	margin-top: 2.5rem;
}

.p-comparison__list-title {
	color: #fff;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.3;
	margin: auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-comparison__list-title-small {
	font-size: 1.875rem;
}

.p-comparison__list-title-yellow {
	color: #F7EA11;
	font-size: 2.25rem;
	line-height: 1.8;
}

.p-comparison__list-title::before {
	background-image: url(../images/common/bar-icon1.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 3.9375rem;
	left: -5.5625rem;
	position: absolute;
	width: 3.8125rem;
}

.p-comparison__list-title::after {
	background-image: url(../images/common/bar-icon2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 3.96875rem;
	position: absolute;
	right: -5.5625rem;
	width: 3.8125rem;
}

.p-comparison__list-content {
	background-color: #fff;
	border-radius: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.6875rem;
	max-width: 56.25rem;
	padding: 3.125rem 3.75rem;
	width: 100%;
}

.p-comparison__list-text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 3.125rem;
}

.p-comparison__items {
	display: flex;
	flex-direction: column;
	row-gap: 3.125rem;
}

.p-comparison__item-title-wrap {
	align-items: center;
	border-bottom: 2px dashed #0096BD;
	color: #0096BD;
	display: flex;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: 0.4375rem;
}

.p-comparison__item-title-number {
	color: #0096BD;
	font-family: "Arial", sans-serif;
	font-size: 2.9375rem;
	font-weight: 700;
	line-height: 1;
	margin-right: 0.6875rem;
	padding-top: 0.1875rem;
}

.p-comparison__item-title-underline {
	background: linear-gradient(transparent 60%, #F7EA11 30%);
}

.p-comparison__item-text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 0.9375rem;
}

.p-comparison__item-text-bg-blue {
	background-color: #EEFCFF;
	font-size: 1rem;
	font-weight: 1.5;
	margin-top: 0.9375rem;
	padding: 0.9375rem 1.25rem;
}

.p-comparison__item-text-bg-blue-span {
	display: inline-block;
	margin-bottom: 0.4375rem;
}

.p-comparison__button {
	display: flex;
	justify-content: center;
	margin-top: 0.9375rem;
}

.p-comparison__button-link {
	align-items: center;
	background-color: #E9F5F8;
	border: 2px solid #0096BD;
	border-radius: 2.03875rem;
	color: #0096BD;
	display: inline-block;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	line-height: 2;
	max-width: 48.75rem;
	padding: 0.6875rem;
	padding-right: 1.125rem;
	text-align: center;
	width: 100%;
}

.p-comparison__button-link::after {
	background-image: url(../images/common/plus-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.875rem;
	margin-left: 0.25rem;
	width: 0.875rem;
}

.p-comparison__overlay {
	background: rgba(0, 0, 0, 0.5);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
}

.p-comparison__popup {
	background: #fff;
	border-radius: 1.25rem;
	left: 50%;
	max-width: 720px;
	padding: 20px;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 90vw;
}

.p-comparison__popup.show {
	display: block;
}

.p-comparison__popup-close {
	background-color: #23BEE6;
	border-radius: 999em;
	color: #fff;
	font-weight: 700;
	height: 40px;
	padding: 8px;
	position: absolute;
	right: 0;
	top: -50px;
	width: 40px;
}

.p-faq {
	padding: 3.125rem 0;
}

.p-faq__heading {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-faq__accordion {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 56.25rem;
}

.p-faq__wrap + .p-faq__wrap {
	margin-top: 0.9375rem;
}

.p-faq__q {
	align-items: center;
	background-color: #0096BD;
	border-radius: 0.625rem 0.625rem 0.625rem 0.625rem;
	color: #fff;
	cursor: pointer;
	display: block;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	gap: 1.25rem;
	line-height: 1.5;
	padding: 0.8125rem 4.375rem 0.8125rem 1.875rem;
	position: relative;
}

.p-faq__q::after {
	background-image: url(../images/common/faq-arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1.1875rem;
	position: absolute;
	right: 1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.p-faq__wrap[open] .p-faq__q::after {
	top: 42%;
	transform: rotate(180deg);
}

.p-faq__wrap[open] .p-faq__q {
	border-radius: 0.625rem 0.625rem 0 0;
}

.p-faq__q span {
	display: inline-block;
	font-family: "Arial", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.15;
}

summary::-webkit-details-marker {
	display: none;
}

.p-faq__a {
	align-items: center;
	border: 2px solid #0096BD;
	border-radius: 0 0 0.625rem 0.625rem;
	color: #000;
	display: flex;
	font-size: 1rem;
	font-weight: 500;
	gap: 1.25rem;
	line-height: 1.8;
	padding: 1.25rem 1.875rem;
}

.p-faq__a span {
	color: #ED5584;
	display: inline-block;
	font-family: "Arial", sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.15;
}

.p-footer {
	background-color: #0096BD;
	padding: 1.25rem;
	text-align: center;
}

.p-footer__copy {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 2;
}

.p-header {
	background-color: #fff;
	box-shadow: 0px 1px 21px rgba(0, 0, 0, 0.2);
	height: 4.375rem;
}

.p-header__inner {
	display: flex;
	height: inherit;
	justify-content: space-between;
}

.p-header__logo {
	height: inherit;
	max-width: 9.9375rem;
	position: relative;
	width: 100%;
	z-index: 999;
}

.p-header__logo-link {
	align-items: center;
	display: flex;
	height: inherit;
}

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

.p-header__nav {
	height: inherit;
}

.p-header__nav-list {
	display: flex;
	height: inherit;
}

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

.p-header__nav-item.p-header__nav-item--contact {
	align-items: center;
	display: flex;
	margin-left: 0.9375rem;
}

.p-header__nav-item-link {
	align-items: center;
	color: #333;
	display: flex;
	font-size: 0.9375rem;
	font-weight: 700;
	height: inherit;
	padding: 0 0.9375rem;
	text-transform: uppercase;
}

.p-header__nav-item.p-header__nav-item--contact .p-header__nav-item-link {
	background-color: #FA7756;
	border-radius: 2.5rem;
	box-shadow: 0 0 7.75px #ffb43b;
	color: #fff;
	height: auto;
	height: initial;
	padding: 0.75rem 2.0625rem;
	position: relative;
}

.p-header__hamburger {
	border: none;
	cursor: pointer;
	display: none;
	height: inherit;
	margin: 0;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 1.875rem;
	z-index: 999;
}

.p-header__hamburger.is-open {
	background-color: transparent;
}

.p-header__hamburger span {
	background-color: #333;
	display: block;
	height: 1px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 1.5rem;
}

.p-header__hamburger span:nth-of-type(1) {
	top: -0.4375rem;
}

.p-header__hamburger span:nth-of-type(2) {
	top: 0;
}

.p-header__hamburger span:nth-of-type(3) {
	top: 0.4375rem;
}

.p-header__hamburger.is-open span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.p-header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.p-header__hamburger.is-open span:nth-of-type(3) {
	top: -0.125rem;
	transform: translateX(-50%) rotate(-45deg);
}

.p-header__drawer {
	background-color: #fff;
	bottom: 0;
	display: none;
	height: -moz-fit-content;
	height: fit-content;
	left: 0;
	overflow-y: scroll;
	padding: 3.125rem 0 1.5rem;
	position: absolute;
	right: 0;
	scrollbar-width: none;
	top: 0;
	width: 100%;
	z-index: 900;
}

.p-header__drawer::-webkit-scrollbar {
	display: none;
}

.p-header__drawer-item:not(:last-child) {
	border-bottom: 1px dashed #d5d6d4;
}

.p-header__drawer-item:first-child {
	border-top: 1px dashed #d5d6d4;
}

.p-header__drawer-item-link {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 1.5rem 1.375rem;
	position: relative;
	text-transform: uppercase;
}

.p-header__drawer-item:not(:last-child) .p-header__drawer-item-link::before {
	background-image: url(../images/common/arrow-black.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.5625rem;
	position: absolute;
	right: 1.375rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.p-header__drawer-item.p-header__drawer-item--contact {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.p-materials-detail {
	background-color: #0096BD;
	margin-top: -15.28125vw;
	padding-bottom: 5rem;
	position: relative;
	z-index: 2;
}

.p-materials-detail__inner {
	position: relative;
}

.p-materials-detail__slider-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.679375rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 56.3125rem;
}

.p-materials-detail__slider-filter-button {
	align-items: center;
	background-color: #fff;
	border: 1px solid #d6d6d6;
	border-radius: 2.03875rem;
	color: #6d6d6d;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 0.5rem 1.25rem;
	padding-right: 1.790625rem;
	position: relative;
	transition: background-color 0.3s ease;
}

.p-materials-detail__slider-filter-button::after {
	background-image: url(../images/common/plus-icon2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.853125rem;
	margin-left: 0.25rem;
	position: absolute;
	right: 0.6875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.853125rem;
}

.p-materials-detail__slider-filter-button.p-materials-detail__slider-filter-button--active {
	align-items: center;
	background-color: #fff3f7;
	border: 1px solid #ED5584;
	color: #ED5584;
	display: flex;
}

.p-materials-detail__slider-filter-button.p-materials-detail__slider-filter-button--active::after {
	-webkit-mask-image: url(../images/common/check-icon2.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	background: #ED5584;
	content: "";
	height: 0.750625rem;
	margin-left: 0.25rem;
	mask-image: url(../images/common/check-icon2.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 0.91875rem;
}

.p-materials-detail__slick-wrapper.p-materials-detail__slick-wrapper {
	margin-bottom: 1.25rem;
}

.p-materials-detail__slider {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 42.5rem;
	position: relative;
}

.p-materials-detail__img {
	border: 1px solid #d6d6d6;
	border-radius: 0.625rem;
	height: 100%;
	width: 100%;
}

.slick-prev,
.slick-next {
	border: none;
	cursor: pointer;
	height: 5.625rem;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 5.625rem;
	z-index: 10;
}

.slick-prev {
	left: -6.875rem;
}

.slick-next {
	right: -6.875rem;
}

.slick-prev::before,
.slick-next::before {
	content: "";
}

.slick-prev::after {
	background-image: url(../images/common/arrow-prev.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 100%;
	width: 100%;
}

.slick-next::after {
	background-image: url(../images/common/arrow-next.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 100%;
	width: 100%;
}

.slick-dots-container {
	margin-top: 1.25rem;
	text-align: center;
}

.slick-dots {
	bottom: auto;
	display: flex;
	justify-content: center;
}

.slick-dots li {
	display: inline-block;
	display: flex;
	margin: 0 5px;
}

.slick-dots li button {
	background: #fff;
	background-color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	height: 9px;
	padding: 0;
	width: 9px;
}

.slick-dots .slick-active button {
	background-color: #ED5584 !important;
}

.slick-dots button {
	font-size: 0;
}

.p-mv {
	padding-top: 2.25rem;
	position: relative;
}

.p-mv__img-left-wrap {
	left: calc(50% - min(58vw, 50.4375rem));
	position: absolute;
	top: 4.875rem;
	width: 38.75rem;
}

.p-mv__img-right-wrap {
	position: absolute;
	right: calc(50% - min(58vw, 50.125rem));
	top: 12.5625rem;
	width: 38.75rem;
}

.p-mv__sub-title {
	margin: 0 auto;
	max-width: 39.625rem;
	position: relative;
	width: 100%;
}

.p-mv__main-title {
	margin: 0 auto;
	max-width: 45rem;
	position: relative;
	position: relative;
	width: 100%;
}

.p-mv__main-title::before {
	background-image: url(../images/common/mv-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 15.0625rem;
	position: absolute;
	right: -16.4375rem;
	top: -6.1875rem;
	width: 15.0625rem;
	z-index: 2;
}

.p-mv__logo-text {
	-moz-column-gap: 1.125rem;
	column-gap: 1.125rem;
	display: flex;
	margin: 0 auto;
	margin-top: 1.625rem;
	max-width: 21rem;
	position: relative;
	width: 100%;
}

.p-mv__logo-img-wrap {
	max-width: 10.5rem;
	width: 100%;
}

.p-mv__text {
	font-size: 1.5625rem;
	font-weight: 500;
	line-height: 1.5;
}

.p-mv__items {
	grid-column-gap: 1.875rem;
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin: 2.1875rem auto 0;
	max-width: 55.625rem;
	position: relative;
	width: 100%;
}

.p-mv__item {
	border-radius: 1.25rem;
}

.p-mv__item-title {
	background-color: #23BEE6;
	border-radius: 1.25rem 1.25rem 0 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5rem;
	text-align: center;
}

.p-mv__item:last-child .p-mv__item-title {
	background-color: #2A52B0;
}

.p-mv__item-body {
	background-color: #fff;
	border-radius: 0 0 1.25rem 1.25rem;
	padding: 1.875rem 1.25rem;
}

.p-mv__item-text {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-mv__item-text::before {
	background-image: url(../images/common/check-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.1875rem;
	margin-right: 0.25rem;
	width: 1.375rem;
}

.p-mv__item-text-span {
	color: #ED5584;
	font-weight: 900;
}

.p-mv__item-text + .p-mv__item-text {
	margin-top: 0.625rem;
}

.p-mv__button {
	margin-top: 3.75rem;
	text-align: center;
}

.p-mv__button-link.p-mv__button-link {
	display: block;
}

.p-price {
	padding: 3.125rem 0;
}

.p-price__heading {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-price__lists {
	margin-top: 2.5rem;
}

.p-price__list {
	background-color: #EEFCFF;
	border-radius: 0 0 1.25rem 1.25rem;
	position: relative;
}

.p-price__list + .p-price__list {
	margin-top: 2.5rem;
}

.p-price__list-title {
	background-color: #0096BD;
	border-radius: 1.25rem 1.25rem 0 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5rem 1.875rem;
	text-align: center;
}

.p-price__content {
	border-radius: 0 0 1.25rem 1.25rem;
	padding: 3.125rem 0 2.5rem;
}

.p-price__items {
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
}

.p-price__item {
	background-color: #fff;
	border: 2px solid #6AD3EE;
	border-radius: 1.25rem;
	padding: 1.875rem 2.1875rem;
	width: 50%;
}

.p-price__item.p-price__item--popular {
	border: 2px solid #ED5584;
}

.p-price__list:first-child .p-price__item:first-child {
	position: relative;
}

.p-price__list:first-child .p-price__item:first-child::before {
	background-image: url(../images/common/popular-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 8.125rem;
	left: -2.5rem;
	position: absolute;
	top: -2.5rem;
	width: 8.125rem;
}

.p-price__item-type {
	color: #0096BD;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.p-price__item.p-price__item--popular .p-price__item-type {
	color: #ED5584;
}

.p-price__item-price {
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 0.5rem;
	text-align: center;
}

.p-price__item-price-big {
	font-size: 3.125rem;
	margin-left: 0.25rem;
	margin-right: 0.25rem;
}

.p-price__item-price-small {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
}

.p-price__item-button {
	display: flex;
	justify-content: center;
	margin-top: 0.625rem;
}

.p-price__item-link {
	align-items: center;
	background-color: #FA7756;
	border-radius: 12896px;
	box-shadow: 0px 0px 10px #ffb43b;
	color: #fff;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	padding: 1.25rem 1.625rem;
	position: relative;
	text-align: center;
}

.p-price__item-link::after {
	background-image: url(../images/common/arrow-button.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1rem;
	margin-left: 0.3125rem;
	width: 0.875rem;
}

.p-price__item-lines {
	margin-top: 0.25rem;
}

.p-price__item-line {
	-moz-column-gap: 2.5rem;
	align-items: center;
	border-bottom: 1px solid #d7d7d7;
	column-gap: 2.5rem;
	display: flex;
	justify-content: space-between;
	padding: 0.6875rem 0;
	padding-left: 0.625rem;
}

.p-price__item-line-label {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
	max-width: 11.1875rem;
	width: 100%;
}

.p-price__item-line-text {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.6;
	max-width: 8.25rem;
	width: 100%;
}

.p-price__item-line-text-big {
	font-family: "Arial", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1;
	margin-left: 0.3125rem;
	margin-right: 0.3125rem;
}

.p-price__item-line-text-big.p-price__item-line-text-big--no-left-blank {
	margin-left: 0;
}

.p-price__premium-text {
	color: #0096BD;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-price__premium-text::before {
	background-image: url(../images/common/bar-blue-icon1.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 1.34375rem;
	left: -1.25rem;
	position: absolute;
	width: 0.96875rem;
}

.p-price__premium-text::after {
	background-image: url(../images/common/bar-blue-icon2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 1.34375rem;
	position: absolute;
	right: -1.25rem;
	width: 0.96875rem;
}

.p-price__premium-box {
	background-color: #fff;
	border: 2px solid #6AD3EE;
	border-radius: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	max-width: 56.25rem;
	padding: 0.625rem 1.3125rem 1.0625rem;
}

.p-price__premium-title {
	border-bottom: 1px solid #d6d6d6;
	color: #0096BD;
	font-size: 0.875rem;
	font-weight: 700;
	padding-bottom: 0.3125rem;
	text-align: center;
}

.p-price__premium-title-big {
	font-size: 1.125rem;
}

.p-price__premium-content {
	align-items: center;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.9375rem;
	max-width: 49.125rem;
}

.p-price__premium-img-text {
	-moz-column-gap: 0.9375rem;
	align-items: center;
	column-gap: 0.9375rem;
	display: flex;
	max-width: 23.875rem;
	width: 100%;
}

.p-price__premium-img-wrap {
	max-width: 4rem;
	width: 100%;
}

.p-price__premium-plan-text {
	color: #000;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-price__premium-price-wrap {
	margin-left: 1rem;
	max-width: 12.25rem;
	width: 100%;
}

.p-price__premium-price-text {
	color: #000;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
}

.p-price__premium-price-text-big {
	font-family: "Arial", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	margin-left: 0.1875rem;
	margin-right: 0.1875rem;
}

.p-price__premium-price-small {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: -0.125rem;
	text-align: center;
}

.p-price__premium-button {
	margin-left: auto;
	margin-right: auto;
	max-width: 11.625rem;
	width: 100%;
}

.p-price__premium-button-link {
	border: 1px solid #0096BD;
	border-radius: 1.875rem;
	color: #0096BD;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 0.625rem;
	text-align: center;
	width: 100%;
}

.p-table {
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 0.9375rem;
	text-align: center;
}

.p-table__header:first-child {
	border-radius: 0.625rem 0 0 0;
}

.p-table__header:last-child {
	border-radius: 0 0.625rem 0 0;
}

.p-table__header.p-table__header--pink,
.p-table__cell.p-table__cell--pink {
	background-color: #fff3f7;
	color: #ED5584;
	font-weight: 700;
	width: 31.282%;
}

.p-table__head .p-table__header--pink {
	background-color: #ED5584;
	color: #fff3f7;
}

.p-table__header,
.p-table__cell {
	width: 16.068%;
}

.p-table__cell {
	background-color: #f5f5f5;
	font-weight: 500;
}

.p-table__header,
.p-table__cell,
.p-table__cell-head {
	border: solid 1px #fff;
	padding: 0.625rem 0.5625rem;
}

.p-table__row .p-table__cell--pink {
	padding: 0.28125rem 0.9375rem;
}

.p-table__header:first-child,
.p-table__cell-head {
	background-color: #0096BD;
	border-left: none;
	color: #fff;
	width: 20.513%;
}

.p-table__header {
	background-color: #0096BD;
	color: #fff;
}

.p-teacher {
	overflow: hidden;
	padding: 3.125rem 0;
}

.p-teacher__inner {
	max-width: 80.375rem;
}

.p-teacher__heading {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-teacher__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 2.5rem;
	text-align: center;
}

.p-teacher__img-wrap {
	margin-top: 3.125rem;
}

.p-teacher__img {
	-o-object-fit: contain;
	aspect-ratio: 1236/439;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-teacher__items {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
	max-width: 75rem;
	width: 100%;
}

.p-teacher__item {
	background-color: #fff;
	border: 2px solid #23BEE6;
	border-radius: 1.25rem;
	padding: 0.3125rem 1.25rem 1.125rem;
}

.p-teacher__item-title {
	color: #0096BD;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2;
}

.p-teacher__item-flex {
	-moz-column-gap: 1.1875rem;
	align-items: center;
	column-gap: 1.1875rem;
	display: flex;
	margin-top: 0.75rem;
}

.p-teacher__item-movie-wrap {
	max-width: 17.358125rem;
	width: 100%;
}

.p-teacher__item-movie {
	aspect-ratio: 277.73/176.12;
	height: 100%;
	width: inherit;
}

.p-teacher__item-text-wrapper {
	max-width: 15.483125rem;
	width: 100%;
}

.p-teacher__item-text-wrap + .p-teacher__item-text-wrap {
	margin-top: 0.875rem;
}

.p-teacher__item-text-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-teacher__item-text-text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4996309963;
	margin-top: 0.125rem;
}

.p-teaching-materials {
	background-color: #EEFCFF;
	padding-top: 3.125rem;
	position: relative;
}

.p-teaching-materials::before {
	background-image: url(../images/common/blue-bg.png);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 23.125vw;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.p-teaching-materials__content {
	background-color: #fff;
	border: 6px solid #23BEE6;
	border-radius: 2.5rem;
	padding: 2.5rem 9.375rem 0;
	padding-bottom: 23.125vw;
}

.p-teaching-materials__heading {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-teaching-materials__flex {
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
	display: flex;
	margin-top: 2.5rem;
}

.p-teaching-materials__img-wrap {
	max-width: 12.625rem;
	width: 100%;
}

.p-teaching-materials__text-wrap {
	max-width: 41.6875rem;
	width: 100%;
}

.p-teaching-materials__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-teaching-materials__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.125rem;
}

.p-teaching-materials__text span {
	display: inline-block;
	font-size: 0.875rem;
	line-height: 1.5;
	margin-top: 1.125rem;
}

.p-teaching-materials__slider-filters {
	position: relative;
}

.p-teaching-materials__slider {
	position: relative;
}

.p-under-mv {
	position: relative;
}

.p-under-mv::before {
	background-image: url(../images/common/blue-bg.png);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 23.125vw;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.p-under-mv__content {
	background-color: #fff;
	border: 6px solid #23BEE6;
	border-radius: 2.5rem;
	padding: 2.8125rem 5.8125rem 0;
	padding-bottom: 24.125vw;
}

.p-under-mv__heading {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-under-mv__heading-span {
	color: #0096BD;
}

.p-under-mv__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 2.5rem;
	text-align: center;
}

.p-under-mv__items {
	grid-column-gap: 3.75rem;
	-moz-column-gap: 3.75rem;
	column-gap: 3.75rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.p-under-mv__item-img-wrap {
	-webkit-clip-path: circle(50% at 50% 50%);
	background-color: #EEFCFF;
	clip-path: circle(50% at 50% 50%);
	padding: 4.625rem 4.25rem 3.6875rem 2.9375rem;
}

.p-under-mv__item:nth-child(2) .p-under-mv__item-img-wrap {
	padding: 6.125rem 2.625rem;
}

.p-under-mv__item:nth-child(3) .p-under-mv__item-img-wrap {
	padding: 4.375rem 3.25rem 4.3125rem;
}

.p-under-mv__item-img {
	height: 100%;
	width: 100%;
}

.p-under-mv__item-text {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 0.625rem;
	text-align: center;
}

.p-under-mv__item-text-span {
	color: #0096BD;
}

/* voiceセクション */

.p-voice {
	background-color: #E9F5F8;
	padding: 3.125rem 0;
}

.p-voice__heading {
	font-size: 2.25rem;
	font-weight: bold;
	text-align: center;
}

/* フィルターボタン */

.p-voice__filters {
	display: flex;
	gap: 0.679375rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.p-voice__filter-button {
	align-items: center;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2.03875rem;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	padding: 0.625rem 1.125rem;
	padding-right: 2.228125rem;
	position: relative;
	transition: background-color 0.3s ease;
}

.p-voice__filter-button::after {
	background-image: url(../images/common/plus-icon2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.853125rem;
	margin-left: 0.25rem;
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.853125rem;
}

.p-voice__filter-button.p-voice__filter-button--active {
	align-items: center;
	background-color: #0096BD;
	border: 1px solid #0096BD;
	color: #fff;
	display: flex;
}

.p-voice__filter-button.p-voice__filter-button--active::after {
	background-image: url(../images/common/check-icon2.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.750625rem;
	margin-left: 0.25rem;
	width: 0.91875rem;
}

/* カードのスタイル */

.p-voice__items {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.875rem;
}

.p-voice__item {
	grid-gap: 0;
	background-color: white;
	border-radius: 1.25rem;
	display: grid;
	gap: 0;
	grid-row: span 4;
	grid-template-rows: subgrid;
	padding: 1.25rem;
}

.p-voice__badge {
	background-color: #23BEE6;
	border-radius: 0.3125rem;
	color: white;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.1875rem 0.625rem 0.3125rem;
}

.p-voice__img-wrap {
	margin-top: 0.3125rem;
}

.p-voice__img {
	-o-object-fit: cover;
	aspect-ratio: 344/157;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-voice__name {
	background-color: #0096BD;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}

.p-voice__title {
	color: #0096BD;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 10px;
	margin-top: 1.25rem;
}

.p-voice__text {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.8;
}

/* ボタン */

.p-voice__button {
	background-color: white;
	border: 1px solid #0096BD;
	border-radius: 6.875rem;
	color: #0096BD;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 0.9375rem;
	padding: 0.625rem 1.25rem;
	text-align: center;
	transition: background-color 0.3s ease;
	width: 100%;
}

.p-voice__button:hover {
	background-color: #0096BD;
	color: white;
}

@media screen and (max-width: 1599px) {

.bg::before {
	background-image: url(../images/common/mv-bg2.webp);
	background-size: contain;
	height: 97vw;
}

.p-mv__img-left-wrap {
	left: calc(50% - min(55vw, 43.9375rem));
	top: 2.5rem;
	width: 27.625rem;
}

.p-mv__img-right-wrap {
	right: calc(50% - min(50.5vw, 50.125rem));
	top: 15.625rem;
	width: 26.875rem;
}

.p-mv__main-title::before {
	right: -13.75rem;
	top: -7.375rem;
}

}

@media (max-width: 1200px) {

html {
	font-size: 1.3333333333vw;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.l-inner {
	padding-left: 15px;
	padding-right: 15px;
}

.l-main {
	margin-top: 3.125rem;
}

.l-under-mv {
	margin-top: 1.9375rem;
}

.bg::before {
	background-image: url(../images/common/mv-bg-sp.webp);
	background-size: cover;
	height: 244vw;
	top: -1.25rem;
}

.c-button {
	font-size: 1.25rem;
	max-width: 21.5625rem;
	padding: 0.4375rem 1.4375rem 1.125rem;
}

.c-button.c-button--narrow {
	padding: 1.25rem 1.0625rem;
}

.c-button span {
	font-size: 0.9375rem;
	margin-bottom: 0.25rem;
}

.c-button::after {
	height: 0.9375rem;
	width: 0.9375rem;
}

.c-float-cta {
	display: flex;
}

.c-popup {
	font-size: 0.875rem;
}

.c-popup__overview {
	flex-direction: column;
	font-size: 1.125rem;
	gap: 10px;
	margin-bottom: 0.625rem;
}

.c-popup__overview-image {
	order: 1;
}

.c-popup__overview-text {
	order: 2;
}

.c-popup__heading {
	font-size: 1.125rem;
	padding: 0.3125rem 0.625rem;
}

.p-common-parts {
	padding: 1.875rem 0 1.75rem;
}

.p-common-parts__content {
	border-radius: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding: 0.9375rem 0.9375rem 0.9375rem;
}

.p-common-parts__content::before {
	background-image: url(../images/common/common-bg-sp-icon1.png);
	top: -1.875rem;
}

.p-common-parts__content::after {
	background-image: url(../images/common/common-bg-sp-icon2.png);
	top: -1.125rem;
}

.p-common-parts__heading {
	font-size: 1.375rem;
}

.p-common-parts__heading-big {
	font-size: 2rem;
}

.p-common-parts__heading-small {
	font-size: 1.375rem;
}

.p-common-parts__text {
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-common-parts__img-left-top-wrap {
	height: 5.875rem;
	left: -1.6875rem;
	top: 2.5rem;
	width: 5.75rem;
}

.p-common-parts__img-right-top-wrap {
	height: 5.875rem;
	right: -1.8125rem;
	top: 3.875rem;
	width: 5.875rem;
}

.p-common-parts__button {
	margin-top: 0.9375rem;
}

.p-comparison {
	margin-top: -4.5333vw;
	padding-bottom: 1.875rem;
}

.p-comparison__list + .p-comparison__list {
	margin-top: 1.875rem;
}

.p-comparison__list-title {
	font-size: 1.375rem;
}

.p-comparison__list-title-small {
	font-size: 1.375rem;
}

.p-comparison__list-title-yellow {
	font-size: 1.375rem;
}

.p-comparison__list-title::before {
	bottom: 0.375rem;
	height: 1.75rem;
	left: -1.875rem;
	transform: rotate(20deg);
	width: 2.1875rem;
}

.p-comparison__list-title::after {
	bottom: 0.375rem;
	height: 1.875rem;
	right: -1.875rem;
	transform: rotate(-20deg);
	width: 1.8125rem;
}

.p-comparison__list-content {
	margin-top: 0.625rem;
	padding: 1.25rem;
}

.p-comparison__list-text {
	line-height: 1.7;
	margin-bottom: 0.9375rem;
}

.p-comparison__items {
	row-gap: 1.875rem;
}

.p-comparison__item-title-wrap {
	align-items: flex-start;
	font-size: 1.25rem;
}

.p-comparison__item-title-number {
	font-size: 1.6875rem;
	margin-right: 0.625rem;
}

.p-comparison__item-text {
	line-height: 1.7;
}

.p-comparison__item-text-bg-blue {
	line-height: 1.7;
	padding: 0.9375rem;
}

.p-comparison__item-text-bg-blue-span {
	font-size: 1.125rem;
	line-height: 1.7;
}

.p-faq {
	padding: 1.875rem 0;
}

.p-faq__heading {
	font-size: 1.375rem;
	line-height: 1.5;
}

.p-faq__accordion {
	margin-top: 1.25rem;
}

.p-faq__q {
	align-items: flex-start;
	gap: 0.625rem;
	line-height: 1.7;
	padding: 0.625rem 2.125rem 0.625rem 0.9375rem;
}

.p-faq__q::after {
	height: 1rem;
	right: 0.8125rem;
	width: 1rem;
}

.p-faq__q span {
	font-size: 1.5rem;
}

.p-faq__a {
	align-items: flex-start;
	gap: 0.625rem;
	padding: 0.9375rem;
}

.p-faq__a span {
	font-size: 1.875rem;
}

.p-header {
	box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.1);
	height: 3.125rem;
}

.p-header__inner {
	padding-left: 0.8125rem;
	padding-right: 0.8125rem;
}

.p-header__logo {
	max-width: 6.875rem;
}

.p-header__nav {
	display: none;
}

.p-header__hamburger {
	display: block;
}

.p-materials-detail__slider-filters {
	grid-gap: 0.3125rem;
	display: grid;
	gap: 0.3125rem;
	grid-template-columns: repeat(2, 1fr);
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
}

.p-materials-detail__slider {
	margin-top: 0.75rem;
}

.slick-prev,
.slick-next {
	height: 2.25rem;
	top: 50%;
	width: 2.25rem;
}

.slick-prev {
	left: -10px;
}

.slick-next {
	right: -10px;
}

.p-mv {
	padding-top: 0.8125rem;
}

.p-mv__img-left-wrap {
	left: calc(50% - min(54vw, 12.375rem));
	top: 12.25rem;
	width: 10.625rem;
}

.p-mv__img-right-wrap {
	right: calc(50% - min(54vw, 12.375rem));
	top: 23.8125rem;
	width: 10.625rem;
}

.p-mv__sub-title {
	max-width: 17.9375rem;
}

.p-mv__main-title {
	margin-top: -0.1875rem;
	max-width: 21.5rem;
}

.p-mv__main-title::before {
	height: 8rem;
	right: -2.3125rem;
	top: 5rem;
	width: 7.375rem;
}

.p-mv__logo-text {
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
	margin-top: 0.3125rem;
	max-width: 12.5rem;
}

.p-mv__logo-img-wrap {
	max-width: 6.125rem;
}

.p-mv__text {
	font-size: 1rem;
}

.p-mv__items {
	grid-template-columns: 1fr;
	max-width: 25rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	row-gap: 2.125rem;
}

.p-mv__item {
	width: 74%;
}

.p-mv__item:first-child {
	margin-left: auto;
}

.p-mv__item-title {
	border-radius: 0.6875rem 0.6875rem 0 0;
	font-size: 1rem;
	padding: 0.25rem;
}

.p-mv__item-body {
	border-radius: 0 0 0.6875rem 0.6875rem;
	display: flex;
	flex-direction: column;
	padding: 0.625rem 0.625rem 0.625rem 1.25rem;
}

.p-mv__item-text {
	font-size: 0.9375rem;
	padding-left: 1.0625rem;
	position: relative;
}

.p-mv__item-text::before {
	height: 0.625rem;
	left: 0;
	position: absolute;
	top: 0.4375rem;
	width: 0.75rem;
}

.p-mv__item-text + .p-mv__item-text {
	margin-top: 0.25rem;
}

.p-mv__button {
	margin-top: 1.0625rem;
}

.p-mv__button-link.p-mv__button-link {
	padding: 0.875rem 1.25rem 1.125rem;
}

.p-price {
	padding: 1.625rem 0 1.6875rem;
}

.p-price__heading {
	font-size: 1.375rem;
}

.p-price__lists {
	margin-top: 1.25rem;
}

.p-price__list {
	border-radius: 0 0 0.96875rem 0.96875rem;
}

.p-price__list + .p-price__list {
	margin-top: 1.875rem;
}

.p-price__list-title {
	border-radius: 0.625rem 0.625rem 0 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.625rem;
	text-align: center;
	width: 100%;
}

.p-price__content {
	padding: 1.25rem 0.9375rem;
}

.p-price__items {
	flex-direction: column;
	row-gap: 1.25rem;
}

.p-price__item {
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding: 1.25rem 0.9375rem;
	width: 100%;
}

.p-price__list:first-child .p-price__item:first-child::before {
	height: 6.375rem;
	left: -2.125rem;
	top: -1.3125rem;
	width: 6.375rem;
}

.p-price__item-price {
	font-size: 1rem;
}

.p-price__item-price-big {
	font-size: 2.375rem;
}

.p-price__item-price-small {
	font-size: 0.875rem;
}

.p-price__item-link {
	font-size: 1rem;
	padding: 1.125rem 1.25rem;
}

.p-price__item-link::after {
	height: 0.9375rem;
	width: 0.9375rem;
}

.p-price__item-line {
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
	padding: 0.5rem 0;
	padding-left: 0.5rem;
}

.p-price__item-line-label {
	max-width: 7.8125rem;
}

.p-price__item-line-text {
	font-size: 0.875rem;
	max-width: 7.8125rem;
}

.p-price__item-line-text-big {
	font-size: 1.375rem;
	margin-left: 0.1875rem;
	margin-right: 0.1875rem;
}

.p-price__premium-text {
	font-size: 1.125rem;
	margin-top: 1.25rem;
}

.p-price__premium-box {
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding: 0.625rem 1.0625rem 0.875rem;
}

.p-price__premium-title {
	font-size: 1rem;
	line-height: 1.5;
	padding-bottom: 0.3125rem;
}

.p-price__premium-content {
	flex-direction: column;
	margin-top: 0.8125rem;
}

.p-price__premium-img-text {
	-moz-column-gap: 0.625rem;
	background-color: #EEFCFF;
	column-gap: 0.625rem;
	padding: 0.3125rem 1.4375rem;
	padding-right: 0.6875rem;
}

.p-price__premium-img-wrap {
	max-width: 2.75rem;
}

.p-price__premium-plan-text {
	font-size: 0.9375rem;
	max-width: calc(100% - 4rem);
}

.p-price__premium-price-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.625rem;
	max-width: none;
	max-width: initial;
	text-align: center;
}

.p-price__premium-button {
	margin-top: 0.625rem;
	max-width: 100%;
	padding-right: 0;
}

.p-table {
	font-size: 0.875rem;
}

.p-table__header,
.p-table__cell,
.p-table__cell-head {
	padding: 0.75rem 0.4375rem;
}

.p-teacher {
	padding: 1.5625rem 0 1.875rem;
}

.p-teacher__heading {
	font-size: 1.375rem;
}

.p-teacher__text {
	margin-top: 1.25rem;
	text-align: left;
}

.p-teacher__img-wrap {
	margin: 0 calc(50% - 50vw);
	margin-top: 1.875rem;
}

.p-teacher__img {
	aspect-ratio: 388/202.95;
}

.p-teacher__items {
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.3125rem;
	max-width: 31.25rem;
	row-gap: 0.625rem;
}

.p-teacher__item {
	padding: 0.625rem 1.0625rem 0.75rem;
}

.p-teacher__item-title {
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: center;
}

.p-teacher__item-flex {
	flex-direction: column;
	margin-top: 0.3125rem;
}

.p-teacher__item-movie-wrap {
	max-width: 10.875rem;
}

.p-teacher__item-movie {
	aspect-ratio: 174/101.66;
}

.p-teacher__item-text-wrapper {
	border-top: 1px solid #0096BD;
	margin-top: 0.3125rem;
	max-width: 100%;
	padding-top: 0.625rem;
}

.p-teaching-materials {
	padding-top: 1.875rem;
}

.p-teaching-materials::before {
	height: 18.133vw;
}

.p-teaching-materials__content {
	border: 2px solid #23BEE6;
	border-radius: 0.66125rem;
	padding: 1.25rem 0.9375rem 0;
	padding-bottom: 25.6vw;
}

.p-teaching-materials__heading {
	font-size: 1.375rem;
}

.p-teaching-materials__flex {
	flex-direction: column;
	margin-top: 1.25rem;
}

.p-teaching-materials__img-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 7.4375rem;
}

.p-teaching-materials__text-wrap {
	margin-top: 1.25rem;
	max-width: 100%;
}

.p-teaching-materials__title {
	font-size: 1.125rem;
	text-align: center;
}

.p-teaching-materials__text {
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 0.625rem;
}

.p-under-mv::before {
	height: 18.133vw;
}

.p-under-mv__content {
	border: 2px solid #23BEE6;
	border-radius: 0.66125rem;
	padding: 1.25rem 0.9375rem 0;
	padding-bottom: 24.133vw;
}

.p-under-mv__heading {
	font-size: 1.375rem;
}

.p-under-mv__text {
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 1.25rem;
	text-align: left;
}

.p-under-mv__items {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.25rem;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
	row-gap: 0.25rem;
}

.p-under-mv__item {
	max-width: 8.5rem;
	width: 50%;
}

.p-under-mv__item-img-wrap {
	margin: auto;
	max-width: 6.25rem;
	padding: 1.5625rem 1.4375rem 1.47625rem 1.25rem;
}

.p-under-mv__item:nth-child(2) .p-under-mv__item-img-wrap {
	padding: 2rem 0.875rem 2.10625rem;
}

.p-under-mv__item:nth-child(3) .p-under-mv__item-img-wrap {
	padding: 1.625rem 1.0625rem 1.4375rem 1.25rem;
}

.p-under-mv__item-text {
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 0.3125rem;
}

.p-voice {
	padding: 1.875rem 0;
}

.p-voice__heading {
	font-size: 1.375rem;
}

.p-voice__filters {
	grid-row-gap: 0.3125rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	max-width: 31.25rem;
	row-gap: 0.3125rem;
}

.p-voice__filter-button {
	padding: 0.375rem 0.75rem 0.5rem;
}

.p-voice__items {
	grid-template-columns: 1fr;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	max-width: 31.25rem;
}

.p-voice__item {
	padding: 1.25rem 0.9375rem;
}

.p-voice__badge {
	font-size: 1rem;
}

.p-voice__img {
	aspect-ratio: 315/157;
}

.p-voice__title {
	font-size: 1.125rem;
	margin-top: 0.625rem;
}

.p-voice__text {
	font-size: 1rem;
	line-height: 1.7;
}

.p-voice__button {
	margin-top: 1.25rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes scroll-hint-animation {

0% {
	transform: translate(-50%, -50%);
}

50% {
	transform: translate(-40%, -50%);
}

100% {
	transform: translate(-50%, -50%);
}

}


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