/*
 * 固定ページ（registration / schedule / ticket / registered-contestant 等）の
 * レイアウトと本文プロース。暗いマストヘッド → 短い藍のページヘッダ → 白い情報面。
 * 本文（the_content）は .page-prose 配下で見出し・箇条書き・表・リンクを整える。
 */

.page-main {
  display: block;
}

/* 親テーマ（Responsive）の .hentry{padding:28px} が post_class() 経由でこの記事要素にも
   付いてしまい、透明な背景から body の夜色（--night-0）が四辺の枠のように透けて見える不具合の
   対策。.page-article は自前でレイアウトを組むので、親テーマの記事カード用パディングを打ち消す。
   FB0716-R5（mosスマホ実機: 下層ページの上下左右に謎の隙間）: サイトスタイルが boxed /
   content-boxed のとき、customizer 生成のインラインCSS（.responsive-site-style-content-boxed
   .hentry { padding:30px } 等・詳細度0,2,0）が下の素の .page-article(0,1,0) に勝って復活する。
   本番下層も content-boxed なので設定は変えず、body 付きセレクタ(0,2,1)で確実に上書きする。 */
.page-article,
body.responsive-site-style-boxed .page-article,
body.responsive-site-style-content-boxed .page-article {
  padding: 0;
  background: transparent;
}

/* ---------- ページヘッダ（藍・夜の続き） ---------- */
.page-hero {
  background: linear-gradient(180deg, var(--night-sky-top), var(--color-ai-flyer-deep));
  padding-block: clamp(2.25rem, 5vw, 4rem);
  border-bottom: 1px solid var(--hairline-strong);
}
.page-hero__inner {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.page-crumb {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-kinari) 55%, transparent);
}
.page-crumb a {
  color: var(--color-gold-light);
  border-bottom: 1px solid transparent;
  transition: border-color var(--duration-fast);
}
.page-crumb a:hover {
  border-color: var(--color-gold-light);
}
.page-crumb__current {
  color: color-mix(in srgb, var(--color-kinari) 60%, transparent);
}
.page-hero__title {
  font-family: var(--font-jp);
  font-weight: 700;
  font-size: var(--text-section-title);
  line-height: 1.2;
  color: var(--color-kinari);
}
.page-meta {
  margin-top: 0.35rem;
  font-family: var(--font-display);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  color: var(--color-gold-light);
  font-variant-numeric: tabular-nums;
}

/* ---------- 白い情報面 ---------- */
.page-body {
  position: relative;
  background: var(--color-paper);
  color: var(--color-ai-flyer-deep);
  padding-block: clamp(2.75rem, 6vw, 5rem);
}
.page-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-gold-flyer) 20%, var(--color-gold) 50%, var(--color-gold-flyer) 80%, transparent);
  opacity: 0.4;
}
.page-body__inner {
  max-width: 860px;
}

/* ---------- 本文プロース ---------- */
.page-prose {
  font-family: var(--font-jp);
  font-size: 1rem;
  line-height: 1.85;
  color: color-mix(in srgb, var(--color-ai-flyer-deep) 92%, transparent);
}
.page-prose > * + * {
  margin-top: 1.15rem;
}
.page-prose h2 {
  margin-top: 2.6rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--color-ai-flyer);
  font-weight: 700;
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.7rem);
  color: var(--color-ai-flyer-deep);
  letter-spacing: 0.01em;
}
.page-prose h3 {
  margin-top: 2rem;
  padding-left: 0.7rem;
  border-left: 3px solid var(--color-gold);
  font-weight: 700;
  font-size: clamp(1.05rem, 0.9rem + 0.7vw, 1.3rem);
  color: var(--color-ai-flyer);
}
.page-prose p {
  margin-top: 1.1rem;
}
.page-prose strong {
  font-weight: 700;
  color: var(--color-ai-flyer-deep);
}
/* FB0716-R2: シードコンテンツの赤字は <span style="color:#ff0000;"><strong>…</strong></span> 構造。
   詳細度が同じ .page-prose strong が内側の strong を紺に上書きしてしまい赤が描画されない
   （実機で確認済み）ため、インライン色指定 span の子孫では strong の色指定を継承に戻す。 */
