/* ─────────────────────────────────────────────────────────────
   暗色セクション(墨色 #0B1426 基調、クリーム #E6ECF2 文字)
   ───────────────────────────────────────────────────────────── */
  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"],
    [data-screen-label="13 Process"],
    [data-screen-label="17 Footer"]
  ) {
    background-color: #0B1426 !important;
    color: #E6ECF2 !important;
    background-image:
      radial-gradient(1400px 800px at 80% 0%, rgba(255,255,255,.03), transparent 65%),
      radial-gradient(900px 500px at 0% 100%, rgba(255,255,255,.02), transparent 60%) !important;
  }

  /* 文字色(共通) ─────────────────────────── */
  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"],
    [data-screen-label="13 Process"]
  ) :is(.eyebrow, .why-content .tag,
        .step .period, .step-label,
        .case-card .meta) {
    color: rgba(244, 240, 230, .55) !important;
  }

  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"],
    [data-screen-label="13 Process"]
  ) :is(.sec-title, .why-content h3, .step h3, h2, h3,
        .tab-stats .v) {
    color: #E6ECF2 !important;
  }

  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"],
    [data-screen-label="13 Process"]
  ) :is(.sec-sub, .why-content p, .step p, p) {
    color: rgba(244, 240, 230, .7) !important;
  }

  /* 補足キャプション・モノ表記 */
  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"]
  ) :is(.stat-caption) {
    color: rgba(244, 240, 230, .4) !important;
  }

  /* 罫線 ─────────────────────────── */
  :is(
    [data-screen-label="07 Why us"],
    [data-screen-label="11 FPT partner"],
    [data-screen-label="13 Process"]
  ) :is(.step, .steps,
        .why-row,
        .logo-box, .case-card .case-stat) {
    border-color: rgba(244, 240, 230, .12) !important;
  }
  [data-screen-label="07 Why us"] .why-row:last-child {
    border-color: rgba(244, 240, 230, .12) !important;
  }

  /* Why us 番号 ─────────────────────────── */
  [data-screen-label="07 Why us"] .why-num {
    color: rgba(244, 240, 230, .92) !important;
    font-weight: 700 !important;
  }
  [data-screen-label="07 Why us"] .why-row:hover .why-num {
    color: color-mix(in oklab, var(--accent), #fff 18%) !important;
  }
  /* FPT partner ─────────────────────────── */
  [data-screen-label="11 FPT partner"] .btn-outline-dark {
    color: #E6ECF2 !important;
    border-color: rgba(244, 240, 230, .55) !important;
  }
  [data-screen-label="11 FPT partner"] .btn-outline-dark:hover {
    background: #E6ECF2 !important;
    color: #0B1426 !important;
    border-color: #E6ECF2 !important;
  }
  [data-screen-label="11 FPT partner"] .btn-text {
    color: rgba(244, 240, 230, .85) !important;
    border-color: rgba(244, 240, 230, .5) !important;
  }
  [data-screen-label="11 FPT partner"] .btn-text:hover {
    color: var(--accent) !important;
    border-color: var(--accent) !important;
  }

  /* Process / Steps ─────────────────────────── */
  [data-screen-label="13 Process"] .step {
    background: transparent !important;
  }
  [data-screen-label="13 Process"] .step-label {
    color: color-mix(in oklab, var(--accent), #fff 25%) !important;
  }

  /* Footer ─────────────────────────── */
  [data-screen-label="17 Footer"] {
    background-image: none !important;
    border-top: 1px solid rgba(244, 240, 230, .08) !important;
  }
  [data-screen-label="17 Footer"] .footer-grid h4,
  [data-screen-label="17 Footer"] .footer-brand-name {
    color: #E6ECF2 !important;
  }
  [data-screen-label="17 Footer"] .footer-brand-role {
    color: rgba(244, 240, 230, .45) !important;
  }
  [data-screen-label="17 Footer"] .footer-brand-x {
    color: rgba(244, 240, 230, .4) !important;
  }
  [data-screen-label="17 Footer"] .footer-grid a,
  [data-screen-label="17 Footer"] p {
    color: rgba(244, 240, 230, .55) !important;
  }
  [data-screen-label="17 Footer"] .footer-grid a:hover,
  [data-screen-label="17 Footer"] .footer-brand-link:hover {
    color: color-mix(in oklab, var(--accent), #fff 25%) !important;
  }
  [data-screen-label="17 Footer"] .footer-bottom {
    border-top-color: rgba(244, 240, 230, .1) !important;
    color: rgba(244, 240, 230, .4) !important;
  }

  /* eyebrow 共通(明るい背景上で適度なコントラスト) */
  .eyebrow { color: #4A4742 !important; }

  /* 15B Blog ─ フォントを Noto Sans JP に統一 */
  #blog,
  #blog .eyebrow,
  #blog .eyebrow .jp,
  #blog .sec-title,
  #blog .blog-meta,
  #blog .blog-cat,
  #blog .blog-feature-title,
  #blog .blog-excerpt,
  #blog .blog-author,
  #blog .blog-side-title,
  #blog .btn-text,
  #blog .serif {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", system-ui, sans-serif !important;
  }

  /* ─────────────────────────────────────────────────────────
     全画面共通:CAC ロゴ(横長) と FPT ロゴ(正方形) のサイズ比率を統一
     fpt_logo.png は内部余白が多く文字部分が約 60%。
     視覚的に CAC ロゴと文字高を揃えるには FPT を約 1.35 倍大きく表示する。
     ───────────────────────────────────────────────────────── */

  /* フッター(白文字 CAC + FPT) */
  .brand-mark--footer[src*="fpt_logo"] { height: 46px !important; }
  .brand-mark--footer[src*="white-identity-logo"] { height: 32px !important; }

  /* モバイルドロワー底部 */
  .mobile-drawer__brands img { height: 14px; width: auto; opacity: 0.7; }
  .mobile-drawer__brands img[src*="fpt_logo"] { height: 19px !important; }

  /* about.html 共同事業セクションのロゴ(article 内の logo-cac / FPT_LOGO) */
  .about-joint-brand-logo {
    max-width: 100% !important;
    width: auto !important;
  }
  .about-joint-brand-logo[src*="fpt_logo"] { height: clamp(44px, 5vw, 56px) !important; }
  .about-joint-brand-logo[src*="logo-cac"] { height: clamp(28px, 3.5vw, 36px) !important; }

  /* news-detail / Issued by バッジの FPT ロゴ */
  .news-detail-issuer-brands img { height: 18px; width: auto; }
  .news-detail-issuer-brands img[src*="fpt_logo"] { height: 24px !important; }

  /* loader のブランドロゴ ─ 縦並び+バランス調整 */
  .loader-brands {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(14px, 2vw, 24px) !important;
    margin-top: clamp(28px, 4vw, 44px) !important;
  }
  .loader-brand--cac {
    justify-self: auto !important;
    max-height: clamp(32px, 4vw, 48px) !important;
    width: auto !important;
    transform: translateY(-12px) !important;
    animation: loaderSlideDown 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.35s forwards !important;
  }
  .loader-x {
    line-height: 1 !important;
    transform: scale(0.6) !important;
    animation: loaderPop 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.6s forwards !important;
  }
  .loader-brand--fpt {
    justify-self: auto !important;
    max-height: clamp(44px, 5.4vw, 64px) !important;
    width: auto !important;
    transform: translateY(12px) !important;
    animation: loaderSlideUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.8s forwards !important;
  }
  @keyframes loaderSlideDown {
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes loaderSlideUp {
    to { opacity: 1; transform: translateY(0); }
  }

  /* ─────────────────────────────────────────────────────────
     共同事業セクション ─ CAC / FPT 両カードを上寄せ揃え
     ───────────────────────────────────────────────────────── */
  /* TOP の partner-band-logos: 中央寄せだとロゴサイズ差で文章開始位置がずれる */
  .partner-band-logos {
    align-items: start !important;
  }
  /* ロゴ枠は両カード同じ高さに揃え、ロゴはその中で起点(上)に揃える */
  .partner-name {
    min-height: 56px !important;
    align-items: flex-start !important;
    padding-top: 4px !important;
  }
  /* about.html 共同事業セクション ─ カードの縦サイズを揃える(stretch) */
  .about-joint-brands {
    align-items: stretch !important;
  }
  .about-joint-brand {
    justify-content: flex-start !important;
    height: 100% !important;
  }
