body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	font-size: clamp(0.875rem, 0rem + 3.733vw, 1.4rem);
	font-size: clamp(0.875rem, 0rem + 3.733vi, 1.4rem); /* 14px → 22.4px */
	font-weight: 400;
}

body {
	color: #333;
}

.u-desktop {
	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 */

html {
	scroll-behavior: smooth;
}

/* 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-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	padding-left: 0px;
	padding-right: 0px;
	width: 100%;
}

.c-button {
	align-items: center;
	border-radius: 3.125rem;
	box-shadow: 0 0 0.2em rgba(51, 51, 51, 0.4);
	color: #fff;
	display: flex;
	font-size: clamp(1.375rem, -0.5rem + 8vw, 2.5rem);
	font-size: clamp(1.375rem, -0.5rem + 8vi, 2.5rem); /* 22px~40px */
	justify-content: center;
	padding: 0.4em;
	text-shadow: 0 0.1em 0.2em rgba(51, 51, 51, 0.24);
}

.c-button--line {
	background: linear-gradient(rgba(123, 190, 138, 0.7) 0%, rgb(123, 190, 138) 70%);
}

.c-button--web {
	background: linear-gradient(rgba(125, 167, 217, 0.7) 0%, rgb(125, 167, 217) 70%);
}

.c-section-title {
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.c-section-title__main {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1.5rem, -0.167rem + 7.111vw, 2.5rem);
	font-size: clamp(1.5rem, -0.167rem + 7.111vi, 2.5rem); /* 24px~40px */
	font-weight: 400;
}

.c-section-title--reason {
	line-height: 1;
}

.c-section-title__main-top {
	font-size: clamp(1.25rem, 0rem + 5.333vw, 2rem);
	font-size: clamp(1.25rem, 0rem + 5.333vi, 2rem); /* 20px → 32px */
}

.c-section-title__main-number {
	font-size: clamp(2.25rem, 0rem + 9.6vw, 3.6rem);
	font-size: clamp(2.25rem, 0rem + 9.6vi, 3.6rem); /* 36px → 57.6px */
}

.c-section-title__sub {
	color: #A6BCCB;
	font-family: "Hurricane", cursive;
	font-size: clamp(2.25rem, 0rem + 9.6vw, 3.6rem);
	font-size: clamp(2.25rem, 0rem + 9.6vi, 3.6rem); /* 36px → 57.6px */
	left: 0;
	position: absolute;
	top: -0.6em;
	transform: translateX(-50%) rotate(-15deg);
	z-index: -1;
}

.c-section-title--reason .c-section-title__sub {
	top: -0.5em;
}

/* トップへ戻るボタン */

.c-to-top {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #BFD8D2;
	border-radius: 50%;
	bottom: 0.625rem;
	box-shadow: 1px 1px 5px #d1d1d1;
	display: flex;
	font-size: 0rem;
	height: 3.75rem;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0.625rem;
	text-decoration: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
	width: 3.75rem;
	z-index: 10;
}

.c-to-top.is-show {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

/* 矢印のデザイン */

.c-to-top span {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	display: block;
	height: 16px;
	position: relative;
	transform: rotate(-45deg);
	width: 16px;
}

/* ホバー時のエフェクト */

.p-campaign-item {
	background: #fff;
	padding: 0.4em;
}

.p-campaign-item__content {
	align-items: center;
	border: 0.1em solid #E96A76;
	display: flex;
	gap: 1em;
	justify-content: center;
	padding: 1.1em;
	text-align: center;
}

.p-campaign-item__normal {
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem);
	font-size: clamp(1rem, 0rem + 4.267vi, 1.6rem); /* 16px → 25.6px */
}

.p-campaign-item__line-through {
	position: relative;
}

.p-campaign-item__line-through::after {
	background: #E96A76;
	content: "";
	height: 0.1em;
	left: 0;
	position: absolute;
	right: 0;
	top: 55%;
	transform: translateY(-50%);
}

.p-campaign-item__line-through span {
	font-size: clamp(1.25rem, 0rem + 5.333vw, 2rem);
	font-size: clamp(1.25rem, 0rem + 5.333vi, 2rem); /* 20px → 32px */
}

