/**リセット**************************/
/* ==========================================
   WordPress Gutenberg CSS Reset
========================================== */

/* ブロックの基本余白をリセット */
.entry-content :where(
    .wp-block-group,
    .wp-block-columns,
    .wp-block-column,
    .wp-block-cover,
    .wp-block-media-text,
    .wp-block-image,
    .wp-block-heading,
    .wp-block-paragraph,
    .wp-block-buttons,
    .wp-block-button,
    .wp-block-list,
    .wp-block-table,
    .wp-block-separator,
    .wp-block-spacer
) {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* Gutenbergが設定するブロック間の余白を解除 */
.entry-content :where(.is-layout-flow, .is-layout-constrained) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* コンテンツ幅の制限を解除 */
.entry-content :where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none;
}

/* カラムの余白 */
.entry-content .wp-block-columns {
    margin-bottom: 0;
}

/* 画像の余白 */
.entry-content .wp-block-image {
    margin: 0;
}

/* 画像下の余白 */
.entry-content .wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* figureの余白 */
.entry-content figure {
    margin: 0;
}

/* ボタンの余白 */
.entry-content .wp-block-buttons {
    margin: 0;
}

/* グループブロックの余白 */
.entry-content .wp-block-group {
    margin: 0;
}

/* テーブルの余白 */
.entry-content .wp-block-table {
    margin: 0;
}

/* 区切り線 */
.entry-content .wp-block-separator {
    margin: 0;
}

/* Gutenbergのデフォルトpaddingを解除 */
.entry-content :where(.wp-block-group, .wp-block-columns) {
    padding: 0;
}
section.junior-hero > .wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained{
	width: 100% !important;
}
figure.wp-block-image.size-full{
	width: 100% !important;
}
figure.wp-block-image.size-full img{
	width: 100% !important;	
}
/**************************/
.site-header__buttons a:last-child{
	display: none !important;
}


:root {
  --green: #075b48;
  --deep: #103c34;
  --gold: #c2a35c;
  --cream: #f5f2e8;
  --ink: #28312e;
  --line: #d8ddd9;
}

/* ========================================
   ジュニアスクール ヒーロー
======================================== */

.junior-hero {
    --junior-gold: #c2a35c;

    position: relative;
    display: grid;
    place-items: center;

    width: 100%;
    height: 630px;
    min-height: 630px;

    margin: 0;
    padding: 0;

    overflow: hidden;
    color: #fff;
    isolation: isolate;
}

/* WordPressグループ内部 */
.junior-hero > .wp-block-group__inner-container {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   背景画像
======================================== */

.junior-hero figure.wp-block-image {
    position: absolute;
    inset: 0;
    z-index: -2;

    width: 100%;
    height: 100%;

    max-width: none;
    margin: 0;
    padding: 0;
}

.junior-hero figure.wp-block-image img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: none;
    object-fit: cover;
    object-position: center;
}

/* ========================================
   背景グラデーション
======================================== */

.junior-hero .shade {
    position: absolute;
    inset: 0;
    z-index: -1;

    background: linear-gradient(
        90deg,
        rgba(6, 36, 30, 0.84),
        rgba(6, 36, 30, 0.28) 64%,
        rgba(6, 36, 30, 0.08)
    );

    pointer-events: none;
}

/* ========================================
   テキストエリア
======================================== */

.junior-hero .hero-copy {
    position: relative;
    z-index: 1;

    width: min(1080px, calc(100% - 48px));
    max-width: none;

    margin: auto;
    padding: 0;

    color: #fff;
    text-align: left;
}

/* スクール名 */
.junior-hero .hero-school-name {
    margin: 0;
    padding: 0;

    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.14em;
}

/* ========================================
   メインタイトル
======================================== */

.junior-hero .hero-copy h1 {
    margin: 10px 0 24px;
    padding: 0;

    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 52px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: normal;
    text-align: left;
}

/* ========================================
   サブタイトル
======================================== */

