/* ア式HP たたき v2
   色は4つだけ：紺（土台・見出し）、白、薄い灰色（区画の地）、金（差し色）。水色はデータの図の東大側だけ。
   本番は WordPress の公式テーマ＋子テーマで、この決まりをそのまま使う。 */
:root {
  /* ア式の色（試合結果の画像・旧HP・ロゴの地から測った値） */
  --blue: #0b7bcb;        /* ア式ブルー（面・見出し・ボタン）。画像の #0A88E0 を、白い文字が読める濃さに */
  --blue-dk: #075a9c;     /* ヘッダー上の帯・フッター */
  --sky: #34c0ff;         /* 水色（ユニフォーム・破片・データの東大側） */
  --yellow: #ffd000;      /* 黄色（破片・差し色） */
  --deep: #0b2346;        /* テクニカルの地（テクニカルのサイトに合わせた濃い青） */
  --ink: #0f1e30;
  --sub: #51647a;
  --line: #dce6f0;
  --paper: #f1f7fd;
  --on: #ffffff;
  --on2: #d6e9f8;
  --onl: rgba(255,255,255,.22);
  --max: 1200px;
  --jp: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;
  --en: "Helvetica Neue", Arial, sans-serif;
  --heavy: "Anton", "Arial Black", Impact, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--jp); color: var(--ink); background: #fff; font-size: 16px; line-height: 1.8; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin: 0; }
