:root{
  --navy:#0e1a2b;
  --gold:#c9a44b;
  --gold-strong:#b88a16;
  --ink:#1b1f24;
  --ink-2:#3b4450;
  --muted:#faf9fd;
}

body{
  margin:0; color:var(--ink); background:#fff;
  font-family:"Noto Serif JP",serif;
  line-height:1.8; letter-spacing:.02em;
}
h1,h2,h3,.brand-text{
  font-family:"Playfair Display",serif;
  letter-spacing:.02em;
}
img{max-width:100%; display:block}

.container{max-width:960px; margin:0 auto; padding:0 20px}
.section{padding:80px 0}
.section.slim{padding:64px 0}
.section-title{margin:0 0 24px; text-align:center; color:var(--navy); font-size:26px}

/* Header（共通） */
.site-header{position:sticky;top:0;z-index:10;background:#fffdfdc7;backdrop-filter:blur(6px);border-bottom:1px solid #eee}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none}
.brand-text{font-size:20px;color:var(--navy);font-weight:600}
.logo-mark{height:26px}
.menu{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.menu a{color:var(--ink);text-decoration:none;font-size:14px}
.menu .btn{color:#fff}

/* パネル・バッジ（共通） */
.panel{border:1px solid var(--gold);border-radius:20px;padding:32px;background:#fff;max-width:760px;margin:0 auto}
.panel.soft{border-color:rgba(201,164,75,.45);background:#fffdf9}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--gold-strong);background:#fffdf7;padding:4px 10px;border-radius:999px;font-size:12px;margin-bottom:12px}

/* ボタン（共通） */
.btn{display:inline-block;padding:8px 16px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;transition:.15s;border:1px solid var(--gold)}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:#2a2f4f;border-color:#2a2f4f}
.btn-outline{background:transparent;color:var(--gold)}
.btn-outline:hover{background:#2a2f4f;color:#fff;border-color:#2a2f4f}

/* フッター（共通） */
.site-footer{border-top:1px solid #f0f0f4;padding:24px 0;color:#666;font-size:13px}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brandline{font-weight:600;color:var(--navy);margin-bottom:6px}
.footer-nav a{color:#666;text-decoration:none;margin-right:12px}
.footer-nav a:hover{color:var(--navy)}

/* 汎用ユーティリティ */
.center { text-align: center; }
.center-narrow{ margin:0 auto; max-width:56ch; }

/* Contact セクションのボタン間隔（共通でOK） */
#contact .btn { margin-top: 16px; }

/* ここから下は“ホーム固有”ではないレスポンシブが出たら追加 */

/* PCデフォルトは従来どおり */
.nav-toggle { display: none; }
/* ===== スマホ（560px以下）だけ MENU ボタン調整 ===== */
@media (max-width: 560px){
    /* ヘッダーの余白とロゴ/ブランドサイズ調整（左詰まり解消） */
  .site-header .container{
    padding-left: 20px;   /* ←左にゆとり */
    padding-right: 16px;
  }
  .brand-text{ font-size: 18px; }     /* 少しだけ小さく */
  .logo-mark{ height: 22px; }         /* 既存よりほんの少し小さめ */

  .nav-toggle{
    margin-left: auto;                /* 右端に寄せる */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;                     /* 高さ固定で揃える */
    padding: 0 12px;                  /* 自然な横幅 */
    border: 1px solid #929292;        /* 黒っぽい枠 */
    border-radius: 8px;               /* 角丸は控えめ */
    background: #fff;
    color: #1b1f24;
    font-weight: 400;                 /* 太字じゃない */
    font-size: 10px;                  /* 普通の文字サイズ */
    letter-spacing: .06em;
    box-shadow: none;
  }


  /* 旧ハンバーガー線が残っても非表示にする保険 */
  .nav-toggle .bar{ display:none; }

  /* ドロワーメニュー（既存のままでOK。参考） */
  .menu{
    position: fixed;
    top: 64px;
    right: 0; left: 0;
    display: none;
    flex-direction: column;
    gap: 14px;
    padding: 16px 20px;
    margin: 0;
    background: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
    z-index: 9;
  }
  .menu.open{ display: flex; }

  .menu a{
    font-size: 15px;
    padding: 8px 2px;
    color: var(--ink);
  }

  
  /* Contact の “btn 見た目” を SP だけ打ち消して普通のリンクに */
  .menu .btn{
    background: transparent !important;
    border: none !important;
    color: var(--ink) !important;
    padding: 8px 2px !important;
    border-radius: 0 !important;
    font-weight: 400 !important;
  }


  body.no-scroll{ overflow: hidden; }
}