.junior-hero .hero-copy h2 {
    margin: 0 0 30px;
    padding: 0;

    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: normal;
    text-align: left;
}

.junior-hero .hero-copy h2 span {
    color: inherit;
}

/* ========================================
   体験レッスンボタン
======================================== */

.junior-hero .button.gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 58px;
    padding: 12px 34px;

    background: var(--junior-gold);
    color: #fff;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;

    border: none;
    border-radius: 0;

    transition: opacity 0.3s ease;
}

.junior-hero .button.gold:hover {
    opacity: 0.85;
}

/* ========================================
   ボタン下の注意書き
======================================== */

.junior-hero .hero-copy small {
    display: block;

    margin-top: 9px;

    color: #fff;
    font-size: 13px;
    line-height: 1.6;
}

/* ========================================
   スマートフォン
======================================== */

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

    .junior-hero {
        height: 600px;
        min-height: 600px;
    }

    /* 背景画像 */
    .junior-hero figure.wp-block-image img {
        object-position: center;
    }

    /* スマホ用グラデーション */
    .junior-hero .shade {
        background: linear-gradient(
            rgba(5, 35, 29, 0.55),
            rgba(5, 35, 29, 0.86)
        );
    }

    /* テキスト */
    .junior-hero .hero-copy {
        width: calc(100% - 40px);
        text-align: center;
    }

    .junior-hero .hero-school-name {
        font-size: 14px;
        text-align: center;
    }

    /* メインタイトル */
    .junior-hero .hero-copy h1 {
        font-size: 35px;
        line-height: 1.45;
        text-align: center;
    }

    /* サブタイトル */
    .junior-hero .hero-copy h2 {
        font-size: 18px;
        line-height: 1.7;
        text-align: center;
    }

    /* ボタン */
    .junior-hero .button.gold {
        max-width: 100%;
        padding: 12px 24px;
        font-size: 15px;
    }

    /* 注意書き */
    .junior-hero .hero-copy small {
        font-size: 12px;
        text-align: center;
    }
}









/* ========================================
   WHY HIGASHIYAMA
   WordPressブロックエディタ対応
======================================== */

/* セクション全体 */
.section.intro {
    width: min(1040px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
    padding: 90px 0;
    text-align: center;
	background: none !important;
}

/* WordPress内部コンテナ */
.section.intro > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* 英語タイトル */
.section.intro .en {
    margin: 0 0 5px;
    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    letter-spacing: 0.18em;
}

/* 日本語タイトル */
.section.intro .why-ja {
    margin: 2px 0 10px !important;
    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

/* メイン見出し */
.section.intro h2 {
    margin: 0 0 25px;
    padding: 0;
    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.55;
    text-align: center;
}

.section.intro h2 span {
    display: inline-block;
}

/* ========================================
   3つの理由
======================================== */

.section.intro .reason-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 36px 0 30px;
    text-align: left;
}

/* カード */
.section.intro .reason-points article {
    min-width: 0;
    padding: 28px 24px;
    border: 1px solid #d8ddd9;
    border-top: 4px solid #075b48;
    background: #fff;
}

/* 番号 */
.section.intro .reason-points span {
    font-family: Georgia, serif;
    color: #c2a35c;
    font-size: 14px;
}

/* 見出し */
.section.intro .reason-points h3 {
    margin: 7px 0 12px;
    padding: 0;
    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
}

/* 説明文 */
.section.intro .reason-points p {
    margin: 0;
    padding: 0;
    color: #28312e;
    font-size: 14px;
    line-height: 1.8;
}

/* ========================================
   メインコート画像
======================================== */

/* WordPress figure */
.section.intro figure.court-main {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* 画像 */
.section.intro figure.court-main img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 500px;
    max-width: none;
    object-fit: cover;
}

/* ========================================
   キッズギャラリー
======================================== */

/* WordPressグループ */
.section.intro .kids-gallery {
    display: block;
    width: 100%;
    max-width: none;
    margin: 14px 0 0;
    padding: 0;
}

/* WordPress内部コンテナ */
.section.intro .kids-gallery > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* figure */
.section.intro .kids-gallery figure.wp-block-image {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/* 画像 */
.section.intro .kids-gallery figure.wp-block-image img {
    display: block;
    width: 100%;
    height: 260px;
    max-width: none;
    object-fit: cover;
}

/* ========================================
   スマートフォン
======================================== */

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

    .section.intro {
        padding: 65px 0;
    }

    .section.intro .why-ja {
        font-size: 17px;
    }

    .section.intro h2 {
        font-size: 28px;
    }

    /* 理由カード */
    .section.intro .reason-points {
        grid-template-columns: 1fr;
        margin-top: 26px;
    }

    .section.intro .reason-points article {
        padding: 23px 20px;
    }

    /* ギャラリー */
    .section.intro .kids-gallery > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
    }

    .section.intro .kids-gallery figure.wp-block-image img {
        height: auto;
    }
}






