/* detail-fix-v1 — 細部の自動点検（detail-check）で見つかった本物の違反の直し。全ページの head の最後、type-floor-v1.css の後に読む（build-site-links.py --shell が差し込む）。2026-09-29 */

/* ========== 1. ヒーロー操作リンク MEET THE MEMBERS / WATCH LIVE（v2：768+ 下限 15px、767− 14px） ========== */
/* 違反：幅 360 で 12px、幅 1024 で 11px。元：ensemble-stage.css — .ensemble-stage .u の font max(11px, calc(13 * var(--u)))／@container (max-width: 1079px) font-size 12px／@container (max-width: 360px) font-size 12px・letter-spacing 0.14em */

body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
  font-size: max(15px, calc(15 * var(--u)));
  line-height: 1;
}

@container (max-width: 1079px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    font-size: max(15px, calc(15 * var(--u)));
    letter-spacing: calc(0.2em * 15 / 12);
    padding-bottom: calc(6px * 15 / 12);
  }
}

@container (max-width: 360px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    font-size: 14px;
    letter-spacing: calc(0.14em * 14 / 12);
    padding-bottom: calc(6px * 14 / 12);
  }
}

/* @container が効かない環境でも 768〜1439 幅で同じ下限（detail-check 1024×768） */
@media (min-width: 768px) and (max-width: 1439px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    font-size: max(15px, calc(15 * var(--u)));
    letter-spacing: 0.2em;
    padding-bottom: 6px;
  }
}

@media (max-width: 767px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    font-size: 14px;
    letter-spacing: calc(0.2em * 14 / 12);
    padding-bottom: calc(6px * 14 / 12);
  }
}

@media (max-width: 360px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    font-size: 14px;
    letter-spacing: calc(0.14em * 14 / 12);
    padding-bottom: calc(6px * 14 / 12);
  }
}

/* ========== 2. ヒーロー lead と名札 tag-row（v2：768+ 和文下限 15px、1024 幅帯） ========== */
/* 違反：幅 1024 で p.lead・span.tag-row が 13px。元：ensemble-stage.css — .lead max(13px, calc(16 * var(--u)))／.tag font max(13px, calc(15 * var(--u)))（コンテナ 1080 未満で下限に張り付く） */

@container (min-width: 768px) and (max-width: 1439px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .copy p.lead {
    font-size: max(15px, calc(16 * var(--u)));
    line-height: 1.85;
  }

  body.eh-study.s55 .ensemble-stage .ens-poster .tag,
  body.eh-study.s55 .ensemble-stage .ens-poster .tag .tag-row {
    font-size: max(15px, calc(15 * var(--u)));
  }
}

@media (min-width: 768px) and (max-width: 1439px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .copy p.lead {
    font-size: max(15px, calc(16 * var(--u)));
    line-height: 1.85;
  }

  body.eh-study.s55 .ensemble-stage .ens-poster .tag,
  body.eh-study.s55 .ensemble-stage .ens-poster .tag .tag-row {
    font-size: max(15px, calc(15 * var(--u)));
  }
}

@media (min-width: 768px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .tag .tag-row {
    font-size: max(15px, calc(15 * var(--u)));
  }
}

/* ========== 3. LIVE ページ「もう一度確認する」（和文 14px） ========== */
/* 違反：button#v8-live-retry が全幅 13px。元：study55-live-idle.css — body.s55 #on-air:has(> #v8-live-content > .v8-live-empty) > .v8-live-foot button の font-size 13px・line-height 1.3 */

body.s55 #on-air > .v8-live-foot > button#v8-live-retry,
body.s55 #on-air:has(> #v8-live-content > .v8-live-empty) > .v8-live-foot > button#v8-live-retry {
  font-size: 14px;
  line-height: 1.3;
}

body.lp.s55 #on-air > .v8-live-foot > button#v8-live-retry {
  font-size: 14px;
  line-height: 1.3;
}

/* ========== 4. 製品マーク img.pc-mark（STUDIO の本来比 52:50、潰れ 3.85%） ========== */
/* 違反：width・height を同じ em で正方形指定。元：products-home-v12.css／products-hier-C.css — #products .pc-mark の width/height 同値。SVG studio-mark.svg は viewBox 52×50（HTML の 64×64 は誤った正方形） */

