/*common.css 共通部分のCSS設定*/

/* ===== ヘッダー ===== */

.l-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    z-index: 9999;
}
.l-header--spring {
	background-color: #FFF9F1;
}

.l-header__inner {
	width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 9999;
	padding: 13px 21px;
}

/* ロゴ */
.l-header__logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
	transition: all .3s ease-out;
}
.l-header__logo.active {
	background-color: #E15C45;
	border-radius: 30px 0 30px 0;
	padding: 17px 25px;
	position: relative;
	z-index: 1000;
	width: 132px;
}
@media (any-hover: hover) {
	.l-header__logo:hover {
		opacity: 0.7;
	}
}
.l-header__logo-text {
	text-transform: uppercase;
	color: #e07856;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
}
.l-header__logo.active .l-header__logo-text {
	color: #fff;
}

/* 春バージョン - ピンク系 #D05E7D */
.l-header--spring .l-header__logo-text {
	color: #D05E7D;
}
.l-header--spring .l-header__logo.active {
	background-color: #D05E7D;
}
.l-header--spring .l-header__logo.active .l-header__logo-text {
	color: #fff;
}

/* 夏バージョン - 青系 #53ACBC */
.l-header--summer .l-header__logo-text {
	color: #53ACBC;
}
.l-header--summer .l-header__logo.active {
	background-color: #53ACBC;
}
.l-header--summer .l-header__logo.active .l-header__logo-text {
	color: #fff;
}

/* 右側セクション */
.l-header__right-section {
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 1000;
	position: relative;
}

/* お問い合わせボタン */
.l-header__contact-button {
	display: none;
	padding: 14px 35px;
	background-color: #fff;
	border: 2px solid #E25C45;
	border-radius: 30px;
	color: #E15C45;
	text-decoration: none;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0;
	text-align: center;
	transition: all 0.3s ease-out;
	cursor: pointer;
	transition: all 0.3s ease-out;
}

@media (any-hover: hover) {
	.l-header__contact-button:hover {
		background-color: #E15C45;
		color: #fff;
	}
}

/* 春バージョン - お問い合わせボタン */
.l-header--spring .l-header__contact-button {
	border-color: #D05E7D;
	color: #D05E7D;
}
@media (any-hover: hover) {
	.l-header--spring .l-header__contact-button:hover {
		background-color: #D05E7D;
		color: #fff;
	}
}

/* 夏バージョン - お問い合わせボタン */
.l-header--summer .l-header__contact-button {
	border-color: #53ACBC;
	color: #53ACBC;
}
@media (any-hover: hover) {
	.l-header--summer .l-header__contact-button:hover {
		background-color: #53ACBC;
		color: #fff;
	}
}
/* インスタグラム */
.l-header__instagram {
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border: 2px solid #E15C45;
	border-radius: 50%;
	background-color: #fff;
	transition: all .3s ease-out;
}
.l-header__instagram .fa-instagram {
	font-size: 3rem;
	color: #E15C45;
}
@media (any-hover: hover) {
	.l-header__instagram:hover {
		background-color: #E15C45;
	}
	.l-header__instagram:hover .fa-instagram {
		color: #fff;
	}
}
/* 春バージョン - インスタグラムボタン */
.l-header--spring .l-header__instagram{
	border-color: #D05E7D;
	background-color: #FFF9F1;
}
.l-header--spring .l-header__instagram .fa-instagram {
	color: #D05E7D;
}
@media (any-hover: hover) {
	.l-header--spring .l-header__instagram:hover {
		background-color: #D05E7D;
	}
	.l-header--spring .l-header__instagram:hover .fa-instagram {
		color: #fff;
	}
}

/* 夏バージョン - インスタグラムボタン */
.l-header--summer .l-header__instagram{
	border-color: #53ACBC;
	background-color: #FFF9F1;
}

.l-header--summer .l-header__instagram .fa-instagram {
	color: #53ACBC;
}
@media (any-hover: hover) {
	.l-header--summer .l-header__instagram:hover {
		background-color: #fff;
	}
	.l-header--summer .l-header__instagram .fa-instagram {
		color: #53ACBC;
	}
}

