/* ============================================
   デザインリファクタ - v4 統合版（!important 最小化）

   フェーズ 1（見出し統一）+ フェーズ 2（配色統一）を統合。
   `!important` は **Emanon のインライン style=""` または CSS 変数を上書きする場合のみ** 使用、
   それ以外は higher-specificity で対応。各 !important にコメント付与。

   参照:
     - designs/style-guide.md
     - designs/heading-proposals-2026-04-23/option-e-deep-dive.html

   対象: `.l-content__main` 配下のみ（サイドバー・ヘッダー除外）
   除外: voices ショートコード

   作成: 2026-04-23 / 更新: 2026-05-15 (v4.0.0: FA CDN 廃止、SVG mask data URI 内蔵)

   --- アイコンライセンス ---
   このファイルに data URI で埋め込まれた SVG アイコンは Font Awesome Free 6.5.2 由来。
     Icons: CC BY 4.0 (https://fontawesome.com/license/free)
     Code: MIT License
     Copyright 2024 Fonticons, Inc.
   オリジナル SVG は /assets/icons/ 配下に保管。アイコン追加手順は
   designs/icons.md 参照。
   ============================================ */


/* =============================================================
   ページ別カラーパレットは css/palette.css に分離（デザイントークン）。
   このファイルの装飾ルールは palette.css 由来の CSS 変数
   （--seijuji-accent / -marker / -tint / -tint-border）を var() 参照する。
   palette.css は functions.php で seijuji.css より前に enqueue 済み。
   ============================================================= */

/* =============================================================
   Part A: 見出しスタイル（案 E-γ + δ-1）
   ============================================================= */

/* ---- Emanon wrapper の中央寄せマージン解除 ----
   Emanon の `.epb-advance-headling__text-wrapper` は
   `margin: 0 auto; width: fit-content;` で中央寄せされる。
   これを解除して親幅いっぱいに広げる。
   higher-specificity（l-content__main プレフィックス）で !important 不要。 */

.l-content__main .epb-advance-headling__text-wrapper.is-style-epb-headling-default,
.l-content__main .epb-advance-headling__text-wrapper.is-style-epb-headling-border-left-5,
.l-content__main .epb-advanced-headling__inner:not(.is-style-epb-headling-lines-on) {
    margin-right: 0;
    margin-bottom: 1em;
    margin-left: 0;
    width: auto;
    text-align: left;
}

/* block 要素側の alignment クラス（epb-alignment-center 等）も打ち消し */
.l-content__main .wp-block-emanon-premium-blocks-headling:not(.is-style-epb-headling-lines-on) {
    text-align: left;
}

/* ---- 新ブロック epb-advanced-headling の flex → block 差し戻し ----
   community 等で使われる新ブロック epb-advanced-headling は
   `.epb-advanced-headling { display: flex }` / `.epb-advanced-headling__inner { display: flex; flex-direction: column }`
   となっており、子の h2 は flex item として blockify され、`display: inline !important` を指定しても
   USED display が block になって padding-box が親幅いっぱい（viewport 幅）に広がる。
   結果、linear-gradient マーカーが文字幅でなく viewport 幅まで伸びる（前セッションで未解決だった bug の正体）。

   対象: epb-has-sub-text-bottom / epb-has-sub-text-top（flex-direction: column 系、block 化しても見た目は変わらない）
   除外: epb-has-sub-text-left / right（flex-direction: row、block 化すると sub-text レイアウト崩壊）、
         lines-on（装飾維持のため触らない）

   PC では text が 1 行に収まるため見た目は壊れないが、内部的には block 幅のマーカー。
   SP では text が折返すので明確に viewport 幅になり、user が気付いた。
   どちらの環境でも正しい見た目にするため flex → block に差し戻す。 */

.l-content__main .epb-advanced-headling:not(.is-style-epb-headling-lines-on),
.l-content__main .epb-advanced-headling__inner.epb-has-sub-text-bottom:not(.is-style-epb-headling-lines-on),
.l-content__main .epb-advanced-headling__inner.epb-has-sub-text-top:not(.is-style-epb-headling-lines-on) {
    display: block !important;                    /* flex → block、h2 を本来の inline 幅にする */
}


/* ---- H2 本文内のベーススタイル ----
   display: inline + box-decoration-break: clone で、改行時に各行ごと
   マーカーが文字幅にフィットする（inline-block だと行末まで伸びてしまう）。
   縦 margin は inline には効かないため wrapper 側 (.epb-*-text-wrapper) に配置済。
   font-size/color !important: Emanon H2 のインライン `style="color:#333333;line-height:1.6..."` を上書きするため */

.l-content__main h2.epb-advance-headling__text,
.l-content__main h2.epb-advanced-headling__text {
    display: inline !important;                   /* テキスト行にフィット、改行時も文字幅 */
    font-size: 26px !important;
    font-weight: 700;
    color: #333 !important;
    line-height: 1.8;                              /* マーカー領域の高さ確保 */
    padding: 0.1em 4px;                            /* 縦 padding は clone で各行に適用 */
    border-left: none !important;                  /* Emanon の is-style-epb-headling-border-left 由来の青棒を解除 */
    /* 下 40% だけマーカーの見た目は linear-gradient で描画、各ページで色指定 */
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* H2 アイコン ::before（共通属性、mask-image は各ページで指定）
   SVG mask 方式: フォント不要、background-color: currentColor で色は color から継承 */
.l-content__main h2.epb-advance-headling__text::before,
.l-content__main h2.epb-advanced-headling__text::before {
    content: "";
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    margin-right: 10px;
    vertical-align: -0.08em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


/* ---- H3 本文内（δ-1: アイコンのみ、マーカーなし） ---- */

.l-content__main h3.epb-advance-headling__text,
.l-content__main h3.epb-advanced-headling__text {
    display: block;
    text-align: left;
    font-size: 19px !important;                  /* inline --epb-font-pc 上書き */
    font-weight: 700;
    color: #333 !important;                       /* inline color 上書き */
    line-height: 1.5;
    margin: 0 0 0.6em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* H3 の border-left は Emanon のまま（user 指定: そのまま） */
}

/* H3 アイコン ::before（共通: SVG mask 方式、全 H3 で circle） */
.l-content__main h3.epb-advance-headling__text::before,
.l-content__main h3.epb-advanced-headling__text::before {
    content: "";
    display: inline-block;
    width: 0.55em;
    height: 0.55em;
    margin-right: 10px;
    vertical-align: 0.15em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


/* ---- H1 ページタイトル（article-title + archive-title） ----
   ネイティブ H1 は Emanon ヘッダー part が <header class="article-header"> 内に描画する。
   この header は content-page.php 内＝<main class="l-content__main"> の内側にあるため、
   下記 .l-content__main h1.article-title の page-id 別装飾がネイティブ H1 に直接当たる。
   （以前は emanon_hide_title 等で H1 を抑止し seijuji-core が本文に注入していた＝Route B。
     2026-06-02 に抑止設定を解除してネイティブ H1 を正規表示する Route A へ移行、注入は廃止。）*/

.l-content__main h1.article-title,
.l-content__main h1.archive-title {
    display: inline !important;                  /* テキスト行にフィット、改行時も文字幅 */
    font-size: 30px;
    font-weight: 700;
    color: #333;
    line-height: 1.8;
    padding: 0.1em 4px;
    /* 下 40% だけマーカーの見た目は linear-gradient で描画、各ページで色指定 */
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* H1 アイコン ::before（共通: SVG mask 方式） */
.l-content__main h1.article-title::before,
.l-content__main h1.archive-title::before {
    content: "";
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    margin-right: 12px;
    vertical-align: -0.08em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}


/* ---- ページ別アイコン + マーカー色 ----
   背景 / color は palette.css の page-id 別 var() を参照（2026-06-08 hex 直書き → var() 化、
   palette と heading の二重持ち解消。surroundings(27) / voices(2225) はこの var() 化で
   見た目補正＝heading 黄緑→palette 常緑/ターコイズに切り替わる）。
   background !important: Emanon の wrapper に `--epb-headling-background-color` が設定される場合があるため
   color !important は付けない（var() で十分。インライン color 上書きが必要になったら再検討） */

/* TOP (ID=16): house + ピーチ */
body.page-id-16 .l-content__main h2.epb-advance-headling__text,
body.page-id-16 .l-content__main h2.epb-advanced-headling__text,
body.page-id-16 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-16 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-16 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-16 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-16 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-16 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 進化し続ける保育環境 (ID=27): tree + ミント */
body.page-id-27 .l-content__main h2.epb-advance-headling__text,
body.page-id-27 .l-content__main h2.epb-advanced-headling__text,
body.page-id-27 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-27 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-27 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-27 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-27 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-27 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 園の生活 (ID=30): seedling + ピーチ */
body.page-id-30 .l-content__main h2.epb-advance-headling__text,
body.page-id-30 .l-content__main h2.epb-advanced-headling__text,
body.page-id-30 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-30 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-30 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-30 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-30 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-30 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 子育て支援 (ID=33): heart + ピンク */
body.page-id-33 .l-content__main h2.epb-advance-headling__text,
body.page-id-33 .l-content__main h2.epb-advanced-headling__text,
body.page-id-33 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-33 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-33 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-33 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-33 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-33 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 入園案内 (ID=179): school + アプリコット */
body.page-id-179 .l-content__main h2.epb-advance-headling__text,
body.page-id-179 .l-content__main h2.epb-advanced-headling__text,
body.page-id-179 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-179 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-179 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-179 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H256V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H256V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-179 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-179 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* サイトポリシー (ID=916): shield-halved + 薄黄 */
body.page-id-916 .l-content__main h2.epb-advance-headling__text,
body.page-id-916 .l-content__main h2.epb-advanced-headling__text,
body.page-id-916 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-916 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-916 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-916 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-916 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-916 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 公開情報 (ID=1030): book-open + アプリコット */
body.page-id-1030 .l-content__main h2.epb-advance-headling__text,
body.page-id-1030 .l-content__main h2.epb-advanced-headling__text,
body.page-id-1030 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-1030 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-1030 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-1030 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-1030 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-1030 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* お問い合わせ (ID=1302): envelope + ピーチ */
body.page-id-1302 .l-content__main h2.epb-advance-headling__text,
body.page-id-1302 .l-content__main h2.epb-advanced-headling__text,
body.page-id-1302 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-1302 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-1302 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-1302 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-1302 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-1302 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* お知らせ一覧 (ID=1732): bell + 薄黄
   ※ /info/ は page_for_posts=1732 のため通常ナビゲーションでは body.blog で描画され、
     投稿系 Part（末尾）のサーモンが当たる。この page-id-1732 ルールは dormant
     （直接 ?page_id=1732 等でしか出ない）が、念のため黄色のまま残す。
     body.blog は投稿系 Part でサーモン化したのでこのグループから外した（2026-05-31）。 */
body.page-id-1732 .l-content__main h2.epb-advance-headling__text,
body.page-id-1732 .l-content__main h2.epb-advanced-headling__text,
body.page-id-1732 .l-content__main h1.article-title,
body.page-id-1732 .l-content__main h1.archive-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-1732 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-1732 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-1732 .l-content__main h1.article-title::before,
body.page-id-1732 .l-content__main h1.archive-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-1732 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-1732 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 保護者の声 (ID=2225): comment-dots + ミント */
body.page-id-2225 .l-content__main h2.epb-advance-headling__text,
body.page-id-2225 .l-content__main h2.epb-advanced-headling__text,
body.page-id-2225 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-2225 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-2225 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-2225 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-2225 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-2225 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}

/* 保護者の活動 (ID=2731): hands-holding-child + ミント */
body.page-id-2731 .l-content__main h2.epb-advance-headling__text,
body.page-id-2731 .l-content__main h2.epb-advanced-headling__text,
body.page-id-2731 .l-content__main h1.article-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.page-id-2731 .l-content__main h2.epb-advance-headling__text::before,
body.page-id-2731 .l-content__main h2.epb-advanced-headling__text::before,
body.page-id-2731 .l-content__main h1.article-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z"/></svg>');
    color: var(--seijuji-accent);
}
body.page-id-2731 .l-content__main h3.epb-advance-headling__text::before,
body.page-id-2731 .l-content__main h3.epb-advanced-headling__text::before {
    color: var(--seijuji-accent);
}


/* ---- lines-on スタイルは例外（policy の「サイトポリシー」等） ----
   マーカー・アイコンを適用しない、lines-on 装飾を維持 */

.l-content__main .epb-advance-headling__text-wrapper.is-style-epb-headling-lines-on h2 {
    display: block;
    background: none;
}

.l-content__main .epb-advance-headling__text-wrapper.is-style-epb-headling-lines-on h2::before {
    content: none;
}


/* =============================================================
   Part A-2: core/heading 対応 (Emanon 脱却 Pilot)

   方針:
   - Emanon ブロック → core/heading への段階移行のため、core ブロック class
     (`.wp-block-heading`) に対しても同じ装飾セレクタを並列追加
   - Emanon class セレクタ (epb-advance-headling__text 等) はそのまま残す
     → 移行未済ページとの両立
   - h2 は `display: inline` で扱う:
     * 2 行以上に折り返したときに、各行のマーカーが文字幅にフィットする
       (`display: block + width: fit-content` だと最長行幅まで広がってしまう)
     * Emanon の advanced-headling 構造下で `display: inline` で解決していた
       のと同じ仕組み、core/heading は wrapper がないが直接 inline で動く
   - vertical margin は inline では効かないため、隣接 sibling 側
     (`h2 + *` に margin-top) で間隔確保。h2 の上側余白は別 TODO
   ============================================================= */

.l-content__main h2.wp-block-heading {
    display: inline-block;                        /* マーカー線を文字幅で止めつつ margin-bottom を効かせる (2026-06-09 旧 inline → inline-block) */
    width: fit-content;                           /* 親幅まで伸びず文字幅に収まる */
    font-size: 26px;
    font-weight: 700;
    color: #333;
    /* マーカー色は palette.css のページ別 --seijuji-marker を参照（未定義ページは透明） */
    background: linear-gradient(transparent 60%, var(--seijuji-marker, transparent) 60%);
    line-height: 1.8;                             /* マーカー領域の高さ確保 */
    padding: 0.1em 4px;
    margin-bottom: 1em;                           /* H2 自体が下余白を持つ (下方向統一・例外なし) */
    box-decoration-break: clone;                  /* 複数行に渡る場合、各行に padding/background を適用 */
    -webkit-box-decoration-break: clone;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* core/h2 アイコン ::before（共通: SVG mask 方式）
   色は palette.css のページ別 --seijuji-accent を参照（SVG 形状のみ Part A-2 個別） */
.l-content__main h2.wp-block-heading::before {
    content: "";
    display: inline-block;
    width: 0.85em;
    height: 0.85em;
    margin-right: 10px;
    vertical-align: -0.08em;
    color: var(--seijuji-accent, currentColor);
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* SP: h2 見出しを 22px に縮小 (2026-05-31)
   PC は 26px、SP では見出しが画面に対して大きすぎるため 22px に下げる
   (2026-05-31 user 決定。SP をもっと小さくしたい意向)。
   word-break は親テーマ由来の keep-all を維持 = 日本語は句読点 (・ /（）) で
   折れる (語中で割れない)。長い見出し (例「教育時間・保育時間と…」24 字) が
   3 行に伸びる件は、word-break いじりでなく文言短縮で解決する方針
   (about A 群「セクションごと精査」で見出しを短くする)。 */
@media (max-width: 768px) {
    .l-content__main h2.wp-block-heading {
        font-size: 22px;
    }
}

/* 素 h3 = 文書系の site-wide 標準。アクセント下線 1px は旧 page-33 限定
   (T2 小円 + アクセント下線) を 2026-06-10 user 決定で標準昇格。
   案内系ページの h3 は is-style-seijuji-section (Part U) を class 付与で使う 2 本立て。
   ページ独自 h3 (top の grow__label / news__sub 等) は各自 border-bottom: 0 でオプトアウト */
.l-content__main h3.wp-block-heading {
    display: block;
    text-align: left;
    font-size: 19px;
    font-weight: 700;
    color: #333;
    line-height: 1.5;
    margin: 0 0 0.6em;
    border-bottom: 3px solid var(--seijuji-accent);  /* 2026-06-10 全見出し 3px 統一 (旧 supports 由来は 1px) */
    padding-bottom: 4px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* core/h3 アイコン ::before（共通: circle SVG mask）
   形も色も全ページ共通 → palette.css の --seijuji-accent を参照、個別指定は廃止 */
.l-content__main h3.wp-block-heading::before {
    content: "";
    display: inline-block;
    width: 0.55em;
    height: 0.55em;
    margin-right: 10px;
    vertical-align: 0.15em;
    color: var(--seijuji-accent, currentColor);
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}



/* ---- ページ別アイコン形状 (core/heading h2) ----
   色 (マーカー/アイコン) は palette.css の変数で一元管理。ここに残すのは
   ページ固有の SVG 形状 (h2 アイコン) のみ。h3 アイコンは全ページ共通の
   circle なので個別指定なし。page-33 の h3 アクセント下線もここに同居。 */
/* TOP (ID=16): house + ピーチ */

body.page-id-16 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
}
/* 進化し続ける保育環境 (ID=27): tree + ミント */

body.page-id-27 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
}
/* 園の生活 (ID=30): seedling + ピーチ */

body.page-id-30 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"/></svg>');
}
/* 子育て支援 (ID=33): heart + ピンク */

body.page-id-33 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></svg>');
}
/* (旧 page-33 h3 アクセント下線は素 h3 標準に昇格、Part A-2 L511 付近へ統合 2026-06-10。
   page-id スコープ廃止で box 内 h3 への意図しない適用も解消) */
/* 入園案内 (ID=179): school + アプリコット */

body.page-id-179 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H256V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H256V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z"/></svg>');
}
/* サイトポリシー (ID=916): shield-halved + 薄黄 */

body.page-id-916 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z"/></svg>');
}
/* 公開情報 (ID=1030): book-open + アプリコット */

body.page-id-1030 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"/></svg>');
}
/* お問い合わせ (ID=1302): envelope + ピーチ */

body.page-id-1302 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>');
}
/* お知らせ一覧 (ID=1732): bell + 薄黄 */

body.page-id-1732 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
}
/* 保護者の声 (ID=2225): comment-dots + ミント */

body.page-id-2225 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>');
}
/* 保護者の活動 (ID=2731): hands-holding-child + ミント */

body.page-id-2731 .l-content__main h2.wp-block-heading::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z"/></svg>');
}


/* =============================================================
   Part I: is-style-seijuji-* Block Style Variation 用 CSS

   register_block_style() で登録した variation 装飾:
   - core/button + is-style-seijuji-tel (電話リンクボタン)
   - core/group + is-style-seijuji-box (カード装飾)

   + Emanon の accordion を core/details で代替したときの装飾
   ============================================================= */

/* ---- core/group + is-style-seijuji-box (Emanon の box ブロック相当) ----
   2026-05-26: 背景を固定オフクリーム #FFFBF0 → 半透明白 rgba(255,255,255,0.7) に変更。
   T51 section の page 連動 tint (寒色/暖色問わず) の上で「内側が外側より明るく抜ける」
   一貫規約を実現するため。voices (寒色 tint) Phase 6 で旧固定オフクリームだと
   ターコイズと補色関係で浮く問題が顕在化したのを受けて全 page 規約に統一。
   影は削除 (半透明白が section から自然に浮かび上がる見え方を活かす)。
   border は tint-border に依存しない汎用境界 (白寄り半透明) で section 色に依存しない。 */
.l-content__main .wp-block-group.is-style-seijuji-box {
    background-color: rgba(255, 255, 255, 0.7);     /* 半透明白 70%、下の section tint が薄く透ける */
    border: 1px solid rgba(255, 255, 255, 0.9);      /* 白寄り汎用境界、tint 色に依存しない */
    border-radius: 10px;                              /* 外側 T51 (14px) より一回り小さい内包感 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);       /* 薄影、section 外 (body 白系背景上) でも box の輪郭を保つ */
    padding: 22px 26px;                               /* 中庸 padding (PC) */
    margin: 0 0 var(--seijuji-gap-comp) 0;                                    /* 外側 margin は従来踏襲 */
}
@media (max-width: 700px) {
    .l-content__main .wp-block-group.is-style-seijuji-box {
        padding: 16px 14px;                           /* SP: section padding 20px 18px と二重圧迫しない控えめ */
        border-radius: 8px;
    }
}

/* 旧 is-style-seijuji-box-notice の装飾は plugins/seijuji-core の seijuji/notice block へ移植 (2026-05-25 Phase 4)。
   この variation の CSS はそちらに統合済のため削除。 */

/* 旧 is-style-seijuji-pdf (PDF ボタン) は statement リファクタで `.seijuji-statement-list--pdf__card` 統一意匠に置換、
   使用箇所ゼロにつき 2026-05-27 撤去。register.php の register_block_style 呼び出しも併せて削除。 */

/* ---- core/button + is-style-seijuji-tel (電話リンク用、Pilot 1+2 では未使用、お問い合わせページ移行時用) ---- */
.l-content__main .wp-block-button.is-style-seijuji-tel .wp-block-button__link {
    background: #FFD9C0;
    border: 2px solid #E8956E;
    border-radius: 100px;
    color: #333 !important;
    font-weight: 700;
    padding: 0.6em 1.8em 0.6em 2.6em;
    position: relative;
    text-decoration: none;
    transition: background 0.2s ease;
}
.l-content__main .wp-block-button.is-style-seijuji-tel .wp-block-button__link::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: #E8956E;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
}
.l-content__main .wp-block-button.is-style-seijuji-tel .wp-block-button__link:hover {
    background: #FFC2A2;
}


/* ---- core/details (Emanon の accordion 相当) ----
   palette.css の var() 参照でページ別テーマ色に追従。
   fallback はサイト全体で違和感の出ない無彩色寄りを設定。 */
.l-content__main .wp-block-details {
    background: #fff;                             /* 中身は常に白（読みやすさ優先） */
    border: 1px solid var(--seijuji-tint-border, #ddd); /* 外枠は tint-border（薄アクセント） */
    border-radius: 8px;
    margin-bottom: var(--seijuji-gap-para);
    padding: 0;
    overflow: hidden;                             /* summary の角丸がはみ出すのを防ぐ */
}
.l-content__main .wp-block-details > summary {
    background: var(--seijuji-tint, #f5f5f5);     /* tint = 薄色パネル背景 */
    padding: 14px 44px 14px 18px;                /* 右側にアイコン用余白 */
    cursor: pointer;
    font-weight: 600;
    position: relative;
    list-style: none;
    text-align: left;
    border-left: 4px solid var(--seijuji-accent, #888); /* アクセント縦バー（h3 is-style-seijuji-section と統一感） */
    transition: background-color 0.15s ease;     /* hover/open 切替を滑らかに */
}
.l-content__main .wp-block-details > summary:hover {
    background: var(--seijuji-marker, #eaeaea);   /* hover で marker（中濃度）に */
}
.l-content__main .wp-block-details > summary::-webkit-details-marker {
    display: none;                                /* Webkit のデフォルト三角を消す */
}
.l-content__main .wp-block-details > summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1;
    color: var(--seijuji-accent, #555);           /* +/- もアクセント色で揃える */
}
.l-content__main .wp-block-details[open] > summary::after {
    content: "−";
}
.l-content__main .wp-block-details[open] > summary {
    border-bottom: 1px solid var(--seijuji-tint-border, #eee); /* 開いてる時は本文との境界線 */
}
.l-content__main .wp-block-details > :not(summary) {
    padding: 16px 18px;
}


/* =============================================================
   Part B: カード統一（オフクリーム #FFFBF0 + シャドウ）

   対象: `.wp-block-group.has-background`（policy / community / etc）
   background-color !important: Gutenberg がインライン `style="background-color:..."` を吐くため
   ============================================================= */

.l-content__main .wp-block-group.has-background {
    background-color: #FFFBF0 !important;        /* inline style="background-color:..." 上書き */
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    padding: 24px;
}

/* paragraph レベルの has-background（policy 冒頭の説明文など） */
.l-content__main p.has-background {
    background-color: #FFFBF0 !important;        /* inline style 上書き */
    padding: 16px;
    border-radius: 6px;
}

/* サイドバー widget（カテゴリー / 最近の投稿 / アーカイブ）の装飾は
   Part AL（ファイル末尾）へ移動。クレヨン意匠で目次 widget と統一（2026-06-03）。 */


/* =============================================================
   Part E: 固定（スティッキー）ヘッダーの視認性改善

   Emanon 既定は bg `rgba(255,255,255,0.85)` + text `#f2f2f2`（ほぼ白）で
   白 on 白になって見づらい。bg をオフクリーム寄りで不透明化、text は濃色に。
   ============================================================= */

.l-header-menu-drop,
.l-header-menu-fixed,
.l-header-menu-drop-logo,
.l-header-menu-fixed-logo {
    background-color: rgba(255, 251, 240, 0.95) !important; /* オフクリーム 95% */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;   /* 微かに浮かせる */
}

/* 固定ヘッダー内のメニューテキストは濃色に */
.l-header-menu-drop .header-menu > .menu-item > a,
.l-header-menu-fixed .header-menu > .menu-item > a,
.l-header-menu-drop-logo .header-menu > .menu-item > a,
.l-header-menu-fixed-logo .header-menu > .menu-item > a {
    color: #564646 !important;                   /* 既存サイトの茶色系を踏襲 */
}

/* 固定ヘッダー内のロゴ（site-logo__img-common）は明色デザインで
   薄い背景だと見えないので CSS フィルタで暗反転 */
.l-header-menu-drop .site-logo__img-common,
.l-header-menu-fixed .site-logo__img-common,
.l-header-menu-drop-logo .site-logo__img-common,
.l-header-menu-fixed-logo .site-logo__img-common,
.l-header-menu-drop .site-logo__img,
.l-header-menu-fixed .site-logo__img,
.l-header-menu-drop-logo .site-logo__img,
.l-header-menu-fixed-logo .site-logo__img {
    filter: invert(0.85) brightness(0.4);
}

.l-header-menu-drop .header-menu > .menu-item:hover > a,
.l-header-menu-fixed .header-menu > .menu-item:hover > a,
.l-header-menu-drop-logo .header-menu > .menu-item:hover > a,
.l-header-menu-fixed-logo .header-menu > .menu-item:hover > a,
.l-header-menu-drop .header-menu .current-menu-item:not(.u-smooth-scroll) > a,
.l-header-menu-fixed .header-menu .current-menu-item:not(.u-smooth-scroll) > a,
.l-header-menu-drop-logo .header-menu .current-menu-item:not(.u-smooth-scroll) > a,
.l-header-menu-fixed-logo .header-menu .current-menu-item:not(.u-smooth-scroll) > a {
    color: #E07856 !important;                   /* hover/現在ページはコーラル（ブランド色） */
}


/* =============================================================
   Part F: スクロール時の固定ヘッダー被り防止 + sticky 目次の位置調整

   固定ヘッダー高は 64px + 余白 → 80px を CSS 変数で一元管理。
   - scroll-padding-top: アンカーリンクで飛んだ時、固定ヘッダー下に隠れないように
   - .sidebar-sticky の top: Emanon 既定は `top: 8px`、固定ヘッダー出現時だけ
     `.sticky-menu` で `top: 72px` になる想定だが JS タイミング or クラス付与漏れで
     適用されない。80px 固定で確実に固定ヘッダー下に位置

   admin-bar 表示時（ログイン中ユーザー = 先生・管理者の閲覧用）は、
   WP コアが inline で `.admin-bar .sidebar-sticky { top: 30px }` を
   出力する。我々の `.l-container .sidebar-sticky`（specificity 0,2,0）
   と同点なので後勝ちで WP のインライン (30px) が勝ってしまい、
   先生がログイン中に voices ページを見ると sticky が固定ヘッダーに被る。
   → admin-bar 専用に specificity 0,3,0 のルールを追加して確実に勝つ。
   オフセットは admin-bar 高 32px + 固定ヘッダー余白 80px = 112px。
   ============================================================= */

:root {
    --fixed-header-offset: 80px;
    --admin-bar-height: 32px;
}

html {
    scroll-padding-top: var(--fixed-header-offset);
}

.l-container .sidebar-sticky {
    top: var(--fixed-header-offset);
}

/* admin-bar 表示時の補正（specificity 0,3,0 で WP インライン 0,2,0 に勝つ）*/
.admin-bar .l-container .sidebar-sticky {
    top: calc(var(--fixed-header-offset) + var(--admin-bar-height));
}



/* =============================================================
   Part C: ボタン配色（プライマリ・セカンダリ・ディセーブル）
   ============================================================= */

/* ---- プライマリ（CF7 submit: 「確認」「送信」ボタン） ----
   CF7 のデフォルトボタンはテーマ・ブラウザ依存でスタイルが付くため !important が安全 */

.l-content__main .wpcf7-submit,
.l-content__main form.wpcf7-form input[type="submit"] {
    background: #E07856 !important;                                              /* ベタ塗りオレンジ。マーカー風 linear-gradient はテキストには合うがボタンだと文字が読めなくなるため不採用 */
    border: none !important;
    color: #ffffff !important;
    padding: 12px 36px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 2px 4px rgba(224, 120, 86, 0.25);
}

.l-content__main .wpcf7-submit:hover,
.l-content__main form.wpcf7-form input[type="submit"]:hover {
    background: #D06146 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(224, 120, 86, 0.35);
}


/* ---- セカンダリ（Tel リンク + PDF ダウンロードリンク）----
   Emanon button block はインライン CSS 変数 `--epb-button-bg-color` で色指定、!important 必須
   対象を限定: tel: リンク、.pdf/.PDF リンク */

.l-content__main .epb-btn[href^="tel:"],
.l-content__main .epb-btn[href$=".pdf"],
.l-content__main .epb-btn[href$=".PDF"] {
    --epb-button-bg-color: #7DC6BC !important;   /* inline custom property 上書き */
    --epb-button-border-color: #6BB5AB !important;
    color: #ffffff !important;
}

.l-content__main .epb-btn[href^="tel:"]:hover,
.l-content__main .epb-btn[href$=".pdf"]:hover,
.l-content__main .epb-btn[href$=".PDF"]:hover {
    --epb-button-bg-color: #6BB5AB !important;
}


/* ---- ディセーブル系（ファイル選択ボタン） ---- */

.l-content__main input[type="file"]::-webkit-file-upload-button,
.l-content__main input[type="file"]::file-selector-button {
    background: #E8E8E8 !important;                                              /* ベタ塗りグレー。submit と同じ理由でマーカー風 linear-gradient は不採用 */
    color: #555 !important;
    border: 1px solid #C5C5C5 !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    cursor: pointer;
    margin-right: 8px;
    transition: all 0.2s ease;
}

.l-content__main input[type="file"]::-webkit-file-upload-button:hover,
.l-content__main input[type="file"]::file-selector-button:hover {
    background: #D6D6D6 !important;
}


/* =============================================================
   Part D: フォーム入力欄のフォーカス（コーラルリング）
   CF7/WP 既定の focus 色を上書きするため !important
   ============================================================= */

.l-content__main .wpcf7-form input[type="text"],
.l-content__main .wpcf7-form input[type="email"],
.l-content__main .wpcf7-form input[type="tel"],
.l-content__main .wpcf7-form select,
.l-content__main .wpcf7-form textarea {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.l-content__main .wpcf7-form input[type="text"]:focus,
.l-content__main .wpcf7-form input[type="email"]:focus,
.l-content__main .wpcf7-form input[type="tel"]:focus,
.l-content__main .wpcf7-form select:focus,
.l-content__main .wpcf7-form textarea:focus {
    border-color: #E07856 !important;            /* ブラウザ既定の focus 色上書き */
    box-shadow: 0 0 0 3px rgba(224, 120, 86, 0.15) !important;
    outline: none !important;
}


/* =============================================================
   Part G: 画像角丸 / アーカイブサムネ aspect-ratio 統一

   方針:
   - 本文内画像 (wp-block-image / gallery / media-text) は控えめ
     角丸 8px をグローバル適用、先生が編集画面で何も意識しなくても
     全画像が角丸になる
   - Emanon Premium Blocks の image block style variation
     (is-style-rounded 6px / is-style-image__shadow--rounded 等) は
     `border-radius: 6px !important` で当たるので variation 選択時はそちら優先
   - mask-image 系 variation (is-style-image__circle / balloon / fluid--01〜08)
     は mask 側で形が決まるため border-radius は無効、除外不要
   - archive 一覧のサムネは aspect-ratio 16/9 + object-fit: cover で
     縦横比を揃えて見栄えを統一、border-radius は Emanon の sp-list 既定
     (`3px 0 0 3px` 左サムネ右テキスト前提) を !important で上書きして
     全周 8px に揃える試行版
   - 影は付けない (写真は影で重く見える、カードと違って軽さ優先)
   ============================================================= */

/* 本文内画像 (wp-block-image / gallery / media-text) */
.l-content__main .wp-block-image img,
.l-content__main .wp-block-gallery .wp-block-image img,
.l-content__main .wp-block-media-text__media img {
    border-radius: 8px;
}

/* archive / blog 一覧のサムネ (お知らせ一覧 / カテゴリページ等) */
.l-content__main .post-thumbnail img {
    border-radius: 8px !important;               /* Emanon sp-list 既定 3px 0 0 3px に勝たせる */
    aspect-ratio: 16 / 9;                        /* 縦横比統一 */
    object-fit: cover;                           /* トリミング前提 */
    width: 100%;
    height: auto;
}


/* =============================================================
   Part H: 旧「テーブル盛りデフォルト」 廃止 (2026-05-14)

   かつて variation 未指定の素テーブル全体に「濃ミントヘッダー + 内側 grid +
   外周 outline + 角丸」のグローバル装飾を当てていた (admission の 3 表 / about /
   supports 等で使用)。

   Emanon 脱却プロジェクト (理想形ベース) で各ページのテーブルをページ固有
   class or block style variation で装飾する方針に転換、グローバル「盛り」
   ルールは詳細度争いの原因 (新規 page-id 別装飾と衝突) になるため一旦削除。

   復元が必要な場合は git log を辿る (削除コミットの直前まで line 966-1039)。
   再度装飾を持たせるテーブルは、ページ固有 class または register_block_style
   経由の `is-style-seijuji-table-*` variation 化で対応する。
   ============================================================= */

/* SP 対応は別タスクで議論してから実装する。
   v3.4.3 で `@media (max-width: 600px)` + `overflow-x: auto` + `min-width: 600px`
   を独断追加したが、figure が画面幅を超えてページ全体が水平スクロール (ヘッダー
   メニュー等が画面外に押し出される) する重大な regression を起こしたため撤回。
   横スクロールを入れるなら figure に `max-width: 100%` を明示し、wrapper
   レイアウトの影響範囲を user と合意してからにする。 */


/* =============================================================
   Part K: about ページ - おむつセクション 装飾列

   ページ固有の装飾要素 (花瓶 gif) を 70:30 の右側列に配置する。
   `is-style-*` variation は作らず、ページ固有 className で扱う
   (テンプレ昇格対象外、designs/ には記録しない)。
   ============================================================= */

/* 花瓶 gif を中央配置 + PC 時の最大幅 180px */
.l-content__main .seijuji-about-image--deco-column img {
    max-width: 180px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* 花瓶 gif は PC/SP とも非表示にし、導入 box を全幅化
   (2026-06-01 user 判断: 隣の装飾画像が邪魔。SP は元から非表示)。
   WP core/Emanon 親テーマの `.wp-block-column { display: flex }` が後勝ちで残るため
   !important で強制的に上書き */
.l-content__main .seijuji-about-image--deco-column {
    display: none !important;
}
/* deco 列を消した分、残った導入 box の列を全幅に (右の空白を埋める) */
.l-content__main .wp-block-columns:has(.seijuji-about-image--deco-column) > .wp-block-column:not(.seijuji-about-image--deco-column) {
    flex-basis: 100% !important;
    width: 100% !important;
}

/* おむつ A/B コース columns: PC でも 1 列縦積み (2 行)。
   横 2 列だと box 内の説明・料金表・注意リストが窮屈で折り返しが増えるため、
   全幅 1 列で A コース → B コースの縦積みにして読みやすさを優先
   (2026-05-31 user 決定。SP は元から縦積みなので全幅で統一される)。 */
.l-content__main .seijuji-about-section--diaper__courses {
    display: block;
}
.l-content__main .seijuji-about-section--diaper__courses > .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-bottom: var(--seijuji-gap-comp);
}
.l-content__main .seijuji-about-section--diaper__courses > .wp-block-column:last-child {
    margin-bottom: 0;
}



/* =============================================================
   Part O: 削除済 (旧 is-style-seijuji-alert は plugins/seijuji-core の
   seijuji/alert block へ移植、2026-05-25 Phase 4)
   ============================================================= */


/* =============================================================
   Part P: is-style-seijuji-badge-list (番号バッジリスト)

   アルファベット番号付きの list 装飾。「A コース：東町〜」のような
   「ラベル + 説明」の対応関係を、視覚的なバッジで強調する。
   現状の用途: 園バスのコース (about ページ)。横断パターンに昇格可能。

   ============================================================= */

.l-content__main ul.is-style-seijuji-badge-list {
    list-style: none;
    padding: 0;
    counter-reset: bus-route;
}
.l-content__main ul.is-style-seijuji-badge-list li {
    counter-increment: bus-route;
    padding: 6px 0 6px 86px;
    position: relative;
    line-height: 1.6;
    margin-bottom: 4px;
}
.l-content__main ul.is-style-seijuji-badge-list li::before {
    content: counter(bus-route, upper-alpha) " コース";
    position: absolute;
    left: 0;
    top: 4px;
    background: #E8956E;
    color: #fff;
    padding: 4px 10px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.88em;
    line-height: 1.4;
}


/* =============================================================
   Part Q: is-style-seijuji-box 内の image サイズ抑制

   box 内に大きな写真を入れると主張が強くなりすぎる (PC で画像本来サイズ
   いっぱいに広がる) ため、box 内の image は max-width 500px に制限。
   SP では親列幅にフィットするので自然なサイズ。
   横断パターン: 「カードの中の写真」テンプレ。
   ============================================================= */

.l-content__main .is-style-seijuji-box .wp-block-image {
    max-width: 500px;                            /* PC で写真を主張させすぎない */
    margin-left: auto;
    margin-right: auto;
}
.l-content__main .is-style-seijuji-box .wp-block-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;                          /* box の角丸 8px と統一感 */
}


/* =============================================================
   Part R: seijuji-about-image-mosaic (こひつじ 園庭活動写真 gallery、採用)

   写真 10 枚を CSS Grid で大小ミックスのモザイク配置。
   各写真にキャプション (figcaption) を画像下に表示。
   1 枚目を 2x2、4 枚目を横 2、7・8 枚目を縦 2 で目を惹くリズム。
   面積合計 = 16 で 4 列 × 4 行 (16 セル) をちょうど埋め切る (穴なし)。
   2026-05-31: 旧構成 (7 枚目のみ縦 2、面積 15) は右下 1 枠が穴になっていた
   ため、8 枚目も縦 2 にして穴を解消 (user 決定 = γ 案・最小修正)。 */

.l-content__main .seijuji-about-image-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 140px;
    gap: 8px;
    margin: 0 0 var(--seijuji-gap-comp);              /* フロー層コンポーネント級 (:has 廃止に伴い自前所有、2026-06-11) */
}
.l-content__main .seijuji-about-image-mosaic > figure.wp-block-image {
    margin: 0;
    position: relative;
    overflow: hidden;                            /* caption はみ出し防止 */
    border-radius: 8px;
}
.l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}
.l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(4) {
    grid-column: span 2;
}
.l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(7),
.l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(8) {
    grid-row: span 2;
}
.l-content__main .seijuji-about-image-mosaic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* キャプション: 画像下部に半透明黒オーバーレイで重ねる */
.l-content__main .seijuji-about-image-mosaic figcaption.wp-element-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 8px 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0));
    color: #fff;
    font-size: 0.78em;
    line-height: 1.3;
    font-weight: 600;
    text-align: left;
    pointer-events: none;
}

