/* ===== v14 共通：ヘッダー中央の入口・両端広告・ランキング枠 ===== */
.hnav{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.hnav a{ display:inline-flex; align-items:center; border:1px solid var(--gold); color:var(--gold-bright);
  background:rgba(184,149,79,.08); border-radius:22px; padding:9px 18px; font-size:14px; font-weight:600;
  text-decoration:none; white-space:nowrap; font-family:var(--font-display); letter-spacing:.03em; transition:.15s; }
.hnav a:hover, .hnav a.cur{ background:var(--gold); color:#1a1314; }

.rail{ position:fixed; top:180px; z-index:5; display:none; }
.rail-left{ left:calc(50% - 490px - 28px - 160px); width:160px; }
.rail-right{ left:calc(50% + 490px + 28px); width:300px; }
.rail-right > div + div{ margin-top:16px; }
@media (min-width:1700px){ .rail{ display:block; } }

.ad-inline2{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin:24px auto; max-width:980px; }
@media (min-width:1700px){ .ad-inline2{ display:none; } }

.ad-slot-c, .ad-bottom{ max-width:980px; margin:28px auto !important; background:var(--panel);
  border:1px solid var(--border-soft); border-radius:10px; padding:16px 18px 18px; box-sizing:border-box;
  box-shadow:0 10px 30px rgba(0,0,0,.45); }
.rank-h{ font-family:var(--font-display); color:var(--text); border-left:3px solid var(--gold);
  padding-left:12px; margin:0 0 14px; font-size:1.05em; font-weight:600; text-align:left; }
.ad-slot-c div, .ad-slot-c li, .ad-slot-c ul, .ad-slot-c table, .ad-slot-c td,
.ad-bottom div, .ad-bottom li, .ad-bottom ul, .ad-bottom table, .ad-bottom td{ background-color:transparent !important; }
.ad-slot-c a, .ad-bottom a{ color:var(--gold-bright) !important; }

@media (max-width:600px){
  .header-center{ display:flex !important; flex:0 0 100% !important; order:3; justify-content:flex-start !important; }
  .hnav{ justify-content:flex-start; gap:6px; }
  .hnav a{ padding:6px 10px; font-size:12px; }
  .ad-slot-c, .ad-bottom{ padding:12px 10px; }
}