/* ハンバーガーボタン */
.l-header__hamburger {
	background-color: #E15C45;
	border: none;
	cursor: pointer;
	padding: 12px 16px;
	z-index: 1000;
	border-radius: 50%;
	display: block;
	width: 60px;
	height: 60px;
	position: relative;
	transition: all 0.3s ease-out;
}
@media (any-hover: hover) {
	.l-header__hamburger:hover {
		outline: 1px solid #E15C45;
		background-color: #fff;
	}
	.l-header__hamburger:hover .l-header__hamburger-line {
		background-color: #E15C45;
	}
	.l-header__hamburger:hover .l-header__hamburger-text {
		color: #E15C45;
	}
}

.l-header__hamburger-line {
	display: block;
	width: 27px;
	height: 2.35px;
	background-color: #fff;
	position: relative;
	top: 0px;
	transition: all 0.3s ease-out;
}
.l-header__hamburger-line:nth-child(2) {
	top: 5px;
}

.l-header__hamburger-text {
	text-transform: uppercase;
	color: #fff;
	font-family: "Lato", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	position: relative;
	bottom: -7px;
	transition: all 0.3s ease-out;
}

.l-header__hamburger.active {
	border-color: transparent;
	background: transparent;
	top: -8px;
}

.l-header__hamburger.active .l-header__hamburger-line:nth-child(1) {
	background-color: #E15C45;
	transform: translate(0px, 5px) rotate(-195deg);
}

.l-header__hamburger.active .l-header__hamburger-line:nth-child(2) {
	background-color: #E15C45;
	transform: translate(0px, -2px) rotate(195deg);
}

.l-header__hamburger.active .l-header__hamburger-text {
	color: #E15C45;
}

/* 春バージョン - ハンバーガーメニュー */
.l-header--spring .l-header__hamburger {
	background-color: #D05E7D;
}
.l-header--spring .l-header__hamburger.active,
.l-header--summer .l-header__hamburger.active {
	background-color: transparent;
}
.l-header--spring .l-header__hamburger.active .l-header__hamburger-line:nth-child(1),
.l-header--spring .l-header__hamburger.active .l-header__hamburger-line:nth-child(2) {
	background-color: #D05E7D;
}
.l-header--spring .l-header__hamburger.active .l-header__hamburger-text {
	color: #D05E7D;
}

/* 夏バージョン - ハンバーガーメニュー */
.l-header--summer .l-header__hamburger {
	background-color: #53ACBC;
}
.l-header--summer .l-header__hamburger.active .l-header__hamburger-line:nth-child(1),
.l-header--summer .l-header__hamburger.active .l-header__hamburger-line:nth-child(2) {
	background-color: #53ACBC;
}
.l-header--summer .l-header__hamburger.active .l-header__hamburger-text {
	color: #53ACBC;
}

/* ===== SP版ナビゲーション（フルスクリーン） ===== */
.l-header__nav.sp {
	position: fixed;
	top: -120%;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	overflow-y: auto;
	height: calc(100vh - 61px);
	z-index: 999;
	background-color: #fff;
	padding: 124px 20px 20px;
	transition: all 0.3s ease-out;
}

.l-header__nav.sp.active {
	opacity: 1;
	visibility: visible;
	z-index: 999;
	min-height: 100svh;
	margin: 0 auto;
	top: 0;
	transition: all 0.5s ease-out;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	min-width: 100%;
	background-color: #FFF9F1;
	padding: 12px 20px;
}

/* ===== PC版ナビゲーション（モーダル） ===== */
.l-header__nav.pc {
	display: none;
	position: fixed;
	top: 43.5%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.9);
	width: 90%;
	max-width: 780px;
	max-height: 80vh;
	z-index: 1001;
	background-color: #fff;
	border-radius: 30px;
	/* padding: 40px 30px; */
	box-shadow: 0 00px 10px rgba(203, 203, 203, 0.16);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out, transform 0.3s ease-out;
}

