/* site.css — 全ページ共通の土台とヘッダー・フッター
   top.html（Claude Design版）のヘッダー・フッターをもとにしている。
   読み込み順： style.css（テーマ） → site.css → 各ページのCSS */

:root{
  --accent:#4F46E5; --accent-dark:#4338CA; --accent-pale:#eef0fd; --accent-soft:#fafaff;
  --text:#1c1d2b; --text-2:#45485a; --muted:#5d6072; --muted-2:#9a9db0;
  --line:#e1e3ec; --line-2:#eeeff4; --line-3:#e7e8ef; --tile:#f7f7fc;
  --maxw:1160px; --pad:24px;
  --font:"Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}

/* 見本の灰色背景・外枠・影は再現しない。html/bodyは白・横幅いっぱい */
html,body{margin:0;padding:0;width:100%;background:#fff}
body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;
  font-size:16px;line-height:1.8}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark);text-decoration:underline}
select,button,input,textarea{font-family:inherit}
table{border-collapse:collapse}

/* 全ページ共通のコンテナ。フル幅にしてよいのは背景色だけ */
.inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* ===== ヘッダー ===== */
.site-head{background:#fff;border-bottom:1px solid var(--line-3)}
.site-head .inner{display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding-top:14px;padding-bottom:14px}
.brand{margin:0;font-size:16px;font-weight:700;letter-spacing:.02em;line-height:1.4}
.brand a{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
.brand a:hover{color:var(--text);text-decoration:none}
.brand .mark{width:24px;height:24px;border-radius:3px;background:var(--accent);
  display:inline-block;flex:none}
/* サイトロゴを設定したときは、四角の代わりに画像を出す。
   高さだけ決めて横幅は自動＝どんな形のロゴでも比率が崩れない。 */
.brand img.mark{width:auto;height:30px;max-height:30px;border-radius:0;background:none;
  display:block;flex:none;object-fit:contain}
.brand .name{min-width:0}
.site-tag{font-size:13px;color:var(--muted)}

/* グローバルナビ */
.gnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.gnav a{font-size:14px;color:var(--text-2);text-decoration:none;padding:6px 2px;display:inline-block}
.gnav a:hover{color:var(--accent);text-decoration:none}
.gnav .current-menu-item > a{color:var(--accent);font-weight:700}

/* ===== フッター ===== */
.site-foot{margin-top:56px;background:var(--tile);border-top:1px solid var(--line-3)}
.site-foot .inner{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;
  gap:14px 28px;align-items:center;justify-content:space-between}
.fnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.fnav a{font-size:14px;color:var(--text-2);text-decoration:none}
.fnav a:hover{color:var(--accent);text-decoration:underline}
.copy{font-size:12px;color:var(--muted);margin:0}

/* ===== 共通の部品 ===== */
.btn{display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-weight:700;border-radius:3px}
.btn-main{min-height:52px;padding:0 26px;background:var(--accent);color:#fff;font-size:16px;
  box-shadow:0 6px 16px rgba(79,70,229,.25)}
.btn-main:hover{background:var(--accent-dark);color:#fff;text-decoration:none}
.btn-ghost{min-height:46px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-size:14px}
.btn-ghost:hover{background:var(--accent);color:#fff;text-decoration:none}

@media (max-width:719px){
  .inner{padding-left:16px;padding-right:16px}
  .site-tag{display:none}
  .brand{font-size:15px}
  .brand img.mark{height:26px;max-height:26px}
  .brand a{gap:7px}
  .site-head .inner{flex-wrap:wrap;gap:8px 16px}
  .gnav ul{gap:4px 14px}
  .gnav a{font-size:13px}
  .site-foot .inner{flex-direction:column;align-items:flex-start}
}

/* ===== <main class="site-main"> の扱い =====
   記事ページ・一覧ページ（テーマのstyle.cssが担当）は、中央寄せの箱に入る。
   比較サイトの自作テンプレート（TOP・店舗・エリア・都道府県・固定ページ3枚）は
   ページ側で横幅と余白を持っているので、<main>の箱を外して全幅で使う。
   body に hikaku-wide が付くかどうかは functions.php で切り替えている。 */
body.hikaku-wide .site-main{max-width:none;margin:0;padding:0}