.page-prose span[style*="color"] strong {
  color: inherit;
}
.page-prose a {
  color: var(--color-ai-flyer);
  font-weight: 600;
  border-bottom: 1px solid var(--color-gold);
  padding-bottom: 1px;
  transition: color var(--duration-fast), background var(--duration-fast);
}
.page-prose a:hover,
.page-prose a:focus-visible {
  color: var(--color-gold-dark);
  background: color-mix(in srgb, var(--color-gold-flyer) 18%, transparent);
}
.page-prose ul,
.page-prose ol {
  margin-top: 1.1rem;
  padding-left: 1.4rem;
}
.page-prose li {
  margin-top: 0.5rem;
}
.page-prose ul > li {
  list-style: none;
  position: relative;
  padding-left: 1.1rem;
}
.page-prose ul > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-gold);
}
.page-prose ol {
  list-style: decimal;
}
.page-prose hr {
  border: 0;
  height: 1px;
  background: var(--paper-line);
  margin-block: 2rem;
}

/* 強調注記ボックス（本文中の :: 重要事項用。段落先頭を em で運用） */
.page-prose blockquote {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--paper-tint);
  border-left: 3px solid var(--color-ai-flyer);
  border-radius: 0 5px 5px 0;
  font-size: 0.94rem;
  color: color-mix(in srgb, var(--color-ai-flyer-deep) 85%, transparent);
}
.page-prose blockquote p {
  margin-top: 0;
}

/* 表（料金表・登録選手リスト） */
.page-prose table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}
.page-prose thead th {
  text-align: left;
  padding: 0.65rem 0.75rem;
  background: var(--color-ai-flyer);
  color: var(--color-paper);
  font-family: var(--font-display);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.page-prose tbody td {
  padding: 0.6rem 0.75rem;
  border-bottom: 1px solid var(--paper-line);
}
.page-prose tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--paper-tint) 55%, transparent);
}

/* ================= F10: 観覧チケットの図（再構築・2026-07-11） =================
 * inc/ticket-figures.php が the_content 後段で差し込む。白い情報面（page-body）に調和する
 * 藍・金・生成りのトンマナで、現行 JPG より読みやすいアクセス早見表＋座席図を提供する。 */

/* ---- アクセス早見表 ---- */
.wyyc-access-chart {
  margin: 1.75rem 0 0;
}
.wyyc-access-chart__scroll {
  overflow-x: auto; /* 狭い画面では横スクロールで表を保つ（潰さない） */
  -webkit-overflow-scrolling: touch;
  border-radius: 8px;
  border: 1px solid var(--paper-line);
}
.wyyc-access-chart__table {
  width: 100%;
  table-layout: fixed; /* 横スクロール解消（FB mos指摘・2026-07-16）:
    table-layout:auto だと長い注記テキストぶん列が「読める幅」まで広がろうとし、
    .page-body__inner(860px)内の実表示幅を超えて右にはみ出す（＝ページ自体には余白があるのに
    表だけ横スクロールになる）。fixed＋割合幅でコンテナ幅に強制的に収め、はみ出す分は折返しに回す。 */
  border-collapse: collapse;
  margin: 0;
  font-family: var(--font-jp);
  font-size: 0.9rem;
}
.wyyc-access-chart__table thead th {
  vertical-align: top;
  padding: 0.7rem 0.7rem;
  background: var(--color-ai-flyer);
  color: var(--color-paper);
  border-right: 1px solid color-mix(in srgb, var(--color-paper) 22%, transparent);
  text-align: center;
  text-transform: none;
  letter-spacing: 0.01em;
  white-space: normal; /* .page-prose thead th の nowrap（汎用表向け）を明示的に打ち消す */
  overflow-wrap: break-word;
}
.wyyc-access-chart__corner {
  background: var(--color-ai-flyer-deep) !important;
  width: 17%;
}
.wyyc-access-chart__area {
  display: block;
  font-family: var(--font-jp);
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.3;
}
.wyyc-access-chart__area-note {
  display: block;
  margin-top: 0.3rem;
  font-weight: 400;
  font-size: 0.7rem;
  line-height: 1.4;
  color: color-mix(in srgb, var(--color-paper) 82%, transparent);
  overflow-wrap: break-word;
}
.wyyc-access-chart__rowhead {
  padding: 0.6rem 0.5rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--color-paper);
  overflow-wrap: break-word; /* 英語版 "Admission Ticket" 等が17%幅に収まるよう折返しを許可（nowrapは廃止） */
}
/* FB0716: 「観覧チケット」はPC/タブレットで改行なしの1行、スマホのみ「観覧」と「チケット」の間で
   改行する（そらくん指示）。PC/タブレット側はbrを消して1行に固定、SP側（max-width:767px。他箇所の
   SP判定と同じブレークポイント）はbrを表示させ、白紙区切りは念のため抑止しておく。 */
