:root{--navy:#061527;--gold:#cda85d;--cream:#f8f2e8;--ink:#292723}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9;background:#fff}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:8px max(5vw,24px);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid #eadfc9}.brand img{width:190px;height:68px;object-fit:contain}.header nav{display:flex;gap:24px}.header a{text-decoration:none;color:#333}.hero{min-height:760px;position:relative;background:url('assets/moon-cat.jpg') center 45%/cover no-repeat;color:#fff;display:grid;place-items:center}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,25,.76),rgba(3,13,25,.22))}.heroInner{position:relative;width:min(1120px,88%)}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.45;letter-spacing:.08em;margin:.15em 0}.eyebrow{color:#f2d99c;letter-spacing:.16em}.btn{display:inline-block;margin-top:22px;padding:14px 28px;border-radius:999px;background:linear-gradient(135deg,#e7c774,#bd8d3b);color:#17120b;text-decoration:none;font-weight:700;box-shadow:0 8px 24px #0003}.section{padding:96px 24px}.cream{background:var(--cream)}.wrap{max-width:1100px;margin:auto}.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.script{font-family:Georgia,serif;font-style:italic;font-size:44px;margin:0;color:#a57a33}.section h2{font-size:28px;margin:.1em 0 1.2em}.photo,.wide{width:100%;border-radius:22px;box-shadow:0 15px 40px #33251120}.portrait{aspect-ratio:1/1;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cards article{padding:24px;border:1px solid #eadfc9;border-radius:18px;background:#fff;position:relative}.cards h3{margin:0 90px 8px 0;font-size:19px}.cards h3 span{font-size:14px;font-weight:400}.cards b{position:absolute;right:22px;top:22px;font-size:20px;color:#9b6d28}.cards p{margin:8px 0 0;font-size:14px}.option{margin-top:34px;padding:30px;border-radius:22px;background:var(--navy);color:#fff}.option h3{font-family:Georgia,serif;font-size:34px;color:#e7c774;margin:0 0 15px}.option small{font-family:inherit;color:#eee;font-size:13px}.optionGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px}.roles{margin-top:24px;padding:20px;border-left:3px solid var(--gold);background:#faf5eb}.info{padding:20px;border-radius:16px;background:#fff;border:1px solid #e7d7b7}.info b{display:inline-block;min-width:90px}.reserve{background:linear-gradient(#061527dd,#061527f5),url('assets/moon-cat.jpg') center/cover;color:#fff;text-align:center;padding:100px 24px}.reserve .script{color:#e7c774}.reserve h2{font-size:30px}.note{font-size:14px}.cat{font-size:42px;margin-top:30px;color:#e7c774}footer{background:#030c16;color:#ddd;text-align:center;padding:50px 20px}footer img{width:230px;background:#fff;border-radius:18px;padding:8px}.sticky{display:none;position:fixed;z-index:30;left:16px;right:16px;bottom:14px;text-align:center;padding:12px;border-radius:999px;background:#d5ad5b;color:#15110b;text-decoration:none;font-weight:700;box-shadow:0 6px 22px #0005}@media(max-width:760px){.header{height:72px;padding:5px 16px}.brand img{width:145px;height:58px}.header nav{display:none}.hero{min-height:700px;background-position:center}.heroInner{width:86%}.hero h1{font-size:42px}.section{padding:70px 20px}.two{grid-template-columns:1fr;gap:32px}.profile .portrait{order:0}.script{font-size:38px}.cards{grid-template-columns:1fr}.cards h3{margin-right:76px}.optionGrid{grid-template-columns:1fr}.sticky{display:block}footer{padding-bottom:90px}}
.menu-toggle{background:transparent;border:0;padding:10px}
.menu-toggle span{display:block;width:25px;height:2px;background:#b58a3a;margin:5px 0;border-radius:2px}
@media(max-width:720px){
 header .inner,.site-header .inner{padding:8px 18px;display:flex;align-items:center;justify-content:space-between}
 header img,.site-header img,.logo img{max-height:58px;width:auto}
 .menu-toggle{display:block;position:relative;z-index:1002;margin-left:auto}
 #main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:rgba(255,252,246,.98);padding:20px 24px;box-shadow:0 12px 28px rgba(0,0,0,.12);z-index:1001}
 #main-nav.is-open{display:flex;flex-direction:column;gap:16px}
 #main-nav a{font-size:16px;padding:5px 0}
 .hero{min-height:calc(100svh - 72px);background-position:center}
 .hero h1{font-size:clamp(38px,11vw,52px);line-height:1.35}
 .hero p{font-size:15px;line-height:2}
 footer{padding-bottom:82px}
}

/* ===== Lunasora Ver.3 ===== */
.hero-branding,
.hero .eyebrow{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hero-brand{
  display:block;
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  font-style:italic;
  letter-spacing:.025em;
  color:#f1cf78;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}
.hero-subbrand{
  display:block;
  font-size:clamp(12px,1.2vw,17px);
  line-height:1.4;
  letter-spacing:.16em;
  color:#f4dfaa;
}
@media(max-width:720px){
  .hero-brand{font-size:38px}
  .hero-subbrand{font-size:11px;letter-spacing:.12em}
  .hero-branding,.hero .eyebrow{gap:5px;margin-bottom:24px}
  header img,.site-header img,.logo img{max-height:64px}
}

/* ===== Lunasora Ver.4 : News + mobile reservation CTA ===== */
.news-section{background:#fffdf8}
.news-lead{margin-top:-4px;color:#756b5e}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.news-card{background:#fff;border:1px solid rgba(181,138,58,.22);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(60,45,20,.05)}
.news-card time{font-size:12px;letter-spacing:.12em;color:#b58a3a}
.news-card h3{font-size:18px;line-height:1.6;margin:8px 0}
.news-card p{font-size:14px;line-height:1.8;color:#665e54}
.news-card a{color:#9a7128;text-decoration:none;font-weight:700;font-size:13px}
.news-more{text-align:center;margin-top:26px}
.outline-btn{display:inline-block;border:1px solid #c99a42;border-radius:999px;padding:12px 22px;color:#7b591e;text-decoration:none;background:#fffaf0}
@media(max-width:720px){
  .news-grid{grid-template-columns:1fr;gap:12px}
  .news-card{padding:18px}
}

/* ===== Lunasora Ver.5 : fixed reservation CTA + clean original therapist photo ===== */
.therapist-photo{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#fff;
}
@media(max-width:720px){
  body{padding-bottom:82px}
}

/* ===== Lunasora Ver.6 : reliable fixed LINE booking button ===== */
#fixed-line-booking{display:none}
@media screen and (max-width:720px){
  #fixed-line-booking{
    display:block !important;
    position:fixed !important;
    box-sizing:border-box !important;
    left:18px !important;
    right:18px !important;
    bottom:calc(14px + env(safe-area-inset-bottom)) !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:15px 20px !important;
    z-index:2147483647 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    text-align:center !important;
    text-decoration:none !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    color:#171109 !important;
    background:#d9aa4b !important;
    border:1px solid rgba(255,255,255,.45) !important;
    border-radius:999px !important;
    box-shadow:0 8px 26px rgba(0,0,0,.30) !important;
    pointer-events:auto !important;
  }
  body{padding-bottom:90px !important}
}

/* ===== Lunasora Ver.8 ===== */
@media(max-width:720px){
  #treatment, .treatment, .gallery-section{overflow:visible!important}
  #treatment h2, #treatment .script,
  .treatment h2, .treatment .script,
  .gallery-section h2, .gallery-section .script{
    position:relative!important;
    top:auto!important;left:auto!important;
    transform:none!important;
    opacity:1!important;
    margin-top:0!important;
    z-index:2!important;
  }
}

/* Lunasora Ver.9 polish */
#therapist .roles,.therapist-roles{background:#fffaf0;border-left:3px solid #d1a347;border-radius:0 12px 12px 0;padding:18px 22px}
.access-actions{margin:22px 0 18px}.map-btn{display:inline-block;padding:12px 22px;border:1px solid #c99a42;border-radius:999px;color:#7b591e;background:#fffaf0;text-decoration:none;font-weight:700}
.building-caption{margin:10px 4px 0;text-align:center;font-size:13px;color:#746959}
footer img{background:transparent!important}
@media(max-width:720px){#menu .card,.menu-card{padding:20px 16px!important}#menu .card h3,.menu-card h3{line-height:1.55!important}.access-actions{text-align:center}.map-btn{width:100%;box-sizing:border-box;text-align:center}}