@media (max-width: 768px) {
    .l-content__main .seijuji-about-image-mosaic {
        grid-template-columns: repeat(2, 1fr);
    }
    .l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(1),
    .l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(4),
    .l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(7),
    .l-content__main .seijuji-about-image-mosaic > figure.wp-block-image:nth-child(8) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =============================================================
   Part AC: こひつじ section 構造 (確定: B-A 縦並び + 丸画像)

   - こひつじの時間 / クラス活動の時間 を縦に並べる (B-A ベース)
   - 各サブセクションの装飾画像 (二人でおきがえ / いす) は 150px 円形 (B-B の丸画像流用)
   - 順序: H3 → 円形画像 → 説明 → 続きコンテンツ
   - PC / SP 共に円形画像表示 (SP 非表示にしない、可愛さ重視)
   ============================================================= */

.l-content__main .seijuji-about-image--circle-deco {
    width: 150px;
    height: 150px;
    margin: 0 auto var(--seijuji-gap-para) auto;                          /* H3 と説明文の間に居心地よく */
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #FFF4E5, #FFE0CC);
    box-shadow: 0 4px 12px rgba(232, 149, 110, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.l-content__main .seijuji-about-image--circle-deco img {
    width: 80%;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Emanon の featured-image ヘッダ（記事冒頭の大きなアイキャッチ）を全ページで抑止

   Emanon 親テーマ header-standard.php は、featured image があり
   `{page|post}_header_style` ≠ display_none のとき
   `.article-header__thumbnail` div を出力する。本サイトのページは
   各々独自デザインで Emanon の自動アイキャッチヘッダを使わず、かつ
   auto-post-thumbnail プラグインが本文先頭画像を featured_media 化
   するため、放置すると本文画像がページ冒頭にバナー表示されうる。
   それをグローバルに抑止する実用ルール（_test-about 専用ではない）。
   - 個別投稿: seijuji-core プラグイン
     (includes/shared/hide-featured-image.php) が中身を空にした残りの
     空 div を、この CSS が畳む
   - 固定ページで featured image が HTML 出力されない件の調査は
     plans/about-通し微調整.md の TODO 参照 */
.article-header__thumbnail {
    display: none !important;
}


/* =============================================================
   Part L: is-style-seijuji-box 内 h3 強調

   box 内のタイトル h3 (Aコース / Bコース 等のラベル) を強調する。
   色は palette.css のページ別 --seijuji-accent を参照（page-id 別の
   override は廃止、一元管理）。下線は currentColor 連動。
   ============================================================= */

.l-content__main .is-style-seijuji-box h3.wp-block-heading {
    font-size: 1.25em;                              /* 通常 h3 より一回り大きく、ラベル感を強める */
    font-weight: 700;
    color: var(--seijuji-accent, #564646);          /* ページのアクセント色（未定義時はサイト文字色） */
    border-bottom: 3px solid currentColor;          /* h3 の色と連動した下線 (2026-06-10 全見出し 3px 統一) */
    padding-bottom: 6px;
    margin-top: 0;                                  /* box 上端ピッタリ配置 */
    margin-bottom: 16px;
}

/* ----------------------------------------------------------------
   案 J-E: ハブ&スポーク風 (時間表中央 + 講師左右配置)
   - PC: 3 columns (左 spoke / 中央 ハブ / 右 spoke)、講師は 2-3 分割。
   - SP: 縦積み (ハブ → 左 spoke → 右 spoke)。
   ---------------------------------------------------------------- */
.l-content__main .seijuji-about-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);        /* PC: 2 列 grid (5 spoke が 2x3 配置、5 番目は左下に単独) */
    gap: 14px;
    margin: 0 0 var(--seijuji-gap-comp) 0;
}
/* .seijuji-about-card-grid__left / __right を「透過」して、子の spoke を直接 grid item に */
.l-content__main .seijuji-about-card-grid__left,
.l-content__main .seijuji-about-card-grid__right {
    display: contents;
}
/* 接続点 ::after は grid 配置では意味がないので常時非表示 */
.l-content__main .seijuji-about-card-grid__left .seijuji-about-card-grid__card::after,
.l-content__main .seijuji-about-card-grid__right .seijuji-about-card-grid__card::after {
    display: none;
}
/* SP では 1 列 */
@media (max-width: 480px) {
    .l-content__main .seijuji-about-card-grid {
        grid-template-columns: 1fr;
    }
}
/* 時間表ハブ (現状: .seijuji-about-card-grid の外で単独配置、講師リストの上に独立して表示)
   枠線 + ラベル + shadow でラップした「時間表」コンテナ */
.l-content__main .seijuji-common-info-frame {
    background: #FFFAF5;
    /* 強調枠 — palette の accent を参照。about は #E8956E（同値）、surroundings は緑。
       2026-05-22 に surroundings §2 園庭マップ流用のため palette 化。フォールバックは
       元の about サーモン #E8956E。box-shadow も color-mix で accent 連動にして
       about の見た目は不変に保つ。 */
    border: 2px solid var(--seijuji-accent, #E8956E);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--seijuji-accent, #E8956E) 22%, transparent);
    text-align: center;
    position: relative;
    max-width: 700px;                             /* 単独配置時の幅制限 */
    margin: 0 auto var(--seijuji-gap-comp) auto;                           /* 中央寄せ + 上下余白 */
}
.l-content__main .seijuji-common-info-frame__label {
    color: var(--seijuji-accent, #E8956E);
    font-weight: 700;
    letter-spacing: 0.06em;
    font-size: 0.92em;
    margin-bottom: 10px;
}
.l-content__main .seijuji-common-info-frame__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}
/* spoke 群 (左右の講師ボックス) */
.l-content__main .seijuji-about-card-grid__left,
.l-content__main .seijuji-about-card-grid__right {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.l-content__main .seijuji-about-card-grid__card {
    background: #fff;
    border: 1px solid #F5D9C5;
    border-radius: 10px;
    padding: 12px 14px;
    box-shadow: 0 2px 6px rgba(86, 70, 70, 0.06);
    position: relative;
}
/* spoke の中央側に小さな丸 = ハブとつながる「接続点」 */
.l-content__main .seijuji-about-card-grid__left .seijuji-about-card-grid__card::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -8px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #E8956E;
    box-shadow: 0 0 0 3px #FFF4E5;
}
.l-content__main .seijuji-about-card-grid__right .seijuji-about-card-grid__card::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #E8956E;
    box-shadow: 0 0 0 3px #FFF4E5;
}
.l-content__main .seijuji-about-card-grid__title {
    font-weight: 700;
    color: #E8956E;
    font-size: 1em;
    margin-bottom: 4px;
}
.l-content__main .seijuji-about-card-grid__desc {
    color: #564646;
    font-size: 0.88em;
    line-height: 1.55;
}


/* =============================================================
   about「放課後のプログラム」セクションの装飾
   （T13 seijuji-about-image--deco-column + T17 seijuji-about-category-* で構成）

   本番 about (id=30) で使用中。直下が装飾画像列 (T13)、続く
   「カテゴリ別グループ」が T17。配色は palette.css のページ別
   --seijuji-accent に連動する。
   SP 余白方針: PC padding 20px / gap 16px → SP padding 12px / gap 8px。
   ============================================================= */


/* -------------------------------------------------------------
   T13 装飾画像列 (seijuji-about-image--deco-column)
   放課後セクションの装飾画像 (むしをかんさつ.png) 列。SP は非表示。
   ------------------------------------------------------------- */

.l-content__main .seijuji-about-image--deco-column img {
    max-width: 200px;                /* むしをかんさつ.png は本番でも 200px */
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .l-content__main .seijuji-about-image--deco-column {
        display: none !important;    /* 狭画面で浮くため非表示 */
    }
}/* =============================================================
   T17 カテゴリ別グループ (seijuji-about-category-*)

   seijuji-about-section--category__group > seijuji-about-section--category (×6) の構成。
   各 section は「h4 カテゴリ名 + seijuji-about-section--category__grid (タイル 1〜3 枚)」。
   about 放課後のプログラムで使用 (バルシューレ・ECC は複数タイル並列、他は 1 タイル)。
   ============================================================= */

.l-content__main .seijuji-about-section--category__group.wp-block-group {
    display: flex;
    flex-direction: column;
    gap: 24px;                                  /* セクション間に余白 */
    margin-top: 0;
}

@media (max-width: 600px) {
    .l-content__main .seijuji-about-section--category__group.wp-block-group {
        gap: 10px;                              /* SP は section 間を詰める (user フィードバック) */
    }
}

/* カテゴリ section: 区切りは h4 のみ、外枠なし
   親 group が flex column のため、is-layout-constrained 由来の
   max-width: 768px + margin: auto が flex item として効いて中央寄せ
   + 細幅化する。width:100% / max-width:none / margin:0 で打ち消す。 */
.l-content__main .seijuji-about-section--category.wp-block-group {
    padding: 0;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* (旧 h4 カテゴリ見出し装飾「左バー + 破線下罫」は 2026-06-10 削除。
   page-30 素 h4 ルール (0,3,2) に specificity 負けして以前から完全 dead だった
   ＝ カテゴリ見出しは実態としてリーフ + 点線で表示されていた。h4 標準の
   全ページ格上げでスコープが (0,2,2) に下がると dead rule が復活してしまうため、
   現状の見た目を保つ意味でも削除。content 側の .seijuji-about-section--category__heading
   class は構造マーカーとして残置) */

/* 配下グリッド: タイル数に応じて 1〜3 列、SP で 1 列 */
.l-content__main .seijuji-about-section--category__grid.wp-block-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);      /* 最大 3 列 (ECC 用) */
    gap: 12px;
}

@media (max-width: 1024px) {
    .l-content__main .seijuji-about-section--category__grid.wp-block-group {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .l-content__main .seijuji-about-section--category__grid.wp-block-group {
        grid-template-columns: 1fr;
        gap: 14px;                               /* SP 縦積み時のタイル間余白。seijuji-about-card-grid (14px) に合わせる (user フィードバック 2026-06-01) */
    }
}

/* タイル: 対象年齢を一番上に強調 (カテゴリは外側 h4 が担当)
   grid item として grid cell いっぱいに広がるよう、constrained 由来の
   max-width: 768px + margin: auto を打ち消す。 */
.l-content__main .seijuji-about-section--category__tile.wp-block-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 18px;
    width: 100%;
    max-width: none;
    margin: 0;                                  /* is-style-seijuji-box の上下 margin:1em を打ち消す。grid item なので間隔は grid gap のみで制御 (Grid はマージン相殺しないため二重に広がる問題対策) */
}

@media (max-width: 600px) {
    .l-content__main .seijuji-about-section--category__tile.wp-block-group {
        padding: 12px 14px;                     /* SP 余白詰める */
        gap: 2px;
    }
}

/* 対象年齢: タイル内の主見出し的扱い (カテゴリは外で表示済み) */
.l-content__main .seijuji-about-section--category__tile .seijuji-about-section--category__tile-age {
    font-size: 1.05em;
    font-weight: 700;
    color: #564646;
    margin: 0;
    line-height: 1.4;
}

.l-content__main .seijuji-about-section--category__tile .seijuji-about-section--category__tile-when {
    font-size: 0.95em;
    color: #E8956E;
    font-weight: 600;
    margin: 0;
}

.l-content__main .seijuji-about-section--category__tile .seijuji-about-section--category__tile-where {
    font-size: 0.85em;
    margin: 0;
}

/* グリッド本体 */
.l-content__main .seijuji-common-card-grid--icon {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));  /* PC: 2 列 */
    gap: 16px;
    margin: 0 0 var(--seijuji-gap-comp);
}
/* カード */
.l-content__main .seijuji-common-card--icon {
    background: #FFFFFF;
    border: 1px solid #F5D9C5;
    border-radius: 10px;
    padding: 18px 20px 20px;
    transition: transform .2s ease, box-shadow .2s ease;
}
/* hover で軽く浮かせる (PC のみ実用、SP は不要なので media 非限定で OK) */
.l-content__main .seijuji-common-card--icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(86, 70, 70, 0.08);
}
/* アイコン円 */
.l-content__main .seijuji-common-card--icon__icon {
    width: 48px;
    height: 48px;
    margin: 0 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFF4E5;                          /* 薄ピーチ */
    border-radius: 50%;
    color: #C76A3E;                              /* SVG stroke="currentColor" */
}
.l-content__main .seijuji-common-card--icon__label {
    margin: 0 0 4px;
    font-weight: 700;
    color: #564646;
    font-size: 1.02em;
}
/* 金額: 数値だけ巨大に */
.l-content__main .seijuji-common-card--icon__amount {
    margin: 0 0 8px;
    color: #564646;
    font-size: 0.95em;
    line-height: 1.3;
}
.l-content__main .seijuji-common-card--icon__amount strong {
    color: #C76A3E;
    font-size: 1.8em;                             /* 数字だけ巨大 */
    font-weight: 800;
    letter-spacing: 0.02em;
    margin: 0 0.1em;
}
.l-content__main .seijuji-common-card--icon__sub {
    font-size: 0.9em;
    color: #8a7a7a;                               /* 副情報はトーンダウン */
}
.l-content__main .seijuji-common-card--icon__amount--variable {
    color: #C76A3E;
    font-size: 1.05em;
    font-weight: 700;
}
.l-content__main .seijuji-common-card--icon__desc {
    margin: 0;
    color: #564646;
    font-size: 0.9em;
    line-height: 1.65;
}
/* カード内 details (教育活動費の長文) */
.l-content__main .seijuji-common-card--icon__more {
    border-top: 1px dashed rgba(232, 149, 110, 0.35);
    padding-top: 6px;
}
.l-content__main .seijuji-common-card--icon__more > summary {
    cursor: pointer;
    color: #C76A3E;
    font-size: 0.88em;
    list-style: none;
    padding-left: 16px;
    position: relative;
}
.l-content__main .seijuji-common-card--icon__more > summary::-webkit-details-marker {
    display: none;
}
.l-content__main .seijuji-common-card--icon__more > summary::before {
    content: "＋";
    position: absolute;
    left: 0;
    top: 0;
    color: #E8956E;
    font-weight: 700;
}
.l-content__main .seijuji-common-card--icon__more[open] > summary::before {
    content: "−";
}
.l-content__main .seijuji-common-card--icon__more > p {
    font-size: 0.85em;
    color: #564646;
    line-height: 1.7;
}

/* SP: 1 列化 + padding 縮小 */
@media (max-width: 768px) {
    .l-content__main .seijuji-common-card-grid--icon {
        grid-template-columns: 1fr;               /* 1 列 */
        gap: 10px;
    }
    .l-content__main .seijuji-common-card--icon {
        padding: 14px 14px 16px;
    }
    .l-content__main .seijuji-common-card--icon__icon {
        width: 40px;
        height: 40px;
    }
    .l-content__main .seijuji-common-card--icon__amount strong {
        font-size: 1.5em;                         /* 巨大数字を控えめに */
    }
}/* SP: 2 列 → 1 列、padding/gap 縮小 */

/* ============================================================
   supports セクション 1「参加人数について」クラス一覧カード + 更新日バッジ
   PC: 3 列カードグリッド / SP: core/columns 自動 stack で 1 列縦カード
   ※ supports 専用、最終的にテンプレ昇格 (T??) 検討
   ============================================================ */

/* 更新日表示 (右寄せ inline、page-id-33 ピンクアクセント、「更新日：YYYY/MM/DD」全体に下線)
   構造: group:flex + paragraph 「更新日：」 + post-date 動的バインド
   group 自体を width:fit-content で縮ませ、margin-right:0 + margin-left:auto で右寄せ
   ※ margin: auto !important は is-layout-constrained の自動生成ルールが当たるため
   明示的に !important で margin-right:0 を勝たせる必要あり (about 時の罠の派生) */
.l-content__main .seijuji-common-update-date {
    align-items: baseline;
    gap: 4px;
    margin-bottom: 0.5em !important;
    margin-right: 0 !important;              /* constrained の auto !important を打ち消し */
    margin-left: auto !important;            /* 右寄せ */
    width: fit-content;
    border-bottom: 3px solid #E48CA8;        /* 下線太め */
    padding-bottom: 2px;
    color: #C66C8C;
    font-weight: 600;
}
.l-content__main .seijuji-common-update-date p {
    margin: 0;
    color: #C66C8C;
}
.l-content__main .seijuji-common-update-date .wp-block-post-date {
    margin: 0;
    color: #C66C8C !important;
    font-size: inherit !important;           /* paragraph と同サイズ */
}
.l-content__main .seijuji-common-update-date .wp-block-post-date a {
    color: #C66C8C !important;
    text-decoration: none;
}


.l-content__main .seijuji-common-card--classs {
    margin: 0 auto var(--seijuji-gap-comp) auto;
    gap: 16px;
    max-width: 900px;                        /* PC で広がりすぎ防止 */
}
.l-content__main .seijuji-common-card--classs .seijuji-common-card--class {
    background: #FFF8FA;
    border: 1.5px solid #E48CA8;             /* page-id-33 アクセントピンク枠 */
    border-radius: 12px;
    padding: 18px 16px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(228, 140, 168, 0.15);
    word-break: keep-all;                    /* 日本語の単語境界で改行、文字内部分断禁止 (狭幅カードで「広/場」分断回避) */
    overflow-wrap: anywhere;                 /* 長い英単語等で overflow したら折り返す (フォールバック) */
}
.l-content__main .seijuji-common-card--classs .seijuji-common-card--class a {
    color: #C66C8C;                          /* アクセント濃いめ */
    font-weight: 700;
    text-decoration: none;
}
.l-content__main .seijuji-common-card--classs .seijuji-common-card--class a:hover {
    text-decoration: underline;
}
.l-content__main .seijuji-common-card--classs .seijuji-common-card--class p {
    margin: 0 0 6px 0;
    line-height: 1.5;
}
.l-content__main .seijuji-common-card--classs .seijuji-common-card--class p:first-child {
    font-size: 0.95em;                       /* タイトル行 (「親子クラス　もこもこ広場」を 199px 利用枠に 1 行収めるため Noto Sans JP の実幅を考慮して 0.95em まで縮小) */
}

/* SP: 縦カードらしく左寄せ + max-width 抑え */
@media (max-width: 768px) {
    .l-content__main .seijuji-common-card--classs {
        max-width: 480px;
        gap: 12px;
    }
    .l-content__main .seijuji-common-card--classs .seijuji-common-card--class {
        text-align: left;
        padding: 16px 18px;
    }
}

/* 旧 .seijuji-section-desc (T23 セクション説明背景ブロック) は 2026-05-27 撤去。
   page tint と外側 T51 (seijuji/section) が同色になり box の凹凸が出ない問題で、
   T3 (is-style-seijuji-box, 半透明白) に統合 (designs/content-block-policy.md T23 廃止注記参照)。
   全 page で使用箇所ゼロ確認のうえ削除。 */

/* ============================================================
   セクション概要 (項目 + 値の縦並びカード、左ピンクバー)
   PC: ラベル inline-block 幅 80px + 値が右に並ぶ
   SP: strong を block 化 → ラベル 1 行目、値 2 行目から
   ※ supports セクション 2 で初採用、今後 他セクションでも流用予定
   ============================================================ */
.l-content__main .seijuji-supports-callout--summary {
    margin: 0 0 var(--seijuji-gap-comp) 0;
}
.l-content__main .seijuji-supports-callout--summary p {
    background: #FFF8FA;
    border-left: 4px solid #E48CA8;
    border-radius: 0 8px 8px 0;
    padding: 10px 14px;
    margin: 0 0 8px 0 !important;
    line-height: 1.6;
}
.l-content__main .seijuji-supports-callout--summary p:last-child {
    margin-bottom: 0 !important;
}
.l-content__main .seijuji-supports-callout--summary p strong {
    color: #C66C8C;
    margin-right: 10px;
    display: inline-block;
    min-width: 80px;
}

/* SP: strong を block 化 (ラベル 1 行目、値 2 行目から、改行ヘンな所で起きないよう) */
@media (max-width: 768px) {
    .l-content__main .seijuji-supports-callout--summary p strong {
        display: block;
        margin-right: 0;
        margin-bottom: 4px;
        min-width: 0;
    }
}

/* 文中インラインアラートアイコン (Emanon `u-inline-icon icon-alert-triangle` の置き換え)
   注意書きの頭に Font Awesome 警告三角 (色 #dc3545 赤) を付ける */
.l-content__main .seijuji-supports-callout--inline-alert {
    color: #dc3545;
    margin-right: 6px;
    font-size: 0.95em;
}

/* ============================================================
   汎用 inline 警告アイコン (.seijuji-common-icon-warn)
   FA Free 6 Solid triangle-exclamation を SVG mask で表示
   ::before ではなく自身が描画要素 (空 span に当てる前提)
   用途:
     - contact §2 「印は必須項目です」本文 (旧 Emanon icomoon icon-alert-circle の置換)
     - contact-form の必須項目印 (旧 `*` テキストの置換)
     - その他 inline で「必須/警告」印を出したい箇所
   配色: currentColor 継承 (親要素の color で制御、デフォルトは #dc3545 系)
   ============================================================ */
.seijuji-common-icon-warn {
    display: inline-block;                          /* inline 配置 */
    width: 1em;                                     /* 親 font-size に追従 */
    height: 1em;
    vertical-align: -0.15em;                        /* テキストベースラインに馴染ませる */
    background-color: currentColor;                 /* 親要素の color を継承 */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* ============================================================
   セクション anchor (不可視 div、ID 受け取り専用)
   `<div id="X" class="seijuji-common-anchor" aria-hidden="true"></div>` 用
   固定ヘッダ分の scroll offset を確保
   ============================================================ */
.l-content__main .seijuji-common-anchor {
    scroll-margin-top: 80px;
}

/* ============================================================
   セクション 3 (もこもこ広場) 1 日の流れ (T27 seijuji-supports-image--timeline-d)
   PC: Grid 2 列 (左 5 行カード + 右 砂遊び画像 縦長スパン)
   SP: 1 列縦、画像非表示
   ※ 2026-05-15 azuke クリーンアップで誤削除 → 復活
   ============================================================ */
.l-content__main .seijuji-supports-image--timeline-d {
    display: grid !important;
    grid-template-columns: 1fr 300px;
    gap: 12px 16px;
    margin: 0 0 var(--seijuji-gap-comp) 0;
}
.l-content__main .seijuji-supports-image--timeline-d > p {
    background: #FFF8FA;
    border-radius: 10px;
    padding: 12px 16px;
    margin: 0 !important;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    line-height: 1.6;
}
.l-content__main .seijuji-supports-image--timeline-d > p > i:first-child {
    color: #E48CA8;
    font-size: 1.4em;
    flex: 0 0 28px;
    text-align: center;
}
.l-content__main .seijuji-supports-image--timeline-d > p strong {
    color: #C66C8C;
    display: block;
    margin-bottom: 2px;
    font-size: 1.05em;
}
.l-content__main .seijuji-supports-image--timeline-d > .wp-block-image {
    grid-column: 2;
    grid-row: 1 / span 5;
    margin: 0;
    align-self: stretch;
}
.l-content__main .seijuji-supports-image--timeline-d > .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media (max-width: 768px) {
    .l-content__main .seijuji-supports-image--timeline-d {
        grid-template-columns: 1fr;
    }
    .l-content__main .seijuji-supports-image--timeline-d > .wp-block-image {
        display: none;
    }
}

/* ============================================================
   こども誰でも通園制度 (#azuke) セクション
   案 2 のリボン/CTA + 案 5 のカード のハイブリッド (採用版集約)
   ============================================================ */

/* --- キャッチコピーリボン (ポスター上部の「はじめました!」感) --- */
.l-content__main .seijuji-supports-callout--pr-ribbon {
    background: linear-gradient(135deg, #FFF8FA 0%, #FCE0EA 100%);
    border: 3px dashed #E48CA8;
    border-radius: 24px;
    padding: 28px 24px;
    text-align: center;
    margin: 0 auto var(--seijuji-gap-comp);
    max-width: 760px;
    box-shadow: 0 4px 16px rgba(228, 140, 168, 0.18);
}
.l-content__main .seijuji-supports-callout--pr-ribbon__lead {
    display: inline-block;
    background: #C66C8C;
    color: #fff;
    font-size: 0.85em;
    font-weight: 700;
    border-radius: 100px;
    padding: 4px 16px;
    margin-bottom: 12px;
    letter-spacing: 0.08em;
}
.l-content__main .seijuji-supports-callout--pr-ribbon__catch {
    display: block;
    font-size: 1.6em;
    font-weight: 800;
    color: #564646;
    line-height: 1.4;
    letter-spacing: 0.04em;
}
.l-content__main .seijuji-supports-callout--pr-ribbon__catch--accent {
    display: inline-block;
    color: #C66C8C;
    background: linear-gradient(transparent 60%, #FFD9E5 60%);
    padding: 0 8px;
    font-size: 1.1em;
}
@media (max-width: 600px) {
    .l-content__main .seijuji-supports-callout--pr-ribbon { padding: 20px 16px; border-radius: 18px; }
    .l-content__main .seijuji-supports-callout--pr-ribbon__catch { font-size: 1.3em; }
}

/* --- 3 カード grid (対象 / ご利用時間 / お申込み) PC 3 列 / SP 1 列 --- */
.l-content__main .seijuji-supports-card-grid--feature {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 0 0 var(--seijuji-gap-comp);
}
@media (max-width: 768px) {
    .l-content__main .seijuji-supports-card-grid--feature { grid-template-columns: 1fr; gap: 16px; }
}

.l-content__main .seijuji-supports-card--feature {
    position: relative;
    padding: 32px 20px 20px;
    background: linear-gradient(180deg, #ffffff 0%, #FFF8FA 100%);
    border: 2px solid #FFD9E2;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(228, 140, 168, 0.15);
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.l-content__main .seijuji-supports-card--feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(228, 140, 168, 0.28);
}

/* 装飾丸 (順序ではない、レジェンド的に使う、左右中央配置) */
.l-content__main .seijuji-supports-card--feature__badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #E48CA8 0%, #C66C8C 100%);
    border-radius: 50%;
    box-shadow: 0 3px 8px rgba(198, 108, 140, 0.4);
}

.l-content__main .seijuji-supports-card--feature__icon {
    margin: 0 0 12px; font-size: 36px; color: #E48CA8; line-height: 1;
}
.l-content__main .seijuji-supports-card--feature__label {
    margin: 0 0 8px; font-size: 13px; font-weight: 700; color: #C66C8C;
    letter-spacing: 0.15em; text-transform: uppercase;
}
.l-content__main .seijuji-supports-card--feature__value {
    margin: 0 0 12px; font-weight: 700; color: #564646; line-height: 1.2;
}
.l-content__main .seijuji-supports-card--feature__big {
    font-size: 40px; font-weight: 800; color: #C66C8C; letter-spacing: 0.02em;
}
.l-content__main .seijuji-supports-card--feature__unit {
    font-size: 16px; font-weight: 700; color: #564646; margin-left: 4px;
}
.l-content__main .seijuji-supports-card--feature__sep { font-size: 28px; margin: 0 2px; color: #C66C8C; }
.l-content__main .seijuji-supports-card--feature__note {
    margin: 0; font-size: 12px; color: #7a6464; line-height: 1.6;
}
.l-content__main .seijuji-supports-card--feature__days {
    display: flex; justify-content: center; gap: 8px; margin: 0 0 10px;
}
.l-content__main .seijuji-supports-card--feature__day {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: linear-gradient(135deg, #E48CA8 0%, #C66C8C 100%);
    color: #fff; font-size: 16px; font-weight: 800;
    border-radius: 50%; box-shadow: 0 3px 8px rgba(198, 108, 140, 0.35);
}
.l-content__main .seijuji-supports-card--feature__pills {
    display: flex; justify-content: center; gap: 8px; margin: 0 0 14px; flex-wrap: wrap;
}
.l-content__main .seijuji-supports-card--feature__pill {
    display: inline-block; padding: 6px 14px;
    background: #fff; color: #C66C8C; border: 2px solid #E48CA8;
    border-radius: 100px; font-size: 13px; font-weight: 700; letter-spacing: 0.05em;
}

/* --- 大型 CTA ボタン (岩見沢市 HP へ誘導) --- */
.l-content__main .seijuji-supports-callout--cta-large { text-align: center; margin: 0 auto var(--seijuji-gap-sect); max-width: 600px; }
.l-content__main .seijuji-supports-callout--cta-large__btn {
    display: inline-grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 16px;
    row-gap: 2px;
    background: linear-gradient(135deg, #E48CA8 0%, #C66C8C 100%);
    color: #fff !important;
    padding: 20px 32px;
    border-radius: 16px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(198, 108, 140, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 12px;                      /* Stack モデル下方向所有: __hint との内部余白 (2026-06-09 margin-top 全廃で消えた __hint の margin-top:12px を前要素 __btn に移管、元値復元) */
}
.l-content__main .seijuji-supports-callout--cta-large__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(198, 108, 140, 0.5);
}
.l-content__main .seijuji-supports-callout--cta-large__btn-icon {
    grid-column: 1; grid-row: 1 / span 2;
    font-size: 1.8em;
    display: flex; align-items: center; justify-content: center;
}
.l-content__main .seijuji-supports-callout--cta-large__btn-main {
    grid-column: 2; grid-row: 1;
    font-size: 1.25em;
    text-align: left;
    letter-spacing: 0.04em;
}
.l-content__main .seijuji-supports-callout--cta-large__btn-sub {
    grid-column: 2; grid-row: 2;
    font-size: 0.85em;
    text-align: left;
    opacity: 0.92;
}
@media (max-width: 600px) {
    .l-content__main .seijuji-supports-callout--cta-large__btn { display: grid; width: 100%; padding: 18px 20px; }
    .l-content__main .seijuji-supports-callout--cta-large__btn-main { font-size: 1.1em; }
}
.l-content__main .seijuji-supports-callout--cta-large__hint {
    font-size: 0.85em;
    color: #6b5a5a;
    line-height: 1.6;
}


/* ============================================================
   T33. 月別スケジュール一覧 (seijuji-supports-list--schedule)
   旧 schedule-table.css を統合 + class rename (2026-05-15)
   ============================================================ */

/**
 * スケジュール表 縦タイムライン
 *
 * 子育て支援ページ (/supports/) の
 *   - 親子あかちゃん広場 2026 年度スケジュール
 *   - 親子クラス もこもこ広場 2026 年度スケジュール
 * の 2 表を縦タイムライン形式で表示。
 *
 * カラー: コーラル (#ff8a65 / #ff7043) + ミント (#26c6da / #b2ebf2)
 *         共通パレット (design-refactor.css と揃える)
 *
 * 更新日: 2026-04-24
 * バージョン: 1.0.0
 */

.seijuji-supports-list--schedule {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--seijuji-gap-comp) 0;
    position: relative;
}

/* 左縦ライン（グラデ） */
.seijuji-supports-list--schedule::before {
    content: '';
    position: absolute;
    left: 80px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: linear-gradient(to bottom, #26c6da, #b2ebf2);
    border-radius: 3px;
}

.seijuji-supports-list--schedule__item {
    position: relative;
    padding: 10px 0 10px 110px;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
}

/* 月の節目ドット（コーラル） */
.seijuji-supports-list--schedule__item::before {
    content: '';
    position: absolute;
    left: 74px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background: #ff8a65;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #ff8a65;
}

.seijuji-supports-list--schedule__month {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 64px;
    text-align: right;
    font-weight: 700;
    font-size: 18px;
    color: #ff7043;
}

.seijuji-supports-list--schedule__dates {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.seijuji-supports-list--schedule__date {
    display: inline-block;
    background: #e0f7fa;
    color: #00695c;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
}

.seijuji-supports-list--schedule__empty {
    color: #b0b0b0;
    font-style: italic;
    font-size: 14px;
}

/* スマホ */
@media (max-width: 640px) {
    .seijuji-supports-list--schedule::before { left: 60px; }
    .seijuji-supports-list--schedule__item { padding-left: 84px; }
    .seijuji-supports-list--schedule__item::before { left: 54px; }
    .seijuji-supports-list--schedule__month { width: 48px; font-size: 15px; }
    .seijuji-supports-list--schedule__date { font-size: 13px; padding: 3px 9px; }
}


/* =============================================================
   Part J: <i class="fa-solid fa-XXX"> 用 SVG mask セレクタ

   方針:
   - content.raw に埋め込まれた Font Awesome の i タグを CSS のみで描画
   - 共通設定 (i.fa-solid 等) で box 寸法 / mask 共通プロパティ
   - 個別アイコン (i.fa-XXX) で mask-image だけ指定
   - 新規アイコン追加時は: SVG を assets/icons/ に保存 → ここに 1 行追加

   既存テーマアイコン (page-id ごとの h2/h3 ::before) と独立、Part A / A-2 は不変。
   ============================================================= */

/* 共通: i.fa-solid / i.fa-regular / i.fa-brands の表示形 */
i.fa-solid::before,
i.fa-regular::before,
i.fa-brands::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* 個別アイコン: 各 fa-XXX で mask-image だけ指定 */
i.fa-arrow-up-right-from-square::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"/></svg>');
}
i.fa-book::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></svg>');
}
i.fa-bus::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z"/></svg>');
}
i.fa-calendar-days::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z"/></svg>');
}
i.fa-child-reaching::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"/></svg>');
}
i.fa-clipboard-check::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>');
}
i.fa-clock::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>');
}
i.fa-cookie-bite::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6v0c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9v0c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6v0c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9v0c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>');
}
i.fa-door-open::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z"/></svg>');
}
i.fa-house::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
}
i.fa-music::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"/></svg>');
}
i.fa-shopping-bag::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg>');
}
i.fa-tree::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z"/></svg>');
}
i.fa-triangle-exclamation::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>');
}
i.fa-utensils::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z"/></svg>');
}


/* =============================================================
   Part K: Emanon パンくず icomoon アイコンの SVG mask 置換

   経緯:
   - Emanon 親テーマのパンくずは <i class="icon-home"> / <i class="icon-chevron-right">
     で icomoon webfont を参照する。
   - icomoon フォント (assets/fonts/icomoon/fonts/icomoon.ttf) のロード待ちで FOIT
     (一瞬の空白) が発生 → 表示遅延の原因
   - パンくず内に限定して SVG mask で上書き、即時表示にする
   - icomoon フォント自体の停止は TODO (各ページ完全チェック後)

   スコープ: .breadcrumb 配下に限定（voices 等の他 icomoon 利用には影響させない）
   ============================================================= */

