
#hero{
  min-height:100vh;background:var(--navy);
  position:relative;display:flex;align-items:center;
  overflow:hidden;padding-top:68px;
}
.hbg{
  position:absolute;inset:0;opacity:.05;
  background-image:
    linear-gradient(rgba(184,150,90,.6) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,150,90,.6) 1px,transparent 1px);
  background-size:70px 70px;
}
.hglow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 55% 70% at 65% 50%,rgba(184,150,90,.07),transparent 70%);
}
.hin{
  position:relative;z-index:2;display:grid;
  grid-template-columns:1fr 360px;
  min-height:calc(100vh - 68px);
  max-width:1180px;margin:0 auto;padding:0 5%;
}
.hl{display:flex;flex-direction:column;justify-content:center;padding:72px 52px 72px 0}
.hew{
  color:var(--gold);font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  font-weight:400;margin-bottom:24px;display:flex;align-items:center;gap:12px;
}
.hew::before{content:'';width:32px;height:1px;background:var(--gold)}
.hh1{
  font-family:'Noto Serif JP','Georgia',serif;
  font-size:clamp(30px,4vw,50px);color:var(--wh);
  font-weight:300;line-height:1.5;letter-spacing:.06em;margin-bottom:10px;
}
.hh1 em{font-style:normal;color:var(--gold-lt)}
.hen{
  font-family:'Cormorant Garamond','Times New Roman',serif;font-style:italic;
  font-size:clamp(13px,1.6vw,17px);color:rgba(255,255,255,.35);
  letter-spacing:.18em;margin-bottom:28px;font-weight:300;
}
.hlead{
  color:rgba(255,255,255,.58);font-size:13.5px;
  line-height:2.1;font-weight:300;margin-bottom:40px;max-width:480px;
}
.hbtns{display:flex;gap:14px;flex-wrap:wrap}

.hr{
  display:flex;flex-direction:column;justify-content:center;gap:16px;
  border-left:1px solid rgba(184,150,90,.15);
  padding:72px 0 72px 40px;
}
.sbox{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(184,150,90,.18);
  padding:22px 28px;text-align:center;
}
.sn{
  font-family:'Cormorant Garamond','Times New Roman',serif;
  font-size:46px;color:var(--gold-lt);font-weight:300;line-height:1;letter-spacing:.04em;
}
.su{font-size:17px}
.sl{color:rgba(255,255,255,.4);font-size:10px;letter-spacing:.2em;margin-top:8px;font-weight:300}