.p-campaign-item__arrow {
	border-bottom: 0.4em solid transparent;
	border-left: 0.4em solid #333;
	border-top: 0.4em solid transparent;
	height: 0;
	width: 0;
}

.p-campaign-item__special {
	color: #E96A76;
	font-size: clamp(2rem, 0rem + 8.533vw, 3.2rem);
	font-size: clamp(2rem, 0rem + 8.533vi, 3.2rem); /* 32px → 51.2px */
	position: relative;
}

.p-campaign-item__special span {
	aspect-ratio: 15/21;
	background: url(../images/common/campaign_1.webp) center/contain no-repeat;
	display: inline-block;
	vertical-align: top;
	width: clamp(0.938rem, 0rem + 4vw, 1.5rem);
	width: clamp(0.938rem, 0rem + 4vi, 1.5rem);
}

.p-campaign {
	background-color: #F9E4D9;
	background-image: linear-gradient(-45deg, transparent 0%, transparent 0.7em, #fff3f5 0.7em, #fff3f5 1em, transparent 1.4em, transparent 1.7em, #fff3f5 1.7em, transparent 3em, transparent calc(100% - 4.5em), #fff3f5 calc(100% - 2.45em), transparent calc(100% - 2.45em), transparent calc(100% - 2em), #fff3f5 calc(100% - 1.45em), #fff3f5 calc(100% - 1em), transparent calc(100% - 1em), transparent 100%);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 3.57em 1.43em 2.14em;
	position: relative;
}

.p-campaign__label-wrapper {
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem);
	font-size: clamp(1rem, 0rem + 4.267vi, 1.6rem); /* 16px → 25.6px */
	left: 50%;
	margin: 0 auto;
	padding-bottom: 0.75em;
	position: absolute;
	top: 1.5em;
	transform: translateX(-50%);
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.p-campaign__label-wrapper::after {
	border-left: 0.5em solid transparent;
	border-right: 0.5em solid transparent;
	border-top: 0.5em solid #E96A76;
	bottom: 0.4em;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

.p-campaign__label {
	background: #E96A76;
	border-radius: 3.125rem;
	color: #fff;
	padding: 0.5em 1.5em;
	position: relative;
}

.p-campaign__item {
	position: relative;
	z-index: 1;
}

.p-campaign__item:not(:first-child) {
	margin-top: 0.5em;
}

.p-contact {
	border-left: 0.1em solid #F7F9F8;
	border-right: 0.1em solid #F7F9F8;
	margin-top: -3.22em;
	padding: 5.36em 1.43em 1.43em;
	position: relative;
	z-index: 0;
}

.p-contact__text {
	margin-top: 1.71em;
}

.p-contact__information {
	border: 0.07em solid #A6BCCB;
	margin-top: 0.71em;
}

.p-contact__information-item {
	align-self: stretch;
	display: flex;
}

.p-contact__information-item dt {
	align-items: center;
	background: #A6BCCB;
	color: #fff;
	display: flex;
	height: auto;
	justify-content: center;
	padding: 0.71em 1em;
	width: 30%;
}

.p-contact__information-item dd {
	padding: 0.71em 1em;
	width: 70%;
}

.p-contact__information-item:not(:first-child) dt {
	border-top: 0.07em solid #fff;
}

.p-contact__information-item:not(:first-child) dd {
	border-top: 0.07em solid #A6BCCB;
}

.p-contact__concept {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(0.938rem, 0rem + 4vw, 1.5rem);
	font-size: clamp(0.938rem, 0rem + 4vi, 1.5rem); /* 15px → 24px */
	margin-top: 2em;
	text-align: center;
}

.p-contact__message {
	background: url(../images/common/contact_1.webp) center center/contain no-repeat;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem);
	font-size: clamp(1rem, 0rem + 4.267vi, 1.6rem); /* 16px → 25.6px */
	font-weight: 700;
	padding: 2em 0;
	text-align: center;
}

.p-contact__title,
.p-contact__text,
.p-contact__information,
.p-contact__concept,
.p-contact__message {
	opacity: 0;
}

.p-contact__title.is-active,
.p-contact__text.is-active,
.p-contact__information.is-active,
.p-contact__concept.is-active,
.p-contact__message.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-course__header {
	display: flex;
}

.p-course__header img {
	aspect-ratio: 178/140;
	margin-left: 0.5em;
	transform: translateY(-0.5em);
	width: 2.5em;
}

.p-course__duration {
	background: #fff;
	border-radius: 3.125rem;
	display: inline-block;
	padding: 0.3em 1em;
}

.p-course__item {
	display: flex;
	margin-top: 0.7em;
	padding-left: 1.5em;
}

.p-course__item dt {
	width: 34%;
}

.p-course__item dd {
	text-align: right;
	width: 33%;
}

.p-cta {
	background: #F9E4D9;
	padding: 0.7em 1.43em 1.43em;
	text-align: center;
}

.p-cta__text {
	display: inline-block;
	font-size: clamp(1rem, -0.25rem + 5.333vw, 1.75rem);
	font-size: clamp(1rem, -0.25rem + 5.333vi, 1.75rem); /* 16px~28px */
	line-height: 1;
	position: relative;
}

.p-cta__text::before,
.p-cta__text::after {
	background: #333;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 0.05em;
}

.p-cta__text::before {
	left: -1em;
	transform: rotate(-30deg);
}

.p-cta__text::after {
	right: -1em;
	transform: rotate(30deg);
}

.p-cta__link-line {
	margin-top: 3.5%;
}

.p-cta__link-web {
	margin-top: 3.5%;
}

.p-faq-list__question,
.p-faq-list__answer {
	align-items: center;
	display: flex;
	padding: 1.43em;
}

.p-faq-list__question {
	background: #BFD8D2;
}

.p-faq-list__answer {
	display: none;
	text-align: justify;
}

.p-faq-list__answer.is-open {
	background: #fff;
	border: 0.14em solid #BFD8D2;
	display: flex;
}

.p-faq-list__icon {
	align-items: center;
	color: #6A9E97;
	display: flex;
	flex-shrink: 0;
	font-size: clamp(1.5rem, -0.167rem + 7.111vw, 2.5rem);
	font-size: clamp(1.5rem, -0.167rem + 7.111vi, 2.5rem); /* 24px~40px */
	justify-content: center;
	margin-right: 0.5em;
}

.p-faq-list__icon span {
	transform: translateY(-0.1em);
}

.p-faq-list__text {
	align-self: center;
	flex: 1;
}

.p-faq-list__toggle {
	cursor: pointer;
	flex-shrink: 0;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem);
	font-size: clamp(1.125rem, 0rem + 4.8vi, 1.8rem); /* 18px → 28.8px */
	height: 0.55em;
	margin-left: 0.5em;
	position: relative;
	transform: rotate(-135deg);
	transition: transform 0.3s ease;
	width: 0.55em;
}

