/* =========================================================
   LP Base — shared styles for all landing pages
   business/, lifeevent/, culture/ sub-pages
   ========================================================= */

body{background:var(--ink);color:var(--mute);}
main.lp-main{display:block;}

/* ---------- LP Hero (Pattern A default) ---------- */
.lp-hero{
  position:relative;width:100%;
  height:118vh;min-height:860px;
  overflow:hidden;background:var(--ink);
}
.lp-hero__image{
  position:absolute;top:38vh;left:0;right:0;bottom:0;z-index:0;
  background-size:cover;background-position:center;
}
.lp-hero__scrim{
  position:absolute;top:38vh;left:0;right:0;bottom:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,22,32,.5) 0%,rgba(11,22,32,.16) 20%,rgba(11,22,32,0) 55%,rgba(11,22,32,.38) 100%);
}
.lp-hero__content{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;
  padding:calc(38vh - clamp(40px,4.8vw,68px)) clamp(28px,6vw,96px) 0;
  text-align:right;color:var(--mute);pointer-events:none;
}
.lp-hero__crumb{
  position:absolute;z-index:3;
  top:calc(38vh - clamp(36px,4.4vh,60px));left:clamp(24px,6vw,80px);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--en-serif);letter-spacing:.38em;text-transform:uppercase;
  font-size:10px;color:rgba(244,239,230,.75);
}
.lp-hero__crumb a{color:inherit;transition:color .3s;}
.lp-hero__crumb a:hover{color:var(--gold-hi);}
.lp-hero__crumb .sep{width:18px;height:.5px;background:currentColor;opacity:.5;}
.lp-hero__crumb .cur{
  font-family:var(--serif);letter-spacing:.24em;font-size:11px;
  color:var(--gold-hi);text-transform:none;
}
.lp-hero__title{
  font-family:var(--serif-display);font-weight:500;
  font-size:var(--fs-h2-section);letter-spacing:.22em;line-height:2.0;
  color:#fff;margin:0;
  text-shadow:0 2px 20px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.35);
  /* パンくずに食い込まない幅を main.js が測って入れる。
     JSが走る前・SP・パンくずと高さが重ならないときは制限なし。 */
  max-width:var(--hero-title-max,100%);
  /* 折り返すときは行の長さをそろえる（最後の行に1語だけ残らないように）。
     対応していないブラウザでは無視されるだけで、折り返し自体は効く。 */
  text-wrap:balance;
}
.lp-hero__title .em{color:var(--gold-hi);}
.lp-hero__sub{
  margin-top:clamp(20px,2.8vh,30px);font-family:var(--en-serif);
  font-size:clamp(10px,.8vw,11px);letter-spacing:.42em;text-transform:uppercase;
  color:rgba(244,239,230,.75);text-shadow:0 1px 6px rgba(0,0,0,.5);
}
/* PC ではヒーロー見出しを1行に見せる（改行はSP用の <br>）。
   ただし1行にすると長すぎるものは main.js が .is-wrap-keep を付け、改行を残す。
   SP（〜767px）は常に改行する。 */
@media(min-width:768px){
  .lp-hero__title:not(.is-wrap-keep) br{display:none;}
  /* **改行を残すと決めたら、必ず残す。**
     ページ別CSSの `.lp-hero__title .sp-only{display:none}` のほうが後に読まれるので、
     クラス3つぶんの強さで上書きしないと、消えたままパンくずに食い込む。 */
  .lp-hero__title.is-wrap-keep br,
  .lp-hero__title.is-wrap-keep .sp-only{display:inline;}
}
@media(max-width:767px){
  .lp-hero{height:112svh;min-height:760px;}
  .lp-hero__image,.lp-hero__scrim{top:32vh;}
  .lp-hero__content{
    padding-top:calc(32vh - clamp(34px,8.8vw,46px));
    padding-left:20px;padding-right:20px;
  }
  .lp-hero__title{font-size:clamp(20px,5vw,26px);letter-spacing:.18em;line-height:2.1;}
  .lp-hero__sub{font-size:9px;letter-spacing:.36em;}
  .lp-hero__crumb{top:calc(32vh - 54px);left:20px;font-size:9px;letter-spacing:.3em;gap:8px;}
  .lp-hero__crumb .sep{width:12px;}
  .lp-hero__crumb .cur{font-size:10px;letter-spacing:.2em;}
}