/* ========================================
   FOR YOUR CHILD
   お子さまに合う入口から
======================================== */

/* セクション全体 */
.section.entrances {
    width: min(1040px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
    padding: 90px 0;
}

/* WordPress内部コンテナ */
.section.entrances > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   英語タイトル
======================================== */

.section.entrances .en {
    margin: 0 0 5px;
    padding: 0;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.18em;
}

/* ========================================
   メインタイトル
======================================== */

/* WordPressでpタグになっている見出し */
.section.entrances > .wp-block-group__inner-container > p.wp-block-paragraph:not(.en) {
    margin: 0 0 25px;
    padding: 0;

    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.55;
}

/* h2タグで登録し直した場合にも対応 */
.section.entrances h2 {
    margin: 0 0 25px;
    padding: 0;

    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.55;
}

/* ========================================
   2つの入口カード
======================================== */

.section.entrances .two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    width: 100%;
    margin: 0;
    padding: 0;
}

/* 各カード */
.section.entrances .two article {
    min-width: 0;
    padding: 34px;

    background: #fff;
    border: 1px solid #d8ddd9;
}

/* 番号 */
.section.entrances .two article > span {
    display: block;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

/* カード見出し */
.section.entrances .two h3 {
    margin: 10px 0 15px;
    padding: 0;

    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.55;
}

/* 説明文 */
.section.entrances .two p {
    margin: 0 0 20px;
    padding: 0;

    color: #28312e;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
}

/* 詳細リンク */
.section.entrances .two a {
    display: inline-block;

    color: #075b48;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;

    border-bottom: 1px solid currentColor;

    transition: opacity 0.3s ease;
}

.section.entrances .two a:hover {
    opacity: 0.7;
}

/* ========================================
   アカデミークラス
======================================== */

.section.entrances .academy-entrance {
    display: grid;
    grid-template-columns: 0.8fr 1.4fr;
    gap: 18px 42px;
    align-items: center;

    width: 100%;
    margin: 18px 0 0;
    padding: 34px 38px;

    background: #103c34;
    color: #fff;
}

/* 左側：英語ラベル */
.section.entrances .academy-entrance > div:first-child > span {
    display: block;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.12em;
}

/* 左側：サブタイトル */
.section.entrances .academy-entrance > div:first-child > p {
    margin: 6px 0 0;
    padding: 0;

    color: #d8c78f;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
}

/* 左側：クラス名 */
.section.entrances .academy-entrance h3 {
    margin: 2px 0 0;
    padding: 0;

    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.55;
}

/* ========================================
   アカデミー右側
======================================== */

.section.entrances .academy-copy {
    min-width: 0;
}

/* 説明文 */
.section.entrances .academy-copy p {
    margin: 0 0 12px;
    padding: 0;

    color: #d8c78f;
    font-size: 16px;
    line-height: 1.8;
}

/* 詳細リンク */
.section.entrances .academy-copy a {
    display: inline-block;

    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;

    border-bottom: 1px solid #c2a35c;

    transition: opacity 0.3s ease;
}

.section.entrances .academy-copy a:hover {
    opacity: 0.7;
}

/* ========================================
   アカデミー注意書き
======================================== */

.section.entrances .academy-entrance .academy-note {
    grid-column: 1 / -1;

    margin: 0;
    padding: 0;

    color: #fff;
    font-size: 14px;
    line-height: 1.7;
}

/* ========================================
   スマートフォン
======================================== */

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

    /* セクション */
    .section.entrances {
        padding: 65px 0;
    }

    /* メイン見出し */
    .section.entrances > .wp-block-group__inner-container > p.wp-block-paragraph:not(.en),
    .section.entrances h2 {
        font-size: 28px;
    }

    /* 入口カードを縦並び */
    .section.entrances .two {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .section.entrances .two article {
        padding: 28px 24px;
    }

    .section.entrances .two h3 {
        font-size: 22px;
    }

    .section.entrances .two p {
        font-size: 14px;
    }

    /* アカデミー */
    .section.entrances .academy-entrance {
        grid-template-columns: 1fr;
        gap: 16px;

        padding: 28px 22px;
    }

    .section.entrances .academy-entrance h3 {
        font-size: 24px;
    }

    .section.entrances .academy-copy p {
        font-size: 15px;
    }

    .section.entrances .academy-entrance .academy-note {
        grid-column: 1;
        font-size: 13px;
    }
}









/* ========================================
   COACHING PHILOSOPHY
   指導理念
======================================== */

/* セクション全体 */
.philosophy {
    background: #103c34 !important;
    color: #fff;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 80px max(30px, calc((100% - 1040px) / 2));
}

/* ========================================
   WordPress内部コンテナ
======================================== */

/* 2カラムレイアウト */
.philosophy > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 70px;
    align-items: start;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}

