/* theme-admission.css — 入園・入学撮影（admission）テーマ層
   依存：global.css / components.css / menu.css / menu-shared.css（この順で読み込み＝後勝ち）
   読み込み条件：functions.php で is_page_template('_menu.php') かつ post_slug === 'admission'
   役割：共通骨格 menu-shared.css（寒色デフォルト基調）の上に per-slug の配色＋柄を重ねる。
        .nb__page スコープで詳細度を上げて骨格を上書き（他メニューは menu-shared のみ＝非影響）。
   配色コンセプト：新生活の若葉色×桜色 ― 萌え出る新緑(主役)に桜のピンクを添えた、希望とフレッシュさの春の門出
   ※配色は配色リサーチWorkflow（Web検索＋WCAG AA敵対検証・2026-06-04）で確定。deep色は白背景4.5:1以上、
     urgency暗背景は白文字4.5:1以上を満たす。family/baby/753/20th と一目で見分く色相。
   ================================================================ */

/* ── 配色トークン（accent＝メイン／sub＝さし色） ── */
.nb__page {
  --nb-terra:      #f2bdd0;   /* メインアクセント（線・装飾・帯・主役バッジ） */
  --nb-terra-deep: #a93f64;   /* 濃アクセント：明背景の文字/アイコン（白4.5:1+） */
  --nb-terra-lt:   #fdf0f5;   /* 淡アクセント背景 */
  --nb-terra-lt2:  #f9dfe9;   /* 淡アクセント背景（濃）グラデ用 */
  --nb-cha:        #acd09e;   /* さし色 */
  --nb-cha-deep:   #43763b;   /* 濃さし色：文字用（白4.5:1+） */
  --nb-cha-lt:     #f3f8ee;   /* 淡さし色背景 */
  --nb-cha-lt2:    #e5f0da;   /* 淡さし色背景（濃）グラデ用 */
  --nb-text-warm:  #4a4540;   /* 本文色（淡背景で4.5:1+） */
}

/* セクション区切り線：accent→sub のグラデ */
.nb__page .jm__hdiv { width: 44px; height: 2px; background: linear-gradient(90deg, var(--nb-terra), var(--nb-cha)); }
.nb__flow-detail .jm__hdiv,
.nb__chapter--cta .jm__hdiv { background: linear-gradient(90deg, rgba(242, 189, 208, .85), rgba(67, 118, 59, .7)); }
/* 料金 主役カードのバッジ：濃アクセント背景（白文字） */
.nb__page .nb__price-badge { background: var(--nb-terra-deep); }