.p-faq-list__toggle::before,
.p-faq-list__toggle::after {
	background-color: #6A9E97;
	content: "";
	position: absolute;
}

.p-faq-list__toggle::before {
	height: 0.1em;
	left: 0;
	top: 0;
	width: 100%;
}

.p-faq-list__toggle::after {
	height: 100%;
	left: 0;
	top: 0;
	width: 0.1em;
}

.p-faq-list__toggle.is-open {
	transform: rotate(45deg);
}

.p-faq {
	background: #F7F9F8;
	padding: 1.71em 1.43em 1.43em;
}

.p-faq__lists {
	margin-top: 1.71em;
}

.p-faq__list:not(:first-child) {
	margin-top: 0.71em;
}

.p-faq__title,
.p-faq__list {
	opacity: 0;
}

.p-faq__title.is-active,
.p-faq__list.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-flow-item__head {
	align-items: center;
	display: flex;
}

.p-flow-item__step,
.p-flow__footer {
	align-items: center;
	background: #6A9E97;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem);
	font-size: clamp(1.125rem, 0rem + 4.8vi, 1.8rem); /* 18px → 28.8px */
	height: 2.7em;
	justify-content: center;
	line-height: 1;
	width: 2.7em;
}

.p-flow-item__label {
	font-size: clamp(0.75rem, 0rem + 3.2vw, 1.2rem);
	font-size: clamp(0.75rem, 0rem + 3.2vi, 1.2rem); /* 12px → 19.2px */
}

.p-flow-item__label,
.p-flow-item__number {
	transform: translateY(0.1em);
}