.l-header__nav.pc.active {
	display: block;
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%) scale(1);
}

.l-header__overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
	pointer-events: none;
}

.l-header__overlay.sp {
	background-color: transparent;
}

.l-header__overlay.pc {
	background-color: rgba(255, 249, 241, 1);
	opacity: 0.7;
}

.l-header__nav.sp.active ~ .l-header__overlay.sp {
	opacity: 1;
	visibility: visible;
}

.l-header__overlay.pc.active {
	display: block;
	opacity: 0.7;
	visibility: visible;
	pointer-events: auto;
}

.l-header__nav-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
	padding-right: 22px;
}

.l-header__modal-logo {
	display: flex;
	align-items: center;
    text-decoration: none;
    flex-shrink: 0;
    transition: all .3s ease-out;
	background-color: #E15C45;
    border-radius: 30px 0 30px 0;
    padding: 17px 25px;
    position: relative;
    z-index: 1000;
    width: 132px;
}
.l-header__modal-logo-text {
	text-transform: uppercase;
	color: #fff;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
}
.l-header__nav-header-contact-button {
	padding: 14px 35px;
	background-color: #fff;
	border: 2px solid #E25C45;
	border-radius: 30px;
	color: #E15C45;
	text-decoration: none;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0;
	text-align: center;
	transition: all 0.3s ease-out;
	cursor: pointer;
	transform: translateY(13px);
}
@media (any-hover: hover) {
	.l-header__nav-header-contact-button:hover {
		background-color: #E15C45;
		color: #fff;
	}
}

/* 春バージョン - モーダルロゴとボタン */
.l-header--spring .l-header__modal-logo {
	background-color: #D05E7D;
}
.l-header--spring .l-header__nav-header-contact-button {
	border-color: #D05E7D;
	color: #D05E7D;
}
@media (any-hover: hover) {
	.l-header--spring .l-header__nav-header-contact-button:hover {
		background-color: #D05E7D;
		color: #fff;
	}
}

/* 夏バージョン - モーダルロゴとボタン */
.l-header--summer .l-header__modal-logo {
	background-color: #53ACBC;
}
.l-header--summer .l-header__nav-header-contact-button {
	border-color: #53ACBC;
	color: #53ACBC;
}
@media (any-hover: hover) {
	.l-header--summer .l-header__nav-header-contact-button:hover {
		background-color: #53ACBC;
		color: #fff;
	}
}

/* PC版：モーダルクローズボタン */
.l-header__modal-close {
	position: absolute;
    top: -80px;
    right: 2px;
	background-color: #FFFFFF;
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	cursor: pointer;
	padding: 8px;
	z-index: 1002;
	transition: all 0.3s ease-out;
}

.l-header__modal-close-line {
	display: block;
	width: 27px;
	height: 2.35px;
	background-color: #E15C45;
	transform: translate(9px, 5px) rotate(-195deg);
}

.l-header__modal-close-line:nth-child(2) {
	background-color: #E15C45;
	transform: translate(8px, 3px) rotate(195deg);
}
.l-header__modal-close-text {
	text-transform: uppercase;
	color: #E15C45;
	font-family: "Lato", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	position: relative;
	bottom: -9px;
	transition: all 0.3s ease-out;
}

@media (any-hover: hover) {
	.l-header__modal-close:hover .l-header__modal-close-icon {
		color: #E15C45;
	}
}

/* 春バージョン - モーダルクローズボタン */
.l-header--spring .l-header__modal-close-line {
	background-color: #D05E7D;
}
.l-header--spring .l-header__modal-close-text {
	color: #D05E7D;
}

/* 夏バージョン - モーダルクローズボタン */
.l-header--summer .l-header__modal-close-line {
	background-color: #53ACBC;
}
.l-header--summer .l-header__modal-close-text {
	color: #53ACBC;
}

.l-header__nav-list {
	list-style: none;
	margin: 0;
	padding: 0 20px;
}

.l-header__nav.sp.active .l-header__nav-list {
	padding: 114px 20px 0;
	border-radius: 30px;
	background-color: #fff;
}

