/*
Theme Name: Pullaway
Theme URI: https://pullaway.jp/
Author: Pullaway
Description: 大阪の社会人サッカー情報サイト Pullaway 専用テーマ。クラブ・リーグ・試合・スポンサー枠を管理画面から編集できます。
Version: 1.13.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: pullaway
*/

:root{
  --pw-bg:#F4F5F7; --pw-ink:#0E1A33; --pw-sub:#4A5670; --pw-mute:#868D9A;
  --pw-accent:#C8004A; --pw-cta:#FF2D75; --pw-line:#E3E5E9; --pw-card:#FFFFFF; --pw-navy:#16294C;
  --pw-wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pw-bg);color:var(--pw-ink);font-family:"Noto Sans JP",system-ui,sans-serif;font-size:15px;line-height:1.9;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--pw-accent);text-decoration:none}
a:hover{color:#8A0033}
h1,h2,h3{margin:0;line-height:1.25;font-weight:800;text-wrap:pretty}
.pw-wrap{max-width:var(--pw-wrap);margin:0 auto;padding:0 20px}
.pw-en{font-family:Montserrat,"Noto Sans JP",sans-serif;letter-spacing:.2em;font-weight:800}

/* ヘッダー */
.pw-head{position:sticky;top:0;z-index:40;background:rgba(250,247,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--pw-line)}
.pw-head__in{position:relative;display:flex;align-items:center;gap:16px;min-height:64px}
.pw-logo{font-family:Montserrat,sans-serif;font-size:20px;font-weight:900;letter-spacing:.02em;color:var(--pw-ink)}
.pw-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-left:auto}
.pw-nav>a{font-size:13.5px;font-weight:700;color:var(--pw-ink);padding:8px 4px;min-height:40px;display:flex;align-items:center}
.pw-nav>a:hover{color:var(--pw-cta)}

/* メガメニュー（リーグ）：パネルはボタンではなくヘッダー行（.pw-head__in）を基準に中央寄せし、
   ボタンが右寄りにあっても画面右端からはみ出さないようにする */
.pw-nav__link--mega{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--pw-ink);padding:8px 4px;min-height:40px;cursor:pointer}
.pw-nav__link--mega:hover{color:var(--pw-cta)}
.pw-nav__caret{width:7px;height:7px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.pw-nav__mega.is-open .pw-nav__caret{transform:rotate(-135deg)}
.pw-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);z-index:50;width:min(760px,92vw);
  padding-top:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s}