.p-flow-item__title {
	flex: 1;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem);
	font-size: clamp(1.125rem, 0rem + 4.8vi, 1.8rem); /* 18px → 28.8px */
	font-weight: 400;
	padding-left: 0.55em;
}

.p-flow-item__title span {
	font-size: clamp(0.875rem, 0rem + 3.733vw, 1.4rem);
	font-size: clamp(0.875rem, 0rem + 3.733vi, 1.4rem); /* 14px → 22.4px */
}

.p-flow-item__body {
	border-left: 0.15em dotted #333;
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem);
	font-size: clamp(0.813rem, 0rem + 3.467vi, 1.3rem); /* 13px → 20.8px */
	margin: 0.38em 0 0 1.8em;
	padding: 0.77em 0 1.53em 1.53em;
}

.p-flow-item__text {
	line-height: 1.8;
	text-align: justify;
}

.p-flow-item__note {
	background: #F7F9F8;
	line-height: 1.6;
	margin-top: 0.77em;
	padding: 0.5em 1em;
}

.p-flow-item__note-title {
	color: #6A9E97;
}

.p-flow-item__note-list li {
	padding-left: 1.3em;
	position: relative;
}

.p-flow-item__note-list li::before {
	border: solid #333;
	border-width: 0 0.1em 0.1em 0;
	content: "";
	height: 0.8em;
	left: 0.3em;
	position: absolute;
	top: 0.3em;
	transform: rotate(45deg);
	width: 0.4em;
}