.breadcrumb i.icon-home,
.breadcrumb i.icon-chevron-right {
    /* font-family: icomoon の解除（::before の content も不要に） */
    font-family: inherit !important;
}

.breadcrumb i.icon-home::before,
.breadcrumb i.icon-chevron-right::before {
    content: "" !important;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.breadcrumb i.icon-home::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>');
}

.breadcrumb i.icon-chevron-right::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>');
}


/* =============================================================
   Part S: 募集人数カード (seijuji-admission-card-grid--roster)

   入園案内 (admission, id=179) §1「募集人数について」のクラス別
   募集人数を、ポップな装飾カードのグリッドで見せるコンポーネント。
   スコープ: .l-content__main .seijuji-admission-card-grid--roster 配下のみ。
   カード上端のスカラップ (波) は採用案9: なだらか波＋大小交互、
   波全体を 1 枚の SVG でカード幅に伸縮 → 左右端で必ず揃う。
   ============================================================= */

/* ---- カードグリッド ----
   2026-06-14 9-A Phase 3-d で DOM 統合 (case C): 外側 wrapper と内側 grid を 1 div に集約、
   font + padding + max-width と grid layout を同じ rule にマージ。
   基準(タブレット・SP)は 2 列、広い PC(>=1200px)は 4 枚を横 1 列に。
   行 gap は広め: カード上端のスカラップ(12px)が隙間に食い込むため。 */
.l-content__main .seijuji-admission-card-grid--roster {
  font-family: 'Hiragino Maru Gothic ProN', 'Hiragino Kaku Gothic ProN', 'BIZ UDPGothic', sans-serif;
  padding: 8px 4px 16px;
  box-sizing: border-box;
  max-width: none;            /* 4 枚横並び(PC)のため本文カラム幅いっぱいに */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 22px;
  width: 100%;
}

/* 広い PC: 4 枚を横 1 列 */
@media (min-width: 1200px) {
  .l-content__main .seijuji-admission-card-grid--roster {
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
  }
}

/* ---- 個別カード ---- */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster {
  position: relative;
  border-radius: 0 0 20px 20px;   /* 上端は四角（スカラップが端まで欠けないように）、下端は角丸 */
  overflow: visible;
  box-shadow: 0 4px 12px rgba(244, 162, 97, 0.30), 0 2px 4px rgba(0,0,0,0.08);
  background: #fff;
}