body.eh-study.s55 #products.pv11 img.pc-mark[src*="studio-mark"],
body.eh-study.s55 #products.pc img.pc-mark[src*="studio-mark"],
body.eh-study.s55 #products.pv11 .pc-name img[src*="studio-mark"],
body.eh-study.s55 #products.pc .pv-name img[src*="studio-mark"] {
  height: auto;
  aspect-ratio: 52 / 50;
}

/* HUB マークは viewBox 64×64。幅だけ指定して高さは比に任せる（念のため） */
body.eh-study.s55 #products.pv11 .pv-band--hub img.pc-mark[src*="hub-mark"],
body.eh-study.s55 #products.pc .pc-band--hub img.pc-mark[src*="hub-mark"] {
  height: auto;
  aspect-ratio: 1;
}

/* 5. メンバー詳細の見出しの左端（点検で 4px のずれ）は、かな先頭の名前の字面を揃える意図的な補正（members-v2.css・alignNameInk）なので直さない（主指揮 2026-09-29 実測）。 */

/* ========== 6. PRODUCTS ページ .pv-name 内マーク（STUDIO 52:50、潰れ 3.85%） ========== */
/* 違反：products.html 全幅 imageAspect。元：products-parts-v1.css — .pv-id .pv-name img { width: 48px; height: 48px }／products-page-v1.css — .pp-band .pv-id .pv-name img { width: 40px; height: 40px }（§4 は #products.pv11|.pc の pc-mark のみ） */

body.eh-study.s55.pp-page .pp-band .pv-id .pv-name img[src*="studio-mark"] {
  height: auto;
  aspect-ratio: 52 / 50;
}

body.eh-study.s55.pp-page .pp-band .pv-id .pv-name img[src*="hub-mark"] {
  height: auto;
  aspect-ratio: 1;
}

/* ========== 7. プライバシー制定日行 p.pv-dates（右ガター 2.8〜3px 内側） ========== */
/* 違反：gutterRight 2.8〜3px。元：sp-privacy-v1.css — body.sp .pv-dates { margin: … -0.2em 0 0; letter-spacing: 0.04em }。type-floor で 15px/14px になったあと -0.2em が約 3px 右にはみ出し不足。末尾の字間余りは letter-spacing と同量の margin-right で打ち消す */

body.sp .pv-body article.pv-doc > p.pv-dates {
  margin-right: calc(-0.04em);
}

/* ========== 8. ヒーローの名札 .tag（幅 360 で 13px、和文の下限 14px）。凍結の点検で見つかった（主指揮 2026-09-30）。元：ensemble-stage.css @container (max-width: 360px) ========== */
@container (max-width: 360px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .tag { font-size: 14px; }
}
@media (max-width: 360px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .tag { font-size: 14px; }
}

/* ========== 9. 文字の底上げ v2（オーナー指示 2026-09-30） ========== */
/* 768+ 読む文字 15px／767− 欧文ラベル 14px。和文 767− は触らない。元は各ページ CSS（sp-frame-v1・ensemble-stage・study48 等）の 13px 帯。 */