.l-header__nav.pc .l-header__nav-list {
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 27px;
	margin-bottom: 40px;
	padding: 0 35px;
}

.l-header__nav-item {
	border-top: 1px solid #e5e6e7;
	margin: 0;
	position: relative;
}

.l-header__nav .l-header__nav-item:nth-child(6),
.l-header__nav .l-header__nav-item:nth-child(7),
.l-header__nav .l-header__nav-item:nth-child(8){
	border-bottom: 1px solid #e5e6e7;
}

.l-header__nav-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17.5px 0;
	text-decoration: none;
	color: #141429;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	transition: opacity 0.3s ease-out;
}

.l-header__nav-link::after {
	content: '';
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    max-width: 16px;
    width: 100%;
    height: initial;
    aspect-ratio: 15 / 14;
	background-image: url(../img/icon_arrow_b.svg);
}

.l-header__nav-item--legal {
	border: none;
}

.l-header__nav-item--legal .l-header__nav-link::after {
	display: none;
}

.l-header__nav-item--legal .l-header__nav-link{
	justify-content: center;
	color: #E15C45;
	padding: 0;
	border-bottom: 1px solid #E15C45;
	width: fit-content;
	margin: 0 auto 5px;
}

/* 春バージョン - 法的リンク */
.l-header--spring .l-header__nav-item--legal .l-header__nav-link {
	color: #D05E7D;
	border-bottom-color: #D05E7D;
}

/* 夏バージョン - 法的リンク */
.l-header--summer .l-header__nav-item--legal .l-header__nav-link {
	color: #53ACBC;
	border-bottom-color: #53ACBC;
}
.l-header__nav-item--legal:last-of-type .l-header__nav-link{
	margin-bottom: 10px;
}

.l-header__nav-item:nth-child(10) .l-header__nav-link {
	margin-top: 28px;
}


.l-header__nav-footer-list {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0 35px;
}

.l-header__copyright {
	font-family: "Lato", sans-serif;
	text-transform: uppercase;
	font-size: 1.3rem;
	color: #141429;
	opacity: 0.4;
	display: block;
	text-align: center;
	padding: 26px 26px 12px;
}
.l-header__nav.pc .l-header__copyright {
    flex: 1;
	padding: 0;
	text-align: right;
	transform: translate(-8px, 7px);
}

/* ===== レスポンシブ ===== */
@media (min-width: 768px) {
	.l-header__inner {
		padding: 20px 40px;
	}

	/* PC版：お問い合わせボタンを表示 */
	.l-header__contact-button.pc {
		display: inline-block;
	}

	/* PC版：オーバーレイ表示 */
	.l-header__overlay.pc {
		display: block;
	}

	/* PC版：ナビゲーションリンクのスタイル調整 */
	.l-header__nav.pc .l-header__nav-link {
		padding: 18px 0;
	}
	.l-header__nav.pc .l-header__nav-item--legal .l-header__nav-link {
		padding: 0;
	}

	/* SP版は非表示 */
	.l-header__nav.sp {
		display: none;
	}
}

/* ===== ボタンコンポーネント ===== */

.c-button {
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all 0.3s ease-out;
	font-weight: 700;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	border-radius: 12px;
	max-width: 350px;
	width: 100%;
	margin: 0 auto;
	padding: 10.5px 9px 10.5px 14px;
}

.c-button__text {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0;
	transition: all 0.3s ease-out;
}

.c-button__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	padding: 16px 13px;
	transition: all 0.7s ease-out;
}

.c-button__icon img {
	width: 16px;
	height: auto;
	display: block;
}

/* プライマリボタン（お知らせの「もっと見る」） */
.c-button--primary {
	background-color: #E15C45;
}

.c-button--primary .c-button__icon {
	background-color: #FF8357;
}

@media (any-hover: hover) {
	.c-button--primary:hover {
		background-color: #fff;
		outline: 2px solid #E15C45;
	}

	.c-button--primary:hover .c-button__text {
		color: #E15C45;
	}
}