/* ━━ ボタン共通 ━━ */
.btn-g{
  background:var(--gold);color:var(--wh);padding:14px 32px;
  font-size:12px;letter-spacing:.18em;font-weight:500;
  text-decoration:none;display:inline-block;
  transition:background .25s,transform .2s;
}
.btn-g:hover{background:var(--gold-lt);transform:translateY(-2px)}
.btn-gh{
  border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.7);
  padding:13px 32px;font-size:12px;letter-spacing:.18em;font-weight:300;
  text-decoration:none;display:inline-block;
  transition:border-color .25s,color .25s;
}
.btn-gh:hover{border-color:var(--gold);color:var(--gold-lt)}
.btn-ol{
  border:1.5px solid var(--navy);color:var(--navy);padding:13px 32px;
  font-size:12px;letter-spacing:.18em;font-weight:500;
  text-decoration:none;display:inline-block;
  transition:background .25s,color .25s;
}
.btn-ol:hover{background:var(--navy);color:var(--wh)}
.btn-line{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--lg);color:var(--wh);padding:13px 22px;
  font-size:12px;letter-spacing:.1em;font-weight:500;
  text-decoration:none;transition:background .25s;
}
.btn-line:hover{background:#05b84d}

/* ━━ SECTION共通 ━━ */
.sec{padding:88px 5%}
.si{max-width:1100px;margin:0 auto}
.slbl{
  display:flex;align-items:center;gap:14px;color:var(--gold);
  font-size:10px;letter-spacing:.35em;text-transform:uppercase;font-weight:500;margin-bottom:16px;
}
.slbl::after{content:'';width:44px;height:1px;background:var(--gold)}
.sh2{
  font-family:'Noto Serif JP','Georgia',serif;
  font-size:clamp(22px,3vw,34px);font-weight:300;
  line-height:1.55;letter-spacing:.05em;color:var(--navy);margin-bottom:14px;
}
.sh2 em{font-style:normal;color:var(--gold)}
.slead{color:var(--txt-mid);font-size:14px;line-height:2.1;font-weight:300;max-width:640px}

/* ━━ PICKUP（メニューカード） ━━ */
.pgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;margin-top:48px;
}
.pc{
  background:var(--wh);text-decoration:none;display:block;
  border:1px solid var(--cream-dk);
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.pc:hover{
  transform:translateY(-5px);
  box-shadow:0 10px 36px rgba(0,0,0,.09);
  border-color:var(--gold);
}
.pc-thumb{
  width:100%;aspect-ratio:16/9;background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.pc-thumb::before{
  content:'';position:absolute;inset:0;opacity:.05;
  background-image:
    linear-gradient(rgba(184,150,90,.5) 1px,transparent 1px),
    linear-gradient(90deg,rgba(184,150,90,.5) 1px,transparent 1px);
  background-size:36px 36px;
}
.pc-icon{
  position:relative;z-index:2;
  font-family:'Cormorant Garamond','Times New Roman',serif;
  font-size:38px;color:var(--gold-lt);font-weight:300;letter-spacing:.1em;
}
.pc-body{padding:20px 22px 24px}
.pc-en{color:var(--gold);font-size:9.5px;letter-spacing:.22em;font-weight:500;margin-bottom:6px;text-transform:uppercase}
.pc-tit{
  font-family:'Noto Serif JP','Georgia',serif;font-size:16px;
  font-weight:600;color:var(--navy);margin-bottom:9px;letter-spacing:.04em;
}
.pc-desc{color:var(--txt-mid);font-size:12px;line-height:1.9;font-weight:300;margin-bottom:14px}
.pc-link{color:var(--gold);font-size:11px;letter-spacing:.14em;font-weight:500}

/* ━━ NEWS ━━ */
.news-list{
  border-top:1px solid var(--cream-dk);margin-top:40px;
}
.ni{
  display:grid;grid-template-columns:110px 76px 1fr auto;
  gap:18px;align-items:center;padding:16px 0;
  border-bottom:1px solid var(--cream-dk);
  text-decoration:none;transition:background .2s;
}
.ni:hover{background:var(--cream);padding-left:12px;padding-right:12px;margin:0 -12px}
.ni-date{color:var(--txt-lt);font-size:12px;font-weight:300;letter-spacing:.05em}
.ni-cat{
  background:var(--navy);color:var(--wh);
  font-size:10px;letter-spacing:.08em;padding:3px 9px;text-align:center;font-weight:400;
}
.ni-tit{color:var(--txt);font-size:13px;font-weight:300;letter-spacing:.04em}
.ni-arr{color:var(--gold);font-size:14px}
.nm{margin-top:28px;text-align:right}

/* ━━ CTAバンド ━━ */
.ctab{
  background:var(--navy);padding:68px 5%;text-align:center;
  position:relative;overflow:hidden;
}
.ctab::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(184,150,90,.07),transparent 70%);
}
.ctab-in{position:relative;z-index:2}
.ctab .ew{color:var(--gold);font-size:9.5px;letter-spacing:.4em;text-transform:uppercase;margin-bottom:16px}
.ctab h2{
  font-family:'Noto Serif JP','Georgia',serif;
  font-size:clamp(20px,3.2vw,36px);color:var(--wh);
  font-weight:300;line-height:1.6;margin-bottom:12px;letter-spacing:.05em;
}
.ctab .sub{color:rgba(255,255,255,.42);font-size:13px;font-weight:300;margin-bottom:36px;letter-spacing:.08em}
.ctab-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ━━ FOOTER ━━ */
footer{background:#0c1424;padding:48px 5% 24px;border-top:1px solid rgba(184,150,90,.18)}
.fi{max-width:1100px;margin:0 auto}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px;margin-bottom:36px}
.fb p{color:rgba(255,255,255,.26);font-size:12px;line-height:2;font-weight:300;margin-top:14px}
.fc h5{color:var(--gold);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;margin-bottom:14px}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.fc ul a{color:rgba(255,255,255,.34);text-decoration:none;font-size:11.5px;font-weight:300;letter-spacing:.05em;transition:color .25s}
.fc ul a:hover{color:var(--gold-lt)}
.fbot{padding-top:20px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}
.fcopy{color:rgba(255,255,255,.16);font-size:11px;font-weight:300;letter-spacing:.1em}
.fsns{display:flex;gap:10px}
.fsns a{color:rgba(255,255,255,.26);font-size:11.5px;text-decoration:none;transition:color .25s}
.fsns a:hover{color:var(--gold-lt)}

/* ━━ フローティング ━━ */
.flw{position:fixed;bottom:16px;right:16px;z-index:900;display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.flb{
  padding:10px 16px;font-size:11px;letter-spacing:.12em;font-weight:500;
  text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.25);
  white-space:nowrap;display:flex;align-items:center;gap:7px;
  transition:transform .2s,opacity .2s;
}
.flb:hover{transform:translateY(-2px)}
.flb.fc2{background:var(--gold);color:var(--wh)}
.flb.fl2{background:var(--lg);color:var(--wh)}
.fbdg{background:white;color:var(--lg);width:15px;height:15px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;font-family:sans-serif;flex-shrink:0}

/* ━━ スクロールリビール ━━ */
.r{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.r.v{opacity:1;transform:translateY(0)}
.r.d1{transition-delay:.1s}.r.d2{transition-delay:.2s}.r.d3{transition-delay:.3s}

/* ━━ レスポンシブ ━━ */
@media(max-width:1000px){
  .pc-nav a:not(.nb):not(.nl){display:none}
  .ham{display:flex}
  .hin{grid-template-columns:1fr}
  .hr{display:none}
  .hl{padding:56px 0}
  .pgrid{grid-template-columns:1fr 1fr}
  .fg{grid-template-columns:1fr;gap:28px}
}
@media(max-width:600px){
  .pgrid{grid-template-columns:1fr}

}