.pw-nav__mega.is-open .pw-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.pw-mega__panel{background:#fff;border:1px solid var(--pw-line);border-radius:14px;box-shadow:0 24px 60px rgba(14,26,51,.16);padding:16px}
.pw-mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.pw-mega__i{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;text-decoration:none;color:var(--pw-ink)}
.pw-mega__i:hover{background:rgba(255,45,117,.07)}
.pw-mega__bar{flex:none;width:4px;height:30px;border-radius:99px}
.pw-mega__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.pw-mega__name{font-size:13px;font-weight:800;display:flex;align-items:center;gap:6px;line-height:1.4}
.pw-mega__tag{font-size:8px;font-weight:900;letter-spacing:.1em;padding:1px 5px;border-radius:3px;background:#8A2B00;color:#fff}
.pw-mega__meta{font-size:11px;color:var(--pw-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw-mega__all{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;padding-top:12px;border-top:1px solid var(--pw-line);
  font-size:12.5px;font-weight:800;color:var(--pw-cta)}
.pw-mega__all:hover{color:#8A0033}
@media (min-width:721px){ .pw-nav__mega:hover .pw-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)} }

/* ハンバーガー（3本線→✕） */
.pw-burger{display:none;position:relative;margin-left:auto;width:44px;height:44px;border:1px solid var(--pw-line);border-radius:8px;background:#fff;cursor:pointer;flex:none}
.pw-burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--pw-ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.pw-burger span:nth-child(1){top:15px}
.pw-burger span:nth-child(2){top:21px}
.pw-burger span:nth-child(3){top:27px}
.pw-burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pw-burger.is-open span:nth-child(2){opacity:0}
.pw-burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ヒーロー */
.pw-hero{position:relative;background:#0A1428;color:#FAF7F0;padding:72px 0 34px;overflow:hidden}
.pw-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 80% at 15% 0,rgba(255,45,117,.22),transparent 60%)}
.pw-hero__in{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px}
.pw-hero h1{font-size:clamp(28px,5.2vw,46px);font-weight:900;line-height:1.28}
.pw-hero p{margin:0;max-width:520px;font-size:16px;color:rgba(250,247,240,.76)}
.pw-hero__bar{width:74px;height:2px;background:var(--pw-cta)}
.pw-btns{display:flex;flex-wrap:wrap;gap:10px}
.pw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border-radius:99px;background:var(--pw-cta);color:#fff;font-size:15px;font-weight:800}
.pw-btn:hover{color:#fff;transform:translateY(-1px)}
.pw-btn--ghost{background:rgba(10,20,40,.34);border:1px solid rgba(250,247,240,.3);color:#FAF7F0;font-weight:700}
.pw-btn--ghost:hover{color:#fff}

/* 数値レール */
.pw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--pw-line);border-block:1px solid var(--pw-line)}
.pw-stats div{background:var(--pw-card);padding:16px 18px}
.pw-stats b{display:block;font-family:Montserrat,sans-serif;font-size:30px;font-weight:900;line-height:1.1;color:var(--pw-ink)}
.pw-stats span{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--pw-mute)}

/* セクション見出し */
.pw-sec{margin:56px 0 16px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--pw-ink)}
.pw-sec__no{font-family:Montserrat,sans-serif;font-size:34px;font-weight:900;line-height:.8;color:var(--pw-cta)}
.pw-sec__en{display:block;font-size:12px;font-weight:800;letter-spacing:.26em;color:var(--pw-sub)}
.pw-sec__jp{font-size:clamp(20px,3vw,27px);font-weight:800}

/* カード */
.pw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.pw-card{background:var(--pw-card);border:1px solid var(--pw-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.pw-card__band{height:5px}
.pw-card__body{padding:14px 15px;display:flex;flex-direction:column;gap:8px}
.pw-card__lg{font-size:11px;font-weight:900;letter-spacing:.06em}
.pw-card h3{font-size:17px;font-weight:900}
.pw-card p{margin:0;font-size:13px;color:var(--pw-sub);line-height:1.75}
.pw-badge{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.1em;padding:3px 8px;border-radius:3px;border:1px solid var(--pw-line);color:var(--pw-sub)}
.pw-badge--fiction{border-color:#C8004A;color:#C8004A}

/* 表（日程・順位） */
.pw-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pw-table{width:100%;min-width:640px;border-collapse:collapse;background:var(--pw-card);font-size:13.5px}
.pw-table th,.pw-table td{padding:12px 14px;border-bottom:1px solid #EBEDF0;text-align:left;white-space:nowrap}
.pw-table th{background:#0E1A33;color:#FAF7F0;font-size:11.5px;font-weight:800;letter-spacing:.12em}
.pw-table tbody tr:nth-child(even) td{background:#FAFBFC}

/* 注記 */
.pw-note{background:#FFF8E8;border:1px solid #E8D9A8;border-radius:8px;padding:13px 16px;font-size:13px;line-height:1.85;color:#4A5670}
.pw-fiction{background:#0E1A33;color:rgba(250,247,240,.8);padding:14px 0;font-size:13px}
.pw-fiction .pw-en{color:#FAF7F0;border:1px solid rgba(250,247,240,.34);padding:4px 9px;border-radius:4px;font-size:11px;margin-right:10px}

/* 記事本文 */
.pw-entry{max-width:760px;margin:0 auto;padding:36px 20px 64px}
.pw-entry h2{margin:32px 0 10px;font-size:20px;border-left:6px solid var(--pw-accent);padding-left:11px}
.pw-entry img{border-radius:8px;margin:18px 0}

/* フッター */
.pw-foot{margin-top:56px;background:#fff;border-top:1px solid var(--pw-line);padding:30px 0 22px;font-size:13px;color:var(--pw-sub)}
.pw-foot__links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:14px}

/* スマホ */
@media (max-width:900px){
  .pw-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .pw-nav{display:none;width:100%;margin:0;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--pw-line)}
  .pw-nav.is-open{display:flex}
  .pw-nav>a{min-height:48px;border-bottom:1px solid var(--pw-line);width:100%}
  .pw-burger{display:block}
  .pw-head__in{flex-wrap:wrap;padding-bottom:0}
  .pw-hero{padding:48px 0 28px}
  .pw-sec{margin:40px 0 14px}

  /* メガメニューはスマホでは折りたたみ式の帯として展開（浮かせない） */
  .pw-nav__mega{width:100%;border-bottom:1px solid var(--pw-line)}
  .pw-nav__link--mega{width:100%;justify-content:space-between;padding:0 4px;min-height:48px}
  .pw-mega{position:static;transform:none;width:100%;padding-top:0;max-height:0;overflow:hidden;
    opacity:1;visibility:visible;transition:max-height .3s ease}
  .pw-nav__mega.is-open .pw-mega{max-height:2000px;transform:none}
  .pw-mega__panel{border:0;border-radius:0;box-shadow:none;padding:2px 4px 14px}
  .pw-mega__grid{grid-template-columns:1fr}
}

/* ══ HOME（トップページ）専用 ══════════════════════ */

/* ヒーロー：写真＋暗幕＋グリッド */
.pw-hero{min-height:min(78vh,640px);display:flex;align-items:flex-end;padding:96px 0 0}
.pw-hero__bg{position:absolute;inset:0;z-index:0}
.pw-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.pw-hero__veil{position:absolute;inset:0;z-index:0;background:
  radial-gradient(95% 85% at 16% -10%,rgba(255,45,117,.2),transparent 55%),
  radial-gradient(70% 55% at 92% 0%,rgba(31,58,107,.45),transparent 60%),
  linear-gradient(180deg,rgba(10,20,40,.35) 0%,rgba(10,20,40,.82) 62%,#0A1428 100%)}
.pw-hero__grid{position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(250,247,240,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(250,247,240,.06) 1px,transparent 1px);
  background-size:120px 120px}
.pw-hero::after{display:none}
.pw-hero__in{padding-bottom:30px;gap:20px}
.pw-hero h1{text-shadow:0 6px 40px rgba(10,20,40,.7)}
.pw-hero__kicker{display:flex;align-items:center;gap:11px;font-size:13.5px;color:rgba(250,247,240,.5)}
.pw-hero__kicker i{display:block;width:22px;height:1px;background:rgba(255,45,117,.75)}

/* ヒーロー：直近日程バッジ */
.pw-hero__badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:#FAF7F0;background:rgba(255,45,117,.16);border:1px solid rgba(255,45,117,.42);padding:7px 14px 7px 11px;border-radius:99px}
.pw-hero__badge b{font-weight:900;color:#fff}
.pw-hero__badge i{display:block;width:7px;height:7px;border-radius:99px;background:#FF2D75;flex:none;animation:pwPulse 1.8s ease-out infinite}
@keyframes pwPulse{0%{box-shadow:0 0 0 0 rgba(255,45,117,.55)}70%{box-shadow:0 0 0 8px rgba(255,45,117,0)}100%{box-shadow:0 0 0 0 rgba(255,45,117,0)}}
@media (prefers-reduced-motion: reduce){.pw-hero__badge i{animation:none}}

/* リーグ・ティッカー（実在12リーグの名前を横に流す帯） */
.pw-ticker{position:relative;z-index:2;background:#0E1A33;border-top:1px solid rgba(250,247,240,.1);border-bottom:1px solid rgba(250,247,240,.1);overflow:hidden}
.pw-ticker__track{display:flex;width:max-content;animation:pwTicker 46s linear infinite}
.pw-ticker:hover .pw-ticker__track{animation-play-state:paused}
.pw-ticker__set{display:flex;flex:none;align-items:center;gap:28px;padding:11px 14px}
.pw-ticker__i{display:flex;align-items:center;gap:8px;flex:none;font-size:12.5px;font-weight:800;letter-spacing:.03em;color:rgba(250,247,240,.78)}
.pw-ticker__i:hover{color:#fff}
.pw-ticker__i span{width:7px;height:7px;border-radius:99px;flex:none}
@keyframes pwTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .pw-ticker__track{animation:none;flex-wrap:wrap;width:auto}
  .pw-ticker__set[aria-hidden]{display:none}
}

/* 数値レール（濃紺） */
.pw-stats{grid-template-columns:repeat(4,1fr);background:rgba(250,247,240,.14);border:0}
.pw-stats div{background:#0E1A33;padding:18px 20px}
.pw-stats b{color:#FAF7F0;font-size:clamp(24px,3.4vw,34px)}
.pw-stats span{color:rgba(250,247,240,.56)}

/* セクション見出し（右に説明文） */
.pw-sec__desc{flex:1 1 240px;min-width:0;font-size:13.5px;line-height:1.8;color:var(--pw-sub);text-align:right;text-wrap:pretty}
.pw-lg__all{flex:none;align-self:center;font-size:11.5px;font-weight:800;letter-spacing:.05em;color:var(--pw-ink);background:#fff;border:1px solid var(--pw-line);border-radius:99px;padding:8px 15px;cursor:pointer;white-space:nowrap}
.pw-lg__all:hover{border-color:var(--pw-cta);color:var(--pw-cta)}

/* パネル（日程・結果） */
.pw-panel{background:var(--pw-card);border:1px solid rgba(14,26,51,.1);border-radius:12px;overflow:hidden}
.pw-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:#0E1A33;color:#FAF7F0;font-size:12px;font-weight:900;letter-spacing:.2em;font-family:Montserrat,sans-serif}
.pw-panel__head--navy{background:var(--pw-navy)}
.pw-panel__head em{font-style:normal;color:#FF8FB2;font-size:11px;letter-spacing:.14em}
.pw-panel__foot{padding:12px 18px;background:#F7F4EC;font-size:12.5px;line-height:1.8;color:#5C6880}
.pw-row{display:grid;grid-template-columns:108px 1fr 200px;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid #F5F0E6}
.pw-row:last-child{border-bottom:0}
.pw-row__time{display:flex;flex-direction:column;gap:3px}
.pw-row__d{font-size:15px;font-weight:900;color:var(--pw-ink)}
.pw-row__t{font-family:Montserrat,sans-serif;font-size:13.5px;font-weight:800;color:var(--pw-sub)}
.pw-row__m{font-size:17.5px;font-weight:800;line-height:1.5;min-width:0}
.pw-row__v{font-size:13.5px;color:var(--pw-sub);text-align:right}
.pw-row__lg{display:inline-block;font-size:11.5px;font-weight:900;letter-spacing:.08em;padding:3px 8px;border-radius:3px;color:#fff;margin-right:9px;vertical-align:1px}
.pw-row__score{font-family:Montserrat,sans-serif;font-size:24px;font-weight:900;color:var(--pw-accent);text-align:right}

/* リーグ行（<details>で開閉。折りたたむとヘッダーだけのコンパクト表示に） */
.pw-lg{background:var(--pw-card);border:1px solid rgba(14,26,51,.1);border-radius:12px;overflow:hidden;margin-bottom:10px}
.pw-lg > summary{cursor:pointer;list-style:none}
.pw-lg > summary::-webkit-details-marker{display:none}
.pw-lg__head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:15px 18px}
.pw-lg__head:hover{background:rgba(14,26,51,.02)}
.pw-lg__head::after{content:"";flex:none;width:9px;height:9px;margin-left:2px;border-right:2px solid var(--pw-mute);border-bottom:2px solid var(--pw-mute);transform:rotate(45deg);transition:transform .25s ease}
.pw-lg[open] .pw-lg__head::after{transform:rotate(-135deg)}
.pw-lg__bar{flex:none;width:5px;height:34px;border-radius:99px}
.pw-lg__name{font-size:17px;font-weight:900}
.pw-lg__org{font-size:12.5px;color:var(--pw-sub)}
.pw-lg__peek{font-size:12px;font-weight:700;color:var(--pw-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.pw-lg__n{margin-left:auto;font-family:Montserrat,sans-serif;font-size:22px;font-weight:900}
.pw-lg__n small{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--pw-mute);margin-left:5px}
.pw-lg__tag{font-family:Montserrat,sans-serif;font-size:9.5px;font-weight:900;letter-spacing:.16em;padding:3px 7px;border-radius:3px;background:#0E1A33;color:#FAF7F0}
.pw-lg__tag--fiction{background:#8A2B00}
.pw-lg__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid #EDEFF2}
.pw-lg__cell{padding:13px 18px;border-right:1px solid #F5F0E6;display:flex;flex-direction:column;gap:4px}
.pw-lg__cell:last-child{border-right:0}
.pw-lg__k{font-size:10.5px;font-weight:900;letter-spacing:.16em;color:var(--pw-accent)}
.pw-lg__v{font-size:13.5px;line-height:1.65}

/* 暗色カード（PG・架空リーグ） */
.pw-dark{position:relative;overflow:hidden;background:#0E1A33;color:#FAF7F0;border-radius:12px}
.pw-dark::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 12px,transparent 12px 30px)}
.pw-dark__in{position:relative;padding:24px 26px;display:flex;flex-direction:column;gap:12px}
.pw-dark h3{font-size:clamp(19px,2.6vw,26px);font-weight:900;line-height:1.35}
.pw-dark p{margin:0;font-size:13.5px;line-height:1.9;color:rgba(250,247,240,.72)}
.pw-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:rgba(250,247,240,.12);border-radius:8px;overflow:hidden;margin-top:4px}
.pw-svc div{background:#0E1A33;padding:16px 18px;display:flex;flex-direction:column;gap:7px}
.pw-svc b{font-size:15px;font-weight:900;line-height:1.45}
.pw-svc span{font-size:12.5px;line-height:1.85;color:rgba(250,247,240,.62)}
.pw-svc em{font-style:normal;font-family:Montserrat,sans-serif;font-size:10px;font-weight:900;letter-spacing:.18em;color:#63D2E0}
.pw-chip-soon{align-self:flex-start;font-size:9.5px;font-weight:900;letter-spacing:.12em;padding:2px 6px;border-radius:3px;border:1px solid rgba(250,247,240,.28);color:rgba(250,247,240,.7)}

/* 協賛バンド */
.pw-band{margin-top:56px;padding:52px 0;background:radial-gradient(80% 130% at 50% 0%,rgba(255,45,117,.24),transparent 65%),linear-gradient(180deg,#FBF0F3,#F4F5F7);border-top:1px solid rgba(14,26,51,.09)}
.pw-band__in{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.pw-band__t{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:9px}
.pw-band__t b{font-size:clamp(22px,3.4vw,32px);font-weight:800;line-height:1.2}
.pw-band__t span{font-size:14px;color:var(--pw-sub);line-height:1.9}
.pw-band__a{flex:0 1 250px;display:flex;flex-direction:column;gap:9px}
.pw-band__a small{font-size:13px;color:var(--pw-sub);text-align:center}

/* フッター（多段リンク） */
.pw-foot__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px 20px;padding-bottom:24px;border-bottom:1px solid rgba(14,26,51,.07);margin-bottom:18px}
.pw-foot__cols h4{margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.14em;color:var(--pw-accent)}
.pw-foot__cols a{display:flex;align-items:center;min-height:32px;font-size:13.5px;color:var(--pw-ink)}
.pw-foot__cols a:hover{color:var(--pw-cta)}

@media (max-width:900px){
  .pw-row{grid-template-columns:92px 1fr}
  .pw-row__v{grid-column:1 / -1;text-align:left}
  .pw-sec__desc{text-align:left}
  .pw-lg__n{margin-left:0;width:100%}
  .pw-lg__peek{max-width:none;width:100%;white-space:normal}
}

/* ══ 再現性の詰め ══ */
.pw-hero{min-height:min(88vh,820px);padding-top:120px}
.pw-hero h1{letter-spacing:-.01em}
.pw-hero__in{max-width:var(--pw-wrap);padding-bottom:34px}
.pw-lg{transition:box-shadow .25s,transform .25s}
.pw-lg:hover{box-shadow:0 12px 34px rgba(14,26,51,.09);transform:translateY(-1px)}
.pw-lg__head a{color:var(--pw-ink)}
.pw-lg__head a:hover{color:var(--pw-cta)}
.pw-sec{margin-top:64px}
.pw-panel + .pw-panel{margin-top:14px}
.pw-card{transition:box-shadow .25s,transform .25s}
.pw-card:hover{box-shadow:0 12px 30px rgba(14,26,51,.1);transform:translateY(-2px)}
.pw-card h3 a{color:var(--pw-ink)}
.pw-card h3 a:hover{color:var(--pw-cta)}
.pw-badge--fiction{align-self:flex-start}
.pw-stats{position:relative;z-index:2;margin-top:-1px}
.pw-btn{transition:transform .25s,box-shadow .25s;box-shadow:0 14px 34px rgba(255,45,117,.28)}
.pw-btn--ghost{box-shadow:none}
@media (max-width:720px){
  .pw-hero{min-height:auto;padding-top:64px}
  .pw-hero h1{font-size:29px}
  .pw-sec{margin-top:44px}
  .pw-dark__in{padding:20px}
  .pw-lg__head{gap:8px 10px}
  .pw-lg__name{font-size:15.5px}
}


/* ── 連盟の新着・更新履歴（v1.2） ── */
.pw-news{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.pw-news__i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:baseline;
  background:#fff;border:1px solid rgba(14,26,51,.1);border-radius:12px;padding:16px 18px}
.pw-news__i a{font-size:15px;font-weight:700;color:var(--pw-ink);line-height:1.6;text-decoration:none}
.pw-news__i a:hover{color:#FF2D75}
.pw-news__meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--pw-mute)}
.pw-news__org{font-weight:700;color:var(--pw-sub)}
.pw-news__ext{flex:none;padding:3px 9px;border-radius:99px;background:#0E1A33;color:#FAF7F0;font-size:11px;font-weight:800;letter-spacing:.06em}
.pw-hist{margin-top:26px;border-top:1px solid rgba(14,26,51,.12);padding-top:16px}
.pw-hist h2{font-size:14px;letter-spacing:.1em;color:var(--pw-sub);margin:0 0 10px}
.pw-hist ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.pw-hist li{font-size:13px;line-height:1.8;color:var(--pw-sub)}
.pw-hist b{color:var(--pw-ink)}
.pw-hist__by{font-size:11px;padding:2px 7px;border-radius:99px;background:rgba(14,26,51,.08);margin-left:6px}
.pw-cite{margin-top:10px;font-size:12px;color:var(--pw-mute);line-height:1.8}
.pw-cite a{color:var(--pw-sub)}


/* ── 勝敗予測（v1.7） ── */
.pw-pred{margin-top:20px;background:#fff;border:1px solid rgba(14,26,51,.1);border-radius:14px;overflow:hidden}
.pw-pred:empty{display:none}
.pw-pred__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:15px 20px;background:#0E1A33;color:#FAF7F0;
  font-size:12.5px;font-weight:900;letter-spacing:.12em}
.pw-pred__head em{font-style:normal;font-size:11px;font-weight:700;color:rgba(250,247,240,.6);letter-spacing:.06em}
.pw-pred__bar{display:flex;height:38px;margin:18px 20px 0;border-radius:8px;overflow:hidden}
.pw-pred__bar span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:12.5px;font-weight:800;min-width:0}
.pw-pred__legend{display:flex;justify-content:space-between;gap:10px;margin:8px 20px 0;font-size:11.5px;color:var(--pw-sub)}
.pw-pred__legend span:nth-child(2){text-align:center}
.pw-pred__legend span:last-child{text-align:right}
.pw-pred__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:18px 20px 0}
.pw-pred__cols>div{display:flex;flex-direction:column;gap:6px}
.pw-pred__cols b{font-size:14.5px}
.pw-pred__cols span{font-size:12.5px;color:var(--pw-sub)}
.pw-form{display:flex;gap:6px;margin-top:2px}
.pw-form__i{width:27px;height:27px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:900}
.pw-pred__note{margin:14px 20px 18px;font-size:12px;line-height:1.85;color:var(--pw-mute)}


/* ── クラブページ（v1.8） ── */
.pw-clubhead{padding:38px 0 34px;color:#FAF7F0}
.pw-clubhead__in{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pw-clubhead__mark{flex:none;width:66px;height:66px;border-radius:16px;background:rgba(255,255,255,.94);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#0E1A33}
.pw-clubhead__t{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px}
.pw-clubhead__lg{align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.12em;color:#FAF7F0;
  background:rgba(0,0,0,.22);padding:5px 11px;border-radius:99px;text-decoration:none}
.pw-clubhead__lg:hover{background:rgba(0,0,0,.36);color:#fff}
.pw-clubhead h1{margin:0;font-size:clamp(26px,5vw,40px);font-weight:900;line-height:1.3}
.pw-clubhead p{margin:0;font-size:14px;line-height:1.8;color:rgba(255,255,255,.82);max-width:520px;text-wrap:pretty}
.pw-clubhead__rec{flex:none;text-align:right;display:flex;flex-direction:column;gap:3px}
.pw-clubhead__rec b{font-size:30px;font-weight:900;letter-spacing:.02em}
.pw-clubhead__rec span{font-size:11.5px;color:rgba(255,255,255,.75)}
.pw-clubshot{margin:22px 0 0;border-radius:16px;overflow:hidden}
.pw-clubshot img{display:block;width:100%;height:auto}
.pw-stats--club{margin-top:22px}
.pw-formrow{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:12.5px;color:var(--pw-sub)}

/* ── スポンサー枠（v1.8） ── */
.pw-ads{margin-top:26px;padding:18px 20px;background:#fff;border:1px solid rgba(14,26,51,.1);border-radius:14px}
.pw-ads__label{display:block;font-size:10.5px;font-weight:900;letter-spacing:.18em;color:var(--pw-mute);margin-bottom:12px}
.pw-ads__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pw-ad{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--pw-ink);
  border:1px solid rgba(14,26,51,.09);border-radius:12px;overflow:hidden;background:#F4F5F7}
.pw-ad:hover{border-color:rgba(255,45,117,.5)}
.pw-ad img{display:block;width:100%;height:auto}
.pw-ad__b{display:flex;flex-direction:column;gap:4px;padding:12px 14px}
.pw-ad__b b{font-size:14px;line-height:1.5}
.pw-ad__b span{font-size:12px;color:var(--pw-sub);line-height:1.7}
.pw-ads--top{background:#0E1A33;border-color:#0E1A33}
.pw-ads--top .pw-ads__label{color:rgba(250,247,240,.6)}
.pw-ads--top .pw-ad{background:rgba(250,247,240,.06);border-color:rgba(250,247,240,.16)}
.pw-ads--top .pw-ad__b b{color:#FAF7F0}
.pw-ads--top .pw-ad__b span{color:rgba(250,247,240,.7)}
a.pw-row{text-decoration:none;color:inherit}
a.pw-row:hover{background:rgba(255,45,117,.04)}


/* ── 動き（v1.9）JSが有効なときだけ効きます ── */
.pw-motion .pw-rise{opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .62s cubic-bezier(.22,.61,.36,1),transform .62s cubic-bezier(.22,.61,.36,1)}
.pw-motion .pw-rise.is-in{opacity:1;transform:none}
.pw-hero__bg{will-change:transform;transform:scale(1.08)}
.pw-hero__in{will-change:transform,opacity}
.pw-pred__bar span{transition:width .8s cubic-bezier(.22,.61,.36,1)}

/* ホバーの手ざわり */
.pw-card,.pw-lg,.pw-ad,.pw-news__i{transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease}
.pw-card:hover,.pw-lg:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(14,26,51,.1)}
.pw-ad:hover,.pw-news__i:hover{transform:translateY(-2px)}
.pw-btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.pw-btn:hover{transform:translateY(-2px)}
.pw-btn:active{transform:translateY(0)}
.pw-form__i{transition:transform .2s ease}
.pw-form__i:hover{transform:scale(1.18)}

/* ヒーローの見出しを1行ずつ立ち上げる */
@keyframes pwUp{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
.pw-motion .pw-hero__badge{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) both}
.pw-motion .pw-hero h1{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) .06s both}
.pw-motion .pw-hero__bar{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) .1s both}
.pw-motion .pw-hero p{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) .18s both}
.pw-motion .pw-hero .pw-btns{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) .26s both}
.pw-motion .pw-hero__kicker{animation:pwUp .85s cubic-bezier(.22,.61,.36,1) .34s both}

/* クラブページのヘッダーも同じリズムで */
.pw-motion .pw-clubhead__mark{animation:pwUp .7s cubic-bezier(.22,.61,.36,1) both}
.pw-motion .pw-clubhead__t{animation:pwUp .7s cubic-bezier(.22,.61,.36,1) .08s both}
.pw-motion .pw-clubhead__rec{animation:pwUp .7s cubic-bezier(.22,.61,.36,1) .16s both}

@media (prefers-reduced-motion: reduce){
  .pw-rise,.pw-hero h1,.pw-hero p,.pw-hero__bar,.pw-hero .pw-btns,.pw-hero__kicker,
  .pw-clubhead__mark,.pw-clubhead__t,.pw-clubhead__rec{animation:none!important;opacity:1!important;transform:none!important}
  .pw-card:hover,.pw-lg:hover,.pw-ad:hover,.pw-news__i:hover,.pw-btn:hover{transform:none}
}


/* ── 読みもの（画像なし前提の文字組みカード・v1.10） ── */
.pw-reads{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:20px}
.pw-read{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 22px;text-decoration:none;
  background:#fff;border:1px solid rgba(14,26,51,.1);border-radius:14px;overflow:hidden;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease}
.pw-read:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(14,26,51,.1);border-color:rgba(255,45,117,.4)}
.pw-read::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#FF2D75;
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
.pw-read:hover::before{transform:scaleY(1)}
.pw-read__n{position:absolute;right:18px;top:14px;font-size:34px;font-weight:900;color:rgba(14,26,51,.06);letter-spacing:-.02em}
.pw-read__cat{font-size:10.5px;font-weight:900;letter-spacing:.18em;color:#C8004A}
.pw-read h3{margin:0;font-size:17px;line-height:1.65;font-weight:800;color:var(--pw-ink);text-wrap:pretty}
.pw-read p{margin:0;font-size:13px;line-height:1.95;color:var(--pw-sub);text-wrap:pretty;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pw-read__meta{margin-top:auto;padding-top:6px;font-size:11.5px;color:var(--pw-mute);letter-spacing:.04em}

/* 記事ページの文字組み（画像なし前提） */
.pw-entry--read{max-width:720px}
.pw-entry--read h1{font-size:clamp(25px,4.4vw,38px);font-weight:900;line-height:1.5;margin:10px 0 14px;text-wrap:pretty}
.pw-entry--read .pw-lead{font-size:16px;line-height:2.05;color:var(--pw-sub);margin:0 0 16px;text-wrap:pretty;
  padding-left:14px;border-left:3px solid rgba(255,45,117,.55)}
.pw-entry__meta{font-size:12px;color:var(--pw-mute);letter-spacing:.04em;margin:0 0 26px}
.pw-body{font-size:15.5px;line-height:2.15;color:#1B2740}
.pw-body p{margin:0 0 1.5em;text-wrap:pretty}
.pw-body h2{font-size:20px;font-weight:900;line-height:1.6;margin:2.2em 0 .8em;padding-bottom:.4em;
  border-bottom:1px solid rgba(14,26,51,.12)}
.pw-body h3{font-size:17px;font-weight:800;line-height:1.6;margin:1.9em 0 .6em}
.pw-body blockquote{margin:1.8em 0;padding:16px 20px;background:#fff;border-left:3px solid #0E1A33;
  font-size:15px;line-height:2;color:var(--pw-sub)}
.pw-body ul,.pw-body ol{margin:0 0 1.5em;padding-left:1.4em}
.pw-body li{margin-bottom:.5em}
.pw-body img{max-width:100%;height:auto;border-radius:12px}
.pw-body hr{border:0;border-top:1px solid rgba(14,26,51,.12);margin:2.4em 0}


/* ── 週末のヒーロー（架空リーグ専用・v1.11） ── */
.pw-heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}
.pw-hero3d{all:unset;box-sizing:border-box;display:block;height:320px;perspective:1200px;cursor:pointer}
.pw-hero3d__in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;
  transition:transform .72s cubic-bezier(.4,.05,.2,1)}
.pw-hero3d.is-flip .pw-hero3d__in{transform:rotateY(180deg)}
.pw-hero3d__f,.pw-hero3d__k{position:absolute;inset:0;backface-visibility:hidden;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pw-hero3d__f{background:linear-gradient(168deg,#1F3A6B 0%,#16294C 62%,#0A1428 100%);border:1px solid rgba(14,26,51,.1);justify-content:flex-end}
.pw-hero3d__no{position:absolute;top:6px;right:14px;font-size:46px;font-weight:900;line-height:1;color:rgba(255,255,255,.22)}
.pw-hero3d__ph{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);width:118px;height:146px;
  border-radius:59px 59px 8px 8px;overflow:hidden;background:rgba(250,247,240,.1);border:1px dashed rgba(250,247,240,.16);
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:9px}
.pw-hero3d__ph img{width:100%;height:100%;object-fit:cover}
.pw-hero3d__ph--empty{font-size:11px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.6)}
.pw-hero3d__b{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;
  background:linear-gradient(to top,rgba(8,36,107,.92),rgba(8,36,107,0));text-align:left}
.pw-hero3d__pos{font-size:11.5px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.85)}
.pw-hero3d__b b{font-size:18px;font-weight:800;color:#fff}
.pw-hero3d__b>span:last-child{font-size:13px;color:rgba(255,255,255,.78)}
.pw-hero3d__k{transform:rotateY(180deg);background:linear-gradient(160deg,#FF2D75,#8E0038);
  border:1px solid rgba(255,45,117,.4);padding:18px;text-align:left;color:#fff}
.pw-hero3d__kt{font-size:12px;font-weight:900;letter-spacing:.16em}
.pw-hero3d__k b{margin-top:10px;font-size:19px;font-weight:800}
.pw-hero3d__co{font-size:13px;color:rgba(255,255,255,.8);margin-top:4px}
.pw-hero3d__line{height:1px;background:rgba(255,255,255,.28);margin:13px 0}
.pw-hero3d__bio{font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.94);text-wrap:pretty}
.pw-hero3d__fam{margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  font-size:12.5px;color:rgba(255,255,255,.72)}
.pw-hero3d__fam i{font-style:normal;font-size:24px;font-weight:900;color:rgba(255,255,255,.45)}
@media (prefers-reduced-motion: reduce){.pw-hero3d__in{transition:none}}


/* ── 順位表（v1.13） ── */
.pw-tbl{width:100%;border-collapse:collapse;font-size:15.5px}
.pw-tbl th{padding:12px 8px;background:#0E1A33;color:#FAF7F0;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-align:center}
.pw-tbl th:nth-child(2){text-align:left;padding-left:14px}
.pw-tbl td{padding:13px 8px;border-bottom:1px solid #EBEDF0;text-align:center;font-variant-numeric:tabular-nums}
.pw-tbl tbody tr:nth-child(even) td{background:#FAFBFC}
.pw-tbl__r{font-weight:900;color:var(--pw-mute)}
.pw-tbl__t{text-align:left!important;padding-left:14px!important;font-weight:800;font-size:16.5px}
.pw-tbl__t a{text-decoration:none;color:var(--pw-ink)}
.pw-tbl__t a:hover{color:var(--pw-cta)}
.pw-tbl__p{font-weight:900;font-size:18px;color:var(--pw-ink)}
.pw-tbl__g{color:var(--pw-sub)}
.pw-tbl tbody tr:nth-child(1) .pw-tbl__r,
.pw-tbl tbody tr:nth-child(2) .pw-tbl__r,
.pw-tbl tbody tr:nth-child(3) .pw-tbl__r{color:var(--pw-accent)}

/* ==== クラブページ 磨き上げ（レイアウトは変えず質感・立体感のみ強化）==== */
.pw-clubhead{position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(14,26,51,.22)}
.pw-clubhead::before{content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,0) 45%),radial-gradient(circle at 90% 12%,rgba(255,255,255,.16),transparent 55%);
  pointer-events:none}
.pw-clubhead__in{position:relative;z-index:1}
.pw-clubhead__mark{box-shadow:0 10px 22px rgba(0,0,0,.25),inset 0 0 0 2px rgba(255,255,255,.55)}
.pw-clubhead__rec{background:rgba(0,0,0,.2);padding:10px 18px;border-radius:14px}

.pw-stats--club{border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(14,26,51,.16)}
.pw-stats--club div{position:relative;transition:background .2s ease}
.pw-stats--club div::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.pw-stats--club div:nth-child(1)::before{background:#00714F}
.pw-stats--club div:nth-child(2)::before{background:#C8004A}
.pw-stats--club div:nth-child(3)::before{background:#FF2D75}
.pw-stats--club div:nth-child(4)::before{background:#FAF7F0}
.pw-stats--club div:hover{background:#16294C}

.pw-formrow{background:var(--pw-card);border:1px solid var(--pw-line);border-radius:10px;padding:12px 16px;box-shadow:0 8px 20px rgba(14,26,51,.05)}
.pw-formrow>span{font-weight:800;color:var(--pw-ink);letter-spacing:.02em}
.pw-form__i{box-shadow:0 3px 8px rgba(14,26,51,.2)}

.pw-clubshot{box-shadow:0 14px 34px rgba(14,26,51,.14)}
.pw-clubshot img{transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.pw-clubshot:hover img{transform:scale(1.035)}

.pw-panel{box-shadow:0 10px 26px rgba(14,26,51,.06)}
.pw-table{box-shadow:0 10px 26px rgba(14,26,51,.06)}
.pw-table tbody tr:hover td{background:rgba(255,45,117,.05)}

.single-pw_club .pw-entry{background:var(--pw-card);border:1px solid var(--pw-line);border-radius:14px;
  padding:28px 26px;box-shadow:0 10px 26px rgba(14,26,51,.05)}
.single-pw_club .pw-entry p:only-child{color:var(--pw-mute);font-style:italic}

/* ==== ホーム試合一覧のリンク化＋勝敗予想バッジ（試合ページ＝予想パネルへの導線）==== */
a.pw-row{cursor:pointer}
.pw-mini-pred{display:block;margin-top:3px;font-size:11.5px;font-weight:800;color:var(--pw-sub);letter-spacing:.01em}
.pw-mini-pred:empty{display:none}
.pw-mini-pred__dot{display:inline-block;width:7px;height:7px;border-radius:99px;margin-right:6px;vertical-align:1px}