/* セカンダリボタン（ABOUTの「はじめての方へ」） */
.c-button--secondary {
	background-color: #242639;
}

.c-button--secondary .c-button__icon {
	background-color: #141429;
}

@media (any-hover: hover) {
	.c-button--secondary:hover {
		background-color: #fff;
		outline: 2px solid #141429;
	}

	.c-button--secondary:hover .c-button__text {
		color: #141429;
	}
}

/* ターシャリ色分けバリエーション */
.c-button--tertiary-pink {
	background-color: #D05E7D;
}

.c-button--tertiary-pink .c-button__icon {
	background-color: #E88DA6;
}

@media (any-hover: hover) {
	.c-button--tertiary-pink:hover {
		background-color: #fff;
		outline: 2px solid #D05E7D;
	}
	.c-button--tertiary-pink:hover .c-button__text {
		color: #D05E7D;
	}
}

.c-button--tertiary-teal {
	background-color: #5CC3B2;
}

.c-button--tertiary-teal .c-button__icon {
	background-color: #89D5C9;
}

@media (any-hover: hover) {
	.c-button--tertiary-teal:hover {
		background-color:#fff;
		outline: 2px solid #5CC3B2;
	}

	.c-button--tertiary-teal:hover .c-button__text {
		color: #5CC3B2;
	}
}
.c-button--tertiary-green {
	background-color: #97B745;
}

.c-button--tertiary-green .c-button__icon {
	background-color: #ADC965;
}

@media (any-hover: hover) {
	.c-button--tertiary-green:hover {
		background-color: #fff;
		outline: 2px solid #97B745;
	}

	.c-button--tertiary-green:hover .c-button__text {
		color: #97B745;
	}
}
.c-button--tertiary-summer {
	background-color: #53ACBC;
}

.c-button--tertiary-summer .c-button__icon {
	background-color: #FAC172;
}

@media (any-hover: hover) {
	.c-button--tertiary-summer:hover {
		background-color: #fff;
		outline: 2px solid #53ACBC;
	}

	.c-button--tertiary-summer:hover .c-button__text {
		color: #53ACBC;
	}
}

/* ===== 無料体験レッスン ===== */

.p-trial {
	padding: 44px 0 0;
	background-color: #fff;
}

.p-trial__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}
.p-trial__content {
	padding: 30px;
	border-radius: 10px;
	position: relative;
}
.p-trial__content::after {
	content: "";
	position: absolute;
	top: -20px;
    right: -5px;
    max-width: 115px;
	width: 100%;
	height: initial;
	aspect-ratio: 106/110;
	background-image: url(../img/section_totrial.svg);
	background-size: cover;
	background-repeat: no-repeat;
}

.p-trial__content--creamm {
	background-color: #FFF9F1;
}
.p-trial__content--light {
	background-color: #fff;
}

.p-trial__title {
	color: #E15C45;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-size: 2.4rem;
	line-height: 1.45;
	letter-spacing: 0;
	margin: 0;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
}

.p-trial__text {
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0;
	color: #141429;
	margin: 0;
	margin-bottom: 20px;
}

/* ===== シーズナルクラス ===== */

.p-seasonal {
	padding: 28px 0 45px;
	background-color: #fff;
}

.p-seasonal__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}


.p-seasonal__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 29px;
	max-width: 780px;
	margin: 0 auto;
	padding: 0;
}

.p-seasonal__card {
	border-radius: 30px;
	overflow: hidden;
	transition: transform 0.3s ease;
	box-shadow: 0px 0px 10px rgba(203, 203, 203, 0.16);
}

.p-seasonal__card:hover {
	transform: translateY(-8px);
}

/* 春期講習 - ピンク */
.p-seasonal__card--spring {
	background-color: #F5CBD6;
}

/* 夏期講習 - 青緑 */
.p-seasonal__card--summer {
	background-color: #89D5C9;
}

.p-seasonal__card-link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
	padding: 18px;
}