/* ---- カード内ヘッダー（クラス名エリア）---- */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__header {
  background: linear-gradient(135deg, #F4A261 0%, #FFC27A 60%, #FFD9A0 100%);
  border-radius: 0;   /* 上端は四角（スカラップが端まで並ぶように）*/
  padding: 18px 14px;
  text-align: center;
  position: relative;
  overflow: hidden;
  /* オレンジ/白の境目を全カードで揃えるため、ヘッダーを固定高にする。
     クラスラベル(バッジ)は上端に固定、クラス名+注釈は残りの領域で
     縦中央寄せ（クラス名の行数差を吸収しつつ位置を全カードで揃える）。 */
  min-height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}

/* ヘッダー内の水玉デコ */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__header::after {
  content: '● ● ●';
  position: absolute;
  bottom: 6px;
  right: 10px;
  font-size: 6px;
  color: rgba(255,255,255,0.55);
  letter-spacing: 3px;
}

/* クラスラベル（「ちぃくまちゃん」等の上に付く小ラベル） */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-label {
  display: inline-block;
  background: rgba(255,255,255,0.85);
  color: #c96a10;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 10px;
  border-radius: 20px;
  margin-bottom: 6px;
  white-space: nowrap;
}

/* クラス名本体 — ラベル下の残り領域いっぱいに広げ、名前+注釈を縦中央に */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-name {
  font-size: 15px;
  font-weight: 900;
  color: #5c2d00;
  line-height: 1.45;
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* 補足（1号、2号含めて） */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-note {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: #7a3d00;
  opacity: 0.85;
}

/* ---- カードボディ（募集人数エリア）---- */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__body {
  background: #fff;
  border-radius: 0 0 18px 18px;
  padding: 0 12px 18px;
  text-align: center;
  position: relative;
}

/* 吹き出し型の数値バッジ */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__badge {
  display: inline-block;
  position: relative;
  background: linear-gradient(160deg, #FF9A3C 0%, #F4A261 50%, #FFB347 100%);
  color: #fff;
  border-radius: 50px;
  padding: 10px 18px 8px;
  box-shadow: 0 3px 8px rgba(244,162,97,0.50);
  min-width: 60px;
}

/* 吹き出しの三角 */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__badge::before {
  content: '';
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid #FF9A3C;
}

/* 募集人数の数値テキスト */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__count {
  display: block;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.01em;
  white-space: nowrap;
  line-height: 1.2;
}

/* 「募集」キャプション */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__count-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.88);
}

/* ０名のカードはグレーアウト。
   募集人数 0 の検出と --zero クラスの付与は js/seijuji-roster.js が行う
   （先生が募集人数を 0 にすれば自動でこの状態に切り替わる）。 */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__header {
  background: linear-gradient(135deg, #d0d0d0 0%, #e8e8e8 60%, #f0f0f0 100%);
}
/* スカラップ(波)もグレーに。card 自身の ::before なので、base の
   オレンジ波ルールに勝つよう 2 クラス分の詳細度にする */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster.seijuji-admission-card--roster--zero::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 202 12' preserveAspectRatio='none'><path d='M0 12 Q13 -12 26 12 Q35 -6 44 12 Q57 -12 70 12 Q79 -6 88 12 Q101 -12 114 12 Q123 -6 132 12 Q145 -12 158 12 Q167 -6 176 12 Q189 -12 202 12 Z' fill='%23d0d0d0'/></svg>");
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__class-label {
  color: #666;
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__class-name {
  color: #444;
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__class-note {
  color: #555;
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__badge {
  background: linear-gradient(160deg, #aaa 0%, #c0c0c0 100%);
  box-shadow: 0 3px 8px rgba(0,0,0,0.12);
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__badge::before {
  border-bottom-color: #aaa;
}
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster--zero .seijuji-admission-card--roster__header::after {
  color: rgba(255,255,255,0.35);
}

/* ---- 注釈テキスト ---- */
.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__note-row {
  text-align: center;
  font-size: 11px;
  color: #a06030;
  background: #FFF4E8;
  border-left: 3px solid #F4A261;
  border-radius: 0 8px 8px 0;
  padding: 6px 12px;
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
}

/* ============================================================
   レスポンシブ: 480px 以下
   ============================================================ */
@media (max-width: 480px) {
  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card-grid--roster {
    grid-template-columns: 1fr 1fr;
    gap: 30px 12px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__header {
    padding: 14px 8px;
    min-height: 128px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-label {
    font-size: 9px;
    padding: 2px 7px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-name {
    font-size: 13px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-note {
    font-size: 9px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__badge {
    padding: 8px 12px 7px;
    min-width: 50px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__count {
    font-size: 18px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__count-label {
    font-size: 9px;
  }
}

/* ============================================================
   レスポンシブ: 360px 以下（極小）
   ============================================================ */
@media (max-width: 360px) {
  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__class-name {
    font-size: 11.5px;
  }

  .l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster__count {
    font-size: 16px;
  }
}

.l-content__main .seijuji-admission-card-grid--roster .seijuji-admission-card--roster::before {
    content: '';
    display: block;
    position: absolute;
    top: -12px;                                   /* 帯下端を見出し上辺に合わせる */
    left: 0;
    right: 0;
    height: 12px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 202 12' preserveAspectRatio='none'><path d='M0 12 Q13 -12 26 12 Q35 -6 44 12 Q57 -12 70 12 Q79 -6 88 12 Q101 -12 114 12 Q123 -6 132 12 Q145 -12 158 12 Q167 -6 176 12 Q189 -12 202 12 Z' fill='%23F4A261'/></svg>");
    background-size: 100% 100%;                   /* カード幅へ伸縮 → 左右端で必ず揃う */
    background-repeat: no-repeat;
    z-index: 2;
}


/* =============================================================
   Part T: §2 クラス比較表 (seijuji-admission-table--cmp)

   入園案内 (admission, id=179) §2「2歳児・満3歳児クラスのごあんない」内の
   「クラスごとのご案内」サブセクション ── 2クラスの異なる項目を2カラム比較
   カードで表示するコンポーネント。
   2026-05-20 に旧 2ゾーン分割型（diff + common）から分離、共通項目は
   seijuji-common-list（Part W）に独立、当 cmptable は diff content のみを
   扱う1ブロック構成へ。h3 見出し（is-style-seijuji-section）は外側に置く
   peer 構造に変更（旧 .tp5-zone-header オレンジ帯は廃止）。
   2026-05-27 (Phase 2): `.tp5-*` 命名を `seijuji-admission-table--cmp__*` BEM に rename、
   palette token (--seijuji-accent / --seijuji-accent-darker / --seijuji-tint)
   で配色を palette.css に集約。中立グレーは accent と無関係なので hard-coded 維持。
   `.tp5-common-*` の旧 CSS は Part W (seijuji-common-list) 移行で残骸化していた
   ため削除済 (本リファクタで content 内 0 件確認)。
   スコープ: .l-content__main .seijuji-admission-table--cmp 配下のみ。
   ============================================================= */

/* 比較表全体: 白カード + 角丸 + 薄影。h3 はこの外側に置く。 */
.l-content__main .seijuji-admission-table--cmp {
  font-size: 15px;
  color: #333;
  line-height: 1.7;
  max-width: 860px;
  margin: 0 auto var(--seijuji-gap-comp);              /* フロー層コンポーネント級 (:has 廃止に伴い自前所有、2026-06-11) */
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
  padding: 20px 20px 8px;
}

/* ---- クラス列ヘッダ ---- */
.l-content__main .seijuji-admission-table--cmp__class-headers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
}

.l-content__main .seijuji-admission-table--cmp__class-header-cell {
  background: var(--seijuji-tint);
  border-radius: 10px;
  padding: 10px 14px;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  color: var(--seijuji-accent-darker);
  border: 2px solid var(--seijuji-accent);
  line-height: 1.5;
}

/* ---- 各行 ---- */
.l-content__main .seijuji-admission-table--cmp__diff-row {
  margin-bottom: 14px;
}

.l-content__main .seijuji-admission-table--cmp__diff-row-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--seijuji-accent);
  margin-bottom: 5px;
  padding-left: 4px;
  text-transform: uppercase;
}

.l-content__main .seijuji-admission-table--cmp__diff-cells {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.l-content__main .seijuji-admission-table--cmp__diff-cell {
  background: #FAFAFA;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.65;
  border: 1px solid #EEE;
}

/* 預かり保育「利用不可」はグレーで控えめに */
.l-content__main .seijuji-admission-table--cmp__diff-cell--unavailable {
  color: #888;
  background: #F5F5F5;
}

/* 補足テキスト（小さめ・グレー） */
.l-content__main .seijuji-admission-table--cmp__note {
  font-size: 12.5px;
  color: #777;
}

/* ---- SP: 390px ---- */
@media (max-width: 480px) {
  .l-content__main .seijuji-admission-table--cmp {
    padding: 14px 12px 4px;
  }

  /* クラスヘッダ：2列 → 縦2段 */
  .l-content__main .seijuji-admission-table--cmp__class-headers {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .l-content__main .seijuji-admission-table--cmp__class-header-cell {
    font-size: 12px;
    padding: 8px 8px;
  }

  /* 各行の差分セル：SP でも2列を維持（ラベル+2セルで見やすい） */
  .l-content__main .seijuji-admission-table--cmp__diff-cells {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .l-content__main .seijuji-admission-table--cmp__diff-cell {
    font-size: 13px;
    padding: 10px 10px;
  }
}


/* =============================================================
   Part U: 入園の手引き / 募集要項 (seijuji-aguide)

   入園案内 (admission, id=179) の seijuji-aguide スコープ。
   - ページ末尾の統合「入園の手引き」: 日程バッジ + アコーディオン手順
   - 各クラスセクション内の「募集要項」カード（§2 / §3）
   いずれも .l-content__main .seijuji-aguide 配下にスコープ。
   seijuji-admission-callout--class-note は手順内でクラス別（2歳児系/3歳児以上）に出し分ける注記。
   ============================================================= */

/* ========== リセット・共通 ========== */
.l-content__main .seijuji-aguide *,
.l-content__main .seijuji-aguide *::before,
.l-content__main .seijuji-aguide *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.l-content__main .seijuji-aguide {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 0 24px;   /* 左右 0：募集要項カードを cmptable / common-list と同じ左右幅に揃える（旧 16px だと一段内側に細かった）。下 24：旧 48 は過大だったので pt と対称に */
  color: #333;
  line-height: 1.75;
}

/* ========== セクション共通ラッパ ========== */
.l-content__main .seijuji-aguide .seijuji-admission-section--application {
  margin-bottom: var(--seijuji-gap-sect);    /* サブセクション間の区切り */
}

/* 最終サブセクションの下マージンは殺す（下に兄弟が無く、aguide pb + section pb と二重に効いて余白過大になるため） */
.l-content__main .seijuji-aguide .seijuji-admission-section--application:last-child {
  margin-bottom: 0;
}

/* H2 直後に置かれた aguide（= 入園の手引き）に限り、先頭 h3 の上マージンを殺す。
   aguide pt 24 + h3 mt 32 が二重に効いて H2→先頭 H3 の余白が過大になるため。
   募集要項の aguide は common-list 等の後にあり h2 隣接でないので非該当（上 gap は据置）。 */
.l-content__main .seijuji-section > h2 + .seijuji-aguide .seijuji-admission-section--application:first-child h3.is-style-seijuji-section {
  margin-top: 0;
}

/* ========== セクション見出し（site-wide 標準 h3 スタイル）========== */
/* 案内系ページの section h3 共通スタイル。左縦バー + 点線下罫、21px太字。
   2026-05-20 にブロックスタイル variation 化（旧 .seijuji-admission-section--application__heading 裸クラス →
   is-style-seijuji-section）。core/heading で利用、register は
   plugins/seijuji-core/includes/blocks/style-variations/register.php 参照
   (2026-05-26 子テーマ脱却 Phase 3 で旧 inc/block-style-variations.php から移動)。
   スコープは .l-content__main 配下のすべての該当 h3。
   2026-06-10 user 決定: 色をオレンジ直書き → palette var 化（ページアクセント連動、
   fallback は旧直書き値 = admission 相当）。下罫は solid 2px に site-wide 統一
   （初回は dotted 3px 統一だったが、h4 標準の点線下罫と並ぶとぼける + 素 h3 の
   solid 下線との統一感で user が実線に変更。旧 about 上書きと同じ見え方）。 */
.l-content__main h3.is-style-seijuji-section {
  display: flex;            /* 縦バーと見出しテキストを横並びに */
  align-items: center;      /* 縦中央揃え */
  gap: 12px;                /* バーと文字の間 */
  font-size: 21px;          /* 案A 採用：見出しとして十分な存在感 */
  font-weight: 800;         /* 太字 */
  color: var(--seijuji-accent-darker, #c0703a);  /* ページアクセント濃色 */
  line-height: 1.4;
  margin: 0 0 16px;      /* 上余白で peer サブセクションの区切りを作る */
  padding-bottom: 13px;     /* 下線との間 */
  border-bottom: 3px solid var(--seijuji-accent-pale, #f0d3ad);  /* 実線下罫 (h4 の点線と差別化、太さは全見出し 3px 統一) */
}

/* 行頭の縦バー飾り（ページアクセント縦グラデーション） */
.l-content__main h3.is-style-seijuji-section::before {
  content: '';
  display: inline-block;
  width: 7px;               /* 細めの縦バー */
  height: 1.4em;            /* 文字高に合わせる */
  border-radius: 4px;
  background: linear-gradient(180deg, var(--seijuji-marker, #FFC27A), var(--seijuji-accent, #F4A261));
  flex: 0 0 auto;           /* 縮まない */
  margin: 0;                /* wp-block-heading::before の margin-right を相殺（間隔は gap 管理） */
  -webkit-mask-image: none; /* core/heading 併用時、wp-block-heading::before の丸マスクを解除 */
  mask-image: none;         /* 無いと縦バーが丸く潰れる（about トピック h3 で発覚 2026-06-01） */
  background-color: transparent; /* 素 h3 標準 ::before の background-color を無効化 */
}

/* SP：見出しを少し小さく */
@media (max-width: 480px) {
  .l-content__main h3.is-style-seijuji-section {
    font-size: 18px;
    padding-bottom: 11px;
  }
}

/* ========== h4 site-wide 標準: リーフアイコン + 点線下罫 ==========
   surroundings の .seijuji-surroundings-card-grid--room__heading（リーフ + 文字）由来。
   元は about (ID=30) スコープだったが、2026-06-10 user 決定で page-id スコープを
   外して全ページ標準に格上げ（h4 使用は現状 about のみなので見た目変化なし）。
   色はページ別 var で各ページのアクセントになる。
   2026-06-01 user 指定：アイコンはそのまま色だけ変更。右フェード線は長いタイトルで
   出ないため撤去。 */
.l-content__main h4.wp-block-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;                              /* 上余白で直前の画像/見出しと間隔（C/F 対応 2026-06-01） */
  padding: 0 0 6px;                                  /* 下線との間隔（教室の padding-left は相殺） */
  border: 0;                                         /* category-heading のバー/破線下罫を一旦相殺 */
  border-bottom: 3px dotted var(--seijuji-marker, #FFD9C0);  /* h4 = 点線下線（admission h3 と同じ 3px でドット間隔を確保、user 2026-06-01） */
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--seijuji-accent, #C0703A);
}
.l-content__main h4.wp-block-heading::before {
  content: "";
  width: 20px;
  height: 20px;
  flex: none;
  background-color: var(--seijuji-accent, #C0703A);
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21c-.5-7 3-13 14-15C18 14 13 19 6 20c2-4 5-6 9-7-5 1-8 4-10 8z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21c-.5-7 3-13 14-15C18 14 13 19 6 20c2-4 5-6 9-7-5 1-8 4-10 8z"/></svg>');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
/* 箱の先頭にある h4 は上余白を詰める（box の padding と二重にしない） */
.l-content__main .is-style-seijuji-box > h4.wp-block-heading:first-child {
  margin-top: 0;
}
/* (about の solid 2px 下罫上書きは 2026-06-10 user 決定「dotted 3px に site-wide 統一」で削除。
   旧: 2026-06-01 user 指定で about のみ実線だった) */

/* ========================================
   A：大切な3つの日程
   日付バッジ（proposal-3 由来）
======================================== */

/* バッジ3枚コンテナ（モバイル：縦積み） */
.l-content__main .seijuji-aguide .seijuji-admission-list--application-date {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* 個別カード */
.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff;
  border: 2px solid #F4A261;
  border-radius: 14px;
  padding: 14px 18px;
  box-shadow: 2px 3px 8px rgba(244,162,97,0.12);
}

/* 日付バッジ */
.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge {
  flex: 0 0 auto;
  background: #F4A261;
  color: #fff;
  border-radius: 12px;
  width: 72px;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6px 4px;
  box-shadow: 0 2px 6px rgba(244,162,97,0.3);
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge-month {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.2;
  opacity: 0.9;
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge-day {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.02em;
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge-dow {
  font-size: 0.7rem;
  opacity: 0.85;
  background: rgba(255,255,255,0.25);
  border-radius: 4px;
  padding: 1px 6px;
}

/* バッジ右のテキスト領域 */
.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__body {
  flex: 1;
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__label {
  font-size: 0.78rem;
  color: #F4A261;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 2px;
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__event {
  font-size: 0.97rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 4px;
}

.l-content__main .seijuji-aguide .seijuji-admission-list--application-date__desc {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.55;
}

/* PC（680px〜）：カード横3列・バッジ上部・テキスト中央揃え */
@media (min-width: 680px) {
  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date {
    flex-direction: row;
    align-items: stretch;
    gap: 16px;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__card {
    flex: 1;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 14px;
    gap: 12px;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge {
    width: 80px;
    min-height: 80px;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__badge-day {
    font-size: 2.3rem;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__body {
    flex: unset;
    width: 100%;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__label {
    text-align: center;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-list--application-date__event {
    font-size: 0.92rem;
  }
}

/* ========================================
   B：募集要項
   boshu-proposal-3 由来（アイコン列・クラス名行を削除、テキストフル幅）
======================================== */

/* 外枠 */
.l-content__main .seijuji-aguide .seijuji-admission-section--application-recruitment {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* 個別カード（アイコン列なし版） */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment {
  background: #fff;
  border: 1.5px solid #F4A261;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(244,162,97,0.10);
}

/* カード本文エリア（横幅フル使用） */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__body {
  padding: 14px 18px;
}

/* 項目ラベル */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #F4A261;
  margin: 0 0 8px;
  text-transform: uppercase;
}

/* 対象カード：クラス区切り行 */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0;
  border-radius: 7px;
  overflow: hidden;
}

/* クラス名タグ（左帯）。両タグを同じ幅に固定し右端（境界線）を揃える */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag {
  flex: 0 0 auto;
  width: 10.5em;            /* 2 タグ共通の固定幅。「しろくまちゃんと」1 行ぶん */
  box-sizing: border-box;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 7px 0 0 7px;
  line-height: 1.4;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;  /* 文字を中央寄せ */
  text-align: center;
}

/* §2 募集要項のクラス名タグ：両クラス共通の濃いオレンジグラデ
   （旧 bear=#FFC27A / chiikuma=#FFDDB3 の交互色を 2026-05-20 に統一） */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag--bear,
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag--chiikuma {
  background: linear-gradient(135deg, #F4A261, #e6873b);
  color: #fff;
}

/* クラス詳細テキスト */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-detail {
  flex: 1 1 0;
  font-size: 0.85rem;
  line-height: 1.65;
  padding: 6px 12px;
  background: #FFFAF5;
  border-radius: 0 7px 7px 0;
  min-width: 0;
}

.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-detail .seijuji-admission-card--application-recruitment__birth {
  display: block;
  font-size: 0.78rem;
  color: #888;
}

/* 定員カード */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__quota-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}

.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__quota-main {
  font-size: 1.5rem;
  font-weight: 700;
  color: #F4A261;
  letter-spacing: 0.02em;
  line-height: 1;
}

.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__quota-main span {
  font-size: 0.9rem;
  font-weight: 400;
  color: #555;
}

.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__quota-sub {
  font-size: 0.82rem;
  color: #666;
  background: #FFF4EC;
  border: 1px solid #FFC27A;
  border-radius: 20px;
  padding: 3px 10px;
  white-space: nowrap;
}

/* 390px 以下：対象行を縦積みに */
@media (max-width: 440px) {
  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__body {
    padding: 12px;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-row {
    flex-direction: column;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag {
    border-radius: 7px 7px 0 0;
    align-self: auto;
    width: auto;              /* SP は縦積み、横幅に余裕があるので 1 行表示 */
    white-space: nowrap;
  }

  /* SP はタグ内で折り返さない（PC 用に置いた改行 br を一括無効化、
     §2 の seijuji-admission-card--application-recruitment__target-class-tag-br / §3 の素 <br> どちらも対象） */
  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag br {
    display: none;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-detail {
    border-radius: 0 0 7px 7px;
  }

  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__quota-main {
    font-size: 1.3rem;
  }
}

/* ========================================
   C：申し込みの流れ（アコーディオン）
   proposal-5 由来
======================================== */

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* details 全体 */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item {
  border: 1.5px solid #e0dbd5;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item[open] {
  box-shadow: 0 3px 12px rgba(244, 162, 97, 0.18);
  border-color: #F4A261;
}

/* summary 行 */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  background: #fff8f2;
  cursor: pointer;
  user-select: none;
  position: relative;
}

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item[open] > summary {
  background: #F4A261;
}

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item[open] > summary .seijuji-admission-accordion--application-step__num {
  background: #fff;
  color: #c0703a;
}

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item[open] > summary .seijuji-admission-accordion--application-step__title {
  color: #fff;
}

/* Webkit の disclosure triangle を非表示 */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item summary::-webkit-details-marker {
  display: none;
}

/* 番号バッジ */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #F4A261;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.2s, color 0.2s;
}

/* 手順タイトル */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__title {
  flex: 1;
  font-size: 0.92rem;
  font-weight: 700;
  color: #c0703a;
  transition: color 0.2s;
}

/* 開閉アイコン（CSS border 三角） */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__icon {
  flex-shrink: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #F4A261 transparent transparent transparent;
  transition: transform 0.25s;
  margin-right: 2px;
}

.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__item[open] .seijuji-admission-accordion--application-step__icon {
  transform: rotate(180deg);
  border-color: #fff transparent transparent transparent;
}

/* 開いた中身 */
.l-content__main .seijuji-aguide .seijuji-admission-accordion--application-step__body {
  padding: 14px 16px 18px;
  font-size: 0.9rem;
  color: #444;
  line-height: 1.75;
  background: #fff;
  border-top: 1px solid #f0e8df;
}

/* 手順5 の注意書きブロック */
.l-content__main .seijuji-aguide .seijuji-admission-callout--caution {
  background: #fffbf5;
  border: 1px dashed #FFC27A;
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.l-content__main .seijuji-aguide .seijuji-admission-callout--caution__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.85rem;
  color: #555;
}

.l-content__main .seijuji-aguide .seijuji-admission-callout--caution__item .seijuji-admission-callout--caution__icon {
  flex-shrink: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

/* リンク共通 */
.l-content__main .seijuji-aguide a {
  color: #c0703a;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.l-content__main .seijuji-aguide a:hover {
  color: #F4A261;
}

/* ========================================
   クラス別の出し分け注記（手順内）
   2歳児系 / 3歳児以上で内容が異なる箇所を、手順本文の中に
   折り込むための注記ボックス。⚠ の seijuji-admission-callout--caution とは
   別系統（実線 + 左アクセント帯）にして役割を視覚的に区別する。
======================================== */

/* 注記ボックス外枠（左にオレンジのアクセント帯） */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note {
  background: #FFF4E6;                   /* admission のページ tint 色 */
  border: 1px solid #F3D5B0;             /* 淡いオレンジの囲み線 */
  border-left: 4px solid #F4A261;        /* 左の太アクセント帯 */
  border-radius: 8px;
  padding: 12px 14px;
}

/* 注記の見出しラベル */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #c0703a;
  margin-bottom: 8px;
  letter-spacing: 0.03em;
}

/* 合言葉など「クラス名タグ + 値」の 1 行 */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__row {
  display: flex;
  flex-wrap: wrap;                       /* 狭い画面では値がタグの下に回り込む */
  align-items: baseline;
  gap: 4px 10px;
  padding: 5px 0;
}

/* 2 行目以降は点線で区切る */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__row + .seijuji-admission-callout--class-note__row {
  border-top: 1px dotted #F3D5B0;
}

/* クラス名タグ（オレンジの小チップ） */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__tag {
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 700;
  color: #5a3200;
  background: #FFC27A;
  border-radius: 5px;
  padding: 2px 8px;
}

/* タグ右側の値テキスト */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__val {
  font-size: 0.86rem;
  color: #444;
}

/* リスト形式の注記（手順6 の 1号/2号認定など） */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* リスト項目（行頭に小さな丸マーカー） */
.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__list li {
  font-size: 0.86rem;
  color: #444;
  line-height: 1.7;
  padding-left: 14px;
  position: relative;
}

.l-content__main .seijuji-aguide .seijuji-admission-callout--class-note__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F4A261;
}

/* ========================================
   §3 募集要項：3歳児以上クラス用の調整
   §2 の seijuji-admission-card--application-recruitment__target-row を流用しつつ、短いクラス名に合わせて
   タグ幅を詰め、募集人数の行を専用スタイルにする。
======================================== */

/* §3 クラス名タグの配色（§2 と統一の濃いオレンジグラデ。
   クラス名は折り返さない＝拗音が行頭に来るのを防ぐ） */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-class-tag--r3 {
  background: linear-gradient(135deg, #F4A261, #e6873b);
  color: #fff;
  white-space: nowrap;
}

/* 募集人数の行（生年月日の下に置く強調サブ行） */
.l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment__target-detail .seijuji-admission-card--application-recruitment__quota--r3 {
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  color: #c0703a;
}

/* PC：§3 はクラス名が短いのでタグ幅を詰める（SP は §2 共通ルールで auto） */
@media (min-width: 441px) {
  .l-content__main .seijuji-aguide .seijuji-admission-card--application-recruitment--r3 .seijuji-admission-card--application-recruitment__target-class-tag {
    width: 9.5em;
  }
}


/* =============================================================
   Part V: §3 認定区分セクション (seijuji-admission-card--class)

   入園案内 (admission, id=179) §3「3歳児（年少）以上クラスのごあんない」
   の中の認定区分（1号 / 2号）の説明＋比較セット。3つのサブセクション:
     ① 認定区分について（intro テキスト + 認定区分3種カード）
     ② 区分ごとのちがい（1号認定 vs 2号認定 の吹き出し2列）
     ③ 共通のごあんない（Part W .seijuji-common-list 流用）
   各サブセクションの h3 は site-wide の .is-style-seijuji-section（Part U）を流用。
   2026-05-27 (Phase 2): `.af-*` 命名を `seijuji-admission-card--class__*` BEM に rename、
   旧 `.af-intro` の独立パネル装飾は site-wide T3 (.is-style-seijuji-box, 半透明白)
   へ移譲、palette token (admission の派生 4 token + 既存 tint/marker/accent)
   に集約。callout 化済 .af-closing / .af-foot は Step B1+B2 で別途削除済。
   スコープ: .l-content__main .seijuji-admission-card--class 配下のみ。
   ============================================================= */

/* サブセクションラッパ (h3 + 本文を包む透明ラッパ、3歳児章の 認定区分/区分ごとのちがい/共通のごあんない)。
   旧実装は h3 の margin-top 頼みだったが margin-top 全廃 (2026-06-09) で間隔が消失、
   h3 がラッパ先頭のため :has 前余白も届かず 0px 密着していた (2026-06-11 user 報告で発覚)。
   Stack モデル: サブセクション境界はセクション級ティアを自前所有 (入園の手引きの --application と同格) */
.l-content__main .seijuji-admission-card--class {
  margin: 0 0 var(--seijuji-gap-comp);     /* 認定区分セクション内の sub element 同士 = comp 級 (旧 sect 40px → 32px に修正、2026-06-12) */
}

/* ---- サブ見出し（説明セクション内の「認定区分の種類」「どうやって分かれる？」）---- */
/* h3 でないので is-style-seijuji-section は使わず、控えめな専用スタイル */
.l-content__main .seijuji-admission-card--class__mini-head {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 15px;
  font-weight: 800;
  color: var(--seijuji-accent-darker);
  margin: 0 0 13px;
}
.l-content__main .seijuji-admission-card--class__mini-head::before {
  content: "";
  width: 20px; height: 4px;
  border-radius: 2px;
  background: var(--seijuji-accent);
  flex: 0 0 auto;
}
/* T3 box 内最初のミニ見出しは上余白を少し詰める（旧 .af-intro 内ルールの後継） */

/* =====================================================
   ① 認定区分について
   intro テキスト + 認定区分3種の白カード。intro の panel 装飾は
   site-wide T3 (.is-style-seijuji-box, 半透明白 + 細枠 + padding) を流用、
   旧 .af-intro の独自装飾 (tint 背景 + 太枠) は本リファクタで撤去。
   ===================================================== */

/* 認定区分3種の白カード（左にオレンジの太アクセント） */
.l-content__main .seijuji-admission-card--class__kinds {
  list-style: none;
  margin: 0 0 4px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.l-content__main .seijuji-admission-card--class__kinds li {
  background: #fff;
  border-radius: 12px;
  border-left: 6px solid var(--seijuji-accent);
  padding: 12px 16px;
  font-size: 0.98rem;
}
.l-content__main .seijuji-admission-card--class__kinds li b {
  color: var(--seijuji-accent-darker);
  font-weight: 800;
}

/* 旧 .af-closing / .af-leadin は seijuji/callout block (background:white + borderStyle:accent-solid) に置換済。
   2026-05-27 Step B1 で staging content (admission id=179) を callout 化、Step B2 で本定義を削除。 */

/* =====================================================
   ② 区分ごとのちがい（吹き出し2列カード対比）
   ===================================================== */

/* 2列レイアウト：SP 縦積み / PC 横並び */
.l-content__main .seijuji-admission-card--class__vs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 760px) {
  .l-content__main .seijuji-admission-card--class__vs {
    grid-template-columns: 1fr 1fr;
  }
}

/* 1号 / 2号 それぞれの列カード */
.l-content__main .seijuji-admission-card--class__col {
  background: #fff;
  border: 2.5px solid var(--seijuji-marker);
  border-radius: 20px;
  padding: 0 0 16px;
  overflow: hidden;
  box-shadow: 0 6px 0 var(--seijuji-accent-pale);   /* オフセット影で立体感 */
}
.l-content__main .seijuji-admission-card--class__col--n2 {
  border-color: var(--seijuji-accent);          /* 2号列は枠を一段濃く */
}

/* 列ヘッダ：グラデーション帯 + 丸番号バッジ + クラス名
   1号/2号 で交互色にせず統一（user 指示・2026-05-20。
   旧 1号=明グラデ・2号=濃グラデの交互配色は廃止、両方とも濃いオレンジに） */
.l-content__main .seijuji-admission-card--class__col-head {
  background: linear-gradient(135deg, var(--seijuji-accent), var(--seijuji-accent-deep));
  color: #fff;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 11px;
}
/* 列ヘッダの装飾バッジ：白円に中央オレンジ●
   （番号表示は優劣の印象が出るため避け、共通のごあんない af-cardbadge と
    同じ「丸の中にドット」パターンを採用。背景がグラデオレンジなので、
    地色は白、ドット側がオレンジになる反転配色） */
.l-content__main .seijuji-admission-card--class__col-badge {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--seijuji-accent);          /* 中央 ● の色 */
  font-size: 12px;         /* ● を控えめに */
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 0 rgba(0,0,0,.12);
}
.l-content__main .seijuji-admission-card--class__col-name {
  font-size: 17px;
  font-weight: 800;
  display: block;
  line-height: 1.3;
}
.l-content__main .seijuji-admission-card--class__col-note {
  font-size: 11.5px;
  font-weight: 600;
  opacity: .95;
  display: block;
}

/* 列の中の各項目（保育時間・給食） */
.l-content__main .seijuji-admission-card--class__item {
  padding: 16px 16px 0;
}
.l-content__main .seijuji-admission-card--class__item-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--seijuji-accent-darker);
  margin: 0 0 9px;
}
.l-content__main .seijuji-admission-card--class__item-label::before {
  content: "●";
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--seijuji-accent);
  color: #fff;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

/* 値ボックス（保育時間・給食の内容を入れる丸角ボックス）
   旧 .af-bubble（吹き出し三角つき）を 2026-05-20 に .af-valuebox にリネーム、
   吹き出し三角の擬似要素は撤去。鈍重な印象を消し、上のラベル ●保育時間 と
   静かに繋がるレイアウトに。 */
.l-content__main .seijuji-admission-card--class__value-box {
  background: var(--seijuji-tint);
  border: 2px solid var(--seijuji-marker);
  border-radius: 14px;
  padding: 13px 15px;
}
.l-content__main .seijuji-admission-card--class__col--n2 .seijuji-admission-card--class__value-box {
  border-color: var(--seijuji-accent);
  background: var(--seijuji-tint);
}
/* 値ボックス内の主値（時間・回数） */
.l-content__main .seijuji-admission-card--class__value-box .seijuji-admission-card--class__value-main {
  font-size: 18px;
  font-weight: 800;
  color: var(--seijuji-accent-darker);
  line-height: 1.4;
}
.l-content__main .seijuji-admission-card--class__value-box .seijuji-admission-card--class__value-main small {
  font-size: 13px;
  font-weight: 700;
  color: var(--seijuji-text-dark);
}
/* 値ボックス内の補足文 */
.l-content__main .seijuji-admission-card--class__value-box .seijuji-admission-card--class__value-sub {
  display: block;
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px dashed var(--seijuji-accent-pale);
  font-size: 12.5px;
  color: var(--seijuji-text-dark);
  font-weight: 500;
}

/* =====================================================
   ③ 共通のごあんない（リード文 + 共通リストコンポーネント Part W）
   旧 af-grid/af-card カードグリッドは 2026-05-20 に Part W
   `.seijuji-common-list` に置き換え。
   ===================================================== */

/* リード文（小さい注記、現状 content 内未使用だが定義残置） */
.l-content__main .seijuji-admission-card--class__common-note {
  font-size: 13px;
  color: var(--seijuji-accent-darker);
  font-weight: 700;
  margin: 0 0 16px;
}

/* 旧 .af-foot は seijuji/callout block (icon:sparkle + borderStyle:dashed) に置換済。
   2026-05-27 Step B1 で staging content (admission id=179) を callout 化、Step B2 で本定義を削除。 */

/* SP 390px 想定の詰め */
@media (max-width: 480px) {
  .l-content__main .seijuji-admission-card--class__mini-head {
    font-size: 14px;
  }
  .l-content__main .seijuji-admission-card--class__value-box .seijuji-admission-card--class__value-main {
    font-size: 16.5px;
  }
}


/* =============================================================
   Part W: 共通項目リスト (seijuji-common-list)

   admission §2「2歳児・満3歳児クラス」と §3「3歳児以上クラス」の
   「共通のごあんない」エリアで共通利用する key-value リスト。
   2026-05-20 に旧 §2 tp5-common-list と §3 af-grid カードグリッドを
   統合する新コンポーネントとして新設。

   ハイブリッドレイアウト:
     - SP（〜767px）：チェックボックス + label のアコーディオン折畳。
       label に label + main + ▼、checked で detail（補足・内訳）展開。
     - PC（768px〜）：CSS でチェックボックスと ▼ を非表示、detail を
       常時表示、grid 2 列で「左：オレンジ tint の色面ラベル」「右：白の
       値・補足・内訳」に切替。
   <details>/<summary> を使わない理由: closed の <details> 内容は CSS
   `display:block !important` でも子要素の高さが親に反映されず（仕様
   レベルで隠される）、PC 強制展開ができないため。

   構造（HTML）:
     <div class="seijuji-common-list">
       <div class="seijuji-admission-table--fee__item">                ← detail がある項目
         <input type="checkbox" id="UNIQ" class="seijuji-admission-table--fee__toggle" hidden>
         <label class="seijuji-admission-table--fee__head" for="UNIQ">
           <span class="seijuji-admission-table--fee__label">...</span>
           <span class="seijuji-admission-table--fee__main">...</span> ← 任意（無くてもOK）
           <span class="seijuji-admission-table--fee__arrow" aria-hidden="true">▼</span>
         </label>
         <div class="seijuji-admission-table--fee__detail">...</div>
       </div>
       <div class="seijuji-admission-table--fee__item seijuji-admission-table--fee__item--flat">        ← detail が無い項目（開閉しない）
         <div class="seijuji-admission-table--fee__head">
           <span class="seijuji-admission-table--fee__label">...</span>
           <span class="seijuji-admission-table--fee__main">...</span>
         </div>
       </div>
     </div>

   スコープ: .l-content__main .seijuji-common-list 配下のみ。
   ============================================================= */

.l-content__main .seijuji-common-list {
  background: #fff;
  border: 1px solid #f0d3ad;
  border-radius: 12px;
  overflow: hidden;
  margin: 0 0 var(--seijuji-gap-comp);          /* Stack ティア comp (フロー層コンポーネントルート、§1 棚卸し漏れの後付け 2026-06-13) */
}

/* 各項目 */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__item {
  border-bottom: 1px solid #f0d3ad;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__item:last-child {
  border-bottom: none;
}

/* 見出し行（label / div） */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 11px 14px;
  cursor: pointer;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__item.seijuji-admission-table--fee__item--flat .seijuji-admission-table--fee__head {
  cursor: default;
}

/* ラベル */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__label {
  flex: 0 0 auto;
  font-weight: 800;
  color: #c0703a;
  font-size: 14.5px;
}
/* メイン値 */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__main {
  flex: 1 1 auto;
  font-size: 14.5px;
  color: #5a3a10;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__main strong {
  color: #c0703a;
  font-weight: 800;
}

/* 開閉インジケータ（▼三角） */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__arrow {
  margin-left: auto;
  flex: 0 0 auto;
  font-size: 11px;
  color: #F4A261;
  transition: transform .2s ease;
  padding-left: 8px;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__toggle:checked ~ .seijuji-admission-table--fee__head .seijuji-admission-table--fee__arrow {
  transform: rotate(180deg);
}

/* 詳細部（補足・内訳リスト）── SP では checked で展開 */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__detail {
  display: none;
  padding: 0 14px 12px;
  background: #FFF4E6;
  font-size: 13.5px;
  color: #5a3a10;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__toggle:checked ~ .seijuji-admission-table--fee__detail {
  display: block;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__detail p {
  margin: 0;
  padding-top: 8px;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__detail p strong {
  color: #c0703a;
  font-weight: 800;
}

/* 内訳リスト（保育用品代など / 入園後の費用） */
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown {
  list-style: none;
  padding: 0;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px dashed #f0d3ad;
  font-size: 13px;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown li:last-child {
  border-bottom: none;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown li .seijuji-admission-table--fee__field-name {
  font-weight: 700;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown li .seijuji-admission-table--fee__field-value {
  font-weight: 800;
  color: #c0703a;
  text-align: right;
  white-space: nowrap;
}
.l-content__main .seijuji-common-list .seijuji-admission-table--fee__breakdown li .seijuji-admission-table--fee__opt {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #7a5a2a;
}

/* =====================================================
   PC（>=768px）: アコーディオン挙動を打ち消して、
   左色面ラベル + 右白値の grid 2 列に切り替える
   ===================================================== */
@media (min-width: 768px) {
  /* 項目を 2列 × 2行 の grid に。
     ラベル列を縦に塗りつぶすため grid-row: 1 / -1 を使うが、これは
     「最後の明示行ライン」を参照するので grid-template-rows で 2 行を
     明示しておく必要がある（implicit row だと span 0 になる罠）。
     右セルは row 1: メイン値 / row 2: 補足・内訳。どちらか欠ける項目は
     その行が auto で 0 高さに潰れる。 */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__item {
    display: grid;
    grid-template-columns: 8em 1fr;
    grid-template-rows: auto auto;
    border-bottom: 1px solid #f0d3ad;
  }
  /* 折畳制御要素を PC では消す */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__toggle,
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__arrow {
    display: none;
  }
  /* label は display:contents で消し、子要素（label/main）を直接 grid に配置 */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__head {
    display: contents;
    cursor: default;
  }
  /* detail は常時表示（checked 関係なく） */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__detail {
    display: block;
  }
  /* ラベル：左色面（オレンジ tint）。行 1〜最終行まで縦塗りつぶし。 */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__label {
    grid-column: 1;
    grid-row: 1 / -1;
    background: #FFF4E6;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    border-right: 1px solid #f0d3ad;
    font-size: 14.5px;
  }
  /* メイン値：右白セル・上 */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__main {
    grid-column: 2;
    grid-row: 1;
    padding: 14px 16px;
  }
  /* 詳細：右白セル・下行 */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__detail {
    grid-column: 2;
    grid-row: 2;
    background: #fff;
    padding: 0 16px 14px;
  }
  /* メイン値が無い項目（入園後の費用 等）は row 1 が空で潰れるので、
     detail 自体に上 padding を追加して上端の余白を整える */
  .l-content__main .seijuji-common-list .seijuji-admission-table--fee__head:not(:has(.seijuji-admission-table--fee__main)) + .seijuji-admission-table--fee__detail {
    padding-top: 14px;
  }
}


/* =============================================================
   Part X: statement 学校評価セクション 年度別アコーディオン
           (.seijuji-statement-list--pdf)

   採用ハイブリッド: 案7 の summary 演出（FLOW バッジは撤去）
                      + 案2 のカード stacked 中身

   構造: <div class="seijuji-statement-list--pdf">
             <details><summary>YYYY年度</summary>
               <div class="seijuji-statement-list--pdf__cards">
                 <a class="seijuji-statement-list--pdf__card" href="...">
                   <span class="seijuji-statement-list--pdf__icon"></span>
                   <span class="seijuji-statement-list--pdf__body">
                     <span class="seijuji-statement-list--pdf__label">ラベル</span>
                     <span class="seijuji-statement-list--pdf__meta">
                       <span class="seijuji-statement-list--pdf__badge">PDF</span>クリックで開きます
                     </span>
                   </span>
                 </a>
                 ... カード ×3
               </div>
             </details>
             ... details ×4
           </div>

   スコープ: .l-content__main .seijuji-statement-list--pdf 配下のみ
            (T10 .wp-block-details とは独立、生 <details> を使う)
   ============================================================= */

/* wrapper: details 4 個を縦に積む */
.l-content__main .seijuji-statement-list--pdf {
    display: flex;                                        /* details を縦並び */
    flex-direction: column;                                /* 年度ごと縦積み */
    gap: 14px;                                             /* 年度間のゆとり */
}

/* details: 年度アコーディオン本体（案7 由来）*/
.l-content__main .seijuji-statement-list--pdf details {
    border: 1px solid var(--seijuji-tint-border, #F3D5B0); /* tint-border 縁取り */
    border-radius: 12px;                                   /* 角丸でやわらかく */
    background: #fff;                                      /* 白背景 */
    overflow: hidden;                                      /* summary 角丸を綺麗に切る */
    box-shadow: 0 2px 6px rgba(244, 162, 97, 0.06);        /* 控えめオレンジ系の浮き */
    transition: box-shadow 0.2s ease;                      /* 開閉時の影変化 */
}

/* open 時: 影を強めて主役感 */
.l-content__main .seijuji-statement-list--pdf details[open] {
    box-shadow: 0 6px 16px rgba(244, 162, 97, 0.14);
}

/* summary: 年度ラベル行（案7 由来、FLOW バッジは撤去）*/
.l-content__main .seijuji-statement-list--pdf summary {
    list-style: none;                                      /* デフォルト三角を消す */
    cursor: pointer;
    padding: 14px 20px;                                    /* タップしやすい余白 */
    font-size: 1.05rem;                                    /* 本文よりやや大きく */
    font-weight: 700;                                      /* 見出し感 */
    background: linear-gradient(90deg, var(--seijuji-tint, #FFF4E6) 0%, #ffffff 70%); /* 左 tint→白 流れ */
    display: flex;                                         /* 年度文字とトグルを横並び */
    align-items: center;                                   /* 縦中央 */
    border-left: 4px solid var(--seijuji-accent, #F4A261); /* 左にアクセント縦バー（is-style-seijuji-section と統一感）*/
    transition: background 0.2s ease;                      /* hover 用 */
}

/* Webkit のデフォルト三角を消す */
.l-content__main .seijuji-statement-list--pdf summary::-webkit-details-marker {
    display: none;
}

/* 右端の開閉インジケータ（+ / × トグル、案7 由来）*/
.l-content__main .seijuji-statement-list--pdf summary::after {
    content: "+";                                          /* 閉じている時は + */
    margin-left: auto;                                     /* 右端寄せ */
    width: 28px;                                           /* 円形枠 */
    height: 28px;
    border-radius: 50%;
    background: var(--seijuji-tint, #FFF4E6);              /* 薄オレンジ背景 */
    color: var(--seijuji-accent, #F4A261);                 /* アクセント色記号 */
    display: inline-flex;                                  /* 中央配置 */
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.25s ease;                      /* 開閉回転 */
}

/* open 時: + を 45° 回転して × に */
.l-content__main .seijuji-statement-list--pdf details[open] summary::after {
    transform: rotate(45deg);
}

/* summary hover: 背景をほんのり濃く */
.l-content__main .seijuji-statement-list--pdf summary:hover {
    background: linear-gradient(90deg, var(--seijuji-tint, #FFF4E6) 0%, #fff7eb 70%);
}

/* キーボード focus（アクセシビリティ）*/
.l-content__main .seijuji-statement-list--pdf summary:focus-visible {
    outline: 2px solid var(--seijuji-accent, #F4A261);
    outline-offset: -2px;
}

/* カード群コンテナ（案2 由来）*/
.l-content__main .seijuji-statement-list--pdf__cards {
    display: flex;                                         /* 縦積み */
    flex-direction: column;
    gap: 10px;                                             /* カード間 */
    padding: 16px 18px;                                    /* details 内余白 */
    background: #fff;                                      /* 白背景 */
}

/* 各カード（リンク全体クリッカブル、案2 由来）*/
.l-content__main .seijuji-statement-list--pdf__card {
    display: grid;                                         /* アイコン + 本文 2 カラム */
    grid-template-columns: 44px 1fr;                       /* 左固定アイコン枠 */
    align-items: center;                                   /* 縦中央 */
    gap: 12px;                                             /* アイコンと本文の間 */
    padding: 12px 14px;                                    /* タップ領域 */
    background: #ffffff;                                   /* 白背景 */
    border: 1px solid var(--seijuji-tint-border, #F3D5B0); /* 薄枠 */
    border-radius: 10px;                                   /* 角丸 */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);             /* 控えめ浮き */
    text-decoration: none;                                 /* 下線消去 */
    color: #2b2b2b;                                        /* 本文色 */
    transition: box-shadow .18s ease, transform .18s ease, background-color .18s ease, border-color .18s ease;
    -webkit-tap-highlight-color: transparent;              /* SP タップハイライト抑制 */
}

/* hover: tint 背景 + accent 枠 + 1px 浮き */
.l-content__main .seijuji-statement-list--pdf__card:hover {
    background: var(--seijuji-tint, #FFF4E6);              /* tint */
    border-color: var(--seijuji-accent, #F4A261);          /* accent 枠 */
    box-shadow: 0 6px 14px rgba(244, 162, 97, 0.18);       /* オレンジ寄りの影 */
    transform: translateY(-1px);
}

/* focus: アウトライン */
.l-content__main .seijuji-statement-list--pdf__card:focus-visible {
    outline: 2px solid var(--seijuji-accent, #F4A261);
    outline-offset: 2px;
}

/* active: 沈み込み */
.l-content__main .seijuji-statement-list--pdf__card:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(244, 162, 97, 0.18);
}

/* アイコン枠（円形 + 中央に PDF アイコン）*/
.l-content__main .seijuji-statement-list--pdf__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;                                    /* 円形 */
    background: var(--seijuji-tint, #FFF4E6);              /* tint 背景 */
    border: 1px solid var(--seijuji-tint-border, #F3D5B0); /* 薄枠 */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;                                        /* 縮まない */
    transition: background-color .18s ease, border-color .18s ease;
}

/* hover 時アイコン枠: tint と白で反転 */
.l-content__main .seijuji-statement-list--pdf__card:hover .seijuji-statement-list--pdf__icon {
    background: #ffffff;
    border-color: var(--seijuji-accent, #F4A261);
}

/* PDF アイコン本体（FA Free 6 Solid file-pdf、SVG mask + data URI 内蔵）*/
.l-content__main .seijuji-statement-list--pdf__icon::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-color: var(--seijuji-accent, #F4A261);      /* アクセント色 */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 144-208 0c-35.3 0-64 28.7-64 64l0 144-48 0c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 144-208 0c-35.3 0-64 28.7-64 64l0 144-48 0c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* テキスト 2 段ラッパ */
.l-content__main .seijuji-statement-list--pdf__body {
    display: flex;
    flex-direction: column;
    gap: 2px;                                              /* 段間 */
    min-width: 0;                                          /* テキスト省略のため */
}

/* 1 段目: ラベル */
.l-content__main .seijuji-statement-list--pdf__label {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: #2b2b2b;
}

/* hover 時ラベルだけ accent 寄りの濃色に */
.l-content__main .seijuji-statement-list--pdf__card:hover .seijuji-statement-list--pdf__label {
    color: #B8651F;                                        /* accent を暗めにして可読性確保 */
}

/* 2 段目: 補足（PDF バッジ + テキスト）*/
.l-content__main .seijuji-statement-list--pdf__meta {
    font-size: 12px;
    color: #7a7a7a;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* PDF バッジ */
.l-content__main .seijuji-statement-list--pdf__badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    padding: 3px 6px;
    border-radius: 4px;
    background: var(--seijuji-accent, #F4A261);
    color: #ffffff;
}

/* hover 時バッジ反転（白背景 + accent 文字 + accent 枠）*/
.l-content__main .seijuji-statement-list--pdf__card:hover .seijuji-statement-list--pdf__badge {
    background: #ffffff;
    color: var(--seijuji-accent, #F4A261);
    box-shadow: inset 0 0 0 1px var(--seijuji-accent, #F4A261);
}

/* SP 微調整 (<=480px): 余白を詰める */
@media (max-width: 480px) {
    .l-content__main .seijuji-statement-list--pdf__cards {
        padding: 14px 12px;                                /* details 内余白を SP で詰める */
    }
    .l-content__main .seijuji-statement-list--pdf__card {
        grid-template-columns: 40px 1fr;                   /* アイコン枠を小さく */
        padding: 11px 12px;
        gap: 10px;
    }
    .l-content__main .seijuji-statement-list--pdf__icon {
        width: 40px;
        height: 40px;
    }
    .l-content__main .seijuji-statement-list--pdf__icon::before {
        width: 18px;
        height: 18px;
    }
    .l-content__main .seijuji-statement-list--pdf__label {
        font-size: 14px;
    }
}

/* ============================================================
   Part Y: 思考バブル引用 (.seijuji-surroundings-callout--quote)
   ------------------------------------------------------------
   ページ本文中で「セリフ・問いかけ」を装飾的に見せる引用コンポーネント。
   surroundings §1「想いと歩み」の冒頭セリフ装飾として 2026-05-21 に
   新設、proposal v5 案 5「思考バブル / 浮遊バブル」を昇格したもの。

   コンセプト:
   - セリフ本体を角丸の大きめ「思考の吹き出し」風カードに（漫画
     thought balloon の語彙）。tint 背景 + tint-border で淡くまとめ、
     上品さは保つ
   - 各カードの下辺から、小さな円バブル 3 個（14 / 10 / 6px）が
     段階的に読者側（下方向）へ浮かんでいく演出。
     = 「先生たちの心の中の問いが、ふっと読者の側にも浮かんでくる」感
   - セリフ 2 つを左寄り → 右寄りで配置し、「異なる声・異なる思考」が
     浮かんでいるリズムを補強
   - サイトの世界観の中でクリーム背景 + ゴシック日本語、accent 緑
     アクセントは「点」で（浮遊バブルが accent 周辺装飾）

   構造（BEM）:
   - .seijuji-surroundings-callout--quote                : root（content.raw 内のラッパ）
   - .seijuji-surroundings-callout--quote__stack         : flex column のセリフ群コンテナ
   - .seijuji-surroundings-callout--quote__bubble        : 各セリフカード（思考バブル本体）
   - .seijuji-surroundings-callout--quote__bubble--left  : 左寄り配置
   - .seijuji-surroundings-callout--quote__bubble--right : 右寄り配置
   - .seijuji-surroundings-callout--quote__line          : セリフ本文 p
   - .seijuji-surroundings-callout--quote__puff          : 浮遊バブル共通
   - .seijuji-surroundings-callout--quote__puff--1/2/3   : 3 段階サイズ（大 → 小）

   palette は `var(--seijuji-accent / -marker / -tint / -tint-border)`
   参照、palette.css の page-id 別宣言を継承（surroundings = 常緑緑）。

   関連: designs/content-block-policy.md T38（次に書く規約）、
   案出し記録は worklogs/2026-05-21-... 。
   ============================================================ */

/* ルート — レイアウト wrapper、サイトの content max-width を継承（独自 max-width は当てない） */
.l-content__main .seijuji-surroundings-callout--quote {
    margin: 0 0 var(--seijuji-gap-comp);                                 /* 前後の本文との余白、H2 直下を想定 */
}

/* セリフ群コンテナ — flex column 縦並び、浮遊バブルが下に伸びるので gap 多めに */
.l-content__main .seijuji-surroundings-callout--quote__stack {
    display: flex;
    flex-direction: column;
    gap: 44px;                                             /* 下方向の浮遊バブル（最大 ~34px 下）が次カードに干渉しない距離 */
}

/* 思考バブル本体（共通） */
.l-content__main .seijuji-surroundings-callout--quote__bubble {
    position: relative;                                    /* 浮遊小バブル（.seijuji-surroundings-callout--quote__puff）の絶対配置基準 */
    background: #FFFBF0;                                   /* 全ページ共通のオフクリーム固定。T51 外側 (page tint) との 2 段差別化を成立させる */
    border: 1px solid var(--seijuji-tint-border, #B7D6C4); /* 枠線は page 連動の細枠でアイデンティティを残す（フォールバック付き） */
    border-radius: 22px;                                   /* 大きめ角丸 = 思考バブルらしいふっくら感 */
    padding: 20px 24px;                                    /* 内側の余白、読みやすさ重視 */
    box-shadow: 0 2px 10px rgba(76, 139, 108, 0.08);       /* 緑寄りの淡い影、浮きすぎないよう薄め */
    max-width: 92%;                                        /* 左右どちらかに寄せられる余地を残す */
}

/* 左寄り配置 — 「左側の人の思考が浮かんでいる」感 */
.l-content__main .seijuji-surroundings-callout--quote__bubble--left {
    align-self: flex-start;
}

/* 右寄り配置 — 「別の声、別の思考」の対称感 */
.l-content__main .seijuji-surroundings-callout--quote__bubble--right {
    align-self: flex-end;
}

/* セリフ本文 = 鉤括弧「」をそのまま含む p */
.l-content__main .seijuji-surroundings-callout--quote__line {
    margin: 0;                                             /* p の素 margin を打ち消す */
    font-size: 19px;                                       /* 本文より一段強く、18-20px の問いかけ感 */
    font-weight: 700;                                      /* ゴシック太字（明朝禁則） */
    line-height: 1.85;                                     /* ゆったり行間 */
    color: #222;
    text-indent: -0.5em;                                   /* 鉤括弧「の食い込みを視覚的に詰める */
    padding-left: 0.5em;                                   /* indent 分を padding で取り戻し */
}

/* 浮遊バブル共通 — 完全な円、淡い影 */
.l-content__main .seijuji-surroundings-callout--quote__puff {
    position: absolute;
    background: #FFFBF0;                                   /* セリフカード本体と同色で統一感 */
    border: 1px solid var(--seijuji-tint-border, #B7D6C4); /* 枠線は page 連動 */
    border-radius: 50%;                                    /* 完全な円 */
    box-shadow: 0 1px 4px rgba(76, 139, 108, 0.10);        /* 本体と揃った淡い影 */
}

/* サイズバリエーション — 3 段階で「だんだん遠く / 小さく」 */
.l-content__main .seijuji-surroundings-callout--quote__puff--1 { width: 14px; height: 14px; } /* カード寄り、最大 */
.l-content__main .seijuji-surroundings-callout--quote__puff--2 { width: 10px; height: 10px; } /* 中間 */
.l-content__main .seijuji-surroundings-callout--quote__puff--3 { width: 6px;  height: 6px;  } /* 最も読者側、極小 */

/* 左寄り配置の浮遊バブル位置 — カード左寄りから下方向へ */
.l-content__main .seijuji-surroundings-callout--quote__bubble--left .seijuji-surroundings-callout--quote__puff--1 {
    bottom: -8px;                                          /* カード下辺から 8px 下 */
    left: 48px;                                            /* 左から 48px 内側 = 自然な思考出元 */
}
.l-content__main .seijuji-surroundings-callout--quote__bubble--left .seijuji-surroundings-callout--quote__puff--2 {
    bottom: -22px;                                         /* puff-1 のさらに下 */
    left: 40px;                                            /* 風に流れる感、わずかに左へ */
}
.l-content__main .seijuji-surroundings-callout--quote__bubble--left .seijuji-surroundings-callout--quote__puff--3 {
    bottom: -34px;                                         /* 最も遠く */
    left: 34px;                                            /* さらに左、遠ざかる演出 */
}

/* 右寄り配置の浮遊バブル位置 — カード右寄りから下方向へ（左寄りの対称） */
.l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--1 {
    bottom: -8px;
    right: 48px;
}
.l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--2 {
    bottom: -22px;
    right: 40px;
}
.l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--3 {
    bottom: -34px;
    right: 34px;
}

/* SP（幅 480px 未満）対応 */
@media (max-width: 480px) {
    .l-content__main .seijuji-surroundings-callout--quote__stack {
        gap: 38px;                                         /* SP でも下方向バブル 3 個分の余白は確保 */
    }
    .l-content__main .seijuji-surroundings-callout--quote__bubble {
        padding: 16px 18px;                                /* 内側 padding 詰め */
        border-radius: 20px;                               /* 角丸も少し小さく */
        max-width: 95%;                                    /* SP は左右寄せの差を控えめに */
    }
    .l-content__main .seijuji-surroundings-callout--quote__line {
        font-size: 17px;                                   /* SP 文字サイズ */
        line-height: 1.8;
    }
    /* SP は小バブルも少し小さく */
    .l-content__main .seijuji-surroundings-callout--quote__puff--1 { width: 12px; height: 12px; }
    .l-content__main .seijuji-surroundings-callout--quote__puff--2 { width: 9px;  height: 9px;  }
    .l-content__main .seijuji-surroundings-callout--quote__puff--3 { width: 5px;  height: 5px;  }

    /* SP 位置 — より内側寄せ（カード幅縮小に追随） */
    .l-content__main .seijuji-surroundings-callout--quote__bubble--left  .seijuji-surroundings-callout--quote__puff--1 { left:  32px; bottom: -7px;  }
    .l-content__main .seijuji-surroundings-callout--quote__bubble--left  .seijuji-surroundings-callout--quote__puff--2 { left:  26px; bottom: -20px; }
    .l-content__main .seijuji-surroundings-callout--quote__bubble--left  .seijuji-surroundings-callout--quote__puff--3 { left:  22px; bottom: -30px; }
    .l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--1 { right: 32px; bottom: -7px;  }
    .l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--2 { right: 26px; bottom: -20px; }
    .l-content__main .seijuji-surroundings-callout--quote__bubble--right .seijuji-surroundings-callout--quote__puff--3 { right: 22px; bottom: -30px; }
}

/* ============================================================
   Part Z: 講師紹介カード (.seijuji-surroundings-section--mentor)
   ------------------------------------------------------------
   ページ本文中で「専門家・講師の紹介」をリッチカードで見せる
   コンポーネント。surroundings §2「わたしたちの園庭」の
   園庭づくり専門家紹介として 2026-05-22 に新設、proposal v6
   案 8「攻め — 全部入り」を昇格したもの。

   コンセプト:
   - 写真上 + 名前ブロック + 構造化経歴の縦カード、PC 2列想定だが
     経歴が長いため 1 列運用（grid は 1fr）
   - accent 2px 太縁 + 内側 dashed 二重縁でリッチ感、hover で浮上
   - 写真に accent オーバーレイ、左下に役割キャプション
   - 肩書を pill タグ群、経歴を「主な経歴 / 著作 / 活動」セクション化
   - 双葉アイコン付きの中央見出し（園庭づくりの専門家）
   - サイトの世界観の中で最もリッチな枠、admission §1 募集人数
     カード / §3 認定区分の語彙圏内

   v6 案 8 からの調整（user 指示・2026-05-22）:
   - 「ご助言者①②」リボンバッジを撤去
   - 注記 box の ::before 装飾点を削除（border-left 太バーと重複）
   - 役割キャプションは content 側で「園庭環境のご助言 / 設計に
     関するご助言」を指定

   構造（BEM）:
   - .seijuji-surroundings-section--mentor              : root ラッパ
   - .seijuji-surroundings-section--mentor__heading     : 「園庭づくりの専門家」双葉見出し
   - .seijuji-surroundings-section--mentor__leaf        : 見出し左右の双葉 SVG
   - .seijuji-surroundings-section--mentor__grid        : カードグリッド
   - .seijuji-surroundings-section--mentor__card        : 講師カード本体
   - .seijuji-surroundings-section--mentor__photo       : 写真エリア
   - .seijuji-surroundings-section--mentor__role        : 写真左下の役割キャプション
   - .seijuji-surroundings-section--mentor__name-block  : 名前ブロック
   - .seijuji-surroundings-section--mentor__name        : 氏名
   - .seijuji-surroundings-section--mentor__name-honor  : 「氏」
   - .seijuji-surroundings-section--mentor__pills       : 肩書 pill 群
   - .seijuji-surroundings-section--mentor__pill        : 肩書 pill（--outline で白抜き版）
   - .seijuji-surroundings-section--mentor__body        : 経歴セクション群コンテナ
   - .seijuji-surroundings-section--mentor__section     : 経歴 1 セクション
   - .seijuji-surroundings-section--mentor__bio-heading : セクション見出し（accent 左バー + アイコン）
   - .seijuji-surroundings-section--mentor__bio-icon    : セクション見出しの丸アイコン
   - .seijuji-surroundings-section--mentor__bio-body    : セクション本文
   - .seijuji-surroundings-section--mentor__note        : 補足注記 box
   - .seijuji-surroundings-section--mentor__footer-deco : カード下端の装飾帯

   palette は `var(--seijuji-*, フォールバック)` 形式で参照、palette
   未定義ページ（_test-* 等）でも壊れない。--mentor-deep / -soft は
   常緑グリーンの濃淡、本コンポーネントのローカル変数。

   関連: designs/content-block-policy.md T39（次に書く規約）、
   案出し記録は worklogs/2026-05-22-... 。
   ============================================================ */

/* ルート — ローカル濃淡変数を宣言、サイト content 幅を継承 */
.l-content__main .seijuji-surroundings-section--mentor {
    --mentor-deep: #36684F;                                /* accent の濃い版（見出し文字・グラデ端） */
    --mentor-soft: #6CA589;                                /* accent の明るい版（グラデ端・装飾帯） */
    margin: 0 0 var(--seijuji-gap-comp);
}
.l-content__main .seijuji-surroundings-section--mentor *,
.l-content__main .seijuji-surroundings-section--mentor *::before,
.l-content__main .seijuji-surroundings-section--mentor *::after {
    box-sizing: border-box;
}

/* 「園庭づくりの専門家」見出し — 双葉アイコン + accent 下線の中央見出し */
.l-content__main .seijuji-surroundings-section--mentor__heading {
    position: relative;
    text-align: center;
    margin: 0 0 22px;
    padding: 14px 16px 12px;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--mentor-deep);
}
.l-content__main .seijuji-surroundings-section--mentor__heading::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--seijuji-accent, #4C8B6C) 0%, var(--mentor-soft) 100%);
}
.l-content__main .seijuji-surroundings-section--mentor__leaf {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: -3px;
    margin: 0 8px;
    color: var(--seijuji-accent, #4C8B6C);
    opacity: 0.85;
}

/* カードグリッド — 経歴が長いため 1 列運用 */
.l-content__main .seijuji-surroundings-section--mentor__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

/* カード本体 — accent 2px 太縁 + 多層シャドウ、hover で浮上 */
.l-content__main .seijuji-surroundings-section--mentor__card {
    position: relative;
    background: #fff;
    border: 2px solid var(--seijuji-accent, #4C8B6C);
    border-radius: 18px;
    padding: 0;
    overflow: hidden;                                      /* 下端ストライプ帯を角丸でクリップ（リボン撤去済みなので hidden 可） */
    box-shadow:
        0 10px 24px rgba(76, 139, 108, 0.18),
        0 4px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.l-content__main .seijuji-surroundings-section--mentor__card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 16px 32px rgba(76, 139, 108, 0.26),
        0 6px 12px rgba(0, 0, 0, 0.08);
}
/* 内側の dashed 二重縁（リッチ感） */
.l-content__main .seijuji-surroundings-section--mentor__card::before {
    content: '';
    position: absolute;
    inset: 4px;
    border: 1px dashed rgba(76, 139, 108, 0.28);
    border-radius: 14px;
    pointer-events: none;
}

/* 写真エリア — 大判 + accent オーバーレイ、2 名の比率を 4:3 で統一 */
.l-content__main .seijuji-surroundings-section--mentor__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
    background: var(--seijuji-tint, #E5F1EA);
}
.l-content__main .seijuji-surroundings-section--mentor__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    transition: transform 0.4s ease;
}
/* accent 色オーバーレイ（うっすら緑、hover で薄まる） */
.l-content__main .seijuji-surroundings-section--mentor__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(76, 139, 108, 0.18) 0%, rgba(76, 139, 108, 0.04) 60%, rgba(76, 139, 108, 0.22) 100%);
    pointer-events: none;
    transition: opacity 0.4s ease;
    z-index: 1;
}
.l-content__main .seijuji-surroundings-section--mentor__card:hover .seijuji-surroundings-section--mentor__photo::after {
    opacity: 0.25;
}
.l-content__main .seijuji-surroundings-section--mentor__card:hover .seijuji-surroundings-section--mentor__photo img {
    transform: scale(1.04);
}

/* 写真左下の役割キャプション（バッジ風） */
.l-content__main .seijuji-surroundings-section--mentor__role {
    position: absolute;
    left: 12px;
    bottom: 12px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--mentor-deep);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 5px 10px;
    border-radius: 4px;
    border-left: 3px solid var(--seijuji-accent, #4C8B6C);
    backdrop-filter: blur(2px);
    z-index: 2;
}

/* 名前ブロック — 写真直下、tint→白グラデ帯 */
.l-content__main .seijuji-surroundings-section--mentor__name-block {
    background: linear-gradient(180deg, var(--seijuji-tint, #E5F1EA) 0%, #fff 100%);
    padding: 16px 18px 12px;
    border-bottom: 1px solid var(--seijuji-tint-border, #B7D6C4);
    text-align: center;
}
.l-content__main .seijuji-surroundings-section--mentor__name {
    font-size: 21px;
    font-weight: 900;
    color: #1f3a2c;
    letter-spacing: 0.04em;
    margin: 0;
    line-height: 1.35;
}
.l-content__main .seijuji-surroundings-section--mentor__name-honor {
    font-size: 13px;
    font-weight: 700;
    color: var(--mentor-deep);
    margin-left: 4px;
    vertical-align: 1px;
}

/* 肩書 pill タグ群 */
.l-content__main .seijuji-surroundings-section--mentor__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}
.l-content__main .seijuji-surroundings-section--mentor__pill {
    display: inline-block;
    background: var(--seijuji-accent, #4C8B6C);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 4px 10px;
    border-radius: 999px;
    box-shadow: 0 2px 4px rgba(76, 139, 108, 0.28);
    white-space: nowrap;
    line-height: 1.4;
}
/* 白抜き版（副次的な肩書用） */
.l-content__main .seijuji-surroundings-section--mentor__pill--outline {
    background: #fff;
    color: var(--mentor-deep);
    border: 1.5px solid var(--seijuji-accent, #4C8B6C);
    box-shadow: none;
}

/* 経歴セクション群 */
.l-content__main .seijuji-surroundings-section--mentor__body {
    padding: 18px 20px 22px;
}
/* mentor section の間隔は下方向所有に移管 (元 + セレクタで margin-top 16px → 2026-06-09 下方向統一) */
.l-content__main .seijuji-surroundings-section--mentor__section:not(:last-child) {
    margin-bottom: 16px;
}
/* セクション見出し — accent 左バー + 丸アイコン */
.l-content__main .seijuji-surroundings-section--mentor__bio-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 800;
    color: var(--mentor-deep);
    letter-spacing: 0.04em;
    padding: 4px 0 4px 10px;
    border-left: 4px solid var(--seijuji-accent, #4C8B6C);
    background: linear-gradient(90deg, rgba(229, 241, 234, 0.6) 0%, rgba(229, 241, 234, 0) 70%);
    margin-bottom: 8px;
    border-radius: 0 4px 4px 0;
}
.l-content__main .seijuji-surroundings-section--mentor__bio-icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    background: var(--seijuji-accent, #4C8B6C);
    color: #fff;
    border-radius: 50%;
    flex-shrink: 0;
}
.l-content__main .seijuji-surroundings-section--mentor__bio-icon svg {
    width: 11px;
    height: 11px;
}
.l-content__main .seijuji-surroundings-section--mentor__bio-body {
    font-size: 14px;
    line-height: 1.85;
    color: #2b2b2b;
    margin: 0;
    padding: 0 2px 0 14px;
}

/* 補足注記 box — accent tint、左 4px 太バー（::before 装飾点は撤去済み） */
.l-content__main .seijuji-surroundings-section--mentor__note {
    background: var(--seijuji-tint, #E5F1EA);
    border: 1px solid var(--seijuji-tint-border, #B7D6C4);
    border-left: 4px solid var(--seijuji-accent, #4C8B6C);
    border-radius: 0 8px 8px 0;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.75;
    color: var(--mentor-deep);
}

/* カード下端の装飾帯（accent 斜めストライプ） */
.l-content__main .seijuji-surroundings-section--mentor__footer-deco {
    height: 6px;
    background: repeating-linear-gradient(
        45deg,
        var(--seijuji-accent, #4C8B6C) 0 6px,
        var(--mentor-soft) 6px 12px
    );
    border-radius: 0 0 16px 16px;
    opacity: 0.85;
}

/* PC（>=600px）— 名前・本文を少し大きく */
@media (min-width: 600px) {
    .l-content__main .seijuji-surroundings-section--mentor__name {
        font-size: 23px;
    }
    .l-content__main .seijuji-surroundings-section--mentor__body {
        padding: 22px 26px 26px;
    }
    .l-content__main .seijuji-surroundings-section--mentor__bio-body {
        font-size: 14.5px;
    }
}

/* ============================================================
   Part AA: 画像 lightbox モーダル (.seijuji-common-lightbox)
   ------------------------------------------------------------
   本文中の画像をクリックで「ページをグレーアウト + 画像を中央
   拡大表示」するモーダル。別タブで原寸を開く方式の代替として
   2026-05-22 に新設。

   仕組み:
   - `data-lightbox` 属性を持つ <img> がクリック対象（js/seijuji-lightbox.js）
   - data-lightbox の値に拡大用 URL（原寸）、空なら img の src を使う
   - オーバーレイ / 閉じる ✕ / Esc キーで閉じる
   - surroundings の園庭マップ・室内ギャラリー等で共用する汎用機能

   構造（BEM）:
   - .seijuji-common-lightbox          : 全画面オーバーレイ（JS が body 直下に生成）
   - .seijuji-common-lightbox.is-open  : 表示状態
   - .seijuji-common-lightbox__inner   : 画像 + 閉じるボタンのラッパ
   - .seijuji-common-lightbox__img     : 拡大画像
   - .seijuji-common-lightbox__close   : 閉じる ✕ ボタン

   JS: js/seijuji-lightbox.js（functions.php で enqueue）
   ============================================================ */

/* 全画面オーバーレイ — 半透明グレー、中央寄せ */
.seijuji-common-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(38, 42, 40, 0.84);                    /* 半透明の暗グレー（ページをグレーアウト） */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 99999;                                        /* サイトの固定ヘッダより前面 */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}
.seijuji-common-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

/* 画像 + 閉じるボタンのラッパ */
.seijuji-common-lightbox__inner {
    position: relative;
    max-width: 92vw;
    max-height: 88vh;
}

/* 拡大画像 — viewport に収める */
.seijuji-common-lightbox__img {
    display: block;
    max-width: 92vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

/* 閉じる ✕ ボタン — 画像右上に円形で */
.seijuji-common-lightbox__close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #fff;
    color: #333;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease;
}
.seijuji-common-lightbox__close:hover {
    transform: scale(1.08);
}

/* SP — 閉じるボタンが画面外に出ないよう内側に寄せる */
@media (max-width: 600px) {
    .seijuji-common-lightbox {
        padding: 16px;
    }
    .seijuji-common-lightbox__close {
        top: 6px;
        right: 6px;
        width: 36px;
        height: 36px;
        font-size: 22px;
        background: rgba(255, 255, 255, 0.95);
    }
}


/* =============================================================
   Part AB: §3 室内ギャラリー + 動画フィーチャーカード
   ------------------------------------------------------------
   surroundings §3「保育室も、進化中」用の 2 コンポーネント。
   2026-05-22 に新設、proposal v7 案 8「攻め — 全部入りリッチ」を
   昇格したもの（写真グリッドは user 指示でロフト右上 + 他4枚 2×2
   に組み直し、SP は 1 列縦積みに変更）。

   .seijuji-surroundings-card-grid--room — 室内写真ギャラリー
   - 二重額装フレーム（白マット + 緑細枠）の写真カードをグリッド配置
   - PC: 3 列。縦長写真（--tall）を右端 1列×2段、横長 4 枚が 2列×2段で
     均等に埋まる（隙間・余りが出ない）
   - SP: 1 列縦積み（小画面でキャプションリボンが写真を覆いすぎないよう）
   - 各写真に角のリーフ装飾 + 左下キャプションリボン
   - img の data-lightbox 属性は Part AA の lightbox が拾って拡大表示

   .seijuji-common-card--video — 動画フィーチャーカード
   - 薄緑 tint カード上端に accent 帯、▶ 円バッジ見出し
   - accent フレームの 16:9 iframe + 隅の ▶ 飾りタグ
   - YouTube 等の埋め込み動画を「セクションの見どころ」として見せる

   構造（BEM）:
   - .seijuji-surroundings-card-grid--room            : ギャラリー root
   - .seijuji-surroundings-card-grid--room__heading   : 「室内のいろいろ」見出し（h3）
   - .seijuji-surroundings-card-grid--room__leaf      : 見出し左のリーフ SVG
   - .seijuji-surroundings-card-grid--room__grid      : 写真グリッド
   - .seijuji-surroundings-card-grid--room__item      : 写真カード（figure）。--tall で縦長
   - .seijuji-surroundings-card-grid--room__frame     : 写真の内側フレーム（額の見込み）
   - .seijuji-surroundings-card-grid--room__corner    : 角のリーフ装飾 SVG
   - .seijuji-surroundings-card-grid--room__caption   : 左下キャプションリボン（figcaption）
   - .seijuji-common-card--video              : 動画カード root
   - .seijuji-common-card--video__head        : 見出し行（▶ バッジ + h3）
   - .seijuji-common-card--video__badge       : ▶ 円形バッジ
   - .seijuji-common-card--video__lead        : リード文
   - .seijuji-common-card--video__frame       : iframe の accent フレーム

   palette は `var(--seijuji-*, フォールバック)` 形式で参照、palette
   未定義ページ（_test-* 等）でも常緑グリーンにフォールバックする。

   関連: designs/content-block-policy.md T41 / T42、
   案出し記録は worklogs/2026-05-22-... 。
   ============================================================= */

/* --- 室内ギャラリー root --- */
.l-content__main .seijuji-surroundings-card-grid--room {
    margin: 0 0 var(--seijuji-gap-comp);                                 /* 前後セクションとの間隔 */
}
.l-content__main .seijuji-surroundings-card-grid--room *,
.l-content__main .seijuji-surroundings-card-grid--room *::before,
.l-content__main .seijuji-surroundings-card-grid--room *::after {
    box-sizing: border-box;
}

/* =============================================================
   葉っぱ見出し（コンポーネント内サブ見出し共通仕様）
   room-gallery「室内のいろいろ」と echo「書籍・雑誌に」等で共通利用する
   サブ見出し。リーフアイコン + テキスト + 右に伸びる accent 線。
   規約: designs/content-block-policy.md T44。
   ※ mentor「園庭づくりの専門家」(両脇リーフ・中央寄せ) と video-card 見出し
     (▶ バッジ) は意図的バリアントで本共通仕様の対象外。
   ============================================================= */
.l-content__main .seijuji-surroundings-card-grid--room__heading,
.l-content__main .seijuji-surroundings-section--echo__heading {
    display: flex;                                         /* リーフ + 文字 + 線を横並び */
    align-items: center;
    gap: 10px;                                             /* リーフと文字の間隔 */
    margin: 0 0 16px;                                      /* 見出し下の余白 */
    font-size: 17px;                                       /* サブ見出しサイズ（room/echo 統一） */
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--seijuji-accent, #4C8B6C);                 /* ページ accent（surroundings は緑） */
}
.l-content__main .seijuji-surroundings-card-grid--room__leaf,
.l-content__main .seijuji-surroundings-section--echo__leaf {
    width: 20px;                                           /* リーフアイコン（room/echo 統一） */
    height: 20px;
    flex: none;                                            /* 縮まない */
    color: var(--seijuji-accent, #4C8B6C);                 /* fill="currentColor" の SVG 用 */
    fill: var(--seijuji-accent, #4C8B6C);                  /* fill 属性なしの SVG 用 */
}
.l-content__main .seijuji-surroundings-card-grid--room__heading::after,
.l-content__main .seijuji-surroundings-section--echo__heading::after {
    content: "";                                           /* 見出し右に伸びる細線 */
    flex: 1;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--seijuji-marker, #82B999), transparent);
}

/* 写真グリッド — SP 既定は 1 列縦積み */
.l-content__main .seijuji-surroundings-card-grid--room__grid {
    display: grid;
    grid-template-columns: 1fr;                            /* SP: 1 列 */
    gap: 14px;
}

/* 写真カード — 白マット + 緑細枠の二重額装 */
.l-content__main .seijuji-surroundings-card-grid--room__item {
    position: relative;                                    /* 角リーフ・キャプションの基準 */
    margin: 0;
    padding: 6px;                                          /* 白マットの幅 */
    background: #ffffff;
    border: 1.5px solid var(--seijuji-tint-border, #B7D6C4);
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(76, 139, 108, 0.12);
}
.l-content__main .seijuji-surroundings-card-grid--room__frame {
    position: relative;
    border-radius: 8px;
    overflow: hidden;                                      /* 写真の角丸 + キャプションはみ出し防止 */
    outline: 1px solid var(--seijuji-marker, #82B999);     /* 額の見込み線 */
    outline-offset: -1px;
}
.l-content__main .seijuji-surroundings-card-grid--room__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;                                     /* 比率差を歪めず吸収 */
    cursor: zoom-in;                                       /* lightbox 拡大の示唆 */
    aspect-ratio: 4 / 3;                                   /* 横長写真の既定比率 */
}
/* 縦長写真（ロフト）— SP では縦長のまま 1 枚表示 */
.l-content__main .seijuji-surroundings-card-grid--room__item--tall img {
    aspect-ratio: 4 / 5;
}

/* 角のリーフ装飾（accent の点） */
.l-content__main .seijuji-surroundings-card-grid--room__corner {
    position: absolute;
    top: -7px;
    right: -7px;
    width: 26px;
    height: 26px;
    color: var(--seijuji-accent, #4C8B6C);
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15));
    pointer-events: none;
}

/* キャプションリボン — 写真左下の accent タグ */
.l-content__main .seijuji-surroundings-card-grid--room__caption {
    position: absolute;
    left: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 5px 12px 5px 10px;
    background: var(--seijuji-accent, #4C8B6C);
    color: #fff;
    font-size: 0.8em;
    font-weight: 600;
    line-height: 1.45;
    border-radius: 4px 12px 12px 4px;                      /* リボン風の片角 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
}
.l-content__main .seijuji-surroundings-card-grid--room__caption::before {
    content: "";                                           /* リボンの結び目風ドット */
    width: 7px;
    height: 7px;
    flex: none;
    border-radius: 50%;
    background: var(--seijuji-marker, #82B999);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

/* PC（≥600px）— 2 列グリッド。写真を大きく見せ、ロフトは右上で縦長 2 段
   配置（左列にくつろぎ・ホール、最下段にごはん・列車が並ぶ）。 */
@media (min-width: 600px) {
    .l-content__main .seijuji-surroundings-card-grid--room__grid {
        grid-template-columns: 1fr 1fr;                    /* 2 列（写真を一回り大きく） */
        gap: 16px;
    }
    .l-content__main .seijuji-surroundings-card-grid--room__item--tall {
        grid-column: 2 / 3;                                /* 右の列 */
        grid-row: 1 / span 2;                              /* 縦 2 段ぶち抜き（右上に縦長配置） */
    }
    /* PC ではロフト写真をセル（2段ぶん）の高さいっぱいに */
    .l-content__main .seijuji-surroundings-card-grid--room__item--tall .seijuji-surroundings-card-grid--room__frame,
    .l-content__main .seijuji-surroundings-card-grid--room__item--tall .seijuji-surroundings-card-grid--room__frame img {
        height: 100%;
    }
    .l-content__main .seijuji-surroundings-card-grid--room__item--tall img {
        aspect-ratio: auto;                                /* セル高に追従（4/5 固定を解除） */
    }
}

/* --- 動画フィーチャーカード --- */
.l-content__main .seijuji-common-card--video {
    position: relative;
    margin: 0 0 var(--seijuji-gap-comp);
    padding: 22px;
    /* 既定 = 内側固定オフクリーム（2 段ルール）。T51 page tint section の直下に
       置かれる素の動画カード（例: surroundings「保育室も、進化中」）は外側が薄緑
       なので、同色 tint だと馴染んで消える。オフクリームで「内側ブロック」として
       浮き立たせる。dynamic block seijuji/video-card では背景色 attribute（cream 既定 /
       page-tint / white）で切替可。下の --bg-* modifier が cream 以外のとき上書きする。 */
    background: #FFFBF0;
    border: 1.5px solid var(--seijuji-tint-border, #B7D6C4);
    border-radius: 16px;
    /* 上端に accent の帯（フィーチャー強調）+ やわらかい影 */
    box-shadow: inset 0 4px 0 var(--seijuji-accent, #4C8B6C),
                0 4px 14px rgba(76, 139, 108, 0.14);
}
.l-content__main .seijuji-common-card--video *,
.l-content__main .seijuji-common-card--video *::before,
.l-content__main .seijuji-common-card--video *::after {
    box-sizing: border-box;
}
.l-content__main .seijuji-common-card--video__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
}
.l-content__main .seijuji-common-card--video__badge {
    width: 38px;                                           /* ▶ を抱える円形バッジ */
    height: 38px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--seijuji-accent, #4C8B6C);
    color: #fff;
    box-shadow: 0 2px 6px rgba(76, 139, 108, 0.35);
}
.l-content__main .seijuji-common-card--video__badge svg {
    width: 15px;
    height: 15px;
}
.l-content__main .seijuji-common-card--video__head h3 {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
    color: var(--seijuji-accent, #4C8B6C);
}
.l-content__main .seijuji-common-card--video__lead {
    margin: 0 0 16px;
    font-size: 0.92em;
}
/* 動画フレーム — accent 細枠 + 隅の ▶ 飾りタグ */
.l-content__main .seijuji-common-card--video__frame {
    position: relative;
    padding: 7px;
    background: #fff;
    border: 1.5px solid var(--seijuji-marker, #82B999);
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(76, 139, 108, 0.16);
}
.l-content__main .seijuji-common-card--video__frame iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 8px;
}
@media (min-width: 600px) {
    .l-content__main .seijuji-common-card--video {
        padding: 26px 28px;
    }
}

/* --- background modifier（dynamic block seijuji/video-card の attribute 連動） ---
   既定 cream (#FFFBF0、上の base で定義済) 以外を選んだとき render.php が付与する。
   - page-tint: ページ連動の薄色 tint（echo 等の白カード内に内包する場合に馴染ませる）
   - white:     白（白背景セクション上で軽く見せる） */
.l-content__main .seijuji-common-card--video--bg-page-tint {
    background: var(--seijuji-tint, #E5F1EA);
}
.l-content__main .seijuji-common-card--video--bg-white {
    background: #fff;
}
/* ============================================================
   Part AC: §4 メディア反響セクション (.seijuji-surroundings-section--echo)
   ------------------------------------------------------------
   surroundings §4「重なる反響」用。書籍・雑誌 / 見学者の声 /
   取材ムービー の 3 つの「段」を白カードで縦に並べたレイアウト。
   proposal v8 案 5「積層フロー」を昇格（段の重なりは外し、素直な
   縦並びにした user 指示版）。動画は Part AB の .seijuji-common-card--video
   をそのまま流用（最終段に内包）。

   構成クラス:
   - .seijuji-surroundings-section--echo               : セクション root（3 段のラッパ）
   - .seijuji-surroundings-section--echo__segment      : 1 つの段（白カード）
   - .seijuji-surroundings-section--echo__heading      : 段の小見出し行（リーフ + 文）
   - .seijuji-surroundings-section--echo__leaf         : 見出し左のリーフ SVG
   - .seijuji-surroundings-section--echo__books        : 書籍 3 冊のグリッド
   - .seijuji-surroundings-section--echo__book         : 書籍 1 冊（カバー + キャプション）
   - .seijuji-surroundings-section--echo__cover        : カバー画像の器（高さ揃え、切らない）
   - .seijuji-surroundings-section--echo__book-title   : 書名
   - .seijuji-surroundings-section--echo__book-author  : 著者・媒体
   - .seijuji-surroundings-section--echo__quote-chips  : 見学者の引用句チップの並び
   - .seijuji-surroundings-section--echo__chip         : 引用句チップ 1 つ
   - .seijuji-surroundings-section--echo__voice-body   : 引用の地の文
   - .seijuji-surroundings-section--echo__closing      : 締めの一文
   ============================================================ */

/* セクション root */
.l-content__main .seijuji-surroundings-section--echo {
    margin: 0 0 var(--seijuji-gap-comp);                                  /* 上下の段間隔 */
}
.l-content__main .seijuji-surroundings-section--echo *,
.l-content__main .seijuji-surroundings-section--echo *::before,
.l-content__main .seijuji-surroundings-section--echo *::after {
    box-sizing: border-box;                                 /* 枠計算をそろえる */
}

/* 段（segment）— 白カード。重なりはなし、positive な間隔で素直に縦並び */
.l-content__main .seijuji-surroundings-section--echo__segment {
    position: relative;                                     /* ::before 装飾の基準 */
    background: #ffffff;                                    /* 白カードベース */
    border: 1px solid var(--seijuji-tint-border, #B7D6C4);  /* 淡い緑の境界線 */
    border-radius: 14px;                                    /* 角丸 */
    padding: 22px 24px 26px;                                /* 段内の余白 */
    box-shadow: 0 6px 18px rgba(76, 139, 108, 0.10);        /* やわらかい浮き影 */
}
/* echo segment 同士の間隔は下方向所有に移管 (元 + セレクタで margin-top 20px → 2026-06-09 下方向統一) */
.l-content__main .seijuji-surroundings-section--echo__segment:not(:last-child) {
    margin-bottom: 20px;                                 /* 段どうしの間隔 */
}
/* 段の上辺アクセント — 中間グリーンの細いライン */
.l-content__main .seijuji-surroundings-section--echo__segment::before {
    content: "";                                            /* 装飾ライン */
    position: absolute;                                     /* 段の上辺に固定 */
    left: 24px;                                             /* 左内側 */
    right: 24px;                                            /* 右内側 */
    top: 0;                                                 /* 上辺 */
    height: 3px;                                            /* ライン太さ */
    background: var(--seijuji-marker, #82B999);             /* 中間グリーン */
    border-radius: 3px;                                     /* 端を丸く */
    opacity: 0.7;                                           /* 主張しすぎない */
}

/* 段の小見出し .seijuji-surroundings-section--echo__heading / .seijuji-surroundings-section--echo__leaf の装飾は
   「葉っぱ見出し」共通仕様（room-gallery セクション内に定義）に統合。
   規約: designs/content-block-policy.md T44。
   ※ .seijuji-surroundings-section--echo__leaf は __closing 内のリーフにも適用される（共通仕様の 20px・accent でそのまま流用）。 */
/* 書籍 3 冊 — 均等 3 列グリッド */
.l-content__main .seijuji-surroundings-section--echo__books {
    display: grid;                                          /* グリッド配置 */
    grid-template-columns: repeat(3, 1fr);                  /* 均等 3 列 */
    gap: 16px;                                              /* 冊間の間隔 */
    align-items: start;                                     /* 各冊を上揃え */
}
/* 書籍 1 冊 — カバー上、キャプション下 */
.l-content__main .seijuji-surroundings-section--echo__book {
    display: flex;                                          /* 縦積み */
    flex-direction: column;                                 /* 縦方向 */
    text-align: center;                                     /* キャプション中央寄せ */
}
/* カバーの器 — 3 冊で高さを揃える。カバーは切らない */
.l-content__main .seijuji-surroundings-section--echo__cover {
    display: flex;                                          /* 画像を中央配置 */
    align-items: flex-end;                                  /* 下端揃え（並ぶ印象） */
    justify-content: center;                                /* 横中央 */
    height: 170px;                                          /* 高さ揃えの固定枠 */
    margin-bottom: 10px;                                    /* キャプションとの間隔 */
}
/* カバー画像 — contain でトリミングしない（書名が切れないように） */
.l-content__main .seijuji-surroundings-section--echo__cover img {
    max-height: 100%;                                       /* 枠の高さに収める */
    max-width: 100%;                                        /* 枠の幅に収める */
    width: auto;                                            /* 縦横比を保つ */
    height: auto;                                           /* 縦横比を保つ */
    object-fit: contain;                                    /* カバーを切らない */
    border-radius: 4px;                                     /* 紙のカバーらしい控えめな角丸 */
    box-shadow: 0 4px 10px rgba(58, 58, 53, 0.22);          /* 本らしい落ち影 */
    cursor: zoom-in;                                        /* lightbox 拡大の合図 */
}
/* 書名 */
.l-content__main .seijuji-surroundings-section--echo__book-title {
    margin: 0 0 2px;                                        /* 著者との間隔 */
    font-size: 0.82rem;                                     /* 小さめ */
    font-weight: 700;                                       /* 書名は太字 */
    line-height: 1.5;                                       /* キャプションは詰め気味 */
}
/* 著者・媒体 — 小さく従属的に */
.l-content__main .seijuji-surroundings-section--echo__book-author {
    margin: 0;                                              /* 余白リセット */
    font-size: 0.72rem;                                     /* さらに小さく */
    line-height: 1.5;                                       /* 詰め気味 */
    color: #76766e;                                         /* 本文より淡い色 */
}

/* 見学者の引用句チップの並び */
.l-content__main .seijuji-surroundings-section--echo__quote-chips {
    display: flex;                                          /* チップを横並び */
    flex-wrap: wrap;                                        /* 折り返し可 */
    gap: 10px;                                              /* チップ間隔 */
    margin: 0 0 16px;                                       /* 地の文との間隔 */
}
/* 引用句チップ 1 つ */
.l-content__main .seijuji-surroundings-section--echo__chip {
    flex: 1 1 240px;                                        /* 伸縮、最小 240px で 2⇄1 列 */
    margin: 0;                                              /* p 余白リセット */
    padding: 12px 16px;                                     /* チップ内余白 */
    background: var(--seijuji-tint, #E5F1EA);               /* 薄緑 tint */
    border: 1px solid var(--seijuji-tint-border, #B7D6C4);  /* 淡い境界線 */
    border-left: 4px solid var(--seijuji-accent, #4C8B6C);  /* 左に深緑のアクセント帯 */
    border-radius: 10px;                                    /* 角丸 */
    font-size: 0.98rem;                                     /* やや大きめで「声」を強調 */
    font-weight: 600;                                       /* 引用を少し太く */
}
/* 引用の地の文 */
.l-content__main .seijuji-surroundings-section--echo__voice-body {
    margin: 0 0 20px;                                       /* 締めとの間隔 */
    font-size: 0.95rem;                                     /* 標準やや小 */
}
/* 本文中のキーワード強調 — H2 タイトルと同じ「蛍光ペン マーカー線」を inline で。
   サイト共通の <mark> マーカー流儀（.seijuji-top-section--grow__title mark 等）に倣い、echo 本文では
   太字 + 下 40% にマーカーを敷く。box-decoration-break:clone で複数行も各行に。
   マーカー色は H2 の marker（中濃度緑）だと小さい本文では文字に被って読みづらいため、
   背景ブロックと同じ tint（薄緑）で薄く敷く（2026-06-03 user 指示）。
   用途: 取材段の媒体名「マイナビ保育士チャンネル」。 */
.l-content__main .seijuji-surroundings-section--echo__voice-body mark {
    background: linear-gradient(transparent 60%, var(--seijuji-tint, #E5F1EA) 60%);
    color: inherit;                                        /* mark 既定の黄背景・黒字を打ち消す */
    font-weight: 700;
    padding: 0 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
/* 取材セグメントの動画 — 旧 .seijuji-common-card--video の入れ子箱を解除し、echo 白カード
   直下に素枠で載せる（SP で「段カード→動画カード→フレーム」の 3 重ボックスが
   狭すぎた問題の解消、2026-06-03 user 指示）。枠は marker グリーンの細枠のみで軽く。 */
.l-content__main .seijuji-surroundings-section--echo__video {
    border-radius: 12px;
    overflow: hidden;                                      /* iframe 角を角丸でクリップ */
    border: 1.5px solid var(--seijuji-marker, #82B999);
    box-shadow: 0 3px 10px rgba(76, 139, 108, 0.16);
    line-height: 0;                                        /* iframe 下の余白を消す */
}
.l-content__main .seijuji-surroundings-section--echo__video iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}
/* 締めの一文 — 余白を効かせて印象的に */
.l-content__main .seijuji-surroundings-section--echo__closing {
    margin: 0;                                              /* 余白リセット */
    padding: 14px 12px 4px;                                 /* 上に余白を取り印象づける */
    text-align: center;                                     /* 中央寄せ */
    font-size: 1.15rem;                                     /* 大きめに */
    font-weight: 700;                                       /* 太字 */
    line-height: 1.7;                                       /* 締めらしい行間 */
    color: var(--seijuji-accent, #4C8B6C);                  /* アクセント深緑 */
}
/* 締めの上に小さなリーフを中央で添える */
.l-content__main .seijuji-surroundings-section--echo__closing .seijuji-surroundings-section--echo__leaf {
    display: block;                                         /* 中央配置のためブロック化 */
    margin: 0 auto 6px;                                     /* 中央寄せ + 下余白 */
    width: 22px;                                            /* やや大きめ */
    height: 22px;                                           /* やや大きめ */
}

/* --- SP（~520px 以下）--- */
@media (max-width: 520px) {
    /* 段の内側余白を控えめに */
    .l-content__main .seijuji-surroundings-section--echo__segment {
        padding: 18px 14px 20px;                            /* SP の段内余白 */
    }
    /* 上辺ラインを内側余白に合わせる */
    .l-content__main .seijuji-surroundings-section--echo__segment::before {
        left: 14px;                                         /* SP の左内側 */
        right: 14px;                                        /* SP の右内側 */
    }
    /* 小見出し — 段番号が収まらなければ折り返す */
    .l-content__main .seijuji-surroundings-section--echo__heading {
        flex-wrap: wrap;                                    /* 折り返し可 */
        font-size: 0.98rem;                                 /* SP の小見出しサイズ */
    }
    /* 書籍 — 3 列維持。冊間を詰め、カバー枠を低く（contain で切れない） */
    .l-content__main .seijuji-surroundings-section--echo__books {
        gap: 8px;                                           /* 狭幅なので詰める */
    }
    .l-content__main .seijuji-surroundings-section--echo__cover {
        height: 118px;                                      /* SP のカバー枠高さ */
        margin-bottom: 8px;                                 /* キャプションとの間隔 */
    }
    .l-content__main .seijuji-surroundings-section--echo__book-title {
        font-size: 0.72rem;                                 /* SP の書名サイズ */
    }
    .l-content__main .seijuji-surroundings-section--echo__book-author {
        font-size: 0.66rem;                                 /* SP の著者サイズ */
    }
    /* 引用チップ — 縦積み（横並びだと窮屈） */
    .l-content__main .seijuji-surroundings-section--echo__chip {
        flex: 1 1 100%;                                     /* 1 列に */
        font-size: 0.92rem;                                 /* SP のチップ文字 */
    }
    /* 締めの一文 — SP のサイズ */
    .l-content__main .seijuji-surroundings-section--echo__closing {
        font-size: 1.04rem;                                 /* SP の締めサイズ */
    }
}


/* =============================================================
   TOP §3-5 共通 H2 タイトル装飾 — grow / album / pair の 3 セクション

   共通ルール (Part A-2) で全 H2 は `display: inline-block; width: fit-content`
   なので、§3-5 のセンタリングは block 化 + margin-inline: auto が必須。
   個別 block で書き漏らすと左寄せバグになる (2026-06-12 grow__title で発覚)
   ため、共通装飾は 1 箇所に集約。差分 (font-weight / line-height / color /
   letter-spacing) のみ各 Part の個別 block で残す。
   ============================================================= */
body.page-id-16 .l-content__main h2.seijuji-top-section--grow__title,
body.page-id-16 .l-content__main h2.seijuji-top-card-grid--album__title,
body.page-id-16 .l-content__main h2.seijuji-top-section--pair__title {
    display: block;                                     /* 共通 H2 の inline-block を block に戻す */
    margin: 0 auto;                                     /* fit-content 共通ルール下で中央寄せ */
    padding: 0;
    background: none;                                   /* 既定の marker gradient を打ち消す (特異度 (0,3,2) > (0,2,1)) */
    text-align: center;
    font-size: clamp(24px, 4.2vw, 36px);                /* PC max 36px */
}
/* 既定の house アイコン (::before) を打ち消す */
body.page-id-16 .l-content__main h2.seijuji-top-section--grow__title::before,
body.page-id-16 .l-content__main h2.seijuji-top-card-grid--album__title::before,
body.page-id-16 .l-content__main h2.seijuji-top-section--pair__title::before {
    content: none;
    display: none;
}


/* =============================================================
   Part AD: TOP §3「たくましく生きる土台を作ろう」(.seijuji-top-section--grow)
   採用デザイン = パターン5（キーワード×gif 横並び型）。
   構成: kicker バッジ + h2（「土台」を傾き色ボックスで強調）→ リード文
       → 2カラム[左:3キーワード行 / 右:イラスト(PC のみ)] → 写真2枚。
   - イラスト「みんなでのぼる」は PC のみ右側、SP は display:none
   - キーワード行のアイコンは ::before の background-image data-URI で
     CSS 完結（content に SVG を持たせない）
   経緯: worklogs/2026-05-22 TOP §3 案出し（proposal-13 採用）
   ============================================================= */

/* §3 コンポーネント全体ラッパ
   §4 .seijuji-top-card-grid--album と同じアルバム台紙（淡いクリーム panel）に揃える。 */
.l-content__main .seijuji-top-section--grow {
    --grow-peach: #E8956E;                              /* TOP アクセント（ピーチ） */
    --grow-mark: #FFD9C0;                               /* 薄マーカー */
    --grow-karada: #3f9a3f;                             /* からだ: 緑（文字・線） */
    --grow-karada-bg: #eaf8ea;                          /* からだ: 行の淡色背景 */
    --grow-atama: #d98330;                              /* あたま: 橙（文字・線） */
    --grow-atama-bg: #fdf0e0;                           /* あたま: 行の淡色背景 */
    --grow-kokoro: #8a5fb5;                             /* こころ: 紫（文字・線） */
    --grow-kokoro-bg: #f0eaf7;                          /* こころ: 行の淡色背景 */
    --grow-ink: #4a3b33;                                /* 本文の文字色（こげ茶） */
    max-width: 816px;                                   /* §4 と同じ: 内側 768px + 左右 padding 24px */
    margin: 0 auto;                                     /* 中央寄せ */
    box-sizing: border-box;                             /* padding 込みで 816px */
    background: #fbf3e6;                                /* アルバム台紙: 淡いクリーム */
    background-image:                                   /* かすかな紙の陰影 */
        linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 55%);
    border-radius: 18px;                                /* サイト共通の丸み */
    padding: 50px 24px 58px;                            /* §4 と同じ panel 余白 */
    color: var(--grow-ink);                             /* 文字色 */
}

/* ---- 見出しエリア（中央寄せ） — pair と構造統一 (kicker+H2+lead を内含) ---- */
.l-content__main .seijuji-top-section--grow__head {
    text-align: center;                                 /* kicker と h2 と lead を中央に */
    margin-bottom: var(--seijuji-gap-comp);             /* メイン (3 行カード) との間隔 = comp 2em (32px)、pair と統一 */
}

/* kicker バッジ「すくすく そだつ」 */
.l-content__main p.seijuji-top-section--grow__kicker {
    display: inline-flex;                               /* アイコン + 文字を横並び */
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;                                   /* h2 との間隔 */
    padding: 7px 16px;                                  /* バッジ内側余白 */
    background: #fff;                                   /* 白地のピル */
    color: var(--grow-peach);                           /* ピーチ文字 */
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    border-radius: 999px;                               /* 丸ピル形 */
    box-shadow: 0 4px 0 rgba(232,149,110,.3);           /* ぷっくり影 */
}
/* kicker 先頭の家アイコン（TOP テーマアイコン、§1 §2 と統一） */
.l-content__main p.seijuji-top-section--grow__kicker::before {
    content: "";
    width: 14px;
    height: 14px;
    background-color: var(--grow-peach);                /* 家をピーチ色で塗る */
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
}

/* h2 見出し本体 — 共通装飾は冒頭の「TOP §3-5 共通 H2 タイトル装飾」block 参照
   grow 固有の強調 (太め・行高詰め・grow-ink) のみここで上書き */
body.page-id-16 .l-content__main h2.seijuji-top-section--grow__title {
    font-weight: 900;
    line-height: 1.44;
    color: var(--grow-ink);
    margin-bottom: 18px;                                /* H2 → lead 間 gap、Stack 下方向所有 */
}
/* 「土台」を傾いた色ボックスで強調（核となる装飾）
   bg/color は content 側の <mark> インライン style（蛍光ペン format で堅牢）、
   ボックス形状（角丸・傾き・影）はここで付与する */
.l-content__main .seijuji-top-section--grow__title mark {
    display: inline-block;
    padding: 0 0.14em;
    border-radius: 10px;                                /* 角丸ボックス */
    transform: rotate(-2deg);                           /* ちょっと傾けてかわいく */
    box-shadow: 0 4px 0 rgba(180,95,55,.38);            /* ぷっくり影 */
}

/* ---- リード文 — head wrap 内含 (pair と構造統一)、bottom 余白は head wrap 側 ---- */
.l-content__main .seijuji-top-section--grow__lead {
    max-width: 720px;
    margin: 0 auto;                                     /* 中央寄せのみ。bottom 余白は __head mb で制御 */
    text-align: center;
    font-size: 16px;
    line-height: 2;
    font-weight: 600;
}
/* リード内の 2 つ目の <br>（「土台を」の後）は PC で隠す、SP のみ表示。
   1 つ目（「ために、」の後）は常に表示。content に素の <br> を 2 個置き、
   nth-of-type で 2 つ目だけ出し分ける */
.l-content__main .seijuji-top-section--grow__lead br:nth-of-type(2) {
    display: none;
}
@media (max-width: 781px) {
    .l-content__main .seijuji-top-section--grow__lead br:nth-of-type(2) {
        display: inline;
    }
}

/* ---- メイン 2 カラム（左:キーワード / 右:イラスト） ---- */
.l-content__main .seijuji-top-section--grow__main.wp-block-columns {
    align-items: center;                                /* 左右を縦中央で揃える */
    justify-content: center;                            /* カード + gif を中央寄せ */
    gap: 32px;
    margin-bottom: var(--seijuji-gap-comp);             /* §3 grow → §4 album の comp 級境界 (旧 34px → 32px、2026-06-12) */
}
/* 左カラム（キーワード）幅 — §3 のコンテンツ幅は 768px。7:3 配分で左 510px
   （右のイラスト列は残り ≒ 226px を flex:1 で自動的に埋める） */
.l-content__main .seijuji-top-section--grow__main > .wp-block-column:first-child {
    flex: 0 0 510px;
}

/* キーワード行（3つ・対等） */
.l-content__main .seijuji-top-section--grow__row.wp-block-group {
    display: grid;                                      /* アイコン + テキストの2列 */
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 3px 18px;
    margin: 0 0 16px;                                   /* 行間 */
    padding: 20px 24px;
    border-radius: 20px;
    border: 2px solid #fff;
    box-shadow: 0 5px 16px rgba(74,59,51,.08);
}
.l-content__main .seijuji-top-section--grow__row.wp-block-group:last-child {
    margin-bottom: 0;
}
/* 行の淡色背景（キーワード別） */
.l-content__main .seijuji-top-section--grow__row--karada { background: var(--grow-karada-bg); }
.l-content__main .seijuji-top-section--grow__row--atama  { background: var(--grow-atama-bg); }
.l-content__main .seijuji-top-section--grow__row--kokoro { background: var(--grow-kokoro-bg); }
/* 行頭のアイコン丸（::before、ラベルと説明の2行をまたぐ） */
.l-content__main .seijuji-top-section--grow__row::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / 3;                                    /* 2 行ぶち抜き */
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: #fff;                             /* 白い丸の台座 */
    background-repeat: no-repeat;
    background-position: center;
    background-size: 27px 27px;
    box-shadow: 0 4px 0 rgba(74,59,51,.12);
}
/* 各キーワードのアイコン画像（background-image data-URI、色は固定） */
.l-content__main .seijuji-top-section--grow__row--karada::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f9a3f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='14' cy='4.5' r='2.3' fill='%233f9a3f' stroke='none'/><path d='M13.5 8l-3.2 3 1.5 3.6-3 5'/><path d='M11.8 14.6l4 1.2 1.7 4.2'/><path d='M10.3 11L6 11.6 4 9'/><path d='M13.5 8l4.5 1'/></svg>");
}
.l-content__main .seijuji-top-section--grow__row--atama::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d98330' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6M10 21h4'/><path d='M12 2.5a6.5 6.5 0 0 0-4 11.6c.7.6 1 1.4 1 2.4h6c0-1 .3-1.8 1-2.4A6.5 6.5 0 0 0 12 2.5z'/></svg>");
}
.l-content__main .seijuji-top-section--grow__row--kokoro::before {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238a5fb5'><path d='M12 21s-7-4.6-9.3-9C1.3 9.2 2.6 5.7 6 5.2c2.2-.3 3.7 1 4.6 2.3.9-1.3 2.4-2.6 4.6-2.3 3.4.5 4.7 4 3.3 6.8C19 16.4 12 21 12 21z'/></svg>");
}
/* キーワードのラベル（h3）— 既定の H3 circle アイコンは出さない */
.l-content__main h3.seijuji-top-section--grow__label {
    grid-column: 2;                                     /* アイコンの右 */
    margin: 0;
    padding: 0;
    border-bottom: 0;                                   /* 素 h3 標準のアクセント下線をオプトアウト (2026-06-10) */
    font-size: 21px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.3;
}
.l-content__main h3.seijuji-top-section--grow__label::before {
    content: none;
    display: none;
}
.l-content__main .seijuji-top-section--grow__row--karada h3.seijuji-top-section--grow__label { color: var(--grow-karada); }
.l-content__main .seijuji-top-section--grow__row--atama  h3.seijuji-top-section--grow__label { color: var(--grow-atama); }
.l-content__main .seijuji-top-section--grow__row--kokoro h3.seijuji-top-section--grow__label { color: var(--grow-kokoro); }
/* キーワードの説明文 */
.l-content__main .seijuji-top-section--grow__desc {
    grid-column: 2;                                     /* アイコンの右 */
    font-size: 14.5px;
    line-height: 1.8;
    font-weight: 600;
}
/* PC（782px 以上）は説明文の改行を出さず 1 行で見せる。
   SP（781px 以下）では content 内の <br> がそのまま効き「、」位置で折り返す
   ＝ ページ専用の「PC 1 行 / SP 改行」出し分け。狭いカードでの汚い自然折返しを防ぐ。
   <br> は素のまま（クラスを付けるとブロック検証エラーになるため CSS 側で制御） */
@media (min-width: 782px) {
    .l-content__main .seijuji-top-section--grow__desc br {
        display: none;
    }
    /* こころは文が長く 1 行に収まらないため、PC でも 1 回だけ改行（2 行）にする */
    .l-content__main .seijuji-top-section--grow__row--kokoro .seijuji-top-section--grow__desc br:first-of-type {
        display: inline;
    }
}

/* 右カラム = イラスト「みんなでのぼる」（PC のみ表示） */
.l-content__main .seijuji-top-section--grow__illust img {
    display: block;
    width: 100%;
    max-width: 220px;                                   /* カードを主役にした 7:3 配分 */
    margin: 0 auto;
}

/* ---- 写真 2 枚（ポラロイド風） ---- */
.l-content__main .seijuji-top-section--grow__photos.wp-block-columns {
    gap: 24px;
}
.l-content__main .seijuji-top-section--grow__photo img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;                                /* 実寸不明でも崩れない */
    object-fit: cover;
    border-radius: 3px;
}
/* 写真をポラロイド風の白フチ + 影 + わずかな傾き */
.l-content__main .seijuji-top-section--grow__photo.wp-block-image {
    background: #fff;
    padding: 10px 10px 14px;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(74,59,51,.14);
    margin: 0;
}
.l-content__main .seijuji-top-section--grow__photos > .wp-block-column:first-child .seijuji-top-section--grow__photo {
    transform: rotate(-1.4deg);                         /* 左の写真を少し左傾き */
}
.l-content__main .seijuji-top-section--grow__photos > .wp-block-column:last-child .seijuji-top-section--grow__photo {
    transform: rotate(1.4deg);                          /* 右の写真を少し右傾き */
}

/* ---- スマホ（〜781px）: イラスト非表示・縦積み ---- */
@media (max-width: 781px) {
    /* SP は panel 余白を詰める（§4 .seijuji-top-card-grid--album SP と揃える） */
    .l-content__main .seijuji-top-section--grow { padding: 38px 16px 44px; }
    /* gif は SP 非表示（core/columns はこの幅で自動縦積み） */
    .l-content__main .seijuji-top-section--grow__illustcol { display: none; }
    .l-content__main .seijuji-top-section--grow__main.wp-block-columns { gap: 0; }   /* mb は PC ティア (comp 2em) を継承、SP override 撤去 2026-06-12 */
    .l-content__main .seijuji-top-section--grow__lead { font-size: 15px; }   /* bottom 余白は __head 側 */
    /* 写真の傾きは SP で解除 */
    .l-content__main .seijuji-top-section--grow__photos > .wp-block-column:first-child .seijuji-top-section--grow__photo,
    .l-content__main .seijuji-top-section--grow__photos > .wp-block-column:last-child .seijuji-top-section--grow__photo {
        transform: none;
    }
    .l-content__main .seijuji-top-section--grow__photos.wp-block-columns { gap: 18px; }
    /* SP は説明文の最長行（こころ 1 行目）が 1 行に収まるよう行内を詰める */
    .l-content__main .seijuji-top-section--grow__row.wp-block-group {
        padding-left: 16px;
        padding-right: 16px;
    }
    .l-content__main .seijuji-top-section--grow__row::before {
        width: 44px;
        height: 44px;
        background-size: 23px 23px;
    }
    .l-content__main .seijuji-top-section--grow__desc {
        font-size: 14px;
    }
}

/* SP h2 を §3-5 で 28px に統一（§4 §5 は各 600px ブロック側で同値設定済み）*/
@media (max-width: 600px) {
    body.page-id-16 .l-content__main h2.seijuji-top-section--grow__title {
        font-size: 28px;
    }
}

/* =============================================================
   Part AE: TOP §4「聖十字幼稚園の保育」(.seijuji-top-card-grid--album)
   採用デザイン = 案5（ポラロイド・アルバム）。
   構成: h2（中央 + ピーチ下線 ::after）→ 2 列グリッドにポラロイド
       写真 10 枚（白フチ + 交互の傾き + やわらかい影）。
   - 直上の §3 .seijuji-top-section--grow のポラロイド写真と同じ語彙で地続きに。
   - 写真は figure.wp-block-image を子孫セレクタでカード化するので、
     先生がエディタで写真を足しても自動でポラロイド化される。
   経緯: worklogs/2026-05-22 TOP §4 案出し（案5 採用）
   ============================================================= */

/* §4 コンポーネント全体ラッパ = アルバムの台紙（淡いクリーム） */
.l-content__main .seijuji-top-card-grid--album {
    max-width: 816px;                                   /* 内側コンテンツ 768px + 左右 padding 24px */
    margin: 0 auto;                                     /* 中央寄せ */
    box-sizing: border-box;                             /* padding 込みで 816px */
    background: #fbf3e6;                                /* アルバム台紙: 淡いクリーム */
    background-image:                                   /* かすかな紙の陰影（うるさくない程度） */
        linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 55%);
    border-radius: 18px;                                /* サイト共通の丸み */
    padding: 50px 24px 58px;                            /* 上下ゆったり・左右はコンテンツ余白 */
    color: #4a3b33;                                     /* 本文インク: こげ茶 */
}

/* ---- 見出しエリア（キッカー + h2 を内包、§3 __head と同じ構造） ---- */
.l-content__main .seijuji-top-card-grid--album__head {
    text-align: center;                                 /* キッカーと h2 を中央に */
    margin-bottom: var(--seijuji-gap-comp);             /* グリッドとの間隔 = comp 2em (32px、token 化 2026-06-12) */
}

/* キッカーバッジ「わくわく まなぶ」（§3 .seijuji-top-section--grow__kicker と同仕様） */
.l-content__main p.seijuji-top-card-grid--album__kicker {
    display: inline-flex;                               /* 星アイコン + 文字を横並び */
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;                                   /* h2 との間隔 */
    padding: 7px 16px;                                  /* バッジ内側余白 */
    background: #fff;                                   /* 白地のピル */
    color: var(--seijuji-accent, #E8956E);              /* ピーチ文字 */
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    border-radius: 999px;                               /* 丸ピル形 */
    box-shadow: 0 4px 0 rgba(232,149,110,.3);           /* ぷっくり影 */
}
/* キッカー先頭の家アイコン（TOP テーマアイコン、§1 §2 §3 と統一） */
.l-content__main p.seijuji-top-card-grid--album__kicker::before {
    content: "";
    width: 14px;
    height: 14px;
    background-color: var(--seijuji-accent, #E8956E);   /* 家をピーチ色で塗る */
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
}

/* ---- セクション見出し H2（中央寄せ・ピーチ下線） ---- */
/* page-id-16 既定の house アイコン + マーカー gradient を打ち消す。
   サイズは §3 .seijuji-top-section--grow__title に寄せた大きめ可変指定 */
/* 共通装飾は冒頭の「TOP §3-5 共通 H2 タイトル装飾」block 参照 */
body.page-id-16 .l-content__main h2.seijuji-top-card-grid--album__title {
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.5;
    color: #4a3b33;
}
/* 「毎日」を傾いた色ボックスで強調（§3「土台」と同じ語彙）
   bg/color は content 側の <mark> インライン style、形状はここで付与 */
.l-content__main .seijuji-top-card-grid--album__title mark {
    display: inline-block;
    padding: 0 0.16em;
    border-radius: 10px;                                /* 角丸ボックス */
    transform: rotate(-2deg);                           /* ちょっと傾けてかわいく */
    box-shadow: 0 4px 0 rgba(180,95,55,.38);            /* ぷっくり影 */
}
/* タイトル内の <br> は PC でも表示（§3 §5 と統一：mark 強調から 2 行目スタート）*/
/* h2 下のピーチ下線は撤去（user 判断 — TOP 全体微調整時に削除）*/

/* ---- ギャラリー本体: 2 列グリッド ---- */
.l-content__main .seijuji-top-card-grid--album__grid.wp-block-group {
    display: grid;                                      /* 2 列グリッド */
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 26px;                                     /* 段間をやや広めにアルバムの余白感 */
    margin: 0;                                          /* 見出しエリア側で間隔を確保 */
}

/* ---- ポラロイドカード（各写真 figure） ---- */
/* §3 .seijuji-top-section--grow__photo と同じ語彙。子孫セレクタなので写真追加で自動適用 */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image {
    margin: 0;
    background: #fff;                                   /* ポラロイドの白フチ */
    padding: 12px 12px 14px;                            /* 下を厚めにキャプション台座 */
    border-radius: 7px;
    box-shadow: 0 8px 20px rgba(74,59,51,.14);          /* §3 と同じやわらかい影 */
    transition: transform .28s ease, box-shadow .28s ease;
}
/* 写真本体: 4:3 に正規化して横長/4:3 のバラつきを吸収 */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;                                  /* はみ出しは切り落として整列 */
    border-radius: 3px;
    margin: 0;
}
/* キャプション: 白フチ下部に中央寄せ・こげ茶（写真に重ねない） */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image figcaption.wp-element-caption {
    margin: 0 4px 2px;
    text-align: center;
    font-size: 14.5px;
    line-height: 1.55;
    font-weight: 700;
    color: #4a3b33;                                     /* こげ茶で確実に読める */
    letter-spacing: 0.01em;
}

/* ---- 傾き: nth-child で交互（やりすぎない ±2.4deg まで） ---- */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image:nth-child(odd)  { transform: rotate(-2.4deg); }
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image:nth-child(even) { transform: rotate(2.2deg); }
/* 単調さを避けるため一部だけ傾き量を変える */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image:nth-child(4n+3) { transform: rotate(1.6deg); }
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image:nth-child(4n)   { transform: rotate(-1.5deg); }

/* ---- ホバー: 傾きをほどいてふわっと持ち上げる ---- */
.l-content__main .seijuji-top-card-grid--album__grid .wp-block-image:hover {
    transform: rotate(0deg) translateY(-6px) scale(1.015);
    box-shadow: 0 14px 28px rgba(74,59,51,.2);          /* 影を濃く広く＝浮いた表現 */
    position: relative;
    z-index: 2;                                         /* 隣のカードより手前に */
}

/* ---- スマホ（〜600px）: 2 列維持・キャプション縮小（user 判断 — 1 列だと間延びする）---- */
@media (max-width: 600px) {
    .l-content__main .seijuji-top-card-grid--album {
        padding: 38px 16px 44px;
    }
    /* SP は読点「、」で 2 行に折り返す（タイトル内の <br> を出す） */
    .l-content__main .seijuji-top-card-grid--album__title br {
        display: inline;
    }
    /* SP タイトル — §3-5 で 28px に統一 */
    body.page-id-16 .l-content__main h2.seijuji-top-card-grid--album__title {
        font-size: 28px;
    }
    /* SP も PC と同じ 2 列を維持（画像小さくても雰囲気わかる、間延び解消） */
    .l-content__main .seijuji-top-card-grid--album__grid.wp-block-group {
        gap: 18px 14px;                              /* SP は狭幅なのでカード詰め寄り */
    }
    /* SP の小さいカードに合わせて白フチ・キャプションを縮める */
    .l-content__main .seijuji-top-card-grid--album__grid .wp-block-image {
        padding: 8px 8px 10px;                       /* PC の 12/12/14 から圧縮 */
    }
    .l-content__main .seijuji-top-card-grid--album__grid .wp-block-image figcaption.wp-element-caption {
        margin: 0 2px 2px;
        font-size: 12.5px;                           /* 2 列で小さくなるので読み込み量に合わせて縮める */
        line-height: 1.5;
    }
    /* 交互傾きは PC と同じ ±2.4° / ±2.2° / ±1.6° / ±1.5° を保持（解除しない）*/
}

/* =============================================================
   Part AF: TOP §5「遊びと活動、ふたつの時間を大切に」(.seijuji-top-section--pair)
   採用デザイン = R2 案3（ラベル帯主役型）+ 微調整。
   構成: 中央ヘッダ（kicker → h2「ふたつ」mark → リード文）
       → 2列グリッドにカード×2（ピーチの band: 1行ラベル〈時間1 のみ
         こひつじの時間を inline ピルで添える〉→ body: イラスト +
         サブコピー + 本文3段落）。
   - 2枚の band はピーチ単色（交互色なし）/ 01・02 番号なし。
   - PC は H2 を1行表示、SP は「、」で改行（content に素の <br>）。
   経緯: worklogs/2026-05-23-0418-TOP-§5-遊びとクラス活動-案出しとコピー確定.md
   ============================================================= */

/* §5 コンポーネント全体ラッパ = アルバム台紙（§3・§4 と同じクリーム panel）*/
.l-content__main .seijuji-top-section--pair {
    max-width: 816px;                                /* §3/§4 と同じ panel 幅 */
    margin: 0 auto;                                  /* 中央寄せ */
    box-sizing: border-box;
    background: #fbf3e6;                             /* クリーム台紙 */
    background-image:                                /* かすかな紙の陰影 */
        linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 55%);
    border-radius: 18px;                             /* サイト共通の丸み */
    padding: 50px 24px 58px;                         /* 上下ゆったり */
    color: #4a3b33;                                  /* 本文インク: こげ茶 */
}

/* ---- 見出しエリア（中央寄せ） ---- */
.l-content__main .seijuji-top-section--pair__head {
    text-align: center;                              /* kicker → h2 → リードを中央に */
    margin-bottom: var(--seijuji-gap-comp);          /* グリッドとの間隔 = comp 2em (32px、旧 36px → 32 ティア化 2026-06-12) */
}

/* キッカーバッジ「のびのび きりっと」（§3/§4 と同仕様の白ピル + 星）*/
.l-content__main p.seijuji-top-section--pair__kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px;
    padding: 7px 16px;
    background: #fff;                                /* 白ピル */
    color: var(--seijuji-accent, #E8956E);           /* ピーチ文字 */
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    border-radius: 999px;
    box-shadow: 0 4px 0 rgba(232,149,110,.3);
}
/* キッカー先頭の家アイコン（TOP テーマアイコン、§1 §2 §3 §4 と統一） */
.l-content__main p.seijuji-top-section--pair__kicker::before {
    content: "";
    width: 14px;
    height: 14px;
    background-color: var(--seijuji-accent, #E8956E);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
}

/* セクション見出し H2 — page-id-16 既定の house アイコン + マーカー gradient を打ち消す */
/* 共通装飾は冒頭の「TOP §3-5 共通 H2 タイトル装飾」block 参照 */
body.page-id-16 .l-content__main h2.seijuji-top-section--pair__title {
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.5;
    color: #4a3b33;
    margin-bottom: 18px;                              /* H2 → lead 間 gap、Stack 下方向所有 (§5 L5704 補完案件) */
}
/* 「ふたつ」を傾き色ボックスで強調（§3「土台」/§4「毎日」と同手）
   bg/color は content の <mark> インライン style、形状はここで付与 */
.l-content__main .seijuji-top-section--pair__title mark {
    display: inline-block;
    padding: 0 0.16em;
    border-radius: 10px;                              /* 角丸ボックス */
    transform: rotate(-2deg);                         /* 微傾き */
    box-shadow: 0 4px 0 rgba(180,95,55,.38);          /* ぷっくり影 */
}
/* リードの <br> は PC で隠し SP のみ表示（タイトル br は PC でも出す — §3 §4 と統一）
   __subcopy br は除外（user 判断 — サブコピーは PC でも 2 行表示で時間1/2 のバランスを取る）*/
.l-content__main .seijuji-top-section--pair__lead br {
    display: none;
}

/* リード文 — H2 直下に中央寄せ */
.l-content__main p.seijuji-top-section--pair__lead {
    max-width: 640px;
    margin: 0 auto 0;
    text-align: center;
    font-size: 15.5px;
    line-height: 1.9;
    font-weight: 500;
    color: #5a4a3f;
}

/* ---- 2 列グリッド ---- */
.l-content__main .seijuji-top-section--pair__grid.wp-block-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin: 0;
}

/* ---- 各カード（白カード）---- */
.l-content__main .seijuji-top-section--pair__card.wp-block-group {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(74,59,51,.08);
    overflow: hidden;                                 /* band の角丸クリップ */
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

/* ---- ラベル帯（band: ピーチ塗りつぶし + 下にノッチ）---- */
.l-content__main .seijuji-top-section--pair__band.wp-block-group {
    position: relative;
    background: var(--seijuji-accent, #E8956E);       /* ピーチ単色（両カード同じ）*/
    padding: 20px 22px 22px;
    color: #fff;
    text-align: center;
    margin: 0;
}
/* band 下のノッチ（リボン感の三角形）*/
.l-content__main .seijuji-top-section--pair__band::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 13px solid var(--seijuji-accent, #E8956E);
}

/* ラベル（主見出し）— 1 行構成 */
/* ラベル全体（主 + 副ピル）を flex で中央寄せ・縦中央そろえ。
   p の display:flex は中の text node + span を flex items として扱い、
   align-items:center で主テキストと副ピルの上下中央そろえが成立。
   flex-wrap:wrap で狭幅では副ピルが下にぶら下がる（旧 SP override 不要） */
.l-content__main p.seijuji-top-section--pair__label {
    display: flex;
    align-items: center;                              /* 主テキストと副ピルを縦中央そろえ */
    justify-content: center;                          /* band 内中央（text-align:center の flex 代替）*/
    flex-wrap: wrap;                                  /* 狭幅では副ピルを次行に折り返し */
    gap: 8px;                                         /* 主と副の隙間 */
    margin: 0;
    font-size: clamp(18px, 2.8vw, 22px);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.4;
    color: #fff;
}
/* 副ラベル「こひつじの時間」— flex item として主の右に並ぶ */
.l-content__main .seijuji-top-section--pair__label-sub {
    display: inline-block;
    padding: 2px 11px;
    background: rgba(255,255,255,.22);                /* 白半透明 */
    border: 1.5px solid rgba(255,255,255,.55);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

/* ---- カード本文エリア ---- */
.l-content__main .seijuji-top-section--pair__body.wp-block-group {
    padding: 28px 22px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
}

/* イラスト — 透過線画カットを中央に、白フチ額装なし */
.l-content__main .seijuji-top-section--pair__body .wp-block-image {
    text-align: center;
    margin: 0 auto;
}
.l-content__main .seijuji-top-section--pair__body .wp-block-image img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    max-height: 130px;                                /* イラストはアクセント扱い */
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(74,59,51,.1));
}

/* サブコピー（小見出しと本文の間・1 行）— 対比軸を見せる効きどころ */
.l-content__main p.seijuji-top-section--pair__subcopy {
    margin: 0;
    padding: 8px 14px;
    background: #FFF5EF;                              /* ごく薄いピーチ */
    border-left: 3px solid var(--seijuji-accent, #E8956E);
    border-radius: 0 6px 6px 0;
    color: var(--seijuji-accent, #E8956E);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.6;
}

/* 本文段落（サブコピー以外の p） */
.l-content__main .seijuji-top-section--pair__body p:not(.seijuji-top-section--pair__subcopy) {
    margin: 0;
    font-size: 14.5px;
    line-height: 2;
    color: #4a3b33;
}

/* ---- スマホ（〜600px）: 1 列・H2 改行表示 ---- */
@media (max-width: 600px) {
    .l-content__main .seijuji-top-section--pair {
        padding: 38px 16px 44px;
    }
    .l-content__main .seijuji-top-section--pair__grid.wp-block-group {
        grid-template-columns: 1fr;                   /* 1 列に落とす */
        gap: 32px;
    }
    /* SP はリードの <br> を出して改行（title br は常時表示なので対象外、subcopy も同様）*/
    .l-content__main .seijuji-top-section--pair__lead br {
        display: inline;
    }
    /* SP タイトル — §3-5 で 28px に統一 */
    body.page-id-16 .l-content__main h2.seijuji-top-section--pair__title {
        font-size: 28px;
    }
    .l-content__main p.seijuji-top-section--pair__lead {
        font-size: 14.5px;
    }
    .l-content__main p.seijuji-top-section--pair__label {
        font-size: 20px;
    }
    /* 副ラベルは flex-wrap で自動的に次行に折り返すので SP override 不要 */
    .l-content__main .seijuji-top-section--pair__body .wp-block-image img {
        max-height: 110px;
    }
}

/* =============================================================
   Part AG: TOP §2「もくじ」(.seijuji-top-nav--menu)
   採用デザイン = §3-5 と同じクリーム台紙 panel + h2 をキッカー badge スタイルで描画。
   構成: panel > [h2.seijuji-top-nav--menu__kicker「もくじ」(badge) + 既存 wp:html
        (seijuji-egg-banner + seijuji-egg-menu)]。
   - h2 はセマンティクス維持しつつ視覚は §3-5 キッカーと同形（白ピル + 星 + ピーチ）
   - 卵メニュー本体（seijuji-egg-banner / seijuji-egg-menu）は wp:html 据え置き
     （user 判断 2026-05-22）
   - !important なし: body.page-id-16 .l-content__main h2.seijuji-top-nav--menu__kicker の
     特異度 (0,3,2) が seijuji.css line 453 の (0,2,1) を上回るため
   経緯: TOP §3-5 完了に続く §2 統一作業
   ============================================================= */

/* §2 panel = §3-5 と同じクリーム台紙 */
.l-content__main .seijuji-top-nav--menu {
    max-width: 816px;
    margin: 0 auto;                              /* 中央寄せ */
    box-sizing: border-box;
    background: #fbf3e6;                         /* クリーム台紙 */
    background-image:
        linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 55%);
    border-radius: 18px;
    padding: 50px 24px 58px;                     /* §3-5 と同じ余白 */
    text-align: center;                          /* 中身を中央寄せ */
    color: #4a3b33;
}

/* h2「もくじ」を キッカー badge スタイルで描画
   特異度 (0,3,2) > 既定 .l-content__main h2.wp-block-heading (0,2,1)。!important 不要 */
body.page-id-16 .l-content__main h2.seijuji-top-nav--menu__kicker {
    display: inline-flex;                        /* 既定の display:inline を flex に */
    align-items: center;
    gap: 6px;                                    /* 星と「もくじ」の間 */
    margin: 0 0 24px;                            /* 卵バナーとの間隔 24px */
    padding: 7px 16px;
    background: #fff;                            /* 白ピル（既定の marker gradient を上書き）*/
    color: var(--seijuji-accent, #E8956E);
    font-size: 13px;
    font-weight: 800;
    /* line-height は h2 既定の 1.8 を継承（§3-5 キッカーと揃える）*/
    letter-spacing: 0.08em;
    border-radius: 999px;                        /* 丸ピル */
    box-shadow: 0 4px 0 rgba(232,149,110,.3);
}
/* 家アイコン ::before（TOP テーマの page-id-16 既定アイコンを採用 + margin リセット）
   特異度 (0,3,3) は line 533 と同じだが、source order で勝つ（後に書く）
   既定の house FontAwesome SVG（line 211-212）と同じ path、サイズだけ揃える */
body.page-id-16 .l-content__main h2.seijuji-top-nav--menu__kicker::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0;                                   /* 既定の margin-right:10px をリセット */
    background-color: var(--seijuji-accent, #E8956E);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
}
/* デフォルト .l-content__main h2.wp-block-heading + * の margin-top:1em をリセット
   （h2 の margin-bottom で間隔を取る方針）*/
.l-content__main h2.seijuji-top-nav--menu__kicker + * {
    margin-top: 0;
}

/* SP: panel padding を §3-5 と同じく詰める */
@media (max-width: 600px) {
    .l-content__main .seijuji-top-nav--menu {
        padding: 38px 16px 44px;
    }
}

/* =============================================================
   Part AH: TOP §1「お知らせ」(.seijuji-top-section--news)
   採用デザイン = 案 3 ベース左右 2 列 + 注目カードは「ベルアイコン円 + 縦 2 行」
   + お知らせは「ピル先頭列揃え + 月日のみ」+ 黄ピル/青ピル + 日付色 β。
   構成: panel > [h2.seijuji-top-section--news__kicker「お知らせ」(badge) +
        seijuji-top-section--news__grid (left:featured / right:regular) +
        seijuji-top-section--news__more-wrap]
   - h2 はキッカー badge スタイル（§2 もくじと同形：白ピル + 星 + ピーチ）
   - 注目枠カードは左バー peach 4px、ベルアイコン 44x44 円バッジ
   - お知らせ枠は破線区切り + 黄ピル/青ピル + 月日のみ表示
   - !important なし: body.page-id-16 .l-content__main h2.seijuji-top-section--news__kicker の
     特異度 (0,3,2) が seijuji.css の既定 (0,2,1) を上回るため
   経緯: TOP §2〜§5 完了後、最後の §1 リファクタとして R1→R2→ハイブリッド試作で確定
   ============================================================= */

/* §1 panel = §3-5 と同じクリーム台紙 */
.l-content__main .seijuji-top-section--news {
    max-width: 816px;                            /* §3-5 と同じ最大幅 */
    margin: 0 auto;                              /* 中央寄せ */
    box-sizing: border-box;
    background: #fbf3e6;                         /* クリーム台紙 */
    background-image:                            /* §3-5 と同じハイライト */
        linear-gradient(135deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 55%);
    border-radius: 18px;                         /* §3-5 と同じ角丸 */
    padding: 50px 24px 58px;                     /* §3-5 と同じ余白 */
    color: #4a3b33;                              /* 本文色 */
    position: relative;                          /* 装飾要素の起点 */
    text-align: center;                          /* h2 を中央配置 */
}

/* h2「お知らせ」キッカー badge — §2 もくじと同形（白ピル + 星 + ピーチ）
   特異度 (0,3,2) > 既定 .l-content__main h2.wp-block-heading (0,2,1) */
body.page-id-16 .l-content__main h2.seijuji-top-section--news__kicker {
    display: inline-flex;                        /* 既定 inline を flex に */
    align-items: center;                         /* 星と文字の縦中央 */
    gap: 6px;                                    /* 星と文字の間隔 */
    margin: 0 0 32px;                            /* 下に grid との余白 */
    padding: 7px 16px;                           /* ピル内の余白 */
    background: #fff;                            /* 白ピル */
    color: var(--seijuji-accent, #E8956E);       /* peach 文字 */
    font-size: 13px;                             /* §2 と同じ */
    font-weight: 800;                            /* 太め */
    /* line-height は h2 既定 1.8 を継承（§2 と同じ）*/
    letter-spacing: 0.08em;                      /* 字間 */
    border-radius: 999px;                        /* 丸ピル */
    box-shadow: 0 4px 0 rgba(232,149,110,.3);    /* 軽いドロップシャドウ */
}
/* 家アイコン ::before（TOP テーマの page-id-16 既定アイコンを採用、§2 もくじと同形）*/
body.page-id-16 .l-content__main h2.seijuji-top-section--news__kicker::before {
    content: "";
    display: inline-block;
    width: 14px;                                 /* アイコンサイズ */
    height: 14px;
    margin: 0;                                   /* 既定 margin-right:10px をリセット */
    background-color: var(--seijuji-accent, #E8956E);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/></svg>") center / contain no-repeat;
}
/* 既定 h2 + * の margin-top:1em をリセット（h2 margin-bottom で間隔を取る）*/
.l-content__main h2.seijuji-top-section--news__kicker + * {
    margin-top: 0;
}

/* ===== grid (PC 5fr 7fr / SP 1 列縦積み) ===== */
.l-content__main .seijuji-top-section--news__grid {
    display: grid;                               /* 左右 2 列 */
    grid-template-columns: 5fr 7fr;              /* 左:注目 5 / 右:お知らせ 7 */
    gap: 36px;                                   /* 左右カラム間隔 */
    text-align: left;                            /* panel の center を打ち消す */
}
/* WP の is-layout-flow が grid 子要素 (col--featured / col--regular) の
   2 番目以降に block-gap (既定 32px) を margin-top で当てるため grid item の
   縦位置がズレる罠の打ち消し。grid item の縦位置は align-items で揃える前提で
   個別 margin-top は不要なので全 grid item で 0 リセット。
   GOTCHAS.md「WP is-layout-flow が grid item の縦位置を block-gap でズラす罠」 */
.l-content__main .seijuji-top-section--news__grid > * {
    margin-top: 0;                               /* legacy property reset */
    margin-block-start: 0;                       /* WP が当てる logical property の上書き */
}

/* サブ見出し（注目の記事 / 最近のお知らせ）
   h3 修飾は素 h3 標準 (0,2,1) に specificity で勝って独自の破線下線を守るため (2026-06-10) */
.l-content__main h3.seijuji-top-section--news__sub {
    font-size: 15px;                             /* サブ見出しサイズ */
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #4a3b33;
    margin: 0 0 16px;                            /* 下にリストとの余白 */
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(58, 52, 42, 0.18); /* 破線下線 */
    display: flex;
    align-items: baseline;
    gap: 10px;                                   /* 日本語 + 英字 の間 */
}
.seijuji-top-section--news__sub-en {
    font-family: "Noto Serif JP", serif;         /* 英字は明朝 */
    font-size: 11px;
    letter-spacing: 0.18em;                      /* 字間広く */
    color: #a98e7a;                              /* 薄茶 */
    font-weight: 500;
}

/* ===== 左カラム: 注目の記事 カード ===== */
.l-content__main .seijuji-top-section--news__featured {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;                                   /* カード間隔 */
}
.l-content__main .seijuji-top-section--news__featured > li {
    background: #fff;                            /* 白カード */
    border-radius: 14px;                         /* 角丸 */
    box-shadow: 0 2px 0 rgba(248, 183, 168, 0.3); /* peach 影 */
    border-left: 4px solid #F8B7A8;              /* peach 左バー */
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.l-content__main .seijuji-top-section--news__featured > li:hover {
    transform: translateY(-1px);                 /* 少し浮く */
    box-shadow: 0 4px 0 rgba(248, 183, 168, 0.4);
}
.l-content__main .seijuji-top-section--news__featured > li > a {
    display: grid;                               /* アイコン + 右側テキスト */
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    text-decoration: none;
    color: inherit;
}

/* ベルアイコン円形バッジ */
.seijuji-top-section--news__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;                          /* 円 */
    background: linear-gradient(135deg, #F8B7A8 0%, #F09B89 100%); /* peach グラデ */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(240, 155, 137, 0.25);
    flex-shrink: 0;
}
.seijuji-top-section--news__icon svg {
    width: 22px;
    height: 22px;
    fill: #fff;                                  /* 白塗りベル */
}

/* 注目カード右側 縦 2 行（日付 / タイトル）*/
.seijuji-top-section--news__featured-text {
    min-width: 0;                                /* grid 内 overflow 許可 */
}
.seijuji-top-section--news__featured-date {
    font-size: 13px;
    color: #6b5d4a;                              /* 日付色 β */
    font-feature-settings: "tnum";               /* 等幅数字 */
    display: block;
    margin-bottom: 4px;
}
.l-content__main .seijuji-top-section--news__featured-title {
    font-size: 15px;
    font-weight: 600;
    color: #3a342a;
    margin: 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;                       /* 2 行で省略 */
    -webkit-box-orient: vertical;
}

/* ===== 右カラム: 最近のお知らせ リスト ===== */
.l-content__main .seijuji-top-section--news__regular {
    list-style: none;
    margin: 0;
    padding: 0;
}
.l-content__main .seijuji-top-section--news__regular > li {
    border-bottom: 1px dashed rgba(58, 52, 42, 0.14); /* 破線区切り */
}
.l-content__main .seijuji-top-section--news__regular > li:last-child {
    border-bottom: none;
}
.l-content__main .seijuji-top-section--news__regular > li > a {
    display: grid;                               /* ピル / 日付 / タイトル */
    grid-template-columns: 92px 60px 1fr;
    align-items: center;
    gap: 14px;
    padding: 13px 6px;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    transition: background 0.18s ease, padding-left 0.18s ease;
}
.l-content__main .seijuji-top-section--news__regular > li > a:hover {
    background: rgba(255, 233, 168, 0.35);       /* soft yellow ハイライト */
    padding-left: 10px;                          /* 右に少し滑らせる */
}

/* ピル（黄=お知らせ / 青=園長通信）*/
.seijuji-top-section--news__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;                        /* ピル形 */
    letter-spacing: 0.04em;
    white-space: nowrap;
    width: 100%;                                 /* 列幅いっぱい */
    box-sizing: border-box;
}
.seijuji-top-section--news__pill--news {
    background: var(--seijuji-cat-news-soft-bg);
    color: var(--seijuji-cat-news-soft-fg);
}
.seijuji-top-section--news__pill--encho {
    background: var(--seijuji-cat-encho-soft-bg);
    color: var(--seijuji-cat-encho-soft-fg);
}
.seijuji-top-section--news__pill--featured {
    background: var(--seijuji-cat-featured-soft-bg);
    color: var(--seijuji-cat-featured-soft-fg);
}
.seijuji-top-section--news__pill--garden {
    background: var(--seijuji-cat-treehouse-soft-bg);
    color: var(--seijuji-cat-treehouse-soft-fg);
}

.seijuji-top-section--news__regular-date {
    font-size: 13px;
    color: #6b5d4a;                              /* 日付色 β */
    font-feature-settings: "tnum";
    white-space: nowrap;
}
.l-content__main .seijuji-top-section--news__regular-title {
    font-size: 14.5px;
    font-weight: 500;
    color: #3a342a;
    margin: 0;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;                       /* 1 行で省略 */
    -webkit-box-orient: vertical;
}

/* ===== もっと見るボタン（右下 / SP 中央） ===== */
.seijuji-top-section--news__more-wrap {
    display: flex;
    justify-content: flex-end;                   /* PC 右寄せ */
    margin-top: 0;
}
.seijuji-top-section--news__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #3a342a;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 999px;                        /* ピル形 */
    border: 1.5px solid rgba(248, 183, 168, 0.7); /* peach 細枠 */
    font-size: 13.5px;
    font-weight: 600;
    transition: background 0.18s ease, transform 0.18s ease;
    box-shadow: 0 2px 0 rgba(248, 183, 168, 0.4);
}
.seijuji-top-section--news__more:hover {
    background: #FFF8E5;                         /* hover で薄黄 */
    transform: translateY(-1px);
}
.seijuji-top-section--news__more-arrow {
    display: inline-block;
    transition: transform 0.18s ease;
}
.seijuji-top-section--news__more:hover .seijuji-top-section--news__more-arrow {
    transform: translateX(3px);
}

/* ===== 装飾の星 (右上 soft yellow / 左下 mint) ===== */
.l-content__main .seijuji-top-section--news::before {
    content: "";
    position: absolute;
    top: 28px;
    right: 36px;
    width: 10px;
    height: 10px;
    background: #FFE9A8;                         /* soft yellow */
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    opacity: 0.7;
}
.l-content__main .seijuji-top-section--news::after {
    content: "";
    position: absolute;
    bottom: 32px;
    left: 32px;
    width: 8px;
    height: 8px;
    background: #C8E6D3;                         /* mint */
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    opacity: 0.6;
}

/* ===== SP (≤600px): 1 列縦積み ===== */
@media (max-width: 600px) {
    .l-content__main .seijuji-top-section--news {
        padding: 38px 16px 44px;                 /* SP 余白縮小 */
    }
    .l-content__main .seijuji-top-section--news__grid {
        grid-template-columns: 1fr;              /* 1 列 */
        gap: 28px;                               /* 縦間隔 */
    }
    .l-content__main h3.seijuji-top-section--news__sub {
        font-size: 14px;
        margin-bottom: 12px;
    }
    .l-content__main .seijuji-top-section--news__featured > li > a {
        grid-template-columns: 42px 1fr;
        gap: 12px;
        padding: 14px 14px;
    }
    .seijuji-top-section--news__icon {
        width: 38px;
        height: 38px;
    }
    .seijuji-top-section--news__icon svg {
        width: 19px;
        height: 19px;
    }
    .l-content__main .seijuji-top-section--news__featured-title {
        font-size: 14.5px;
    }
    .l-content__main .seijuji-top-section--news__regular > li > a {
        grid-template-columns: 72px 50px 1fr;    /* SP: ピル / 月日 / タイトル */
        gap: 10px;
        padding: 12px 4px;
    }
    .seijuji-top-section--news__pill {
        font-size: 10.5px;
        padding: 3px 8px;
    }
    .seijuji-top-section--news__regular-date {
        font-size: 12.5px;
    }
    .l-content__main .seijuji-top-section--news__regular-title {
        font-size: 13.5px;
    }
    .seijuji-top-section--news__more-wrap {
        justify-content: center;                 /* SP 中央 */
        margin-top: 0;
    }
    .seijuji-top-section--news__more {
        width: 100%;                             /* 横幅一杯 */
        justify-content: center;
        padding: 14px 24px;
    }
}


/* =============================================================
   Part AJ: contact お問い合わせフォーム (.seijuji-common-contact)

   contact ページ (id=1302) の自作お問い合わせフォーム。CF7 + Confirm Plus +
   reCAPTCHA v3 の置き換え。dynamic block `seijuji/contact-form` (seijuji-core
   プラグイン) が出力する HTML に対応。

   構造:
     .seijuji-common-contact          ... wrapper
     .seijuji-common-contact__form    ... form 本体
     .seijuji-common-contact__row     ... 各フィールドの行 (label + input + error)
     .seijuji-common-contact__label   ... ラベル
     .seijuji-common-contact__input   ... input / select / textarea 共通
     .seijuji-common-contact__required ... 必須マーク (赤)
     .seijuji-common-contact__error   ... フィールド毎エラー
     .seijuji-common-contact__summary ... 冒頭エラーサマリ
     .seijuji-common-contact__honeypot ... 人間に見えない bot 罠 (CSS で hidden)
     .seijuji-common-contact__turnstile ... Cloudflare Turnstile widget の placeholder
     .seijuji-common-contact__actions ... 確認 / 戻る / 送信 ボタン領域
     .seijuji-common-contact__response ... 確認画面 / 完了画面の JS 差替領域

   Phase B+C スキャフォールド段階の最小スタイル。フィールド装飾の polish は
   実装が進んでから追加 (エラー赤枠 / フォーカスリング / Honeypot 完全 hide /
   ボタン微調整 等)。
   ============================================================= */

.l-content__main .seijuji-common-contact {              /* form 全体の上下余白 */
    margin: 0 0 var(--seijuji-gap-sect) 0;
}

.l-content__main .seijuji-common-contact__form {        /* form 内のフィールドを 縦並び */
    display: flex;
    flex-direction: column;
    gap: 20px;                                   /* フィールド間の隙間 */
}

.l-content__main .seijuji-common-contact__form[hidden] { /* 送信完了後に JS が form.hidden=true で隠す。
                                                     上の display:flex が UA の [hidden]{display:none}
                                                     に詳細度で勝つため、明示的に display:none に戻す */
    display: none;
}

.l-content__main .seijuji-common-contact__row {         /* 1 フィールドの label + input */
    display: flex;
    flex-direction: column;
    gap: 6px;                                    /* label と input の隙間 */
}

.l-content__main .seijuji-common-contact__row--inline { /* radio 群はラジオを横並びに */
    border: none;                                /* fieldset 既定枠の解除 */
    padding: 0;
    margin: 0;
}

.l-content__main .seijuji-common-contact__label {       /* ラベル */
    font-weight: 600;                            /* やや太字で視認性 */
    font-size: 14px;
    color: #333;
}

.l-content__main .seijuji-common-contact__required {    /* 必須マーク (赤い *) */
    color: #dc3545;                              /* CF7 既存と揃える */
    margin-left: 4px;
}

.l-content__main .seijuji-common-contact__help {        /* ラベル横の補足 (任意 / 制約) */
    font-weight: normal;                         /* ラベル太字を上書き */
    font-size: 12px;
    color: #777;
    margin-left: 4px;
}

.l-content__main .seijuji-common-contact__input {       /* input / select / textarea 共通 */
    padding: 12px 16px;                          /* 縦 12px で打鍵領域確保 + 厚すぎない */
    font-size: 16px;                             /* SP で auto-zoom させない */
    line-height: 1.5;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: #fff;
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;                            /* 12*2 padding + 24 line-height + 2 border = 50px。 */
                                                 /* select の box-sizing:border-box でも同じ 50px に揃う。 */
                                                 /* タップターゲット推奨 48px (Material) もクリア */
}

/* select 要素は browser default が padding を効かせ切らないので、appearance を */
/* 解除して input と完全に同じサイズ + 自前の chevron 矢印で見た目を統一 */
.l-content__main select.seijuji-common-contact__input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 18px 18px;
    padding-right: 44px;                         /* 矢印領域分の右余白 */
}

.l-content__main .seijuji-common-contact__input:focus { /* フォーカス時のリング */
    outline: none;
    border-color: var(--seijuji-accent, #f7a072);
    box-shadow: 0 0 0 3px rgba(247, 160, 114, 0.25); /* コーラルリング */
}

.l-content__main .seijuji-common-contact__input--textarea { /* 本文用 textarea */
    min-height: 140px;
    resize: vertical;                            /* 縦のみリサイズ可 */
}

.l-content__main .seijuji-common-contact__input--file { /* file input は padding 調整 */
    padding: 8px;
}

.l-content__main .seijuji-common-contact__choices {     /* radio 群の横並び */
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;                              /* row gap / column gap */
}

.l-content__main .seijuji-common-contact__choice {      /* 各 radio + label */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    cursor: pointer;
}

.l-content__main .seijuji-common-contact__error {       /* フィールド毎エラー (赤文字) */
    color: #dc3545;
    font-size: 13px;
    margin: 0;                                   /* p のデフォルト margin 解除 */
}

.l-content__main .seijuji-common-contact__summary {     /* 冒頭エラーサマリ (赤背景の box) */
    background-color: #fdecea;
    border-left: 4px solid #dc3545;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 14px;
    color: #842029;
}

/* Honeypot は人間にも screen reader にも完全に隠す (bot だけが見つけて埋める) */
.l-content__main .seijuji-common-contact__honeypot {
    position: absolute;                          /* レイアウト外に出す */
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.l-content__main .seijuji-common-contact__turnstile {   /* Turnstile widget は中央寄せ */
    display: flex;
    justify-content: center;
    margin: 0 0 8px 0;
}

.l-content__main .seijuji-common-contact__actions {     /* ボタン領域 (戻る + 確認/送信) */
    display: flex;
    justify-content: center;
    gap: 12px;
}

.l-content__main .seijuji-common-contact__submit,
.l-content__main .seijuji-common-contact__back {        /* ボタン共通 */
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 999px;                        /* ピル形状 */
    border: none;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
}

.l-content__main .seijuji-common-contact__submit {      /* 確認 / 送信 (プライマリ) */
    background-color: var(--seijuji-accent, #f7a072);
    color: #fff;
}

.l-content__main .seijuji-common-contact__submit:hover {
    background-color: #e88955;                   /* hover で少し濃く */
}

.l-content__main .seijuji-common-contact__back {        /* 戻る (セカンダリ) */
    background-color: #e9ecef;
    color: #495057;
}

.l-content__main .seijuji-common-contact__back:hover {
    background-color: #dee2e6;
}


/* === 確認画面 (.seijuji-common-contact__confirm) === */

.l-content__main .seijuji-common-contact__confirm {     /* JS が render する確認カード */
    background-color: #FFFBF0;                   /* オフクリーム (Part B カード統一) */
    border-radius: 12px;                         /* 角丸 */
    padding: 24px 28px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.l-content__main .seijuji-common-contact__confirm-title { /* 確認画面の見出し */
    margin-top: 0;
    font-size: 20px;
    color: #333;
}

.l-content__main .seijuji-common-contact__confirm-lead { /* 確認画面のリード文 */
    font-size: 14px;
    color: #555;
    margin-bottom: 20px;
}

.l-content__main .seijuji-common-contact__confirm-list { /* dt/dd の grid レイアウト */
    display: grid;
    grid-template-columns: 140px 1fr;            /* ラベル列 / 値列 */
    gap: 12px 16px;
    margin: 0;
}

.l-content__main .seijuji-common-contact__confirm-list dt { /* ラベル */
    font-weight: 600;
    color: #555;
    font-size: 14px;
}

.l-content__main .seijuji-common-contact__confirm-list dd { /* 値 */
    margin: 0;
    font-size: 14px;
    color: #333;
    word-break: break-word;                      /* 長文・URL の折り返し */
}

/* === 完了画面 (.seijuji-common-contact__complete) === */

.l-content__main .seijuji-common-contact__complete {    /* 完了画面 */
    background-color: #f0f9f4;                   /* 淡いグリーン (成功色) */
    border-left: 4px solid #2e7d32;
    border-radius: 8px;
    padding: 24px 28px;
}

.l-content__main .seijuji-common-contact__complete-title { /* 完了見出し */
    margin-top: 0;
    color: #1b5e20;
    font-size: 20px;
}

.l-content__main .seijuji-common-contact__complete p {  /* 完了本文 */
    color: #2e3b32;
    margin-bottom: 8px;
}

/* SP 調整: 確認画面の dt/dd を縦並びに */
@media ( max-width: 768px ) {
    .l-content__main .seijuji-common-contact__confirm {
        padding: 20px 18px;                      /* SP 余白縮小 */
    }
    .l-content__main .seijuji-common-contact__confirm-list {
        grid-template-columns: 1fr;              /* 1 列に */
        gap: 4px 0;
    }
}

/* === エラー時の入力欄ハイライト === */

.l-content__main .seijuji-common-contact__input[aria-invalid="true"] {
    border-color: #dc3545;                       /* 赤枠 */
    background-color: #fff5f5;                   /* 薄ピンク */
}

/* === 確認モーダル (HTML5 dialog 要素) === */

.seijuji-common-contact__modal {                        /* dialog 自体: 中央配置 + 装飾 */
    border: none;
    border-radius: 16px;
    padding: 0;                                  /* 中の card で padding */
    max-width: 640px;                            /* 横幅上限 */
    width: 90vw;                                 /* 画面の 90% */
    max-height: 90vh;                            /* 縦幅上限 */
    overflow: visible;                           /* card 側で scroll */
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    background-color: #FFFBF0;                   /* オフクリーム */
}

.seijuji-common-contact__modal::backdrop {              /* 背景オーバーレイ */
    background-color: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);                  /* 背景ぼかし (対応ブラウザのみ) */
}

.seijuji-common-contact__modal-card {                   /* スクロール領域 */
    padding: 28px 32px;
    max-height: 90vh;
    overflow-y: auto;
    box-sizing: border-box;
}

.seijuji-common-contact__modal-title {                  /* モーダル見出し */
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 22px;
    color: #333;
}

.seijuji-common-contact__modal-lead {                   /* 説明文 */
    font-size: 14px;
    color: #555;
    margin-bottom: 20px;
}

.seijuji-common-contact__modal-body {                   /* dt/dd grid 2 列 */
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 12px 16px;
    margin: 0 0 20px;
}

.seijuji-common-contact__modal-body dt {
    font-weight: 600;
    color: #555;
    font-size: 14px;
    margin: 0;
}

.seijuji-common-contact__modal-body dd {
    margin: 0;
    font-size: 14px;
    color: #333;
    word-break: break-word;
}

.seijuji-common-contact__modal-summary {                /* 送信時エラーサマリ */
    background-color: #fdecea;
    border-left: 4px solid #dc3545;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 14px;
    color: #842029;
    margin-bottom: 16px;
}

.seijuji-common-contact__modal-actions {                /* ボタン領域 */
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 0;
}

.seijuji-common-contact__modal .seijuji-common-contact__back,
.seijuji-common-contact__modal .seijuji-common-contact__send {  /* モーダル内ボタン共通 */
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.1s;
}

.seijuji-common-contact__modal .seijuji-common-contact__send { /* プライマリ (送信する) */
    background-color: var(--seijuji-accent, #f7a072);
    color: #fff;
}

.seijuji-common-contact__modal .seijuji-common-contact__send:hover {
    background-color: #e88955;
}

.seijuji-common-contact__modal .seijuji-common-contact__back { /* セカンダリ (戻る) */
    background-color: #e9ecef;
    color: #495057;
}

.seijuji-common-contact__modal .seijuji-common-contact__back:hover {
    background-color: #dee2e6;
}

/* SP 調整: モーダル内 dt/dd 縦並び + ボタン縦並び */
@media ( max-width: 768px ) {
    .seijuji-common-contact__modal {
        width: 95vw;
        border-radius: 12px;
    }
    .seijuji-common-contact__modal-card {
        padding: 20px 18px;
    }
    .seijuji-common-contact__modal-body {
        grid-template-columns: 1fr;
        gap: 2px 0;
    }
    .seijuji-common-contact__modal-body dt {
        margin-top: 0;                        /* 縦並び時の項目間隔 */
    }
    .seijuji-common-contact__modal-body dt:first-child {
        margin-top: 0;
    }
    .seijuji-common-contact__modal-actions {
        flex-direction: column-reverse;          /* 「送信する」を上に */
    }
    .seijuji-common-contact__modal .seijuji-common-contact__back,
    .seijuji-common-contact__modal .seijuji-common-contact__send {
        width: 100%;
    }
}

/* SP 調整 */
@media ( max-width: 768px ) {
    .l-content__main .seijuji-common-contact__actions {
        flex-direction: column-reverse;          /* SP は縦並び、確認/送信を上に */
    }
    .l-content__main .seijuji-common-contact__submit,
    .l-content__main .seijuji-common-contact__back {
        width: 100%;                             /* 横幅一杯 */
    }
}


/* =============================================================
   Part AK: 保護者の声 (.seijuji-common-voices) — voices ページ (id=2225)

   構造:
     .seijuji-common-voices                       — block ラッパー (各 wp:seijuji/voices-list block の出力)
     .seijuji-common-voices__qnav                 — 上部 Q nav (the_content filter で挿入)
     .seijuji-common-voices__qtab[.is-active]     — Q ボタン (sticky 内、4 つ並列)
     .seijuji-common-voices__cards                — card grid (PC 2 列 / SP 1 列)
     .seijuji-common-voices__card[--graduate]     — card 本体
     .seijuji-common-voices__card-meta[--single]  — メタ行 (アイコン + 名前 + 年齢)
     .seijuji-common-voices__icon                 — メタ内アイコン (SVG mask、data URI 内蔵)
     .seijuji-common-voices__name                 — クラス名
     .seijuji-common-voices__age                  — 年齢
     .seijuji-common-voices__comment              — コメント本文

   配色: 案 C 色相分散 (識別性優先)
     shirokuma=#e0a526 (黄) / guri=#e85d3e (赤橙) / kon=#b04f2e (ブラウンレッド)
     elmer=#5a9c40 (緑) / graduate=#2e6da4 (青)

   関連: ICONS.md「voices クラスアイコン」表 (5 個の SVG 出典)
        designs/content-block-policy.md T-XX (voices ページ全体構成)
   ============================================================= */

/* ---------- card 色トークン (data-cls 別) ---------- */
body.page-id-2225 .seijuji-common-voices__card[data-cls="shirokuma"] { --cls-color: #e0a526; }
body.page-id-2225 .seijuji-common-voices__card[data-cls="guri"]      { --cls-color: #e85d3e; }
body.page-id-2225 .seijuji-common-voices__card[data-cls="kon"]       { --cls-color: #b04f2e; }
body.page-id-2225 .seijuji-common-voices__card[data-cls="elmer"]     { --cls-color: #5a9c40; }
body.page-id-2225 .seijuji-common-voices__card[data-cls="graduate"]  { --cls-color: #2e6da4; }

/* ---------- Q nav (上部 sticky、タブバー型) ---------- */
body.page-id-2225 .seijuji-common-voices__qnav {
    position: sticky;
    top: 64px;                                 /* サイトヘッダ (PC fixed-logo 64px / SP l-header 60px) 退避 */
    z-index: 11;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    max-width: 780px;
    margin: 0 auto var(--seijuji-gap-sect);
    padding: 8px 6px;
    background: #e6dcc4;                       /* 薄茶ベージュ */
    border: 1px solid #c0b08a;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(80, 60, 30, 0.10);
}
body.page-id-2225 .seijuji-common-voices__qtab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 8px 4px;
    text-decoration: none;
    color: #8a7f6e;
    border-radius: 8px;
    transition: color 0.18s ease, background 0.18s ease, transform 0.12s ease;
    -webkit-tap-highlight-color: transparent;
    text-align: center;
}
body.page-id-2225 .seijuji-common-voices__qtab:hover {
    background: rgba(122, 156, 110, 0.08);
}
body.page-id-2225 .seijuji-common-voices__qtab:active {
    transform: scale(0.96);
}
body.page-id-2225 .seijuji-common-voices__qtab.is-active {
    color: #5a7a4f;
    background: rgba(122, 156, 110, 0.14);
}
body.page-id-2225 .seijuji-common-voices__qtab-num {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
body.page-id-2225 .seijuji-common-voices__qtab-label {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

/* ---------- 各 Q セクションの H2 (core/heading) を Q nav の下に逃がす ---------- */
body.page-id-2225 .l-content__main h2.wp-block-heading {
    scroll-margin-top: 130px;                  /* 64 (header) + 56 (qnav) + 10 余白 */
}

/* ---------- cards grid ---------- */
body.page-id-2225 .seijuji-common-voices__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: 780px;
    margin: 0 auto var(--seijuji-gap-sect);
}
@media (min-width: 700px) {
    body.page-id-2225 .seijuji-common-voices__cards {
        grid-template-columns: 1fr 1fr;        /* PC: 2 列 */
    }
}

/* ---------- card 本体 ---------- */
body.page-id-2225 .seijuji-common-voices__card {
    position: relative;
    padding: 16px 18px 16px 22px;
    background: #fdfcf8;                       /* オフクリーム */
    border: 1px solid #ece5d4;
    border-left: 4px solid var(--cls-color, #8BB874);  /* クラス色アクセント */
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(80, 60, 30, 0.04);
}

/* ---------- card-meta (SP: 2 段 grid、PC: 1 行 flex) ---------- */
body.page-id-2225 .seijuji-common-voices__card-meta {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}
body.page-id-2225 .seijuji-common-voices__icon {
    grid-row: 1 / 3;                           /* アイコンは 2 行ぶち抜き (SP 時) */
    grid-column: 1;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: var(--cls-color, #8BB874);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    flex: 0 0 auto;
}
body.page-id-2225 .seijuji-common-voices__icon[data-cls="shirokuma"] {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 32 32%27><g fill=%27currentColor%27><path d=%27M15.5 10a.5.5 0 0 0-.458.299c-.053.121.01.254.104.347l.5.5a.5.5 0 0 0 .708 0l.5-.5c.093-.093.157-.226.104-.347A.5.5 0 0 0 16.5 10z%27/><path d=%27M9 4.57c0 .535.168 1.031.454 1.438C8.567 7.174 8 8.584 8 10.152c0 2.216.901 3.698 2.357 4.625l-6.759 3.902A3 3 0 0 0 6.4 23.98a3.5 3.5 0 0 0 .423 3.438l.895 1.203a3.5 3.5 0 0 0 5.62-.004A8 8 0 0 0 16 29.07c.937 0 1.836-.16 2.671-.457a3.5 3.5 0 0 0 5.622.008l.896-1.203a3.5 3.5 0 0 0 .42-3.445a3 3 0 0 0 2.906-5.244l-6.683-4.078C23.176 13.72 24 12.271 24 10.152c0-1.568-.567-2.978-1.454-4.144a2.5 2.5 0 0 0-4.032-2.956c-.846-.313-1.707-.482-2.514-.482s-1.668.169-2.514.482A2.5 2.5 0 0 0 9 4.57m2.5-1.5c.396 0 .756.154 1.024.404a9.2 9.2 0 0 0-2.38 1.738A1.5 1.5 0 0 1 11.5 3.07M21 22.112a3.5 3.5 0 0 0-1.426 1.126l-.896 1.203a3.5 3.5 0 0 0-.69 2.219c-.61.264-1.282.41-1.988.41c-.702 0-1.37-.144-1.976-.405a3.5 3.5 0 0 0-.69-2.224l-.896-1.203A3.5 3.5 0 0 0 11 22.107v-.037a5 5 0 0 1 10 0zM22 4.57c0 .23-.052.448-.144.642a9.2 9.2 0 0 0-2.38-1.738A1.5 1.5 0 0 1 22 4.57M13.5 9a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1m2.5 5.5c-1.933 0-3.5-1.62-3.5-3S14.067 9 16 9s3.5 1.12 3.5 2.5s-1.567 3-3.5 3m3-6a.5.5 0 1 1-1 0a.5.5 0 0 1 1 0m-7.736 15.65l.896 1.204a2 2 0 1 1-3.209 2.389l-.896-1.204a2 2 0 1 1 3.209-2.388m9.484 0a2 2 0 0 1 3.208 2.39l-.895 1.203a2 2 0 1 1-3.209-2.389z%27/></g></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 32 32%27><g fill=%27currentColor%27><path d=%27M15.5 10a.5.5 0 0 0-.458.299c-.053.121.01.254.104.347l.5.5a.5.5 0 0 0 .708 0l.5-.5c.093-.093.157-.226.104-.347A.5.5 0 0 0 16.5 10z%27/><path d=%27M9 4.57c0 .535.168 1.031.454 1.438C8.567 7.174 8 8.584 8 10.152c0 2.216.901 3.698 2.357 4.625l-6.759 3.902A3 3 0 0 0 6.4 23.98a3.5 3.5 0 0 0 .423 3.438l.895 1.203a3.5 3.5 0 0 0 5.62-.004A8 8 0 0 0 16 29.07c.937 0 1.836-.16 2.671-.457a3.5 3.5 0 0 0 5.622.008l.896-1.203a3.5 3.5 0 0 0 .42-3.445a3 3 0 0 0 2.906-5.244l-6.683-4.078C23.176 13.72 24 12.271 24 10.152c0-1.568-.567-2.978-1.454-4.144a2.5 2.5 0 0 0-4.032-2.956c-.846-.313-1.707-.482-2.514-.482s-1.668.169-2.514.482A2.5 2.5 0 0 0 9 4.57m2.5-1.5c.396 0 .756.154 1.024.404a9.2 9.2 0 0 0-2.38 1.738A1.5 1.5 0 0 1 11.5 3.07M21 22.112a3.5 3.5 0 0 0-1.426 1.126l-.896 1.203a3.5 3.5 0 0 0-.69 2.219c-.61.264-1.282.41-1.988.41c-.702 0-1.37-.144-1.976-.405a3.5 3.5 0 0 0-.69-2.224l-.896-1.203A3.5 3.5 0 0 0 11 22.107v-.037a5 5 0 0 1 10 0zM22 4.57c0 .23-.052.448-.144.642a9.2 9.2 0 0 0-2.38-1.738A1.5 1.5 0 0 1 22 4.57M13.5 9a.5.5 0 1 1 0-1a.5.5 0 0 1 0 1m2.5 5.5c-1.933 0-3.5-1.62-3.5-3S14.067 9 16 9s3.5 1.12 3.5 2.5s-1.567 3-3.5 3m3-6a.5.5 0 1 1-1 0a.5.5 0 0 1 1 0m-7.736 15.65l.896 1.204a2 2 0 1 1-3.209 2.389l-.896-1.204a2 2 0 1 1 3.209-2.388m9.484 0a2 2 0 0 1 3.208 2.39l-.895 1.203a2 2 0 1 1-3.209-2.389z%27/></g></svg>");
}
body.page-id-2225 .seijuji-common-voices__icon[data-cls="guri"] {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27currentColor%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 > <path d=%27M13 22H4a2 2 0 0 1 0-4h12%27 /> <path d=%27M13.236 18a3 3 0 0 0-2.2-5%27 /> <path d=%27M16 9h.01%27 /> <path d=%27M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3%27 /> <path d=%27M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18%27 /> </svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27currentColor%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 > <path d=%27M13 22H4a2 2 0 0 1 0-4h12%27 /> <path d=%27M13.236 18a3 3 0 0 0-2.2-5%27 /> <path d=%27M16 9h.01%27 /> <path d=%27M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3%27 /> <path d=%27M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18%27 /> </svg>");
}
body.page-id-2225 .seijuji-common-voices__icon[data-cls="kon"] {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 24 24%27><g fill=%27none%27 stroke=%27currentColor%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27><path d=%27M19.9 8.3C20.6 7 21 5.6 21 4c0-.6-.4-1-1-1c-2.3 0-4.3.8-5.9 2.2a15 15 0 0 0-4.2 0A8.78 8.78 0 0 0 4 3c-.6 0-1 .4-1 1c0 1.6.4 3 1.1 4.3c-.6.7-1.1 1.4-1.4 2.2C4 13 11 16 12 16s8-3 9.3-5.5c-.3-.8-.8-1.5-1.4-2.2M9 9v.5m4 3.5h-2m1 3v-3m3-4v.5%27/><path d=%27M6.3 20.5A6.87 6.87 0 0 0 9 15H2.2c.8 4 4.9 7 9.8 7c5.5 0 10-3.8 10-8.5c0-1.1-.2-2.1-.7-3%27/></g></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 24 24%27><g fill=%27none%27 stroke=%27currentColor%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27><path d=%27M19.9 8.3C20.6 7 21 5.6 21 4c0-.6-.4-1-1-1c-2.3 0-4.3.8-5.9 2.2a15 15 0 0 0-4.2 0A8.78 8.78 0 0 0 4 3c-.6 0-1 .4-1 1c0 1.6.4 3 1.1 4.3c-.6.7-1.1 1.4-1.4 2.2C4 13 11 16 12 16s8-3 9.3-5.5c-.3-.8-.8-1.5-1.4-2.2M9 9v.5m4 3.5h-2m1 3v-3m3-4v.5%27/><path d=%27M6.3 20.5A6.87 6.87 0 0 0 9 15H2.2c.8 4 4.9 7 9.8 7c5.5 0 10-3.8 10-8.5c0-1.1-.2-2.1-.7-3%27/></g></svg>");
}
body.page-id-2225 .seijuji-common-voices__icon[data-cls="elmer"] {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 640 512%27><path d=%27M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z%27/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 640 512%27><path d=%27M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z%27/></svg>");
}
body.page-id-2225 .seijuji-common-voices__icon[data-cls="graduate"] {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 16 16%27><g fill=%27currentColor%27><path d=%27M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917zM8 8.46L1.758 5.965L8 3.052l6.242 2.913z%27/><path d=%27M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466zm-.068 1.873l.22-.748l3.496 1.311a.5.5 0 0 0 .352 0l3.496-1.311l.22.748L8 12.46z%27/></g></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%271em%27 height=%271em%27 viewBox=%270 0 16 16%27><g fill=%27currentColor%27><path d=%27M8.211 2.047a.5.5 0 0 0-.422 0l-7.5 3.5a.5.5 0 0 0 .025.917l7.5 3a.5.5 0 0 0 .372 0L14 7.14V13a1 1 0 0 0-1 1v2h3v-2a1 1 0 0 0-1-1V6.739l.686-.275a.5.5 0 0 0 .025-.917zM8 8.46L1.758 5.965L8 3.052l6.242 2.913z%27/><path d=%27M4.176 9.032a.5.5 0 0 0-.656.327l-.5 1.7a.5.5 0 0 0 .294.605l4.5 1.8a.5.5 0 0 0 .372 0l4.5-1.8a.5.5 0 0 0 .294-.605l-.5-1.7a.5.5 0 0 0-.656-.327L8 10.466zm-.068 1.873l.22-.748l3.496 1.311a.5.5 0 0 0 .352 0l3.496-1.311l.22.748L8 12.46z%27/></g></svg>");
}
body.page-id-2225 .seijuji-common-voices__name {
    grid-row: 1;
    grid-column: 2;
    color: var(--cls-color, #8BB874);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3;
}
body.page-id-2225 .seijuji-common-voices__age {
    grid-row: 2;
    grid-column: 2;
    color: #8a7f6e;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
}

/* graduate (1 段 meta): アイコンを縦中央、名前のみ */
body.page-id-2225 .seijuji-common-voices__card-meta--single .seijuji-common-voices__name {
    grid-row: 1 / 3;
    align-self: center;
    font-size: 15px;
}

body.page-id-2225 .seijuji-common-voices__comment {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #3a3a3a;
}

/* ---------- PC: meta 1 行表記 (16px、しろくまちゃんとこぐまちゃん / 2 歳児) ---------- */
@media (min-width: 700px) {
    body.page-id-2225 .seijuji-common-voices__card-meta {
        display: flex;
        flex-direction: row;
        align-items: center;
        column-gap: 8px;
    }
    body.page-id-2225 .seijuji-common-voices__icon {
        width: 26px;
        height: 26px;
    }
    body.page-id-2225 .seijuji-common-voices__name {
        font-size: 16px;
        line-height: 1.3;
    }
    body.page-id-2225 .seijuji-common-voices__age {
        font-size: 13px;
        line-height: 1.3;
    }
    /* "/" 区切りを年齢前に */
    body.page-id-2225 .seijuji-common-voices__card-meta .seijuji-common-voices__age::before {
        content: "/ ";
        opacity: 0.45;
        margin-right: 2px;
        color: #8a7f6e;
    }
    body.page-id-2225 .seijuji-common-voices__card-meta--single .seijuji-common-voices__name {
        font-size: 16px;
    }
}

/* ---------- SP ---------- */
@media (max-width: 600px) {
    body.page-id-2225 .seijuji-common-voices__qnav {
        margin: 0 -8px var(--seijuji-gap-sect);
    }
}


/* =============================================================
   Part AB: 投稿系 single / archive / お知らせ一覧 / 検索（Phase 3 版A）

   投稿表示は子テーマにテンプレが無く Emanon 親デフォルトのため、ここで CSS 化粧する。
   配色は palette.css の body.single / body.archive / body.blog / body.search =
   サーモン1色固定（--seijuji-accent #E8956E / --seijuji-marker #FFD9C0 /
   --seijuji-accent-dark #c97a52 / --seijuji-tint #FCEDE3）。

   - /info/ お知らせ一覧は page_for_posts=1732 のため body.blog で描画される。
   - 日付（single）は seijuji-core features/post-single が theme_mod
     display_entry_date を ON にして emanon_post_meta() の .meta-post <time> を出す。
   - H1 の枠（display:inline / padding / box-decoration-break）と ::before の box は
     Part A の `.l-content__main h1.article-title{,::before}`（共通）を継承。ここでは
     マーカー背景と bell mask + 色だけ上書きする（他ページ page-id 群と同じ作法）。
   確定: tmp/post-proposals/proposal-final.html、worklogs/2026-05-31-0032-*。
   ============================================================= */

/* ---- H1 タイトル: サーモンマーカー + bell（info と同じ mask 流用） ---- */
body.single .l-content__main h1.article-title,
body.archive .l-content__main h1.archive-title,
body.blog .l-content__main h1.archive-title,
body.search .l-content__main h1.archive-title {
    background: linear-gradient(transparent 60%, var(--seijuji-marker) 60%) !important;
}
body.single .l-content__main h1.article-title::before,
body.archive .l-content__main h1.archive-title::before,
body.blog .l-content__main h1.archive-title::before,
body.search .l-content__main h1.archive-title::before {
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    color: var(--seijuji-accent);
}

/* ---- single: ヘッダ（カテゴリピル + タイトル + 日付ピル）背後の薄サーモンぼかし ---- */
body.single .l-content__main .article-header {
    position: relative;
    z-index: 0;
}
body.single .l-content__main .article-header::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -10px;
    left: -18px;
    right: -18px;
    bottom: -6px;
    background: radial-gradient(120% 110% at 24% 50%, rgba(232,149,110,0.18) 0%, rgba(255,217,192,0.12) 45%, rgba(232,149,110,0) 78%);
    filter: blur(12px);
    border-radius: 28px;
    pointer-events: none;
}

/* ---- single: カテゴリピル（タイトル上、bell + カテゴリ別色分け） ----
   H1 のマーカー下線はサーモンのまま（user 指定）。ピルだけ一覧と同じカテゴリ別色。 */
body.single .l-content__main .article-header .meta-category {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}
body.single .l-content__main .article-header .meta-category__item {
    margin: 0;
    padding: 0;
}
body.single .l-content__main .article-header .meta-category__item::before {
    content: none;
}
body.single .l-content__main .article-header .meta-category a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--seijuji-accent);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
    padding: 6px 12px 6px 11px;
    border-radius: 999px;
    text-decoration: none;
    letter-spacing: 0.04em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.10);   /* 黄背景で締まるよう軽い影 */
    transition: opacity 0.2s;
}
body.single .l-content__main .article-header .meta-category a:hover {
    opacity: 0.85;
}
body.single .l-content__main .article-header .meta-category a::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    background-color: currentColor;   /* ピルのテキスト色に追従（明/暗どちらの地でも視認） */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
/* single カテゴリピルのカテゴリ別色（palette.css :root の --seijuji-cat-*-soft-bg/fg を参照）。cat-N は li 側に付く */
body.single .l-content__main .article-header .meta-category__item.cat-4 a {
    background: var(--seijuji-cat-news-soft-bg);
    color: var(--seijuji-cat-news-soft-fg);
}
body.single .l-content__main .article-header .meta-category__item.cat-10 a {
    background: var(--seijuji-cat-encho-soft-bg);
    color: var(--seijuji-cat-encho-soft-fg);
}
body.single .l-content__main .article-header .meta-category__item.cat-99 a {
    background: var(--seijuji-cat-featured-soft-bg);
    color: var(--seijuji-cat-featured-soft-fg);
}
body.single .l-content__main .article-header .meta-category__item.cat-129 a {
    background: var(--seijuji-cat-treehouse-soft-bg);
    color: var(--seijuji-cat-treehouse-soft-fg);
}

/* ---- single: 日付ピル（タイトル下、薄サーモン + calendar） ---- */
body.single .l-content__main .article-header .meta-post {
    display: block;          /* Emanon の u-row(flex) を解除しピルを左寄せ */
    margin: 0 0 0;
}
body.single .l-content__main .article-header .meta-post .icon-refresh-cw,
body.single .l-content__main .article-header .meta-post .meta-post__avatar {
    display: none;           /* 更新日アイコン・著者アバターは出さない */
}
/* 著者名は投稿系で出さない。Emanon は display_author OFF 時に著者を
   <div class="u-display-none"> で隠すが、.meta-post の子 div を inline-block 等で
   一律上書きすると u-display-none(display:none) を上書きして露出するため、
   time は inline-flex のまま包む div には触れない（block のままで pill は左寄せ）。 */
body.single .l-content__main .article-header .meta-post time {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--seijuji-tint);
    color: var(--seijuji-accent-dark);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    padding: 6px 12px 6px 11px;
    border-radius: 999px;
}
body.single .l-content__main .article-header .meta-post time::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    background-color: var(--seijuji-accent-dark);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* ---- single: 本文 box（section テンプレ仕様 + サーモン薄 tint） ----
   .article-body は the_content() のみを包む（CTA・タグ・前後ナビ・関連記事は box 外）。
   padding は !important 必須: Emanon 本体 style.css の `.article-body{padding:0!important}`
   を上書きする手段が同 !important しかないため（特異度では !important に勝てない＝CSS 仕様。
   seijuji.css は H1 マーカー等も全て !important で Emanon を上書きしており house style）。 */
body.single .l-content__main .article-body {
    background-color: var(--seijuji-tint);
    border: 1px solid var(--seijuji-tint-border);
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    padding: 32px 36px !important;
}
body.single .l-content__main .article-body figure.wp-block-image img {
    border-radius: 10px;
}

/* ---- 一覧カード（/info/=body.blog / category・date archive / 検索）= 案3 のカード言語 ----
   案3 の縦カードグリッド（サムネ上 → カテゴリピル → タイトル → メタ）。Emanon の横長
   pc-list/sp-list（サムネ左・flex-row）を CSS で縦カードグリッドに組み替える。カードの親
   `.wrapper-column` を grid 化し、カードの <a> を flex-column 化。Emanon が幅/余白/絶対配置
   を flex-row 前提で組むため、width/margin/meta幅を !important で打ち消す（house style）。
   カテゴリピルの色は **カテゴリ別の色分けを維持**（emanon_entry_category が付ける inline 色
   をそのまま使い、pill 形状だけ整える）。 */

/* グリッドコンテナ（カード article の親）。SP 1 列 / PC 2 列 */
body.blog .l-content__main .wrapper-column,
body.archive .l-content__main .wrapper-column,
body.search .l-content__main .wrapper-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
@media (min-width: 600px) {
    body.blog .l-content__main .wrapper-column,
    body.archive .l-content__main .wrapper-column,
    body.search .l-content__main .wrapper-column {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

/* カード本体: Emanon の width/margin（flex-row 前提）を打ち消しグリッドセルに収める */
body.blog .l-content__main .wrapper-column .archive-list,
body.archive .l-content__main .wrapper-column .archive-list,
body.search .l-content__main .wrapper-column .archive-list {
    position: relative;          /* カテゴリピル overlay のアンカー */
    width: 100% !important;
    margin: 0 !important;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

/* リンク全体を縦積みに（サムネ上 → 情報下） */
body.blog .l-content__main .wrapper-column .archive-list > a,
body.archive .l-content__main .wrapper-column .archive-list > a,
body.search .l-content__main .wrapper-column .archive-list > a {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

/* サムネ全幅・上、比率そろえ。aspect-ratio は **コンテナ側**で予約することで、
   lazy 未ロード/画像欠落時もカード高さが破綻しない（堅牢化）。 */
body.blog .l-content__main .wrapper-column .archive-list .post-thumbnail,
body.archive .l-content__main .wrapper-column .archive-list .post-thumbnail,
body.search .l-content__main .wrapper-column .archive-list .post-thumbnail {
    width: 100% !important;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3ede6;          /* 画像欠落時のプレースホルダ地色 */
}
body.blog .l-content__main .wrapper-column .archive-list .post-thumbnail img,
body.archive .l-content__main .wrapper-column .archive-list .post-thumbnail img,
body.search .l-content__main .wrapper-column .archive-list .post-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border-radius: 0 !important;   /* カードが overflow:hidden + radius なので img は角丸不要 */
    display: block;
}

/* 情報部: 全幅、通常フロー（pc-list の絶対配置前提を解除、padding 正規化） */
body.blog .l-content__main .wrapper-column .archive-list .article-info,
body.archive .l-content__main .wrapper-column .archive-list .article-info,
body.search .l-content__main .wrapper-column .archive-list .article-info {
    width: 100% !important;
    flex: 1 1 auto;
    padding: 14px 16px 16px !important;
}

/* カテゴリピル: サムネ左上にオーバーレイ（カード基準の絶対配置）、色分けはそのまま。
   pc-list の top:16px/left:16px（縦カードだと info 先頭＝タイトルに被る）を上書き。 */
body.blog .l-content__main .wrapper-column .archive-list .cat-name,
body.archive .l-content__main .wrapper-column .archive-list .cat-name,
body.search .l-content__main .wrapper-column .archive-list .cat-name {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    z-index: 2;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.03em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);   /* サムネ写真上での可読性 */
}

/* カテゴリ別の色分け（palette.css :root の --seijuji-cat-*-soft-bg/fg を参照）。Emanon は archive の
   cat-name に term メタ色（本サイトは未設定→primary ブルーグレー）を inline 付与するので、!important で
   サイト共通のカテゴリ色に上書きする。ID 直指定だが Emanon 自身も cat-N class を使う作法。
   お知らせ(4)=黄 / 園長通信(10)=青 / 注目(99)=コーラル / 園庭通信(129)=グリーン。 */
body.blog .l-content__main .wrapper-column .archive-list .cat-name.cat-4,
body.archive .l-content__main .wrapper-column .archive-list .cat-name.cat-4,
body.search .l-content__main .wrapper-column .archive-list .cat-name.cat-4 {
    background-color: var(--seijuji-cat-news-soft-bg) !important;
    color: var(--seijuji-cat-news-soft-fg) !important;
}
body.blog .l-content__main .wrapper-column .archive-list .cat-name.cat-10,
body.archive .l-content__main .wrapper-column .archive-list .cat-name.cat-10,
body.search .l-content__main .wrapper-column .archive-list .cat-name.cat-10 {
    background-color: var(--seijuji-cat-encho-soft-bg) !important;
    color: var(--seijuji-cat-encho-soft-fg) !important;
}
body.blog .l-content__main .wrapper-column .archive-list .cat-name.cat-99,
body.archive .l-content__main .wrapper-column .archive-list .cat-name.cat-99,
body.search .l-content__main .wrapper-column .archive-list .cat-name.cat-99 {
    background-color: var(--seijuji-cat-featured-soft-bg) !important;
    color: var(--seijuji-cat-featured-soft-fg) !important;
}
body.blog .l-content__main .wrapper-column .archive-list .cat-name.cat-129,
body.archive .l-content__main .wrapper-column .archive-list .cat-name.cat-129,
body.search .l-content__main .wrapper-column .archive-list .cat-name.cat-129 {
    background-color: var(--seijuji-cat-treehouse-soft-bg) !important;
    color: var(--seijuji-cat-treehouse-soft-fg) !important;
}

/* タイトル: サーモン固定（ページ/カテゴリのテーマ色に依らず一律サーモン。
   カテゴリ色文字＝黄が見づらかったため user 判断でサーモンに統一、2026-05-31）。
   h2/h4 は inline-block + fit-content でマーカーを文字幅で止めつつ margin-bottom を効かせる
   (2026-06-09 旧 inline → inline-block、下方向統一・例外なし方針)。
   複数行は box-decoration-break:clone。
   ※ ページ var を使わず #c97a52 / #FFD9C0 を直書き（青/黄ページでもカードタイトルはサーモン）。 */
body.blog .l-content__main .wrapper-column .archive-list .article-title,
body.archive .l-content__main .wrapper-column .archive-list .article-title,
body.search .l-content__main .wrapper-column .archive-list .article-title {
    display: inline-block;
    width: fit-content;
    color: #c97a52;
    font-size: 20px;                              /* Emanon デフォルト 18px → 20px (2026-06-09 user 指摘の読みやすさ底上げ) */
    font-weight: 700;
    background: linear-gradient(transparent 68%, #FFD9C0 68%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0 1px;
    margin-bottom: 0.5em;
    transition: opacity 0.2s;
}

/* 投稿カード内の日付・抜粋・カテゴリピルの font-size 底上げ
   Emanon デフォルトの 12.8px / 11.6px は小さすぎたため (2026-06-09 user 指摘)。
   将来的にサイト全体の font-size 管理見直し (token 化) を検討 (TODO 参照)。 */
body.blog .l-content__main .wrapper-column .archive-list .article-meta,
body.archive .l-content__main .wrapper-column .archive-list .article-meta,
body.search .l-content__main .wrapper-column .archive-list .article-meta {
    font-size: 14px;                              /* 12.8px → 14px */
}
body.blog .l-content__main .wrapper-column .archive-list .article-excerpt,
body.archive .l-content__main .wrapper-column .archive-list .article-excerpt,
body.search .l-content__main .wrapper-column .archive-list .article-excerpt {
    font-size: 14px;                              /* 11.6px → 14px */
}
body.blog .l-content__main .wrapper-column .archive-list .cat-name,
body.archive .l-content__main .wrapper-column .archive-list .cat-name,
body.search .l-content__main .wrapper-column .archive-list .cat-name {
    font-size: 12.5px;                            /* 11.6px → 12.5px (ピルは中庸サイズ) */
}
body.blog .l-content__main .wrapper-column .archive-list > a:hover .article-title,
body.archive .l-content__main .wrapper-column .archive-list > a:hover .article-title,
body.search .l-content__main .wrapper-column .archive-list > a:hover .article-title {
    opacity: 0.8;
}

/* 日付メタ: pc-list は absolute（bottom 固定）+ width calc 前提。縦カードでは通常フローに戻す */
body.blog .l-content__main .wrapper-column .archive-list .article-meta:not(.article-meta__custom-post),
body.archive .l-content__main .wrapper-column .archive-list .article-meta:not(.article-meta__custom-post),
body.search .l-content__main .wrapper-column .archive-list .article-meta:not(.article-meta__custom-post) {
    position: static !important;
    width: auto !important;
}

/* ---- single の「関連記事」も縦カードグリッドに揃える ----
   Emanon の .related-post-list（.wrapper-column + u-item-scroll の横スクロール）を
   grid 化。各 item を縦カード（サムネ上 → 日付 → サーモンタイトル）に。 */
body.single .l-content__main .related-posts .related-post-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    overflow: visible !important;   /* u-item-scroll の横スクロールを解除 */
    /* Emanon の .u-item-scroll は width:max-content（=列幅合計 824px）で、親 .related-posts
       (width:800px, overflow:hidden) を右へ 24px はみ出し PC で 4 枚目が見切れていた。
       SP では Emanon の左 padding(24px) でグリッドが右へずれていた。
       width:100% + padding/margin:0 で両方解消（列は親幅に収まり再計算される）。 */
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.single .l-content__main .related-post-list__item {
    width: 100% !important;
    min-width: 0 !important;       /* Emanon の横スクロール用 min-width:260px を解除（2 列が収まらずはみ出す主因） */
    height: auto !important;       /* Emanon .column-6{height:80px} 固定を解除（サムネ潰れ・タイトル見切れの主因） */
    margin: 0 !important;
    flex: none !important;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
body.single .l-content__main .related-post-list__item > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}
body.single .l-content__main .related-post-list__thumbnail {
    width: 100% !important;
    height: auto !important;        /* Emanon の固定高を解除し aspect-ratio を効かせる */
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3ede6;
}
body.single .l-content__main .related-post-list__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}
body.single .l-content__main .related-post-list__body {
    padding: 9px 12px 12px;
}
/* 関連記事カードの日付 = 投稿上部の日付ピルと同じデザイン（薄サーモン pill + カレンダー）。
   ★ 配置は Emanon の column クラス（= サーバー UA 判定の markup）に委ねるのが正しい:
     - PC(column-6): .published は本文内 → ピルが画像下に出る
     - モバイル(column-4): Emanon が .published を position:absolute(top8/left8) で画像上にオーバーレイ
       し、かつ dark(rgb(0 0 0/.4))+白に塗る。これを薄サーモンへ上書きする。
   Emanon の `.related-post-list__item.column-4.has_thumbnail ... .published`(特異度 0,5,0) に勝つため
   セレクタに `.related-post-list__item` を足して (0,5,1) にする。height:16/line-height:16 も auto で打ち消す。
   写真の上でも読めるよう薄い影。position は指定せず Emanon（column 別）に従わせる。 */
body.single .l-content__main .related-post-list__item .related-post-list__body .published {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--seijuji-tint);
    color: var(--seijuji-accent-dark);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    height: auto;
    padding: 4px 9px 4px 8px;
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
body.single .l-content__main .related-post-list__item .related-post-list__body .published::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    background-color: var(--seijuji-accent-dark);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
body.single .l-content__main .related-post-list__title {
    color: var(--seijuji-accent-dark);
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.45;
}

/* ---- single「前のページ / 次のページ」ナビ（横長カード）----
   DOM 構造: .nav-previous > a > .label-previous(i.chevron + "前のページ") + .post-nav(.nav-title + .pre_nex_thumbnail)。
   Emanon は label / chevron i を position:absolute で端に飛び出させ（フォント未読込で content 空）、
   さらに .nav-title に padding-left:76px 等の残スタイルがあり「重なって変」だった。
   → 横長カードは維持。a を「ラベル上段 + [サムネ｜タイトル]行」のフレックス縦積みにし、
     ラベルをカード内にきれいに収める。prev=サムネ左 / next=サムネ右のミラー。chevron i は残骸なので非表示。
   （grid + display:contents は Emanon 残スタイルと干渉し脆いためフレックスで実装。） */
body.single .l-content__main .post-next-previous .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
body.single .l-content__main .post-next-previous .nav-previous,
body.single .l-content__main .post-next-previous .nav-next {
    flex: 1 1 0;
    min-width: 240px;
    margin: 0;
}
/* カード本体（a）= フレックス縦積み・縦中央寄せ。prev=左寄せ / next=右寄せ */
body.single .l-content__main .post-next-previous .nav-previous a,
body.single .l-content__main .post-next-previous .nav-next a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    background: #fff;
    border: 1px solid var(--seijuji-tint-border);
    border-radius: 12px;
    padding: 13px 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    text-decoration: none;
    transition: box-shadow 0.2s, transform 0.2s;
}
body.single .l-content__main .post-next-previous .nav-previous a {
    align-items: flex-start;
}
body.single .l-content__main .post-next-previous .nav-next a {
    align-items: flex-start;  /* next もラベル/テキストを左揃え（user 指定: タイトル左揃え統一） */
}
body.single .l-content__main .post-next-previous a:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.09);
    transform: translateY(-1px);
}
/* Emanon の絶対配置 chevron i は端に飛び出す残骸なので消す */
body.single .l-content__main .post-next-previous .label-previous i,
body.single .l-content__main .post-next-previous .label-next i {
    display: none !important;
}
/* ラベル（前のページ / 次のページ）= 上段、サーモン小 */
body.single .l-content__main .post-next-previous .label-previous,
body.single .l-content__main .post-next-previous .label-next {
    position: static !important;
    top: auto !important;
    display: block;
    margin: 0 0 7px !important;
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--seijuji-accent-dark);
}
/* post-nav = [サムネ｜テキスト列] の横並び行（カード全幅）。
   テキスト列（タイトル+日付+抜粋）はサムネより高くなるので上揃えにし、
   サムネとタイトルの上端を揃えて 1 つのまとまりに見せる。 */
body.single .l-content__main .post-next-previous .post-nav {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    box-shadow: none !important;
}
/* テキスト列 = タイトル + 日付 + 抜粋を縦積み（seijuji-core の post-nav filter が注入）。
   post-nav の flex 行で残り幅いっぱい（flex:1）、サムネと縦中央で並ぶ。中身は左揃え。 */
body.single .l-content__main .post-next-previous .seijuji-common-navtext {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1 1 auto;
    min-width: 0;            /* 子の nowrap ellipsis を効かせる */
    text-align: left;        /* prev/next とも左揃え */
}
/* タイトル = 1 行省略（…）。Emanon の固定 height:60px / padding-left:76px を打ち消す
   （height:60px が日付・抜粋を下へ押し下げる空きの主因だった）。 */
body.single .l-content__main .post-next-previous .nav-title {
    min-width: 0;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    transform: none !important;
    color: var(--seijuji-accent-dark);   /* 関連記事タイトルと同じサーモン */
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 投稿日 = 投稿上部の日付ピルと同じデザイン（薄サーモン pill + カレンダーアイコン）。
   navtext の縦並び内で content 幅のピルにするため inline-flex + align-self:flex-start。 */
body.single .l-content__main .post-next-previous .seijuji-common-navdate {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--seijuji-tint);
    color: var(--seijuji-accent-dark);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    padding: 5px 10px 5px 9px;
    border-radius: 999px;
}
body.single .l-content__main .post-next-previous .seijuji-common-navdate::before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    flex: 0 0 auto;
    background-color: var(--seijuji-accent-dark);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z"/></svg>');
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
/* 記事の簡単な説明（抜粋）= 2 行で省略 */
body.single .l-content__main .post-next-previous .seijuji-common-navexcerpt {
    font-size: 0.78rem;
    color: #6b6258;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* サムネ = 正方形ブロック。prev は左（order:-1）、next は右（DOM 既定順）。
   Emanon は transform:translateY(-31px) でサムネを上へ浮かせ（+ タイトル padding-left:76px でよけ）
   絶対配置風に縦中央化していた。transform:none で打ち消し flex フロー（縦中央）へ戻す。
   （これがラベルにサムネが被る主因だった。） */
body.single .l-content__main .post-next-previous .pre_nex_thumbnail {
    position: static !important;
    transform: none !important;
    top: auto !important;
    display: block !important;
    flex: 0 0 auto;
    width: 62px;
    height: 62px;
}
body.single .l-content__main .post-next-previous .nav-previous .pre_nex_thumbnail {
    order: -1;  /* DOM 上はタイトルの後ろだが視覚的に左へ */
}
body.single .l-content__main .post-next-previous .pre_nex_thumbnail img {
    width: 62px !important;
    height: 62px !important;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

/* ---- SP ---- */
@media (max-width: 600px) {
    body.single .l-content__main .article-body {
        padding: 20px 18px !important;
        border-radius: 12px;
    }
    /* 関連記事は SP で 2 列固定（auto-fit だと幅次第で 1 列フル幅＝大きすぎになるため小さめに） */
    body.single .l-content__main .related-posts .related-post-list {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }
    body.single .l-content__main .related-post-list__title {
        font-size: 0.85rem;
    }
    body.single .l-content__main .related-post-list__body {
        padding: 8px 10px 10px;
    }
}

/* ============================================================
   Part S: おむつ A/B コース比較カード (.seijuji-about-section--diaper) — about (page-id-30) 専用
   2026-06-01 追加。旧「2行2列の料金表 + is-style-seijuji-box 縦積み」を横長
   リストカードに刷新（user 判断: 表に意味がない / 全面作り直し）。
   - 色は palette.css の --seijuji-accent（about=サーモン #E8956E）を参照 → 将来 about
     の色を palette.css で変えると自動連動。A/B は同色（区別はアイコン: A=財布/節約,
     B=ギフト/おまかせ）。
   - カード地色は is-style-seijuji-box と同言語（半透明白70% が section tint #FFF1E8 に
     透ける）。料金チップ枠線は --seijuji-tint-border。
   ============================================================ */
.seijuji-about-section--diaper { --omt-accent: var(--seijuji-accent, #E8956E); }
.seijuji-about-section--diaper .seijuji-about-table--cmp__rows { display: flex; flex-direction: column; gap: 20px; margin: 0 auto; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__row {
    position: relative;
    display: grid;
    grid-template-columns: 240px 1fr;
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__row::before {
    content: "";
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 6px;
    z-index: 1;
    background: var(--omt-accent);
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__left {
    padding: 24px 22px 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #FBE7DA;
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__badge { display: inline-flex; align-items: center; gap: 11px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__badge-icon {
    width: 40px; height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    background: var(--omt-accent);
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__badge-icon svg { width: 22px; height: 22px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__name { font-size: 1.45rem; font-weight: 700; color: #484848; line-height: 1.2; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__fees { display: flex; flex-direction: column; gap: 8px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    background: #fff;
    border-radius: 9px;
    padding: 10px 14px;
    border: 1px solid var(--seijuji-tint-border, #F4D4BD);
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__chip-label { font-size: 0.92rem; color: #333; white-space: nowrap; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__chip-price { font-weight: 700; color: #333; white-space: nowrap; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__chip-price .seijuji-about-table--cmp__num { font-size: 1.18rem; color: #c0703a; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__chip-price .seijuji-about-table--cmp__unit { font-size: 0.92rem; font-weight: 500; color: #333; margin-left: 2px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__right { padding: 24px 26px; display: flex; flex-direction: column; gap: 13px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__lead {
    font-size: 0.97rem;
    color: #484848;
    font-weight: 600;
    padding-left: 12px;
    border-left: 3px solid var(--omt-accent);
    line-height: 1.6;
    margin: 0;
}
.seijuji-about-section--diaper .seijuji-about-table--cmp__features { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__features li { position: relative; padding-left: 25px; font-size: 0.9rem; line-height: 1.65; }
.seijuji-about-section--diaper .seijuji-about-table--cmp__features li::before {
    content: "";
    position: absolute;
    left: 0; top: 0.5em;
    width: 11px; height: 11px;
    border-radius: 50%;
    background: var(--omt-accent);
}
@media (max-width: 768px) {
    .seijuji-about-section--diaper .seijuji-about-table--cmp__rows { gap: 16px; }
    .seijuji-about-section--diaper .seijuji-about-table--cmp__row { grid-template-columns: 1fr; }
    .seijuji-about-section--diaper .seijuji-about-table--cmp__row::before { width: 100%; height: 6px; bottom: auto; }
    .seijuji-about-section--diaper .seijuji-about-table--cmp__left { padding: 20px 18px 18px; gap: 16px; }
    .seijuji-about-section--diaper .seijuji-about-table--cmp__right { padding: 18px 18px 22px; }
    .seijuji-about-section--diaper .seijuji-about-table--cmp__name { font-size: 1.3rem; }
}


/* =============================================================
   Part AL: サイドバー widget（カテゴリー / 最近の投稿 / アーカイブ）

   3 つの widget（core/categories・Emanon info-list・core/archives）を、
   既存の目次（TOC）widget（plugins の toc.css）と同じクレヨン意匠に統一する。
   案出し proposal-6 採用（2026-06-03、案1 vs 案6 比較で user が案6=全部統一を選定）。

   scope は `.sidebar .widget_block`（= 上記 3 widget。目次 widget は
   `.widget.seijuji-common-toc-widget` で widget_block を持たないため対象外＝
   toc.css のクレヨン意匠がそのまま残り、3 widget と自然に揃う）。

   クレヨン世界観の固定色（画用紙・枠・パステル丸）は toc.css と共有のため
   hard-code。見出し文字とピル base はページ連動 var(--seijuji-accent)。
   最近の投稿のカテゴリピルは seijuji-core の sidebar-term-color フィルタが
   付与する seijuji-term-<slug> class で 3 色出し分け（既知3色以外は accent）。
   ============================================================= */

/* クレヨン世界観の固定トークン（toc.css と同値、サイドバー内に宣言） */
.sidebar {
    --crayon-paper: #fff8e7;     /* クリーム画用紙 */
    --crayon-frame: #f3b186;     /* 外側オレンジ枠 */
    --crayon-dash: #d4a373;      /* 内側こげ茶ダッシュ */
    --crayon-ink: #5c4a3a;       /* 鉛筆色（本文インク） */
    --crayon-orange: #d96f3a;    /* hover 時のオレンジ */
    --crayon-yellow: #f7c948;    /* クレヨン黄 */
    --crayon-peach: #f9c6c9;     /* パステル桃 */
    --crayon-mint: #b8e0c4;      /* パステル緑 */
    --crayon-lavender: #cbb7e4;  /* パステル紫 */
}

/* 手書き風 font chain（toc.css 流用）+ widget 間の余白 */
.sidebar .widget_block {
    font-family: "Yu Mincho", "YuMincho", "Comic Sans MS", "Klee One",
        "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "MS UI Gothic", cursive; /* 手書き風 */
    font-weight: 600;                            /* クレヨンの太さを擬似 */
    color: var(--crayon-ink);                    /* 鉛筆色 */
    line-height: 1.55;
    margin: 0 0 22px;                            /* widget 間の余白 */
}
.sidebar .widget_block:last-child {
    margin-bottom: 0;
}
.sidebar .widget_block ::selection {
    background: #ffe17a;                         /* 選択色も世界観に合わせる */
    color: var(--crayon-ink);
}

/* ---- box: 画用紙 + 紙ザラつき + 紙ちぎり風枠 + 二重インセット影 ---- */
.sidebar .widget_block .wp-block-group {
    padding: 18px 18px 22px;                     /* 紙の余白 */
    /* Emanon が widget の wp-block-group に inline で background-color:#d0e2f57a（青）を
       出すため、!important で画用紙クリームに上書き（旧 offcream ルールも同様に上書きしていた）。 */
    background:
        radial-gradient(circle at 22% 18%, rgba(255,255,255,0.6) 0 1px, transparent 2px), /* 紙のザラッと感 */
        radial-gradient(circle at 78% 62%, rgba(255,255,255,0.5) 0 1px, transparent 2px),
        radial-gradient(circle at 45% 85%, rgba(255,255,255,0.45) 0 1px, transparent 2px),
        var(--crayon-paper) !important;          /* クリーム画用紙（inline 上書き） */
    border: 3px solid var(--crayon-frame);       /* 外側オレンジ枠 */
    box-shadow:
        inset 0 0 0 2px var(--crayon-paper),     /* 内側 cream 帯 */
        inset 0 0 0 4px var(--crayon-dash),      /* 内側こげ茶ダッシュ風 */
        0 4px 0 0 rgba(180, 130, 90, 0.18),      /* 下の影 */
        0 8px 18px -6px rgba(180, 130, 90, 0.28);
}
/* 紙ちぎり風の不揃い角丸 + わずかな回転（widget ごとに符号/角度を変えて貼ったメモ感） */
.sidebar .widget_block:nth-of-type(1) .wp-block-group {
    border-radius: 24px 18px 28px 16px / 18px 26px 16px 24px;
    transform: rotate(-0.6deg);
}
.sidebar .widget_block:nth-of-type(2) .wp-block-group {
    border-radius: 18px 26px 16px 28px / 26px 16px 24px 18px;
    transform: rotate(0.5deg);
}
.sidebar .widget_block:nth-of-type(3) .wp-block-group {
    border-radius: 28px 16px 22px 20px / 20px 24px 18px 26px;
    transform: rotate(-0.4deg);
}

/* ---- 見出し（h2）: 黄色クレヨンで囲った風 ---- */
.sidebar .widget_block .wp-block-heading {
    position: relative;
    font-size: 20px;
    font-weight: 800;
    color: var(--seijuji-accent);                /* オレンジ文字（ページ連動） */
    text-align: center;
    margin: 0 0 16px;
    padding: 6px 14px 10px;
    letter-spacing: 0.08em;
    transform: rotate(0.8deg);                   /* ノートに貼ったメモ風 */
}
.sidebar .widget_block .wp-block-heading::before { /* 見出しを囲む手描き楕円 */
    content: "";
    position: absolute;
    inset: -2px -4px;
    border: 2.5px solid var(--crayon-yellow);
    border-radius: 55% 45% 60% 40% / 50% 60% 40% 50%; /* 歪んだ楕円 */
    transform: rotate(-1.2deg);
    pointer-events: none;
    opacity: 0.85;
}
.sidebar .widget_block .wp-block-heading::after {  /* 右上のクレヨン飾り */
    content: "✿";
    position: absolute;
    right: 2px;
    top: -8px;
    font-size: 15px;
    color: #e88aa6;
    transform: rotate(15deg);
}
/* 見出しごとに飾りを変えて手描き感（花 / 星 / 花） */
.sidebar .widget_block:nth-of-type(2) .wp-block-heading::after { content: "✦"; color: var(--crayon-yellow); }
.sidebar .widget_block:nth-of-type(3) .wp-block-heading::after { content: "❀"; color: #8fbf9a; }

/* ---- カテゴリー / アーカイブ 共通リスト ---- */
.sidebar .wp-block-categories,
.sidebar .wp-block-archives {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar .wp-block-categories > li,
.sidebar .wp-block-archives > li {
    position: relative;
    margin: 0 0 6px;
}
.sidebar .wp-block-categories > li:last-child,
.sidebar .wp-block-archives > li:last-child {
    margin-bottom: 0;
}
/* アーカイブ: 各年度の区切り線（最近の投稿と同じクレヨン風ダッシュ） */
.sidebar .wp-block-archives > li:not(:last-child) {
    padding-bottom: 6px;
    border-bottom: 2px dashed rgba(212, 163, 115, 0.5);
}
.sidebar .wp-block-categories > li > a,
.sidebar .wp-block-archives > li > a {
    display: block;
    position: relative;
    font-size: 15px;
    font-weight: 800;
    color: var(--crayon-ink);
    text-decoration: none;
    padding: 5px 6px 6px 30px;                   /* 左は丸印の余白 */
    line-height: 1.45;
    border-radius: 8px 14px 10px 12px / 12px 8px 14px 10px;
    transition: transform 0.15s ease, color 0.15s ease, background 0.15s ease;
}
/* 行頭のクレヨン丸（歪な丸 + 回転） */
.sidebar .wp-block-categories > li > a::before,
.sidebar .wp-block-archives > li > a::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    width: 16px;
    height: 16px;
    border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%;
    background: var(--crayon-yellow);
    box-shadow: inset 0 -2px 0 rgba(0,0,0,0.08);
    transform: rotate(-8deg);
}
/* 4 色ローテ（toc.css と同配色） */
.sidebar .wp-block-categories > li:nth-child(4n+1) > a::before,
.sidebar .wp-block-archives > li:nth-child(4n+1) > a::before { background: var(--crayon-peach); }
.sidebar .wp-block-categories > li:nth-child(4n+2) > a::before,
.sidebar .wp-block-archives > li:nth-child(4n+2) > a::before { background: var(--crayon-mint); }
.sidebar .wp-block-categories > li:nth-child(4n+3) > a::before,
.sidebar .wp-block-archives > li:nth-child(4n+3) > a::before { background: var(--crayon-lavender); }
.sidebar .wp-block-categories > li:nth-child(4n) > a::before,
.sidebar .wp-block-archives > li:nth-child(4n) > a::before { background: var(--crayon-yellow); }

/* hover: 黄色マーカー風ハイライト + わずか傾き */
.sidebar .wp-block-categories > li > a:hover,
.sidebar .wp-block-archives > li > a:hover {
    color: var(--crayon-orange);
    background: linear-gradient(105deg,
        transparent 0, transparent 4%,
        rgba(255, 220, 100, 0.7) 9%,
        rgba(255, 220, 100, 0.5) 92%,
        transparent 97%);
    background-repeat: no-repeat;
    background-size: 100% 72%;
    background-position: 0 60%;
    transform: translateX(2px) rotate(-0.5deg);
}

/* ---- 最近の投稿（自前ブロック seijuji/news-list regular）: 画用紙世界観 + ピル 3 色 ----
   Emanon Premium Blocks の info-list を脱却し、自前の seijuji/news-list（TOP §1 と同じ
   ブロック）の regular 出力をサイドバー用に装飾する。`.sidebar` スコープなので TOP §1
   （Part AH）とは干渉しない。markup: ul.seijuji-top-section--news__regular > li > a >
   (span.seijuji-top-section--news__pill / time.seijuji-top-section--news__regular-date / p.seijuji-top-section--news__regular-title)。 */
.sidebar .seijuji-top-section--news__regular {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sidebar .seijuji-top-section--news__regular > li {
    position: relative;
    margin: 0 0 7px;                             /* 区切り線の下の余白 */
}
/* 各投稿の区切り線（クレヨン風の手描きダッシュ） */
.sidebar .seijuji-top-section--news__regular > li:not(:last-child) {
    padding-bottom: 7px;                         /* 区切り線の上の余白 */
    border-bottom: 2px dashed rgba(212, 163, 115, 0.5);
}
.sidebar .seijuji-top-section--news__regular > li:last-child {
    margin-bottom: 0;
}
/* リンクは縦積み（ピル → タイトル）。TOP §1 の grid レイアウトを .sidebar で上書き。 */
.sidebar .seijuji-top-section--news__regular > li > a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    text-decoration: none;
    padding: 4px 6px 4px 28px;                   /* 左はクレヨン丸の余白 */
    border-radius: 10px 16px 12px 14px / 14px 10px 16px 12px;
    transition: transform 0.15s ease, background 0.15s ease;
}
/* 行頭のクレヨン丸（4 色ローテ） */
.sidebar .seijuji-top-section--news__regular > li > a::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 7px;
    width: 15px;
    height: 15px;
    border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%;
    background: var(--crayon-yellow);
    box-shadow: inset 0 -2px 0 rgba(0,0,0,0.08);
    transform: rotate(-8deg);
}
.sidebar .seijuji-top-section--news__regular > li:nth-child(4n+1) > a::before { background: var(--crayon-peach); }
.sidebar .seijuji-top-section--news__regular > li:nth-child(4n+2) > a::before { background: var(--crayon-mint); }
.sidebar .seijuji-top-section--news__regular > li:nth-child(4n+3) > a::before { background: var(--crayon-lavender); }
.sidebar .seijuji-top-section--news__regular > li:nth-child(4n) > a::before { background: var(--crayon-yellow); }

/* ピル: クレヨン風（歪み角丸 + わずか傾き）+ カテゴリ別 3 色 */
.sidebar .seijuji-top-section--news__pill {
    display: inline-flex;
    width: auto;                                 /* TOP §1 の width:100% を解除 */
    margin: 0 0 5px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    color: #fff;
    padding: 2px 11px 3px;
    border-radius: 12px 7px 13px 8px / 8px 13px 7px 12px;
    box-shadow: inset 0 -2px 0 rgba(0,0,0,0.1);
    transform: rotate(-1.5deg);
    letter-spacing: 0.04em;
}
.sidebar .seijuji-top-section--news__pill--news     { background: var(--seijuji-cat-news);             color: #fff; } /* お知らせ: 黄 */
.sidebar .seijuji-top-section--news__pill--encho    { background: var(--seijuji-cat-encho);            color: #fff; } /* 園長通信: 青 */
.sidebar .seijuji-top-section--news__pill--featured { background: var(--seijuji-cat-featured);         color: #fff; } /* 注目: コーラル */
.sidebar .seijuji-top-section--news__pill--garden   { background: var(--seijuji-cat-treehouse-pill-vivid); color: #fff; } /* 園庭通信: ミントグリーン（H1 アクセント #2e5b39 より明度高い pill-vivid #7AB37D） */

/* 日付はサイドバーでは非表示（ピル + タイトルのみ、user 承認の並びに合わせる） */
.sidebar .seijuji-top-section--news__regular-date {
    display: none;
}
.sidebar .seijuji-top-section--news__regular-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--crayon-ink);
    line-height: 1.5;
    word-break: keep-all;                        /* 日本語は句読点で折る */
    overflow-wrap: anywhere;
}
/* hover: 黄色マーカー + わずか傾き */
.sidebar .seijuji-top-section--news__regular > li > a:hover {
    background: linear-gradient(105deg,
        transparent 0, transparent 3%,
        rgba(255, 220, 100, 0.55) 8%,
        rgba(255, 220, 100, 0.4) 93%,
        transparent 98%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transform: translateX(2px) rotate(-0.4deg);
}
.sidebar .seijuji-top-section--news__regular > li > a:hover .seijuji-top-section--news__regular-title {
    color: var(--crayon-orange);
}

/* ---- アーカイブ: 直近3年度 + もっと見る（CSS トグル、JS なし） ----
   seijuji-core の sidebar-archive が <div.seijuji-common-archive> 内に
   checkbox + ul + label を注入する。4 年度目以降を既定で隠し、checkbox:checked で展開。 */
.sidebar .seijuji-common-archive-toggle {            /* チェックボックス本体は隠す（label で操作） */
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.sidebar .seijuji-common-archive .wp-block-archives-list > li:nth-child(n+4) {
    display: none;                            /* 既定は直近3年度のみ表示 */
}
.sidebar .seijuji-common-archive-toggle:checked ~ .wp-block-archives-list > li {
    display: list-item;                       /* もっと見る押下で全年度表示 */
}
/* もっと見る / 閉じる トグルボタン（クレヨン風の手描きリンク） */
.sidebar .seijuji-common-archive-more {
    display: inline-block;
    padding: 4px 14px 5px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    color: var(--crayon-orange);
    background: rgba(255, 220, 100, 0.35);    /* 黄色クレヨンの薄塗り */
    border-radius: 10px 7px 12px 8px / 8px 12px 7px 10px;
    transform: rotate(-0.6deg);
    transition: background 0.15s ease, transform 0.15s ease;
    user-select: none;
}
.sidebar .seijuji-common-archive-more::after {       /* 開閉の向きを示す小三角 */
    content: " ▾";
    font-size: 11px;
}
.sidebar .seijuji-common-archive-more:hover {
    background: rgba(255, 220, 100, 0.6);
    transform: rotate(-0.6deg) translateY(-1px);
}
.sidebar .seijuji-common-archive-more__close {       /* 既定は「もっと見る」、展開時に「閉じる」へ */
    display: none;
}
.sidebar .seijuji-common-archive-toggle:checked ~ .seijuji-common-archive-more .seijuji-common-archive-more__open {
    display: none;
}
.sidebar .seijuji-common-archive-toggle:checked ~ .seijuji-common-archive-more .seijuji-common-archive-more__close {
    display: inline;
}
.sidebar .seijuji-common-archive-toggle:checked ~ .seijuji-common-archive-more::after {
    content: " ▴";                            /* 展開時は上向き三角 */
}

/* ---- SP（〜480px）: 回転を控えめに + padding を詰める ---- */
@media (max-width: 480px) {
    .sidebar .widget_block:nth-of-type(1) .wp-block-group { transform: rotate(-0.3deg); }
    .sidebar .widget_block:nth-of-type(2) .wp-block-group { transform: rotate(0.25deg); }
    .sidebar .widget_block:nth-of-type(3) .wp-block-group { transform: rotate(-0.2deg); }
    .sidebar .widget_block .wp-block-group { padding: 16px 14px 18px; }
    .sidebar .widget_block .wp-block-heading { font-size: 18px; transform: rotate(0.4deg); }
    .sidebar .wp-block-categories > li > a,
    .sidebar .wp-block-archives > li > a { font-size: 14px; }
    .sidebar .seijuji-top-section--news__regular-title { font-size: 13.5px; }
    .sidebar .seijuji-top-section--news__pill { transform: rotate(-0.8deg); }
}


/* =============================================================
   Part Ω: 縦余白の共通定義「Stack モデル」 (2026-06-11 re-architect Phase 2-a)

   二法則 (余白の所有者を一意にするための原則):
   1. 下方向所有 — 各要素は「次の兄弟との間隔」を自分の margin-bottom で持つ。
      値は要素の階層ティア (段落級 1em / コンポーネント級 1.5em / セクション級 2em)。
   2. 末子無所有 — 親の最後の子は margin-bottom を持たない (0)。
      外との間隔は親 (セクションラッパ等) 自身が法則 1 で持つ。

   「この余白はどこから?」の答えは常に「直前の兄弟の margin-bottom」で一意。
   見出し専用の前余白レイヤー :has(+ h2/h3/h4) は 2026-06-11 に廃止
   (所有者が二重になるため。見出し前の間隔も前要素のティア値が担う)。
   margin-top はサイト全域で誰も持たない (例外なし)。scroll-margin-top
   (Part L 80px / Part AK 130px) はアンカー着地オフセットで flow 余白ではない。
   ============================================================= */

/* 階層ティア token: フロー層 (ページの流れに直接並ぶ要素) の margin-bottom はこの 3 値のどれかを参照する */
:root {
    --seijuji-gap-para: 1.5em;  /* 段落級: p / ul / ol / 単発画像・details */
    --seijuji-gap-comp: 2em;    /* コンポーネント級: カード群・callout・グリッド等のルート */
    --seijuji-gap-sect: 2.5em;  /* セクション級: .seijuji-section などの大区切り (2026-06-11 user 決定で 1/1.5/2em から拡大) */
}

/* 段落級フロー要素の床値 (リスト・単発 figure は :where で specificity (0,1,0) に抑え、個別宣言が常に勝てる「床」にする) */
.l-content__main p { margin-bottom: var(--seijuji-gap-para); }
.l-content__main :where(ul, ol, figure) { margin-bottom: var(--seijuji-gap-para); }
.l-content__main :where(ul, ol) { margin-top: 0; }          /* UA デフォルトの上余白を抑止 (下方向所有) */

/* セクション級: seijuji-section 同士の間隔 (theme.json blockGap: 0 で WP auto が無効なため共通で担う) */
.l-content__main.l-content__main .seijuji-section:not(:last-child) { margin-bottom: var(--seijuji-gap-sect); }

/* 末子無所有: セクション直下の最後の子は下余白を持たない (外との間隔は section 自身の 2em が担う) */
.l-content__main .seijuji-section > :last-child { margin-bottom: 0; }

/* wrapper 内の末尾要素の下余白リセット (box / カード内の最後の p・リスト・図の無駄余白を消す。
   2026-06-09 初版で *:last-child としたら section / カード wrapper まで巻き込んで余白消滅事故 → 要素を限定) */
.l-content__main :where(p, ul, ol, figure):last-child { margin-bottom: 0; }