.p-flow-item__comment-wrapper {
	padding-top: 0.75em;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.p-flow-item__comment-wrapper::before {
	border-bottom: 0.8em solid #A6BCCB;
	border-left: 0.5em solid transparent;
	border-right: 0.5em solid transparent;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	top: 0.1em;
	transform: translateX(-50%);
	width: 0;
}

.p-flow-item__comment {
	background: #A6BCCB;
	border-radius: 3.125rem;
	color: #fff;
	padding: 0.5em 1.5em;
	position: relative;
}

.p-flow {
	border-left: 0.1em solid #F7F9F8;
	border-right: 0.1em solid #F7F9F8;
	margin-top: -3.22em;
	padding: 5.36em 1.43em 2.14em 0.5em;
	position: relative;
	z-index: 0;
}

.p-flow__items {
	margin-top: 1.71em;
}

.p-flow__item:not(:first-child) {
	margin-top: 1.43em;
}

.p-flow__footer {
	margin-top: 0.36em;
}

.p-flow__title,
.p-flow__item,
.p-flow__footer {
	opacity: 0;
}

.p-flow__title.is-active,
.p-flow__item.is-active,
.p-flow__footer.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-footer {
	padding: 1.43em;
}

.p-footer__copyright {
	font-size: clamp(0.688rem, -0.042rem + 3.111vw, 1.125rem);
	font-size: clamp(0.688rem, -0.042rem + 3.111vi, 1.125rem); /* 11px~18px */
	text-align: center;
}

.p-fv__title {
	clip: rect(0, 0, 0, 0);
	border: 0;
	font-size: 16px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.p-information-list {
	align-items: flex-start;
	display: flex;
	font-size: clamp(0.875rem, -0.167rem + 4.444vw, 1.5rem);
	font-size: clamp(0.875rem, -0.167rem + 4.444vi, 1.5rem); /* 14px~24px */
	line-height: 1.8;
}

.p-information-list dt {
	align-items: center;
	background: #D6CFC7;
	border-radius: clamp(0.625rem, -0.104rem + 3.111vw, 1.063rem);
	border-radius: clamp(0.625rem, -0.104rem + 3.111vi, 1.063rem); /* 10px~17px */
	color: #fff;
	display: flex;
	flex-shrink: 0;
	height: 2.3em;
	justify-content: center;
	width: clamp(4.25rem, -0.854rem + 21.778vw, 7.313rem);
	width: clamp(4.25rem, -0.854rem + 21.778vi, 7.313rem); /* 68px~117px */
}

.p-information-list dd {
	align-self: center;
	flex: 1;
	padding-left: 0.6em;
}

.p-information {
	padding: 5% 5% 7%;
	position: relative;
}

.p-information::before {
	aspect-ratio: 144/160;
	background: url(../images/common/information_bg1.png) center center/contain no-repeat;
	content: "";
	position: absolute;
	right: 0;
	top: -5%;
	width: clamp(4.063rem, 0.417rem + 15.556vw, 6.25rem);
	width: clamp(4.063rem, 0.417rem + 15.556vi, 6.25rem); /* 65px~100px */
}

.p-information__lists {
	margin-top: 5%;
}

.p-information__list:not(:first-child) {
	margin-top: 3%;
}

.p-information__map {
	margin: 8% 0;
}

.p-information__map iframe {
	aspect-ratio: 375/140;
	width: 100%;
}

.p-information__title,
.p-information__lists,
.p-information__map {
	opacity: 0;
}

.p-information__title.is-active,
.p-information__lists.is-active,
.p-information__map.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-plan__name {
	background: #BFD8D2;
	border-radius: clamp(0.875rem, -0.167rem + 4.444vw, 1.5rem);
	border-radius: clamp(0.875rem, -0.167rem + 4.444vi, 1.5rem); /* 14px~24px */
	display: inline-block;
	font-size: clamp(0.875rem, -0.167rem + 4.444vw, 1.5rem);
	font-size: clamp(0.875rem, -0.167rem + 4.444vi, 1.5rem); /* 14px~24px */
	padding: 1% 4%;
}

.p-plan__item {
	display: flex;
	font-size: clamp(0.875rem, -0.167rem + 4.444vw, 1.5rem);
	font-size: clamp(0.875rem, -0.167rem + 4.444vi, 1.5rem); /* 14px~24px */
	padding-left: 6%;
}

.p-plan__item dt {
	width: 34%;
}

.p-plan__item dd {
	text-align: right;
	width: 33%;
}

.p-plan__item dt,
.p-plan__item dd {
	margin-top: 3%;
}

.p-price-list {
	background: #E3E0DA;
	padding: 1.42em;
}

.p-price-list__head {
	align-items: center;
	display: flex;
	font-size: clamp(1.125rem, -0.333rem + 6.222vw, 2rem);
	font-size: clamp(1.125rem, -0.333rem + 6.222vi, 2rem); /* 18px~32px */
	justify-content: space-between;
}

.p-price-list__name {
	flex: 1;
	font-size: clamp(1.125rem, -0.333rem + 6.222vw, 2rem);
	font-size: clamp(1.125rem, -0.333rem + 6.222vi, 2rem); /* 18px~32px */
	font-weight: 400;
}

.p-price-list__toggle {
	cursor: pointer;
	height: 0.55em;
	position: relative;
	transform: rotate(-135deg);
	transition: transform 0.3s ease;
	width: 0.55em;
}

.p-price-list__toggle::before,
.p-price-list__toggle::after {
	background-color: #333;
	content: "";
	position: absolute;
}

.p-price-list__toggle::before {
	height: 0.05em;
	left: 0;
	top: 0;
	width: 100%;
}

.p-price-list__toggle::after {
	height: 100%;
	left: 0;
	top: 0;
	width: 0.05em;
}

.p-price-list__toggle.is-open {
	transform: rotate(45deg);
}

.p-price-list__body {
	display: none;
}

.p-price-list__body.is-open {
	display: block;
}

.p-price-list__program:nth-of-type(1) {
	margin-top: 0.71em;
}

.p-price-list__program:nth-of-type(n+2) {
	margin-top: 2.14em;
}

.p-price-list__course:nth-of-type(1) {
	border-top: 0.03em solid #333;
	margin-top: 0.71em;
	padding-top: 0.71em;
}

.p-price-list__course:nth-of-type(n+2) {
	margin-top: 1.42em;
}

.p-price {
	border-left: 0.1em solid #F7F9F8;
	border-right: 0.1em solid #F7F9F8;
	margin-top: -3.22em;
	padding: 5.36em 1.43em;
	position: relative;
	z-index: 0;
}

.p-price__lists {
	margin-top: 1.71em;
}

.p-price__list:not(:first-child) {
	margin-top: 0.71em;
}

.p-price__note {
	border: 0.1em solid #E3E0DA;
	margin-top: 0.71em;
	padding: 1.42em;
}

.p-price__note-title {
	font-size: clamp(1.125rem, -0.333rem + 6.222vw, 2rem);
	font-size: clamp(1.125rem, -0.333rem + 6.222vi, 2rem); /* 18px~32px */
}

.p-price__note-list {
	margin-top: 0.71em;
}

.p-price__note-list li {
	align-items: flex-start;
	display: flex;
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem);
	font-size: clamp(0.813rem, 0rem + 3.467vi, 1.3rem); /* 13px → 20.8px */
	gap: 0.3em;
	line-height: 1.8;
}

.p-price__note-list li::before {
	background-color: #333;
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	height: 0.75em;
	margin-top: 0.5em;
	width: 0.75em;
}

.p-price__title,
.p-price__lists,
.p-price__note {
	opacity: 0;
}

.p-price__title.is-active,
.p-price__lists.is-active,
.p-price__note.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-problem {
	background: linear-gradient(to bottom, rgba(166, 188, 203, 0.2) 0%, rgba(191, 216, 210, 0.8) 40%, rgba(166, 188, 203, 0.3) 100%);
	margin-top: -3.22em;
	padding: 5.36em 1.43em;
	position: relative;
	text-align: center;
	z-index: 0;
}

.p-problem__title {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1.25rem, 0rem + 5.333vw, 2rem);
	font-size: clamp(1.25rem, 0rem + 5.333vi, 2rem); /* 20px → 32px */
}