.wyyc-access-chart__rowhead-br {
  display: none;
}
.wyyc-access-chart__rowhead--ticket,
.wyyc-access-chart__rowhead--none {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .wyyc-access-chart__rowhead-br {
    display: inline;
  }
  .wyyc-access-chart__rowhead--ticket,
  .wyyc-access-chart__rowhead--none {
    white-space: normal;
    /* FB0717再指摘: 親側の overflow-wrap: break-word（英語版 "Admission Ticket" 用）が
       SPの狭い列幅で「チケット」自体を語中で強制改行してしまう（<br>の意図とは別の位置で折れる）。
       SPのja行見出しだけ break-word を打ち消し、CJKの語中改行を禁止して <br> の位置でのみ折る。 */
    overflow-wrap: normal;
    word-break: keep-all;
  }
}
/* 行見出しの色分け（現行画像: 選手=赤 / 観覧チケット=緑 / チケットなし=灰）を和風に馴染む彩度で。 */
.wyyc-access-chart__rowhead--contestant { background: #c0453a; }
.wyyc-access-chart__rowhead--ticket     { background: #4f7d4a; }
.wyyc-access-chart__rowhead--none       { background: #8a8681; }
.wyyc-access-chart__cell {
  padding: 0.6rem 0.75rem;
  text-align: center;
  border-right: 1px solid var(--paper-line);
  border-bottom: 1px solid var(--paper-line);
  font-size: 1.15rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--color-ai-flyer) 5%, var(--color-paper));
}
.wyyc-access-chart__cell--yes { color: var(--color-ai-flyer); }
.wyyc-access-chart__cell--no  { color: color-mix(in srgb, var(--color-ai-flyer-deep) 30%, transparent); background: color-mix(in srgb, var(--color-ai-flyer-deep) 8%, transparent); }
.wyyc-access-chart__table tbody tr:nth-child(even) .wyyc-access-chart__cell--yes { background: color-mix(in srgb, var(--color-ai-flyer) 9%, var(--color-paper)); }
@media (max-width: 480px) {
  /* 狭幅スマホでも横スクロールなしで収める（FB mos指摘）: フォント/paddingを詰める。 */
  .wyyc-access-chart__table {
    font-size: 0.72rem;
  }
  .wyyc-access-chart__table thead th {
    padding: 0.45rem 0.3rem;
  }
  .wyyc-access-chart__area {
    font-size: 0.76rem;
  }
  .wyyc-access-chart__area-note {
    margin-top: 0.2rem;
    font-size: 0.58rem;
    line-height: 1.3;
  }
  .wyyc-access-chart__rowhead {
    padding: 0.45rem 0.3rem;
    font-size: 0.72rem;
  }
  .wyyc-access-chart__cell {
    padding: 0.45rem 0.3rem;
    font-size: 0.95rem;
  }
}

/* ---- 座席図 ---- */
.wyyc-seatmap {
  margin: 1.75rem 0 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--paper-tint);
  border: 1px solid var(--paper-line);
  border-top: 3px solid var(--color-ai-flyer);
  border-radius: 8px;
}
.wyyc-seatmap__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.98rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-ai-flyer);
  text-align: center;
  margin-bottom: 1.25rem;
}
.wyyc-seatmap__floors {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: clamp(0.75rem, 2vw, 1.5rem);
  align-items: end;
}
.wyyc-seatmap__floor {
  position: relative;
}
.wyyc-seatmap__floor-tag {
  display: inline-block;
  margin-bottom: 0.4rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  color: var(--color-ai-flyer-deep);
}
.wyyc-seatmap__svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
/* 座席ゾーンの塗り（現行画像の色分けに対応・和風寄せ）。 */
.sm-stage      { fill: var(--color-ai-flyer-deep); }
.sm-ss         { fill: #e0b45c; }
.sm-s          { fill: #eccf86; }
.sm-sponsor    { fill: #f0d8c0; }
.sm-a          { fill: #6f97c2; }
.sm-b          { fill: #86a878; }
.sm-staff rect,
.sm-staff-strip { fill: #cf7a63; }
.sm-staff-b    { fill: #cf7a63; opacity: 0.9; }
.wyyc-seatmap__svg polygon,
.wyyc-seatmap__svg rect {
  stroke: rgb(16 41 83 / 0.55);
  stroke-width: 1;
}
/* 図中ラベル。SVG text は CSS の font-family を継承する。 */
.sm-t {
  font-family: var(--font-display);
  font-size: 6px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-anchor: middle;
  dominant-baseline: middle;
}
.sm-t--stage { fill: var(--color-paper); font-size: 8px; letter-spacing: 0.14em; }
.sm-t--dark  { fill: var(--color-ai-flyer-deep); }
.sm-t--light { fill: var(--color-paper); font-size: 8px; letter-spacing: 0.04em; }
.sm-t--staff { fill: var(--color-paper); font-size: 4.6px; }
.sm-t--v     { writing-mode: vertical-rl; letter-spacing: 0.06em; }
.wyyc-seatmap__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
  margin: 1.5rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--paper-line);
  list-style: none;
}
.wyyc-seatmap__legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  font-family: var(--font-display);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--color-ai-flyer-deep) 85%, transparent);
}
.wyyc-seatmap__legend li::before { content: none; } /* page-prose の ul ドットを打ち消す */
.wyyc-seatmap__swatch {
  width: 16px;
  height: 12px;
  border-radius: 2px;
  border: 1px solid rgb(16 41 83 / 0.4);
  flex: none;
}
.sm-sw--ss      { background: #e0b45c; }
.sm-sw--s       { background: #eccf86; }
.sm-sw--sponsor { background: #f0d8c0; }
.sm-sw--a       { background: #6f97c2; }
.sm-sw--b       { background: #86a878; }
.sm-sw--staff   { background: #cf7a63; }
.wyyc-seatmap__note {
  margin: 1rem 0 0;
  font-size: 0.82rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-ai-flyer-deep) 72%, transparent);
}
@media (max-width: 620px) {
  /* 狭い画面はフロアを縦積みにして各図を大きく読ませる。 */
  .wyyc-seatmap__floors {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-inline: auto;
  }
}

.page-back {
  margin-top: 3rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.page-back__arrow {
  transition: transform var(--duration-normal) var(--ease-out-expo);
}
.page-back:hover .page-back__arrow {
  transform: translateX(-4px);
}

@media (prefers-reduced-motion: reduce) {
  .page-crumb a,
  .page-prose a,
  .page-back__arrow {
    transition: none;
  }
}

/* FB0716 キュー14: 座席図の暫定旧画像表示（inc/ticket-figures.php wyyc_ticket_seatmap_legacy_html） */
.wyyc-seatmap-legacy {
  margin: 1rem 0;
}
.wyyc-seatmap-legacy img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--hairline, rgba(0, 0, 0, 0.12));
}

/* FB0716 キュー15: 会員ログイン画面スクショ（inc/ticket-figures.php wyyc_ticket_member_login_html） */
.wyyc-member-login-shot {
  display: block;
  margin: 0.75rem 0 0;
}
.wyyc-member-login-shot img {
  display: block;
  max-width: 240px;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--hairline, rgba(0, 0, 0, 0.12));
}

/* ============================================================================
   協賛スポンサー ロゴウォール（inc/sponsor-wall.php が /sponsor/ 本文へ差し込む）
   ----------------------------------------------------------------------------
   固定ページ本文面は白い紙面だが、収集ロゴは白/濃色/白背景箱が混在するため、
   ウォールは専用のダークネイビー地パネルにし、その上へ生成り色の「明色チップ」を
   敷いて各社ロゴを一律に揃える。ティアで chip/grid のサイズに差をつけたピラミッド。
   ========================================================================= */
.sponsor-wall {
  position: relative;
  margin-top: 1.75rem;
  padding: clamp(1.4rem, 4vw, 2.75rem);
  background: var(--color-ai-deep);
  border: 1px solid var(--hairline-strong);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgb(6 11 22 / 0.28);
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 5vw, 3.25rem);
  overflow: hidden;
}
/* 青海波テクスチャを地紋として極薄で敷く（和のトンマナ・奥行き）。 */
.sponsor-wall::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../images/pattern_seigaiha_dark.webp') repeat;
  background-size: 320px auto;
  opacity: 0.14;
  pointer-events: none;
}
.sponsor-wall > * {
  position: relative;
  z-index: 1;
}
.sponsor-tier {
  display: flex;
  flex-direction: column;
}
/* ティア見出し（暗地用に page-prose h3 を上書き。金の欧文＋藍の下罫）。 */
.sponsor-wall .sponsor-tier__label {
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
  padding: 0 0 0.45em;
  border: 0;
  border-bottom: 1px solid var(--hairline-cool);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1rem, 0.85rem + 0.7vw, 1.3rem);
  letter-spacing: 0.08em;
  color: var(--color-gold);
}
.sponsor-wall .sponsor-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(0.7rem, 0.4rem + 1vw, 1.25rem);
  /* 既定＝Gold相当。ティアで最小幅を上書きしてピラミッドにする。 */
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
}
/* 2026-07-17 そらくんFB「プラチナよりゴールドのロゴが大きく見える」対応で
   プラチナ⇄ゴールドの段差を広げ直した（190→148の40px差、旧は160=30px差）。 */
