/* ============================================================
   五十嵐園 — 固定ページ（about / gift / shop / company / legal / privacy）
   style.css の変数・ヘッダー・フッター・.sh・.vhead・.btn・.tlink をそのまま使う。
   ============================================================ */

/* 下層はヒーロー写真が無いので、ヘッダーは最初から塗りつぶし */
.page .header{background:rgba(14,13,11,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line)}
.page-main{padding-top:var(--header)}

/* ---------- 小さなヒーロー（縦書きの見出し＋リード） ---------- */
.page-hero{padding:72px 0 56px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold3),transparent)}
.page-hero-inner{display:flex;align-items:center;gap:56px}
.page-hero .vhead .jp{font-size:clamp(28px,3vw,40px);min-height:0}
.page-hero.h .page-hero-inner{flex-direction:column;align-items:flex-start;gap:28px}
.page-hero.h .sh{margin:0}
.page-hero.h .sh .en{font-size:clamp(34px,4vw,56px)}
.page-lead{font-size:clamp(18px,1.6vw,24px);line-height:1.9;letter-spacing:.08em;color:#fff;margin:0;max-width:640px}

/* ---------- セクション ---------- */
.sec-page{padding:110px 0}
.sec-page.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-page .sh{margin-bottom:56px}
.wrap.narrow{width:min(820px,calc(100% - 64px))}
.page-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:64px}
.note{color:var(--muted);font-size:12.5px;letter-spacing:.06em;margin-top:18px;line-height:1.9}

/* 仮・要確認の目印（本番では消える前提） */
.tbd{display:inline-block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;color:#f0c674;border:1px dashed #8a6d2f;padding:1px 8px;margin:0 6px;vertical-align:middle;line-height:1.7}
.tmp-banner{border:1px dashed #8a6d2f;background:rgba(184,151,90,.06);color:var(--gold2);font-size:13px;letter-spacing:.06em;line-height:1.9;padding:14px 18px;margin-bottom:56px}
.tmp-banner b{color:#f0c674;font-weight:500}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-grid.rev .about-pic{order:2}
.about-pic{position:relative}
.about-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85) brightness(.9)}
.about-pic .frame{position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold3);pointer-events:none}
.about-grid.rev .about-pic .frame{inset:-18px -18px 18px 18px}
.about-txt>p{color:var(--muted);font-size:15px;margin-bottom:22px}
.about-txt .big{color:#fff;margin-bottom:28px}
.about-txt .sign{display:flex;flex-direction:column;gap:6px;margin-top:36px;color:var(--text)}
.about-txt .sign span{font-size:13px;letter-spacing:.2em;color:var(--muted)}
.about-txt .sign b{font-weight:500;font-size:16px;letter-spacing:.2em;color:var(--gold2)}
.pillars{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:none}
.pillars li{background:var(--bg);padding:40px 26px 36px;display:flex;flex-direction:column;gap:18px;min-height:220px}
.pillars .num{font-size:30px;color:var(--gold);font-weight:300;line-height:1}
.pillars p{font-size:14px;line-height:1.95;letter-spacing:.06em}
.pillars-note{max-width:820px;margin:48px auto 0;color:var(--muted);font-size:14.5px;text-align:center}
.timeline{border-top:1px solid var(--line);max-width:900px}
.timeline>div{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:26px 0;border-bottom:1px solid var(--line)}
.timeline dt{font-size:30px;color:var(--gold2);font-weight:300;line-height:1.2;letter-spacing:.08em;text-transform:none}
.timeline dd{color:var(--muted);font-size:14.5px;line-height:2}

/* ---------- gift ---------- */
.occasions{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.occasions li{background:var(--bg2);padding:34px 26px}
.occasions b{display:block;font-weight:500;font-size:16px;letter-spacing:.2em;color:var(--gold2);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line2)}
.occasions p{font-size:13.5px;line-height:2;color:var(--muted)}
.gift-sets{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center}
.setlist{list-style:none;border-top:1px solid var(--line)}
.setlist li{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:72px 1fr;gap:10px 22px;align-items:start}
.setlist .cat{font-size:10.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold3);padding:4px 0;text-align:center;margin-top:6px}
.setlist b{font-weight:500;font-size:16px;letter-spacing:.08em;color:#fff;line-height:1.7}
.setlist p{grid-column:2;font-size:13.5px;color:var(--muted);line-height:1.9}
.gift-pic img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:saturate(.8) brightness(.78) contrast(1.05);border:1px solid var(--line)}
.noshi{border-top:1px solid var(--line);max-width:820px}
.noshi>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.95}
.noshi dt{color:var(--gold);letter-spacing:.24em;font-size:12.5px;padding-top:4px}