.p-problem__title span {
	font-size: clamp(1.375rem, 0rem + 5.867vw, 2.2rem);
	font-size: clamp(1.375rem, 0rem + 5.867vi, 2.2rem); /* 22px → 35.2px */
}

.p-problem__lead {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-weight: 500;
	line-height: 2;
	margin-top: 1em;
}

.p-problem__list-wrap {
	background: #fff;
	border-radius: 1em;
	margin-top: 2.14em;
	padding: 1.71em 1.43em 1.43em;
}

.p-problem__list-title {
	font-size: clamp(1.25rem, 0rem + 5.333vw, 2rem);
	font-size: clamp(1.25rem, 0rem + 5.333vi, 2rem); /* 20px → 32px */
	font-weight: 400;
}

.p-problem__list-title span {
	font-size: clamp(1.375rem, 0rem + 5.867vw, 2.2rem);
	font-size: clamp(1.375rem, 0rem + 5.867vi, 2.2rem); /* 22px → 35.2px */
}

.p-problem__list {
	margin-top: 0.86em;
	text-align: left;
}

.p-problem__list-item {
	padding-left: 1.7em;
	position: relative;
}

.p-problem__list-item:not(:first-child) {
	margin-top: 0.5em;
}

.p-problem__list-item::before {
	aspect-ratio: 35/39;
	background: url(../images/common/problem_1.webp) center center/contain no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 0.1em;
	width: 1.2em;
}

.p-program__name {
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem);
	font-size: clamp(1rem, 0rem + 4.267vi, 1.6rem); /* 16px → 25.6px */
	padding-bottom: 0.25em;
}

.p-program__text {
	border-top: 0.04em solid #333;
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem);
	font-size: clamp(0.813rem, 0rem + 3.467vi, 1.3rem); /* 13px → 20.8px */
	padding-top: 0.77em;
}

.p-program__course:nth-of-type(1) {
	margin-top: 0.71em;
}

.p-program__course:nth-of-type(n+2) {
	margin-top: 1.42em;
}

.p-reason-item__img {
	aspect-ratio: 300/150;
	position: relative;
}

.p-reason-item__img img {
	-o-object-fit: cover;
	border-radius: 0 2.86em 0 0;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-reason-item__number {
	bottom: -0.7em;
	color: #6A9E97;
	font-family: "Hurricane", cursive;
	font-size: max(3rem, min(12.8vw, 4.8rem)); /* 48px~76.8px */
	position: absolute;
	right: -0.65em;
}

.p-reason-item__title {
	margin-top: 0.62em;
}

.p-reason-item__title span {
	background: #BFD8D2;
	display: inline-block;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1rem, -0.042rem + 4.444vw, 1.625rem);
	font-size: clamp(1rem, -0.042rem + 4.444vi, 1.625rem); /* 16px~26px */
	font-weight: 400;
	padding: 0 0.71em;
}

.p-reason-item__title span:not(:first-child) {
	margin-top: 0.75em;
}