/* ---------- LP Prologue ---------- */
.lp-prologue{padding:clamp(140px,18vh,220px) 0 clamp(80px,10vh,140px);}
.lp-prologue .wrap{max-width:1600px;padding:0 clamp(24px,5vw,80px);}
.lp-prologue .sig-intro{grid-template-columns:1.1fr 1fr;}
.lp-prologue .sig-intro__title{color:var(--mute);}
.lp-prologue .sig-intro__desc{color:rgba(232,226,212,.82);}
.lp-prologue .sig-intro__img{aspect-ratio:4/5;filter:saturate(.92) brightness(.92);}

/* ---------- LP Section common ---------- */
.lp-sec{padding:clamp(100px,14vh,180px) 0;}
.lp-sec > .wrap{max-width:1600px;padding:0 clamp(24px,5vw,80px);}
.lp-sec .sec-title h2{color:var(--mute);}

/* ---------- Pillars (3x2 variant) ---------- */
.pillar-intro{margin-bottom:clamp(48px,6vw,80px);}
.lp-pillars .pillar-grid{grid-template-columns:repeat(3,1fr);gap:clamp(36px,3.4vw,64px) clamp(30px,3vw,56px);}
.lp-pillars .pillar__img{aspect-ratio:3/2;}
.lp-pillars .pillar__title{color:var(--mute);}
.lp-pillars .pillar__desc{color:rgba(232,226,212,.82);}
.lp-pillars.pillars.is-in .pillar:nth-child(4){transition-delay:720ms;}
.lp-pillars.pillars.is-in .pillar:nth-child(5){transition-delay:920ms;}
.lp-pillars.pillars.is-in .pillar:nth-child(6){transition-delay:1120ms;}
/* 項目を非表示にして2つ・1つだけ残ったときは、3列のときと同じ幅のまま中央に寄せる（2026-09-21）。
   pattern-c/d/e は独自の並びなので対象外。 */
.lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:nth-child(2):last-child){
  grid-template-columns:repeat(2,calc((100% - 2 * clamp(30px,3vw,56px)) / 3));justify-content:center;
}
.lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:only-child){
  grid-template-columns:calc((100% - 2 * clamp(30px,3vw,56px)) / 3);justify-content:center;
}

/* ---------- Hospitality triptych ---------- */

.lp-hospi > .wrap{max-width:1600px;padding:0 clamp(24px,5vw,80px);}
.lp-hospi .sec-title h2{color:var(--mute);}
.lp-hospi .hospi-container__text{color:rgba(232,226,212,.82);}

/* ---------- Concerns Q&A (2-col) ---------- */
.lp-concerns-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3vw,52px);}
.lp-qa{
  display:flex;flex-direction:column;gap:14px;
  padding:clamp(26px,2.4vw,36px);
  background:rgba(21,21,21,.35);border:.5px solid rgba(184,147,90,.18);
}
.lp-qa__q{
  display:flex;align-items:flex-start;gap:14px;
  font-family:var(--serif-display);font-weight:500;
  font-size:clamp(14px,1.1vw,16px);letter-spacing:.14em;line-height:1.7;
  color:var(--mute);margin:0;
}
.lp-qa__q::before{
  content:"Q";font-family:var(--en-serif);font-size:13px;letter-spacing:.06em;
  color:var(--gold-hi);flex-shrink:0;padding-top:3px;
}
.lp-qa__a{
  display:flex;align-items:flex-start;gap:14px;
  font-size:13px;line-height:2;letter-spacing:.08em;
  color:rgba(232,226,212,.78);margin:0;
  padding-top:14px;border-top:.5px dotted rgba(184,147,90,.25);
}
.lp-qa__a::before{
  content:"A";font-family:var(--en-serif);font-size:13px;letter-spacing:.06em;
  color:var(--gold-hi);flex-shrink:0;padding-top:3px;
}

