*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090807;color:#eee6d8;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.85}a{text-decoration:none;color:inherit}header{height:94px;padding:10px 4%;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;background:rgba(7,6,5,.97);border-bottom:1px solid #5b4020}.logo{display:flex;align-items:center;gap:11px}.logo>span:last-child{display:flex;flex-direction:column}.logo i{font-style:normal;font-size:9px;letter-spacing:2px;color:#ba914c}.logo b{font-size:25px;line-height:1.25;color:#e2bd73;font-weight:500}.logo small{font-size:9px;color:#9f917e}.mark{font-size:50px;color:#d5a94f;line-height:1}nav{display:flex;align-items:center;gap:25px;font-size:13px}nav a{transition:.25s}nav a:hover{color:#d7ad62}.reserve,.gold{padding:13px 25px;background:linear-gradient(135deg,#bd8733,#74501c);border:1px solid #c99b50;color:#fff;border-radius:3px}#hamb{display:none;background:transparent;border:0;color:#d9b56c;font-size:26px}.hero{position:relative;min-height:640px;display:grid;grid-template-columns:1.03fr .97fr;overflow:hidden;background:radial-gradient(circle at 20% 30%,#27190e,#0a0908 55%)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent);pointer-events:none}.heroText{padding:95px 7%;z-index:2}.kicker,.title span,.news>span,.lastCta>span{color:#bd9148;letter-spacing:3px;font-size:11px}.hero h1{font-size:48px;line-height:1.5;letter-spacing:7px;font-weight:400;margin:18px 0}.sub{font-size:14px;color:#c7b9a5}.circles{display:flex;gap:17px;margin:35px 0}.circles span{width:116px;height:116px;border:1px solid #9c7438;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;color:#e1c286}.circles small{color:#a99b88}.cta{display:flex;gap:12px}.cta a,.green{display:inline-block;padding:13px 27px;border-radius:3px;font-weight:700}.green{background:#15a843;color:#fff}.placeholder{background:radial-gradient(circle at 60% 30%,#51371e,#1c1510 52%,#0e0c0a);border:1px solid #5c4225;display:grid;place-items:center;color:#aa8956;text-align:center;letter-spacing:2px}.placeholder span{display:flex;flex-direction:column}.placeholder small{font-size:10px;letter-spacing:1px;color:#786a59}.heroImage{margin:40px 5% 40px 0;min-height:560px}.news{text-align:center;padding:65px 20px;background:#15120f;border-block:1px solid #332719}.news h2{font-size:30px;color:#dfbd78;letter-spacing:4px;font-weight:400}.news h2 em{font-style:normal}.news p{color:#afa291;font-size:13px}.wrap{max-width:1400px;margin:auto;padding:85px 5%}.title{text-align:center;margin-bottom:38px}.title h2{font-size:30px;color:#dcb76e;font-weight:400;letter-spacing:4px;margin:4px 0}.title p{color:#948675;font-size:12px}.therapists{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.therapists article{background:#12100e;border:1px solid #594124;text-align:center;padding-bottom:17px}.portrait{height:320px;border:0;border-bottom:1px solid #594124}.therapists h3{color:#d9b26b;margin:12px 0 0;font-weight:400}.therapists p{font-size:11px;color:#9c8e7c}.therapists article>a{display:inline-block;background:#80591f;border:1px solid #a77a34;padding:5px 20px;font-size:11px}.concept{border:1px solid #44321d;background:#0f0d0b}.features{display:grid;grid-template-columns:repeat(4,1fr)}.features>div{text-align:center;padding:25px;border-right:1px solid #392b1c}.features>div:last-child{border:0}.features strong{font-size:38px;color:#d7aa53}.features h3{color:#d5b06a;font-size:16px}.features p{font-size:12px;color:#a89a88}.pricegrid{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.pricegrid article{padding:27px;background:#11100e;border:1px solid #543e24}.pricegrid article>span{font-size:9px;color:#987542;letter-spacing:2px}.pricegrid h3{color:#d7b16b;margin:3px 0 18px;font-weight:400}.pricegrid p{margin:0;border-top:1px solid #30271d;padding:10px 0;display:flex;justify-content:space-between}.pricegrid b{font-weight:400}.pricegrid strong{color:#d4b16f}.center{text-align:center;margin-top:30px}.visualBreak{height:300px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#392715,#100d0a 65%);border-block:1px solid #4b361e}.visualBreak p{font-size:27px;letter-spacing:5px;color:#e0c28a}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.flow div{border:1px solid #46331e;padding:28px;text-align:center}.flow b{font-size:30px;color:#b9883e}.flow h3{color:#d5af68}.flow p{font-size:11px;color:#a89a88}.access{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.left{text-align:left}.access dl{display:grid;grid-template-columns:110px 1fr;font-size:13px}.access dt{color:#a77b3e}.access dd{margin:0;border-bottom:1px solid #31261c;padding-bottom:9px;margin-bottom:9px}.note{font-size:11px;color:#948675;margin-bottom:30px}.shop{min-height:390px}.lastCta{text-align:center;padding:80px 20px;background:linear-gradient(135deg,#24180d,#0c0a08);border-top:1px solid #49351e}.lastCta h2{font-size:31px;color:#dfbd78;font-weight:400;letter-spacing:4px}.lastCta p{font-size:13px;color:#ab9e8c}footer{text-align:center;padding:50px 20px;color:#8d806f;border-top:1px solid #3b2b1a;font-size:11px}.foot{justify-content:center;margin-bottom:18px}.float{display:none;position:fixed;right:14px;bottom:14px;z-index:60;background:#15a843;color:#fff;padding:12px 20px;border-radius:30px;font-weight:700;box-shadow:0 5px 20px #0008}
@media(max-width:1000px){header{height:72px}.logo b{font-size:19px}.logo small{display:none}.mark{font-size:36px}#hamb{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#090807;padding:22px;flex-direction:column;border-bottom:1px solid #49351e}nav.open{display:flex}.hero{grid-template-columns:1fr}.heroText{padding:60px 7% 25px}.hero h1{font-size:36px}.heroImage{margin:15px 7% 45px;min-height:430px}.therapists{grid-template-columns:repeat(3,1fr)}.features{grid-template-columns:1fr 1fr}.features>div{border-bottom:1px solid #392b1c}.access{grid-template-columns:1fr}.float{display:block}}
@media(max-width:600px){.hero h1{font-size:29px;letter-spacing:4px}.sub{font-size:11px}.circles{gap:7px}.circles span{width:96px;height:96px;font-size:11px}.cta{flex-direction:column}.heroImage{min-height:330px}.wrap{padding:65px 17px}.title h2,.news h2,.lastCta h2{font-size:23px}.therapists{grid-template-columns:repeat(2,1fr);gap:7px}.portrait{height:235px}.features{grid-template-columns:1fr}.features>div{border-right:0}.pricegrid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.visualBreak{height:230px}.visualBreak p{font-size:20px}.access dl{grid-template-columns:90px 1fr}.shop{min-height:300px}}
.heroImage{position:relative;overflow:hidden;border:1px solid #5c4225;background:#160f0b}
.heroImage img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 45%;filter:brightness(.82) saturate(.9) contrast(1.03)}
.heroImage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,5,3,.18),transparent 42%),linear-gradient(0deg,rgba(8,6,4,.12),transparent 35%)}
@media(max-width:600px){.heroImage img{object-position:50% 40%}}