.p-reason-item__text {
	font-size: clamp(0.813rem, -0.021rem + 3.556vw, 1.313rem);
	font-size: clamp(0.813rem, -0.021rem + 3.556vi, 1.313rem); /* 13px~21px */
	line-height: 2;
	margin-top: 1em;
	text-align: justify;
}

.p-reason-item__text span {
	background: linear-gradient(transparent 60%, #E3E0DA 80%);
	font-weight: 700;
}

.p-reason-item:nth-child(even) .p-reason-item__img img {
	border-radius: 2.86em 0 0 0;
}

.p-reason-item:nth-child(even) .p-reason-item__number {
	left: -0.75em;
	right: 0;
}

.p-reason-item:nth-child(even) .p-reason-item__title {
	text-align: right;
}

.p-reason {
	border-left: 0.1em solid #F7F9F8;
	border-right: 0.1em solid #F7F9F8;
	margin-top: -3.22em;
	padding: 5.36em 1.43em 2.14em;
	position: relative;
	z-index: 0;
}

.p-reason__items {
	margin-top: 1.71em;
}

.p-reason__item:not(:first-child) {
	margin-top: 2.14em;
}

.p-reason__item:nth-child(even) {
	padding-left: 2.5em;
}

.p-reason__item:nth-child(odd) {
	padding-right: 2.5em;
}

.p-reason__title,
.p-reason__item {
	opacity: 0;
}

.p-reason__title.is-active,
.p-reason__item.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-section-bridge {
	position: relative;
	z-index: 1;
}

.p-section-bridge img {
	height: auto;
	width: 100vw;
}

.p-section-bridge--solution,
.p-section-bridge--trainer,
.p-section-bridge--faq {
	background: linear-gradient(transparent 90%, #F7F9F8 90%);
	margin-top: -3em;
}

.p-solution {
	background: #F7F9F8;
	padding: 1.71em 1.43em 0.71em;
	position: relative;
}

.p-solution__content {
	opacity: 0;
}

.p-solution__content.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-solution__title {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-size: clamp(1.25rem, -0.417rem + 7.111vw, 2.25rem);
	font-size: clamp(1.25rem, -0.417rem + 7.111vi, 2.25rem); /* 20px~36px */
	font-weight: 400;
	text-align: center;
}

.p-solution__title span {
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem);
	font-size: clamp(1.5rem, 0rem + 6.4vi, 2.4rem); /* 24px → 38.4px */
}

.p-solution__img {
	aspect-ratio: 335/200;
	margin-top: 1.71em;
}

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

.p-solution__list {
	line-height: 1.8;
	margin: 0.71em auto 0;
}

.p-solution__list-item {
	line-height: 1.8;
	margin-top: 0.71em;
	padding-left: 1.2em;
	position: relative;
}

.p-solution__list-item::before {
	aspect-ratio: 13/17;
	background: url(../images/common/solution_2.png) center center/contain no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 0.15em;
	width: 1em;
}

.p-solution__list-item:not(:first-child) {
	margin-top: 0.57em;
}

.p-trainer-item__name {
	background: #BFD8D2;
	display: inline-block;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	font-weight: 400;
	padding: 0.3em 3em 0.3em 1.5em;
	position: relative;
	z-index: 1;
}

.p-trainer-item__name span {
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem);
	font-size: clamp(1.125rem, 0rem + 4.8vi, 1.8rem); /* 18px → 28.8px */
}

.p-trainer-item__content {
	background: #fff;
	box-shadow: 0 0 0.46em #d1d1d1;
	margin: 0 1.43em;
	padding: 2em 1.43em;
	transform: translateY(-1.2em);
}

.p-trainer-item__credentials {
	border-bottom: 0.04em solid #333;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
	padding-bottom: 0.43em;
	text-align: right;
}

.p-trainer-item__credential:not(:first-child) {
	margin-top: 0.25em;
}

.p-trainer-item__title {
	font-weight: 700;
	line-height: 1.8;
	margin-top: 1.43em;
}

.p-trainer-item__title span {
	background: linear-gradient(transparent 60%, #F9E4D9 80%);
	padding-left: 0.71em;
}

.p-trainer-item__text {
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem);
	font-size: clamp(0.813rem, 0rem + 3.467vi, 1.3rem); /* 13px → 20.8px */
	line-height: 1.8;
	margin-top: 1.53em;
	text-align: justify;
}