/* ---------- Plans (3 courses) ---------- */
.lp-plans__lead{
  max-width:52em;margin:0 0 clamp(48px,6vh,72px);
  font-family:var(--serif);font-size:14px;letter-spacing:.14em;line-height:2.2;
  color:rgba(232,226,212,.78);
}
.lp-plans-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,3vw,56px);}
.lp-plan{
  display:flex;flex-direction:column;
  background:none;border:none;text-decoration:none;color:inherit;
  transition:transform .7s var(--bezier-quart);
}
.lp-plan:hover{transform:translateY(-4px);}
.lp-plan__img{
  position:relative;aspect-ratio:4/3;overflow:hidden;background:#0f1a24;margin-bottom:26px;
}
.lp-plan__img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.03);transition:transform 2200ms var(--bezier-quart);
  filter:saturate(.95) brightness(.98);
}
.lp-plan:hover .lp-plan__img img{transform:scale(1.08);}
.lp-plan__img::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,22,32,0) 55%,rgba(11,22,32,.45));
}
.lp-plan__tag{
  position:absolute;top:14px;left:14px;z-index:1;
  font-family:var(--en-serif);font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold-hi);padding:6px 12px;
  border:.5px solid rgba(216,184,122,.5);
  background:rgba(11,22,32,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.lp-plan__no{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.lp-plan__no .kanji{
  font-family:var(--serif-display);font-weight:700;
  font-size:24px;letter-spacing:.08em;color:var(--gold);
}
.lp-plan__no .en{
  font-family:var(--en-serif);font-size:10px;letter-spacing:.34em;
  color:var(--gold);text-transform:uppercase;
}
.lp-plan__no .en::before{
  content:"";display:inline-block;width:22px;height:.5px;background:var(--gold);
  vertical-align:middle;margin-right:10px;opacity:.6;
}
.lp-plan__h{
  font-family:var(--serif-display);font-weight:500;
  font-size:var(--fs-h3);letter-spacing:.16em;line-height:1.55;
  color:var(--mute);margin:0 0 12px;
}
.lp-plan__desc{
  font-family:var(--serif);font-size:13px;line-height:2.05;letter-spacing:.1em;
  color:rgba(232,226,212,.72);margin:0 0 20px;
}
.lp-plan__price{
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  margin:auto 0 18px;padding-top:18px;border-top:.5px solid rgba(184,147,90,.28);
}
.lp-plan__price .num{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:.04em;color:var(--gold-hi);}
.lp-plan__price .unit{font-family:var(--serif);font-weight:400;font-size:11px;letter-spacing:.1em;color:rgba(232,226,212,.65);}
.lp-plan__arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--en-serif);font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:rgba(232,226,212,.7);padding:0 0 6px;align-self:flex-start;
  border-bottom:.5px solid rgba(232,226,212,.35);
  transition:color .4s var(--ease),border-color .4s var(--ease),letter-spacing .4s var(--ease);
}
.lp-plan__arrow::after{
  content:"";display:inline-block;width:22px;height:.5px;background:currentColor;
  transition:width .4s var(--ease);
}
.lp-plan:hover .lp-plan__arrow{color:var(--gold-hi);border-color:var(--gold-hi);letter-spacing:.36em;}
.lp-plan:hover .lp-plan__arrow::after{width:32px;}

