/**
 * index-nationwide.css v1.0
 * 全国版トップページ専用スタイル
 * ヘッダー/フッター/サブナビのCSSは各includes/*.htmlのstyleタグに内包
 */
:root{--nw-navy:#0a1628;--nw-navy-mid:#0f1f3a;--nw-navy-light:#162a4a;--nw-ocean:#1a6fb5;--nw-ocean-bright:#2196F3;--nw-teal:#00bfa5;--nw-coral:#ff6b6b;--nw-gold:#ffc107;--nw-orange:#ff9800;--nw-gray-100:#e8ecf1;--nw-gray-200:#cdd4dc;--nw-gray-500:#6b7a8d;--nw-text:#1a2332;--nw-text-light:#5a6a7d;--nw-radius:12px;--nw-radius-sm:8px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans JP',sans-serif;background:#f5f7fa;color:var(--nw-text);line-height:1.7}
.nw-section__inner{max-width:1100px;margin:0 auto;padding:48px 24px}
.nw-section__title{font-size:22px;font-weight:900;color:var(--nw-text);margin-bottom:4px}
.nw-section__title .accent{color:var(--nw-ocean)}
.nw-section__title--light{color:#fff}
.nw-section__desc{font-size:14px;color:var(--nw-text-light);margin-bottom:24px}
.nw-section__desc--light{color:rgba(255,255,255,.5)}
.nw-section__more{text-align:center;padding-top:16px}
.nw-section__more a{font-size:13px;color:var(--nw-ocean);text-decoration:none;font-weight:700}
.nw-section__more a:hover{text-decoration:underline}
.nw-ad{max-width:1100px;margin:0 auto;padding:16px 24px}

/* HERO */
.nw-hero{background:linear-gradient(135deg,var(--nw-navy) 0%,var(--nw-navy-mid) 50%,#0d2847 100%);position:relative;overflow:hidden;padding:56px 24px 48px}
.nw-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(0,191,165,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(33,150,243,.06) 0%,transparent 50%);pointer-events:none}
.nw-hero__inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.nw-hero__title{font-size:clamp(26px,4vw,42px);font-weight:900;color:#fff;line-height:1.3;margin-bottom:12px}
.nw-hero__title em{font-style:normal;background:linear-gradient(90deg,var(--nw-teal),var(--nw-ocean-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nw-hero__sub{font-size:15px;color:rgba(255,255,255,.6);max-width:540px;margin-bottom:28px}
.nw-hero__stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.nw-hero__stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--nw-radius-sm);padding:12px 18px;min-width:120px}
.nw-hero__stat-num{font-family:'Outfit',sans-serif;font-size:26px;font-weight:800;color:#fff}
.nw-hero__stat-unit{font-size:13px;font-weight:600;color:var(--nw-teal);margin-left:2px}
.nw-hero__stat-label{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.04em;margin-top:2px}

/* TICKER */
.nw-ticker{background:rgba(0,191,165,.08);border:1px solid rgba(0,191,165,.15);border-radius:var(--nw-radius-sm);padding:10px 16px;display:flex;align-items:center;gap:12px;overflow:hidden}
.nw-ticker__badge{background:var(--nw-teal);color:var(--nw-navy);font-size:10px;font-weight:700;padding:3px 10px;border-radius:4px;white-space:nowrap;animation:nw-pulse 2s infinite;flex-shrink:0}
@keyframes nw-pulse{0%,100%{opacity:1}50%{opacity:.6}}
.nw-ticker__track{white-space:nowrap;overflow:hidden;font-size:13px;color:rgba(255,255,255,.75)}
.nw-ticker__track--animate{display:flex;animation:nw-scroll 40s linear infinite}
@keyframes nw-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.nw-ticker__item{margin-right:32px;flex-shrink:0}
.nw-ticker__item strong{color:var(--nw-teal)}

/* AREA */
.nw-area{background:#fff}
.nw-area__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media(max-width:768px){.nw-area__grid{grid-template-columns:1fr}.nw-area__map{display:none}}
.nw-area__map{background:var(--nw-navy);border-radius:var(--nw-radius);padding:16px 20px;aspect-ratio:5/6;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.nw-area__map::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(0,191,165,.08) 0%,transparent 70%)}
.nw-area__map-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1}
.nw-area__map-placeholder span{color:rgba(255,255,255,.35);font-size:12px}
.nw-area__map-dot{position:absolute;width:10px;height:10px;border-radius:50%;z-index:2}
.nw-area__map-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid;animation:nw-ripple 2s infinite;opacity:.5}
@keyframes nw-ripple{0%{transform:scale(1);opacity:.5}100%{transform:scale(2.2);opacity:0}}
.dot-chiba{bottom:38%;right:25%;background:var(--nw-teal)}.dot-chiba::after{border-color:var(--nw-teal)}
.dot-kanagawa{bottom:40%;right:32%;background:var(--nw-ocean-bright)}.dot-kanagawa::after{border-color:var(--nw-ocean-bright);animation-delay:.3s}
.dot-shizuoka{bottom:36%;right:40%;background:var(--nw-orange)}.dot-shizuoka::after{border-color:var(--nw-orange);animation-delay:.6s}
.nw-area__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:520px){.nw-area__cards{grid-template-columns:1fr}}
.nw-area__card{background:#fff;border:1px solid var(--nw-gray-100);border-radius:var(--nw-radius);padding:16px;transition:all .2s;cursor:pointer;text-decoration:none;color:inherit;display:block}
.nw-area__card:hover{border-color:var(--nw-ocean-bright);box-shadow:0 4px 24px rgba(10,22,40,.1);transform:translateY(-2px)}
.nw-area__card--soon{opacity:.6}
.nw-area__card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.nw-area__card-name{font-size:15px;font-weight:700}
.nw-area__badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:700}
.badge-active{background:rgba(0,191,165,.1);color:var(--nw-teal)}
.badge-collecting{background:rgba(33,150,243,.1);color:var(--nw-ocean-bright)}
.badge-soon{background:rgba(107,122,141,.1);color:var(--nw-gray-500)}
.nw-area__card-stats{display:flex;gap:12px;font-size:12px;color:var(--nw-text-light)}
.nw-area__card-stats strong{color:var(--nw-text);font-weight:700}
.nw-area__card-fish{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.nw-area__fish-chip{font-size:11px;padding:2px 8px;border-radius:4px;background:rgba(26,111,181,.06);color:var(--nw-ocean);font-weight:500}
.nw-area__fish-chip--hot{background:rgba(255,107,107,.08);color:var(--nw-coral)}
.nw-area__card-more{grid-column:1/-1;text-align:center;padding:8px 0}
.nw-area__card-more a{font-size:13px;color:var(--nw-ocean);text-decoration:none;font-weight:700}

/* SEASON */
.nw-season{background:linear-gradient(135deg,var(--nw-navy) 0%,#0d2240 100%)}
.nw-season__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.nw-season__card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--nw-radius);padding:16px;transition:all .2s;cursor:pointer;text-decoration:none;color:inherit;display:block}
.nw-season__card:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.nw-season__card-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.nw-season__fish{font-size:15px;font-weight:700;color:#fff}
.nw-season__signal{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:700}
.signal-peak{background:rgba(255,193,7,.15);color:var(--nw-gold)}
.signal-in{background:rgba(0,191,165,.15);color:var(--nw-teal)}
.signal-normal{background:rgba(107,122,141,.12);color:var(--nw-gray-200)}
.signal-ending{background:rgba(255,107,107,.12);color:var(--nw-coral)}
.nw-season__data{font-size:12px;color:rgba(255,255,255,.45);line-height:1.8}
.nw-season__data strong{color:rgba(255,255,255,.85)}
.nw-season__bar{height:4px;background:rgba(255,255,255,.06);border-radius:2px;margin-top:10px;overflow:hidden}
.nw-season__bar-fill{height:100%;border-radius:2px;transition:width .8s ease}
.bar-peak{background:var(--nw-gold)}.bar-in{background:var(--nw-teal)}.bar-normal{background:var(--nw-gray-500)}.bar-ending{background:var(--nw-coral)}
.nw-season__loading,.nw-season__empty{color:rgba(255,255,255,.4);font-size:13px;padding:24px 0;text-align:center;grid-column:1/-1}

/* CATCHES TABLE */
.nw-catches{background:#fff}
.nw-catches__table-wrap{overflow-x:auto}
.nw-catches__table{width:100%;border-collapse:collapse;font-size:13px}
.nw-catches__table thead th{text-align:left;font-size:11px;font-weight:700;color:var(--nw-gray-500);letter-spacing:.04em;padding:8px 12px;border-bottom:2px solid var(--nw-gray-100);white-space:nowrap}
.nw-catches__table tbody tr{border-bottom:1px solid var(--nw-gray-100);transition:background .15s}
.nw-catches__table tbody tr:hover{background:rgba(26,111,181,.03)}
.nw-catches__table td{padding:10px 12px;vertical-align:middle}
.nw-catches__fish{font-weight:700;color:var(--nw-ocean)}
.nw-catches__count{font-family:'Outfit',sans-serif;font-weight:800;font-size:16px;color:var(--nw-text)}
.nw-catches__count small{font-size:11px;font-weight:400;color:var(--nw-text-light)}
.nw-catches__boat-link{color:var(--nw-ocean);text-decoration:none;font-weight:500}
.nw-catches__boat-link:hover{text-decoration:underline}
.nw-catches__eval{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:700;white-space:nowrap}
.eval-great{background:rgba(255,107,107,.1);color:var(--nw-coral)}
.eval-good{background:rgba(0,191,165,.1);color:var(--nw-teal)}
.eval-normal{background:rgba(107,122,141,.08);color:var(--nw-gray-500)}
.eval-tough{background:rgba(107,122,141,.05);color:#aaa}
.nw-catches__loading{text-align:center;color:var(--nw-text-light);padding:24px}

/* REPORTS */
.nw-reports{background:#f8f9fb}
.nw-reports__scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.nw-reports__scroll::-webkit-scrollbar{height:4px}
.nw-reports__scroll::-webkit-scrollbar-thumb{background:var(--nw-gray-200);border-radius:2px}
.nw-reports__card{min-width:240px;max-width:280px;background:#fff;border:1px solid var(--nw-gray-100);border-radius:var(--nw-radius);overflow:hidden;scroll-snap-align:start;transition:all .2s;text-decoration:none;color:inherit;flex-shrink:0}
.nw-reports__card:hover{box-shadow:0 4px 24px rgba(10,22,40,.1);transform:translateY(-2px)}
.nw-reports__thumb{height:100px;background:linear-gradient(135deg,var(--nw-navy-mid),var(--nw-navy-light));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:20px;font-weight:700;letter-spacing:.05em}
.nw-reports__body{padding:12px 14px}
.nw-reports__meta{font-size:11px;color:var(--nw-text-light);margin-bottom:2px}
.nw-reports__title{font-size:14px;font-weight:700;margin-bottom:4px;line-height:1.4}
.nw-reports__data{font-size:12px;color:var(--nw-text-light)}

/* TACKLE */
.nw-tackle{background:#fff}
.nw-tackle__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.nw-tackle__grid{grid-template-columns:1fr}}
.nw-tackle__card{background:#fff;border:1px solid var(--nw-gray-100);border-radius:var(--nw-radius);padding:18px;transition:all .2s;text-decoration:none;color:inherit;display:block}
.nw-tackle__card:hover{border-color:var(--nw-ocean-bright);box-shadow:0 2px 12px rgba(10,22,40,.06)}
.nw-tackle__card h3{font-size:14px;font-weight:700;margin-bottom:4px}
.nw-tackle__card p{font-size:13px;color:var(--nw-text-light);line-height:1.5}

/* AUTHORITY */
.nw-authority{background:var(--nw-navy);text-align:center}
.nw-authority__stats{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.nw-authority__stat{text-align:center}
.nw-authority__num{font-family:'Outfit',sans-serif;font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--nw-teal),var(--nw-ocean-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nw-authority__label{font-size:12px;color:rgba(255,255,255,.35);margin-top:4px}

/* BACK TO TOP */
.back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;background:var(--nw-ocean);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:all .2s;z-index:90}
.back-to-top:hover{background:var(--nw-ocean-bright);transform:translateY(-2px)}

/* MOBILE */
@media(max-width:480px){
  .nw-hero{padding:36px 16px 32px}
  .nw-hero__stats{gap:8px}
  .nw-hero__stat{min-width:calc(50% - 4px);padding:10px 12px}
  .nw-hero__stat-num{font-size:20px}
  .nw-section__inner{padding:32px 16px}
  .nw-authority__stats{gap:20px}
  .nw-authority__num{font-size:24px}
}
