/* ============================================================
   心和会 共通ヘッダー/フッター スタイル（全ページ用）
   読み込み: functions.php で全ページにenqueue されます。
   クラスはすべて swk- で囲ってあり、テーマと衝突しません。
   ============================================================ */
:root{
  --ai:#21456e; --ai-deep:#16304d;
  --shu:#c5503a; --shu-deep:#a83c29;
  --washi:#f6f1e7; --white:#fffdf8;
  --sumi:#20242b; --sumi-soft:#3c4350; --line:#d8cdb6;
}

/* Luxeritas標準のヘッダー/フッターを隠す（自前に置き換えるため）
   ※もし隠れない／表示がおかしい場合は、F12で実際のIDを確認して差し替えてください。 */
#header, #footer{ display:none !important; }

/* 共通コンテナ */
.swk-wrap{ max-width:1140px; margin:0 auto; padding:0 24px; }

/* ---------- ヘッダー ---------- */
.swk-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(246,241,231,.92);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  font-family:"Zen Kaku Gothic New", system-ui, sans-serif;
}
.swk-nav{ display:flex; align-items:center; justify-content:space-between; height:72px; }
.swk-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.swk-mark{
  width:40px; height:40px; border-radius:50%;
  background:var(--ai); color:var(--washi);
  display:grid; place-items:center;
  font-family:"Shippori Mincho", serif; font-weight:800; font-size:22px; flex-shrink:0;
}
.swk-brand b{ font-family:"Shippori Mincho", serif; font-size:19px; letter-spacing:.06em; color:var(--ai-deep); }
.swk-brand small{ display:block; font-size:11px; letter-spacing:.16em; color:var(--sumi-soft); font-weight:500; }
.swk-navlinks{ display:flex; align-items:center; gap:26px; }
.swk-navlinks a{ text-decoration:none; font-size:14.5px; font-weight:500; color:var(--sumi); letter-spacing:.04em; transition:color .2s; }
.swk-navlinks a:hover{ color:var(--shu); }
.swk-cta{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--shu) !important; color:var(--white) !important;
  text-decoration:none; font-weight:700;
  padding:11px 20px; border-radius:999px; font-size:14px; letter-spacing:.04em;
  box-shadow:0 4px 14px rgba(197,80,58,.28);
  transition:transform .15s, box-shadow .2s, background .2s;
}
.swk-cta:hover{ background:var(--shu-deep) !important; transform:translateY(-1px); }
.swk-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.swk-toggle span{ display:block; width:24px; height:2px; background:var(--ai-deep); margin:5px 0; transition:.25s; }

/* ---------- フッター ---------- */
.swk-footer{ background:var(--sumi); color:rgba(246,241,231,.8); padding:60px 0 28px; font-family:"Zen Kaku Gothic New", system-ui, sans-serif; }
.swk-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.swk-foot-brand{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.swk-foot-brand .swk-mark{ width:42px; height:42px; }
.swk-foot-brand b{ font-family:"Shippori Mincho", serif; font-size:19px; color:var(--washi); letter-spacing:.06em; }
.swk-footer p{ font-size:14px; line-height:1.9; margin:0; }
.swk-footer h4{ font-family:"Shippori Mincho", serif; color:var(--washi); font-size:15px; letter-spacing:.06em; margin:0 0 16px; }
.swk-footer ul{ list-style:none; margin:0; padding:0; }
.swk-footer li{ margin-bottom:10px; }
.swk-footer a{ color:rgba(246,241,231,.8); text-decoration:none; font-size:14px; transition:color .2s; }
.swk-footer a:hover{ color:var(--shu); }
.swk-foot-bottom{ border-top:1px solid rgba(246,241,231,.14); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:rgba(246,241,231,.5); }

/* ---------- レスポンシブ ---------- */
@media(max-width:900px){
  .swk-navlinks{
    position:fixed; inset:72px 0 auto 0; flex-direction:column; align-items:stretch;
    background:var(--washi); border-bottom:1px solid var(--line); gap:0;
    padding:8px 24px 20px; transform:translateY(-130%); transition:transform .3s;
    box-shadow:0 12px 24px rgba(0,0,0,.08);
  }
  .swk-navlinks.open{ transform:translateY(0); }
  .swk-navlinks a{ padding:13px 4px; border-bottom:1px solid var(--line); }
  .swk-navlinks .swk-cta{ margin-top:12px; justify-content:center; }
  .swk-toggle{ display:block; }
  .swk-foot-grid{ grid-template-columns:1fr; gap:30px; }
}