/* ---------- Pricing Simulation ---------- */
.lp-sim__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3vw,48px);}
.lp-sim__grid--single{grid-template-columns:minmax(0,680px);justify-content:center;}
.lp-sim__card{padding:clamp(30px,3vw,48px) clamp(28px,2.6vw,40px);background:rgba(21,21,21,.42);border:.5px solid rgba(184,147,90,.22);}
.lp-sim__head{margin-bottom:22px;}
.lp-sim__en{font-family:var(--en-serif);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.lp-sim__h{font-family:var(--serif-display);font-weight:500;font-size:var(--fs-h3);letter-spacing:.2em;line-height:1.55;color:var(--mute);margin:0;}
.lp-sim__sub{margin:10px 0 0;font-family:var(--en-body);font-style:italic;font-size:12px;letter-spacing:.06em;color:rgba(216,184,122,.75);}
.lp-sim__ledger{list-style:none;margin:0;padding:6px 0 0;border-top:.5px solid rgba(184,147,90,.35);}
.lp-sim__ledger li{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:14px 4px;border-bottom:1px dotted rgba(184,147,90,.22);font-family:var(--serif);}
.lp-sim__ledger .it{font-size:13px;letter-spacing:.1em;color:var(--mute);}
.lp-sim__ledger .it .note{display:block;font-family:var(--en-body);font-style:italic;font-size:11px;letter-spacing:.04em;color:rgba(232,226,212,.5);margin-top:3px;}
.lp-sim__ledger .pr{font-family:var(--serif);font-size:13px;letter-spacing:.04em;color:var(--gold-hi);white-space:nowrap;}
.lp-sim__total{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:18px 4px 4px;border-top:.5px solid var(--gold);}
.lp-sim__total .lab{font-family:var(--serif-display);font-weight:500;font-size:14px;letter-spacing:.22em;color:var(--mute);}
.lp-sim__total .amt{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.04em;color:var(--gold-hi);}
.lp-sim__total .amt .unit{font-size:11px;color:rgba(216,184,122,.75);margin-left:6px;letter-spacing:.08em;}
.lp-sim__opt{margin-top:22px;padding-top:18px;border-top:.5px dotted rgba(184,147,90,.22);}
.lp-sim__opt-h{font-family:var(--en-serif);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;}
.lp-sim__opt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px;}
.lp-sim__opt-list li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-family:var(--serif);font-size:12.5px;letter-spacing:.06em;color:var(--mute);padding:6px 0;border-bottom:1px dotted rgba(184,147,90,.18);}
.lp-sim__opt-list li:last-child{border-bottom:none;}
.lp-sim__opt-list .pr{color:var(--gold-hi);white-space:nowrap;}
.lp-sim__disclaimer{margin:clamp(28px,4vh,40px) 0 0;text-align:center;font-size:11.5px;line-height:1.95;letter-spacing:.08em;color:rgba(232,226,212,.5);}
/* 金額の下に添える小注釈 / 合計欄下のメモ / ステップ・QAの補足 */
.lp-sim__ledger .pr .note{display:block;margin-top:3px;font-family:var(--en-body);font-style:italic;font-size:11px;letter-spacing:.04em;color:rgba(232,226,212,.5);white-space:normal;text-align:right;}
.lp-sim__memo{margin:10px 0 0;text-align:right;font-family:var(--serif);font-size:11px;line-height:1.9;letter-spacing:.06em;color:rgba(232,226,212,.5);}
.lp-step__note,.lp-qa__note{display:inline-block;margin-top:4px;font-family:var(--serif);font-size:11px;letter-spacing:.06em;color:rgba(232,226,212,.5);}

/* ---------- Flow (4 steps) ---------- */
.lp-flow .pillar-grid{grid-template-columns:repeat(4,1fr);gap:clamp(24px,2.6vw,40px);}
.lp-flow .lp-step{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 4px 0;border-top:.5px solid var(--gold);}
.lp-flow .lp-step .kanji{font-family:var(--serif-display);font-weight:700;font-size:32px;letter-spacing:.08em;color:var(--gold);line-height:1;}
.lp-flow .lp-step__num{display:inline-flex;align-items:center;gap:12px;font-family:var(--en-serif);font-size:10px;letter-spacing:.34em;color:var(--gold);text-transform:uppercase;margin-top:-6px;}
.lp-flow .lp-step__h{font-family:var(--serif-display);font-weight:500;font-size:17px;letter-spacing:.18em;line-height:1.6;color:var(--mute);margin:10px 0 0;}
.lp-flow .lp-step__desc{font-family:var(--serif);font-size:13px;line-height:2.1;letter-spacing:.1em;color:rgba(232,226,212,.72);margin:6px 0 0;}