.p-seasonal__card-image {
	display: block;
	width: 100%;
	aspect-ratio: 313 / 219;
	border-radius: 13px 13px 0 0;
	overflow: hidden;
	margin-bottom: 18px;
}

.p-seasonal__card-photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.p-seasonal__card-name {
	color: #141429;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.45;
	margin: 0;
	margin-bottom: 7px;
	position: relative;
}

.p-seasonal__card-name::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
    max-width: 20px;
    width: 100%;
    height: initial;
	aspect-ratio: 20/20;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16.269 15.175'%3E%3Cpath d='M18.485,24.852l6.45-6.5a1.03,1.03,0,0,0,0-1.518l-6.45-6.5a1.138,1.138,0,0,0-1.463-.108,1.03,1.03,0,0,0-.108,1.626L21.575,16.5H10.084a1.084,1.084,0,1,0,0,2.168H21.575l-4.661,4.661a1.03,1.03,0,0,0,.108,1.626,1.138,1.138,0,0,0,1.463-.108Z' transform='translate(-9 -10.001)'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16.269 15.175'%3E%3Cpath d='M18.485,24.852l6.45-6.5a1.03,1.03,0,0,0,0-1.518l-6.45-6.5a1.138,1.138,0,0,0-1.463-.108,1.03,1.03,0,0,0-.108,1.626L21.575,16.5H10.084a1.084,1.084,0,1,0,0,2.168H21.575l-4.661,4.661a1.03,1.03,0,0,0,.108,1.626,1.138,1.138,0,0,0,1.463-.108Z' transform='translate(-9 -10.001)'/%3E%3C/svg%3E");
	background-color: #D05E7D;
}

.p-seasonal__card--summer .p-seasonal__card-name::after{
	background-color: #3193A5;
}

/* ===== レスポンシブ ===== */
/* タブレット以上（769px以上） */
@media (min-width: 769px) {
	.p-seasonal {
		padding: 38px 0 97px;
	}
	.p-seasonal__cards {
		gap: 40px;
	}
}

/* ===== フッター ===== */

.l-footer {
	background-color: #FFF9F1;
	margin-top: -39px;
	padding: 47px 0 0;
	clip-path: ellipse(215% 100% at 50% 100%);
	position: relative;
	z-index: 10;
}

.l-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.l-footer__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	width: fit-content;
    margin: 0 auto 38px;
	transition: all .3s ease-out;
}

.l-footer__logo-text {
    text-transform: uppercase;
    color: #e07856;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.l-footer__nav-list {
	list-style: none;
	margin: 0;
    padding: 0;
}

.l-footer__nav-item {
    border-top: 1px solid #e5e6e7;
    margin: 0;
    position: relative;
}

.l-footer__nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17.5px 0;
    text-decoration: none;
    color: #141429;
    font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    transition: all 0.3s ease-out;
}
@media (any-hover: hover) {
	.l-footer__nav-link:hover {
		opacity: 0.7;
	}
}
.l-footer__nav-link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    max-width: 16px;
    width: 100%;
    height: initial;
    aspect-ratio: 15 / 14;
    background-image: url(../img/icon_arrow_b.svg);
}
.l-footer__legal-list {
	margin: 0;
	padding: 23px 0 0;
	list-style: none;
}
.l-footer__legal-item:first-child {
	display: none;
}
.l-footer__legal-link {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #E15C45;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    transition: all 0.3s ease-out;
    padding: 0;
    border-bottom: 1px solid #E15C45;
    width: fit-content;
    margin: 0 auto 5px;
}
@media (any-hover: hover) {
	.l-footer__legal-link:hover {
		opacity: 0.7;
	}
}