/* 左右のグループ */
.philosophy > .wp-block-group__inner-container > .wp-block-group {
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* 左右グループの内部コンテナ */
.philosophy > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   左側：英語タイトル
======================================== */

.philosophy .en {
    margin: 0 0 5px;
    padding: 0;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.18em;
}

/* ========================================
   左側：メイン見出し
======================================== */

.philosophy h2 {
    margin: 8px 0;
    padding: 0;

    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: normal;
    text-align: left;
}

/* ========================================
   左側：写真
======================================== */

/* WordPress画像ブロック */
.philosophy figure.philosophy-photo {
    display: block;

    width: 100%;
    max-width: none;

    margin: 24px 0 0;
    padding: 0;

    border: 5px solid rgba(255, 255, 255, 0.13);
    box-sizing: border-box;
}

/* 画像 */
.philosophy figure.philosophy-photo img {
    display: block;

    width: 100%;
    height: auto;
    max-width: none;

    object-fit: cover;
}

/* ========================================
   右側：説明文
======================================== */

.philosophy > .wp-block-group__inner-container > .wp-block-group:nth-child(2) p {
    margin: 0 0 20px;
    padding: 0;

    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    text-align: left;
}

/* 最後の段落 */
.philosophy > .wp-block-group__inner-container > .wp-block-group:nth-child(2) p:last-child {
    margin-bottom: 0;
}

/* ========================================
   スマートフォン
======================================== */

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

    /* セクション全体 */
    .philosophy {
        padding: 60px 25px;
    }

    /* 1カラムに変更 */
    .philosophy > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* メイン見出し */
    .philosophy h2 {
        font-size: 29px;
        line-height: 1.6;
    }

    /* 写真 */
    .philosophy figure.philosophy-photo {
        margin-top: 18px;
    }

    /* 説明文 */
    .philosophy > .wp-block-group__inner-container > .wp-block-group:nth-child(2) p {
        font-size: 15px;
        line-height: 1.9;
    }
}









/* ========================================
   THE VIEW AHEAD
   成長の先にある景色
======================================== */