/* ---------- FAQ (accordion) ---------- */
.lp-faq .lp-faq__list{list-style:none;margin:0;padding:0;border-top:.5px solid rgba(184,147,90,.28);}
.lp-faq .lp-faq__item{border-bottom:.5px solid rgba(184,147,90,.18);}
.lp-faq .lp-faq__item summary{
  list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:24px 6px;font-family:var(--serif-display);font-weight:500;
  font-size:var(--fs-h4);letter-spacing:.14em;line-height:1.65;
  color:var(--mute);transition:color .4s var(--ease);
}
.lp-faq .lp-faq__item summary::-webkit-details-marker{display:none;}
.lp-faq .lp-faq__item summary:hover{color:var(--gold-hi);}
.lp-faq .lp-faq__item summary .ind{position:relative;flex-shrink:0;width:18px;height:18px;margin-top:4px;}
.lp-faq .lp-faq__item summary .ind::before,
.lp-faq .lp-faq__item summary .ind::after{content:"";position:absolute;inset:0;margin:auto;background:var(--gold-hi);transition:transform .4s var(--ease),opacity .4s var(--ease);}
.lp-faq .lp-faq__item summary .ind::before{width:100%;height:.5px;}
.lp-faq .lp-faq__item summary .ind::after{width:.5px;height:100%;}
.lp-faq .lp-faq__item[open] summary .ind::after{opacity:0;transform:rotate(90deg);}
.lp-faq .lp-faq__item .ans{padding:0 6px 24px;font-family:var(--serif);font-size:13px;line-height:2.1;letter-spacing:.08em;color:rgba(232,226,212,.78);margin:0;}

/* ---------- Final CTA ---------- */
.lp-cta{position:relative;overflow:hidden;margin-top:clamp(120px,16vh,200px);}
.lp-cta__link{display:block;position:relative;overflow:hidden;height:clamp(420px,60vh,560px);text-decoration:none;color:inherit;}
.lp-cta__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.04);transition:transform 2200ms var(--ease);filter:saturate(.9) brightness(.85);}
.lp-cta.is-in .lp-cta__bg{transform:scale(1);}
.lp-cta__link:hover .lp-cta__bg{transform:scale(1.08);}
.lp-cta__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,22,32,.35) 0%,rgba(11,22,32,.78) 100%);transition:opacity .5s var(--ease);}
.lp-cta__link:hover .lp-cta__overlay{opacity:.9;}
.lp-cta__inner{
  position:relative;z-index:2;height:100%;max-width:1440px;margin:0 auto;
  padding:0 clamp(24px,8vw,120px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  color:var(--mute);
}
.lp-cta__en{font-family:var(--en-serif);font-size:11px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;}
.lp-cta__title{font-family:var(--serif-display);font-weight:500;font-size:var(--fs-h3);letter-spacing:.18em;line-height:1.7;margin:0 0 18px;}
.lp-cta__lead{max-width:36em;font-family:var(--serif);font-size:14px;letter-spacing:.14em;line-height:2.1;color:rgba(232,226,212,.88);margin:0 0 32px;}
.lp-cta__more{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--serif);font-size:12px;letter-spacing:.32em;color:var(--mute);
  padding:0 0 8px;border-bottom:.5px solid rgba(232,226,212,.6);
  transition:letter-spacing .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
}
.lp-cta__more .arrow{width:24px;height:.5px;background:currentColor;position:relative;transition:width .4s var(--ease);}
.lp-cta__more .arrow::after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-top:.5px solid currentColor;border-right:.5px solid currentColor;transform:rotate(45deg);}
.lp-cta__link:hover .lp-cta__more{letter-spacing:.36em;color:var(--gold-hi);border-color:var(--gold-hi);}
.lp-cta__link:hover .lp-cta__more .arrow{width:34px;}

/* ---------- Responsive (shared) ---------- */
@media(max-width:1080px){
  .lp-pillars .pillar-grid{grid-template-columns:repeat(2,1fr);}
  .lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:nth-child(2):last-child){grid-template-columns:repeat(2,1fr);}
  .lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:only-child){grid-template-columns:calc((100% - clamp(30px,3vw,56px)) / 2);}
  .lp-concerns-grid{grid-template-columns:1fr;}
  .lp-plans-deck{grid-template-columns:1fr 1fr;}
  .lp-sim__grid{grid-template-columns:1fr;}
  .lp-flow .pillar-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .lp-prologue .sig-intro{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .lp-pillars .pillar-grid{grid-template-columns:1fr;}
  .lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:nth-child(2):last-child),
  .lp-pillars:not(:is(.lp-pattern-c,.lp-pattern-d,.lp-pattern-e) *) .pillar-grid:has(> .pillar:only-child){grid-template-columns:1fr;}
  .lp-plans-deck{grid-template-columns:1fr;gap:40px;}
  .lp-flow .pillar-grid{grid-template-columns:1fr;}
  .lp-cta__link{height:clamp(320px,52vh,440px);}
  .lp-cta__title{font-size:clamp(16px,4.5vw,20px);letter-spacing:.14em;}
}

