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); /* 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: clamp(0.625rem, 0rem + 2.667vw, 1rem); /* 10px → 16px */
	box-shadow: 0 0 4px rgba(51, 51, 51, 0.4);
	color: #fff;
	display: flex;
	font-size: clamp(1.375rem, 0rem + 5.867vw, 2.2rem); /* 22px → 35.2px */
	justify-content: center;
	padding: 0.4em;
	text-shadow: 0 2px 4px 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 {
	font-family: sictype, sans-serif;
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
	font-weight: 400;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.c-section-title::after {
	background-image: radial-gradient(#F19647 0.1em, transparent 0.1em);
	background-repeat: repeat-x;
	background-size: 0.4em 0.4em;
	bottom: -0.2em;
	content: "";
	height: 0.3em;
	left: -0.5em;
	position: absolute;
	width: calc(100% + 1em);
}

.c-section-title--reason::after {
	display: none;
}

.c-section-title__lead,
.c-section-title__main {
	display: inline-block;
	margin: 0 auto;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

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

.c-section-title__main {
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
}

.c-section-title__main span {
	font-size: clamp(2rem, 0rem + 8.533vw, 3.2rem); /* 32px → 51.2px */
}

.c-section-title__lead::after,
.c-section-title__main::after {
	background-image: radial-gradient(#F19647 0.1em, transparent 0.1em);
	background-repeat: repeat-x;
	background-size: 0.4em 0.4em;
	bottom: -0.1em;
	content: "";
	height: 0.3em;
	left: -0.5em;
	position: absolute;
	width: calc(100% + 1em);
}

.c-section-title--voice,
.c-section-title--faq {
	color: #fff;
	text-shadow: 0.08em 0.08em 0.16em rgba(51, 51, 51, 0.25);
}

.c-section-title--voice span {
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem); /* 18px → 28.8px */
}

.c-section-title--voice::after,
.c-section-title--faq::after {
	background-image: radial-gradient(#fff 0.1em, transparent 0.1em);
}

.c-section-title--trainer::after {
	background-image: radial-gradient(#72A9A3 0.1em, transparent 0.1em);
}

.c-section-title--information::after {
	background-image: radial-gradient(#D6CFC7 0.1em, transparent 0.1em);
	background-position: center;
}

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

.c-to-top {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #EECA96;
	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; /* aタグの下線を消す */
	transition: background 0.3s, transform 0.3s, opacity 0.3s;
	width: 3.75rem;
	z-index: 100;
}

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

/* 矢印のデザイン */

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

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

.p-campaign-item {
	background: #fff;
	border: 0.14em solid #EECA96;
	border-radius: 1em;
	padding: 1em 0;
	position: relative;
	z-index: 0;
}

.p-campaign-item__tag {
	aspect-ratio: 549/532;
	background: url("../images/common/campaign_2.webp");
	background-repeat: no-repeat;
	background-size: 3.57em auto;
	display: flex;
	flex-direction: column;
	font-family: sictype, sans-serif;
	justify-content: center;
	left: -1em;
	line-height: 1;
	position: absolute;
	top: -1em;
	transform: rotate(-25deg);
	width: 3.57em;
}

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

.p-campaign-item__content {
	align-items: center;
	display: grid;
	grid-template-columns: 45% 55%;
}

.p-campaign-item__group {
	line-height: 1.3;
	position: relative;
}

.p-campaign-item__group::after {
	border-bottom: 0.86em solid transparent;
	border-left: 0.86em solid #EECA96;
	border-top: 0.86em solid transparent; /* 右向き三角形 */
	content: "";
	height: 0;
	position: absolute;
	right: 0.3em;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
}

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

.p-campaign-item__selling {
	display: inline-block;
	font-size: clamp(0.938rem, 0rem + 4vw, 1.5rem); /* 15px → 24px */
	margin-top: 0.2em;
	position: relative;
}

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

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

.p-campaign-item__special {
	color: #d96b6b;
	font-size: clamp(2rem, 0rem + 8.533vw, 3.2rem); /* 32px → 51.2px */
	font-weight: 700;
	text-align: center;
}

.p-campaign {
	background: #FCF2C1;
	padding: 2.8em 1.43em 0;
	position: relative;
	text-align: center;
}

.p-campaign::before,
.p-campaign::after {
	content: "";
	position: absolute;
}

.p-campaign::before {
	aspect-ratio: 140/180;
	background: url("../images/common/campaign_bg1.webp") center center/contain no-repeat;
	left: 0;
	top: -2.2em;
	width: 4.29em;
	z-index: 2;
}

.p-campaign::after {
	aspect-ratio: 196/160;
	background: url("../images/common/campaign_bg2.webp") center center/contain no-repeat;
	bottom: -2.8em;
	right: 0;
	width: 7.14em;
}

.p-campaign__title {
	display: inline-block;
	font-family: sictype, sans-serif;
	font-size: clamp(1.625rem, 0rem + 6.933vw, 2.6rem); /* 26px → 41.6px */
	position: relative;
	text-align: center;
}

.p-campaign__title::after {
	background: url("../images/common/campaign_1.webp") center center/contain no-repeat;
	content: "";
	height: 1em;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(75%, -40%);
	width: 1em;
}

.p-campaign__items {
	grid-gap: 8%;
	display: grid;
	gap: 8%;
	grid-template-columns: 1fr;
	margin-top: 1.43em;
	padding-bottom: 3.6em;
}

.p-course__duration {
	background: #FCF2C1;
	border-radius: 1em;
	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-course__item--red{
	color: #d96b6b;
	margin-top: 0;
}

.p-course__label {
	color: #d96b6b;
	margin-top: 0.3em;
	padding-left: 1em;
}

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

.p-cta__text {
	display: inline-block;
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem); /* 16px → 25.6px */
	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,
.p-cta__link-web {
	margin-top: 0.5em;
}

.p-faq-list {
	background: #fff;
	border-radius: 1em;
	padding: 0 0.8em;
}

.p-faq-list__question,
.p-faq-list__answer {
	align-items: flex-start;
	display: flex;
	padding: 1.4em 0;
}

.p-faq-list__answer {
	display: none;
}

.p-faq-list__answer.is-open {
	border-top: 0.2em dotted #EECA96;
	display: flex;
}

.p-faq-list__icon {
	align-items: center;
	background: #EECA96;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
	height: 1.5em;
	justify-content: center;
	margin-right: 0.4em;
	width: 1.5em;
}

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

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

.p-faq-list__toggle {
	color: #EECA96;
	cursor: pointer;
	flex-shrink: 0;
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
	margin-left: 0.4em;
}

.p-faq {
	background: #EECA96;
	padding: 1em 1.43em 2em;
	position: relative;
}

.p-faq::before {
	aspect-ratio: 100/100;
	background: url("../images/common/faq_bg1.webp") center center/contain no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: -3em;
	width: 4.29em;
}

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

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

.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;
	position: relative;
}

.p-flow-item__head img {
	width: 18%;
}

.p-flow-item__number {
	font-size: clamp(1.375rem, 0rem + 5.867vw, 2.2rem); /* 22px → 35.2px */
	left: 1em;
	position: absolute;
	top: 0.5em;
}

.p-flow-item__title {
	flex: 1;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem); /* 18px → 28.8px */
	font-weight: 400;
	padding-left: 0.7em;
}

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

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

.p-flow-item__note {
	border: 0.1em solid #EECA96;
	border-radius: 1em;
	line-height: 1.6;
	margin-top: 1em;
	padding: 0.5em 1em;
}

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

.p-flow-item__note-list li {
	align-items: flex-start;
	display: flex;
	gap: 0.3em;
}

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

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

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

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

.p-flow {
	padding: 2.8em 1.43em 4.6em;
	position: relative;
}

.p-flow::before,
.p-flow::after {
	content: "";
	position: absolute;
}

.p-flow::before {
	aspect-ratio: 298/148;
	background: url("../images/common/flow_bg1.webp") center center/contain no-repeat;
	left: 0;
	top: 0;
	width: 10.71em;
}

.p-flow::after {
	aspect-ratio: 222/137;
	background: url("../images/common/flow_bg6.webp") center center/contain no-repeat;
	bottom: 0;
	right: 0;
	width: 7.14em;
}

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

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

.p-flow__item {
	position: relative;
}

.p-flow__item::after {
	content: "";
	position: absolute;
	z-index: 1;
}

.p-flow__item:nth-child(5n+1)::after {
	aspect-ratio: 156/96;
	background: url("../images/common/flow_bg2.webp") center center/contain no-repeat;
	bottom: -3.5em;
	right: -1.3em;
	width: 5.71em;
}

.p-flow__item:nth-child(5n+2)::after {
	aspect-ratio: 218/56;
	background: url("../images/common/flow_bg3.webp") center center/contain no-repeat;
	bottom: -2.5em;
	left: -1.3em;
	width: 8em;
}

.p-flow__item:nth-child(5n+3)::after {
	aspect-ratio: 210/97;
	background: url("../images/common/flow_bg4.webp") center center/contain no-repeat;
	bottom: -3.5em;
	right: -1.3em;
	width: 7.71em;
}

.p-flow__item:nth-child(5n+4)::after {
	aspect-ratio: 157/76;
	background: url("../images/common/flow_bg5.webp") center center/contain no-repeat;
	bottom: -3em;
	left: -1.3em;
	width: 5.71em;
}

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

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

.p-footer {
	font-size: clamp(0.688rem, 0rem + 2.933vw, 1.1rem); /* 11px → 17.6px */
	padding: 2em 0;
	text-align: center;
}

.p-fv {
	position: relative;
}

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

.p-fv__access {
	color: #fff;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
	font-weight: 700;
	letter-spacing: 0.07em;
	position: absolute;
	right: 0.7em;
	top: 19.28em;
}

.p-information-list {
	align-items: flex-start;
	display: flex;
	line-height: 1.8;
}

.p-information-list dt {
	align-items: center;
	background: #D6CFC7;
	border-radius: 0.71em;
	color: #fff;
	display: flex;
	flex-shrink: 0;
	height: 2.3em;
	justify-content: center;
	width: 4.86em;
}

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

.p-information {
	padding: 1.5em 1.43em 2em;
	position: relative;
}

.p-information::before {
	aspect-ratio: 144/160;
	background: url("../images/common/information_bg1.webp") center center/contain no-repeat;
	content: "";
	position: absolute;
	right: 0;
	top: -2em;
	width: 4.64em;
}

.p-information__lists {
	margin-top: 1.7em;
}

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

.p-information__map {
	margin: 2em 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-price-list__head {
	align-items: center;
	border-bottom: 0.04em solid #333;
	display: flex;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem); /* 18px → 28.8px */
	justify-content: space-between;
	padding-bottom: 0.55em;
}

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

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

.p-price-list__name {
	flex: 1;
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem); /* 18px → 28.8px */
	font-weight: 400;
}

.p-price-list__toggle {
	cursor: pointer;
	flex-shrink: 0;
}

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

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

.p-price-list__course {
	margin-top: 1em;
}

.p-price-list__item {
	display: flex;
}

.p-price-list__item dt {
	width: 38%;
}

.p-price-list__item dd {
	text-align: right;
	width: 31%;
}

.p-price-list__item dt,
.p-price-list__item dd {
	margin-top: 0.7em;
}

.p-price-list__note {
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem); /* 13px → 20.8px */
	margin-top: 1em;
	padding-left: 1em;
	text-indent: -1em;
}

.p-price {
	padding: 2.8em 1.43em 1.6em;
}

.p-price__lists {
	background: #FEFAF1;
	border-radius: 1em;
	margin-top: 1.7em;
	padding: 1.45em;
}

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

.p-problem {
	background: #72A9A3;
	padding-top: 1.3em;
	position: relative;
}

.p-problem::before {
	aspect-ratio: 96/40;
	background: url("../images/common/problem_bg1.webp") center center/contain no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: -1.4em;
	width: 7.14em;
}

.p-problem__lead {
	background: url("../images/common/problem_bg2.webp") center center/contain no-repeat;
	padding: 4em 0 2.5em;
	text-align: center;
}

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

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

.p-problem__lead-text {
	line-height: 2;
	margin-top: 1.2em;
}

.p-problem__bridge {
	position: relative;
}

.p-problem__bridge img {
	height: auto;
	width: 100%;
}

.p-problem__bridge::after {
	aspect-ratio: 160/198;
	background: url("../images/common/problem_bg3.webp") center center/contain no-repeat;
	content: "";
	left: 1em;
	position: absolute;
	top: -2.5em;
	width: 5.71em;
}

.p-problem__content {
	background: #C7DEDA;
	padding: 0 1.43em 1.43em;
}

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

.p-problem__list {
	display: flex;
	flex-direction: column;
	margin-top: 1em;
}

.p-problem__list-item {
	background: #fff;
	border-radius: 1em;
	display: inline-block;
	max-width: 90%;
	padding: 0.5em 1em;
	position: relative;
}

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

.p-problem__list-item:nth-child(odd) {
	align-self: flex-start;
}

.p-problem__list-item:nth-child(even) {
	align-self: flex-end;
}

.p-problem__list-item::after {
	border: 1em solid transparent;
	border-bottom-color: #fff;
	bottom: -0.43em;
	content: "";
	height: 0;
	position: absolute;
	width: 0;
}

.p-problem__list-item:nth-child(odd)::after {
	left: 1em;
	transform: rotate(-30deg);
}

.p-problem__list-item:nth-child(even)::after {
	right: 1em;
	transform: rotate(30deg);
}

.p-problem__lead-title,
.p-problem__lead-text,
.p-problem__content-title,
.p-problem__list-item {
	opacity: 0;
}

.p-problem__lead-title.is-active,
.p-problem__lead-text.is-active,
.p-problem__content-title.is-active,
.p-problem__list-item.is-active {
	animation: fadeIn 1s ease-out forwards;
}

.p-reason-item__head {
	align-items: center;
	display: flex;
	gap: 3%;
}

.p-reason-item__tag {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	text-align: center;
	width: 20%;
}

.p-reason-item:nth-child(4n+1) .p-reason-item__tag {
	aspect-ratio: 149/110;
	background-image: url("../images/common/reason_p1.png");
}

.p-reason-item:nth-child(4n+2) .p-reason-item__tag {
	aspect-ratio: 149/112;
	background-image: url("../images/common/reason_p2.png");
}

.p-reason-item:nth-child(4n+3) .p-reason-item__tag {
	aspect-ratio: 141/115;
	background-image: url("../images/common/reason_p3.png");
}

.p-reason-item:nth-child(4n+4) .p-reason-item__tag {
	aspect-ratio: 158/114;
	background-image: url("../images/common/reason_p4.png");
}

.p-reason-item__label {
	color: #fff;
	font-family: sictype, sans-serif;
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem); /* 13px → 20.8px */
	left: 25%;
	line-height: 1;
	position: absolute;
	top: 18%;
	transform: rotate(-25deg);
}

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

.p-reason-item__title {
	font-size: clamp(1rem, 0rem + 4.267vw, 1.6rem); /* 16px → 25.6px */
	font-weight: 500;
	line-height: 1.6;
	width: 80%;
}

.p-reason-item__body {
	padding-left: 2.14em;
}

.p-reason-item__img {
	aspect-ratio: 300/150;
	margin-top: 1em;
}

.p-reason-item__img img {
	-o-object-fit: cover;
	border-radius: clamp(1.25rem, 0rem + 5.333vw, 2rem); /* 20px → 32px */
	height: 100%;
	object-fit: cover;
	width: 100%;
}

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

.p-reason-item__text span {
	background: linear-gradient(transparent 60%, rgb(238, 202, 150) 80%);
	font-weight: 700;
}

.p-reason-item:nth-child(even) .p-reason-item__head {
	flex-direction: row-reverse;
}

.p-reason-item:nth-child(even) .p-reason-item__label {
	transform: rotate(25deg);
}

.p-reason-item:nth-child(even) .p-reason-item__body {
	padding-left: 0;
	padding-right: 2.14em;
}

.p-reason {
	background: #FEFAF1;
	padding: 2em 1.43em 2.8em;
}

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

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

.p-reason__item {
	position: relative;
}

.p-reason__item::before {
	content: "";
	position: absolute;
	z-index: 1;
}

.p-reason__item:nth-child(4n+1)::before {
	aspect-ratio: 80/80;
	background: url("../images/common/reason_bg1.webp") center center/contain no-repeat;
	left: -0.8em;
	top: 2.6em;
	width: 2.71em;
}

.p-reason__item:nth-child(4n+2)::before {
	aspect-ratio: 88/100;
	background: url("../images/common/reason_bg2.webp") center center/contain no-repeat;
	bottom: -1.6em;
	right: -1.45em;
	width: 3.57em;
}

.p-reason__item:nth-child(4n+3)::before {
	aspect-ratio: 80/80;
	background: url("../images/common/reason_bg3.webp") center center/contain no-repeat;
	left: -1.2em;
	top: 12em;
	width: 2.71em;
}

.p-reason__item:nth-child(4n)::before {
	aspect-ratio: 60/60;
	background: url("../images/common/reason_bg4.webp") center center/contain no-repeat;
	bottom: 3.6em;
	right: -0.8em;
	width: 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 img {
	height: auto;
	width: 100%;
}

.p-solution {
	background: #fff4dc;
	padding: 1.5em 1.43em 2em;
	position: relative;
}

.p-solution::before {
	aspect-ratio: 160/160;
	background: url("../images/common/solution_bg1.webp") center center/contain no-repeat;
	content: "";
	position: absolute;
	right: 0.5em;
	top: -5em;
	width: 5.71em;
}

.p-solution__content {
	opacity: 0;
}

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

.p-solution__title {
	font-family: sictype, sans-serif;
	font-size: clamp(1.5rem, 0rem + 6.4vw, 2.4rem); /* 24px → 38.4px */
	font-weight: 400;
	text-align: center;
}

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

.p-solution__img {
	aspect-ratio: 315/190;
	margin-top: 1.7em;
}

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

.p-solution__list {
	margin-top: 0.8em;
}

.p-solution__list-item {
	padding-left: 1.3em;
	position: relative;
}

.p-solution__list-item::before {
	aspect-ratio: 162/114;
	background: url("../images/common/solution_2.webp") center center/contain no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 0.5em;
	width: 0.86em;
}

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

.p-trainer-item {
	background: #FCF2C1;
	border-radius: 1em;
	padding: 1.4em 1.2em;
}

.p-trainer-item__head {
	position: relative;
}

.p-trainer-item__head::after {
	background-image: radial-gradient(#333 0.1em, transparent 0.1em);
	background-position: center;
	background-repeat: repeat-x;
	background-size: 0.4em 0.4em;
	bottom: 0;
	content: "";
	height: 0.2em;
	left: 0;
	position: absolute;
	width: 50%;
}

.p-trainer-item__name {
	padding-bottom: 1.3em;
}

.p-trainer-item__ja-name {
	font-size: clamp(1.125rem, 0rem + 4.8vw, 1.8rem); /* 18px → 28.8px */
	font-weight: 400;
	line-height: 1.8;
}

.p-trainer-item__en-name {
	text-transform: capitalize;
}

.p-trainer-item__img {
	aspect-ratio: 1773/2364;
	flex-shrink: 0;
	position: relative;
	position: absolute;
	right: 0;
	top: -3.8em;
	transform: rotate(10deg);
	width: 30%;
}

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

.p-trainer-item__img::after {
	background: #C5EAE6;
	content: "";
	height: 100%;
	left: 0.3em;
	position: absolute;
	top: 0.2em;
	transform: rotate(10deg);
	width: 100%;
	z-index: -1;
}

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

.p-trainer {
	padding: 2.8em 1.43em;
}

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

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

.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 {
	background: #fff;
	border-radius: 1em;
	display: flex;
	flex-direction: column;
	font-size: clamp(0.813rem, 0rem + 3.467vw, 1.3rem); /* 13px → 20.8px */
	height: 98%;
	padding: 1.5em 1.2em 4em;
	position: relative;
	width: 98%;
}

.p-voice-item::after {
	border: 0.16em dotted #F19647;
	border-radius: 1em;
	content: "";
	height: 100%;
	left: 0.5em;
	position: absolute;
	top: 0.5em;
	width: 100%;
	z-index: 1;
}

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

.p-voice-item__text span {
	background: linear-gradient(transparent 60%, rgb(252, 242, 193) 80%);
	font-weight: 700;
}

.p-voice-item__demographic {
	align-self: flex-end;
	background: #FCF2C1;
	border-radius: 1.875rem;
	bottom: 0.7em;
	padding: 0.3em 1em;
	position: absolute;
	right: 0.7em;
}

.p-voice {
	background: #EECA96;
	padding: 0 1.43em 2.8em;
	position: relative;
}

.p-voice::after {
	aspect-ratio: 140/140;
	background: url("../images/common/voice_bg1.webp") center center/contain no-repeat;
	bottom: -4em;
	content: "";
	position: absolute;
	right: 0;
	width: 5.71em;
}

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

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

.p-voice__note {
	color: #fff;
	font-size: clamp(0.688rem, 0rem + 2.933vw, 1.1rem); /* 11px → 17.6px */
	text-align: right;
}

.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: #fff;
	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.2em solid #EECA96;
	border-top: 0.2em solid #EECA96;
	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: #A89F94;
}

@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 #EECA96;
}

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

}

@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 */