/* 2026-07-18 mosFB「ロゴの周りの余白がありすぎる。もっとロゴを大きく見せて」対応:
   グリッドの最小幅・チップの高さを全ティアで拡大し、チップ内パディングは大幅に詰めた
   （ティア間のヒエラルキー＝上位ほど大きい、は倍率を保って維持）。 */
.sponsor-tier--crystal  .sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.sponsor-tier--platinum .sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.sponsor-tier--gold     .sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); }
.sponsor-tier--silver   .sponsor-grid { grid-template-columns: repeat(auto-fill, minmax(142px, 1fr)); }
/* ブロンズはチップ廃止（プレーン文字リスト）のためグリッド指定は使わない。 */

.sponsor-wall .sponsor-chip {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.3rem, 0.18rem + 0.35vw, 0.55rem);
  background: #fff; /* 2026-07-17 そらくんFB: 生成りではなく白背景に */
  border-radius: 10px;
  box-shadow: 0 2px 8px rgb(6 11 22 / 0.45);
  /* FB0718-R6-b: hoverでの浮き上がりをなめらかにする（実際に動くのはリンクありチップのみ）。 */
  transition: transform var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);
}
/*
 * FB0718-R6-b（mos「スポンサーページはクリックでリンクへ飛ぶようにして。hover時のステートも
 * ちゃんとデザインしてね」）: リンクが判明している社（inc/sponsor-wall.php の
 * wyyc_sponsor_link_map()）だけ .sponsor-chip--linked が付き、中の<a>（.sponsor-chip__link）が
 * ロゴ画像を包む。hover/focus-withinで白チップ自体を浮かせ＋影を深める。リンク無しの社
 * （Okazaki Pharmacy・YoYo Collective・Bronze全社）はこのクラスが付かないため、hoverも
 * cursor:pointerも出ない。
 * 2026-07-19 FB②（mos差し戻し・そらくん指摘の再掲）: hover時の金の縁取りは「hoverで背景が
 * 黄色くなって画像枠が丸見え」に見えるため撤去。トップ/フッター帯（global.css の
 * .sponsor-toprow）と同じく、白のまま持ち上がり＋影を深めるだけのニュートラルhoverに揃える。
 */