.l-footer__copyright {
	margin: 0 ;
	padding: 19px 0 7px;
}
.l-footer__copyright small {
	text-transform: uppercase;
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-size: 1.3rem;
    color: #141429;
    opacity: 0.4;
    display: block;
    text-align: center;
}
/* ===== レスポンシブ ===== */
/* タブレット以上（769px以上） */
@media (min-width: 769px) {
	.l-footer {
		margin-top: -130px;
		clip-path: ellipse(69% 100% at 50% 100%);
	}
	.l-footer__nav {
		display: flex;
		justify-content: center;
		gap: 55px;
		margin-bottom: 20px;
	}
	.l-footer__nav-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 27px;
		max-width: 530px;
		flex: 1;
	}
	.l-footer__nav-item:nth-child(2) {
		order: 3;
	}
	.l-footer__nav-item:nth-child(3) {
		order: 6;
	}
	.l-footer__nav-item:nth-child(4) {
		order: 1;
	}
	.l-footer__nav-item:nth-child(5) {
		order: 4;
	}
	.l-footer__nav-item:nth-child(6) {
		order: 7;
	}
	.l-footer__nav-item:nth-child(7) {
		order: 2;
	}
	.l-footer__nav-item:nth-child(8) {
		order: 5;
	}
	.l-footer__nav-item:nth-child(3),
	.l-footer__nav-item:nth-child(6),
	.l-footer__nav-item:nth-child(8){
		border-bottom: 1px solid #e5e6e7;
	}
	.l-footer__nav-item:nth-child(9) {
		display: none;
	}

	.l-footer__legal-list {
		padding-top: 4px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.l-footer__legal-item:first-child {
		display: inline;
	}
	.l-footer__contact-link {
		display: block;
		margin-bottom: 18px;
		padding: 13px 47px;
		background-color: #fff;
		border: 2px solid #E25C45;
		border-radius: 30px;
		color: #E15C45;
		text-decoration: none;
		font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
		font-weight: 500;
		font-size: 1.6rem;
		letter-spacing: 0;
		text-align: center;
		transition: all 0.3s ease-out;
		cursor: pointer;
		transition: all 0.3s ease-out;
	}
	@media (any-hover: hover) {
		.l-footer__contact-link:hover {
			background-color: #E15C45;
			color: #fff;
		}
	}
}

/* ===== パンくずリスト ===== */

.breadcrumb-list {
	list-style: none;
	margin: 0;
	padding: 19px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.breadcrumb-item {
	color: #141429;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.6;
	display: flex;
    gap: 6px;
}

.breadcrumb-link {
	color: #141429;
	opacity: 0.65;
	text-decoration: none;
    border-bottom: 1px solid;
}

.breadcrumb-separator {
	position: relative;
}

.breadcrumb-separator::before {
	content: "";
	display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #141429;
    border-bottom: 1px solid #141429;
    transform: rotate(-45deg);
}

/* ===== コースカード共通スタイル ===== */

.p-course__card {
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0px 0px 10px rgba(203, 203, 203, 0.16);
	transition: all .3s ease-out;
}

.p-course__card-link {
	text-decoration: none;
	padding: 15px 14px 23px;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
}

@media (any-hover: hover) {
	.p-course__card:hover {
		opacity: 0.7;
	}
}

.p-course__card-image {
	width: 100%;
	height: auto;
	aspect-ratio: 314/219;
	overflow: hidden;
	border-radius: 10px;
	background-color: #f0f0f0;
	margin-bottom: 18px;
}

.p-course__card-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.p-course__card-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #e0e0e0;
	color: #999;
	font-size: 1.6rem;
}

.p-course__card-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.p-course__card-title {
	color: #FF8357;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.4;
	margin: 0 0 11px 0;
}

.p-course__card-title-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	position: relative;
	padding-right: 40px;
}

.p-course__card-title-main {
	font-size: 1.8rem;
	display: block;
}

.p-course__card-title-sub {
	font-size: 2.2rem;
	display: block;
}