.p-trainer {
	background: #F7F9F8;
	padding: 1.71em 0 0.71em;
}

.p-trainer__items {
	margin-top: 1.71em;
}

.p-trainer__item:not(:first-child) {
	margin-top: 0.94em;
}

.p-trainer__title,
.p-trainer__item {
	opacity: 0;
}

.p-trainer__title.is-active,
.p-trainer__item.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-voice-item {
	align-items: center;
	background: #fff;
	border-radius: 20em 20em 0 0;
	box-shadow: 0 0 0.46em #d1d1d1;
	display: flex;
	flex-direction: column;
	font-size: clamp(0.813rem, -0.021rem + 3.556vw, 1.313rem);
	font-size: clamp(0.813rem, -0.021rem + 3.556vi, 1.313rem); /* 13px~21px */
	padding: 2.3em 1.53em;
}

.p-voice-item__meta {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-size: clamp(0.75rem, 0rem + 3.2vw, 1.2rem);
	font-size: clamp(0.75rem, 0rem + 3.2vi, 1.2rem); /* 12px → 19.2px */
}

.p-voice-item__img {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #fff;
	border: 0.1em solid #E3E0DA;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	overflow: hidden;
	width: clamp(5rem, -2.917rem + 33.778vw, 9.75rem);
	width: clamp(5rem, -2.917rem + 33.778vi, 9.75rem); /* 80px~156px */
}

.p-voice-item__img img {
	-o-object-fit: contain;
	display: block;
	height: 95%;
	object-fit: contain;
	width: auto;
}

.p-voice-item__text {
	line-height: 1.8;
	margin-top: 1.53em;
	text-align: justify;
}

.p-voice-item__text span {
	background: linear-gradient(transparent 60%, #E3E0DA 80%);
	font-weight: 700;
}

.p-voice {
	background: url(../images/common/voice_bg.webp) center center/cover no-repeat;
	margin-top: -3.22em;
	padding: 5.36em 1.43em;
	position: relative;
	z-index: 0;
}

.p-voice__items {
	margin-top: 1.41em;
	position: relative;
}

.p-voice__item {
	height: 97%;
	margin: 0 auto;
	transform: translateY(0.3em);
	width: 97%;
}

.p-voice__slide.swiper-slide {
	display: flex;
	height: auto;
}

.p-voice__controls {
	align-items: baseline;
	display: flex;
	gap: 3%;
	justify-content: center;
	margin-top: 2em;
}

.p-voice__button-prev.swiper-button-prev,
.p-voice__button-next.swiper-button-next {
	background: #A6BCCB;
	border-radius: 50%;
	height: 2.86em;
	position: static;
	top: auto;
	width: 2.86em;
}

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

.p-voice__button-prev.swiper-button-prev::before,
.p-voice__button-next.swiper-button-next::before {
	border-right: 0.15em solid #fff;
	border-top: 0.15em solid #fff;
	content: "";
	display: block;
	height: 0.8em;
	width: 0.8em;
}

.p-voice__button-prev.swiper-button-prev::before {
	transform: translateX(0.1em) rotate(-135deg);
}

.p-voice__button-next.swiper-button-next::before {
	transform: translateX(-0.1em) rotate(45deg);
}

.p-voice .p-voice__pagination.swiper-pagination {
	display: flex;
	position: static;
	width: auto;
}

.p-voice__pagination.swiper-pagination .swiper-pagination-bullet {
	background-color: #fff;
	opacity: 1;
}

.p-voice__pagination.swiper-pagination .swiper-pagination-bullet-active {
	background-color: #A6BCCB;
}

@media screen and (min-width: 768px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.l-inner {
	max-width: 650px;
	padding-left: 25px;
	padding-right: 25px;
}

.c-to-top {
	bottom: 1.25rem;
	right: 1.25rem;
}

.c-to-top:hover {
	background-color: #fff;
	border: 2px solid #BFD8D2;
	transition: background 0.3s, transform 0.3s;
}

.c-to-top:hover span {
	border-color: #BFD8D2;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes fadeIn {

0% {
	opacity: 0;
	transform: translateY(50px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}


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