:root{--bg:#f8f7f3;--white:#fff;--ink:#3f4740;--muted:#70776f;--green:#70816d;--light:#eef2ec;--gold:#c8b98d;--line:#d8d8cd;--shadow:0 22px 70px rgba(70,76,68,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Serif JP",serif;color:var(--ink);background:var(--bg);line-height:1.9}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:26px 5%;color:#fff}.brand{font-family:"Cormorant Garamond",serif;font-size:34px;letter-spacing:.12em}.site-header nav{display:flex;gap:22px;align-items:center;font-size:14px;letter-spacing:.08em}.nav-reserve{border:1px solid rgba(255,255,255,.75);padding:8px 18px;border-radius:999px}.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;background:#e8ece5}.hero-image{height:100vh;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:120px 8% 70px;background:linear-gradient(135deg,rgba(248,247,243,.96),rgba(238,242,236,.92))}.hero-logo{width:250px;margin:0 auto 30px;mix-blend-mode:multiply}.eyebrow{font-family:"Cormorant Garamond",serif;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-size:14px}.hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(44px,6vw,78px);line-height:1.05;font-weight:500;margin:10px 0 24px}.hero p{max-width:560px}.hero-buttons,.reserve-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.hero-buttons a,.reserve-links a{background:var(--green);color:#fff;padding:13px 28px;border-radius:999px;letter-spacing:.08em}.hero-buttons a.sub{background:transparent;color:var(--green);border:1px solid var(--green)}.section{padding:110px 6%}.section-title{margin-bottom:42px}.section-title span{font-family:"Cormorant Garamond",serif;color:var(--gold);font-size:26px;letter-spacing:.18em}.section-title h2{font-size:clamp(26px,3.3vw,42px);font-weight:500;line-height:1.5;margin:8px 0}.center{text-align:center}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.about-grid img,.cards article,.menu-img,.gallery img,.access-box,.reserve{box-shadow:var(--shadow);border-radius:22px}.about-grid img{overflow:hidden}.about-grid p{font-size:16px}.treatments{background:var(--light)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cards article{background:#fff;overflow:hidden}.cards article img{height:260px;width:100%;object-fit:cover}.cards article h3{font-size:22px;font-weight:500;margin:24px 24px 6px}.cards article p{margin:0 24px 28px;color:var(--muted)}.menu-section{background:#fff}.menu-img{max-width:900px;margin:0 auto;border:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:var(--bg)}.gallery img{height:300px;width:100%;object-fit:cover}.access-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;overflow:hidden;background:#fff}.access-box>div{padding:44px}.access-box iframe{width:100%;height:430px;border:0}.reserve{text-align:center;max-width:900px;margin:80px auto;background:#fff;padding:70px 6%}.reserve img{width:180px;margin:0 auto 20px;mix-blend-mode:multiply}.reserve h2{font-weight:500;font-size:34px}.footer,footer{text-align:center;padding:36px;color:var(--muted);font-family:"Cormorant Garamond",serif;letter-spacing:.1em}@media(max-width:900px){.site-header{position:absolute;padding:20px 5%;color:var(--ink);background:rgba(248,247,243,.75);backdrop-filter:blur(10px)}.site-header nav a:not(.nav-reserve){display:none}.nav-reserve{border-color:var(--green);color:var(--green)}.hero{grid-template-columns:1fr}.hero-image{height:46vh;order:1}.hero-copy{order:2;padding:45px 7% 70px}.hero-logo{width:210px}.section{padding:72px 5%}.about-grid,.access-box{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.cards article img{height:240px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:210px}.access-box iframe{height:340px}.reserve-links,.hero-buttons{justify-content:center}.hero-copy{text-align:center}.hero p{margin-left:auto;margin-right:auto}}@media(max-width:520px){.brand{font-size:25px}.hero h1{font-size:42px}.gallery{grid-template-columns:1fr}.menu-img{border-radius:14px}.reserve-links a,.hero-buttons a{width:100%;text-align:center}.section-title h2{font-size:25px}.access-box>div{padding:30px 24px}}
.staff {
  background: #fbfaf7;
}

.staff-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 56px;
  align-items: center;
}

.staff-main-photo img,
.staff-photo-grid img {
  width: 100%;
  border-radius: 28px;
  box-shadow: 0 18px 45px rgba(80, 70, 60, 0.14);
}

.staff-message {
  background: rgba(255,255,255,0.82);
  padding: 46px;
  border-radius: 28px;
  border: 1px solid rgba(120, 130, 105, 0.18);
}

.staff-role {
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .2em;
  color: #7d8b72;
}

.staff-message h3 {
  font-size: 34px;
  letter-spacing: .12em;
  font-weight: 500;
  margin: 8px 0 4px;
}

.staff-yomi {
  color: #888;
  font-size: 14px;
}

.staff-catch {
  font-size: 20px;
  color: #5f6f5b;
  margin: 26px 0;
  line-height: 1.8;
}

.staff-message p {
  line-height: 2.1;
  color: #555;
}

.staff-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 46px;
}

.staff-photo-grid p {
  text-align: center;
  font-size: 14px;
  color: #666;
  margin-top: 12px;
}

.staff-profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
}

.staff-profile span {
  padding: 9px 15px;
  border-radius: 999px;
  background: #eef1e9;
  color: #5f6f5b;
  font-size: 13px;
}

@media (max-width: 768px) {
  .staff-layout,
  .staff-photo-grid {
    grid-template-columns: 1fr;
  }

  .staff-message {
    padding: 28px 22px;
  }

  .staff-message h3 {
    font-size: 28px;
  }
}.menu-section {
  overflow: hidden;
}

.menu-img {
  display: block;
  width: 100%;
  max-width: 900px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .menu-img {
    width: 100%;
    max-width: 100%;
  }
}
.treatment-label {
  color: #b8a27a;
  font-size: 14px;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}