/* ① HERO直下ジャーニー：クリーム背景＋accentドット */
.nb__page .nb__hero-jrn { background: var(--cream); border-top: 1px solid var(--light-gray); }
.nb__page .nb__hero-jrn-h2 { color: var(--charcoal); }
.nb__page .nb__hero-jrn-h2 em { color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-sub { color: var(--nb-text-warm); }
.nb__page .nb__hero-jrn-label { color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-title { color: var(--nb-text-warm); }
.nb__page .nb__hero-jrn-dot { background: #ffffff; border-color: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-dot svg { stroke: var(--nb-terra-deep); }
.nb__page .nb__hero-jrn-dot--active { background: var(--nb-terra); border-color: var(--nb-terra); }
.nb__page .nb__hero-jrn-dot--active svg { stroke: #ffffff; }
.nb__page .nb__hero-jrn-step:not(:last-child)::before { background: rgba(169, 63, 100, .35); }
@media (max-width: 767px) {
  .nb__page .nb__hero-jrn-steps::before { background: rgba(169, 63, 100, .35); }
  .nb__page .nb__hero-jrn-dot { background: #ffffff; }
  .nb__page .nb__hero-jrn-dot--active { background: var(--nb-terra); }
}

/* ② 中間CTA：淡accentグラデ */
.nb__page .nb__mid-cta { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--nb-terra-lt2) 100%); }
.nb__page .nb__mid-cta-title { color: var(--charcoal); }
.nb__page .nb__mid-cta-sub { color: var(--nb-text-warm); text-shadow: none; }
.nb__page .nb__mid-cta-example { color: var(--nb-text-warm) !important; text-shadow: none; }

/* ③ 料金後CTA：淡subグラデ（さし色） */
.nb__page .nb__price-after-cta { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--nb-terra-lt2) 100%); }
.nb__page .nb__price-after-cta::before { background: var(--nb-terra); width: 56px; height: 2px; }
.nb__page .nb__price-after-cta-en { color: var(--nb-terra-deep); opacity: 1; }
.nb__page .nb__price-after-cta-title { color: var(--charcoal); }
.nb__page .nb__price-after-cta-title em { color: var(--nb-terra-deep); }
.nb__page .nb__price-after-cta-desc { color: var(--nb-text-warm); }
.nb__page .nb__price-after-cta-note { color: var(--nb-text-warm); }

/* ④ 撮影の流れ：淡accentグラデ */
.nb__page .nb__flow-detail { background: linear-gradient(180deg, var(--nb-terra-lt) 0%, var(--nb-terra-lt2) 100%); }
.nb__page .nb__flow-detail .jm__sec-h2 { color: var(--charcoal); }
.nb__page .nb__flow-detail .jm__sec-sub { color: var(--nb-text-warm); }
.nb__page .nb__flow-dl-dot { background: #ffffff; border-color: var(--nb-terra-deep); color: var(--nb-terra-deep); }
.nb__page .nb__flow-dl-phase { color: var(--nb-terra-deep); opacity: 1; }
.nb__page .nb__flow-dl-title { color: var(--charcoal); }
.nb__page .nb__flow-dl-desc { color: var(--nb-text-warm); }
.nb__page .nb__flow-dl-cost { color: var(--nb-terra-deep); background: var(--warm-white); border-color: rgba(169, 63, 100, .26); }
.nb__page .nb__flow-dl-item:not(:last-child)::after { background: linear-gradient(to bottom, rgba(169, 63, 100, .5), rgba(169, 63, 100, .1)); }
.nb__page .nb__flow-dl-qa { background: var(--warm-white); border: 1px solid rgba(169, 63, 100, .18); }
.nb__page .nb__flow-dl-qa-q { color: var(--nb-terra-deep); }
.nb__page .nb__flow-dl-qa-a { color: var(--nb-text-warm); }
/* 「当日の目安」ブロック（CH6冒頭）＝明地テーマの上書き。罫線と余白で組む（カード化・角丸影・一辺色バーなし）。 */
.nb__page .nb__flow-est-heading { color: var(--nb-terra-deep); border-bottom-color: color-mix(in srgb, var(--nb-terra-deep) 32%, transparent); }
.nb__page .nb__flow-est-row { border-bottom-color: color-mix(in srgb, var(--nb-terra-deep) 16%, transparent); }
.nb__page .nb__flow-est-label { color: var(--nb-text-warm); }
.nb__page .nb__flow-est-val { color: var(--charcoal); }
.nb__page .nb__flow-est-note { color: var(--nb-text-warm); }

.nb__page .nb__flow-detail .line-cta-btn {
  background: #06C755; /* LINE公式ブランド色（オーナー確定・2026-07-09） */ color: #fff; border: .5px solid rgba(255, 255, 255, .45);
  box-shadow: inset 1px 1px 1.8px rgba(255, 255, 255, .5), 0 4px 14px rgba(0, 0, 0, .12);
}
.nb__page .nb__flow-detail .line-cta-btn:hover { background: #05b34c; /* LINE公式hover（2026-07-09） */ color: #fff; border-color: rgba(255, 255, 255, .6); }

/* ⑤ 緊急性ブロック：暗背景グラデ（白文字維持・AA） */
.nb__page .nb__urgency { background: linear-gradient(135deg,#9e3a5e 0%,#6e2342 100%); }
.nb__page .nb__urgency-text { color: rgba(255, 255, 255, .92); }

/* ⑥ 最終CTA overlay：暗色（背景写真の上に重ねる） */
.nb__page .nb__cta-bg-overlay { background: linear-gradient(to bottom, rgba(169, 63, 100, 0.45) 0%, rgba(22, 48, 20, 0.84) 100%); }

/* ⑦ 比較表ヘッダー（ch1）：accentグラデ（白文字） */
.nb__page .nb__compare-thead { background: linear-gradient(135deg, var(--nb-terra) 0%, var(--nb-terra-deep) 100%); }
.nb__page .nb__compare-col--us { color: #ffffff !important; }
.nb__page .nb__yn--no   { color: #6f6259; }
.nb__page .nb__yn--cond { color: #786a5a; }
.nb__page .nb__compare-cell--us .nb__yn--yes { color: var(--nb-terra-deep); }
.nb__page .nb__compare-cell:not(.nb__compare-cell--us) .nb__yn--yes { color: var(--gold-dk); }

/* ⑧ 定義ボックス（AIO）：淡accentの小札 */
.nb__page .nb__definition {
  border-left: none; border: 1px solid var(--nb-terra-lt2); border-radius: 12px;
  background: linear-gradient(165deg, var(--nb-terra-lt) 0%, var(--warm-white) 70%);
}
.nb__page .nb__definition-label {
  font-family: var(--jp); font-size: .8rem; letter-spacing: .04em; text-transform: none;
  color: var(--nb-terra-deep); display: inline-flex; align-items: center;
}
.nb__page .nb__definition-label::before {
  content: ''; display: inline-block; width: 13px; height: 13px; margin-right: 8px;
  background-color: var(--nb-terra-deep);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nb__page .nb__definition-text strong { color: var(--nb-terra-deep); }

/* ⑨ 料金カード画像未登録時のアイコン背景：プラン別に accent／sub を循環 */
.nb__page .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-terra-lt) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-card-media--icon svg { color: var(--nb-terra-deep); opacity: .9; }
.nb__page .nb__price-plans .nb__price-card:nth-child(2) .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-cha-lt) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-plans .nb__price-card:nth-child(2) .nb__price-card-media--icon svg { color: var(--nb-cha-deep); }
.nb__page .nb__price-plans .nb__price-card:nth-child(3) .nb__price-card-media--icon { background: linear-gradient(160deg, var(--nb-terra-lt2) 0%, var(--warm-white) 100%); }
.nb__page .nb__price-plans .nb__price-card:nth-child(4) .nb__price-card-media--icon svg { color: var(--nb-cha-deep); }

/* ⑩ CH5 なぜカードの大数字：濃accentでAA確保 */
.nb__page .nb__why-val { color: var(--nb-terra-deep); }

/* ⑪ 章見出しラベル：丸ドットを添える（明朝・濃accent） */
.nb__page .jm__marker-label { font-family: var(--jp); font-size: .82rem; letter-spacing: .08em; color: var(--nb-terra-deep); }
.nb__page .jm__marker-label::before {
  content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 7px; vertical-align: -1px;
  background-color: var(--nb-terra);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nb__page .nb__chapter--cta .jm__marker-label { color: var(--nb-terra); }
.nb__page .nb__chapter--cta .jm__marker-label::before { background-color: var(--nb-terra); }
.nb__page .nb__hero-card-en { color: var(--nb-terra); }


/* ⑬ 注意ボックス（CH4 案内）：淡accentトーン */
.nb__page .nb__price-note-box { background: var(--nb-terra-lt); border-color: rgba(169, 63, 100, .18); color: var(--nb-text-warm); }

/* ⑭ 写真帯overlay：暗色（白クォートの可読性確保） */
.nb__page .nb__photo-band-overlay { background: linear-gradient(180deg, rgba(169, 63, 100, 0.45) 0%, rgba(22, 48, 20, 0.84) 100%); }

/* ⑮ アンカーナビ：薄い桜背景＋濃桜文字（オーナー要望「もう少し薄い桜色」＝淡背景＋濃文字で実現。
   白文字を保つ濃背景だと薄くできないため、文字色を濃桜に反転。背景#fbe3ec×文字#a93f64＝4.83:1 でAA達成。
   ガラス構造/JS/sticky-glass-spec は不可触＝is-stuck時は共通骨格のガラスのまま） */
.nb__page .nb__page-nav:not(.is-stuck) { background-color: #fbe3ec; border-bottom-color: rgba(169, 63, 100, .18); }
.nb__page .nb__page-nav:not(.is-stuck) .nb__page-nav-link { color: var(--nb-terra-deep); }
.nb__page .nb__page-nav:not(.is-stuck) .nb__page-nav-link.is-current { border-bottom-color: var(--nb-terra-deep); }
.nb__page .nb__page-nav.is-stuck .nb__page-nav-link.is-current {
  color: var(--nb-terra-deep); border-bottom-color: var(--nb-terra-deep); background: rgba(169, 63, 100, .10);
}
@media (hover: hover) and (pointer: fine) {
  .nb__page .nb__page-nav.is-stuck .nb__page-nav-link:hover { color: var(--nb-terra-deep); border-bottom-color: var(--nb-terra-deep); }
  .nb__page .nb__page-nav:not(.is-stuck) .nb__page-nav-link:hover { color: var(--nb-terra-deep); border-bottom-color: var(--nb-terra-deep); }
}
.nb__page .nb__page-nav-link:focus-visible { outline-color: var(--nb-terra-deep); }

/* 専用写真が無い間のヒーロー背景：緊急性ブロックと同じテーマ色暗版グラデで統一（写真が来たら hero に実パスを設定） */
.nb__page .nb__hero--noimg .nb__hero-bg { background: linear-gradient(135deg,#9e3a5e 0%,#6e2342 100%); }

/* ═══════════════
   桜柄（地紋）：オーナー指定でセクションごとに使う素材を限定（少数・小さめ・間隔広め・ランダム散布）。
   ・ジャーニー＝桜花 sakura(mask/deep)＋枝 sakura11(::before カラー)／中間CTA＝カラー花 sakura8,9,10(background)／
     料金後＝桜花 sakura2(mask/deep)／流れ＝花びら sakura3-7(mask/deep)／緊急性＝散布地紋 sakura13(密集を約7%間引き・白)。
   ・各タイルは python で重なり判定＋間隔広めに小さく散布（tile-jrn/price/flow/mid）。本文 z-index:1。
═══════════════ */
/* ジャーニー：桜花 sakura(deep) を小さく散布＋枝 sakura11 ワンポイント */
.nb__page .nb__hero-jrn { position: relative; overflow: hidden; }
.nb__page .nb__hero-jrn > * { position: relative; z-index: 1; }
.nb__page .nb__hero-jrn::after {
  content: ''; position: absolute; inset: 0;
  -webkit-mask: url("../../img/menu/admission/tile-jrn.svg") -180px 250px / 720px 720px repeat;
          mask: url("../../img/menu/admission/tile-jrn.svg") -180px 250px / 720px 720px repeat;
  background-color: var(--nb-terra-deep); opacity: 0.20; pointer-events: none; z-index: 0;
}
.nb__page .nb__hero-jrn::before {
  content: ''; position: absolute; right: -24px; bottom: -16px; width: 260px; height: 260px;
  background: url("../../img/menu/admission/sakura11.svg") center / contain no-repeat;
  opacity: 0.16; pointer-events: none; z-index: 0;
}
/* PC＝桜を下＋左へ寄せ項目(STEPドット)・枝を避ける（::after の mask-position -180px 250px）／SP＝桜4個版(PC3個+1)に差し替え、位置は前回から少しだけ右下。いずれも枝 sakura11 は動かさない */
@media (max-width: 768px) {
  .nb__page .nb__hero-jrn::after {
    -webkit-mask-image: url("../../img/menu/admission/tile-jrn-sp.svg");
            mask-image: url("../../img/menu/admission/tile-jrn-sp.svg");
    -webkit-mask-position: 60px -90px; mask-position: 60px -90px;
  }
}
/* 中間CTA：カラー花 sakura8,9,10 の3種を各3個・角度ランダムで散布（カラーのまま background） */
.nb__page .nb__mid-cta { position: relative; overflow: hidden; }
.nb__page .nb__mid-cta > * { position: relative; z-index: 1; }
.nb__page .nb__mid-cta::after {
  content: ''; position: absolute; inset: 0;
  background: url("../../img/menu/admission/tile-mid.svg") 0 0 / 880px 880px repeat;
  opacity: 0.34; pointer-events: none; z-index: 0;
}
/* SP：タイルを小さくして3種(花房/つぼみ/花輪)を画面内に収める */
@media (max-width: 768px) {
  .nb__page .nb__mid-cta::after { background-size: 520px 520px; }
}
/* 料金後CTA(For Your Case)：桜花 sakura2(deep) を間隔広め・小さめに散布 */
.nb__page .nb__price-after-cta { position: relative; overflow: hidden; }
.nb__page .nb__price-after-cta-inner { position: relative; z-index: 1; }
.nb__page .nb__price-after-cta::after {
  content: ''; position: absolute; inset: 0;
  -webkit-mask: url("../../img/menu/admission/tile-price.svg") 0 0 / 820px 820px repeat;
          mask: url("../../img/menu/admission/tile-price.svg") 0 0 / 820px 820px repeat;
  background-color: var(--nb-terra-deep); opacity: 0.18; pointer-events: none; z-index: 0;
}
/* 撮影の流れ：花びら sakura3-7(deep) を各2-3個・小さめに散布 */
.nb__page .nb__flow-detail { position: relative; overflow: hidden; }
.nb__page .nb__flow-detail-inner { position: relative; z-index: 1; }
.nb__page .nb__flow-detail::after {
  content: ''; position: absolute; inset: 0;
  -webkit-mask: url("../../img/menu/admission/tile-flow.svg") 0 0 / 1000px 1000px repeat;
          mask: url("../../img/menu/admission/tile-flow.svg") 0 0 / 1000px 1000px repeat;
  background-color: var(--nb-terra-deep); opacity: 0.06; pointer-events: none; z-index: 0;
}
/* 緊急性：散布地紋 sakura13（元の111枚密集から密度のみ約7%間引き＝103枚／大きさ300px・濃さ0.20は元のまま） */
.nb__page .nb__urgency { position: relative; overflow: hidden; }
.nb__page .nb__urgency-body, .nb__page .nb__urgency-badge { position: relative; z-index: 1; }
.nb__page .nb__urgency::after {
  content: ''; position: absolute; inset: 0;
  -webkit-mask: url("../../img/menu/admission/sakura13-mask.svg") 0 0 / 300px 300px repeat;
          mask: url("../../img/menu/admission/sakura13-mask.svg") 0 0 / 300px 300px repeat;
  background-color: #ffffff; opacity: 0.13; pointer-events: none; z-index: 0;
}
