/* BROW GUIDE JAPAN 共通の見た目（design_fix.py が全ページに読み込ませる）
   - ヘッダーとフッターを全ページで同じ形にする
   - スマホで比較表・男女兼用の枠を読みやすくする
   - 文字はOSの標準フォント（Webフォントの読み込みをやめて表示を速くする） */

:root{--bg-blue:#2B82E0;--bg-blue-dark:#1A6FCC;--bg-blue-pale:#EEF5FD;--bg-text:#1A2B3C;--bg-text-mid:#3D5068;--bg-border:#DDE6F0}

body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif}

/* ---------- ヘッダー ---------- */
.bg-hd{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--bg-border);margin:0;padding:0}
.bg-hd *{box-sizing:border-box}
.bg-hd-in{max-width:1100px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.bg-hd .bg-logo{display:flex;flex-direction:column;line-height:1.15;text-decoration:none;color:var(--bg-blue);font-weight:800;font-size:17px;letter-spacing:.02em;white-space:nowrap}
.bg-hd .bg-logo small{font-size:10px;font-weight:600;color:var(--bg-text-mid);letter-spacing:0;margin-top:2px}
.bg-hd .bg-nav{display:flex;gap:4px;margin:0;padding:0}
.bg-hd .bg-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--bg-text-mid);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;background:none}
.bg-hd .bg-nav a:hover{background:var(--bg-blue-pale);color:var(--bg-blue-dark)}
.bg-hd .bg-nav a[aria-current]{color:var(--bg-blue)}
.bg-hd .bg-nav .s{display:none}
.bg-hd .bg-cta{flex:none;display:inline-block;padding:8px 14px;border-radius:999px;background:#FF6B35;color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.bg-hd .bg-cta:hover{background:#E85A26}
.bg-bc{max-width:1100px;margin:0 auto;padding:10px 16px;font-size:12px}
@media(max-width:767px){
  .bg-hd-in{height:auto;flex-wrap:wrap;align-items:center;gap:0;padding:0}
  .bg-hd .bg-logo{order:1;flex:1 1 auto;min-width:0;flex-direction:row;align-items:baseline;gap:8px;padding:10px 16px 6px;font-size:16px}
  .bg-hd .bg-nav{order:3;width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid #EEF2F6}
  .bg-hd .bg-nav a{padding:10px 2px;text-align:center;font-size:12px;border-radius:0}
  .bg-hd .bg-nav .f{display:none}
  .bg-hd .bg-nav .s{display:inline}
  .bg-hd .bg-cta{order:2;margin:6px 12px 2px 0;padding:6px 12px;font-size:12px}
  .bg-hd .bg-cta~.bg-logo small,.bg-hd .bg-logo:has(~.bg-cta) small{display:none}
}

/* ---------- フッター ---------- */
.bg-ft{text-align:left;background:#1A2B3C;color:#C9D6E3;margin-top:48px;padding:28px 16px 32px;font-size:13px;line-height:1.8}
.bg-ft-in{max-width:1100px;margin:0 auto}
.bg-ft .bg-ft-logo{color:#fff;font-weight:800;font-size:15px;text-decoration:none}
.bg-ft ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.bg-ft a{color:#C9D6E3;text-decoration:none}
.bg-ft a:hover{color:#fff;text-decoration:underline}
.bg-ft p{margin:14px 0 0;font-size:12px;color:#8FA3B8}
.bg-areanav{margin-bottom:0}

/* ---------- 比較表（スマホでは1店を2行のカードにして、評価と口コミ数が横スクロールなしで見えるように） ---------- */
@media(max-width:600px){
  .cmp-table-wrap{overflow:visible;border:0}
  .cmp-table,.cmp-table tbody{display:block;width:100%;min-width:0}
  .cmp-table thead{display:none}
  .cmp-table tr{display:grid;grid-template-columns:28px auto 1fr auto;grid-template-areas:"rank name name book" "rank access access access" "rank rating count count";column-gap:8px;row-gap:2px;padding:12px;border:1px solid var(--bg-border);border-radius:10px;background:#fff;margin-bottom:8px}
  .cmp-table td{display:block;padding:0;border:0;text-align:left;white-space:normal;min-width:0}
  .cmp-table .cmp-rank{grid-area:rank;font-weight:800;color:var(--bg-blue);font-size:15px}
  .cmp-table .cmp-name{grid-area:name;font-weight:700;font-size:14px;line-height:1.4}
  .cmp-table .cmp-book{grid-area:book;align-self:start}
  .cmp-table .cmp-access{grid-area:access;font-size:12px;color:var(--bg-text-mid)}
  .cmp-table .cmp-rating{grid-area:rating;font-size:13px}
  .cmp-table .cmp-count{grid-area:count;font-size:13px;color:var(--bg-text-mid)}
}

/* ---------- 男女兼用の枠（スマホで店名・確認元・場所を1行ずつに） ---------- */
@media(max-width:600px){
  .unisex-list li{display:block}
  .unisex-list .u-name{font-size:15px;font-weight:700;margin-bottom:4px}
  .unisex-list .u-meta{display:block;width:auto;font-size:12.5px;line-height:1.6}
  .unisex-list .u-btns{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
}