/* --- ホーム：サブリンク・帯の英字札 --- */
@media (min-width: 768px) {
  body.eh-study.s55 a.v8-live-empty-link > span,
  body.eh-study.s55 a.pv-u.pc-u > span,
  body.eh-study.s55 a.edition-news-all > span,
  body.eh-study.s55 a.edition-works__all > span {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.eh-study.s55 a.v8-live-empty-link > span,
  body.eh-study.s55 a.pv-u.pc-u > span,
  body.eh-study.s55 a.edition-news-all > span,
  body.eh-study.s55 a.edition-works__all > span {
    font-size: 14px;
  }
}

/* ヒーロー CTA：390 で 2 リンクが 1 行に収まらないときだけ字間を詰める（主指揮 v2） */
@media (max-width: 390px) {
  body.eh-study.s55 .ensemble-stage .ens-poster .cta a.u {
    letter-spacing: calc(0.14em * 14 / 12 * 0.92);
  }
}

/* --- 共通 opener 副情報（22 MEMBERS 等）--- */
@media (min-width: 768px) {
  body.sp div.sp-opener-text > p.sp-meta {
    font-size: 15px;
    line-height: 15px;
  }
}

@media (max-width: 767px) {
  body.sp div.sp-opener-text > p.sp-meta {
    font-size: 14px;
    line-height: 14px;
  }
}

/* --- メンバー一覧：フィルタ・詳細の欧文 --- */
@media (min-width: 768px) {
  body.mb-page nav.mb-filters > a,
  body.mb-page p.sp-meta.mb-kicker > span,
  body.mb-page span.mb-node-handle,
  body.mb-page a.mb-all > span {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.mb-page nav.mb-filters > a,
  body.mb-page p.sp-meta.mb-kicker > span,
  body.mb-page span.mb-node-handle,
  body.mb-page a.mb-all > span {
    font-size: 14px;
  }
}

/* --- NEWS --- */
@media (min-width: 768px) {
  body.sp a.nw-year-link,
  body.sp time.nw-date,
  body.sp #nw-back > span,
  body.sp time.nw-article-date-text,
  body.sp span.nw-adjacent-label,
  body.sp a.nw-back--all > span,
  body.sp p.nw-latest-label {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.sp a.nw-year-link,
  body.sp time.nw-date,
  body.sp #nw-back > span,
  body.sp time.nw-article-date-text,
  body.sp span.nw-adjacent-label,
  body.sp a.nw-back--all > span,
  body.sp p.nw-latest-label {
    font-size: 14px;
  }
}

/* --- PRODUCTS（絵の外の札のみ。画面内 mock は対象外）--- */
@media (min-width: 768px) {
  body.eh-study.s55 a.pp-u > span,
  body.pp-page a.pp-u > span,
  body.eh-study.s55 a.pv-u > span,
  body.pp-page a.pv-u > span,
  body.pp-page span.pp-no,
  body.pp-page span.pp-en,
  body.pp-page p.pp-label > span.pv-en,
  body.pp-page .pp-feats li > span,
  body.pp-page p.pv-fig-label.hb-label > span.pv-en,
  body.pp-page p.hb-cap.hb-cap--to > span.hb-app {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.eh-study.s55 a.pp-u > span,
  body.pp-page a.pp-u > span,
  body.eh-study.s55 a.pv-u > span,
  body.pp-page a.pv-u > span,
  body.pp-page span.pp-no,
  body.pp-page span.pp-en,
  body.pp-page p.pp-label > span.pv-en,
  body.pp-page .pp-feats li > span,
  body.pp-page p.pv-fig-label.hb-label > span.pv-en,
  body.pp-page p.hb-cap.hb-cap--to > span.hb-app {
    font-size: 14px;
  }
}

/* --- LIVE ページ：タブ・空状態 --- */
@media (min-width: 768px) {
  body.lp nav.lp-index > a,
  body.lp div.v8-live-empty-copy > h3,
  body.lp p.lp-heading-meta > span {
    font-size: 15px;
  }

  body.lp div.v8-live-empty-copy > p {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.lp nav.lp-index > a,
  body.lp div.v8-live-empty-copy > h3,
  body.lp p.lp-heading-meta > span {
    font-size: 14px;
  }
}

/* --- CONTACT --- */
@media (min-width: 768px) {
  body.sp legend.sp-label,
  body.sp span.ct-code,
  body.sp p#ct-mail-label,
  body.sp span.ct-copy-label,
  body.sp a.ct-alt > span {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.sp legend.sp-label,
  body.sp span.ct-code,
  body.sp p#ct-mail-label,
  body.sp span.ct-copy-label,
  body.sp a.ct-alt > span {
    font-size: 14px;
  }
}

/* --- ABOUT・プライバシー --- */
@media (min-width: 768px) {
  body.sp p.ab-eyebrow,
  body.sp .pv-body dl > div > dt,
  body.sp span.pv-num {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.sp span.pv-num {
    font-size: 14px;
  }
}

/* --- 9 の補い（主指揮 2026-09-30）：実測で基準に届かなかった所。元の規則は ID 付きで詳細度が高いので、同じ ID を付けて上回る --- */
/* LIVE の空の状態（元：live-page の body.lp #on-air > #v8-live-content > div.v8-live-empty … h3・p、詳細度 (2,3,3) で 13px。要素名まで付けて上回る）・アーカイブのカードの配信先と日付（元：live-page-v1.css で 14px） */
@media (min-width: 768px) {
  body.lp section#on-air > div#v8-live-content > div.v8-live-empty > div.v8-live-empty-copy > h3,
  body.lp section#on-air > div#v8-live-content > div.v8-live-empty > div.v8-live-empty-copy > p {
    font-size: 15px;
  }

  body.lp #lp-archive-grid .lp-archive-card > .lp-card-meta > :is(span, time) {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.lp section#on-air > div#v8-live-content > div.v8-live-empty > div.v8-live-empty-copy > h3,
  body.lp section#on-air > div#v8-live-content > div.v8-live-empty > div.v8-live-empty-copy > p {
    font-size: 14px;
  }
}

/* PRODUCTS の STUDIO・HUB 帯の番号と英字の札（元：products-v5-base.css の body.pp-v5.eh-study.s55 .pv-band .pp-feats .pp-en など (0,6,1) で 13px）。絵の中ではない。帯の ID を付けて上回る */
@media (min-width: 768px) {
  body.pp-v5 :is(#studio, #hub).pp-band .pp-feats > li > :is(span.pp-no, span.pp-en, span),
  body.pp-v5 :is(#studio, #hub).pp-band :is(p, span).pp-label > span.pv-en {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.pp-v5 :is(#studio, #hub).pp-band .pp-feats > li > :is(span.pp-no, span.pp-en, span),
  body.pp-v5 :is(#studio, #hub).pp-band :is(p, span).pp-label > span.pv-en {
    font-size: 14px;
  }
}

/* ABOUT の団体概要の項目名（元：sp-about の .ab-profile dt で 14px） */
@media (min-width: 768px) {
  body.sp.sp--about #main dl.ab-profile > div > dt {
    font-size: 15px;
  }
}

/* 配信の確かめ直しのボタン「もう一度確認する」（確かめに失敗したときだけ出る）。
   ホームの帯の写し（元：live-idle-archives.css の body.s55 #on-air:not([data-state="live"]) > #v8-live-content > .v8-live-empty.lia-enhanced .lia-retry、(2,5,1) で 13px）は要素名まで付けて上回る。
   LIVE ページの本物（§3 で 14px）は 768 以上で 15px にする */
@media (min-width: 768px) {
  body.s55 section#on-air:not([data-state="live"]) > div#v8-live-content > div.v8-live-empty.lia-enhanced button.lia-retry {
    font-size: 15px;
  }

  body.s55 #on-air > .v8-live-foot > button#v8-live-retry,
  body.s55 #on-air:has(> #v8-live-content > .v8-live-empty) > .v8-live-foot > button#v8-live-retry,
  body.lp.s55 #on-air > .v8-live-foot > button#v8-live-retry {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  body.s55 section#on-air:not([data-state="live"]) > div#v8-live-content > div.v8-live-empty.lia-enhanced button.lia-retry {
    font-size: 14px;
  }
}

/* ========== 10. ホームの LIVE の帯の「MEMBER CHANNELS」のホバー（オーナー指摘 2026-09-30「MEMBERCHANNELSだけホバーアクションが違う」） ========== */
/* 一覧の下（.lia-all）へ移した後の規則（#on-air > #v8-live-content … .lia-all .v8-live-empty-link::after { background: currentColor }、ID 2 つ）が、
   accent-v1.css §5 の朱の下線（ID 1 つ）を打ち消していた。ホバーで文字も明るくしていた（live-idle-archives.css の :hover { color: #f3ecdc }）。
   ほかの「すべて見る」のリンク（ALL NEWS・ALL WORKS）と同じにする：下線はホバー・焦点で朱、文字の色は変えない。要素名まで付けて上回る */
body.s55 section#on-air:not([data-state="live"]) > div#v8-live-content > div.v8-live-empty.lia-enhanced .lia-all a.v8-live-empty-link:is(:hover, :focus-visible)::after {
  background: var(--accent-shu-line);
}

body.s55 section#on-air:not([data-state="live"]) > div#v8-live-content > div.v8-live-empty.lia-enhanced .lia-all a.v8-live-empty-link:hover {
  color: rgba(243, 236, 220, 0.78); /* 手前の色のまま（ALL NEWS・ALL WORKS と同じ） */
}