.sponsor-wall .sponsor-chip--linked:hover,
.sponsor-wall .sponsor-chip--linked:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgb(6 11 22 / 0.4);
  /* hover でチップは白のまま持ち上がるだけ（金の縁取りは撤去）。黄色背景の真因は
     ロゴリンク(.sponsor-chip__link)が継ぐ page-prose a:hover なので、打ち消しは下の
     .sponsor-chip__link 側で行う（このガードは念のため）。 */
  background: #fff;
}
.sponsor-chip__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
/*
 * 2026-07-19 FB②の本丸（mos差し戻し「基盤の問題まだ直ってない」）: ロゴリンクは
 * .page-prose 配下（/sponsor/本文）にあるため、汎用の `.page-prose a`（金の下線
 * border-bottom）と `.page-prose a:hover`（黄色背景 gold-flyer18%＝白地で約 rgb(250,243,228)）を
 * そのまま継いでいた。これが そらくん②「各ロゴについてる下線金ライン」「hoverで背景が
 * 黄色くなって画像枠が丸見え」の正体。ロゴリンクでは下線・黄色背景・下パディングを打ち消し、
 * 白のまま（ロゴの白背景と一体）を保つ。キーボードfocusのgold outline（下の focus-visible）は
 * アクセシビリティ用に温存する。
 */