/* ---------- Header v2 ---------- */
.header{padding:0 clamp(24px,8vw,120px);height:110px;}
.header__tools{gap:20px;}
.btn-reserve-v2{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:400;font-size:11px;letter-spacing:.22em;
  color:var(--ink);padding:6px 14px;
  border:1px solid var(--gold);background:var(--gold);
  transition:color .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease);
  white-space:nowrap;text-decoration:none;line-height:1.1;
}
.btn-reserve-v2:hover{color:var(--gold);border-color:var(--gold);background:transparent;}
.btn-reserve-v2 .reservation{
  font-family:var(--en-body);font-size:8px;letter-spacing:.08em;font-style:italic;
  opacity:.85;line-height:1;
}
.header-tel{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--en-body);font-weight:500;font-size:15px;letter-spacing:.05em;
  color:var(--mute);white-space:nowrap;text-decoration:none;transition:color .3s;
}
.header-tel:hover{color:var(--gold-hi);}
.header-tel svg{flex-shrink:0;}
.header-nav-link{
  font-family:var(--serif);font-size:13px;letter-spacing:.18em;
  color:var(--mute);white-space:nowrap;text-decoration:none;transition:color .3s;
}
.header-nav-link:hover{color:var(--gold-hi);}
.header-sns{display:inline-flex;align-items:center;gap:10px;}
.header-sns a{display:inline-flex;align-items:center;color:var(--mute);transition:color .3s;}
.header-sns a:hover{color:var(--gold-hi);}
.lang-select-v2{position:relative;}
.lang-select-v2__toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--serif);font-size:12px;letter-spacing:.15em;
  color:var(--mute);padding:6px 14px;line-height:1.1;
  border:1px solid rgba(232,226,212,.4);border-radius:20px;
  background:none;cursor:pointer;transition:color .3s,border-color .3s;white-space:nowrap;
}
.lang-select-v2__toggle:hover{color:var(--gold-hi);border-color:var(--gold-hi);}
.lang-select-v2__toggle svg{flex-shrink:0;}
.lang-select-v2__caret{
  display:inline-block;width:5px;height:5px;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:translateY(-1px) rotate(45deg);transition:transform .3s var(--ease);
}
.lang-select-v2:hover .lang-select-v2__caret{transform:translateY(0) rotate(225deg);}
.lang-select-v2__menu{
  position:absolute;top:calc(100% + 6px);right:0;min-width:140px;
  list-style:none;padding:8px 0;margin:0;
  background:rgba(14,17,22,.96);backdrop-filter:blur(14px);
  border:.5px solid rgba(184,147,90,.35);
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s;
  z-index:10;
}
.lang-select-v2:hover .lang-select-v2__menu,
.lang-select-v2:focus-within .lang-select-v2__menu{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s;
}
.lang-select-v2__menu a{
  display:block;padding:8px 18px;
  font-family:var(--serif);font-size:11px;letter-spacing:.2em;color:var(--mute);
  transition:color .3s,background .3s;
}
.lang-select-v2__menu a:hover{color:var(--gold-hi);background:rgba(184,147,90,.08);}
.lang-en{font-size:12px;}
@media(max-width:1280px){
  .header-tel{font-size:13px;}
  .header-nav-link{font-size:11px;}
  .btn-reserve-v2{font-size:11px;padding:8px 20px;}
  .header-sns a svg{width:14px;height:14px;}
}
@media(max-width:1080px){
  .header-tel{display:none;}
  .header-nav-link{display:none;}
  .header-sns{display:none;}
  .lang-en{display:none;}
  .btn-reserve-v2{display:none;}
}