/* ===== V3: compact luxury layout / 2026-10-01 ===== */

/* TOP: make visual slightly larger and reduce dead space */
.hero{
  min-height:auto !important;
  padding-top:42px !important;
  padding-bottom:42px !important;
}
.heroInner{
  max-width:1500px !important;
  margin:0 auto !important;
  grid-template-columns:minmax(0,46%) minmax(0,54%) !important;
  gap:28px !important;
  align-items:stretch !important;
}
.heroCopy{
  padding:54px 0 48px !important;
}
.heroImage{
  min-height:650px !important;
}
.heroImage img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 43% !important;
  filter:brightness(.92) saturate(.94) contrast(1.02) !important;
}
.heroImage:after{
  background:linear-gradient(90deg,rgba(7,5,3,.10),transparent 38%),
             linear-gradient(0deg,rgba(8,6,4,.07),transparent 32%) !important;
}

/* Make opening label slightly stronger */
.eyebrow, .hero .eyebrow{
  letter-spacing:.32em !important;
}

/* Reduce vertical whitespace across major sections */
section{
  scroll-margin-top:100px;
}
.section,
.info,
.therapists,
.concept,
.menu,
.flow,
.access,
.reservation{
  padding-top:74px !important;
  padding-bottom:74px !important;
}

/* Cards/blocks: tighter but still premium */
.sectionHead{
  margin-bottom:38px !important;
}
.therapistGrid,
.menuGrid,
.flowGrid{
  margin-top:34px !important;
}
.conceptGrid{
  margin-top:34px !important;
}

/* Access and reservation were especially tall */
.access{
  padding-top:68px !important;
  padding-bottom:68px !important;
}
.reservation{
  padding-top:78px !important;
  padding-bottom:78px !important;
}

/* Footer compactness */
footer{
  padding-top:62px !important;
  padding-bottom:62px !important;
}

/* Mobile: retain breathing room without excessive scrolling */
@media(max-width:900px){
  .hero{
    padding:24px 20px 34px !important;
  }
  .heroInner{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .heroCopy{
    padding:30px 0 14px !important;
  }
  .heroImage{
    min-height:520px !important;
  }
  .section,
  .info,
  .therapists,
  .concept,
  .menu,
  .flow,
  .access,
  .reservation{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }
}
@media(max-width:600px){
  .heroImage{
    min-height:430px !important;
  }
  .heroImage img{
    object-position:50% 40% !important;
  }
  .section,
  .info,
  .therapists,
  .concept,
  .menu,
  .flow,
  .access,
  .reservation{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
}

/* ===== Price update 2026-10-02 ===== */
.pricegrid{grid-template-columns:repeat(2,1fr)}
.pricegrid article:last-child{grid-column:1/-1}
.pricegrid .desc{display:block;color:#a89a88;font-size:12px;border-top:0;padding-top:0}
.open-label{text-align:right;color:#d8a55a;font-size:12px;letter-spacing:2px;margin:-8px 0 5px}
.pricepair{display:flex;align-items:center;gap:18px}
.pricepair del{color:#8f867a;font-size:13px}
.pricepair strong{min-width:72px;text-align:right}
.price-notes{max-width:560px;margin:28px auto 0;padding:18px 24px;border:1px solid #543e24;text-align:center;background:#11100e}
.price-notes p{margin:2px 0;color:#d8c6a5}.price-notes small{display:block;margin-top:12px;color:#948675}
@media(max-width:600px){.pricegrid{grid-template-columns:1fr}.pricegrid article:last-child{grid-column:auto}.pricepair{gap:10px}.pricepair del{font-size:12px}}

.mapEmbed{min-height:420px;border:1px solid rgba(201,160,72,.45);overflow:hidden;background:#111}.mapEmbed iframe{display:block;width:100%;height:100%;min-height:420px}