/* セクション全体 */
.section.future {
    width: min(1040px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
    padding: 90px 0;
}

/* WordPress内部コンテナ */
.section.future > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   英語タイトル
======================================== */

.section.future .en {
    margin: 0 0 5px;
    padding: 0;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.18em;
}

/* ========================================
   メインタイトル
======================================== */

.section.future h2 {
    margin: 0 0 25px;
    padding: 0;

    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.55;
}

/* ========================================
   選手紹介カード
======================================== */

/* stories全体 */
.section.future .stories {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* WordPress内部コンテナを2列に */
.section.future .stories > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   各カード
======================================== */

/* 外側article */
.section.future .stories > .wp-block-group__inner-container > article {
    display: block;
    min-width: 0;

    margin: 0;
    padding: 0;

    background: #fff;
    border: 1px solid #d8ddd9;
    overflow: hidden;
}

/* カード内部コンテナ */
.section.future .stories > .wp-block-group__inner-container > article > .wp-block-group__inner-container {
    display: block;

    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   カード画像
======================================== */

/* WordPress画像ブロック */
.section.future .stories figure.wp-block-image {
    display: block;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}

/* 画像 */
.section.future .stories figure.wp-block-image img {
    display: block;

    width: 100%;
    height: 320px;
    max-width: none;

    object-fit: cover;
    object-position: center;
}

/* ========================================
   カード内テキストエリア
======================================== */

/* WordPressで追加された内側article */
.section.future .stories > .wp-block-group__inner-container > article > .wp-block-group__inner-container > article {
    display: block;

    margin: 0;
    padding: 24px;

    border: none;
    background: transparent;
}

/* テキストエリア内部コンテナ */
.section.future .stories > .wp-block-group__inner-container > article > .wp-block-group__inner-container > article > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   英語ラベル
   span → em 対応
======================================== */

/* emを囲む段落 */
.section.future .stories article article p:has(> em) {
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

/* WORLD STAGE / CHALLENGE */
.section.future .stories article article p > em {
    display: inline-block;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: 0.12em;
}

/* ========================================
   選手紹介タイトル
======================================== */

.section.future .stories article article h3 {
    margin: 8px 0 12px;
    padding: 0;

    color: #103c34;
    font-family: "Noto Serif JP", serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.55;
}

/* ========================================
   説明文
======================================== */

.section.future .stories article article p:not(:has(> em)) {
    margin: 0;
    padding: 0;

    color: #28312e;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
}

/* ========================================
   スマートフォン
======================================== */

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

    /* セクション */
    .section.future {
        padding: 65px 0;
    }

    /* メイン見出し */
    .section.future h2 {
        font-size: 28px;
    }

    /* カードを縦並び */
    .section.future .stories > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    /* 画像高さを自動調整 */
    .section.future .stories figure.wp-block-image img {
        height: auto;
    }

    /* テキストエリア */
    .section.future .stories > .wp-block-group__inner-container > article > .wp-block-group__inner-container > article {
        padding: 24px;
    }

    /* 選手紹介タイトル */
    .section.future .stories article article h3 {
        font-size: 21px;
    }

    /* 説明文 */
    .section.future .stories article article p:not(:has(> em)) {
        font-size: 14px;
    }
}









/* ========================================
   MEMBER'S VOICE
   スクール会員さまの声
======================================== */

/* セクション全体 */
.voice {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 70px 0 70px;
    background: #eef2ef !important;
    color: #003c35 !important;
}

/* WordPress外側の内部コンテナ */
.voice > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* コンテンツ幅 */
.voice .section {
    width: min(800px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

/* WordPress内側の内部コンテナ */
.voice .section > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   英語タイトル
======================================== */

.voice .en {
    margin: 0 0 10px;
    padding: 0;

    color: #c49c51;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.18em;
    text-align: center;
}

/* ========================================
   日本語タイトル
======================================== */

.voice h2 {
    margin: 0 0 35px;
    padding: 0;

    color: #003c35;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
}

/* ========================================
   会員さまの声
======================================== */

.voice blockquote {
    display: block;
    position: relative;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin: 0 0 25px;
    padding: 32px 30px;
    background: transparent;
    border: none;
    border-top: 1px solid #c49c51;
    border-bottom: 1px solid #c49c51;
    border-radius: 0;
    box-shadow: none;
    color: #003c35;
    font-family: "Noto Serif JP", serif;
    font-size: 26px;
    font-weight: 400;
    font-style: normal;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: center;
}

/* テーマ側の装飾を解除 */
.voice blockquote::before,
.voice blockquote::after {
    content: none;
}

/* 最後の口コミ */
.voice blockquote:last-child {
    margin-bottom: 0;
}

/* ========================================
   スマートフォン
======================================== */

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

    .voice {
        padding: 50px 0;
    }

    .voice .section {
        width: calc(100% - 40px);
    }

    .voice .en {
        font-size: 12px;
    }

    .voice h2 {
        margin-bottom: 30px;
        font-size: 27px;
    }

    .voice blockquote {
        margin-bottom: 20px;
        padding: 25px 10px;

        font-size: 18px;
        line-height: 1.9;
        letter-spacing: 0.02em;
    }
}










/* ========================================
   FAQ
   体験前によくあるご質問
======================================== */

/* セクション全体 */
.section.faq {
    width: min(940px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto;
    padding: 90px 0;
    background: #fff;
}

/* WordPress内部コンテナ */
.section.faq > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ========================================
   英語タイトル
======================================== */

.section.faq .en {
    margin: 0 0 5px;
    padding: 0;

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.18em;
    text-align: left;
}

/* ========================================
   日本語タイトル
======================================== */

.section.faq h2 {
    margin: 0 0 35px;
    padding: 0;

    color: #003c35;
    font-family: "Noto Serif JP", serif;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.55;
    text-align: left;
}

/* ========================================
   FAQ全体
======================================== */

.section.faq details.wp-block-details {
    display: block;
    width: 100%;
    max-width: none;
    box-sizing: border-box;

    margin: 0;
    padding: 0;

    background: transparent;
    border: none;
    border-bottom: 1px solid #d5dbd8;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

/* ========================================
   質問部分
======================================== */

.section.faq details.wp-block-details summary {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 69px;
    margin: 0;
    padding: 18px 15px 18px 50px;

    color: #003c35;
    background: transparent;

    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.7;
    text-align: left;

    cursor: pointer;
    list-style: none;
    border: none;
}

/* ブラウザ標準のマーカーを削除 */
.section.faq details.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.section.faq details.wp-block-details summary::marker {
    content: "";
}

/* ========================================
   ゴールドのQ
======================================== */

.section.faq details.wp-block-details summary::before {
    content: "Q";

    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);

    color: #c2a35c;
    font-family: Georgia, serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 1;
}

/* ========================================
   開閉三角アイコン
======================================== */

/* 閉じているとき：右向き */
.section.faq details.wp-block-details summary::after {
    content: "";

    position: static;
    display: inline-block;
    flex: 0 0 auto;
    order: -1;

    width: 0;
    height: 0;
    margin: 0 9px 0 0;

    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #003c35;

    transform: none;
}

/* 開いているとき：下向き */
.section.faq details.wp-block-details[open] summary::after {
    content: "";

    border-top: 7px solid #003c35;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-bottom: 0;
}

/* ========================================
   回答部分
======================================== */

.section.faq details.wp-block-details > p {
    margin: 0;
    padding: 0 20px 24px 50px;

    color: #28312e;
    background: transparent;

    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    text-align: left;

    border: none;
}

/* ========================================
   スマートフォン
======================================== */

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

    .section.faq {
        padding: 65px 0;
    }

    .section.faq h2 {
        margin-bottom: 25px;
        font-size: 28px;
    }

    /* 質問 */
    .section.faq details.wp-block-details summary {
        min-height: 65px;
        padding: 16px 5px 16px 43px;

        font-size: 14px;
        line-height: 1.7;
    }

    /* Q */
    .section.faq details.wp-block-details summary::before {
        left: 5px;
        font-size: 25px;
    }

    /* 三角アイコン */
    .section.faq details.wp-block-details summary::after {
        margin-right: 8px;
    }

    /* 回答 */
    .section.faq details.wp-block-details > p {
        padding: 0 10px 22px 43px;

        font-size: 14px;
        line-height: 1.9;
    }
}










/* ========================================
   TRIAL
   体験レッスンへのご案内
======================================== */

/* セクション全体 */
.trial {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 85px 20px;

    background: #103c34 !important;
    color: #fff;
    text-align: center;
}

/* WordPress内部コンテナ */
.trial > .wp-block-group__inner-container {
    width: min(1040px, 100%);
    max-width: none;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

/* ========================================
   サブタイトル
======================================== */

.trial > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    padding: 0;

    color: #d8c78f;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

/* ========================================
   メイン見出し
======================================== */

.trial h2 {
    margin: 0 0 25px;
    padding: 0;

    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.55;
    text-align: center;
}

/* ========================================
   ご相談案内
======================================== */

.trial .consult-note {
    max-width: 640px;
    margin: 20px auto 0;
    padding: 0;

    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
}

/* ========================================
   電話ボタンエリア
======================================== */

.trial .actions {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    margin: 30px auto 0;
    padding: 0;
}

/* 電話ボタン */
.trial .actions .phone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    gap: 5px;

    width: min(100%, 420px);
    min-width: 0;
    box-sizing: border-box;

    margin: 0;
    padding: 18px 25px;

    background: #fff;
    border: 2px solid #c2a35c;
    border-radius: 4px;

    color: #075b48;
    text-align: center;
    text-decoration: none;

    transition: background 0.3s ease,
                transform 0.3s ease;
}

/* ホバー */
.trial .actions .phone:hover {
    background: #f5f2e8;
    transform: translateY(-2px);
}

/* ========================================
   電話ボタン内テキスト
======================================== */

/* ご相談・お申込み */
.trial .actions .phone .phone-label {
    display: block;

    color: #075b48;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

/* 電話番号 */
.trial .actions .phone strong {
    display: block;

    color: #075b48;
    font-family: Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

/* お電話で受付 */
.trial .actions .phone small {
    display: block;

    color: #075b48;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

/* ========================================
   体験レッスン注意事項
======================================== */

.trial .trial-note {
    margin: 22px 0 0;
    padding: 0;

    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
}

/* ========================================
   スクール紹介詳細リンク
======================================== */

.trial .official {
    display: inline-block;

    margin: 20px auto 0;
    padding: 0 0 4px;

    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
    text-decoration: none;

    border-bottom: 1px solid #c2a35c;

    transition: opacity 0.3s ease;
}

.trial .official:hover {
    opacity: 0.7;
}

/* ========================================
   スマートフォン
======================================== */

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

    /* セクション */
    .trial {
        padding: 65px 20px;
    }

    /* サブタイトル */
    .trial > .wp-block-group__inner-container > p:first-child {
        font-size: 17px;
    }

    /* メイン見出し */
    .trial h2 {
        margin-bottom: 20px;
        font-size: 29px;
        line-height: 1.6;
    }

    /* ご相談案内 */
    .trial .consult-note {
        font-size: 15px;
        line-height: 1.8;
    }

    /* 電話ボタン */
    .trial .actions {
        margin-top: 25px;
    }

    .trial .actions .phone {
        width: 100%;
        padding: 18px 15px;
    }

    /* ボタンラベル */
    .trial .actions .phone .phone-label {
        font-size: 15px;
    }

    /* 電話番号 */
    .trial .actions .phone strong {
        font-size: 28px;
    }

    /* お電話で受付 */
    .trial .actions .phone small {
        font-size: 13px;
    }

    /* 注意事項 */
    .trial .trial-note {
        font-size: 13px;
        line-height: 1.8;
    }

    /* 詳細リンク */
    .trial .official {
        font-size: 14px;
    }
	
	.footer-fix a{
		width: 100% !important;
		display: none;
	}
	.footer-fix a.footer-button02{
		display: none;
	}
}