/* デッキ下部の中央CTAボタン（例: お部屋を詳しく見る）— 暗背景lpセクション用 */
.lp-deck-more{text-align:center; margin-top:clamp(38px,4vw,56px);}
.lp-deck-more__btn{display:inline-flex; align-items:center; gap:14px; font-family:var(--serif); font-size:12px; letter-spacing:.28em; color:var(--mute); padding:15px 46px; border:.5px solid rgba(232,226,212,.4); transition:color .4s var(--ease),border-color .4s var(--ease),letter-spacing .4s var(--ease);}
.lp-deck-more__btn:hover{color:var(--gold-hi); border-color:var(--gold-hi); letter-spacing:.32em;}
.lp-deck-more__btn .arrow{display:inline-block; width:24px; height:.5px; background:currentColor; position:relative;}
.lp-deck-more__btn .arrow::after{content:""; position:absolute; right:-1px; top:-3px; width:7px; height:7px; border-top:.5px solid currentColor; border-right:.5px solid currentColor; transform:rotate(45deg);}

/* ── 案内カードが「押せる」と分かるようにする ─────────────────────
   カードは全体がリンクだが、見た目が箱のままだと押せると気づけない。
   ① 上端に金の線が左から伸びる  ② わずかに浮く  ③ 右下に「→」が現れる
   キーボード操作（:focus-visible）でも同じ見え方にする。
   動きを減らす設定の人には動かさない（prefers-reduced-motion）。 */
a.ch-guide__card, a.wd-guide__card, a.lg-guide__card{
  position:relative; overflow:hidden;
  transition:transform .45s var(--ease), border-color .45s var(--ease), background-color .45s var(--ease);
}
a.ch-guide__card::before, a.wd-guide__card::before, a.lg-guide__card::before{
  content:""; position:absolute; left:0; top:0; height:1px; width:0;
  background:linear-gradient(90deg, rgba(184,147,90,.9), rgba(184,147,90,.15));
  transition:width .55s var(--ease);
}
a.ch-guide__card::after, a.wd-guide__card::after, a.lg-guide__card::after{
  content:"→"; position:absolute; right:clamp(16px,1.6vw,24px); bottom:clamp(14px,1.4vw,20px);
  font-size:13px; line-height:1; color:var(--gold);
  opacity:0; transform:translateX(-8px);
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
a.ch-guide__card:hover, a.wd-guide__card:hover, a.lg-guide__card:hover,
a.ch-guide__card:focus-visible, a.wd-guide__card:focus-visible, a.lg-guide__card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(184,147,90,.55);
  background-color:rgba(18,20,26,.62);
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
/* 慶事のページ（body.le-day）はカードの色を !important で塗っているので、
   同じ強さで上書きしないとホバーの変化が出ない。地色は白側へ、枠は金へ。 */
body.le-day a[class*="-guide__card"]:hover,
body.le-day a[class*="-guide__card"]:focus-visible{
  background:#f3ecdc !important;
  border-color:rgba(184,150,101,.85) !important;
}
a.ch-guide__card:hover::before, a.wd-guide__card:hover::before, a.lg-guide__card:hover::before,
a.ch-guide__card:focus-visible::before, a.wd-guide__card:focus-visible::before, a.lg-guide__card:focus-visible::before{width:100%;}
a.ch-guide__card:hover::after, a.wd-guide__card:hover::after, a.lg-guide__card:hover::after,
a.ch-guide__card:focus-visible::after, a.wd-guide__card:focus-visible::after, a.lg-guide__card:focus-visible::after{opacity:1; transform:none;}
a.ch-guide__card:focus-visible, a.wd-guide__card:focus-visible, a.lg-guide__card:focus-visible{outline:1px solid rgba(184,147,90,.7); outline-offset:3px;}
/* カードの下端に「→」の場所を空ける */
a.ch-guide__card, a.wd-guide__card, a.lg-guide__card{padding-bottom:calc(clamp(28px,2.6vw,44px) + 10px);}
@media (prefers-reduced-motion:reduce){
  a.ch-guide__card, a.wd-guide__card, a.lg-guide__card,
  a.ch-guide__card::before, a.ch-guide__card::after,
  a.wd-guide__card::before, a.wd-guide__card::after,
  a.lg-guide__card::before, a.lg-guide__card::after{transition:none;}
  a.ch-guide__card:hover, a.wd-guide__card:hover, a.lg-guide__card:hover{transform:none;}
}

/* 見積り例：要相談の但し書き（{{estnote}}／inc/acf-render.php） */
.lp-sim__estnote{display:block;margin-top:6px;font-size:11px;line-height:1.6;letter-spacing:.02em;color:var(--mute);}