.sponsor-wall .sponsor-chip__link,
.sponsor-wall .sponsor-chip__link:hover,
.sponsor-wall .sponsor-chip__link:focus-visible {
  border-bottom: none;
  padding-bottom: 0;
  background: transparent;
}
.sponsor-chip__link:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 2px;
  border-radius: 6px;
}
/* チップ高さもティアで差をつける（ピラミッド）。
   2026-07-17 そらくんFB差し戻し: min-height（下限floor）だと、正方形に近い
   ロゴ（TOPYO/Sengoku/JIGUN等）が .sponsor-chip__logo の max-height:100% を
   突き破って実効幅いっぱいの正方形に育ち、Grid行トラックがそれに合わせて
   自動拡張してしまいティア差が潰れていた（max-height:100%は親の高さが
   auto=未確定だとCSS仕様上noneに解決されるため無効化される）。
   min-heightをheight（確定値）に変えて親の高さを固定し、max-height:100%を
   実効化することで、どのティアもロゴの縦横比に関わらず指定寸法に収まる。
   2026-07-18 mosFB対応で各ティアとも高さを拡大（余白を詰めた分、ロゴ表示面積が
   さらに上がる）。 */
.sponsor-tier--crystal  .sponsor-chip { height: 168px; }
.sponsor-tier--platinum .sponsor-chip { height: 136px; }
.sponsor-tier--gold     .sponsor-chip { height: 104px; }
.sponsor-tier--silver   .sponsor-chip { height: 84px; }

.sponsor-chip__logo {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* ロゴ未掲載の社: 生成り破線枠に社名テキスト。 */
.sponsor-wall .sponsor-chip--text {
  background: transparent;
  border: 1px dashed var(--hairline-strong);
  box-shadow: none;
}
.sponsor-chip__name {
  font-family: var(--font-display);
  font-size: clamp(0.72rem, 0.66rem + 0.3vw, 0.9rem);
  letter-spacing: 0.03em;
  text-align: center;
  color: color-mix(in srgb, var(--color-kinari) 82%, transparent);
}
/* ブロンズ: チップ枠を持たない社名だけの横流しリスト
   （2026-07-17 そらくんFB「2023WYYCと同じように文字だけで大丈夫」）。 */
.sponsor-tier--bronze .sponsor-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.75em;
}
.sponsor-wall .sponsor-chip--plain {
  min-height: auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  justify-content: flex-start;
}
/*
 * FB0718-R6-a（mos「黄色い丸が文字の可読性を落としている」）: 汎用の
 * .page-prose ul > li::before（本文の行頭ドット。padding-left:1.1remを前提に
 * left:0の位置へ金の丸を絶対配置する仕組み）が、sponsor-wallの<li>にも
 * かかっていた。sponsor-chip--plain 側で padding を 0 に詰めたことで、本来
 * ドットの逃げ場だった左余白が無くなり、ドットが社名の頭文字にそのまま重なって
 * 見えていた（原因はブロンズ以外の.sponsor-chipにも共通で当たる汎用ルールで、
 * chip/白背景の中に隠れて目立たなかっただけ）。sponsor-wall内のリスト項目は
 * 独自グリッド/チップ表示であり汎用の行頭ドットは不要なため、.sponsor-wall配下に
 * スコープを絞ってこの疑似要素だけ無効化する（他ページ・他リストの
 * page-prose ul > li::beforeスタイルには影響しない）。
 */
.sponsor-wall .sponsor-grid > li::before {
  content: none;
}
.sponsor-tier--bronze .sponsor-chip__name {
  font-size: clamp(0.85rem, 0.78rem + 0.3vw, 1rem);
  letter-spacing: 0.02em;
  color: var(--color-kinari);
}
.sponsor-wall__asof {
  margin: 0;
  text-align: right;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--color-kinari) 60%, transparent);
}