.wrap { max-width: var(--max); margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.num { font-family: var(--en); font-feature-settings: "tnum"; }

/* たたきの注記（1行） */
.draft { background: var(--paper); color: var(--sub); font-size: 11px; line-height: 1.6; text-align: center; padding: 4px 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ヘッダー（紺） */
.utilbar { background: var(--blue); border-bottom: 1px solid var(--onl); font-size: 12px; }
.utilbar .wrap { display: flex; justify-content: flex-end; gap: 20px; padding-top: 6px; padding-bottom: 6px; }
.utilbar a { color: var(--on2); text-decoration: none; }
.site-h { position: sticky; top: 0; z-index: 30; background: var(--blue); color: #fff; }
.site-h .bar { display: flex; align-items: center; gap: 24px; height: 68px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; flex: none; color: #fff; }
.brand img { width: 40px; height: 40px; }
.brand b { display: block; font-size: 15px; line-height: 1.3; }
.brand small { display: block; font: 500 10px/1.3 var(--en); letter-spacing: .04em; color: var(--on2); }
.gnav { display: flex; gap: 20px; margin-left: auto; }
.gnav a { color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; padding: 22px 0 19px; border-bottom: 3px solid transparent; white-space: nowrap; }
.gnav a[aria-current] { border-bottom-color: var(--yellow); }
.menu-btn { display: none; margin-left: auto; flex: none; white-space: nowrap; background: none; border: 1px solid rgba(255,255,255,.6); color: #fff; font: 700 13px var(--jp); padding: 6px 12px; }

/* 見出し（英字の大見出し＋日本語の小見出し。参考：FC東京・マッチレポート） */
.sh { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.sh h2, .sh h1 { font: 400 32px/1.05 var(--heavy); color: var(--blue); letter-spacing: .01em; text-transform: uppercase; }
.sh h2 small, .sh h1 small { display: block; font: 700 13px/1.4 var(--jp); color: var(--sub); letter-spacing: 0; text-transform: none; margin-top: 8px; }
.on .sh h2, .on .sh h1 { color: #fff; }
.on .sh h2 small, .on .sh h1 small { color: var(--on2); }
.all { font-size: 14px; font-weight: 700; color: var(--blue); text-decoration: none; white-space: nowrap; }
.all::after { content: " →"; }
.on .all { color: #fff; }
.h3 { font-size: 20px; line-height: 1.5; margin-bottom: 12px; }

/* 区画 */
.sec { padding-top: 64px; padding-bottom: 64px; }
.paper { background: var(--paper); }
.on { background: var(--blue); color: var(--on); }
.meta { font-size: 13px; color: var(--sub); }
.on .meta { color: var(--on2); }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }

/* ボタン（四角、角丸なし） */
.btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; font-size: 14px; font-weight: 700; text-decoration: none; background: var(--blue); color: #fff; border: 1px solid var(--blue); }
.btn::after { content: "→"; }
.btn.line { background: transparent; color: var(--blue); }
.on .btn { background: var(--yellow); border-color: var(--yellow); color: var(--blue); }
.on .btn.line { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* パンくず */
.crumb { font-size: 12px; color: var(--sub); padding-top: 12px; padding-bottom: 12px; }
.crumb a { text-decoration: none; }
.crumb span { margin: 0 6px; }
.on .crumb { color: var(--on2); }

/* ページの頭（紺。参考：町田「MATCH DATA 試合情報」） */
.phead { padding-top: 20px; padding-bottom: 40px; }
.phead .sh { margin: 0; }
.phead .sh h1 { font-size: 44px; }
.phead p.lead { color: var(--on2); margin-top: 16px; max-width: 760px; }

/* トップ：大きな写真と見出し（参考：マンC） */
.hero { display: grid; grid-template-columns: 1.65fr 1fr; background: var(--blue); color: #fff; max-width: 1440px; margin: 0 auto; }
.hero img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.hero .panel { padding: 40px 40px 44px; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; }
.lab { font: 800 12px/1.4 var(--en); letter-spacing: .14em; text-transform: uppercase; color: var(--blue); }
.on .lab, .hero .lab { color: var(--yellow); }
.hero h1 { font-size: 30px; line-height: 1.45; }
.hero p { color: var(--on2); font-size: 15px; }

/* 試合カード（横並び。スマホは横にめくる。参考：FC東京） */
.mtabs { display: flex; gap: 20px; }
.mtabs button { background: none; border: 0; border-bottom: 3px solid transparent; padding: 4px 0 6px; font: 700 14px var(--jp); color: var(--sub); cursor: pointer; }
.mtabs button[aria-selected="true"] { color: var(--blue); border-bottom-color: var(--yellow); }
[data-panel][hidden] { display: none !important; }
.mstrip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mc { background: #fff; border: 1px solid var(--line); padding: 20px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; }
.mc .top { display: flex; justify-content: space-between; align-items: center; }
.mc .comp { font-size: 13px; color: var(--sub); line-height: 1.6; }
.tag { font: 800 11px/1 var(--en); letter-spacing: .1em; background: var(--yellow); color: var(--blue); padding: 4px 6px; }
.trow { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; }
.trow img { width: 32px; height: 32px; object-fit: contain; }
.trow b { font-size: 15px; }
.trow .s { font: 400 26px/1 var(--heavy); color: var(--blue); }
.mc .when { font-size: 14px; font-weight: 700; }
.mc .go { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--blue); }
.mc .go::after { content: " →"; }
.mc.league .big { font: 400 44px/1 var(--heavy); color: var(--blue); }
.mc.league .big small { font: 700 14px var(--jp); margin-left: 4px; }
.mc.league dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; margin: 0; font-size: 14px; }
.mc.league dt { color: var(--sub); }
.mc.league dd { margin: 0; font-weight: 700; }

/* feelings（文章だけの記事なので、書き出しを見せる） */
.fcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fcard { background: #fff; border-top: 3px solid var(--blue); padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 10px; text-decoration: none; }
.fcard .who { font-size: 13px; color: var(--sub); }
.fcard b { font-size: 20px; line-height: 1.5; color: var(--ink); }
.fcard p { font-size: 14px; line-height: 1.8; color: #2f3b47; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fcard .by { margin-top: auto; font-size: 13px; font-weight: 700; color: var(--blue); }
.fsearch { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.fsearch label { font-size: 14px; font-weight: 700; }
select { font: 15px var(--jp); padding: 9px 10px; border: 1px solid #c5ced8; background: #fff; color: var(--ink); }

/* ニュース（写真つき。スマホは左に小さな写真。参考：マンC） */
.filters { display: flex; gap: 22px; font-size: 14px; margin-bottom: 20px; }
.filters a { text-decoration: none; color: var(--sub); padding-bottom: 4px; white-space: nowrap; }
.filters a[aria-current] { color: var(--blue); font-weight: 700; border-bottom: 3px solid var(--yellow); }
.ncards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ncard { text-decoration: none; display: block; }
.ncard img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ncard .nm { font-size: 12px; color: var(--sub); margin: 12px 0 4px; }
.ncard .nm i { font-style: normal; color: var(--blue); font-weight: 700; margin-right: 10px; }
.ncard b { font-size: 16px; line-height: 1.6; display: block; }

/* テクニカル（紺の帯） */
.tnum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 28px 0; }
.tnum div { border-top: 1px solid var(--onl); padding-top: 12px; }
.tnum b { display: block; font: 400 32px/1.1 var(--heavy); color: #fff; }
.tnum span { font-size: 13px; color: var(--on2); }
.tlist a, .tlist div { display: block; text-decoration: none; border-top: 1px solid var(--onl); padding: 16px 0; }
.tlist small { display: block; font-size: 12px; color: var(--on2); margin-bottom: 2px; }
.tlist b { display: block; font-size: 16px; line-height: 1.6; color: #fff; }
.tlist p { font-size: 14px; color: var(--on2); margin-top: 4px; }

/* パートナーのロゴ */
.logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.logos a { display: flex; align-items: center; justify-content: center; height: 84px; border: 1px solid var(--line); background: #fff; padding: 14px 16px; }
.logos img { max-height: 40px; width: auto; object-fit: contain; }
.logos.lg { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.logos.lg a { height: 104px; }
.logos.lg img { max-height: 50px; }
.tier { font-size: 14px; font-weight: 700; color: var(--sub); margin: 28px 0 12px; }

/* 試合詳細（紺の頭＋タブ。参考：町田・マンC） */
.mhead .comp { font-size: 14px; color: var(--on2); }
.mhead h1 { font-size: 30px; line-height: 1.4; color: #fff; margin-top: 4px; }
.mhead .when { font-size: 14px; color: var(--on2); margin-top: 4px; }
.board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; margin-top: 28px; padding: 28px 0 20px; border-top: 1px solid var(--onl); text-align: center; }
.board img { width: 88px; height: 88px; object-fit: contain; margin: 0 auto 10px; }
.board .t { font-size: 18px; font-weight: 700; color: #fff; }
.board .sc { font: 400 76px/1 var(--heavy); color: #fff; }
.board .half { font-size: 13px; color: var(--on2); margin-top: 8px; }
.goals { display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--on); padding-bottom: 28px; }
.board-sp { display: none; }
.ptabs { position: sticky; top: 68px; z-index: 20; background: #fff; border-bottom: 1px solid var(--line); }
.ptabs .wrap { display: flex; gap: 28px; overflow-x: auto; }
.ptabs a { flex: none; text-decoration: none; font-size: 14px; font-weight: 700; color: var(--sub); padding: 14px 0 11px; border-bottom: 3px solid transparent; }
.ptabs a[aria-selected="true"] { color: var(--blue); border-bottom-color: var(--yellow); }
.lock { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--blue); padding: 18px 22px; }
.lock b { display: block; font-size: 16px; color: var(--blue); }
.lock span { font-size: 14px; color: var(--sub); }
.oneline { font-size: 19px; font-weight: 700; line-height: 1.7; }
.xi { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.xi li { display: grid; grid-template-columns: 44px 56px 1fr; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.xi .no { font: 800 15px var(--en); color: var(--blue); }
.xi .pos { font: 700 12px var(--en); color: var(--sub); padding-top: 2px; }
.on .xi, .on .xi li { border-color: var(--onl); }
.on .xi .no { color: var(--yellow); }
.on .xi .pos { color: var(--on2); }
.stats { width: 100%; border-collapse: collapse; font-size: 14px; }
.stats td, .stats th { padding: 11px 0; border-bottom: 1px solid var(--line); }
.stats th { font-weight: 400; color: var(--sub); text-align: center; }
.stats td { font: 800 17px var(--en); width: 26%; color: var(--blue); }
.stats td:last-child { text-align: right; color: var(--sub); }
.stats tr.hd td { font: 700 13px var(--jp); color: var(--sub); }
.on .stats td, .on .stats th { border-bottom-color: var(--onl); }
.on .stats td { color: #fff; }
.on .stats th, .on .stats td:last-child, .on .stats tr.hd td { color: var(--on2); }
.photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.info dl { display: grid; grid-template-columns: 90px 1fr; gap: 8px 16px; margin: 0; font-size: 15px; }
.info dt { color: var(--sub); }
.info dd { margin: 0; }
.on .info dt { color: var(--on2); }

/* 完全版マッチレポート（LP） */
.rbar { background: var(--blue); border-bottom: 2px solid var(--yellow); color: var(--yellow); font-size: 13px; font-weight: 700; }
.rbar .wrap { padding-top: 8px; padding-bottom: 8px; }
.rcover { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; padding-top: 48px; padding-bottom: 56px; }
.rcover .ft { font: 400 64px/1 var(--heavy); color: var(--yellow); }
.rcover .score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; text-align: center; margin: 24px 0; }
.rcover .score img { width: 92px; height: 92px; object-fit: contain; margin: 0 auto 10px; }
.rcover .score .sc { font: 400 92px/1 var(--heavy); color: #fff; }
.rcover .score .t { font-size: 17px; font-weight: 700; color: #fff; }
.rline { border-left: 3px solid var(--yellow); padding: 4px 0 4px 18px; font-size: 18px; line-height: 1.8; color: #fff; }
.big3 div { border-top: 1px solid var(--onl); padding-top: 14px; }
.big3 small { font: 800 12px var(--jp); color: var(--yellow); }
.big3 b { display: block; font: 400 36px/1.2 var(--heavy); color: #fff; margin: 6px 0; }
.big3 b span { font: 700 18px var(--en); color: var(--on2); }
.big3 p { font-size: 14px; color: var(--on); }
.flow { background: rgba(255,255,255,.05); border: 1px solid var(--onl); padding: 20px; }
.flow .fh { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--on2); margin-bottom: 10px; }
.flow .fh b { color: #fff; font: 800 13px var(--en); letter-spacing: .12em; }
.flow .fh i { font-style: normal; margin-left: 12px; }
.flow svg { width: 100%; height: auto; display: block; }
.flow .v-dr { font: 800 7.5px var(--jp); }
.flow .v-ax { stroke: rgba(255,255,255,.34); stroke-width: 1; }
.flow .v-ht { stroke: rgba(255,255,255,.22); stroke-width: 1; stroke-dasharray: 2 2; }
.flow .v-tk { font: 700 8.5px var(--en); fill: rgba(255,255,255,.55); }
.flow .v-ba { fill: var(--sky); }
.flow .v-bb { fill: #93a9c6; }
.flow .v-lg { font: 800 8.5px var(--jp); }
.flow .v-la { fill: var(--sky); }
.flow .v-lb { fill: #93a9c6; }
.flow .v-ga { fill: var(--sky); stroke: #fff; stroke-width: 1.4; }
.flow .v-gb { fill: #fff; stroke: var(--yellow); stroke-width: 1.3; }
.flow .v-gt { font: 800 9px var(--en); fill: #fff; }
.flow .v-pl { fill: none; stroke: rgba(255,255,255,.3); stroke-width: 1; }
.flow .v-pk { fill: rgba(255,255,255,.4); }
.flow .v-sa { fill: var(--yellow); fill-opacity: .9; }
.flow .v-sb { fill: #fff; fill-opacity: .85; }
.flow .v-off { fill-opacity: .32; }
.flow .v-gl { stroke: #fff; stroke-width: 1.8; fill-opacity: 1; }
.tline { list-style: none; margin: 0; padding: 0; }
.tline li { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--onl); font-size: 15px; }
.tline time { font: 800 13px var(--en); color: var(--yellow); }
.quote { border-top: 1px solid var(--onl); padding-top: 18px; }
.quote small { font: 800 12px var(--en); letter-spacing: .12em; color: var(--yellow); }
.quote b { display: block; font-size: 18px; margin: 4px 0 10px; color: #fff; }
.quote p { font-size: 15px; }

/* テクニカルのページ */
.tnav { border-bottom: 1px solid var(--onl); }
.tnav .wrap { display: flex; gap: 22px; overflow-x: auto; padding-top: 14px; padding-bottom: 14px; }
.tnav a { flex: none; font: 700 13px var(--en); color: var(--on2); text-decoration: none; }
.thero h1 { font-size: 46px; line-height: 1.35; color: #fff; margin: 8px 0 18px; }
.io { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--onl); margin: 24px 0 32px; }
.io div { padding: 16px 20px; }
.io div + div { border-left: 1px solid var(--onl); }
.io small { display: block; font: 800 11px var(--en); letter-spacing: .14em; color: var(--yellow); }
.tcards > div, .tcards > a { border-top: 1px solid var(--onl); padding-top: 14px; text-decoration: none; display: block; }
.tcards small { display: block; font: 700 12px var(--en); color: var(--on2); }
.tcards b { display: block; font-size: 17px; color: #fff; margin: 4px 0 6px; line-height: 1.5; }
.tcards p { font-size: 14px; color: var(--on); }
.steps > div small { font: 400 22px var(--heavy); color: var(--yellow); }
.record { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-bottom: 32px; }
.record div { border-top: 1px solid var(--onl); padding-top: 12px; }
.record small { display: block; font: 800 11px var(--en); letter-spacing: .14em; color: var(--on2); }
.record b { display: block; font: 400 30px/1.25 var(--heavy); color: #fff; }
.record b.jp { font: 800 22px/1.5 var(--jp); }
.arch a { display: grid; grid-template-columns: 64px 1fr 72px 28px; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--onl); text-decoration: none; font-size: 15px; }
.arch .s { font: 400 18px var(--heavy); color: #fff; }
.arch .r { font: 800 13px var(--en); text-align: right; color: var(--on2); }
.arch .r.w { color: var(--yellow); }
.org { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.org div { border: 1px solid var(--onl); padding: 16px; }
.org b { display: block; color: #fff; }
.org span { font-size: 14px; color: var(--on2); }
.org .head { grid-column: 1 / -1; border-color: var(--yellow); }

/* 入部案内・パートナーシップ */
.roles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.roles > a { display: block; text-decoration: none; background: #fff; border-top: 3px solid var(--blue); padding: 20px; }
.roles > a b { display: block; font-size: 19px; margin-bottom: 8px; color: var(--blue); }
.roles > a b::after { content: " →"; }
.roles > a span { font-size: 14px; color: #2f3b47; display: block; }
.year { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); background: #fff; }
.year div { padding: 18px 20px; }
.year div + div { border-left: 1px solid var(--line); }
.year small { font: 800 13px var(--en); color: var(--blue); }
.year b { display: block; margin: 4px 0; }
.year span { font-size: 14px; color: var(--sub); }
.faq details { border-top: 1px solid var(--line); padding: 14px 0; }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { font-weight: 700; cursor: pointer; }
.faq p { color: var(--sub); font-size: 15px; margin-top: 10px; }
.reasons div { border-top: 3px solid var(--blue); padding-top: 16px; }
.reasons small { font: 400 14px var(--heavy); color: var(--blue); }
.reasons b { display: block; font-size: 19px; margin: 4px 0 8px; }
.reasons p { font-size: 15px; color: #2f3b47; }
.figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--blue); color: #fff; margin-top: 36px; }
.figs div { padding: 22px 24px; }
.figs div + div { border-left: 1px solid var(--onl); }
.figs b { display: block; font: 400 34px/1.2 var(--heavy); }
.figs span { font-size: 13px; color: var(--on2); }
.menu4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.menu4 div { background: #fff; padding: 20px; border-top: 3px solid var(--blue); }
.menu4 b { display: block; font-size: 16px; margin-bottom: 8px; }
.menu4 ul { margin: 0; padding-left: 1.1em; font-size: 14px; color: #2f3b47; }
.ph { background: #fff; border: 1px dashed #b8c3cf; color: var(--sub); font-size: 14px; padding: 20px; }

/* フッター（紺） */
.site-f { background: var(--blue); color: var(--on); font-size: 14px; }
.site-f .cols { display: grid; grid-template-columns: 1.4fr 1fr 1.3fr 1fr; gap: 32px; padding-top: 48px; padding-bottom: 36px; }
.site-f h4 { font: 800 12px var(--en); letter-spacing: .12em; color: var(--yellow); margin: 0 0 10px; }
.site-f ul { list-style: none; margin: 0; padding: 0; line-height: 2.1; }
.site-f a { text-decoration: none; }
.site-f .copy { border-top: 1px solid var(--onl); padding-top: 16px; padding-bottom: 24px; font-size: 11px; color: var(--on2); }

/* タブレット */
@media (max-width: 1000px) {
  .gnav, .utilbar { display: none; }
  .menu-btn { display: block; }
  .site-h.open .gnav { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: var(--blue); border-top: 1px solid var(--onl); padding: 0 16px 8px; }
  .site-h.open .gnav a { padding: 14px 0; border-bottom: 1px solid var(--onl); }
  .site-h.open .gnav .sp-only { display: block; color: var(--on2); font-weight: 400; }
  .hero { grid-template-columns: 1fr; }
  .mstrip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ncards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .roles, .grid4, .menu4, .figs, .year, .org, .record { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .figs div + div, .year div + div { border-left: 0; }
  .ptabs { top: 68px; }
}
.gnav .sp-only { display: none; }

/* スマホ */
@media (max-width: 640px) {
.rcover { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; padding-bottom: 36px; }
.rcover .ft { font-size: 42px; }
.rcover .score .sc { font-size: 56px; }
.rcover .score img { width: 60px; height: 60px; }
.rcover .score .t { font-size: 14px; }
}

.swipe-hint { display: none; font-size: 12px; color: var(--sub); margin-top: 8px; }

/* 追加：写真、feelings 一覧 */
.photo { width: 100%; object-fit: cover; }
.fcard[hidden] { display: none !important; }
.fcards.list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .fcards.list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }



/* ===== v3：ア式の色と、試合結果画像の作りに合わせた上書き ===== */
.utilbar { background: var(--blue-dk); border-bottom: 0; }
.utilbar a { color: #fff; }
.site-h { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); }
.brand, .brand b { color: var(--ink); }
.brand small { color: var(--sub); }
.gnav a { color: var(--ink); }
.gnav a[aria-current] { border-bottom-color: var(--blue); color: var(--blue); }
.menu-btn { border-color: var(--ink); color: var(--ink); }
@media (max-width: 1000px) {
  .site-h.open .gnav { background: #fff; border-top: 1px solid var(--line); }
  .site-h.open .gnav a { border-bottom-color: var(--line); }
  .site-h.open .gnav .sp-only { color: var(--sub); }
}
.sh h2, .sh h1 { font-family: var(--heavy); font-weight: 400; font-size: 46px; line-height: 1; letter-spacing: .01em; }
.on .btn { color: var(--deep); }
.tag { color: var(--deep); }
.site-f { background: var(--blue-dk); }
.site-f .copy { color: #cfe4f5; }
.flow { background: var(--deep); border-color: transparent; }
.tech, .on.tech { background: var(--deep); }
.tech .sh h2 { color: #fff; }
.shard { background: var(--blue) url(img/shards.svg) center / cover no-repeat; }
.hl { color: var(--yellow); }

/* トップの最初の画面（試合結果の画像と同じ作り：青地＋破片＋太い白文字＋写真） */
.kv { background: var(--blue) url(img/shards.svg) center / cover no-repeat; color: #fff; }
.kv-in { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 40px; }
.kv-lab { font: 400 18px/1 var(--heavy); letter-spacing: .08em; color: var(--yellow); }
.kv-big { font: 400 104px/.92 var(--heavy); letter-spacing: .005em; margin: 14px 0 18px; text-transform: uppercase; }
.kv-jp { font-size: 22px; font-weight: 700; line-height: 1.5; }
.kv-rec { font-size: 15px; color: var(--on2); margin-top: 8px; }
.kv-ph { border: 6px solid #fff; box-shadow: 14px 14px 0 var(--yellow); }
.kv-ph img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kvbar { display: grid; grid-template-columns: 1.1fr 1.1fr .8fr; gap: 12px; padding-bottom: 40px; }
.kvbar a { background: #fff; color: var(--ink); text-decoration: none; padding: 16px 20px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 14px; }
.kvbar .k { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; font-size: 12px; color: var(--sub); }
.kvbar .k b { font: 400 15px/1 var(--heavy); letter-spacing: .06em; color: var(--blue); }
.kvbar .m { font-size: 16px; font-weight: 700; line-height: 1.5; }
.kvbar .s { font: 400 40px/1 var(--heavy); color: var(--blue); }

/* 試合日程と順位表（参考：慶應・FC東京） */
.mgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.sched a { display: grid; grid-template-columns: 84px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); text-decoration: none; }
.sched a:last-child { border-bottom: 1px solid var(--line); }
.sched .dt { font: 400 30px/1 var(--heavy); color: var(--blue); }
.sched .dt small { display: block; font: 700 12px var(--jp); color: var(--sub); margin-top: 6px; }
.sched .c { font-size: 12px; color: var(--sub); display: block; }
.sched .o { font-size: 16px; font-weight: 700; display: block; }
.sched .r { font: 400 22px/1 var(--heavy); color: var(--blue); white-space: nowrap; }
.sched .r.next { font: 800 11px/1 var(--en); letter-spacing: .1em; background: var(--yellow); color: var(--deep); padding: 5px 7px; }
.sched .r.tbd { color: var(--sub); font-size: 16px; }
.stand { width: 100%; border-collapse: collapse; font-size: 14px; }
.stand th { font-size: 12px; color: var(--sub); font-weight: 700; text-align: right; padding: 8px 6px; border-bottom: 2px solid var(--blue); }
.stand th:nth-child(2) { text-align: left; }
.stand td { padding: 9px 6px; border-bottom: 1px solid var(--line); text-align: right; font-family: var(--en); }
.stand td.tm { text-align: left; font-family: var(--jp); }
.stand td.rk { width: 30px; text-align: center; font: 400 17px var(--heavy); color: var(--sub); }
.stand tr.up td { background: var(--paper); }
.stand tr.up td.rk { color: var(--blue); }
.stand tr.me td { font-weight: 800; color: var(--blue); }
.stand-note { font-size: 12px; color: var(--sub); margin-top: 8px; }
.stand-note i { display: inline-block; width: 10px; height: 10px; background: var(--paper); border: 1px solid var(--line); margin-right: 4px; vertical-align: -1px; }

/* ニュース：大きな1本＋一覧（参考：ブレントフォード・慶應） */
.nfeat { display: grid; grid-template-columns: 1.35fr 1fr; gap: 36px; }
.nfeat .main { text-decoration: none; display: block; }
.nfeat .main img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.nfeat .main .nm { font-size: 13px; color: var(--sub); margin: 14px 0 6px; }
.nfeat .main b { display: block; font-size: 24px; line-height: 1.5; }
.nside a { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line); text-decoration: none; }
.nside a:first-child { border-top: 0; padding-top: 0; }
.nside img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.nside .nm, .nfeat .nm { font-size: 12px; color: var(--sub); }
.nside .nm i, .nfeat .nm i { font-style: normal; color: var(--blue); font-weight: 700; margin-right: 10px; }
.nside b { display: block; font-size: 15px; line-height: 1.6; margin-top: 2px; }

/* feelings：番号つきの読み物の並び */
.fcard { border-top: 4px solid var(--blue); }
.fcard b { font-size: 21px; }

@media (max-width: 1000px) {
  .kv-in { grid-template-columns: 1fr; gap: 28px; }
  .kv-big { font-size: 84px; }
  .kvbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mgrid, .nfeat { grid-template-columns: 1fr; gap: 40px; }
}

.rcover .ft { color: #fff; }
.shard .crumb { color: #e3f1fb; }


.site-f .brand b { color: #fff; }
.site-f .brand small { color: #cfe4f5; }





.shard { background: var(--blue) url(img/shards-r.svg) right top / auto 100% no-repeat; }
.lock .btn { flex: none; white-space: nowrap; }






/* ===== v4：フォント、写真の切り替え、次の試合、テクニカルの色の統一 ===== */
:root {
  --jp: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;
  --en: "Oswald", "Helvetica Neue", Arial, sans-serif;
}
body { font-weight: 500; letter-spacing: .02em; }
h1, h2, h3, b, strong, .kv-jp, .nm-when, .oneline, .gnav a, .btn, .all { font-feature-settings: "palt"; }
.kv-jp { font-weight: 700; font-size: 26px; letter-spacing: .02em; }
.brand b { font-weight: 700; letter-spacing: .04em; }
.gnav a { font-weight: 700; letter-spacing: .06em; }
.lab, .kvbar .k b { font-family: var(--en); font-weight: 600; letter-spacing: .12em; }
.fm { font: 500 20px var(--en); letter-spacing: .04em; margin-left: 10px; opacity: .7; }
.tech, .on.tech { background: var(--blue); }
.flow { background: var(--blue-dk); }

/* 最初の画面の写真：5秒ごとに切り替わる */
.kv-ph.slides { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #0a5f9e; }
.kv-ph.slides img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.kv-ph.slides img.on { opacity: 1; }
.kv-in { padding-bottom: 64px; }

/* 次の試合（完全版レポートの NEXT MATCH と同じ形） */
.nmatch { padding-top: 64px; padding-bottom: 72px; border-top: 1px solid var(--onl); }
.nmatch .grid2 { align-items: center; }
.disp { font: 400 56px/1 var(--heavy); color: #fff; letter-spacing: .01em; text-transform: uppercase; margin-bottom: 22px; }
.nm-when { font-size: 28px; font-weight: 700; color: #fff; line-height: 1.4; }
.nm-comp { font-size: 16px; color: var(--on2); margin: 6px 0 22px; }
.nmatch .info dt { color: var(--on2); }
.tech-copy { font-size: 26px; font-weight: 700; color: #fff; line-height: 1.5; }
.tlist b { font-size: 17px; }



.kv { background-position: center top; }


/* v5：MATCH（写真つきの次の試合＋順位表） */
.nm-card .photo { margin-bottom: 20px; }
.nm-h { font: 400 40px/1 var(--heavy); color: var(--blue); text-transform: uppercase; letter-spacing: .01em; margin-bottom: 12px; }
.nm-w { font-size: 22px; font-weight: 700; line-height: 1.45; }
.nm-c { font-size: 15px; color: var(--sub); margin: 4px 0 16px; }
.mgrid { align-items: start; }


/* ===== 公式の色（2026-11-08 美川より）=====
   ベースの青 #187FC4（大きな面・大きな見出し）／濃青 #2C68B1（ユニフォーム。ボタン・リンク・小さな見出し・細かい文字の区画）
   紺 #003567（アクセント。ヘッダー上の帯・フッター・データの図の地）／黄 #FABE00（差し色） */
:root { --base: #187fc4; --blue: #2c68b1; --navy: #003567; --yellow: #fabe00; --paper: #eef5fb; --blue-dk: #2c68b1; }
.kv, .shard { background-color: var(--base); }
.on { background-color: var(--blue); }
.on.shard { background-color: var(--base); }
.sh h2, .sh h1, .nm-h, .kv-big { color: var(--base); }
.on .sh h2, .on .sh h1, .kv .kv-big, .shard .sh h1 { color: #fff; }
.utilbar, .site-f { background: var(--navy); }
.flow { background: var(--navy); }
.tag, .kvbar .tag { background: var(--yellow); color: var(--navy); }
.on .btn { background: var(--yellow); border-color: var(--yellow); color: var(--navy); }
.kv-ph { box-shadow: 14px 14px 0 var(--yellow); }

.sched .r.next { background: var(--yellow); color: var(--navy); }

/* WordPress 標準（Twenty Twenty-Five）の見出し・段落の指定に負けないように */
h1, h2, h3, h4 { font-weight: 700; letter-spacing: .02em; }
.mhead h1 { font-weight: 700; }
.kv-big, .sh h2, .sh h1, .nm-h, .disp { font-weight: 400; }
.entry p { margin: 0 0 1em; }
.entry p:last-child { margin-bottom: 0; }

/* 完全版マッチレポート：スマホで大会名・日時の行が右上の模様にかからないように */
@media (max-width: 640px) {
.rcover .meta { padding-right: 56px; }
}


/* ===== 軽くする・改行（2026-11-08 美川「重い」「改行がうまく活用されていない」）===== */
:root {
  --jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic Medium", "YuGothic", "Yu Gothic", Meiryo, sans-serif;
  --jph: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
}
h1, h2, h3, h4, .kv-jp, .brand b, .nm-w, .tech-copy, .cta-h { font-family: var(--jph); }
button, input, select, textarea { font-family: inherit; }
* { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4, .lead, .kv-jp, .nm-w, .rline, .oneline, .fcard b, .ncard b, .nrow b, .roles p, .tcards p, .reasons p { word-break: auto-phrase; text-wrap: pretty; }
.phrase { word-break: keep-all; overflow-wrap: anywhere; }
.article .tc { text-align: center; }
.article .tr { text-align: right; }
.article div:empty { min-height: 1em; }

/* ===== 押したときの見た目（2026-11-09 美川「黒枠をやめて、シンプルな挙動に」）=====
   WordPress 標準の「選んだものに黒い枠」をやめ、押している間だけ少し薄くする。
   キーボード（Tab）で移動したときだけ、どこにいるか分かるよう細い青い線を出す */
.wp-site-blocks :focus { outline: none; }
.wp-site-blocks :focus-visible { outline: 2px solid var(--base); outline-offset: 3px; }
a, button, summary { transition: opacity .15s; }
a:active, button:active, summary:active { opacity: .6; }

/* 段落と段落のあいだを空ける（WordPress 7 では段落に wp-block-paragraph が付く） */
.ashiki-content .wrap > p + p,
.ashiki-content .wrap > .wp-block-group:not(.staff) > p + p { margin-top: 1em; }
.ashiki-content .wrap > p.wp-block-paragraph { max-width: 820px; }
.ccards h3 a { color: inherit; text-decoration: none; }
.ashiki-content .wp-block-group.after { margin-top: 36px; }

/* ===== 前のHPの中身・B/Cチーム・お問い合わせ（2026-11-09）===== */
.mt-team { padding-top: 28px; gap: 28px; }
.mt-team button { font-size: 16px; }
.sched > div { display: grid; grid-template-columns: 84px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); }
.sched > div:last-child { border-bottom: 1px solid var(--line); }
.sched > div .r i.d, .sched a .r i.d { color: var(--sub); }
.article h3 { font-size: 19px; border-left: 4px solid var(--base); padding-left: 12px; }
.article h5, .article h4 { font-size: 16px; margin: 1.6em 0 .5em; color: var(--blue); }
.article table { border-collapse: collapse; width: 100%; margin: 1em 0 1.4em; font-size: 15px; }
.article th, .article td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
.article th { background: var(--paper); font-weight: 700; }
.article figure { margin: 1.5em 0; }
.article figcaption { font-size: 13px; color: var(--sub); margin-top: 6px; }
.article img { height: auto; }
.article .wp-block-embed, .article iframe { max-width: 100%; }
.week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--line); background: #fff; }
.week > div { padding: 16px 14px; }
.week > div + div { border-left: 1px solid var(--line); }
.week .k { font: 600 13px var(--en); letter-spacing: .1em; color: var(--blue); }
.week h3 { font-size: 15px; margin: 4px 0; }
.week p:not(.k) { font-size: 13px; color: var(--sub); }
.week .off h3 { color: var(--sub); }
.ccards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ccards > div { background: #fff; border-top: 3px solid var(--blue); padding: 22px; }
.ccards .k { font: 600 12px var(--en); letter-spacing: .1em; color: var(--blue); }
.ccards h3 { font-size: 19px; margin: 4px 0 8px; }
.ccards p:not(.k) { font-size: 14px; color: #2f3b47; }
.ccards .wp-block-buttons { margin-top: 16px; }
.ccards .wp-block-button__link { padding: 9px 14px; font-size: 13px; }
.staff { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.staff p { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.staff p .k, .staff strong { display: inline-block; min-width: 9em; color: var(--sub); font-weight: 500; font-size: 13px; }
.staff.one { grid-template-columns: 1fr; max-width: 820px; }
.prose p + p, .quote2 p + p { margin-top: 1em; }
.prose h3 { font-size: 18px; margin-bottom: 8px; }
.prose ul, .access ul, .reasons ul { margin: 10px 0 0; padding-left: 1.2em; font-size: 15px; line-height: 1.9; }
.access h3 { font-size: 19px; margin-bottom: 4px; }
.access p { color: var(--sub); font-size: 14px; }
.roles .k { font: 600 12px var(--en); letter-spacing: .1em; color: var(--sub); margin-bottom: 2px; }
.ashiki-content .wrap.grid2 > .wp-block-group.grid2 { gap: 24px; }
.quote2 { border-left: 3px solid var(--yellow); padding: 4px 0 4px 20px; }
.quote2 .k { font: 600 12px var(--en); letter-spacing: .1em; color: var(--blue); }
.quote2 h3 { font-size: 22px; margin: 6px 0 12px; }
@media (max-width: 1000px) {
  .week { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .week > div:nth-child(5) { border-left: 0; }
  .week > div:nth-child(n+5) { border-top: 1px solid var(--line); }
  .staff { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* ===== 残りのページ（2026-11-08）===== */

/* 記事の頭（日本語の題名） */
.ahead { padding-top: 20px; padding-bottom: 44px; }
.ahead h1 { font-size: 34px; line-height: 1.45; color: #fff; margin-top: 10px; max-width: 920px; }
.ahead .ameta { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 14px; font-size: 14px; color: var(--on2); }
.ahead .ameta b { color: #fff; }

/* 本文 */
.narrow { max-width: 880px; }
.article { font-size: 17px; line-height: 2.05; }
.article p { margin: 0 0 1.4em; }
.article p:last-child { margin-bottom: 0; }
.article h2 { font-size: 22px; line-height: 1.5; margin: 2em 0 .8em; }
.article h3 { font-size: 19px; line-height: 1.5; margin: 1.8em 0 .6em; }
.article img { margin: 1.5em 0; }
.article a { color: var(--blue); }
.aimg { margin-bottom: 40px; }
.agrid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; align-items: start; }
.agrid .article { max-width: 760px; }
.aside { position: sticky; top: 96px; }
.writer { border-top: 4px solid var(--blue); background: var(--paper); padding: 20px; }
.writer small { font: 600 12px var(--en); letter-spacing: .12em; color: var(--blue); }
.writer b { display: block; font-size: 22px; margin: 2px 0 6px; }
.writer p { font-size: 14px; color: var(--sub); }
.alinks { list-style: none; margin: 16px 0 0; padding: 0; }
.alinks li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.alinks .all { white-space: normal; }
.adj { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--line); }
.adj a { display: block; text-decoration: none; }
.adj .next { text-align: right; }
.adj small { font: 600 12px var(--en); letter-spacing: .1em; color: var(--blue); }
.adj b { display: block; font-size: 16px; line-height: 1.6; }
.empty { color: var(--sub); }

/* ページ送り */
.pager { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 40px; }
.pager .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: #fff; text-decoration: none; font: 600 14px var(--en); color: var(--ink); }
.pager .current { background: var(--blue); border-color: var(--blue); color: #fff; }
.pager .dots { border: 0; background: none; }

/* ニュース・検索 */
.ncards { row-gap: 36px; }
.ncard .noimg { display: block; aspect-ratio: 16 / 9; background: var(--paper); }
.ncard .nm { display: block; }
.nlist { border-top: 1px solid var(--line); }
.nrow { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.nrow .nm { font-size: 12px; color: var(--sub); }
.nrow .nm i { font-style: normal; color: var(--blue); font-weight: 700; margin-right: 10px; }
.nrow b { display: block; font-size: 16px; line-height: 1.6; margin-top: 2px; }
.sform { display: flex; gap: 8px; margin-top: 24px; max-width: 560px; }
.sform input { flex: 1; min-width: 0; font: 16px var(--jp); padding: 11px 12px; border: 0; color: var(--ink); }

/* 試合の一覧 */
.comp-h { font-size: 30px; line-height: 1.4; margin-top: 4px; }
.sched .r i.wdl { font: 600 12px var(--en); font-style: normal; margin-left: 8px; color: var(--sub); }
.sched .r i.w { color: var(--blue); }
.mgrid .record { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.mgrid .record div { border-top-color: var(--line); }
.mgrid .record small { color: var(--sub); }
.mgrid .record b { color: var(--base); }

/* パートナー */
.logos > span { display: flex; align-items: center; justify-content: center; height: 84px; border: 1px solid var(--line); background: #fff; padding: 14px 16px; }
.logos.lg > span { height: 104px; }
.pgrid { display: grid; grid-template-columns: 360px 1fr; gap: 56px; align-items: start; }
.plogo { border: 1px solid var(--line); background: #fff; padding: 40px; display: flex; align-items: center; justify-content: center; aspect-ratio: 3 / 2; }
.plogo img { max-height: 120px; width: auto; }

/* 見つからないとき */
.nf { padding-top: 24px; padding-bottom: 56px; }
.nf-code { font: 400 120px/1 var(--heavy); color: #fff; }
.nf h1 { font-size: 30px; line-height: 1.45; color: #fff; margin-top: 12px; }
.nf .lead { color: var(--on2); margin-top: 12px; max-width: 760px; }
.nf-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* feelings の絞り込み：選ぶとすぐ出し直すので、ボタンは JavaScript が動かないときだけ */
form.js .fbtn { display: none; }

/* 固定ページ（編集画面のブロックで書いた中身） */
.ashiki-content [id] { scroll-margin-top: 84px; }
.ashiki-content .wrap > p, .ashiki-content .wrap > div > p:not([class]) { max-width: 820px; }
.ashiki-content p.after { margin-top: 24px; }
.ashiki-content p.before { margin-bottom: 16px; }
.ashiki-content figure { margin: 0; }
.ashiki-content .wp-block-image.photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ashiki-content .wrap.mid { align-items: center; }
.ashiki-content .wp-block-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.ashiki-content .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; font: 700 14px/1.5 var(--jp); text-decoration: none; background: var(--blue); color: #fff; border: 1px solid var(--blue); border-radius: 0; }
.ashiki-content .wp-block-button__link::after { content: "→"; }
.ashiki-content .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--blue); border: 1px solid var(--blue); padding: 12px 20px; }
.ashiki-content .on .wp-block-button__link { background: var(--yellow); border-color: var(--yellow); color: var(--navy); }
.ashiki-content .on .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.ashiki-content .sh p.all a { color: inherit; text-decoration: none; }
.on .bt { border-top: 1px solid var(--onl); }
.stack { display: grid; gap: 16px; }
.k { margin: 0; }
.tnav p { display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; }
.tcards > div { position: relative; }
.tcards .k { display: block; font: 700 12px var(--en); letter-spacing: .04em; color: var(--on2); }
.steps .k { font: 400 22px var(--heavy); color: var(--yellow); }
.io .k { display: block; font: 800 11px var(--en); letter-spacing: .14em; color: var(--yellow); }
.tcards h3 { font-size: 17px; line-height: 1.5; color: #fff; margin: 4px 0 6px; }
.tcards h3 a, .roles h3 a { color: inherit; text-decoration: none; }
.tcards h3 a::after, .roles h3 a::after { content: ""; position: absolute; inset: 0; }
.tcards p:not(.k) { font-size: 14px; color: var(--on); }
.org h3 { font-size: 16px; color: #fff; margin: 0; }
.org p { font-size: 14px; color: var(--on2); }
.reasons .k { font: 400 14px var(--heavy); color: var(--blue); }
.reasons h3 { font-size: 19px; line-height: 1.5; margin: 4px 0 8px; }
.reasons p:not(.k) { font-size: 15px; color: #2f3b47; }
.figs .v { font: 400 34px/1.2 var(--heavy); color: #fff; }
.figs p:not(.v) { font-size: 13px; color: var(--on2); }
.menu4 h3 { font-size: 16px; margin-bottom: 8px; }
.roles > div { position: relative; background: #fff; border-top: 3px solid var(--blue); padding: 20px; }
.roles.r2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.roles h3 { font-size: 19px; color: var(--blue); margin-bottom: 8px; }
.roles h3:has(a)::after { content: " →"; }
.roles > div p { font-size: 14px; color: #2f3b47; }
.year .k { font: 800 13px var(--en); color: var(--blue); }
.year h3 { font-size: 16px; margin: 4px 0; }
.year p:not(.k) { font-size: 14px; color: var(--sub); }
.cta .wrap { text-align: center; }
.cta .wrap > p { max-width: none; }
.cta-h { font-size: 24px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.ashiki-content p.after + .wp-block-buttons { margin-top: 20px; }
.ahead.narrow, .crumb.narrow { max-width: 880px; }
@media (max-width: 1000px) { .mgrid.league > :last-child { order: -1; } }

.cta .wp-block-buttons { justify-content: center; margin-top: 20px; }

@media (max-width: 1000px) {
  .agrid { grid-template-columns: 1fr; gap: 40px; }
  .aside { position: static; }
  .pgrid { grid-template-columns: 1fr; gap: 32px; }
  .nf-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* ===== 選手・学生スタッフ（/team/） ===== */
.tm-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 28px; }
.tm-squad a { padding: 4px 0 6px; border-bottom: 3px solid transparent; font: 700 14px var(--jp); color: var(--sub); text-decoration: none; }
.tm-squad a[aria-current] { color: var(--blue); border-bottom-color: var(--yellow); }
.ftabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ftabs button { padding: 8px 16px; border: 1px solid var(--line); border-radius: 2px; background: #fff; color: var(--ink); font: 700 13px var(--jp); cursor: pointer; }
.ftabs button:hover { border-color: var(--blue); }
.ftabs button[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.tm-sec { padding-top: 48px; }
.tm-sec[hidden], .tm-group[hidden] { display: none; }
.tm-group { margin-top: 28px; }
.tm-group + .tm-group { margin-top: 52px; }
.tm-h { display: flex; align-items: baseline; gap: 10px; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 2px solid var(--ink); font-size: 20px; }
.tm-h small { font: 600 13px var(--en); color: var(--sub); }
.tm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
@media (min-width: 700px) { .tm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; } }
@media (min-width: 1000px) { .tm-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* 写真：横は撮影したまま（腕を広げたポーズも切れない）、上の空きだけ6.5%詰める。写真がない人は背景と同じ色の面 */
.pp { position: relative; display: block; aspect-ratio: 7 / 6; overflow: hidden; background: #2d69b2; }
.pp.st { background: #003567; }
.pp img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; transition: opacity .25s ease, transform .35s ease; }
.pp img.h { opacity: 0; }
.pp svg { position: absolute; left: 50%; bottom: 0; width: 58%; transform: translateX(-50%); fill: rgba(255, 255, 255, .16); }
@media (hover: hover) {
  a:hover .pp.has-h img.h, .pf-ph:hover .pp.has-h img.h { opacity: 1; }
  a:hover .pp.has-h img.m, .pf-ph:hover .pp.has-h img.m { opacity: 0; }
  a:hover .pp:not(.has-h):not(.none) img { transform: scale(1.03); }
}
.pcard { display: block; color: var(--ink); text-decoration: none; }
.pcard:active { opacity: 1; }
.pcard .pm { display: flex; flex-wrap: wrap; gap: 2px 10px; margin-top: 10px; font: 600 12px/1.4 var(--en); letter-spacing: .04em; color: var(--sub); }
.pcard .pm .pos { color: var(--blue); }
.pcard b { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin-top: 3px; font: 700 17px/1.4 var(--jph); }
.pcard b i { font: 700 12px var(--jp); font-style: normal; color: var(--blue); }
.pcard .en { display: block; margin-top: 2px; font: 500 11px/1.4 var(--en); letter-spacing: .08em; text-transform: uppercase; color: var(--sub); }

/* 1人のページ */
.ahead .ameta .sep { margin: 0 -10px; opacity: .6; }
.ahead .ameta .en { flex-basis: 100%; font: 500 13px var(--en); letter-spacing: .1em; text-transform: uppercase; color: var(--on2); }
.pf { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 56px; align-items: start; }
.pf-ph { position: sticky; top: 24px; }
.pdl, .qa { margin: 0; }
.pdl > div, .qa > div { display: grid; grid-template-columns: 9em minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.pdl > div:first-child { border-top: 1px solid var(--line); }
.pdl dt, .qa dt { font-size: 13px; font-weight: 700; color: var(--sub); }
.pdl dd, .qa dd { margin: 0; line-height: 1.75; overflow-wrap: anywhere; }
.pf-h { margin: 44px 0 6px; font-size: 20px; }
.qa > div:first-child { border-top: 2px solid var(--ink); }
.pf-msg { margin-top: 14px; padding: 4px 0 4px 20px; border-left: 3px solid var(--yellow); line-height: 1.9; }
.pf-foot { padding-top: 36px; padding-bottom: 36px; }
.pf-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; }
.pf-nav a { color: var(--ink); text-decoration: none; font-weight: 700; }
.pf-nav small { display: block; font: 600 11px var(--en); letter-spacing: .1em; color: var(--sub); }
.pf-nav .nx { text-align: right; }
.pf-nav .up { padding: 10px 20px; border: 1px solid var(--ink); border-radius: 2px; font-size: 14px; }
@media (max-width: 899px) {
  .pf { grid-template-columns: 1fr; gap: 28px; }
  .pf-ph { position: static; max-width: 520px; }
}


/* ===== ニュースの写真：枠は16:9にそろえる。正方形・縦長は切らずに全体、写真がない記事は部章 ===== */
.nimg { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--paper); }
a .nimg > img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
a .nimg.fit > img { object-fit: contain; }
a .nimg.none > img { inset: auto; left: 50%; top: 50%; width: auto; height: 38%; transform: translate(-50%, -50%); object-fit: contain; opacity: .45; }

/* ===== feelings の記事：白い頭（題名・日付・書いた人）と、部員ブログ（Blogger）と同じ文字 ===== */
.fhead { border-bottom: 1px solid var(--line); }
.fhead .narrow, .fsec .narrow { max-width: 808px; }
.fhead .crumb a { color: var(--sub); }
.fh { padding-top: 28px; padding-bottom: 36px; }
.fh-k { display: flex; align-items: baseline; gap: 14px; }
.fh-k time { font: 500 13px var(--en); letter-spacing: .06em; color: var(--sub); }
.fhead h1 { margin-top: 12px; font-family: Impact, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; font-weight: 700; font-size: 34px; line-height: 1.45; color: var(--blue); }
.fh-by { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.fh-face { flex: none; width: 52px; height: 52px; overflow: hidden; border-radius: 50%; background: #2d69b2; }
.fh-face img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform: scale(1.5); transform-origin: 50% 25%; }
.fh-by b { display: block; font-size: 17px; }
.fh-by b a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.fh-by span { display: block; margin-top: 2px; font-size: 13px; color: var(--sub); }
.fsec { padding-top: 44px; }
.feel-body, .feel-body p, .feel-body div, .feel-body li { font-family: "Courier New", Courier, FreeMono, monospace; font-size: 15px; line-height: 2; color: #212121; }
.feel-body b, .feel-body strong { font-weight: 700; }
.fh-links { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); }
.fsec .adj { margin-top: 28px; }
.more-wrap { margin-top: 32px; text-align: center; }
.js-more .more-wrap + .pager { display: none; }


/* ===== 試合の動画と投稿 ===== */
.md { display: grid; gap: 32px; margin-bottom: 44px; }
.md.two { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; }
.md .lab { display: block; margin-bottom: 10px; }
.yt { position: relative; aspect-ratio: 16 / 9; background: var(--deep); overflow: hidden; }
.yt button { position: absolute; inset: 0; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.yt img { width: 100%; height: 100%; object-fit: cover; }
.yt .play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px; background: rgba(15, 30, 48, .82); transition: background .15s; }
.yt .play::after { content: ""; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.yt button:hover .play { background: #e00; }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.md-sub { margin-top: 12px; }
.md-igs { display: grid; gap: 28px; }
.md-ig .instagram-media { min-width: 0 !important; max-width: 420px !important; width: 100% !important; margin: 0 !important; }
.md + .grid2 { margin-top: 8px; }
.mh-live { margin-top: 20px; justify-content: center; }
.btn.live::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #e00; vertical-align: 1px; }
.sched .hl { margin-left: 10px; font-style: normal; font-weight: 700; font-size: 11px; color: var(--blue); }
.sched .ml { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; font-size: 12px; }
.sched .ml a, .sched .ml a:last-child { display: inline; padding: 0; border: 0; color: var(--blue); font-weight: 700; text-decoration: none; }
@media (max-width: 900px) { .md.two { grid-template-columns: 1fr; } }
.md:not(.two) { max-width: 880px; }

/* ===== 記事の表（前のHPから移した試合レポートなど） ===== */
.tbl { overflow-x: auto; margin: 20px 0 28px; -webkit-overflow-scrolling: touch; }
.tbl table.tb { width: 100%; min-width: 340px; margin: 0; border-collapse: collapse; border: 0; font-size: 14px; line-height: 1.6; }
.tbl table.tb td, .tbl table.tb th { padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: none; text-align: left; vertical-align: middle; font-weight: 400; color: var(--ink); }
.tbl table.tb tr:first-child > * { border-top: 2px solid var(--ink); }
.tbl table.tb td.n, .tbl table.tb th.n { text-align: center; font-family: var(--en); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tbl table.tb.hrow tr:first-child > * { background: var(--paper); font-size: 12px; font-weight: 700; color: var(--sub); }
.tbl table.tb.vs td { text-align: center; }
.tbl table.tb.vs td:nth-child(2) { font-size: 13px; color: var(--sub); }
.tbl table.tb.vs tr:first-child td { font-weight: 700; color: var(--ink); }
.tbl table.tb.score th, .tbl table.tb.score td { text-align: center; }
.tbl table.tb.score th { background: var(--paper); font-family: var(--en); font-size: 20px; font-weight: 700; }
.tbl table.tb.score th:first-child, .tbl table.tb.score th:last-child { font-family: var(--jph); font-size: 16px; }

/* ===== 本文の箇条書き：段落と同じ幅・同じ間隔に ===== */
.ashiki-content .wrap > .wp-block-list { max-width: 820px; }
.ashiki-content .wrap > .wp-block-list + p, .ashiki-content .wrap > p + .wp-block-list { margin-top: 1em; }
.article ul + p, .article ol + p, .article p + ul, .article p + ol { margin-top: 1em; }
.md-ig .twitter-tweet { margin: 0 !important; max-width: 420px; }

/* ===== 1人のページ（作り直し）：撮影の背景と同じ色の帯に写真をなじませる ===== */
.pfh { position: relative; overflow: hidden; background: #2d69b2; color: #fff; }
.pfh.st { background: #003567; }
.pfh-crumb, .pfh-crumb a { position: relative; z-index: 1; color: rgba(255, 255, 255, .85); }
.pfh-big { position: absolute; right: -1%; bottom: -8%; font: 400 min(40vw, 500px) / .8 var(--heavy); color: rgba(255, 255, 255, .07); pointer-events: none; user-select: none; }
.pfh-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 620px); gap: 32px; align-items: end; min-height: 460px; }
.pfh-tx { padding: 24px 0 64px; }
.pfh-pos { font: 600 15px var(--en); letter-spacing: .22em; color: var(--yellow); }
.pfh h1 { margin-top: 10px; font-size: 56px; line-height: 1.2; color: #fff; }
.pfh-en { margin-top: 10px; font: 500 20px var(--en); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.pfh-meta { display: flex; flex-wrap: wrap; margin-top: 28px; }
.pfh-meta span { padding: 0 16px; border-left: 1px solid rgba(255, 255, 255, .35); font-size: 15px; font-weight: 700; }
.pfh-meta span:first-child { padding-left: 0; border-left: 0; }
.pfh-meta .rl { color: var(--yellow); }
.pfh-ph { position: relative; align-self: end; }
.pfh-ph .pp { aspect-ratio: 7 / 6; background: transparent; }
.pfh-ph .pp.none svg { width: 60%; }
.pfh-ph[data-swap] { cursor: pointer; }
.pfh-ph.alt .pp.has-h img.h { opacity: 1; }
.pfh-ph.alt .pp.has-h img.m { opacity: 0; }
@media (hover: hover) {
  .pfh-ph:hover .pp.has-h img.h { opacity: 1; }
  .pfh-ph:hover .pp.has-h img.m { opacity: 0; }
}
.pfh-dots { position: absolute; right: 16px; bottom: 16px; display: flex; gap: 6px; }
.pfh-dots i { width: 18px; height: 3px; background: rgba(255, 255, 255, .45); }
.pfh-dots i:first-child, .pfh-ph.alt .pfh-dots i:last-child { background: #fff; }
.pfh-ph.alt .pfh-dots i:first-child { background: rgba(255, 255, 255, .45); }

.pff { background: #fff; border-bottom: 1px solid var(--line); }
.pff dl { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0; }
.pff dl > div { padding: 24px 24px 26px; border-left: 1px solid var(--line); }
.pff dl > div:first-child { padding-left: 0; border-left: 0; }
.pff dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--sub); }
.pff dd { display: flex; align-items: baseline; gap: 4px; margin: 8px 0 0; }
.pff dd b { font: 700 42px/1 var(--en); color: var(--ink); }
.pff dd b.tx { font: 700 22px/1.35 var(--jph); }
.pff dd small { font: 600 14px var(--en); color: var(--sub); }

.pfb-in { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 64px; align-items: start; }
.pfs { position: sticky; top: 24px; }
.pfs-b + .pfs-b { margin-top: 40px; }
.pfs h2 { margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--ink); font-size: 16px; }
.pf-career { margin: 0; padding: 0; list-style: none; }
.pf-career li { position: relative; padding: 0 0 18px 24px; line-height: 1.6; }
.pf-career li::before { content: ""; position: absolute; left: 3px; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); }
.pf-career li::after { content: ""; position: absolute; left: 7px; top: 21px; bottom: 2px; width: 1px; background: var(--line); }
.pf-career li:last-child { padding-bottom: 0; font-weight: 700; }
.pf-career li:last-child::after { display: none; }
.pf-dl { margin: 0; }
.pf-dl div { padding: 10px 0; border-bottom: 1px solid var(--line); }
.pf-dl dt { font-size: 12px; font-weight: 700; color: var(--sub); }
.pf-dl dd { margin: 2px 0 0; line-height: 1.6; }
.pf-theme { padding: 28px 32px; border-left: 4px solid var(--yellow); background: var(--paper); }
.pf-theme .q { margin-top: 8px; font: 700 30px/1.45 var(--jph); color: var(--ink); }
.pfq { margin-top: 52px; }
.pfq:first-child { margin-top: 0; }
.pfq h2 { margin: 4px 0 18px; font-size: 22px; }
.qcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.qc { padding: 18px 20px 20px; border: 1px solid var(--line); background: #fff; }
.qc.wide { grid-column: 1 / -1; }
.qc dt { font-size: 12px; font-weight: 700; color: var(--blue); }
.qc dd { margin: 6px 0 0; font-size: 16px; font-weight: 700; line-height: 1.65; overflow-wrap: anywhere; }
.pf-msg2 { margin-top: 56px; padding: 40px 44px; background: var(--deep); color: #fff; }
.pf-msg2 .lab { color: var(--yellow); }
.pf-msg2 h2 { margin-top: 4px; font-size: 22px; color: #fff; }
.pf-msg2 .q { margin-top: 18px; font-size: 17px; line-height: 2; }
.pf-msg2 .by { margin-top: 18px; text-align: right; font-weight: 700; color: var(--on2); }
.pf-msg2 .by::before { content: "— "; }

.pmini-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pmini { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
.pmini:hover { border-color: var(--blue); }
.pmini .pp { aspect-ratio: 1 / 1; }
.pmini .pp img { object-position: 50% 30%; transform: scale(1.7); transform-origin: 50% 28%; }
.pmini .pp svg { width: 80%; }
.pmini small { display: block; font: 600 11px var(--en); letter-spacing: .12em; color: var(--sub); }
.pmini b { display: block; font-size: 15px; }
.pmini em { display: block; font-size: 12px; font-style: normal; color: var(--sub); }
.pf-nav2 { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; align-items: center; }
.pmini-row + .pf-nav2 { margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--line); }
.pf-nav2 .pmini:last-child { grid-template-columns: minmax(0, 1fr) 64px; text-align: right; }
.pf-nav2 .pmini:last-child .pp { order: 2; }
@media (max-width: 899px) {
  .pfh-in { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .pfh-tx { padding: 8px 0 24px; }
  .pfh h1 { font-size: 42px; }
  .pfh-ph { max-width: 560px; margin: 0 auto; width: 100%; }
  .pfb-in { grid-template-columns: 1fr; gap: 44px; }
  .pfs { position: static; }
  .pmini-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* カードの見出しは、長い語（会社名など）でも枠の中で折り返す。列の幅が中身で広がらないように */
.ncard b, .fcard b, .nrow b, .ccards h3, .roles h3 { overflow-wrap: anywhere; }
a .nimg.fit > img.bg { object-fit: cover; filter: blur(18px) saturate(1.1); transform: scale(1.3); }
a .nimg.fit > img:not(.bg) { object-fit: contain; }

/* ===== 飾りを減らす：英語の小ラベル・色つきの箱・太い色線・枠のカードをやめ、罫線と余白と文字の大きさで見せる ===== */
/* 1人のページの本文 */
.pfx-wrap { max-width: 880px; }
.pfx + .pfx { margin-top: 56px; }
.pfx h2 { padding-bottom: 12px; border-bottom: 2px solid var(--ink); font-size: 22px; }
.pfx dl { margin: 0; }
.pfx dl > div { display: grid; grid-template-columns: 12em minmax(0, 1fr); gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.pfx dt { font-size: 14px; color: var(--sub); }
.pfx dd { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.7; overflow-wrap: anywhere; }
.pfx .ar { margin: 0 .6em; font-weight: 400; color: var(--sub); }
.pfx-msg { margin-top: 20px; font-size: 18px; line-height: 2; }
.pfx-adj { margin-top: 48px; }

/* カード：白い箱と上の太い青線をやめ、細い罫線の上に見出しと文。英語の小ラベルは出さない */
.ccards > div, .roles > div, .menu4 > div { background: none; border-top: 1px solid var(--ink); padding: 18px 0 0; }
.ccards h3, .roles h3 { color: var(--ink); }
.ccards .k, .roles .k, .quote2 .k, .reasons .k { display: none; }
/* 黄色い縦線つきの引用をやめる */
.quote2, .rline { border-left: 0; padding-left: 0; }
/* 試合の動画・投稿の見出し */
.md-h { margin-bottom: 12px; font-size: 18px; }

/* ===== feelings の一覧：1行ずつのリストと、左の年別・期別 ===== */
.fwrap { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.fside { position: sticky; top: 112px; }
.fside h2, .fschool label { display: block; margin: 36px 0 6px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); font-size: 15px; font-weight: 700; font-family: var(--jph); }
.fschool label { margin-top: 0; }
.fside ul { margin: 0; padding: 0; list-style: none; }
.fside li a { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 2px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--ink); text-decoration: none; }
.fside li a small { font: 500 12px var(--en); color: var(--sub); }
.fside li a:hover, .fside li a[aria-current] { color: var(--blue); }
.fside li a[aria-current] { font-weight: 700; }
.fgens { max-height: 330px; overflow-y: auto; }
.fschool div { display: flex; gap: 8px; margin-top: 12px; }
.fschool input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 2px; font: 14px var(--jp); color: var(--ink); background: #fff; }
.fschool input:focus { border-color: var(--blue); outline: none; }
.fschool .btn { padding: 10px 14px; font-size: 13px; }
.fcount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); font-size: 14px; color: var(--sub); }
.fcount b { font-size: 20px; color: var(--ink); font-family: var(--jph); }
.fcount a { margin-left: auto; font-size: 13px; }
.frow { display: grid; grid-template-columns: 76px 64px minmax(0, 1fr); gap: 20px; align-items: center; padding: 18px 8px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.frow:hover { background: var(--paper); }
.frow .d small { display: block; font: 500 11px var(--en); color: var(--sub); }
.frow .d b { display: block; font: 600 30px/1.1 var(--en); }
.frow .g { font-size: 13px; color: var(--sub); }
.frow .t b { display: block; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.frow .t span { display: block; margin-top: 2px; font-size: 13px; color: var(--sub); }
@media (max-width: 900px) {
  .fwrap { grid-template-columns: 1fr; gap: 28px; }
  .fside { position: static; }
  .fside h2 { margin-top: 20px; }
  .fyears, .fgens { display: flex; max-height: none; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); }
  .fside li a { gap: 6px; padding: 10px 12px; border-bottom: 0; white-space: nowrap; }
  .fside li a[aria-current] { box-shadow: inset 0 -2px 0 var(--blue); }
}


/* ===== パートナーシップ：罫線と余白で見せる ===== */
.ps-two, .ps-tiers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.ps-menu { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.ps-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.ps-assets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.ps-two > div, .ps-tiers > div, .ps-menu > div, .ps-flow > div, .ps-assets > div { padding-top: 20px; border-top: 1px solid var(--ink); }
.ps-two h3, .ps-tiers h3, .ps-menu h3, .ps-flow h3, .ps-assets h3 { margin-bottom: 10px; font-size: 19px; line-height: 1.5; }
.ps-two p { font-size: 16px; line-height: 2; }
.ps-tiers p, .ps-assets p:not(.v) { font-size: 15px; line-height: 1.9; color: #2f3b47; }
.ps-lead { max-width: 820px; margin-bottom: 32px; }
.ps-menu ul { margin: 0; padding-left: 1.1em; font-size: 15px; line-height: 1.9; }
.ps-flow .n { font: 600 28px var(--en); color: var(--blue); }
.ps-flow p:not(.n) { font-size: 14px; line-height: 1.8; color: var(--sub); }
.ps-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 56px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.ps-figs > div { padding: 26px 24px; border-left: 1px solid var(--line); }
.ps-figs > div:first-child { padding-left: 0; border-left: 0; }
.ps-figs .v { font: 700 44px/1 var(--en); color: var(--ink); }
.ps-figs p:not(.v) { margin-top: 10px; font-size: 13px; line-height: 1.7; color: var(--sub); }
.ps-assets h3 a { color: var(--ink); text-decoration: none; }
.ps-assets h3 a::after { content: " →"; color: var(--blue); }
.ps-movie .yt-wrap { max-width: 880px; }
.ncards.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) {
  .ps-menu, .ps-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-flow { grid-template-columns: 1fr; gap: 0; }
  .ps-flow > div { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 8px; padding: 16px 0; }
  .ps-flow .n { grid-row: span 2; }
  .ps-flow h3 { margin-bottom: 2px; }
  .ps-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-figs > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .ps-figs > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}


/* ===== テクニカル：濃紺の地にピッチの線を薄く。番号と見出しは左、中身は右。罫線と余白で見せる ===== */
.tx { background: var(--deep); color: #fff; }
.tx a { color: inherit; }
.tx-nav { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.tx-nav p { display: flex; gap: 28px; padding: 14px 0; overflow-x: auto; scrollbar-width: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.tx-nav a { color: rgba(255, 255, 255, .72); text-decoration: none; }
.tx-nav a:hover { color: #fff; }
.tx-hero { padding: 104px 0 80px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1050 680' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='2'%3E%3Crect x='1' y='1' width='1048' height='678'/%3E%3Cline x1='525' y1='1' x2='525' y2='679'/%3E%3Ccircle cx='525' cy='340' r='91'/%3E%3Crect x='1' y='138' width='165' height='404'/%3E%3Crect x='1' y='248' width='55' height='184'/%3E%3Crect x='884' y='138' width='165' height='404'/%3E%3Crect x='994' y='248' width='55' height='184'/%3E%3C/svg%3E") no-repeat right -160px center / auto 115%; }
.tx-hero h1 { font-size: 56px; line-height: 1.3; color: #fff; }
.tx-lead { max-width: 640px; margin-top: 24px; font-size: 17px; line-height: 2; color: rgba(255, 255, 255, .85); }
.tx-kpi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid rgba(255, 255, 255, .3); }
.tx-kpi > div { padding: 26px 24px 0; border-left: 1px solid rgba(255, 255, 255, .14); }
.tx-kpi > div:first-child { padding-left: 0; border-left: 0; }
.tx-kpi .v { font: 700 40px/1 var(--en); color: #fff; }
.tx-kpi p:not(.v) { margin-top: 12px; font-size: 13px; line-height: 1.7; color: rgba(255, 255, 255, .7); }
.tx-sec { padding: 96px 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.tx-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; align-items: start; }
.tx-h { position: sticky; top: 112px; }
.tx-h .n { font: 600 14px var(--en); letter-spacing: .12em; color: rgba(255, 255, 255, .55); }
.tx-h h2 { margin-top: 6px; font: 400 46px/1 var(--heavy); letter-spacing: .01em; color: #fff; }
.tx-b > * + * { margin-top: 36px; }
.tx-b h3 { font-size: 18px; color: #fff; }
.tx-p { max-width: 760px; font-size: 16px; line-height: 2; color: rgba(255, 255, 255, .88); }
.tx-io { border-top: 1px solid rgba(255, 255, 255, .3); }
.tx-io > div { display: grid; grid-template-columns: 9em minmax(0, 1fr); gap: 24px; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.tx-io .k { font-size: 13px; color: rgba(255, 255, 255, .6); }
.tx-io p:not(.k) { font-weight: 700; }
.tx-cards { display: grid; gap: 36px 40px; }
.tx-cards.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tx-cards.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tx-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.tx-card { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .3); }
.tx-card h3 { font-size: 18px; line-height: 1.5; color: #fff; }
.tx-card h3 a { text-decoration: none; }
.tx-card h3 a::after { content: " →"; }
.tx-card .m { margin-top: 4px; font-size: 12px; color: rgba(255, 255, 255, .55); }
.tx-card .n { margin-bottom: 6px; font: 600 26px var(--en); color: var(--yellow); }
.tx-card p:not(.m):not(.n) { margin-top: 8px; font-size: 14px; line-height: 1.85; color: rgba(255, 255, 255, .8); }
.tx-org { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.tx-org > div { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .3); }
.tx-org > .head { grid-column: 1 / -1; border-top-color: #fff; }
.tx-org h3 { font-size: 16px; color: #fff; }
.tx-org p { margin-top: 4px; font-size: 13px; color: rgba(255, 255, 255, .7); }
.tx-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.tx .record { margin-bottom: 0; }
.tx .record small { color: rgba(255, 255, 255, .6); }
.tx .record b { color: #fff; }
.tx .arch a { color: #fff; border-color: rgba(255, 255, 255, .14); }
.tx .arch .meta { color: rgba(255, 255, 255, .6); }
.tx .all { color: #fff; }
.sb-t { margin-bottom: 12px; font-size: 16px; }
.lstrip { display: grid; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 4px; }
.lstrip .ls { padding: 8px 0 10px; border: 1px solid rgba(255, 255, 255, .18); text-align: center; text-decoration: none; color: #fff; }
.lstrip .ls .n { display: block; font: 500 11px var(--en); color: rgba(255, 255, 255, .6); }
.lstrip .ls b { display: block; font: 700 18px/1.3 var(--en); }
.lstrip .ls .s { display: block; font: 500 11px var(--en); color: rgba(255, 255, 255, .75); }
.lstrip .ls.w { background: var(--sky); border-color: var(--sky); color: var(--deep); }
.lstrip .ls.w .n, .lstrip .ls.w .s { color: var(--deep); }
.lstrip .ls.d { background: rgba(255, 255, 255, .16); }
.sb-hd { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, .3); font-size: 13px; }
.sb { padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.sb-v { display: flex; justify-content: space-between; align-items: baseline; }
.sb-v b { font: 700 18px var(--en); color: rgba(255, 255, 255, .65); }
.sb-v b.hi { color: #fff; }
.sb-v span { font-size: 13px; color: rgba(255, 255, 255, .7); }
.sb-bar { display: flex; gap: 2px; height: 6px; margin-top: 8px; }
.sb-bar i:first-child { background: var(--sky); }
.sb-bar i:last-child { background: rgba(255, 255, 255, .25); }
.tx .wp-block-button__link { background: #fff; color: var(--deep); }
.tx .is-style-outline .wp-block-button__link { background: none; border: 1px solid rgba(255, 255, 255, .6); color: #fff; }
@media (max-width: 1000px) {
  .tx-grid { grid-template-columns: 1fr; gap: 28px; }
  .tx-h { position: static; }
  .tx-steps, .tx-org, .tx-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tx-kpi > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .tx-kpi > div:nth-child(n+3) { margin-top: 24px; }
  .tx-cards.c3, .tx-two { grid-template-columns: 1fr; }
}


/* ===== ヘッダー・フッター：余白を広く ===== */
.utilbar { background: #fff; border-bottom: 1px solid var(--line); }
.utilbar .wrap { gap: 28px; padding-top: 9px; padding-bottom: 9px; }
.utilbar a { font-size: 12px; color: var(--sub); }
.utilbar a:hover { color: var(--blue); }
.site-h .bar { height: 88px; gap: 40px; }
.brand { gap: 14px; }
.brand img { width: 52px; height: 52px; }
.brand b { font-size: 17px; }
.brand small { margin-top: 2px; font-size: 11px; }
.gnav { gap: clamp(18px, 2.3vw, 36px); }
.gnav a { padding: 32px 0 29px; font-size: 15px; }
.site-f .cols { grid-template-columns: 1.6fr 1fr 1.4fr 1fr; gap: 56px; padding-top: 88px; padding-bottom: 64px; }
.site-f h4 { margin-bottom: 18px; }
.site-f ul { line-height: 2.4; }
.site-f .brand img { width: 56px; height: 56px; }
.site-f .copy { padding-top: 24px; padding-bottom: 36px; }
@media (max-width: 1000px) {
  .site-h .bar { height: 68px; gap: 16px; }
  .brand img { width: 42px; height: 42px; }
  .site-f .cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; padding-top: 64px; padding-bottom: 48px; }
  .site-f .cols > div:first-child { grid-column: 1 / -1; }
}


/* ===== ページの頭の帯：どのページも同じ大きさ（パンくずと英語の大見出し）。白地、テクニカルだけ濃紺 ===== */
.pband { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); }
.pband .crumb { padding-top: 22px; padding-bottom: 0; }
.pband .crumb, .pband .crumb a { color: var(--sub); }
.pband .phead { padding-top: 22px; padding-bottom: 48px; }
.pband-h { margin: 0; font: 400 60px/1 var(--heavy); letter-spacing: .01em; color: var(--blue); }
.pband .ahead { padding-top: 22px; padding-bottom: 48px; }
.pband .ahead h1 { margin-top: 8px; font-size: 34px; color: var(--ink); }
.pband .ahead .ameta { color: var(--sub); }
.pband .ahead .ameta b { color: var(--ink); }
.pband .akick { font-size: 13px; font-weight: 700; color: var(--blue); }
.pband.dark { background: var(--deep); border-bottom-color: rgba(255, 255, 255, .12); }
.pband.dark .crumb, .pband.dark .crumb a { color: rgba(255, 255, 255, .7); }
.pband.dark .pband-h { color: #fff; }
.pintro { padding-top: 44px; }
.pintro .lead { max-width: 820px; font-size: 17px; line-height: 2; color: var(--ink); }
.pintro .btns { margin-top: 24px; }
.pintro .btn { background: var(--blue); color: #fff; border-color: var(--blue); }
.pintro .btn.line { background: none; color: var(--blue); }
.pintro.dark { background: var(--deep); color: #fff; }
.pintro + .ashiki-content > .sec:first-child, .pintro + .sec { padding-top: 48px; }
.tx-hero { padding-top: 72px; }


/* ===== 見直し（2回目）：黄色・斜めの破片・ずらした影・角丸・色の札をやめる ===== */
.gnav a[aria-current], .mtabs button[aria-selected="true"], .filters a[aria-current], .ptabs a[aria-selected="true"], .tm-squad a[aria-current] { border-bottom-color: var(--blue); }
.shard, .kv, .on.shard { background-image: none !important; }
.kv-ph { border: 0 !important; box-shadow: none !important; margin-right: 0 !important; }
.tag, .kvbar .tag, .sched .r.next { padding: 0 !important; background: none !important; color: var(--blue) !important; font-weight: 700; }
.on .tag, .kv .tag { color: #fff !important; }
.on .btn, .ashiki-content .on .wp-block-button__link { background: #fff; border-color: #fff; color: var(--blue); }
.on .lab, .hero .lab, .kv-lab { color: rgba(255, 255, 255, .75); }
.hl { color: inherit; }
.site-f h4 { color: rgba(255, 255, 255, .6); }
.arch .r.w, .on .xi .no { color: inherit; }
.org .head { border-color: currentColor; }
.pfh-pos, .pfh-meta .rl { color: #fff; }
.yt .play, .ftabs button, .fschool input { border-radius: 0; }
.btn.live::before { display: none; }
/* 日本語のラベル（存在目的・2026年度 主将 など）は見出しとして出す。英語だけのラベルは中身から外した */
.reasons .k, .quote2 .k, .roles .k, .ccards .k { display: block; margin-bottom: 6px; font: 700 14px var(--jp); letter-spacing: 0; color: var(--ink); }
.week .k { font: 700 14px var(--jp); letter-spacing: 0; color: var(--ink); }

/* ===== 文字の使い分け：大見出しだけ Zen Kaku、小見出し・名前・本文は端末の読みやすい書体、数字は Oswald ===== */
body { font-family: var(--jp); font-size: 16px; line-height: 1.9; color: var(--ink); }
h3, h4, .ccards h3, .roles h3, .reasons h3, .menu4 h3, .ps-two h3, .ps-tiers h3, .ps-menu h3, .ps-flow h3, .ps-assets h3, .tx-card h3, .md-h, .sb-t, .nm-h, .tm-h { font-family: var(--jp); font-weight: 700; letter-spacing: .02em; }
.pcard b, .pmini b, .fh-by b, .ncard b, .nrow b, .frow .t b, .fcard b, .nfeat .main b, .nside b, .sched .o, .arch a span, .pfx dd { font-family: var(--jp); font-weight: 700; }
.nm-h { font-size: 22px; }
p, li, dd { font-weight: 400; }

/* ===== テクニカル・パートナーシップ：白地、日本語の見出し、「項目｜説明」の表 ===== */
.tz-sec { padding: 64px 0; }
.tz-sec + .tz-sec { border-top: 1px solid var(--line); }
.tz-sec > .wrap { max-width: 1008px; }
.tz-sec h2 { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); font-size: 26px; line-height: 1.45; }
.tz-sec h2.tz-title { padding-bottom: 0; border-bottom: 0; font-size: 36px; }
.tz-sec h3 { margin: 40px 0 14px; font-size: 18px; }
.tz-sec p { max-width: 820px; font-size: 16px; line-height: 2; }
.tz-sec p + p { margin-top: 1em; }
.tz-sec .tz-note { margin-top: 20px; color: var(--sub); font-size: 15px; }
.tz-sec .tz-link { margin-top: 24px; }
.tz-sec .tz-link a { font-weight: 700; }
.trows { margin-top: 8px; border-top: 1px solid var(--line); }
.trow { display: grid; grid-template-columns: 13em minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.tz-sec .trow p { max-width: none; margin: 0; }
.trow .dt { font-size: 15px; font-weight: 700; line-height: 1.8; }
.trow .dd { font-size: 15px; line-height: 1.9; color: #2f3b47; }
.trow .dd a { display: inline-block; margin-left: .6em; font-weight: 700; white-space: nowrap; }
.trow .dd a::after { content: " →"; }
.tz .wp-block-buttons { margin-top: 28px; }
.tz .yt-wrap { max-width: 820px; }
/* 試合のデータ（白地） */
.tz .record { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 24px 0 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.tz .record > div { padding: 18px 20px 20px; border-left: 1px solid var(--line); }
.tz .record > div:first-child { padding-left: 0; border-left: 0; }
.tz .record small { display: block; font: 700 12px var(--jp); color: var(--sub); }
.tz .record b { display: block; margin-top: 6px; font: 700 32px/1 var(--en); color: var(--ink); }
.tz .lstrip .ls { border-color: var(--line); color: var(--ink); }
.tz .lstrip .ls .n, .tz .lstrip .ls .s { color: var(--sub); }
.tz .lstrip .ls.w { background: var(--blue); border-color: var(--blue); color: #fff; }
.tz .lstrip .ls.w .n, .tz .lstrip .ls.w .s { color: rgba(255, 255, 255, .85); }
.tz .lstrip .ls.d { background: var(--paper); }
.lstrip { grid-template-columns: repeat(18, minmax(0, 1fr)); }
.tz .sb-hd { border-bottom-color: var(--ink); }
.tz .sb { border-bottom-color: var(--line); }
.tz .sb-v b { color: var(--sub); }
.tz .sb-v b.hi { color: var(--ink); }
.tz .sb-v span { color: var(--sub); }
.tz .sb-bar i:first-child { background: var(--blue); }
.tz .sb-bar i:last-child { background: var(--line); }
.tz .sbars { max-width: 820px; }
.tz .sbars + p a, .tz .sbars ~ p a { font-weight: 700; }
@media (max-width: 1000px) {
  .lstrip { grid-template-columns: repeat(9, minmax(0, 1fr)); }
}


/* =====================================================================
   v3（2026-11-09）全体の見直し
   ・地の色は白だけ。色の面は「写真を暗く敷いた帯」と「フッター・映像の濃紺」だけ
   ・飾りの細い横線はやめ、余白で区切る（データの表だけ薄い線を残す）
   ・全体の余白を広く
   ・英字と数字は Inter Tight、日本語の見出しは Zen Kaku Gothic New、本文は Noto Sans JP
   ===================================================================== */
:root {
  --ink: #111a24;
  --sub: #5d6875;
  --blue: #2c68b1;
  --navy: #0b2240;
  --night: #0a1724;
  --line: transparent;
  --rule: #e3e7ec;
  --paper: #ffffff;
  --mute: #eef1f4;
  --en: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --heavy: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --jp: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --jph: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --max: 1240px;
  --gut: clamp(20px, 4vw, 56px);
  --sec: clamp(64px, 7.5vw, 120px);
  --hh: 96px;
}
body { font-family: var(--jp); font-size: 16px; line-height: 2; letter-spacing: .02em; color: var(--ink); background: #fff; }
.wrap { max-width: var(--max); padding-left: var(--gut); padding-right: var(--gut); }
.wrap.narrow, .narrow { max-width: calc(820px + var(--gut) * 2); }
h1, h2 { font-family: var(--jph); font-weight: 700; letter-spacing: .04em; }
h3, h4 { font-family: var(--jph); font-weight: 700; }
a { text-underline-offset: 4px; }
.num { font-family: var(--en); font-variant-numeric: tabular-nums; }

/* 地の色・区画 */
body:not(.lp) .on:not(.mhero):not(.hphoto) { background: #fff !important; color: var(--ink); }
.sec { padding-top: var(--sec); padding-bottom: var(--sec); }
.sec + .sec { padding-top: 0; }
.ashiki-content > .sec:first-child, .pband + .sec, .pintro + .sec { padding-top: var(--sec); }
.meta { color: var(--sub); }

/* 見出し（日本語）。英字の見出しは class="en" */
.sh { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 3vw, 44px); padding: 0; border: 0; }
.sh h2, .sh h1, .ashiki-content h2.wp-block-heading, .tz-sec h2, .m-h, .tm-k {
  margin: 0; padding: 0; border: 0; text-transform: none;
  font: 700 clamp(24px, 2.4vw, 32px)/1.5 var(--jph); letter-spacing: .05em; color: var(--ink);
}
.ashiki-content h2.wp-block-heading, .tz-sec h2 { margin-bottom: clamp(24px, 2.6vw, 36px); }
.sh h2.en, .sh h2:lang(en) { font: 800 clamp(36px, 4.4vw, 60px)/1 var(--en); letter-spacing: -.03em; color: var(--ink); }
.sh h2 small { display: none; }
.ashiki-content h3, .tz-sec h3 { font: 700 19px/1.6 var(--jph); letter-spacing: .04em; }
.all { font: 700 14px var(--jp); letter-spacing: .04em; color: var(--blue); text-decoration: none; white-space: nowrap; }
.all::after { content: "  →"; }
.all:hover { text-decoration: underline; }

/* ボタン（角なし。主は青、従は線） */
.btn, .ashiki-content .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 14px; padding: 17px 30px; border: 1px solid var(--blue); border-radius: 0;
  background: var(--blue); color: #fff; font: 700 15px/1.4 var(--jp); letter-spacing: .06em; text-decoration: none; transition: background .2s, color .2s;
}
.btn::after, .ashiki-content .wp-block-button__link::after { content: "→"; font-family: var(--en); }
.btn:hover, .ashiki-content .wp-block-button__link:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.btn.line, .ashiki-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--blue); }
.btn.line:hover, .ashiki-content .is-style-outline .wp-block-button__link:hover { background: var(--blue); color: #fff; }
.btns, .ashiki-content .wp-block-buttons { gap: 16px; }

/* パンくず */
.crumb { padding-top: 24px; padding-bottom: 0; font-size: 12px; letter-spacing: .04em; color: var(--sub); }
.crumb a { color: var(--sub); }
.crumb span { margin: 0 10px; }

/* ===== ヘッダー ===== */
.utilbar { display: none !important; }
.site-h { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .97); color: var(--ink); border: 0; }
.site-h .bar { display: flex; align-items: center; gap: clamp(20px, 2.6vw, 44px); height: var(--hh); max-width: 1440px; margin: 0 auto; padding: 0 var(--gut); transition: height .2s ease; }
.site-h.scrolled .bar { height: 72px; }
.site-h .brand { display: flex; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; }
.site-h .brand img { width: 52px; height: 52px; transition: width .2s, height .2s; }
.site-h.scrolled .brand img { width: 42px; height: 42px; }
.brand span { font: 700 15px/1.4 var(--jph); letter-spacing: .08em; }
.brand b, .brand small { display: none; }
.gnav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); margin-left: auto; }
.gnav a { padding: 0; border: 0 !important; font: 700 15px/1 var(--jp); letter-spacing: .06em; color: var(--ink); text-decoration: none; white-space: nowrap; transition: color .2s; }
.gnav a:hover, .gnav a[aria-current] { color: var(--blue); }
.gnav .sp-only { display: none; }
.h-util { display: flex; align-items: center; gap: 22px; padding-left: clamp(8px, 1.4vw, 20px); }
.h-search { display: flex; color: var(--ink); }
.h-search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.h-en { font: 700 13px var(--en); letter-spacing: .1em; color: var(--ink); text-decoration: none; }
.h-search:hover, .h-en:hover { color: var(--blue); }
.menu-btn, .spmenu { display: none; }
@media (max-width: 1120px) {
  :root { --hh: 72px; }
  .gnav, .h-util { display: none; }
  .site-h .brand img { width: 42px; height: 42px; }
  .menu-btn { display: flex; flex-direction: column; justify-content: center; gap: 8px; width: 44px; height: 44px; margin-left: auto; padding: 10px 8px; border: 0; background: none; cursor: pointer; }
  .menu-btn i { display: block; height: 2px; background: var(--ink); transition: transform .25s ease; }
  .site-h.open .menu-btn i:first-child { transform: translateY(5px) rotate(45deg); }
  .site-h.open .menu-btn i:last-child { transform: translateY(-5px) rotate(-45deg); }
  .spmenu { display: block; position: fixed; left: 0; right: 0; top: 72px; bottom: 0; padding: 32px var(--gut) 56px; overflow-y: auto; background: var(--navy); color: #fff; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
  .site-h.open .spmenu { opacity: 1; visibility: visible; }
  .sp-main a { display: block; padding: 12px 0; font: 700 24px/1.4 var(--jph); letter-spacing: .06em; color: #fff; text-decoration: none; }
  .sp-sub { display: grid; gap: 2px; margin-top: 32px; }
  .sp-sub a { padding: 6px 0; font-size: 14px; color: rgba(255, 255, 255, .78); text-decoration: none; }
  .spmenu .sns { margin-top: 36px; }
  html.menu-open { overflow: hidden; }
}

/* ===== フッター ===== */
.f-partners { padding: clamp(64px, 7vw, 104px) 0; background: #fff; }
.f-ph { margin: 0 0 36px; font: 700 14px var(--jph); letter-spacing: .12em; text-align: center; color: var(--sub); }
.f-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 56px; }
.f-logos a { display: flex; align-items: center; }
.f-logos img { width: auto; height: 46px; max-width: 160px; object-fit: contain; transition: opacity .2s; }
.f-logos a:hover img { opacity: .7; }
.site-f { background: var(--navy); color: #fff; }
.site-f .f-top { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); padding-top: clamp(72px, 8vw, 120px); padding-bottom: clamp(56px, 6vw, 88px); }
.site-f .brand { display: flex; align-items: center; gap: 18px; color: #fff; text-decoration: none; }
.site-f .brand img { width: 72px; height: 72px; }
.site-f .brand span { font-size: 18px; }
.f-addr { margin-top: 28px; font-size: 14px; line-height: 2; color: rgba(255, 255, 255, .7); }
.sns { display: flex; align-items: center; gap: 22px; }
.sns a { display: flex; color: inherit; }
.sns svg { width: 22px; height: 22px; fill: currentColor; }
.site-f .sns { margin-top: 32px; }
.sns a:hover { opacity: .7; }
.f-nav, .f-more { display: grid; gap: 16px 32px; margin: 0; padding: 0; list-style: none; align-content: start; }
.f-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.f-nav a { font: 700 15px var(--jp); letter-spacing: .06em; color: #fff; text-decoration: none; }
.f-more a { font-size: 14px; color: rgba(255, 255, 255, .75); text-decoration: none; }
.f-nav a:hover, .f-more a:hover { text-decoration: underline; color: #fff; }
.site-f .f-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px 32px; flex-wrap: wrap; padding-top: 0; padding-bottom: 48px; font-size: 12px; letter-spacing: .04em; color: rgba(255, 255, 255, .55); }
.f-bottom p { margin: 0; }
.f-bottom a { margin-left: 28px; color: rgba(255, 255, 255, .72); text-decoration: none; }
.f-bottom a:first-child { margin-left: 0; }
.site-f .cols, .site-f .copy, .site-f h4 { display: none; }
@media (max-width: 900px) {
  .site-f .f-top { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .f-logos { gap: 24px 36px; }
  .f-logos img { height: 38px; max-width: 128px; }
}

/* ===== ページの頭：左に英語の題、右に写真（どのページも同じ高さ） ===== */
.pband { position: relative; background: #fff; color: var(--ink); border: 0 !important; overflow: hidden; }
.pband .crumb { position: relative; z-index: 1; padding-top: 28px; }
.pband .phead { position: relative; z-index: 1; padding-top: clamp(48px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 96px); }
.pband-h { margin: 0; font: 800 clamp(44px, 4.8vw, 76px)/1.02 var(--en); letter-spacing: -.035em; color: var(--ink); overflow-wrap: anywhere; }
/* 写真あり：左の余白（ほかの中身の左端と同じ）｜題｜写真 の3列 */
.pband.has-ph { display: grid; grid-template-columns: max(var(--gut), calc((100% - var(--max)) / 2 + var(--gut))) minmax(0, 1fr) 54%; min-height: clamp(320px, 28vw, 420px); }
.pband.has-ph .pband-tx { grid-column: 2; padding-right: 32px; }
.pband.has-ph .pband-tx .wrap { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
.pband-im { position: relative; grid-column: 3; overflow: hidden; background: var(--mute); }
.pband-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pband .ahead { padding-top: clamp(36px, 4vw, 64px); padding-bottom: clamp(40px, 4vw, 64px); }
.pband .ahead h1 { margin-top: 10px; font: 700 clamp(26px, 3vw, 38px)/1.5 var(--jph); letter-spacing: .04em; color: var(--ink); }
.pband .akick { font: 700 13px var(--jp); color: var(--blue); }
.pband .ahead .ameta { margin-top: 12px; font-size: 13px; color: var(--sub); }
.pband.dark { background: #fff; }
.pband.dark .pband-h { color: var(--ink); }
.pband.dark .crumb, .pband.dark .crumb a { color: var(--sub); }
.pintro, .pintro.dark { background: #fff; color: var(--ink); padding-top: var(--sec); }
.pintro .lead { max-width: 760px; font-size: 17px; line-height: 2.1; }
.pintro + .sec, .pintro + .ashiki-content > .sec:first-child, .pintro + .ashiki-content > .tz > .tz-sec:first-child { padding-top: clamp(48px, 5vw, 72px); }


/* ===== トップの大きな写真：左に言葉、右に写真（3:2で、人が端で切れない） ===== */
.kv { background: #fff !important; color: var(--ink); padding: 0; background-image: none !important; }
.kv-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(32px, 4vw, 72px); max-width: none; padding-right: 0; padding-left: max(var(--gut), calc((100% - var(--max)) / 2 + var(--gut))); }
.kv-lab { display: none; }
.kv-big { font: 800 clamp(46px, 5.8vw, 96px)/.98 var(--en); letter-spacing: -.04em; text-transform: none; color: var(--ink); }
.kv-jp { margin-top: 28px; font: 700 clamp(16px, 1.3vw, 19px)/1.95 var(--jph); letter-spacing: .06em; color: var(--ink); }
.kv-ph, .kv-ph.slides { position: relative; aspect-ratio: 3 / 2; height: auto; margin: 0; border: 0; box-shadow: none; background: var(--mute); }
.kv-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.kv-ph img.on { opacity: 1; }
@media (max-width: 900px) {
  .kv-in { grid-template-columns: minmax(0, 1fr); padding: 40px 0 0; gap: 32px; }
  .kv-in > div:first-child { padding: 0 var(--gut); }
  .kv-big { font-size: clamp(42px, 12vw, 64px); }
}

/* ===== 写真を暗く敷いた帯（トップのテクニカルなど） ===== */
.hphoto { position: relative; overflow: hidden; background: var(--navy) !important; color: #fff; }
.hp-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .26; }
.hp-in { position: relative; align-items: center; }
.hphoto .sh h2 { color: #fff; }
.tech-copy { font: 700 clamp(22px, 2.4vw, 32px)/1.6 var(--jph); letter-spacing: .05em; color: #fff; }
.tech-tx { margin-top: 16px; color: rgba(255, 255, 255, .86); }
.hphoto .btn { margin-top: 36px; background: #fff; border-color: #fff; color: var(--ink); }
.hphoto .btn:hover { background: transparent; color: #fff; }
.hphoto .tlist { display: grid; gap: 8px; }
.hphoto .tlist a { display: block; padding: 18px 0; border: 0; color: #fff; text-decoration: none; }
.hphoto .tlist small { display: block; font-size: 12px; color: rgba(255, 255, 255, .65); }
.hphoto .tlist b { display: block; margin-top: 4px; font: 700 17px/1.7 var(--jph); letter-spacing: .03em; }
.hphoto .tlist a:hover b { text-decoration: underline; }
.tnum { display: none; }

/* ===== タブ・絞り込み（下線なし。選んでいるものは色だけ） ===== */
.mtabs { gap: 28px; }
.mtabs button, .mtabs a, .filters a, .ptabs a, .tm-squad a { border: 0 !important; padding: 6px 0; font: 700 15px var(--jph); letter-spacing: .06em; color: var(--sub); text-decoration: none; background: none; }
.mtabs button[aria-selected="true"], .mtabs a[aria-current], .filters a[aria-current], .ptabs a[aria-selected="true"], .tm-squad a[aria-current] { color: var(--ink); }
.filters { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-bottom: clamp(32px, 3vw, 48px); border: 0; }
.filters a { font-size: 14px; }

/* ===== 選手・スタッフの一覧（プロのクラブの選手一覧の形） ===== */
.tm-bar { display: flex; justify-content: space-between; align-items: center; gap: 20px 40px; flex-wrap: wrap; padding-top: clamp(40px, 4vw, 64px); }
.tm-squad { display: flex; gap: 28px; }
.tm-squad a { font-size: 17px; }
.ftabs { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.ftabs button { padding: 6px 0; border: 0 !important; border-radius: 0; background: none !important; font: 700 14px var(--en); letter-spacing: .08em; color: var(--sub) !important; cursor: pointer; }
.ftabs button[aria-pressed="true"] { color: var(--blue) !important; }
.tm-sec { padding-top: clamp(48px, 5vw, 80px) !important; padding-bottom: 0; background: #fff !important; }
.tm-sec:last-of-type { padding-bottom: var(--sec); }
.tm-k { font-size: clamp(30px, 3.2vw, 44px); }
.tm-group { margin-top: clamp(36px, 4vw, 64px); }
.tm-h { display: flex; align-items: baseline; gap: 14px; margin: 0 0 28px; padding: 0; border: 0; font: 700 20px/1.4 var(--jph); letter-spacing: .06em; }
.tm-h small { font: 600 13px var(--en); letter-spacing: .04em; color: var(--sub); }
.tm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(36px, 4vw, 56px) clamp(16px, 2vw, 28px); }
.pcard { display: block; color: var(--ink); text-decoration: none; }
.pcard .pp { aspect-ratio: 4 / 5; }
.pcard .pp img { object-position: 50% 0; transform: scale(1.14); transform-origin: 50% 8%; }
.pcard:hover .pp img.m { transform: scale(1.2); }
.pp.none { background: var(--mute) !important; }
.pp.none svg { fill: #dde2e8; width: 64%; }
.pc-tx { display: block; padding-top: 16px; }
.pc-pos { display: flex; align-items: baseline; gap: 12px; font: 700 12px var(--en); letter-spacing: .1em; color: var(--blue); }
.pc-pos i { font: 700 12px var(--jp); font-style: normal; letter-spacing: .04em; color: var(--ink); }
.pc-n { display: block; margin-top: 6px; font: 700 clamp(17px, 1.6vw, 21px)/1.4 var(--jph); letter-spacing: .08em; }
.pc-en { display: block; margin-top: 4px; font: 600 11px/1.4 var(--en); letter-spacing: .14em; text-transform: uppercase; color: var(--sub); }
.pc-g { display: block; margin-top: 8px; font-size: 13px; color: var(--sub); }
.pcard:hover .pc-n { color: var(--blue); }
@media (max-width: 999px) { .tm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }


/* ===== ニュース：写真は正方形の枠いっぱい（余白なし） ===== */
.ncards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(40px, 4vw, 64px) clamp(16px, 2vw, 32px); }
.ncards.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ncard { display: block; padding: 0; border: 0; background: none; color: var(--ink); text-decoration: none; }
.nimg, .nimg.fit { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--mute); }
.nimg img, .nimg.fit img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover !important; transition: transform .4s ease; }
.nimg .bg { display: none; }
.nimg.none img { inset: 32%; width: 36%; height: 36%; object-fit: contain !important; opacity: .35; }
.ncard:hover .nimg img, .nfeat a:hover .nimg img { transform: scale(1.04); }
.ncard .nm, .nfeat .nm { display: flex; gap: 14px; margin-top: 18px; font: 500 12px var(--en); letter-spacing: .04em; color: var(--sub); }
.ncard .nm i, .nfeat .nm i, .nrow .nm i { font: 700 12px var(--jp); font-style: normal; color: var(--blue); }
.ncard b { display: block; margin-top: 8px; font: 700 16px/1.75 var(--jp); letter-spacing: .03em; }
.ncard:hover b { color: var(--blue); }
.nfeat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); }
.nfeat .main b { display: block; margin-top: 10px; font: 700 clamp(19px, 1.8vw, 24px)/1.6 var(--jph); }
.nfeat .nside { display: grid; gap: 28px; align-content: start; }
.nfeat .nside a { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 22px; align-items: center; padding: 0; border: 0; color: var(--ink); text-decoration: none; }
.nfeat .nside .nm { margin-top: 0; }
.nfeat .nside b { display: block; margin-top: 6px; font: 700 15px/1.7 var(--jp); }
.nlist { border: 0; }
.nrow { display: block; padding: 18px 0; border: 0; color: var(--ink); text-decoration: none; }
.nrow .nm { font: 500 12px var(--en); color: var(--sub); display: flex; gap: 14px; }
.nrow b { display: block; margin-top: 4px; font: 700 16px/1.7 var(--jp); }
.nrow:hover b { color: var(--blue); }
@media (max-width: 999px) { .ncards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nfeat { grid-template-columns: minmax(0, 1fr); } }


/* ===== feelings：題名を主役に。日付は小さく ===== */
.fwrap { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(40px, 6vw, 104px); align-items: start; }
.fside { position: sticky; top: 110px; }
.fside h2 { margin: 44px 0 10px; padding: 0; border: 0; font: 700 13px var(--jph); letter-spacing: .12em; color: var(--sub); }
.fside ul { margin: 0; padding: 0; list-style: none; border: 0; }
.fside li a { display: flex; justify-content: space-between; align-items: baseline; padding: 6px 0; border: 0 !important; box-shadow: none !important; font-size: 15px; color: var(--ink); text-decoration: none; }
.fside li a:hover { color: var(--blue); }
.fside li a[aria-current] { color: var(--blue); font-weight: 700; }
.fside small { font: 600 12px var(--en); color: var(--sub); }
.fschool label { display: block; margin-bottom: 10px; font: 700 13px var(--jph); letter-spacing: .12em; color: var(--sub); }
.fschool > div { display: flex; }
.fschool input { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid var(--rule) !important; border-right: 0 !important; border-radius: 0; font: 14px var(--jp); }
.fschool .btn { padding: 12px 16px; }
.fschool .btn::after { content: none; }
.fcount { display: flex; align-items: baseline; gap: 14px; margin: 0 0 12px; padding: 0; border: 0 !important; font-size: 13px; color: var(--sub); }
.fcount b { font: 700 24px var(--jph); letter-spacing: .05em; color: var(--ink); }
.fcount a { margin-left: auto; color: var(--blue); }
.frows { border: 0; }
.frow { display: block; padding: 26px 0; border: 0 !important; background: none !important; color: var(--ink); text-decoration: none; }
.frow .t { display: block; font: 700 clamp(19px, 1.7vw, 23px)/1.6 var(--jph); letter-spacing: .04em; overflow-wrap: anywhere; transition: color .2s; }
.frow:hover .t { color: var(--blue); }
.frow .w { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin-top: 8px; font-size: 13px; line-height: 1.7; color: var(--sub); }
.frow .w .by { font-weight: 700; color: var(--ink); }
.frow .w time { font: 500 12px var(--en); letter-spacing: .04em; }
.more-wrap { margin-top: 40px; }
@media (max-width: 900px) {
  .fwrap { grid-template-columns: minmax(0, 1fr); }
  .fside { position: static; }
  .frow { padding: 20px 0; }
}

/* ===== 試合のページ ===== */
.mhero { position: relative; overflow: hidden; background: var(--navy) !important; color: #fff; }
.mh-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.mh-in { position: relative; z-index: 1; }
.mhero .crumb, .mhero .crumb a { color: rgba(255, 255, 255, .72); }
.mhead { padding-top: clamp(28px, 4vw, 56px); padding-bottom: clamp(56px, 7vw, 104px); text-align: center; }
.mhead h1 { font: 700 clamp(17px, 1.6vw, 21px)/1.5 var(--jph); letter-spacing: .08em; color: #fff; }
.mhead .when { margin-top: 6px; font-size: 14px; color: rgba(255, 255, 255, .78); }
.mhero .board { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: clamp(12px, 4vw, 72px); max-width: 980px; margin: clamp(32px, 4vw, 56px) auto 0; padding: 0; background: none; border: 0; }
.mhero .board .tm { display: flex; flex-direction: column; align-items: center; gap: 14px; min-width: 0; }
.mhero .board .tm img, .mhero .board .noemb { display: block; width: clamp(64px, 8vw, 116px); height: clamp(64px, 8vw, 116px); object-fit: contain; }
.mhero .board .tm b { font: 700 clamp(14px, 1.6vw, 20px)/1.45 var(--jph); letter-spacing: .06em; }
.mhero .board .gl { margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.8; color: rgba(255, 255, 255, .8); }
.mhero .board .sc { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 .22em; padding-top: clamp(4px, 1vw, 14px); font: 800 clamp(56px, 8.4vw, 124px)/1 var(--en); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #fff; }
.mhero .board .sc i { font-style: normal; font-weight: 600; opacity: .45; }
.mhero .board .sc small { flex-basis: 100%; margin-top: 16px; font: 600 13px var(--en); letter-spacing: .06em; text-align: center; color: rgba(255, 255, 255, .7); }
.mhero .board .vs { font-size: .5em; opacity: .8; }
.mhero .board-sp, .mhero .goals { display: none; }
.mh-live { justify-content: center; margin-top: 36px; }
.mh-live .btn { background: #fff; border-color: #fff; color: var(--ink); }
.theater { background: var(--night); color: #fff; padding: clamp(48px, 6vw, 96px) 0; }
.th-grid { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.th-lab { font: 700 13px var(--jph); letter-spacing: .12em; color: rgba(255, 255, 255, .66); }
.th-t { margin-top: 10px; font: 700 clamp(20px, 2vw, 28px)/1.5 var(--jph); letter-spacing: .04em; }
.th-m { margin-top: 6px; font-size: 14px; color: rgba(255, 255, 255, .72); }
.th-sub { margin-top: 40px; }
.th-sub .th-lab { margin-bottom: 12px; }
.yt { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.yt button { position: absolute; inset: 0; display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.yt img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, opacity .3s; }
.yt button:hover img { transform: scale(1.03); opacity: .88; }
.yt .play { position: absolute; left: 50%; top: 50%; display: flex; align-items: center; justify-content: center; width: clamp(56px, 6vw, 84px); height: clamp(56px, 6vw, 84px); margin: 0; border-radius: 50% !important; background: rgba(255, 255, 255, .94); transform: translate(-50%, -50%); transition: transform .25s; }
.yt button:hover .play { transform: translate(-50%, -50%) scale(1.08); }
.yt .play::before, .yt .play::after { content: none !important; display: none !important; }
.yt .play svg { width: 36%; height: 36%; margin-left: 6%; fill: var(--ink); }
.th-sub .yt .play { width: 44px; height: 44px; }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ptabs { position: sticky; top: 72px; z-index: 20; background: #fff; border: 0 !important; }
.ptabs .wrap { display: flex; justify-content: center; gap: clamp(24px, 4vw, 56px); overflow-x: auto; }
.ptabs a { padding: 22px 0; white-space: nowrap; }
.m-sec { padding-top: var(--sec) !important; padding-bottom: 0; }
.mpanels > .m-sec:last-child { padding-bottom: var(--sec); }
.m-narrow { max-width: 820px; margin: 0 auto; }
.m-h { margin-bottom: 28px; font-size: clamp(22px, 2.2vw, 28px); }
.m-h.c, .tz-src.c { text-align: center; }
.m-h small { margin-left: 14px; font: 600 15px var(--en); color: var(--sub); }
.oneline { font: 700 clamp(20px, 2vw, 26px)/1.7 var(--jph); letter-spacing: .04em; }
.m-body { margin-top: 56px; }
.lock { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 56px; padding: 0; border: 0; background: none; }
.lock b { display: block; font: 700 18px var(--jph); }
.lock span { font-size: 13px; color: var(--sub); }
.md-igs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 64px; }
.nxm { display: block; color: var(--ink); text-decoration: none; }
.nxm .c { display: block; font-size: 13px; color: var(--sub); }
.nxm b { display: block; margin-top: 6px; font: 700 24px/1.4 var(--jph); }
.nxm .w { display: block; margin-top: 6px; font-size: 14px; }
.nxm:hover b { color: var(--blue); }
.photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.photos img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.xi { margin: 0; padding: 0; list-style: none; }
.xi li { display: grid; grid-template-columns: 3em 3em minmax(0, 1fr); gap: 12px; padding: 9px 0; border: 0 !important; }
.xi .no { font: 700 16px var(--en); color: var(--blue); }
.xi .pos { font: 600 13px var(--en); color: var(--sub); }


/* ===== テクニカルの試合データ（テクニカルのサイトと同じ数字・図） ===== */
.tseason { margin: clamp(40px, 4vw, 64px) 0 0; text-align: center; }
.tseason-l { font: 700 14px var(--jph); letter-spacing: .1em; color: var(--sub); }
.tz-sec .tseason p { max-width: none; }
.tfig { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; max-width: 980px; margin: 28px auto 0; }
.tfig b { display: block; font: 800 clamp(30px, 3.6vw, 50px)/1.15 var(--en); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tfig b small { margin: 0 .12em; font: 700 .46em var(--jph); letter-spacing: 0; }
.tfig > div:first-child b { font: 700 clamp(26px, 3vw, 40px)/1.4 var(--jph); letter-spacing: .04em; }
.tfig span { display: block; margin-top: 10px; font-size: 13px; color: var(--sub); }
.tz-h3, .tz-sec h3.tz-h3 { margin: clamp(64px, 7vw, 112px) 0 20px; font: 700 22px var(--jph); letter-spacing: .06em; text-align: center; }
.tmxs { max-width: 980px; margin: 0 auto; }
.tmx summary { display: grid; grid-template-columns: 10em minmax(0, 1fr) 3em; align-items: center; gap: 16px; padding: 18px 12px; list-style: none; cursor: pointer; transition: background .2s; }
.tmx summary::-webkit-details-marker { display: none; }
.tmx summary:hover, .tmx[open] summary { background: #f5f7f9; }
.tmx-c { font-size: 12px; line-height: 1.6; color: var(--sub); }
.tmx-s { display: grid; grid-template-columns: minmax(0, 1fr) 6.5em minmax(0, 1fr); align-items: center; gap: 16px; }
.tmx-s b { font: 700 16px/1.4 var(--jph); letter-spacing: .04em; }
.tmx-s b:first-child { text-align: right; }
.tmx-s .sc { text-align: center; font: 800 28px/1 var(--en); font-variant-numeric: tabular-nums; }
.tmx-s .sc i { margin: 0 .18em; font-style: normal; font-weight: 600; opacity: .4; }
.tmx-r { justify-self: end; font: 700 14px var(--jph); color: var(--sub); }
.tmx-r.r-w { color: var(--blue); }
.tmx-b { padding: 40px 0 64px; }
.tm-link { margin-top: 32px; text-align: center; }
.tz-sec .tm-link { max-width: none; }
.td { max-width: 980px; margin: 0 auto; }
.mom { margin: 0; }
.mom figcaption { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 14px; }
.mom figcaption b { font: 700 15px var(--jph); letter-spacing: .04em; }
.mom .key { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--sub); }
.mom .key i { display: inline-block; width: 12px; height: 12px; }
.mom .key i.o { background: var(--blue); }
.mom .key i.t { margin-left: 12px; background: #b7c0ca; }
.mom-c { position: relative; }
.mom svg { display: block; width: 100%; height: clamp(150px, 22vw, 240px); }
.mom .up { fill: var(--blue); }
.mom .dn { fill: #b7c0ca; }
.mom .mid { stroke: #8994a0; stroke-width: 1; vector-effect: non-scaling-stroke; }
.mom .g { stroke: #edf0f3; stroke-width: 1; vector-effect: non-scaling-stroke; }
.mom .g45 { stroke: #c3cbd4; stroke-width: 1; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.mom .gm { position: absolute; width: 14px; height: 14px; margin-left: -7px; border: 3px solid var(--blue); border-radius: 50%; background: #fff; }
.mom .gm.go { top: 2px; }
.mom .gm.gt { bottom: 30px; border-color: #7d8894; }
.mom-t { position: relative; height: 20px; margin-top: 8px; font: 600 11px var(--en); color: var(--sub); }
.mom-t span { position: absolute; top: 0; transform: translateX(-50%); }
.mom-t span:first-child { transform: none; }
.mom-t span:last-child { transform: translateX(-100%); }
.td-bars { max-width: 760px; margin: clamp(40px, 4vw, 64px) auto 0; }
.tb-hd { display: flex; justify-content: space-between; margin-bottom: 6px; font: 700 14px var(--jph); letter-spacing: .04em; }
.tb { padding: 12px 0; }
.tb-v { display: grid; grid-template-columns: 5.5em minmax(0, 1fr) 5.5em; align-items: baseline; }
.tb-v b { font: 700 20px var(--en); font-variant-numeric: tabular-nums; color: #9aa4ae; }
.tb-v b:last-child { text-align: right; }
.tb-v b.hi { color: var(--ink); }
.tb-v span { text-align: center; font-size: 13px; color: var(--sub); }
.tb-bar { display: flex; gap: 3px; height: 6px; margin-top: 8px; }
.tb-bar i:first-child { background: var(--blue); }
.tb-bar i:last-child { background: #d6dce3; }
.tz-src { margin-top: 40px; font-size: 12px; color: var(--sub); }
.tz-sec p.tz-src { max-width: none; font-size: 12px; }


/* ===== テクニカル・パートナーシップ・本文のページ ===== */
.tz-sec { padding-top: var(--sec); padding-bottom: 0; border: 0 !important; }
.tz > .tz-sec:last-child { padding-bottom: var(--sec); }
.tz-sec > .wrap { max-width: var(--max); }
.tz-sec h2 { margin-bottom: 32px; padding: 0; border: 0 !important; }
.tz-sec h2.tz-title { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.45; }
.tz-sec p { max-width: 760px; font-size: 16px; line-height: 2.05; }
.trows { margin-top: 8px; border: 0 !important; }
.trow { grid-template-columns: 14em minmax(0, 1fr); gap: 32px; padding: 16px 0; border: 0 !important; }
.trow .dt { font: 700 15px/1.9 var(--jph); letter-spacing: .04em; }
.trow .dd { font-size: 15px; line-height: 1.95; color: #35414d; }
.tz .wp-block-buttons { margin-top: 36px; }
.tz .yt-wrap { max-width: none; }


/* パートナーシップ */
.ps .ps-lead { font: 700 clamp(30px, 4vw, 54px)/1.45 var(--jph); letter-spacing: .05em; }
.ps #intro p { font-size: 17px; }
.figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.tz-sec .figs p { max-width: none; }
.fig-n { font: 800 clamp(32px, 3.6vw, 52px)/1.15 var(--en) !important; letter-spacing: -.02em; color: var(--blue); }
.fig-l { margin-top: 12px !important; font-size: 14px !important; line-height: 1.8 !important; color: var(--sub); }
.ps-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.ps-split figure, .offer figure { margin: 0; }
.ps-split img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(48px, 5vw, 72px) clamp(24px, 4vw, 56px); }
.offer img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.offer h3 { margin: 24px 0 10px; font: 700 22px/1.5 var(--jph) !important; letter-spacing: .05em; }
.offer p { font-size: 15px !important; color: #35414d; }
.ps-movie { margin-top: var(--sec); padding: var(--sec) 0; background: var(--night); color: #fff; }
.ps-movie h2.wp-block-heading { color: #fff; margin-bottom: 12px; }
.ps-cap { margin-bottom: 32px; color: rgba(255, 255, 255, .75); }
.ps-cta { position: relative; overflow: hidden; margin-top: var(--sec); padding: var(--sec) 0; background: var(--navy); color: #fff; text-align: center; }
.ps-cta .ps-cta-bg { position: absolute; inset: 0; margin: 0; }
.ps-cta .ps-cta-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.ps-cta > .wrap { position: relative; }
.ps-cta h2.wp-block-heading { color: #fff; }
.ps-cta p { margin: 0 auto; max-width: 640px; color: rgba(255, 255, 255, .86); }
.ps-cta .wp-block-buttons { justify-content: center; margin-top: 36px; }
.ps-cta .wp-block-button__link { background: #fff; border-color: #fff; color: var(--ink); }
.ps-cta .is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.tz > .ps-cta:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .figs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-split, .offers { grid-template-columns: minmax(0, 1fr); }
}

/* ロゴ */
.logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px 32px; align-items: center; border: 0; }
.logos a, .logos span { display: flex; align-items: center; justify-content: center; height: 96px; padding: 12px; border: 0 !important; background: none; }
.logos img { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }

/* 本文 */
.entry { font-size: 16px; line-height: 2.05; }
.entry p + p { margin-top: 1.2em; }
.entry h2 { margin: 2.4em 0 .8em; font: 700 24px/1.5 var(--jph); border: 0; padding: 0; }
.entry h3 { margin: 2em 0 .6em; font: 700 19px/1.6 var(--jph); }

/* データの表だけ薄い線を残す */
table.stand th, table.stand td, table.stats th, table.stats td { border-bottom: 1px solid var(--rule) !important; }
table.stand tr.me td { font-weight: 700; color: var(--blue); }

/* 箱・カードの枠と色を外す（余白で区切る） */
.mc, .fcard, .roles > div, .reasons > div, .ccards > div, .week > div, .faq details, .info, .quote2, .org > div, .menu4 > div, .tcards > div, .nm-card {
  border: 0 !important; background: none !important; box-shadow: none !important;
}

/* プライバシーポリシー */
.privacy h2.wp-block-heading { margin-top: 56px; margin-bottom: 14px; font-size: 21px; }
.privacy h2.wp-block-heading:first-child { margin-top: 0; }
.privacy p { font-size: 15px; line-height: 2.05; }
.privacy .pp-sign { margin-top: 72px; text-align: right; font-size: 14px; color: var(--sub); }

/* スマホの文字と余白 */


/* ===== v3 の手直し（2026-11-09 画面の確認から） ===== */
.kv .kv-big { color: var(--ink) !important; }
/* 色の帯（写真を暗く敷いた帯）は上下に余白。帯のすぐ後ろの区画にも上の余白を戻す */
.sec.hphoto { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
.hphoto + .sec, .mhero + .sec, .theater + .sec { padding-top: var(--sec) !important; }
/* パートナーシップの数字：前の版の青い箱を外す */
.figs { margin-top: 0; background: none !important; color: var(--ink); }
.figs > div, .figs div { padding: 0 !important; border: 0 !important; background: none !important; }
.ashiki-content .ps h2.ps-lead { font: 700 clamp(30px, 4vw, 54px)/1.45 var(--jph); letter-spacing: .05em; margin-bottom: 32px; }
.ps-split img { aspect-ratio: 3 / 2; }
.ashiki-content .ps-cta .wp-block-button__link { background: #fff !important; border-color: #fff !important; color: var(--ink) !important; }
.ashiki-content .ps-cta .is-style-outline .wp-block-button__link { background: transparent !important; border-color: rgba(255, 255, 255, .75) !important; color: #fff !important; }
.ashiki-content .ps-cta .wp-block-button__link:hover { opacity: .85; }
/* 「項目｜説明」：項目の字間を詰める、説明の中のリンクは青 */
.trow .dt { letter-spacing: .02em; }
.trow .dd a { color: var(--blue); text-decoration: none; }
.trow .dd a:hover { text-decoration: underline; }
/* ニュース：横長の写真は16:9の枠（どちらも枠いっぱい） */
.nimg.w { aspect-ratio: 16 / 9; }
.ncards { align-items: start; }
/* feelings の検索欄の見出しの下線を外す */
.fschool label, .fschool { border: 0 !important; padding-bottom: 0 !important; }.figs .fig-n { color: var(--blue) !important; }
.figs .fig-l { color: var(--sub) !important; }
.ashiki-content .ps h2.ps-lead { font-size: clamp(28px, 3.4vw, 46px); letter-spacing: .04em; }
.nm-h { color: var(--ink) !important; }
/* ===== v3c（2026-11-09 美川さんの確認から） ===== */
/* 見出しの帯：左（題の側）に、うっすら地の色 */
.pband { background: #f3f5f8 !important; }
/* ヘッダー・フッターの部の名前：もとの形（日本語の名前1行＋英語の名前） */
.brand span { display: block; font: inherit; letter-spacing: 0; }
.brand b { display: block !important; font: 700 17px/1.35 var(--jph); letter-spacing: .06em; }
.brand small { display: block !important; margin-top: 3px; font: 600 11px/1.3 var(--en); letter-spacing: .03em; color: var(--sub); }
.site-f .brand b { font-size: 18px; color: #fff; }
.site-f .brand small { color: rgba(255, 255, 255, .62); }

.f-x { display: grid; gap: 6px; margin: 22px 0 0; padding: 0; list-style: none; font-size: 12px; }
.f-x a { color: rgba(255, 255, 255, .75); text-decoration: none; }
.f-x a:hover { color: #fff; }
.f-x span { margin-left: 8px; font-family: var(--en); color: rgba(255, 255, 255, .5); }
/* 選手のページ */
.pff dd b { background: none !important; }
.pfx h2 { padding-bottom: 0 !important; border: 0 !important; margin-bottom: 12px; }
.pfh .crumb, .pfh .crumb a { color: rgba(255, 255, 255, .78) !important; }
/* 見出しの下の余白が二重にならないように */
.sh h2.wp-block-heading, .sh h2 { margin-bottom: 0 !important; }
/* 箱をやめたカードの内側の余白を外し、左端をそろえる */
.fcard, .week > div, .roles > div, .reasons > div, .ccards > div { padding-left: 0 !important; padding-right: 0 !important; }
.pintro { padding-top: clamp(40px, 4vw, 64px) !important; }
.wrap.narrow.privacy { max-width: var(--max); }

/* 節は「左に見出し・右に中身」の2列（右側がぽっかり空かないように）。表や写真などの大きいものは横いっぱい */
@media (min-width: 960px) {
  .page-template-page-ashiki .tz-sec > .wrap,
  .page-template-page-ashiki .sec > .wrap:has(> .sh),
  .page-template-page-ashiki .wrap.privacy {
    display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(40px, 5vw, 96px); align-items: start;
  }
  .page-template-page-ashiki .tz-sec > .wrap > *,
  .page-template-page-ashiki .sec > .wrap:has(> .sh) > *,
  .page-template-page-ashiki .wrap.privacy > * { grid-column: 2; min-width: 0; max-width: none; }
  .page-template-page-ashiki .tz-sec > .wrap > h2,
  .page-template-page-ashiki .sec > .wrap:has(> .sh) > .sh,
  .page-template-page-ashiki .wrap.privacy > h2 { grid-column: 1; }
  .page-template-page-ashiki .sec > .wrap:has(> .sh) > .sh { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 0; }
  .page-template-page-ashiki :is(.tz-sec > .wrap, .sec > .wrap:has(> .sh)) > :is(.tz-title, .ps-lead, .figs, .ps-split, .offers, .logos, .ncards, .tseason, .tz-h3, .tmxs, .tz-gloss, .tz-src, .tz-link, .grid2, .roles, .reasons, .week, .faq, .org, .fcards, .fsearch, .menu4, .tcards, .photos, .wp-block-image, .yt-wrap, .wp-block-columns, .ccards, .stand) { grid-column: 1 / -1; }
  .page-template-page-ashiki .tz-sec > .wrap > p, .page-template-page-ashiki .sec > .wrap:has(> .sh) > p { max-width: none; }
  .page-template-page-ashiki .tz-sec > .wrap > h2 + p, .page-template-page-ashiki .sec > .wrap:has(> .sh) > .sh + p { margin-top: 0; }
  .page-template-page-ashiki .wrap.privacy > h2 { margin-top: 0; padding-top: 4px; }
  .page-template-page-ashiki .wrap.privacy > p { margin-bottom: 48px; }
  .page-template-page-ashiki .wrap.privacy > .pp-sign { grid-column: 2; }
  .tz-gloss, .tz-src, .tz-link { max-width: 980px; margin-left: auto !important; margin-right: auto !important; width: 100%; }
}

/* 今週のア式 */
.wk-span { margin: 0 0 16px; font-size: 13px; color: var(--sub); }
.wk-team + .wk-team { margin-top: 48px; }
.wk-team h3 { margin: 0 0 4px; font: 700 15px var(--jph); letter-spacing: .12em; color: var(--blue); }
.wk-row { display: grid; grid-template-columns: 10em minmax(0, 1fr) auto; gap: 6px 24px; align-items: baseline; padding: 16px 0; }
.wk-d { font: 700 14px var(--jp); }
.wk-c { font-size: 13px; color: var(--sub); }
.wk-o { margin-top: 2px; font: 700 18px/1.5 var(--jph); letter-spacing: .03em; }
.wk-g { margin-top: 4px; font-size: 14px; }
.wk-l { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 6px; font-size: 13px; }
.wk-l a { color: var(--blue); font-weight: 700; text-decoration: none; }
.wk-l a:hover { text-decoration: underline; }
.wk-s { font: 800 26px/1 var(--en); font-variant-numeric: tabular-nums; white-space: nowrap; }
.wk-s i { margin-left: 8px; font: 700 13px var(--jph); font-style: normal; color: var(--sub); }
.wk-note { margin-top: 40px; font-size: 14px; color: var(--sub); }
.wk-note a { color: var(--blue); }
/* 選手のページの本文も「左に見出し・右に中身」 */
.pfx-wrap { max-width: var(--max) !important; }
@media (min-width: 960px) {
  .pfx { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(40px, 5vw, 96px); align-items: start; }
  .pfx > h2 { grid-column: 1; margin: 14px 0 0; }
  .pfx > dl, .pfx > .pfx-msg { grid-column: 2; margin-top: 0; }
  .pfx + .pfx { margin-top: 72px; }
}/* 完全版マッチレポート（body.lp）は、もとの青い帯の見た目のまま */
.lp .on, .lp section.on, .lp .sec.on { background: var(--blue) !important; color: #fff !important; }
.lp .on .sh h2, .lp .on h2, .lp .on h3, .lp .on p, .lp .on td, .lp .on th, .lp .on span, .lp .on b { color: inherit; }
.lp .paper, .lp .sec.paper { background: var(--paper) !important; }/* トップの feelings：左に説明と検索、右に新しい記事（題名が主役） */
.hfeel-in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(40px, 5vw, 96px); align-items: start; }
.hfeel-l .sh { margin-bottom: 0; }
.hfeel-tx { margin: 24px 0 32px; font-size: 15px; line-height: 2; color: #35414d; }
.hfeel-s { margin-bottom: 28px; }
.hf { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 24px; padding: 22px 0; color: var(--ink); text-decoration: none; }
.hf:first-child { padding-top: 0; }
.hf:not(:has(.hf-face)) { grid-template-columns: minmax(0, 1fr); }
.hf-face { display: block; width: 76px; height: 76px; overflow: hidden; background: #2d69b2; }
.hf-face img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; transform: scale(1.9); transform-origin: 50% 12%; }
.hf-t { display: block; font: 700 clamp(19px, 1.7vw, 23px)/1.55 var(--jph); letter-spacing: .04em; transition: color .2s; }
.hf:hover .hf-t { color: var(--blue); }
.hf-ex { display: -webkit-box; margin-top: 6px; overflow: hidden; font-size: 14px; line-height: 1.8; color: #4a5562; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.hf-w { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-top: 8px; font-size: 13px; color: var(--sub); }
.hf-w .by { font-weight: 700; color: var(--ink); }
.hf-w time { font: 500 12px var(--en); letter-spacing: .04em; }
@media (max-width: 900px) {
  .hfeel-in { grid-template-columns: minmax(0, 1fr); }
  .hfeel-r { margin-top: 16px; }
  .hf { grid-template-columns: 60px minmax(0, 1fr); gap: 16px; }
  .hf-face { width: 60px; height: 60px; }
}
/* ===== トップの最初の画面（海外のクラブの形）：写真を横いっぱいに、左下に白い大きな見出し ===== */
.kv.kv2 { position: relative; padding: 0; overflow: hidden; background: var(--night) !important; color: #fff; }
.kv2 .kv-ph, .kv2 .kv-ph.slides { position: relative; aspect-ratio: auto; height: clamp(520px, 84vh, 880px); max-height: 62vw; min-height: 520px; margin: 0; background: var(--night); }
.kv2 .kv-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.kv2 .kv-ph img.on { opacity: 1; }
.kv2 .kv-ph::after { content: ""; position: absolute; inset: 0; background: rgba(4, 14, 28, .34); }
.kv2 .kv-tx { position: absolute; left: 0; right: 0; bottom: clamp(48px, 7vw, 104px); z-index: 2; }
.kv2 .kv-big { color: #fff !important; font: 800 clamp(56px, 7.6vw, 128px)/.94 var(--en); letter-spacing: -.045em; }
.kv2 .kv-jp { margin-top: 24px; color: #fff; font: 700 clamp(15px, 1.3vw, 19px)/1.9 var(--jph); letter-spacing: .06em; }
.kv2 .kv-btn { display: inline-flex; align-items: center; gap: 14px; margin-top: 32px; padding: 16px 28px; border: 1px solid rgba(255, 255, 255, .85); color: #fff; font: 700 15px var(--jp); letter-spacing: .06em; text-decoration: none; transition: background .2s, color .2s; }
.kv2 .kv-btn::after { content: "→"; font-family: var(--en); }
.kv2 .kv-btn:hover { background: #fff; color: var(--ink); }


/* ===== 完全版マッチレポート（作り直し：body.lp2） ===== */
.lp2 .mhero .lp-k { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; font: 700 14px var(--jph); letter-spacing: .12em; color: #fff; }
.lp2 .lp-k span { font: 500 12px var(--jp); letter-spacing: .04em; color: rgba(255, 255, 255, .72); }
.lp2 .mhead h1 { margin-top: 18px; }
.lp-line { max-width: 760px; margin: clamp(32px, 4vw, 48px) auto 0; font: 700 clamp(16px, 1.5vw, 19px)/1.95 var(--jph); letter-spacing: .04em; color: #fff; }
.lp-sec { padding: var(--sec) 0 0; }
.lp-sec .wrap { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(40px, 5vw, 96px); align-items: start; }
.lp-h { margin: 0; font: 700 clamp(24px, 2.4vw, 32px)/1.5 var(--jph); letter-spacing: .05em; color: var(--ink); }
.lp-h small { display: block; margin-top: 6px; font: 700 15px var(--en); letter-spacing: .04em; color: var(--sub); }
.lp-body { grid-column: 2; min-width: 0; }
.lp-body:empty { display: none; }
.lp-wide { grid-column: 1 / -1; min-width: 0; margin-top: clamp(32px, 3vw, 48px); }
.lp-flow { margin: 0; padding: 0; list-style: none; }
.lp-flow li { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 24px; padding: 14px 0; }
.lp-flow time { font: 700 14px/2 var(--jph); letter-spacing: .04em; color: var(--blue); }
.lp-flow p { font-size: 16px; line-height: 2; }
.lp-h3 { margin: 48px 0 16px; font: 700 19px/1.5 var(--jph); letter-spacing: .04em; }
.lp-data { margin-top: var(--sec); padding: var(--sec) 0; background: var(--night); color: #fff; }
.lp-data .lp-h { margin-bottom: clamp(36px, 4vw, 56px); color: #fff; }
.lp-big { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); text-align: center; }
.lp-big .l { font: 700 14px var(--jph); letter-spacing: .08em; color: rgba(255, 255, 255, .72); }
.lp-big .n { margin-top: 10px; font: 800 clamp(40px, 5vw, 72px)/1 var(--en); letter-spacing: -.02em; }
.lp-big .n span { margin-left: 6px; font-size: .4em; font-weight: 700; letter-spacing: 0; color: rgba(255, 255, 255, .55); }
.lp-big .c { max-width: 22em; margin: 14px auto 0; font-size: 14px; line-height: 1.9; color: rgba(255, 255, 255, .78); }
.lp-chart .flow { margin: 0; padding: 0 !important; border: 0 !important; background: none !important; }
.lp-chart .fh { margin-bottom: 14px; }
.lp-chart .fh b { font: 700 15px var(--jph); letter-spacing: .04em; color: #fff; }
.lp-chart svg { display: block; width: 100%; height: auto; }
.lp-mom { margin-top: clamp(56px, 6vw, 88px); }
.lp-two { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: start; margin-top: clamp(56px, 6vw, 88px); }
.lp-grp + .lp-grp { margin-top: 36px; }
.lp-gh { margin-bottom: 6px; font: 700 14px var(--jph); letter-spacing: .1em; color: rgba(255, 255, 255, .72); }
.lp-data .tb-hd { font-size: 13px; color: #fff; }
.lp-data .tb-v b { color: rgba(255, 255, 255, .5); }
.lp-data .tb-v b.hi { color: #fff; }
.lp-data .tb-v span { color: rgba(255, 255, 255, .78); }
.lp-data .tb-bar i:first-child { background: #5ea8ff; }
.lp-data .tb-bar i:last-child { background: rgba(255, 255, 255, .22); }
.lp-src { margin-top: 48px; font-size: 12px; text-align: center; color: rgba(255, 255, 255, .55); }
.lp-qs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 5vw, 80px); }
.lp-q { margin: 0; }
.lp-qt { margin-bottom: 16px; font: 700 clamp(22px, 2.2vw, 30px)/1.5 var(--jph); letter-spacing: .04em; }
.lp-q blockquote { margin: 0; padding: 0; border: 0; font-size: 16px; line-height: 2.05; }
.lp-q blockquote p + p { margin-top: 1em; }
.lp-q figcaption { display: flex; align-items: baseline; gap: 12px; margin-top: 20px; }
.lp-q figcaption b { font: 700 16px var(--jph); letter-spacing: .06em; }
.lp-q figcaption span { font-size: 13px; color: var(--sub); }
.lp-xi { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.lp-xiph { display: block; width: 100%; height: auto; }
.lp-xil { margin: 0; padding: 0; list-style: none; }
.lp-xil li { display: grid; grid-template-columns: 2.6em 3.6em minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 8px 0; }
.lp-xil .no { font: 800 18px var(--en); color: var(--blue); }
.lp-xil .pos { font: 700 12px var(--en); letter-spacing: .06em; color: var(--sub); }
.lp-xil b { font: 700 16px var(--jph); letter-spacing: .06em; }
.lp-mom-p { margin: 32px 0; }
.lp-mom-p .l { font: 700 13px var(--jph); letter-spacing: .1em; color: var(--blue); }
.lp-mom-p b { display: block; margin-top: 6px; font: 700 22px var(--jph); letter-spacing: .06em; }
.lp-mom-p p:last-child { margin-top: 6px; font-size: 14px; color: #35414d; }
.lp-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lp-photos img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.lp-cn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 5vw, 80px); align-items: start; }
.lp-cr { display: grid; grid-template-columns: 9em minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 14px 0; }
.lp-cr .r { font: 700 14px var(--jph); }
.lp-cr .m { font-size: 14px; color: #35414d; }
.lp-cr .s { font: 800 18px var(--en); color: var(--sub); }
.lp-cr.won .s { color: var(--blue); }
.lp-cr.next .s { font: 700 13px var(--jph); color: var(--ink); }
.lp-next .lp-h3 { margin-top: 0; }
.lp-next .c { font-size: 13px; color: var(--sub); }
.lp-next .o { margin-top: 4px; font: 700 22px/1.5 var(--jph); }
.lp2 main > .lp-sec:last-child { padding-bottom: var(--sec); }
@media (max-width: 900px) {
  .lp-sec .wrap { grid-template-columns: minmax(0, 1fr); }
  .lp-body, .lp-wide { grid-column: 1; }
  .lp-body { margin-top: 24px; }
  .lp-big, .lp-two, .lp-qs, .lp-xi, .lp-cn { grid-template-columns: minmax(0, 1fr); }
  .lp-big { gap: 40px; }
  .lp-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-flow li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .lp-cr { grid-template-columns: minmax(0, 1fr) auto; }
  .lp-cr .m { grid-column: 1; }
}

/* 完全版のパスワードの画面 */
.rp-gate { padding: clamp(64px, 8vw, 120px) 0; background: #f3f5f8; }
.rp-box { max-width: 560px; margin: 0 auto; padding: 0 var(--gut); text-align: center; }
.rp-box img { width: 72px; height: 72px; margin: 0 auto 20px; }
.rp-k { font: 700 13px var(--jph); letter-spacing: .12em; color: var(--blue); }
.rp-box h1 { margin-top: 10px; font: 700 clamp(22px, 2.4vw, 28px)/1.5 var(--jph); letter-spacing: .04em; }
.rp-tx { margin-top: 18px; font-size: 14px; line-height: 2; text-align: left; color: #35414d; }
.rp-msg { margin-top: 16px; font-size: 14px; color: #b00020; }
.rp-form { margin-top: 28px; text-align: left; }
.rp-form label { display: block; margin-bottom: 8px; font: 700 13px var(--jph); letter-spacing: .08em; color: var(--sub); }
.rp-form > div { display: flex; }
.rp-form input { flex: 1; min-width: 0; padding: 14px; border: 1px solid #cfd6de; border-right: 0; border-radius: 0; background: #fff; font: 16px var(--jp); }
.rp-form .btn { padding: 14px 24px; }
.rp-form .btn::after { content: none; }
.rp-help { margin-top: 28px; font-size: 13px; color: var(--sub); }
.rp-help a { color: var(--blue); }
/* フッターの X（部門別）：名前とIDを2列に、間を詰める */
.site-f .f-x { display: grid; gap: 6px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 12px; line-height: 1.6; }
.site-f .f-x a { display: grid; grid-template-columns: 6.5em auto; gap: 8px; color: rgba(255, 255, 255, .78); text-decoration: none; }
.site-f .f-x span { margin: 0; font-family: var(--en); color: rgba(255, 255, 255, .5); }
.site-f .f-x a:hover, .site-f .f-x a:hover span { color: #fff; }
/* 見出しの右にリンクが2つ */
.sh-links { display: flex; flex-wrap: wrap; gap: 8px 28px; }
/* 試合のページの一番上：左に先週末の結果、右にこれからの試合 */
.wk-top { padding-bottom: 0 !important; }
.wk2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 5vw, 96px); align-items: start; }
.wk-h { margin: 0 0 20px; font: 700 clamp(22px, 2vw, 26px)/1.5 var(--jph); letter-spacing: .05em; }
.wk2 .wk-row { grid-template-columns: 8em minmax(0, 1fr) auto; gap: 4px 20px; padding: 12px 0; }
.wk2 .wk-o { font-size: 16px; }
.wk2 .wk-s { font-size: 22px; }
.wk-none { font-size: 14px; color: var(--sub); }
.wk-x { margin-top: 24px; font-size: 13px; }
.wk-x a { color: var(--blue); font-weight: 700; text-decoration: none; }
@media (max-width: 900px) { .wk2 { grid-template-columns: minmax(0, 1fr); } }/* 「項目｜説明」は上でそろえる（説明が2行になっても項目がずれない） */
.trow { align-items: start !important; }
.wk2 .wk-row { grid-template-columns: 10.5em minmax(0, 1fr) auto; }
.wk2 .wk-d { white-space: nowrap; }

/* ===== 軽くした版（2026-11-09）：本文は端末の標準の書体。見出しの Zen Kaku は 700 だけを読み、900 の指定も 700 で出す（太らせた偽物を作らない） ===== */
:root { --jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic Medium", "YuGothic", "Yu Gothic", Meiryo, sans-serif; }
html { font-synthesis: none; }
/* 大きな見出しで始まる最初の節（テクニカル・パートナーシップ）は、見出しの下に左寄せで本文を続ける（右の列に寄せない） */
@media (min-width: 960px) {
  .page-template-page-ashiki .tz-sec > .wrap:has(> .tz-title, > .ps-lead) { display: block; }
  .page-template-page-ashiki .tz-sec > .wrap:has(> .tz-title, > .ps-lead) > p { max-width: 760px; }
  .page-template-page-ashiki .tz-sec > .wrap:has(> .tz-title, > .ps-lead) > p:first-of-type { margin-top: 0; }
  /* 右の列の中の「項目｜説明」は、項目の幅を詰める */
  .page-template-page-ashiki .tz-sec .trow, .page-template-page-ashiki .sec .trow { grid-template-columns: 10.5em minmax(0, 1fr); gap: 28px; }
}
.tz-sec h2.tz-title, .ps .ps-lead { margin-bottom: 32px; }

/* メニュー：女子部を足して9つ。幅が足りないところは間を詰め、さらに狭いとメニューのボタンにする */
@media (max-width: 1360px) { .gnav { gap: clamp(14px, 1.5vw, 24px); } .gnav a { font-size: 14px; letter-spacing: .04em; } .h-util { gap: 16px; } }
@media (max-width: 1200px) {
  .gnav, .h-util { display: none; }
  .menu-btn { display: flex; flex-direction: column; justify-content: center; gap: 8px; width: 44px; height: 44px; margin-left: auto; padding: 10px 8px; border: 0; background: none; cursor: pointer; }
  .menu-btn i { display: block; height: 2px; background: var(--ink); transition: transform .25s ease; }
  .site-h.open .menu-btn i:first-child { transform: translateY(5px) rotate(45deg); }
  .site-h.open .menu-btn i:last-child { transform: translateY(-5px) rotate(-45deg); }
  .spmenu { display: block; position: fixed; left: 0; right: 0; top: var(--hh); bottom: 0; padding: 32px var(--gut) 56px; overflow-y: auto; background: var(--navy); color: #fff; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
  .site-h.open .spmenu { opacity: 1; visibility: visible; }
  .sp-main a { display: block; padding: 12px 0; font: 700 24px/1.4 var(--jph); letter-spacing: .06em; color: #fff; text-decoration: none; }
  .sp-sub { display: grid; gap: 2px; margin-top: 32px; }
  .sp-sub a { padding: 6px 0; font-size: 14px; color: rgba(255, 255, 255, .78); text-decoration: none; }
  .spmenu .sns { margin-top: 36px; }
}

/* トップの女子部（男子部の試合と並ぶ、独立した区画） */
.hw-in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.hw-ph img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 48%; }
.hw-tx .sh { margin-bottom: 20px; }
.hw-lead { margin-bottom: 16px; font: 700 clamp(19px, 1.8vw, 24px)/1.6 var(--jph); letter-spacing: .04em; }
.hw-tx p:not(.hw-lead) { font-size: 15px; line-height: 2; color: #35414d; }
.hw-tx .btns { margin-top: 32px; }
@media (max-width: 900px) { .hw-in { grid-template-columns: minmax(0, 1fr); } }
/* クラブのページ */
.club-wide { max-width: var(--max); margin: var(--sec) auto 0; padding: 0 var(--gut); }
.club-wide figure { margin: 0; }
.club-wide img { display: block; width: 100%; height: auto; }
.club-wide figcaption { margin-top: 12px; font-size: 13px; color: var(--sub); }
.tz-sec p.club-motto { max-width: none; margin-bottom: 32px; font: 700 clamp(20px, 2vw, 26px)/1.7 var(--jph); letter-spacing: .04em; }
.trow .dt a { color: var(--blue); text-decoration: none; }
.trow .dt a::after { content: " →"; }
.trow .dt a:hover { text-decoration: underline; }
@media (min-width: 960px) { .page-template-page-ashiki .tz-sec .trow, .page-template-page-ashiki .sec .trow { grid-template-columns: 12em minmax(0, 1fr); } }
/* ヘッダーはスクロールしても高さを変えない */
.site-h.scrolled .bar { height: var(--hh); }
.site-h.scrolled .brand img { width: 52px; height: 52px; }
@media (max-width: 1120px) { .site-h.scrolled .brand img { width: 42px; height: 42px; } }
/* =====================================================================
   スマホ（2026-11-09）
   ===================================================================== */
.sp-scrim { display: none; }
/* メニュー：右から引き出す。後ろのページは暗く透けて見え、地には部の写真を薄く敷く */
@media (max-width: 1200px) {
  .spmenu { display: block; position: fixed; top: var(--hh); right: 0; bottom: 0; left: auto; width: min(88vw, 400px); padding: 0; overflow: hidden; background: var(--navy); color: #fff; opacity: 1; visibility: hidden; transform: translateX(100%); transition: transform .32s cubic-bezier(.2, .7, .2, 1), visibility .32s; z-index: 2; }
  .site-h.open .spmenu { visibility: visible; transform: none; }
  .sp-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; opacity: .14; pointer-events: none; }
  .sp-in { position: relative; height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 20px 28px 56px; }
  .sp-scrim { display: block; position: fixed; left: 0; right: 0; top: var(--hh); bottom: 0; z-index: 1; background: rgba(6, 16, 30, .5); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
  .site-h.open .sp-scrim { opacity: 1; visibility: visible; }
  .sp-search { display: flex; align-items: center; margin-bottom: 16px; padding: 4px 0; border-bottom: 1px solid rgba(255, 255, 255, .3); }
  .sp-search input { flex: 1; min-width: 0; padding: 12px 0; border: 0; background: none; color: #fff; font: 16px var(--jp); outline: none; }
  .sp-search input::placeholder { color: rgba(255, 255, 255, .6); }
  .sp-search button { display: flex; padding: 6px; border: 0; background: none; color: #fff; cursor: pointer; }
  .sp-search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
  .sp-main a { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; font: 700 21px/1.4 var(--jph); letter-spacing: .06em; color: #fff; text-decoration: none; }
  .sp-main a::after { content: "→"; font: 600 16px var(--en); opacity: .45; }
  .sp-main a[aria-current] { color: #9cc8ff; }
  .sp-sub { display: grid; gap: 0; margin-top: 28px; }
  .sp-sub a { padding: 9px 0; font-size: 15px; color: rgba(255, 255, 255, .82); text-decoration: none; }
  .spmenu .sns { margin-top: 32px; gap: 28px; }
  .spmenu .sns svg { width: 24px; height: 24px; }
}


/* ===== さらに軽く（2026-11-09）：日本語の見出しも端末の標準の書体（Webフォントを読まない） ===== */
:root { --jph: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "YuGothic", Meiryo, sans-serif; }
h1, h2, h3, h4 { font-feature-settings: "palt"; }

/* feelings の一覧：記事を左、年・期などの絞り込みを右に */
@media (min-width: 901px) {
  .fwrap { grid-template-columns: minmax(0, 1fr) 240px; }
  .fwrap .fmain { grid-column: 1; grid-row: 1; }
  .fwrap .fside { grid-column: 2; grid-row: 1; }
}
/* =====================================================================
   スマホ 2（2026-11-09 慶應ソッカー部を参考に）：ブロックを小さく、情報を絞り、フッターを短く
   ===================================================================== */

/* =====================================================================
   1本の列（2026-11-09）：「左に見出し・右に中身」の2列をやめる。
   本文は中央の1本の列（約920px）にそろえ、見出しはその上、本文・表・写真は列の幅いっぱいに
   ===================================================================== */
@media (min-width: 960px) {
  .page-template-page-ashiki .tz-sec > .wrap,
  .page-template-page-ashiki .sec > .wrap:has(> .sh),
  .page-template-page-ashiki .wrap.privacy,
  .page-template-page-ashiki .tz-sec > .wrap:has(> .tz-title, > .ps-lead),
  .lp-sec .wrap {
    display: block; max-width: calc(920px + var(--gut) * 2); margin-left: auto; margin-right: auto;
  }
  .page-template-page-ashiki .tz-sec > .wrap > *,
  .page-template-page-ashiki .sec > .wrap:has(> .sh) > *,
  .page-template-page-ashiki .wrap.privacy > * { max-width: none !important; }
  .page-template-page-ashiki .sec > .wrap:has(> .sh) > .sh { flex-direction: row; align-items: flex-end; margin-bottom: 28px; }
  .page-template-page-ashiki .tz-sec > .wrap > h2 { margin-bottom: 28px; }
  .page-template-page-ashiki .tz-sec > .wrap > p + p { margin-top: 1em; }
  .page-template-page-ashiki .wrap.privacy > h2 { margin-top: 56px; }
  .page-template-page-ashiki .wrap.privacy > h2:first-child { margin-top: 0; }
  .page-template-page-ashiki .wrap.privacy > p { margin-bottom: 0; }
  .page-template-page-ashiki .tz-sec .trow, .page-template-page-ashiki .sec .trow { grid-template-columns: 13em minmax(0, 1fr); }
  /* 帯の下の説明も同じ列に */
  .page-template-page-ashiki .pintro .wrap { max-width: calc(920px + var(--gut) * 2); }
  .pintro .lead { max-width: none; }
  /* 完全版マッチレポート */
  .lp-body { margin-top: 24px; }
  .lp-wide { margin-top: 28px; }
  /* 選手のページ */
  .pfx-wrap { max-width: calc(920px + var(--gut) * 2) !important; }
  .pfx { display: block; }
  .pfx > h2 { margin: 0 0 16px; }
  /* トップの feelings：見出しを上に、記事は2列 */
  .hfeel-in { display: block; }
  .hfeel-l { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
  .hfeel-l .sh { margin: 0; }
  .hfeel-l p { margin: 0; }
  .hfeel-r { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
  .hf:first-child { padding-top: 22px; }
}
/* =====================================================================
   区画の地の色（2026-11-09）：白と薄い灰色を交互にして、内容ごとに区切る。暗い帯はテクニカル・映像・フッターだけ
   ===================================================================== */
:root { --tint: #f2f5f8; }
/* トップ：Match 白 → News 灰 → Feelings 白 → Technical 暗 → Women 灰 → Partners 白 */
.hsec { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
.hnews, .hwomen { background: var(--tint) !important; }
.hnews .nimg, .hwomen .nimg { background: #e6ebf0; }
/* 試合のページの一番上（先週末の結果とこれからの試合）も灰の地で、下の日程と分ける */
.wk-top { background: var(--tint); padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
.wk-top + div[data-tabs] > .wrap:first-child, .wk-top + div[data-tabs] { padding-top: 0; }
.wk-top + div[data-tabs] .mt-team { margin-top: clamp(32px, 4vw, 56px); }
/* 長いページ（テクニカル・クラブ・パートナーシップ・女子部・入部案内など）：節ごとに白と灰を交互に */
.tz > .tz-sec { padding-top: calc(var(--sec) * .85) !important; padding-bottom: calc(var(--sec) * .85) !important; }
.tz > .tz-sec:nth-of-type(even) { background: var(--tint); }
.tz > .tz-sec:last-child { padding-bottom: calc(var(--sec) * .85) !important; }
.club-wide { margin-top: 0; padding-top: calc(var(--sec) * .85); padding-bottom: calc(var(--sec) * .85); }
body:not(.lp) .ashiki-content > .sec.paper, body:not(.lp) section.sec.paper { background: var(--tint) !important; }
body:not(.lp) .sec.paper, body:not(.lp) .sec.paper + .sec { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
/* 灰の地の上の、写真のない枠・入力欄は白に */
.tz-sec:nth-of-type(even) .pp.none, .sec.paper .pp.none { background: #e6ebf0 !important; }
.sec.paper .fschool input, .hnews .fschool input { background: #fff; }/* 試合のページ：一番上の「先週末の結果」は白（上の灰色の帯とつながらないように）。下の大会ごとの日程を灰・白の交互に */
.wk-top { background: #fff; }
.wk-top + div[data-tabs] .mt-team { margin-top: 0; padding-bottom: 8px; }
/* シーズン（年度）の切り替え */
.season-nav { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; padding-top: clamp(32px, 4vw, 48px); font-size: 15px; }
.season-nav span { font: 700 13px var(--jph); letter-spacing: .12em; color: var(--sub); }
.season-nav a { font: 700 16px var(--en); letter-spacing: .02em; color: var(--sub); text-decoration: none; }
.season-nav a[aria-current] { color: var(--blue); }
.season-nav a:hover { color: var(--blue); }
.season-nav + .wk-top { padding-top: clamp(32px, 4vw, 48px) !important; }
.tz-sec .season-nav { padding-top: 0; margin-bottom: 8px; justify-content: center; }/* 小さすぎる文字を少し大きく（2026-11-09 点検） */
.sched .hl, i.hl { font-size: 12px; }
.record small { font-size: 12px; }
/* feelings の記事の頭：ニュースの記事と同じ形（灰の帯に、黒い大きな題名） */
.fhead { background: var(--tint) !important; padding-bottom: clamp(32px, 4vw, 56px); border: 0 !important; }
.fhead .crumb { padding-top: 24px; }
.fhead .fh { padding-top: clamp(24px, 3vw, 44px); }
.fhead .fh-k, .fhead .fh-k time { font: 500 13px var(--en); letter-spacing: .04em; color: var(--sub); }
.fhead .fh h1 { margin-top: 10px; font: 700 clamp(26px, 3vw, 38px)/1.5 var(--jph) !important; letter-spacing: .04em; color: var(--ink) !important; }
.fhead .fh-by { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.fhead .fh-by b { font: 700 15px var(--jph); color: var(--ink); }
.fhead .fh-by b a { color: var(--blue); text-decoration: none; }
.fhead .fh-by span { display: block; font-size: 13px; color: var(--sub); }
/* 見つからないページ */
.nf2 p { font-size: 15px; line-height: 2; }
.nf2 .sform { display: flex; max-width: 520px; margin-top: 24px; }
.nf2 .sform input { flex: 1; min-width: 0; padding: 13px 14px; border: 1px solid #cfd6de; border-right: 0; border-radius: 0; font: 15px var(--jp); }
.nf2 .sform .btn::after { content: none; }
/* 選手へのリンク（スタメン・控え・交代の名前）：目立たせず、細い下線だけ */
a.pl-link { color: inherit; font-weight: inherit; text-decoration: underline; text-decoration-color: #c5ccd4; text-underline-offset: 3px; }
a.pl-link:hover { color: var(--blue); text-decoration-color: currentColor; }
.trow .dd a.pl-link { display: inline; margin: 0; font-weight: inherit; white-space: normal; }
.trow .dd a.pl-link::after { content: none; }
/* 選手のページ：今季の公式戦 */
.pa-sum { display: flex; flex-wrap: wrap; gap: 8px 36px; margin: 4px 0 16px; font-size: 13px; color: var(--sub); }
.pa-sum b { margin-right: 6px; font: 800 32px/1 var(--en); color: var(--ink); }
.pa-row { display: grid; grid-template-columns: 3.6em minmax(0, 1fr) 3.4em 8.5em; gap: 12px; align-items: baseline; padding: 9px 0; color: var(--ink); text-decoration: none; }
.pa-row:hover .pa-o { color: var(--blue); }
.pa-d { font: 600 14px var(--en); color: var(--sub); }
.pa-o { font: 700 15px/1.5 var(--jph); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-o small { margin-right: 10px; font: 500 12px var(--jp); color: var(--sub); }
.pa-s { font: 800 16px var(--en); }
.pa-r { font-size: 13px; color: var(--sub); }
.pa-r b { margin-left: 8px; color: var(--blue); }
.pa-more summary { margin-top: 6px; padding: 10px 0; cursor: pointer; font: 700 13px var(--jp); color: var(--blue); list-style: none; }
.pa-more summary::-webkit-details-marker { display: none; }
.pa-more[open] summary { display: none; }
.pa-src { margin-top: 12px; font-size: 12px; color: var(--sub); }
/* 「すべて見る」（スマホで長い一覧を畳む） */
.more-btn { display: block; width: 100%; margin-top: 10px; padding: 11px; border: 1px solid #d5dbe2; border-radius: 0; background: #fff; font: 700 13px var(--jp); color: var(--blue); cursor: pointer; }
.is-folded { display: none !important; }
.lead-more { display: inline; padding: 0; border: 0; background: none; font: 700 13px var(--jp); color: var(--blue); cursor: pointer; }

/* =====================================================================
   スマホ 3（2026-11-09）：文字も区画も小さく。省略を使ってスクロールを短く
   ===================================================================== */

/* ===== 2026-11-09 試合のページ（作り直し）：経過・メンバー・数字 ===== */
.mh-comp { margin: 0; }
.mhero .board .noemb { display: flex; align-items: center; justify-content: center; border: 2px solid rgba(255, 255, 255, .5); border-radius: 50%; font: 700 clamp(22px, 2.6vw, 36px) var(--jph); color: #fff; }
.mhero .board .sc small.st { line-height: 1.7; }
.mc-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); gap: clamp(32px, 5vw, 80px); align-items: start; max-width: 1080px; margin: 0 auto; }
.mc-top:not(:has(.mc-side)) { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
/* 試合の経過：真ん中の列に時間、左に東京大学、右に相手 */
.ev-hd, .ev { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); }
.ev-hd { margin-bottom: 0; font: 700 13px/1.4 var(--jph); letter-spacing: .06em; color: var(--sub); }
.ev-hd b { padding-bottom: 12px; }
.ev-hd b:first-child { text-align: right; padding-right: 18px; }
.ev-hd b:last-child { padding-left: 18px; }
.evs { margin: 0; padding: 0; list-style: none; }
.ev > span { min-width: 0; }
.ev-m { display: flex; align-items: center; justify-content: center; background: var(--tint); font: 700 14px/1 var(--en); font-variant-numeric: tabular-nums; color: var(--ink); }
.ev-c { display: flex; align-items: center; gap: 10px; padding: 11px 18px; font-size: 15px; line-height: 1.5; }
.ev.us .ev-c { flex-direction: row-reverse; text-align: right; }
.ev-t { min-width: 0; }
.ev-t a { color: inherit; }
.ev-goal-row .ev-t { font-weight: 700; }
.ev-score { flex: none; font: 800 15px/1 var(--en); font-variant-numeric: tabular-nums; color: var(--blue); }
.ev-in-n, .ev-out-n { display: block; }
.ev-out-n { font-size: 12.5px; color: var(--sub); }
.ev-div span { display: block; padding: 7px 0; background: var(--tint); text-align: center; font: 700 12px/1.4 var(--jph); letter-spacing: .1em; color: var(--sub); }
.ev-div.ft span { background: var(--navy); color: #fff; }
/* 小さな印 */
.ev-i { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 16px; height: 16px; font: 700 13px/1 var(--en); font-style: normal; }
.ev-goal svg { width: 16px; height: 16px; }
.ev-goal circle { fill: none; stroke: currentColor; stroke-width: 1.6; }
.ev-goal path { fill: currentColor; }
.ev-card { width: 10px; height: 14px; background: #f2c200; }
.ev-card.red { background: #d0313b; }
.ev-in { color: var(--blue); }
.ev-out, .ev-sub { color: var(--sub); }
/* 右の欄：主な数字・優秀選手 */
.mc-side { display: grid; gap: 28px; padding: 28px; background: var(--tint); }
.mc-nums .m-h, .mc-tl .m-h { margin-bottom: 18px; }
.mc-nums .m-h { font-size: 17px !important; }
.mn { display: grid; grid-template-columns: 1fr auto 1fr; align-items: baseline; gap: 12px; padding: 8px 0; }
.mn b { font: 800 22px/1 var(--en); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mn b:last-child { text-align: right; color: var(--sub); }
.mn span { font-size: 12.5px; color: var(--sub); text-align: center; white-space: nowrap; }
.mn-more { margin: 12px 0 0; font-size: 13px; }
.mc-mom .l { margin: 0; font: 700 12px var(--jph); letter-spacing: .1em; color: var(--sub); }
.mc-mom b { display: block; margin-top: 6px; font: 700 20px/1.4 var(--jph); }
.mc-mom b a { color: inherit; }
.mc-mom span { display: block; margin-top: 4px; font-size: 12px; color: var(--sub); }
.mc-p-sum .theater { margin-top: var(--sec); }
.mc-p-sum .mc-text { padding-top: var(--sec); }
.mc-p-sum .mc-text > :first-child { margin-top: 0; }
/* メンバー：先発と控え。名前の横に得点・警告・交代の時間 */
.mc-lu { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); max-width: 960px; margin: 0 auto; }
.mc-lu > div:only-child { grid-column: 1 / -1; max-width: 560px; margin: 0 auto; width: 100%; }
.lu-h { margin: 0 0 10px; font: 700 13px var(--jph) !important; letter-spacing: .1em; color: var(--sub); }
.lu { margin: 0; padding: 0; list-style: none; }
.lu li { display: grid; grid-template-columns: 2.4em 2.8em minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 14px; font-size: 15px; line-height: 1.4; }
.lu li:nth-child(odd) { background: var(--tint); }
.lu .no { font: 700 15px var(--en); color: var(--blue); font-variant-numeric: tabular-nums; }
.lu .pos { font: 600 12px var(--en); letter-spacing: .04em; color: var(--sub); }
.lu .nm { min-width: 0; font-weight: 700; }
.lu .nm a { color: inherit; }
.lu.bench .nm { font-weight: 500; }
.lu-m { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 10px; font: 600 12.5px/1 var(--en); color: var(--sub); white-space: nowrap; }
.lu-m > span { display: inline-flex; align-items: center; gap: 3px; }
.lu-m .ev-i { width: 13px; height: 13px; font-size: 12px; }
.lu-m .ev-goal svg { width: 13px; height: 13px; }
.lu-m .ev-card { width: 8px; height: 11px; }
.lu-key { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 4px; margin: 28px 0 0; font-size: 12px; color: var(--sub); }
.lu-key .ev-i { margin: 0 2px 0 10px; width: 13px; height: 13px; font-size: 12px; }
.lu-key .ev-goal svg { width: 13px; height: 13px; }
.lu-key .ev-card { width: 8px; height: 11px; }
.mc-p-xi .tz-src { margin-top: 20px; font-size: 12.5px; color: var(--sub); }
.mc-p-xi .m-h small { font-size: 14px; }

/* 数字と単位は途中で折り返さない（「14勝4分0敗」が2行に割れていた） */
.tfig b, .fig-n, .record b, .pa-sum b, .mhero .board .sc span, .tmx-s .sc, .sched .r, .wk-s, .mn b { white-space: nowrap; }
.tfig b { font-size: clamp(26px, 3.2vw, 44px); }
.tfig > div:first-child b { font-size: clamp(22px, 2.6vw, 34px); }
/* 見出しは行の長さをそろえ、文は最後の行に1〜2文字だけ残さない */
h1, h2, h3, h4 { text-wrap: balance; }
p, li, dd, dt, figcaption, .lead { text-wrap: pretty; }



/* 試合の経過は1列に（相手の出来事は得点だけなので、左右に分けると片側が空いて偏る） */
.evs { max-width: 720px; }
.ev { display: grid !important; grid-template-columns: 60px 16px minmax(0, 1fr) auto !important; align-items: center; column-gap: 14px; min-height: 48px; }
.ev-m { align-self: stretch; }
.ev-t { padding: 10px 0; font-size: 15px; line-height: 1.5; }
.ev-goal-row .ev-t { font-weight: 700; }
.ev-who { margin-left: 10px; font-size: 12px; font-weight: 500; color: var(--sub); }
.ev.them .ev-i { color: var(--sub); }
.ev-score { padding-right: 16px; font-size: 16px; }
.ev.them .ev-score { color: var(--ink); }
.mn-hd { padding: 0 0 6px !important; }
.mn-hd span { font-size: 11px !important; font-weight: 700; letter-spacing: .04em; color: var(--sub); text-align: left !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-hd span:last-child { text-align: right !important; }
/* 選手名のリンクは下線を消し、押せることは色で（表が線だらけに見えるため） */
.lu .nm a.pl-link, .ev-t a.pl-link, .mc-mom a.pl-link { text-decoration: none; }
.lu .nm a.pl-link:hover, .ev-t a.pl-link:hover, .mc-mom a.pl-link:hover { color: var(--blue); text-decoration: underline; }
.mc-p-sum.m-sec, .mc-p-xi.m-sec { padding-top: clamp(48px, 5vw, 80px) !important; }



/* 長い文（リード・一言・説明）は文節で切らない：文節で切ると行の長さがばらばらになる。最後の行が短くならないようにだけする */
.lead, .oneline, .roles p, .tcards p, .reasons p { word-break: normal !important; text-wrap: pretty; }
.lock span, .lock b { text-wrap: pretty; }


/* ===== 2026-11-10 スマホの釣り合いと改行（全ページ） ===== */
/* 試合の一覧：ハイライトの印は行の頭に置き、PCでは文字のあとへ */
.sched .c { display: flex; flex-wrap: wrap; align-items: baseline; }
.sched .c .hl { order: 2; }
.sched .c .ct { min-width: 0; }
/* トップの最近の結果：日付・相手・スコア */
.nm-res { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .9em; }
.nm-res .s { font-family: var(--en); font-variant-numeric: tabular-nums; white-space: nowrap; }
.wk-note a { white-space: nowrap; }


/* 短い行は文節で折り返す（ashiki.js が 40字までの行に .short を付ける） */
.short { word-break: auto-phrase; overflow-wrap: anywhere; }
.btn, .ashiki-content .wp-block-button__link { text-wrap: balance; }
.lock span { word-break: auto-phrase; }
/* 太字の題名（ニュースのカードなど）も、最後の行に1文字だけ残さない */
b, strong { text-wrap: pretty; }
.mhero .board .sc small .hs { margin: 0 .4em; }


/* ===== 2026-11-10 ヘッダー：ア式の青。右上に、試合結果の画像と同じ斜めの破片（文字の高さにはかからない） ===== */
.site-h { background: #187fc4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 96'%3E%3Cg fill='%23ffd000'%3E%3Cpolygon points='236,0 270,0 316,30 282,30'/%3E%3Cpolygon points='352,0 372,0 410,24 390,24'/%3E%3C/g%3E%3Cg fill='%2334c0ff'%3E%3Cpolygon points='196,0 222,0 262,26 236,26'/%3E%3Cpolygon points='292,0 336,0 384,31 340,31'/%3E%3Cpolygon points='388,0 420,0 420,22'/%3E%3C/g%3E%3Cpolygon fill='%23ffffff' opacity='.85' points='330,22 344,22 358,31 344,31'/%3E%3C/svg%3E") right top / auto 100% no-repeat !important; color: #fff; box-shadow: none !important; border: 0 !important; }
.site-h .bar { background: transparent !important; }
.site-h .brand, .site-h .brand b { color: #fff !important; }
.site-h .brand small { color: rgba(255, 255, 255, .82) !important; }
.site-h .gnav a { color: #fff !important; border-bottom-color: transparent !important; }
.site-h .gnav a[aria-current], .site-h .gnav a:hover { color: #fff !important; border-bottom-color: #ffd000 !important; box-shadow: inset 0 -3px 0 #ffd000; }
.site-h .h-util a, .site-h .h-util { color: #fff !important; }
.site-h .h-util svg { stroke: #fff !important; color: #fff; }
.site-h .menu-btn i { background: #fff !important; }
/* ロゴの隣の部の名前：前と同じ書体（日本語 Zen Kaku Gothic New 700・英語 Oswald 500） */
.brand b { font-family: "Zen Kaku Gothic New", var(--jph) !important; font-weight: 700 !important; letter-spacing: .04em; }
.brand small { font-family: "Oswald", var(--en) !important; font-weight: 500 !important; letter-spacing: .02em !important; }

/* フッターの上のパートナー：薄い青の面に */
.f-partners { background: #eef5fb !important; }

/* 試合のページ：右の欄の一番上の、試合結果の画像 */
.mc-ft { margin: 0; }
.mc-ft img { display: block; width: 100%; height: auto; }

/* ニュースの一覧の上：最新の結果と、試合のページへの入口 */
.nmatch-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 clamp(24px, 3vw, 40px); padding: 16px 20px; background: var(--tint); }
.nms-last { display: flex; align-items: baseline; gap: 0 14px; color: var(--ink); text-decoration: none; min-width: 0; }
.nms-last .k { font: 700 12px var(--jph); letter-spacing: .08em; color: var(--sub); white-space: nowrap; }
.nms-last .d { font: 700 14px var(--en); white-space: nowrap; }
.nms-last .o { font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nms-last .s { font: 800 20px/1 var(--en); white-space: nowrap; }
.nms-last:hover .o { color: var(--blue); }
.nms-all { font-weight: 700; font-size: 14px; color: var(--blue); text-decoration: none; white-space: nowrap; }
.nms-all::after { content: " →"; }

/* 記事の一覧は1件ごとに地の色を変えて縞にする（どこまでが1件か分かるように） */
.nlist .nrow:nth-child(even), .frows .frow:nth-child(even), .hfeel-r .hf:nth-child(even) { background: var(--tint) !important; }
.nlist .nrow, .frows .frow, .hfeel-r .hf { padding-left: 14px !important; padding-right: 14px !important; }
.hnews .nlist .nrow:nth-child(even) { background: #fff; }
/* 文章：複数行の段落は両端をそろえる（ashiki.js が .jfy を付ける） */
/* 両端そろえ（.jfy）は、短い行の字間が広がってばらつくのでやめた（2026-11-11） */





/* 2026-11-10：パートナーのロゴは白い地の画像が多いので、地の色に溶かす（白い四角が浮かないように） */
.f-partners .f-logos img, .tint .logos img, .sec.paper .logos img, .hpartners .logos img { mix-blend-mode: multiply; }
/* トップの feelings はPCでは2列の格子なので縞にしない（列ごとに色が付いて見えるため）。縞はスマホの1列のときだけ */
@media (min-width: 761px) {
  .hfeel-r .hf:nth-child(even) { background: none !important; }
  .hfeel-r .hf { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ===== 2026-11-11 文字の見直し（すべての幅） =====
   書体は2つだけ：日本語＝端末の標準のゴシック（iPhone・Mac はヒラギノ、Windows は游ゴシック、Android は Noto）
                 英字の大見出し・数字＝Inter Tight。ロゴの隣だけ前と同じ Zen Kaku Gothic New と Oswald
   字間はどこでも同じ（.03em）。詰め組み（palt）は大きな見出しだけ。太さは本文400・強調700 */
:root {
  --jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic Medium", YuGothic, "Yu Gothic", Meiryo, sans-serif;
  --jph: var(--jp);
  --en: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
}
body:not(.lp) { font-family: var(--jp); font-weight: 400; }
body:not(.lp) :where(p, li, dd, dt, td, th, a, span, small, label, button, input, select, textarea, figcaption, time, em, i, b, strong, h4, h5, summary, div) { letter-spacing: .03em !important; font-feature-settings: normal !important; }
body:not(.lp) :where(h1, h2, h3) { letter-spacing: .04em !important; font-feature-settings: "palt" 1 !important; font-family: var(--jp); }
body:not(.lp) :where(b, strong, h1, h2, h3, h4, th, dt) { font-weight: 700; }
/* 英字の大見出しと数字 */
body:not(.lp) :is(.en, .kv-big, .pband-h, .sh h2.en) { font-family: var(--en) !important; letter-spacing: -.015em !important; font-feature-settings: normal !important; font-weight: 800 !important; }
body:not(.lp) :is(.nm-h.en, .lab) { font-family: var(--en) !important; letter-spacing: .12em !important; font-weight: 700 !important; }
body:not(.lp) :is(.sched .dt, .sched .r, .wk-s, .mn b, .tfig b, .ev-m, .ev-score, .lu .no, .pa-sum b, .record b, .fig-n, .tmx-s .sc, .mhero .board .sc, .board .sc span, table.stand td.rk, .nms-last .s, .nms-last .d) { font-family: var(--en) !important; letter-spacing: 0 !important; font-variant-numeric: tabular-nums; }
.brand b { letter-spacing: .04em !important; }
.brand small { letter-spacing: .02em !important; }

/* 練習試合（非公開）の印 */
.closed { display: inline-block; margin-left: 8px; padding: 1px 6px; background: #5b6b7d; color: #fff; font: 700 10px/1.5 var(--jp); font-style: normal; vertical-align: 1px; white-space: nowrap; }
.sched .c .closed { order: 1; }
.wk-note2 { margin: 12px 0 0; font-size: 12px; color: var(--sub); }
.mh-closed { margin: 10px 0 0; font-size: 13px; color: rgba(255, 255, 255, .86); }
/* 先週末の結果の行：試合結果の画像（Instagram の画像）を右に小さく */
.wk-row:has(.wk-img) { grid-template-columns: 10em minmax(0, 1fr) auto 56px; }
.wk2 .wk-row:has(.wk-img) { grid-template-columns: 8em minmax(0, 1fr) auto 52px; }
.wk-img { display: block; align-self: center; width: 52px; height: 52px; overflow: hidden; }
.wk-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* 試合のページ：2枚目からの結果の画像 */
.mc-ft-more { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 6px; }
.mc-ft-more img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
/* 写真のない記事：部章は小さく真ん中に */
.nimg.none { background: #eef2f6 !important; }
html body .nimg.none img.nlogo { position: absolute !important; inset: auto !important; left: 50% !important; top: 50% !important; width: 30% !important; max-width: 64px !important; height: auto !important; aspect-ratio: 1; transform: translate(-50%, -50%) !important; object-fit: contain !important; opacity: .55 !important; }
/* サイトマップ */
.smap { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; }
.smap > li > a { display: block; padding-bottom: 8px; font-weight: 700; font-size: 16px; color: var(--ink); text-decoration: none; }
.smap ul { margin: 0; padding: 0; list-style: none; }
.smap ul a { display: block; padding: 5px 0; font-size: 14px; color: var(--sub); text-decoration: none; }
.smap a:hover { color: var(--blue); }
/* テクニカル・女子部の写真 */
.tz-ph { margin: 28px 0 0; }
.tz-ph img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.tz-ph figcaption { margin-top: 6px; font-size: 12px; color: var(--sub); }
.tz-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.tz-cards > div { padding: 20px 22px; background: var(--tint); }
.tz-cards h3 { margin: 0 0 6px; font-size: 16px; }
.tz-cards p { margin: 0; font-size: 14px; line-height: 1.85; color: #2f3b47; }
.tz-steps { counter-reset: st; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.tz-steps > div { counter-increment: st; padding-top: 14px; border-top: 3px solid var(--blue); }
.tz-steps > div::before { content: "0" counter(st); display: block; font: 800 22px/1 var(--en); color: var(--blue); }
.tz-steps h3 { margin: 10px 0 6px; font-size: 15px; }
.tz-steps p { margin: 0; font-size: 13.5px; line-height: 1.8; color: #2f3b47; }
.tz-latest { margin-top: 20px; }
.tz-latest .tl-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 0 10px; }
.tz-latest .tl-h b { font-size: 16px; }
.tz-latest .tl-h span { font-size: 13px; color: var(--sub); }
@media (max-width: 900px) {
  .tz-cards, .tz-steps { grid-template-columns: minmax(0, 1fr); }
  .smap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =====================================================================
   2026-11-12 リンクは箱にしない（PC も。美川「リンク先の四角いボックス、ださい」）
   文字＋矢印＋下線。地が暗いところは白。フォームの送信ボタン（button.btn）だけは四角のまま
   スマホは sp.css で「横いっぱいの1行（上下に細い線）」にする
   ===================================================================== */
html body a.btn, html body a.btn.line, html body .ashiki-content .wp-block-button__link, html body .ashiki-content .is-style-outline .wp-block-button__link, html body .kv2 .kv-btn {
  display: inline-flex !important; align-items: center; gap: 12px; min-height: 0; padding: 6px 0 7px !important; background: none !important;
  border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--blue) !important; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-decoration: none; transition: gap .2s, color .2s, opacity .2s; }
html body a.btn::after, html body .ashiki-content .wp-block-button__link::after, html body .kv2 .kv-btn::after { content: "→"; font-family: var(--en); font-weight: 700; }
html body a.btn:hover, html body .ashiki-content .wp-block-button__link:hover, html body .kv2 .kv-btn:hover { gap: 18px; background: none !important; color: var(--navy) !important; }
html body .btns, html body .ashiki-content .wp-block-buttons { gap: 14px 40px; }
/* 地が暗いところ */
html body .on a.btn, html body .hphoto a.btn, html body .mh-live a.btn, html body .kv2 .kv-btn, html body .ps-cta .wp-block-button__link, html body .ps-cta .is-style-outline .wp-block-button__link, html body .tx .wp-block-button__link, html body .tx .is-style-outline .wp-block-button__link, html body .ashiki-content .on .wp-block-button__link, html body .ashiki-content .on .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff !important; }
html body .on a.btn:hover, html body .hphoto a.btn:hover, html body .mh-live a.btn:hover, html body .kv2 .kv-btn:hover, html body .ps-cta .wp-block-button__link:hover, html body .tx .wp-block-button__link:hover, html body .ashiki-content .on .wp-block-button__link:hover { color: #fff !important; opacity: .75; }
/* 「すべて見る」：枠をやめて、下線の文字 */
html body .more-btn { display: flex; width: fit-content; margin: 20px auto 0; padding: 6px 0 7px; background: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: var(--blue); font-size: 14px; font-weight: 700; cursor: pointer; }
html body .more-btn::after { content: "＋"; margin-left: 10px; font-weight: 400; }
/* ページ送り：四角をやめて数字だけ。今のページは青い下線 */
html body .pager { gap: 4px 22px; }
html body .pager .page-numbers { min-width: 0; height: auto; padding: 6px 2px; border: 0; background: none; color: var(--ink); }
html body .pager .current { background: none; color: var(--blue); border-bottom: 2px solid var(--blue); }
html body .pager a.page-numbers:hover { color: var(--blue); }
/* feelings の年・期：箱をやめて文字だけ */
html body .fyears a, html body .fgens a { background: none !important; border: 0; border-radius: 0; }
html body .fyears a[aria-current], html body .fgens a[aria-current] { color: var(--blue) !important; background: none !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
/* 写真がないときのロゴは、枠の高さに合わせる（大きな枠でも小さな枠でも同じ見え方） */
html body .nimg.none img.nlogo { width: auto !important; max-width: none !important; height: 34% !important; }
html body .ncards .ncard .nimg.none img.nlogo, html body .nfeat .nside .nimg.none img.nlogo, html body .nrow .nimg.none img.nlogo { height: 56% !important; }
/* パートナーシップの最後（紺の地）：前の白い箱の指定より強く */
html body .ashiki-content .ps-cta .wp-block-button__link, html body .ashiki-content .ps-cta .is-style-outline .wp-block-button__link { background: none !important; color: #fff !important; }
/* 「非公開」は箱にせず、灰色の文字で「練習試合・非公開」と続ける */
html body .closed { margin: 0; padding: 0; background: none; color: var(--sub); font: 700 11px/1.5 var(--jp); font-style: normal; vertical-align: 0; }
html body .closed::before { content: "・"; font-weight: 400; }
html body .sched .c .closed { order: 9; margin: 0; }
/* 選んでいるタブ・絞り込みは、どこでも「青い文字＋青い下線」 */
html body .mtabs button[aria-selected="true"], html body .mtabs a[aria-current], html body .ptabs a[aria-selected="true"], html body .tm-squad a[aria-current], html body .filters a[aria-current] { color: var(--blue) !important; border-bottom: 2px solid var(--blue) !important; }
/* 「〇〇をすべて見る」の1行リンク（p.tz-link）も、文字＋矢印＋下線。本文中のリンクは青 */
html body .tz-link a { display: inline-flex; align-items: center; gap: 12px; padding: 6px 0 7px; border-bottom: 1px solid currentColor; color: var(--blue); font-weight: 700; text-decoration: none; transition: gap .2s; }
html body .tz-link a::after { content: "→"; font-family: var(--en); }
html body .tz-link a:hover { gap: 18px; }
html body .ashiki-content p a:not(.btn), html body .entry p a, html body .entry li a { color: var(--blue); }
/* 写真がまだない部員も、写真のある人と同じ地の色（選手は青、スタッフは紺）に白い人の形 */
html body .pp.pl.none, html body .sec.paper .pp.pl.none, html body .tz-sec:nth-of-type(even) .pp.pl.none { background: #2d69b2 !important; }
html body .pp.st.none, html body .sec.paper .pp.st.none, html body .tz-sec:nth-of-type(even) .pp.st.none { background: #003567 !important; }
html body .pp.none svg { fill: rgba(255, 255, 255, .22) !important; }
/* 日程の一覧では「非公開」が先に来るので「非公開・練習試合」の順に */
html body .sched .c .closed::before { content: none; }
html body .sched .c .closed::after { content: "・"; font-weight: 400; }

/* =====================================================================
   2026-11-12（2）トップの Match・Technical、試合結果の画像、feelings の一覧
   ===================================================================== */
/* トップの NEXT MATCH：両校の校章と名前を並べ、日時はその下 */
html body .nm-vs { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; margin: 18px 0 14px; padding: 20px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
html body .nm-vs .t { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; text-align: center; }
html body .nm-vs .t b { font: 700 16px/1.4 var(--jp); color: var(--ink); overflow-wrap: anywhere; }
html body .nm-vs img, html body .nm-vs .noemb { display: block; width: 64px; height: 64px; object-fit: contain; }
html body .nm-vs .noemb { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #e9edf2; color: var(--sub); font: 700 24px var(--jph); }
html body .nm-vs .v { font: 800 15px var(--en); letter-spacing: .08em; color: var(--sub); }
html body .nm-card .nm-w { margin: 0 0 6px; text-align: center; font-size: 20px; }
html body .nm-card .nm-c { margin: 4px 0 0; font-size: 13px; }
html body .hmatch .mgrid .btns { margin-top: 18px; }

/* トップの Technical：いちばん新しい試合の数字 */
html body .tlist .tl-data .tnums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; }
html body .tlist .tl-data .tnums span { display: block; padding: 2px 0 2px 14px; border-left: 1px solid rgba(255, 255, 255, .25); }
html body .tlist .tl-data .tnums span:first-child { padding-left: 0; border-left: 0; }
html body .tlist .tl-data .tnums b { display: block; margin: 0; font: 800 30px/1.1 var(--en); letter-spacing: 0; color: #fff; }
html body .tlist .tl-data .tnums b i { margin-left: 2px; font-size: .55em; font-style: normal; }
html body .tlist .tl-data .tnums small { display: block; margin: 4px 0 0; font-size: 11px; color: rgba(255, 255, 255, .7); }

/* 試合結果の画像：スコアの代わりに大きく */
html body .wk-row:has(.wk-img) { grid-template-columns: 10em minmax(0, 1fr) 128px; align-items: center; }
html body .wk2 .wk-row:has(.wk-img) { grid-template-columns: 8em minmax(0, 1fr) 116px; }
html body .wk-img { display: block; width: 100%; height: auto; aspect-ratio: 1; overflow: hidden; background: #e9edf2; }
html body .wk-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
html body .wk-img:hover img { transform: scale(1.04); }

/* feelings の一覧：題名 → 書き出し → 書いた人と日付。縞をやめ、細い線で区切る */
html body .frows .frow, html body .frows .frow:nth-child(even) { display: block; margin: 0; padding: 28px 0 26px !important; background: none !important; border: 0 !important; border-bottom: 1px solid var(--rule) !important; }
html body .frows .frow:first-child { border-top: 1px solid var(--rule) !important; }
html body .frow .t { display: block; font: 700 21px/1.55 var(--jph); letter-spacing: .04em; color: var(--ink); }
html body .frow .ex { display: -webkit-box; margin-top: 10px; overflow: hidden; font-size: 14.5px; line-height: 1.9; color: #4a5562; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
html body .frow .w { align-items: center; margin-top: 14px; font-size: 12.5px; }
html body .fw-face { display: block; flex: none; width: 28px; height: 28px; overflow: hidden; border-radius: 50%; background: #2d69b2; }
html body .fw-face img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; transform: scale(1.9); transform-origin: 50% 12%; }
html body .frow:hover .ex { color: var(--ink); }
/* トップの feelings も縞をやめて線で区切る（一覧とそろえる） */
html body .hfeel-r .hf, html body .hfeel-r .hf:nth-child(even) { padding-left: 0 !important; padding-right: 0 !important; background: none !important; border-bottom: 1px solid var(--rule); }
html body .hfeel-r .hf:first-child { border-top: 1px solid var(--rule); }

/* テクニカル（PC）：役割の箱をやめて線で区切る。写真が上の箱にくっつかないように */
html body .tz-cards { gap: 0 40px; }
html body .tz-cards > div { padding: 20px 0 22px; background: none; border-top: 1px solid var(--rule); }
html body .tz-ph { margin-top: 48px !important; }
html body .tz-cards + .tz-ph, html body .tz-steps + .tz-ph { margin-top: 56px !important; }
/* NEXT MATCH：日時と大会は左寄せで上、校章の段だけ左右対称。会場などの行は詰める */
html body .nm-card .nm-w, html body .hmatch .nm-card .nm-w { margin: 6px 0 0; text-align: left; }
html body .nm-card .trow { grid-template-columns: 6em minmax(0, 1fr); gap: 12px; padding: 8px 0; }
/* 写真のない一番上のニュースは、正方形でなく 3:2 に（灰色の面が大きくなりすぎないように） */
html body .nfeat .main .nimg.none { aspect-ratio: 3 / 2 !important; }
html body .nfeat .main .nimg.none img.nlogo { height: 30% !important; }
/* feelings：ページの頭の説明は1行を長くしすぎない。顔は少し大きく写す */
html body .pintro .lead { max-width: 46em; }
html body .fw-face img { transform: scale(2.3); transform-origin: 50% 10%; }
/* リーグ戦の成績：黒い数字＋小さな単位、項目名は下、細い線で区切る（青い大きな数字はやめた） */
html body .record.rec2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 28px 0 0; padding: 0; background: none; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
html body .record.rec2:has(> div:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html body .record.rec2 > div { padding: 18px 8px 16px; border: 0; border-left: 1px solid var(--rule); text-align: center; }
html body .record.rec2 > div:first-child { border-left: 0; }
html body .record.rec2 b { display: block; margin: 0; font: 800 30px/1.1 var(--en); letter-spacing: 0; color: var(--ink); }
html body .record.rec2 b i { margin: 0 4px 0 1px; font: 700 12px var(--jp); font-style: normal; color: var(--sub); }
html body .record.rec2 b i:last-child { margin-right: 0; }
html body .record.rec2 b.jp { font: 700 20px/1.5 var(--jph); }
html body .record.rec2 small { display: block; margin-top: 8px; font: 700 11px var(--jp); letter-spacing: .06em; color: var(--sub); }
html body .tx .record.rec2 b, html body .on .record.rec2 b { color: #fff; }
/* 記事の表（項目｜説明の2列）：項目の列は幅を決めて折り返さない、上でそろえる、行の間に細い線 */
html body .tbl table.tb { border-top: 1px solid var(--ink); }
html body .tbl table.tb tr:first-child > * { border-top: 0; }
html body .tbl table.tb td, html body .tbl table.tb th { border-bottom: 1px solid var(--rule); }
html body .tbl table.tb:not(.hrow):not(.vs):not(.score) td:first-child:nth-last-child(2) { width: 10em; padding: 16px 28px 16px 2px; vertical-align: top; font-weight: 700; color: var(--ink); word-break: keep-all; overflow-wrap: anywhere; }
html body .tbl table.tb:not(.hrow):not(.vs):not(.score) td:last-child:nth-child(2) { padding: 16px 2px 16px 0; vertical-align: top; line-height: 1.9; }
/* 見出しと表の間をあけすぎない */
html body figure.wp-block-table { margin: 16px 0 44px; }
html body figure.wp-block-table .tbl { margin: 0; }
/* 表の行の中のリンク（連盟のページなど）は折り返す。右の列にはみ出さない */
html body .trow .dd a { display: inline; margin-left: 0; white-space: normal; overflow-wrap: anywhere; }
html body .trow .dd { min-width: 0; }

/* =====================================================================
   2026-11-12（3）成績は Win / Draw / Loss / Points / Goals、テクニカルの全試合の一覧
   ===================================================================== */
html body .record.rec2, html body .record.rec2:has(> div:nth-child(4)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
html body .record.rec2.has-res { grid-template-columns: 1.4fr repeat(5, minmax(0, 1fr)); }
html body .record.rec2 > div { border-top: 0; }
html body .record.rec2 b i { margin: 0 .12em; font: 600 .8em var(--en); color: var(--sub); }
html body .record.rec2 small { font: 700 11px var(--en); letter-spacing: .1em; text-transform: uppercase; }
html body .record.rec2 .r-res small { font: 700 11px var(--jp); letter-spacing: .04em; text-transform: none; }
html body .tseason .record.rec2 { margin-top: 14px; }
/* 勝敗の言葉（Win・Draw・Loss） */
html body .tmx-r { font: 700 13px var(--en); letter-spacing: .06em; }
html body .sched .r i.wdl { font: 700 11px var(--en); letter-spacing: .04em; }
html body .wk-s i { font: 700 12px var(--en); letter-spacing: .04em; }

/* 先週末の結果・今後の試合予定（PC）：どの行も「日付｜試合｜結果」の同じ列。上でそろえ、行の間に細い線 */
html body .wk-team + .wk-team { margin-top: 36px; }
html body .wk-team h3 { margin: 0; padding-bottom: 10px; border-bottom: 1px solid var(--ink); font: 700 12px var(--jph); letter-spacing: .14em; color: var(--blue); }
html body .wk-row, html body .wk2 .wk-row, html body .wk-row:has(.wk-img), html body .wk2 .wk-row:has(.wk-img) { grid-template-columns: 9.5em minmax(0, 1fr) 112px; gap: 4px 20px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--rule); }
html body .wk-d, html body .wk2 .wk-d { padding-top: 2px; font: 700 13px/1.6 var(--jp); white-space: nowrap; }
html body .wk-c { font-size: 12px; line-height: 1.6; }
html body .wk-o, html body .wk2 .wk-o { margin-top: 2px; font: 700 16px/1.5 var(--jph); }
html body .wk-g { font-size: 12.5px; color: var(--sub); }
html body .wk-l { margin-top: 6px; font-size: 12.5px; }
html body .wk-s, html body .wk2 .wk-s { grid-column: 3; display: flex; flex-direction: column; align-items: flex-end; justify-self: end; font: 800 28px/1 var(--en); }
html body .wk-s i { margin: 6px 0 0; color: var(--sub); }
html body .wk-img { grid-column: 3; width: 112px; height: 112px; }
/* 会場名は変な所で折り返さない */
html body .wk-g { text-wrap: wrap; word-break: normal; line-break: strict; }
/* 試合結果のニュース：上の写真は Instagram の結果画像。切らずにそのまま */
html body .aimg.res { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto 32px; aspect-ratio: auto; object-fit: contain; }
/* 記事の中のボタンも、文字＋矢印＋下線（箱にしない） */
html body .entry .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 14px 40px; margin: 28px 0; padding: 0; }
html body .entry .wp-block-button { margin: 0; }
html body .entry .wp-block-button__link, html body .entry .is-style-outline .wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; padding: 6px 0 7px; background: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: var(--blue); font-size: 15px; font-weight: 700; text-decoration: none; }
html body .entry .wp-block-button__link::after { content: "→"; font-family: var(--en); }
/* 完全版マッチレポート（PC）：見出しを一段小さく、試合の流れとことばを細い線で区切る */
html body.lp .lp-h { font-size: clamp(22px, 2vw, 26px); }
html body.lp .lp-flow li { border-top: 1px solid var(--rule); padding: 16px 0; }
html body.lp .lp-flow li:last-child { border-bottom: 1px solid var(--rule); }
html body.lp .lp-qt { font-size: clamp(18px, 1.7vw, 22px); }
html body.lp .lp-q blockquote { font-size: 15px; line-height: 1.95; }
html body.lp .lp-xil li { border-bottom: 1px solid var(--rule); }
html body.lp .lp-xil b { font-size: 15px; }

/* =====================================================================
   2026-11-12（4）トップ：最近の結果の帯と Video（プロのクラブのサイトの型）
   ===================================================================== */
html body .rs { margin-top: 56px; }
html body .rs-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
html body .rs-card { display: grid; justify-items: center; align-content: start; gap: 6px; padding: 18px 10px 20px; border-left: 1px solid var(--rule); color: var(--ink); text-align: center; text-decoration: none; transition: background .2s; }
html body .rs-card:first-child { border-left: 0; }
html body .rs-card:hover { background: #f5f7f9; }
html body .rs-d { font: 800 15px/1 var(--en); letter-spacing: .02em; }
html body .rs-c { max-width: 100%; overflow: hidden; font-size: 11px; line-height: 1.5; color: var(--sub); white-space: nowrap; text-overflow: ellipsis; }
html body .rs-m { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
html body .rs-m img, html body .rs-m .noemb { display: block; width: 34px; height: 34px; object-fit: contain; }
html body .rs-m .noemb { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #e9edf2; color: var(--sub); font: 700 13px var(--jph); }
html body .rs-m b { font: 800 24px/1 var(--en); font-variant-numeric: tabular-nums; white-space: nowrap; }
html body .rs-o { max-width: 100%; overflow: hidden; font-size: 12.5px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
html body .rs .wdl { font: 700 11px var(--en); font-style: normal; letter-spacing: .08em; color: var(--sub); }
html body .rs .wdl.w { color: var(--blue); }
/* Video：暗い地（映像の区画）。大きい1本と小さい2本 */
html body .hvideo { background: var(--navy); color: #fff; }
html body .hvideo .sh h2.en { color: #fff; }
html body .hvideo .sh .all { color: rgba(255, 255, 255, .8); }
html body .hv-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px 28px; }
html body .hv { margin: 0; }
html body .hv:first-child { grid-row: 1 / span 2; }
html body .hv figcaption { margin-top: 10px; }
html body .hv figcaption small { display: block; font-size: 11px; letter-spacing: .04em; color: rgba(255, 255, 255, .6); }
html body .hv figcaption a { display: block; margin-top: 2px; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none; }
html body .hv:first-child figcaption a { font-size: 17px; }
html body .hv figcaption a:hover { text-decoration: underline; }
/* ニュースの写真は上寄りで切る（試合結果の画像の FULL TIME・スコア、人の顔が残るように） */
html body .nimg img { object-position: 50% 22%; }

/* =====================================================================
   2026-11-12（5）トップの Match（海外クラブの Fixtures & Results の型）、成績、選手の数字、日程の列、絞り込み
   ===================================================================== */
/* Match：紺の帯に NEXT MATCH と LATEST RESULT を同じ形で並べる */
html body .hmatch2 { padding: 0 0 var(--sec); }
html body .fx-band { padding: clamp(48px, 5vw, 80px) 0 clamp(40px, 4vw, 64px); background: var(--navy); color: #fff; }
html body .fx-band .sh h2.en { color: #fff; }
html body .fx-band .sh .all { color: rgba(255, 255, 255, .82); }
html body .fx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
html body .fx { position: relative; display: flex; overflow: hidden; min-height: 330px; background: rgba(255, 255, 255, .06); color: #fff; }
html body .fx-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: .32; }
html body .fx-next::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11, 34, 64, .55) 0%, rgba(11, 34, 64, .88) 100%); }
html body .fx-in { position: relative; z-index: 2; display: flex; flex-direction: column; width: 100%; padding: 22px 26px 22px; }
html body .fx-h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, .22); }
html body .fx-k { font: 800 12px var(--en); letter-spacing: .16em; color: var(--yellow); }
html body .fx-last .fx-k { color: rgba(255, 255, 255, .85); }
html body .fx-d { font: 800 15px var(--en); letter-spacing: .04em; }
html body .fx-c { min-height: 1.6em; margin: 14px 0 0; font-size: 12.5px; line-height: 1.6; color: rgba(255, 255, 255, .78); text-align: center; }
html body .fx-m { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 12px; margin: 18px 0 0; }
html body .fx-t { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; text-align: center; }
html body .fx-t img, html body .fx-t .noemb { display: block; width: 72px; height: 72px; object-fit: contain; }
html body .fx-t .noemb { display: flex; align-items: center; justify-content: center; border: 2px solid rgba(255, 255, 255, .5); border-radius: 50%; font: 700 26px var(--jph); color: #fff; }
html body .fx-t b { font: 700 15px/1.4 var(--jp); color: #fff; overflow-wrap: anywhere; }
html body .fx-s { display: flex; flex-direction: column; align-items: center; padding-top: 14px; }
html body .fx-s b { font: 800 40px/1 var(--en); letter-spacing: .01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
html body .fx-s small { margin-top: 8px; font: 700 10px var(--en); letter-spacing: .16em; color: rgba(255, 255, 255, .7); }
html body .fx-s small.wdl.w { color: var(--yellow); }
html body .fx-v { min-height: 1.6em; margin: 14px 0 0; font-size: 12.5px; color: rgba(255, 255, 255, .78); text-align: center; }
html body .fx-l { display: flex; justify-content: center; gap: 28px; margin-top: auto; padding-top: 16px; }
html body .fx-l a { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, .6); color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
html body .fx-l a::after { content: "→"; font-family: var(--en); }
html body .fx-l a:hover { opacity: .75; }
html body .hm-below { padding-top: clamp(36px, 4vw, 56px); }
html body .hm-below .rs { margin-top: 0; }
html body .hm-two { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 56px; margin-top: 48px; align-items: start; }
html body .hm-links { display: block; margin: 36px 0 0; }
html body .hm-links .btn { display: flex !important; justify-content: space-between; width: 100%; padding: 14px 2px 14px 0 !important; border-top: 1px solid var(--rule) !important; border-bottom: 0 !important; }
html body .hm-links .btn:last-child { border-bottom: 1px solid var(--rule) !important; }

/* 成績：Win・Draw・Loss・Points・Goals を1列に。線は上下だけ。結果（無敗優勝）は見出しとして上に */
html body .record.rec2, html body .record.rec2.has-res, html body .record.rec2:has(> div:nth-child(4)) { display: flex; flex-wrap: wrap; gap: 0; padding: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
html body .record.rec2 > div, html body .record.rec2 > .r-d, html body .record.rec2 > .r-l, html body .record.rec2 > .r-g { flex: 1 1 0; padding: 20px 4px 18px; border: 0; text-align: center; }
html body .record.rec2 > .r-res { flex: 1 0 100%; display: flex; align-items: baseline; gap: 14px; padding: 16px 0 14px; border-bottom: 1px solid var(--rule); text-align: left; }
html body .record.rec2 b { font: 800 34px/1 var(--en); color: var(--ink); }
html body .record.rec2 b i { margin: 0 .08em; font: 600 .7em var(--en); color: var(--sub); }
html body .record.rec2 b.jp { font: 700 20px/1.4 var(--jph); }
html body .record.rec2 small { display: block; margin-top: 10px; font: 700 10.5px var(--en); letter-spacing: .14em; color: var(--sub); }
html body .record.rec2 .r-res small { margin: 0; font: 700 12px var(--jp); letter-spacing: .04em; }

/* 日程の行：結果の列は幅を決め、スコアの左端をそろえる */
html body .sched a { grid-template-columns: 84px minmax(0, 1fr) 7.5em; }
html body .sched .r { display: flex; align-items: baseline; gap: 8px; justify-content: flex-start; }
html body .sched .r i.wdl { margin: 0; }

/* トップのパートナー：検討している企業への入口 */
html body .p-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px 40px; flex-wrap: wrap; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--rule); }
html body .p-cta p { margin: 0; font-size: 13px; line-height: 1.8; color: var(--sub); }
html body .p-cta p b { display: block; font-size: 16px; color: var(--ink); }
html body .p-cta .btns { margin: 0; }
/* 試合のページ：保護者の皆さまへ */
html body .wk-par { margin-top: 14px; font-size: 13px; }
html body .wk-par a { color: var(--blue); font-weight: 700; text-decoration: none; }
html body .wk-par a::after { content: " →"; font-family: var(--en); }
/* 動画の部品：1つ目は大きく、2つ目からは2列 */
html body .vds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 24px; }
html body .vd { margin: 0; }
html body .vd-main { grid-column: 1 / -1; }
html body .vd figcaption { margin-top: 8px; font-size: 13px; font-weight: 700; line-height: 1.5; }
html body .vd-main figcaption { font-size: 15px; }
/* トップの Match：上の写真との間に白い隙間を作らない */
html body section.hsec.hmatch2 { padding-top: 0 !important; margin-top: 0 !important; }

/* 重要なお知らせ：赤い印（ほかの言葉と同じ大きさ）、トップの一番上の帯、記事の頭の赤い線 */
html body .nm i.imp, html body i.imp { display: inline-block; margin-right: 8px; padding: 1px 7px; background: #c8102e; color: #fff !important; font: 700 10.5px/1.6 var(--jp); font-style: normal; letter-spacing: .08em; }
html body .imp-bar { background: #fff; border-bottom: 1px solid #f0c7cd; }
html body .imp-bar a { display: flex; align-items: baseline; gap: 14px; padding: 12px 0; color: var(--ink); text-decoration: none; }
html body .imp-bar a + a { border-top: 1px solid #f3dde0; }
html body .imp-bar a i { flex: none; padding: 2px 9px; background: #c8102e; color: #fff; font: 700 11px/1.6 var(--jp); font-style: normal; letter-spacing: .1em; }
html body .imp-bar .d { flex: none; font: 600 12px var(--en); color: var(--sub); }
html body .imp-bar b { min-width: 0; font-size: 14px; font-weight: 700; line-height: 1.6; }
html body .imp-bar a:hover b { color: #c8102e; text-decoration: underline; }
html body .imp-bar b::after { content: " →"; font-family: var(--en); }
html body .ahead.imp { border-top: 4px solid #c8102e; }
html body .ahead.imp .akick::before { content: "重要"; display: inline-block; margin-right: 10px; padding: 1px 8px; background: #c8102e; color: #fff; font: 700 11px/1.6 var(--jp); letter-spacing: .1em; vertical-align: 1px; }

/* =====================================================================
   2026-11-12（6）フッターとサイトマップ（作り直し）
   ===================================================================== */
html body .site-f.f2 { padding: clamp(56px, 6vw, 88px) 0 28px; background: var(--navy); color: #fff; font-size: 13px; }
html body .f2 a { color: #fff; text-decoration: none; }
/* 部章と SNS */
html body .f2-head { display: flex; justify-content: space-between; align-items: center; gap: 24px 40px; flex-wrap: wrap; padding-bottom: 36px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
html body .f2-brand { display: flex; align-items: center; gap: 18px; }
html body .f2-brand img { width: 84px; height: 84px; }
html body .f2-brand span { display: flex; flex-direction: column; gap: 4px; }
html body .f2-brand b { font: 700 20px/1.3 var(--jph); letter-spacing: .06em; }
html body .f2-brand small { font: 600 11px var(--en); letter-spacing: .04em; color: rgba(255, 255, 255, .7); }
html body .f2-brand em { margin-top: 4px; font: 800 11px var(--en); font-style: normal; letter-spacing: .24em; color: var(--yellow); }
html body .f2 .sns { display: flex; gap: 8px; margin: 0; }
html body .f2 .sns a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; transition: background .2s, border-color .2s; }
html body .f2 .sns a:hover { background: #fff; border-color: #fff; color: var(--navy); }
html body .f2 .sns svg { width: 18px; height: 18px; fill: currentColor; }
/* 目的から探す */
html body .f2-purpose { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid rgba(255, 255, 255, .16); }
html body .f2-purpose a { display: flex; flex-direction: column; gap: 6px; padding: 24px 24px 26px 0; border-left: 0; transition: opacity .2s; }
html body .f2-purpose a + a { padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .16); }
html body .f2-purpose b { display: flex; justify-content: space-between; gap: 12px; font: 700 15px/1.45 var(--jph); letter-spacing: .04em; }
html body .f2-purpose b::after { content: "→"; flex: none; font-family: var(--en); color: var(--yellow); transition: transform .2s; }
html body .f2-purpose a:hover b::after { transform: translateX(4px); }
html body .f2-purpose small { font-size: 11.5px; line-height: 1.6; color: rgba(255, 255, 255, .62); }
/* サイトの構成 */
html body .f2-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.25fr; gap: 0 32px; padding: 36px 0 40px; }
html body .f-col { margin: 0; }
html body .f-col summary { display: block; margin-bottom: 14px; font: 800 11px var(--en); letter-spacing: .18em; color: var(--yellow); list-style: none; cursor: default; }
html body .f-col summary::-webkit-details-marker { display: none; }
html body .f-col ul { margin: 0; padding: 0; list-style: none; }
html body .f-col li a { display: block; padding: 5px 0; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .72); transition: color .2s; }
html body .f-col li.top a { margin-top: 6px; font-weight: 700; color: #fff; }
html body .f-col li.top:first-child a { margin-top: 0; }
html body .f-col li a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
html body .f-sns li a { display: flex; justify-content: space-between; gap: 10px; }
html body .f-sns li a span { font: 500 11.5px var(--en); color: rgba(255, 255, 255, .5); }
/* 住所と決まりごと */
html body .f2-bottom { display: flex; justify-content: space-between; align-items: baseline; gap: 10px 32px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 11.5px; color: rgba(255, 255, 255, .6); }
html body .f2-bottom p { margin: 0; }
html body .f2-legal { display: flex; gap: 6px 22px; flex-wrap: wrap; }
html body .f2-legal a { color: rgba(255, 255, 255, .8); }
html body .f2-legal a:hover { color: #fff; }
html body .f2-copy { width: 100%; font: 500 11px var(--en); letter-spacing: .04em; }

/* サイトマップ */
html body .smap2 .sm-h { margin: 0 0 18px; font: 700 13px var(--jph); letter-spacing: .14em; color: var(--sub); }
html body .smap2 .sm-h + .sm-grid { margin-top: 0; }
html body .sm-purpose { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 64px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
html body .sm-purpose a { display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 24px 0; color: var(--ink); text-decoration: none; }
html body .sm-purpose a + a { padding-left: 22px; border-left: 1px solid var(--rule); }
html body .sm-purpose b { display: flex; justify-content: space-between; gap: 10px; font: 700 16px/1.45 var(--jph); }
html body .sm-purpose b::after { content: "→"; flex: none; font-family: var(--en); color: var(--blue); transition: transform .2s; }
html body .sm-purpose a:hover b::after { transform: translateX(4px); }
html body .sm-purpose small { font-size: 12px; line-height: 1.6; color: var(--sub); }
html body .sm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 48px; }
html body .sm-g { min-width: 0; padding-top: 18px; border-top: 1px solid var(--ink); }
html body .sm-en { display: flex; justify-content: space-between; margin: 0; font: 800 11px var(--en); letter-spacing: .18em; color: var(--blue); text-transform: uppercase; }
html body .sm-en span { font: 500 11px var(--en); letter-spacing: .04em; color: var(--sub); text-transform: none; }
html body .sm-g h2 { margin: 6px 0 0; font: 700 24px/1.35 var(--jph); letter-spacing: .04em; }
html body .sm-g h2 a { color: var(--ink); text-decoration: none; }
html body .sm-g h2 a:hover { color: var(--blue); }
html body .sm-d { margin: 6px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--sub); }
html body .sm-g ul { margin: 14px 0 0; padding: 0; list-style: none; }
html body .sm-g li a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--rule); color: var(--ink); font-size: 13.5px; text-decoration: none; }
html body .sm-g li a:hover { color: var(--blue); }
html body .sm-g li .n, html body .sm-sns li a span { font: 600 12px var(--en); color: var(--sub); }
html body .sm-foot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 64px; }

/* フッター（2026-11-12 作り直し）：紺の地、小さな文字、4列＋Follow、線は細く2本だけ */
html body .site-f.f3 { padding: 56px 0 28px; background: var(--navy); color: rgba(255, 255, 255, .72); font-size: 12.5px; text-align: left; }
html body .f3 a { color: inherit; text-decoration: none; transition: color .2s; }
html body .f3 a:hover { color: #fff; }
html body .f3-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 32px; }
html body .f3-brand { display: flex; align-items: center; gap: 14px; color: #fff; }
html body .f3-brand img { width: 40px; height: 40px; }
html body .f3-brand span { display: flex; flex-direction: column; gap: 2px; }
html body .f3-brand b { font: 700 14px/1.3 var(--jph); letter-spacing: .08em; color: #fff; }
html body .f3-brand small { font: 500 10px var(--en); letter-spacing: .06em; color: rgba(255, 255, 255, .5); }
html body .f3 .sns { display: flex; gap: 18px; margin: 0; }
html body .f3 .sns a { display: block; width: auto; height: auto; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, .7); }
html body .f3 .sns a:hover { color: #fff; background: none; }
html body .f3 .sns svg { display: block; width: 17px; height: 17px; fill: currentColor; }
html body .f3-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 28px; padding: 32px 0 40px; border-top: 1px solid rgba(255, 255, 255, .12); }
html body .f3 .f-col { margin: 0; border: 0; }
html body .f3 .f-col summary { display: block; margin: 0 0 12px; padding: 0; font: 700 10px var(--en); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .42); list-style: none; cursor: default; }
html body .f3 .f-col summary::-webkit-details-marker { display: none; }
html body .f3 .f-col summary::after { content: none; }
html body .f3 .f-col ul { display: block; margin: 0; padding: 0; list-style: none; }
html body .f3 .f-col li a { display: block; padding: 4px 0; font-size: 12.5px; line-height: 1.6; letter-spacing: .03em; }
html body .f3-bottom { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 24px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 10.5px; color: rgba(255, 255, 255, .45); }
html body .f3-bottom p { margin: 0; }
html body .f3-copy { font: 500 10.5px var(--en); letter-spacing: .04em; }
html body .f3-legal { display: flex; flex-wrap: wrap; gap: 4px 18px; }
html body .f3-legal a { color: rgba(255, 255, 255, .62); }
/* 文は端まで使って折り返す（文節で早めに折る・行をそろえる指定はやめた。2026-11-12 美川「右に隙間ができている」） */
html body :is(h1, h2, h3, h4, p, li, dd, dt, blockquote, figcaption, td, th, b, strong, span, a, .lead, .oneline, .hf-t, .frow .t, .ncard b, .nrow b, .fcard b, .nm-w, .kv-jp) { text-wrap-style: auto !important; line-break: strict; }
html body :is(h1, h2, h3, h4, .lead, .kv-jp, .nm-w, .rline, .oneline, .hf-t, .frow .t, .ncard b, .nrow b, .fcard b, .roles p, .tcards p, .reasons p) { word-break: normal !important; }

/* =====================================================================
   2026-11-12（11）試合のページの概要：優秀選手、90分の流れ、主な数字、下の段
   ===================================================================== */
html body .mc-side { display: grid; gap: 20px; align-content: start; padding: 0; background: none; }
html body .mc-mom2 { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
html body .mc-mom2:not(:has(.mom-ph)) { grid-template-columns: minmax(0, 1fr); }
html body .mc-mom2 .mom-ph .pp { width: 88px; aspect-ratio: 4 / 5; }
html body .mc-mom2 .l { margin: 0; font: 800 10px var(--en); letter-spacing: .16em; color: var(--blue); }
html body .mc-mom2 b { display: block; margin-top: 4px; font: 700 18px/1.4 var(--jph); }
html body .mc-mom2 b a { color: var(--ink); text-decoration: none; }
html body .mc-mom2 .pos { display: block; margin-top: 2px; font-size: 12px; color: var(--sub); }
html body .mc-mom2 .nt { margin: 8px 0 0; font-size: 13px; line-height: 1.75; }
html body .mc-mom2 .src { display: block; margin-top: 6px; font-size: 11px; color: var(--sub); }
/* 90分の流れ */
html body .mc-flow { margin-top: clamp(48px, 5vw, 72px); }
html body .tb-legend { display: flex; gap: 20px; margin: -4px 0 12px; font-size: 12px; color: var(--sub); }
html body .tb-legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; }
html body .tb-legend .us::before { background: var(--blue); }
html body .tb-legend .them::before { background: #b7c0ca; }
html body .mc-mom-chart svg { display: block; width: 100%; height: auto; }
html body .tbar { position: relative; height: 92px; margin-top: 8px; }
html body .tb-line { position: absolute; left: 0; right: 0; top: 46px; height: 0; border-top: 1px solid var(--ink); }
html body .tb-line i { position: absolute; top: -4px; height: 8px; border-left: 1px solid rgba(15, 30, 48, .35); }
html body .tb-line i.ht { top: -46px; height: 92px; border-left: 1px dashed rgba(15, 30, 48, .3); }
html body .tb-line i span { position: absolute; top: 10px; left: 0; transform: translateX(-50%); font: 600 10.5px var(--en); color: var(--sub); white-space: nowrap; }
html body .tb-line i.ht span { top: 56px; }
html body .tbm { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 2px; transform: translateX(-50%); }
html body .tbm.us { bottom: 50px; }
html body .tbm.them { top: 50px; flex-direction: column-reverse; }
html body .tbm .ev-i { width: 16px; height: 16px; }
html body .tbm.t-sub .ev-i, html body .tbm.t-card .ev-i, html body .tbm.t-red .ev-i { width: 12px; height: 12px; opacity: .7; }
html body .tbm small { font: 700 10.5px var(--en); color: var(--ink); }
html body .tbm.us.t-goal .ev-i svg circle { fill: var(--blue); }
/* 主な数字 */
html body .mc-keys { margin-top: clamp(40px, 4vw, 64px); max-width: 820px; }
html body .mc-keys .mn-more { margin-top: 14px; text-align: right; }
/* 下の段（2026-11-11 作り直し）：箱をやめ、上に太い線を引いた列を横に並べる。直近の試合・次の試合・ニュース */
html body .mc-ctx { margin-top: clamp(48px, 5vw, 80px); padding: clamp(40px, 4vw, 56px) 0 clamp(44px, 4vw, 64px); background: var(--tint); }
html body .cxs { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: clamp(32px, 3.4vw, 56px); align-items: start; }
html body .cxs.n2 { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
html body .cxs.n1 { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
html body .cx-h { margin: 0 0 12px; padding: 0; border: 0; font: 700 13px/1.4 var(--jp); letter-spacing: .06em; color: var(--ink); }
/* 直近の試合：結果の色の線（Win 青・Draw 灰・Loss 紺）＋スコア。この試合以外は薄く */
html body .fms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
html body .fi { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; padding: 10px 0 0; border-top: 3px solid #c9d1da; color: var(--ink); text-decoration: none; transition: opacity .2s; }
html body .fi.w { border-top-color: var(--blue); }
html body .fi.l { border-top-color: var(--navy); }
html body .fi .fi-r { font: 700 10.5px/1.2 var(--en); letter-spacing: .08em; text-transform: uppercase; color: var(--sub); }
html body .fi.w .fi-r { color: var(--blue); }
html body .fi.l .fi-r { color: var(--navy); }
html body .fi b { display: block; font: 600 22px/1.1 var(--en); font-variant-numeric: tabular-nums; letter-spacing: .01em; white-space: nowrap; }
html body .fi .fi-o { overflow: hidden; font-size: 12px; font-weight: 700; line-height: 1.4; white-space: nowrap; text-overflow: ellipsis; }
html body .fi .fi-d { font: 500 11px/1.3 var(--en); color: var(--sub); }
html body .fms:has(.cur) .fi:not(.cur) { opacity: .55; }
html body .fms .fi:hover { opacity: 1; }
/* 勝ち上がり（大会） */
html body .cups { margin: 0; padding: 0; list-style: none; border-top: 3px solid var(--ink); }
html body .cups li { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--rule); font-size: 13px; }
html body .cups .r { font-size: 11.5px; font-weight: 700; color: var(--sub); }
html body .cups .s { font-weight: 700; }
html body .cups li.won .s { color: var(--blue); }
html body .cups li.next { font-weight: 700; }
html body .cups li.next .s { color: var(--yellow); background: var(--navy); padding: 0 6px; }
html body .cx-st table { font-size: 12.5px; border-top: 3px solid var(--ink); }
/* 次の試合 */
html body .nx { display: grid; gap: 6px; padding: 10px 0 0; border-top: 3px solid var(--ink); background: none; color: var(--ink); text-decoration: none; }
html body .nx .nx-d { font: 600 13px/1.3 var(--en); letter-spacing: .02em; color: var(--blue); }
html body .nx .nx-d i { margin-left: 10px; font-style: normal; }
html body .nx b { font: 700 20px/1.35 var(--jp); }
html body .nx .nx-c { font-size: 12px; line-height: 1.6; color: var(--sub); }
html body .nx:hover b { color: var(--blue); }
/* この試合のニュース（列の中でも、下の段でも同じ形） */
html body .mc-ctx .nlist { border-top: 3px solid var(--ink); }
html body .mc-ctx .nlist .nrow { padding: 12px 0 !important; border-bottom: 1px solid var(--rule); background: none !important; }
html body .mc-ctx .nlist .nrow b { font-size: 14.5px; line-height: 1.6; }
html body .cx-news { margin-top: clamp(36px, 3.4vw, 48px); max-width: 760px; }
@media (max-width: 1000px) { html body .cxs, html body .cxs.n2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } html body .cxs > .cx-form { grid-column: 1 / -1; } }
/* 優秀選手の顔写真は枠の中に。交代・警告は線の上に小さく（得点の数字とかぶらないように） */
html body .mc-mom2 .mom-ph { position: relative; display: block; width: 88px; overflow: hidden; border: 0; outline: 0; }
html body .mc-mom2 .mom-ph .pp { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; border: 0; }
html body .tbm.t-sub, html body .tbm.t-card, html body .tbm.t-red { top: 46px; bottom: auto; transform: translate(-50%, -50%); }
html body .tbm.t-sub .ev-i, html body .tbm.t-card .ev-i, html body .tbm.t-red .ev-i { background: #fff; border-radius: 50%; }

/* B・Cの結果の行：試合結果の画像があれば、スコアの位置に画像 */
html body .sched > div.has-img { grid-template-columns: 84px minmax(0, 1fr) 96px; }
html body .bc-img { position: relative; display: block; width: 96px; aspect-ratio: 1; overflow: hidden; background: #e9edf2; }
html body .bc-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
html body .bc-img:hover img { transform: scale(1.04); }
html body .bc-img small { position: absolute; right: 4px; bottom: 4px; padding: 0 5px; background: rgba(11, 34, 64, .8); color: #fff; font: 700 10px/1.6 var(--en); }
html body .sched > div .g { display: block; margin-top: 2px; font-size: 12px; color: var(--sub); }
/* 画像を大きく見る */
html body dialog.lbx { width: min(92vw, 720px); max-height: 92vh; padding: 0; border: 0; background: transparent; overflow: visible; }
html body dialog.lbx::backdrop { background: rgba(6, 14, 24, .86); }
html body .lbx-in { display: grid; gap: 10px; max-height: 92vh; overflow-y: auto; }
html body .lbx-in img { display: block; width: 100%; height: auto; }
html body .lbx-x { position: absolute; top: -40px; right: 0; width: 36px; height: 36px; border: 0; background: none; color: #fff; font-size: 20px; cursor: pointer; }
/* 行のリンク（.sched a）の指定が画像のリンクにかからないように */
html body .sched .bc-img { display: block; grid-template-columns: none; margin: 0; padding: 0; border: 0; background: #e9edf2; }

/* ニュースのカード：画像の形を 3:2 にそろえて、下の文字の列の上をそろえる（2026-11-11） */
html body .ncards .ncard .nimg, html body .ncards .ncard .nimg.w, html body .ncards .ncard .nimg.fit, html body .ncards .ncard .nimg.none { aspect-ratio: 3 / 2; }
/* feelings：高校名で探す・年・期（PC もスマホと同じ、下線だけの小さな欄。選ぶ画面は端末のもの） */
html body .fschool > div { position: relative; display: block; height: 36px; margin-top: 0; border-bottom: 1px solid var(--ink); }
html body .fschool input { width: 100%; height: 36px; padding: 0 32px 0 0; border: 0 !important; border-radius: 0; background: none !important; font: 13.5px var(--jp); color: var(--ink); }
html body .fschool input:focus { outline: none; }
html body .fschool button.btn { position: absolute; right: 0; top: 0; width: 32px; height: 36px; min-height: 0; padding: 0; border: 0; background: none; color: var(--ink); font-size: 0; }
html body .fschool button.btn::before { content: ""; display: block; width: 15px; height: 15px; margin: 0 auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%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' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .fschool button.btn::after { content: none; }
html body .fsel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
html body .fsel label { position: relative; display: flex; align-items: center; gap: 6px; height: 36px; margin: 0; padding: 0; border-bottom: 1px solid var(--ink); font-size: 13px; cursor: pointer; }
html body .fsel span { flex: none; font-size: 11px; font-weight: 700; color: var(--sub); }
html body .fsel .v { flex: 1; min-width: 0; overflow: hidden; padding-right: 14px; font-size: 13.5px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='5'%3E%3Cpath d='M0 0l4.5 5 4.5-5z' fill='%235d6875'/%3E%3C/svg%3E") no-repeat right 2px center; }
html body .fsel select { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; font-size: 16px; }

/* ページの下のシェア（2026-11-11）：箱にせず、文字のリンクを並べる */
html body .share { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-top: 40px; padding-top: 14px; border-top: 1px solid var(--rule); }
html body .share > span { font: 700 11px var(--en); letter-spacing: .12em; text-transform: uppercase; color: var(--sub); }
html body .share a, html body .share button { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--ink); font: 700 13px/1.6 var(--jp); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 4px; cursor: pointer; }
html body .share a:hover, html body .share button:hover { color: var(--blue); text-decoration-color: currentColor; }
html body .mc-ctx .share { margin-top: clamp(32px, 3vw, 44px); }
/* LATEST RESULT にも背景の写真を選べる（2026-11-11）。写真があるときは NEXT MATCH と同じ紺の重ね */
html body .fx-last:has(> .fx-bg)::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11, 34, 64, .55) 0%, rgba(11, 34, 64, .88) 100%); }
/* 完全版：シュートの位置の図がないときは、攻撃・組み立て・守備を横に3つ（2026-11-11） */
html body .lp-bars3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px); margin-top: clamp(28px, 3vw, 44px); }
@media (max-width: 900px) { html body .lp-bars3 { grid-template-columns: minmax(0, 1fr); } }