/* ---------- shop ---------- */
.shop2-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.shop2-txt>p{color:var(--muted);font-size:15px}
.shop2-txt .big{color:#fff;margin-bottom:26px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.steps li{position:relative;padding-top:18px;border-top:1px solid var(--gold3)}
.steps .num{display:block;font-size:34px;color:var(--gold2);font-weight:300;margin-bottom:12px;text-transform:none}
.steps p{font-size:14px;color:var(--muted);line-height:2}
.master-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.master-grid>div>p{color:var(--muted);font-size:15px;margin-bottom:18px}
.master-grid .big{color:#fff;margin-bottom:26px}
.master-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}

/* ---------- company / legal（表） ---------- */
.spec{border-top:1px solid var(--line)}
.spec>div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.95}
.spec dt{color:var(--gold);letter-spacing:.2em;font-size:12.5px;padding-top:4px}
.spec dd a{border-bottom:1px solid var(--gold3)}

/* ---------- privacy（本文） ---------- */
.prose p,.prose li{font-size:14.5px;line-height:2.05;color:var(--text)}
.prose p{margin-bottom:18px}
.prose h2{font-size:17px;font-weight:500;letter-spacing:.14em;color:var(--gold2);margin:48px 0 16px;padding-left:18px;border-left:1px solid var(--gold)}
.prose ul{list-style:none;margin-bottom:18px}
.prose li{position:relative;padding-left:18px;margin-bottom:4px}
.prose li::before{content:"";position:absolute;left:0;top:1em;width:6px;height:1px;background:var(--gold3)}
.prose .date{margin-top:56px;color:var(--muted);font-size:13px;letter-spacing:.1em}

/* ---------- SP ---------- */
@media (max-width:860px){
  .page-hero{padding:56px 0 44px}
  .page-hero-inner{flex-direction:column;align-items:flex-start;gap:28px}
  .page-hero .vhead .jp{min-height:0;font-size:26px}
  .sec-page{padding:72px 0}
  .sec-page .sh{margin-bottom:36px}
  .wrap.narrow{width:calc(100% - 40px)}
  .about-grid,.gift-sets,.shop2-grid,.master-grid{grid-template-columns:1fr;gap:40px}
  .about-grid.rev .about-pic{order:0}
  .about-pic .frame,.about-grid.rev .about-pic .frame{inset:-10px 10px 10px -10px}
  .pillars{grid-template-columns:1fr}
  .pillars li{min-height:0;flex-direction:row;align-items:flex-start;gap:20px;padding:22px 20px}
  .pillars .num{font-size:24px;padding-top:4px}
  .timeline>div{grid-template-columns:1fr;gap:6px}
  .timeline dt{font-size:24px}
  .occasions{grid-template-columns:1fr}
  .setlist li{grid-template-columns:1fr}
  .setlist .cat{width:72px}
  .setlist p{grid-column:1}
  .noshi>div,.spec>div{grid-template-columns:1fr;gap:6px}
  .steps{grid-template-columns:1fr;gap:24px}
  .page-cta{flex-direction:column}
  .page-cta .btn{width:100%}
}