.p-course__card-text {
	color: #141429;
	font-family: "Source Han Sans JP", "源ノ角ゴシック JP", sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0;
	margin: 0 0 auto 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* コースカード色分け - グリッド用（border + background） */
.p-course__card--childrens-english {
	border: 4px solid #FF8357;
	background-color: #FFF9F1;
}
.p-course__card--adult-english {
	border: 4px solid #ADC965;
	background-color: #F5F5F5;
}
.p-course__card--family-english {
	border: 4px solid #FAC172;
	background-color: #FFF9F1;
}
.p-course__card--one-on-one-english {
	border: 4px solid #89D5C9;
	background-color: #F5F5F5;
}
.p-course__card--other-language {
	border: 4px solid #E15C45;
	background-color: #FFF9F1;
}
.p-course__card--ticket-system {
	border: 4px solid #D05E7D;
	background-color: #F5F5F5;
}
.p-course__card--baby-class {
	border: 4px solid #5698FF;
	background-color: #FFF9F1;
}
.p-course__card--senior-class {
	border: 4px solid #53ACBC;
	background-color: #F5F5F5;
}
.p-course__card--kodomo {
	border: 4px solid #D05E7D;
	background-color: #FFF9F1;
}
.p-course__card--kodomoeikyoushitsu {
	border: 4px solid #D05E7D;
	background-color: #FFF9F1;
}
.p-course__card--manuzuwoman {
	border: 4px solid #5CC3B2;
	background-color: #F5F5F5;
}
.p-course__card--otona {
	border: 4px solid #5CC3B2;
	background-color: #F5F5F5;
}
.p-course__card--hoka {
	border: 4px solid #97B745;
	background-color: #FFF9F1;
}
.p-course__card--hokakogo {
	border: 4px solid #97B745;
	background-color: #FFF9F1;
}

/* コースカードタイトル色分け */
.p-course__card-title-text--childrens-english {
	color: #FF8357;
}
.p-course__card-title-text--adult-english {
	color: #ADC965;
}
.p-course__card-title-text--family-english {
	color: #F2AE51;
}
.p-course__card-title-text--one-on-one-english {
	color: #60C6B6;
}
.p-course__card-title-text--other-language {
	color: #E15C45;
}
.p-course__card-title-text--ticket-system {
	color: #D05E7D;
}
.p-course__card-title-text--baby-class {
	color: #5698FF;
}
.p-course__card-title-text--senior-class {
	color: #53ACBC;
}
.p-course__card-title-text--kodomo {
	color: #D05E7D;
}
.p-course__card-title-text--kodomoeikyoushitsu {
	color: #D05E7D;
}
.p-course__card-title-text--manuzuwoman {
	color: #5CC3B2;
}
.p-course__card-title-text--otona {
	color: #5CC3B2;
}
.p-course__card-title-text--hoka {
	color: #97B745;
}
.p-course__card-title-text--hokakogo {
	color: #97B745;
}

/* コースカード title-text 矢印装飾 */
.p-course__card-title-text::after {
	content: '';
	position: absolute;
    right: 1px;
    top: 46%;
    transform: translateY(-50%);
    max-width: 36px;
    width: 100%;
    height: initial;
    border-radius: 8px;
    aspect-ratio: 36 / 35;
    background-color: #FF8357;
    background-image: url(../img/icon_arrow_w.svg);
    background-size: 1.6rem;
    background-position: center;
    background-repeat: no-repeat;
}
.p-course__card-title-text--adult-english::after {
	background-color: #ADC965;
}
.p-course__card-title-text--family-english::after {
	background-color: #F2AE51;
}
.p-course__card-title-text--one-on-one-english::after {
	background-color: #60C6B6;
}
.p-course__card-title-text--other-language::after {
	background-color: #E15C45;
}
.p-course__card-title-text--ticket-system::after {
	background-color: #D05E7D;
}
.p-course__card-title-text--baby-class::after {
	background-color: #5698FF;
}
.p-course__card-title-text--senior-class::after {
	background-color: #53ACBC;
}
.p-course__card-title-text--kodomo::after {
	background-color: #D05E7D;
}
.p-course__card-title-text--kodomoeikyoushitsu::after {
	background-color: #D05E7D;
}
.p-course__card-title-text--manuzuwoman::after {
	background-color: #5CC3B2;
}
.p-course__card-title-text--otona::after {
	background-color: #5CC3B2;
}
.p-course__card-title-text--hoka::after {
	background-color: #97B745;
}
.p-course__card-title-text--hokakogo::after {
	background-color: #97B745;
} 