:root{
  --bg:#EEF0E6;
  --paper:#F7F6EF;
  --cream:#F6EFE0;
  --ink:#2F3A2B;
  --soft:#5A6654;
  --deep:#4A5A47;
  --deeper:#3A4838;
  --sage:#9CAF94;
  --sage-2:#D3DBCB;
  --honey:#C9963F;
  --honey-2:#EBD3A0;
  --line:rgba(74,90,71,.2);
  --serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --en:"Cormorant Garamond","Times New Roman",serif;
  --head-h:76px;
  --gut:clamp(20px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:2;letter-spacing:.05em;overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:var(--head-h)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;font-weight:500}
.nw{white-space:nowrap}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp{display:none}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:8px 14px}
:focus-visible{outline:2px solid var(--honey);outline-offset:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 32px;border-radius:999px;text-decoration:none;font:500 15.5px/1.3 var(--sans);letter-spacing:.08em;transition:background-color .25s,color .25s,transform .25s,box-shadow .25s;white-space:nowrap}
.btn .ic{width:22px;height:22px;flex:none}
.btn-line{background:var(--deep);color:#F7F6EF;box-shadow:0 8px 22px -10px rgba(40,52,36,.55)}
.btn-line:hover{background:var(--deeper);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--deep);color:var(--deep);background:transparent}
.btn-ghost:hover{background:var(--deep);color:#F7F6EF}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--head-h);display:flex;align-items:center;gap:28px;padding:0 var(--gut);background:rgba(238,240,230,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(74,90,71,.1)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--deep);margin-right:auto}
.brand-logo{width:48px;height:48px;border-radius:6px}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-en{font-family:var(--en);font-size:13px;letter-spacing:.16em}
.brand-name{font-family:var(--serif);font-size:20px;letter-spacing:.26em;font-weight:500}
.gnav{display:flex;align-items:center;gap:28px}
.gnav ul{display:flex;gap:clamp(18px,2vw,30px)}
.gnav ul a{position:relative;font-size:14px;letter-spacing:.1em;text-decoration:none;color:var(--deep);padding:8px 0}
.gnav ul a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.gnav ul a:hover::after{transform:scaleX(1)}
.gnav-line{min-height:46px;padding:0 22px;font-size:14px}
.head-line{display:none;min-height:46px;padding:0 22px;font-size:14px}
.menu-toggle{display:none;position:relative;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--deep);cursor:pointer;padding:0}
.menu-toggle span{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .3s,opacity .3s}
.menu-toggle span:nth-child(1){top:17px}.menu-toggle span:nth-child(2){top:23.5px}.menu-toggle span:nth-child(3){top:30px}
.nav-open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-open .menu-toggle span:nth-child(2){opacity:0}
.nav-open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.hero{position:relative;height:calc(100svh - var(--head-h));min-height:560px;overflow:hidden;background:#D9D3C2}
.hero-slides{position:absolute;inset:0}
.hero-photo{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:0}
.hero-photo.is-on{opacity:1;visibility:visible;z-index:1}
.hero-ready .hero-photo{visibility:visible;transition:opacity 1.8s ease}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo:nth-child(1) img{object-position:50% 62%}
.hero-photo:nth-child(2) img{object-position:50% 55%}
.hero-ready .hero-photo.is-on img{animation:kb 9s ease-out both}
@keyframes kb{from{transform:scale(1.001)}to{transform:scale(1.06)}}
.hero-copy{position:absolute;z-index:3;left:var(--gut);top:50%;transform:translateY(-50%);width:min(560px,46vw);color:var(--ink)}
.hero-kicker{font-size:15px;letter-spacing:.14em;color:var(--deep);font-weight:500}
.hero-kicker .sep{margin:0 .5em;color:var(--sage)}
.hero-title{margin:18px 0 0;font-family:var(--serif);font-size:clamp(30px,3.1vw,46px);line-height:1.6;letter-spacing:.1em;color:#2A3427;font-weight:500}
.hero-lead{margin-top:20px;font-size:16.5px;line-height:1.95;color:#2F3A2B;font-weight:500}
.hero-btn{margin-top:34px}
.hero-dots{position:absolute;z-index:3;right:var(--gut);bottom:28px;display:flex;gap:8px}
.hero-dots span{width:28px;height:2px;background:rgba(255,255,255,.55);border-radius:2px;overflow:hidden;position:relative}
.hero-dots span.is-on::after{content:"";position:absolute;inset:0;background:#fff;animation:dot 5.6s linear both}
@keyframes dot{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}

.facts{position:relative;z-index:5;padding:0 var(--gut);margin-top:-46px}
.facts-list{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--paper);border-radius:4px;box-shadow:0 20px 50px -30px rgba(40,52,36,.45)}
.facts-list li{display:flex;align-items:center;gap:16px;padding:24px 28px;line-height:1.6}
.facts-list li+li{border-left:1px solid var(--line)}
.fi{width:34px;height:34px;flex:none;color:var(--deep)}
.facts-list b{display:block;font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.08em;color:var(--deep)}
.facts-list span{font-size:14.5px;color:var(--soft)}

.sec{max-width:1240px;margin:0 auto;padding:clamp(96px,11vw,160px) var(--gut)}
.eyebrow{font-family:var(--en);font-style:italic;font-size:18px;letter-spacing:.12em;color:var(--sage);line-height:1.4;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.sec-h{margin-top:10px;font-family:var(--serif);font-size:clamp(27px,2.7vw,38px);line-height:1.6;letter-spacing:.12em;color:var(--deeper)}
.sec-lead{margin-top:18px;font-size:16.5px;color:var(--soft)}
.note{margin-top:22px;font-size:13.5px;line-height:1.85;color:var(--soft)}
.ph{margin:0;overflow:hidden;background:var(--sage-2);border-radius:3px}
.ph img{width:100%;height:100%;object-fit:cover}

.about-lead{margin:26px 0 22px;font-family:var(--serif);font-size:clamp(19px,1.6vw,22px);line-height:1.85;letter-spacing:.08em;color:var(--deeper)}
.about-body>p+p{margin-top:10px}
.points{margin-top:34px;border-top:1px solid var(--line)}
.points li{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.7}
.pi{flex:none;width:52px;height:52px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--deep)}
.pi svg{width:28px;height:28px}

.menu{padding-top:clamp(40px,6vw,80px)}
.sec-head{text-align:center;max-width:720px;margin:0 auto clamp(56px,6vw,80px)}
.sec-head .eyebrow{justify-content:center}
.sec-head .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}
.tax{display:block;margin-top:6px;font-size:13.5px;color:var(--soft)}
.menu-list{display:grid;gap:clamp(28px,3vw,40px)}
.mcat{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;background:var(--paper);padding:clamp(22px,2.6vw,36px);border-radius:4px}
.mcat:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}
.mcat:nth-child(even) .mcat-ph,.mcat:nth-child(even) .mcat-phs{order:2}
.mcat-ph{aspect-ratio:5/4}
.mcat-ear .mcat-ph{aspect-ratio:5/4}
.mcat-phs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mcat-phs .ph{aspect-ratio:3/4}
.mcat-no{font-family:var(--en);font-size:15px;letter-spacing:.2em;color:var(--sage)}
.mcat-h{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);letter-spacing:.12em;color:var(--deeper);line-height:1.5}
.mcat-desc{margin-top:12px;color:var(--soft);max-width:34em}
.mcat-sub{margin-top:12px;font-size:13.5px;color:var(--soft)}
.ptable{width:100%;margin-top:22px;border-collapse:collapse}
.ptable tr{border-bottom:1px dashed rgba(74,90,71,.3)}
.ptable tr:first-child{border-top:1px solid var(--line)}
.ptable th,.ptable td{padding:14px 4px;text-align:left;font-weight:400;vertical-align:baseline}
.ptable th{font-size:16px;color:var(--ink)}
.ptable .plus{display:block;font-size:13.5px;color:var(--soft)}
.ptable .t{width:6.5em;font-size:15px;color:var(--soft);white-space:nowrap}
.ptable .y{width:7.5em;text-align:right;font-family:var(--serif);font-size:22px;letter-spacing:.04em;color:var(--deeper);white-space:nowrap;font-weight:500}
.ptable .y small{font-family:var(--sans);font-size:13.5px;margin-left:2px}
.menu-foot{max-width:760px;margin:clamp(48px,5vw,64px) auto 0;text-align:center}
.menu-notes{text-align:left;font-size:14.5px;line-height:1.85;color:var(--soft);margin-bottom:36px}
.menu-notes li{position:relative;padding-left:1.2em}
.menu-notes li+li{margin-top:4px}
.menu-notes li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.btn-wide{min-width:min(100%,360px)}

.first{background:var(--deep);color:#EEF0E6;position:relative;overflow:hidden}
.first::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(238,240,230,.12)}
.first .sec-h{color:#F4F3EA}
.eyebrow-inv{color:var(--honey-2)}
.first-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.first-head{position:sticky;top:calc(var(--head-h) + 40px)}
.first-lead{margin:24px 0 14px;font-family:var(--serif);font-size:20px;letter-spacing:.08em}
.first-head p:not(.first-lead):not(.eyebrow){color:rgba(238,240,230,.86)}
.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.gallery .g1{grid-column:1/7;aspect-ratio:16/10}
.gallery .g2{grid-column:1/3;aspect-ratio:3/4}
.gallery .ph{background:#5A6A57}
.cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}
.card{background:rgba(247,246,239,.07);border:1px solid rgba(238,240,230,.16);border-radius:4px;padding:28px 24px 26px}
.ci{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--honey-2);color:var(--deeper)}
.ci svg{width:28px;height:28px}
.card h3{margin:18px 0 8px;font-family:var(--serif);font-size:19px;letter-spacing:.1em;color:#F4F3EA}
.card p{font-size:14.5px;line-height:1.9;color:rgba(238,240,230,.86)}

.flow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,7vw,110px);align-items:start}
.steps{position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:27px;top:30px;bottom:30px;width:1px;background:var(--sage)}
.steps li{position:relative;display:grid;grid-template-columns:56px 44px minmax(0,1fr);align-items:center;gap:18px;padding:18px 0}
.steps li+li{border-top:1px solid var(--line);margin-left:74px;padding-left:0;grid-template-columns:44px minmax(0,1fr)}
.steps li+li .sn{position:absolute;left:-74px;top:50%;transform:translateY(-50%)}
.sn{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1px solid var(--deep);display:grid;place-items:center;font-family:var(--en);font-size:24px;color:var(--deep)}
.si{color:var(--deep)}
.si svg{width:34px;height:34px;display:block}
.steps p{font-size:16.5px;line-height:1.8}
.flow-main .note{margin-left:74px}
.flow-main .btn-row{margin-left:74px}

.greet{background:var(--cream);position:relative}
.greet::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 18% 40%,rgba(235,211,160,.55),rgba(235,211,160,0) 70%);pointer-events:none}
.greet-inner{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:center}
.greet-ph{aspect-ratio:5/6;border-radius:3px}
.greet .eyebrow{color:var(--honey)}
.greet .sec-h{color:#3A3226}
.greet-body{color:#3A3226}
.greet-body .sec-h{margin-bottom:28px}
.greet-body p:not(.eyebrow)+p{margin-top:12px}
.greet-sign{margin-top:32px!important;font-family:var(--serif);font-size:22px;letter-spacing:.2em;text-align:right}
.greet-sign span{display:block;font-family:var(--en);font-size:13px;letter-spacing:.16em;color:#7A6A4E}

.faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(48px,6vw,96px);align-items:start}
.faq-side{position:sticky;top:calc(var(--head-h) + 40px)}
.qa-list{display:grid;gap:12px}
.qa{background:var(--paper);border-radius:10px;box-shadow:0 2px 10px rgba(40,52,36,.05)}
.qa summary{position:relative;display:flex;align-items:center;gap:16px;padding:18px 56px 18px 20px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:17px;line-height:1.6;letter-spacing:.06em;color:var(--deeper)}
.qa summary::-webkit-details-marker{display:none}
.q{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--en);font-size:17px;line-height:1}
.qa-arrow{position:absolute;right:22px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--deep);border-bottom:1.5px solid var(--deep);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.qa[open] .qa-arrow{transform:translateY(-30%) rotate(-135deg)}
.qa-a{padding:0 24px 20px 68px}
.qa-a p{font-size:15.5px;line-height:1.95}
.qa-a a{color:var(--deep);text-underline-offset:4px}

.access{background:var(--paper)}
.access-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:start}
.info{margin:30px 0 0;border-top:1px solid var(--line)}
.info div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.info dt{font-size:14.5px;color:var(--soft);line-height:1.8}
.info dd{margin:0;line-height:1.8}
.info small{font-size:13.5px;color:var(--soft)}
.qr{display:flex;align-items:center;gap:20px;margin-top:24px}
.qr img{width:104px;height:104px;border-radius:6px}
.qr p{font-size:14px;line-height:1.8;color:var(--soft)}

.last{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px;background:var(--deeper);color:#F4F3EA}
.last-photo{position:relative;overflow:hidden}
.last-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 60%}
.last-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(56px,7vw,110px) var(--gut)}
.last-leaf{width:40px;height:40px;color:var(--honey-2);margin-bottom:22px}
.last-h{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.7;letter-spacing:.12em}
.last-body p{margin-top:18px;color:rgba(244,243,234,.86)}
.btn-inv{margin-top:34px;background:#F4F3EA;color:var(--deeper)}
.btn-inv:hover{background:#fff;color:var(--deeper)}

.site-footer{background:var(--bg);color:var(--deep);padding:64px var(--gut) 40px}
.foot-inner{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.foot-brand{display:flex;align-items:center;gap:16px}
.foot-brand img{width:64px;height:64px;border-radius:6px}
.foot-brand p{display:flex;flex-direction:column;line-height:1.4}
.foot-info{text-align:right;font-size:14.5px}
.foot-links{display:flex;gap:22px;justify-content:flex-end;margin-top:6px}
.foot-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:44px}
.foot-links a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-links .ic{width:18px;height:18px}
.foot-note,.copy,.credit{max-width:1120px;margin:0 auto;text-align:center;font-size:12.5px;line-height:1.8;color:var(--soft)}
.foot-note{margin-top:24px}
.copy{margin-top:6px;font-family:var(--en);font-size:13.5px;letter-spacing:.08em}
.credit{margin-top:2px}
.credit a{text-underline-offset:3px}


.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}

@media (max-width:1179px){
  .gnav{position:fixed;top:var(--head-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 28px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(40,52,36,.35);max-height:calc(100dvh - var(--head-h));overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility 0s .25s}
  .nav-open .gnav{visibility:visible;opacity:1;transform:none;transition:opacity .25s,transform .25s}
  .gnav ul{flex-direction:column;gap:0}
  .gnav ul a{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-family:var(--serif);font-size:17px;border-bottom:1px solid var(--line)}
  .gnav ul a::after{position:static;width:8px;height:8px;background:none;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);transition:none}
  .gnav ul a:hover::after{transform:rotate(45deg)}
  .gnav-line{margin-top:22px}
  .menu-toggle{display:block}
  .head-line{display:inline-flex}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .first-inner{grid-template-columns:minmax(0,1fr)}
  .first-head{position:static}
}
@media (max-width:1023px){
  .hero-copy{width:min(520px,60vw)}
  .flow,.faq,.greet-inner,.access-inner{grid-template-columns:minmax(0,1fr)}
  .faq-side{position:static}
  .mcat,.mcat:nth-child(even){grid-template-columns:minmax(0,1fr)}
  .mcat:nth-child(even) .mcat-ph,.mcat:nth-child(even) .mcat-phs{order:0}
  .mcat-ph,.mcat-ear .mcat-ph{aspect-ratio:16/10}
  .greet-ph{max-width:520px}
}

@media (max-width:760px){
  :root{--head-h:62px;--gut:20px}
  body{font-size:15.5px;padding-bottom:0}
  .sp{display:inline}
  .pc{display:none}
  .brand-logo{width:40px;height:40px}
  .brand-en{font-size:11.5px}
  .brand-name{font-size:17px}
  .head-line{display:none}
  .hero{min-height:520px}
  .hero-photo img,.hero-photo:nth-child(n) img{object-position:50% 50%}
  .hero-copy{left:20px;right:20px;top:26px;transform:none;width:auto}
  .hero-kicker{font-size:13px;letter-spacing:.08em}
  .hero-title{margin-top:10px;font-size:clamp(23px,6.6vw,27px);line-height:1.6;letter-spacing:.06em}
  .hero-lead{margin-top:10px;font-size:14.5px;line-height:1.8}
  .hero-btn{display:none}
  .hero-dots{right:auto;left:20px;bottom:18px}
  .facts{margin-top:-24px;padding:0 14px}
  .facts-list{grid-template-columns:minmax(0,1fr)}
  .facts-list li{padding:15px 18px;gap:14px}
  .facts-list li+li{border-left:0;border-top:1px solid var(--line)}
  .fi{width:28px;height:28px}
  .facts-list b{display:inline;font-size:16px;margin-right:.6em}
  .facts-list span{font-size:14px}
  .sec{padding:84px var(--gut)}
  .sec-h{font-size:clamp(24px,6.8vw,28px);letter-spacing:.08em}
  .eyebrow{font-size:16px}
  .about-lead{font-size:18px}
  .pi{width:44px;height:44px}.pi svg{width:24px;height:24px}
  .menu{padding-top:32px}
  .sec-head{text-align:left;margin-bottom:40px}
  .sec-head .eyebrow{justify-content:flex-start}
  .sec-head .eyebrow::after{display:none}
  .mcat{padding:16px 16px 22px}
  .mcat-body{padding:0 4px}
  .ptable tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:12px 2px}
  .ptable th,.ptable td{padding:0}
  .ptable .t{grid-column:1;grid-row:2;line-height:1.6}
  .ptable .y{grid-column:2;grid-row:1/3}
  .ptable th{font-size:15px}
  .ptable .t{width:auto;font-size:13px}
  .ptable .y{width:auto;font-size:19px}
  .ptable,.ptable tbody{display:block}
  .menu-foot{text-align:left}
  .btn{width:100%;padding:0 20px}
  .btn-row{flex-direction:column;gap:12px}
  .gallery{gap:8px}

  .cards{grid-template-columns:minmax(0,1fr);gap:10px}
  .card{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding:18px}
  .card .ci{width:44px;height:44px;grid-row:1/3}.card .ci svg{width:24px;height:24px}
  .card h3{margin:0 0 2px;font-size:17px}
  .steps::before{left:21px}
  .steps li{grid-template-columns:44px 30px minmax(0,1fr);gap:12px;padding:14px 0}
  .steps li+li{margin-left:56px;grid-template-columns:30px minmax(0,1fr)}
  .steps li+li .sn{left:-56px}
  .sn{width:44px;height:44px;font-size:20px}
  .si svg{width:28px;height:28px}
  .steps p{font-size:15.5px}
  .flow-main .note,.flow-main .btn-row{margin-left:0}
  .greet-ph{aspect-ratio:4/3}
  .greet-sign{font-size:19px}
  .qa summary{font-size:15.5px;padding:15px 44px 15px 14px;gap:12px}
  .q{width:28px;height:28px;font-size:15px}
  .qa-arrow{right:18px}
  .qa-a{padding:0 16px 16px 54px}
  .info div{grid-template-columns:6.5em minmax(0,1fr);gap:10px}
  .qr{display:none}
  .last{grid-template-columns:minmax(0,1fr);min-height:0}
  .last-photo{height:240px}
  .last-body{padding:56px var(--gut) 64px}
  .foot-inner{flex-direction:column;align-items:flex-start}
  .foot-info{text-align:left}
  .foot-links{justify-content:flex-start;flex-wrap:wrap;gap:4px 20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-ready .hero-photo{transition:none}
  .hero-ready .hero-photo.is-on img{animation:none}
  .hero-dots span.is-on::after{animation:none}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

.deco{position:absolute;pointer-events:none;color:var(--sage)}
.sec-head{position:relative}
.deco-menu{width:70px;height:140px;left:calc(50% - 250px);top:-18px;opacity:.55;transform:rotate(-14deg)}
.deco-first{width:150px;height:300px;right:2%;bottom:-40px;color:rgba(238,240,230,.14);transform:rotate(18deg)}
.mcat{position:relative}
.mcat-no{font-family:var(--en);font-style:italic;font-size:40px;line-height:1;letter-spacing:.04em;color:var(--sage);margin-bottom:8px}
@media (max-width:760px){
  .facts-list b{display:block;margin:0}
  .deco-menu{display:none}
  .deco-first{width:90px;height:180px}
  .mcat-no{font-size:32px}
}
main p,main li,main dd{text-wrap:pretty}

:root{--btn:#5B7553;--btn-h:#4E6748;--first-bg:#E4EADC;--honey-ink:#9A6E26}
.btn-line{background:var(--btn);color:#fff;box-shadow:0 8px 22px -12px rgba(60,80,52,.45)}
.btn-line:hover{background:var(--btn-h)}
.btn-ghost{border-color:var(--btn);color:var(--btn-h)}
.btn-ghost:hover{background:var(--btn);color:#fff}
.q{background:var(--btn)}
.first{background:var(--first-bg);color:var(--ink)}
.first::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 85% 20%,rgba(235,211,160,.35),rgba(235,211,160,0) 70%);pointer-events:none}
.first-inner{position:relative;z-index:1}
.first::before{border-color:rgba(74,90,71,.14)}
.first .sec-h{color:var(--deeper)}
.eyebrow-inv{color:var(--honey-ink)}
.first-head p:not(.first-lead):not(.eyebrow){color:var(--soft)}
.first-lead{color:var(--deeper)}
.gallery .ph{background:var(--sage-2)}
.card{background:rgba(255,255,255,.62);border:1px solid rgba(74,90,71,.12)}
.card h3{color:var(--deeper)}
.card p{color:var(--soft)}
.deco-first{color:rgba(74,90,71,.12)}
.last{background:var(--cream);color:var(--ink)}
.last-body{position:relative;background:radial-gradient(70% 80% at 20% 50%,rgba(235,211,160,.45),rgba(235,211,160,0) 75%)}
.last-h{color:var(--deeper)}
.last-leaf{color:var(--honey)}
.last-body p{color:var(--soft)}
.btn-inv{background:var(--btn);color:#fff}
.btn-inv:hover{background:var(--btn-h);color:#fff}

:root{--bg:#F7F6EF;--paper:#F7F6EF;--sage-bg:#E3EADC;--warm:#F6EFE0;--eye:#748A6A;--ink-line:#4A5A47}
body{background:var(--paper)}
.site-header{background:rgba(247,246,239,.94)}
.note,.tax,.mcat-sub,.ptable .plus,.ptable .y small,.info small,.qr p,.foot-note{font-size:14px}

.eyebrow{color:var(--eye)}
.eyebrow::before{width:34px;height:8px;background:radial-gradient(circle at 30px 4px,var(--honey) 0 3px,transparent 3.6px),linear-gradient(currentColor,currentColor) 0 50%/24px 1px no-repeat}
.sec-head .eyebrow::after{width:34px;height:8px;background:radial-gradient(circle at 4px 4px,var(--honey) 0 3px,transparent 3.6px),linear-gradient(currentColor,currentColor) 10px 50%/24px 1px no-repeat}
.mcat-no{color:var(--eye)}
.sec-h{font-size:clamp(32px,3.06vw,44px);line-height:1.5;letter-spacing:.08em}

.head-line-ic{display:none}

.hero{height:calc(100svh - var(--head-h) - 76px);min-height:540px}
.hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero-photo:nth-child(1) img{object-position:50% 60%}
.hero-photo:nth-child(2) img{object-position:50% 60%}
.hero-photo:nth-child(1)::after{background:radial-gradient(ellipse 36% 32% at 22% 52%,rgba(30,44,26,.2),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.28) 0%,rgba(30,44,26,.18) 24%,rgba(30,44,26,.05) 42%,rgba(30,44,26,0) 54%)}
.hero-photo:nth-child(2)::after{background:radial-gradient(ellipse 36% 32% at 22% 52%,rgba(30,44,26,.2),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.34) 0%,rgba(30,44,26,.22) 26%,rgba(30,44,26,.06) 44%,rgba(30,44,26,0) 56%)}
.hero-copy{width:min(760px,58vw);color:#fff;text-shadow:0 0 22px rgba(30,44,26,.32),0 1px 3px rgba(30,44,26,.28)}
.hero-kicker{color:#fff;font-size:17px;font-weight:700;letter-spacing:.16em}
.hero-kicker .sep{color:rgba(255,255,255,.75)}
.hero-title{margin-top:16px;color:#fff;font-size:clamp(40px,4.15vw,60px);line-height:1.45;letter-spacing:.08em;font-weight:600}
.hero-lead{margin-top:22px;color:#fff;font-size:19px;line-height:1.85;font-weight:700;letter-spacing:.08em}
.hero-btn{text-shadow:none}

.about{display:block;background:var(--paper)}
.about-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:center}
.ear-fig{margin:0;position:relative}
.ear-svg{display:block;width:100%;max-width:540px;height:auto;margin:0 auto;overflow:visible}
.ear-halo{fill:var(--sage-bg)}
.ear-line path{fill:none;stroke:var(--ink-line);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ear-line .ear-head{stroke:rgba(74,90,71,.32);stroke-width:1.4;stroke-dasharray:2 8}
.ear-dots circle{fill:var(--honey);filter:drop-shadow(0 0 6px rgba(201,150,63,.55))}
.ear-no circle{fill:var(--paper);stroke:#7D8577;stroke-width:1.4;stroke-dasharray:3 4}
.ear-no path{stroke:#7D8577;stroke-width:1.6;stroke-linecap:round}
.ear-lab path{fill:none;stroke:rgba(74,90,71,.45);stroke-width:1}
.ear-lab text{font-family:var(--sans);font-size:16px;font-weight:500;fill:var(--deeper);letter-spacing:.06em}
.ear-lab .ear-lab-no{font-size:15px;font-weight:700;fill:#8A6122}
.ear-cap{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:14px;color:var(--soft);letter-spacing:.08em}
.ear-cap .dot,.quick-rec .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--honey);box-shadow:0 0 8px rgba(201,150,63,.6)}

.menu{background:var(--sage-bg);padding:0}
.menu-inner{padding-top:clamp(96px,11vw,150px)}
.menu .mcat{background:var(--paper)}
.quick{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.quick a{position:relative;display:flex;flex-direction:column;gap:2px;height:100%;padding:22px 24px 20px;background:var(--paper);border-radius:4px;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px -24px rgba(40,52,36,.5);transition:transform .25s,box-shadow .25s}
.quick a::after{content:"";position:absolute;left:24px;right:24px;bottom:12px;height:2px;background:var(--honey);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.quick a:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(40,52,36,.55)}
.quick a:hover::after{transform:scaleX(1)}
.qk-n{font-family:var(--serif);font-size:17px;letter-spacing:.08em;color:var(--deeper);line-height:1.5}
.qk-y{font-family:var(--serif);font-size:32px;line-height:1.35;letter-spacing:.02em;color:var(--deeper);font-weight:500}
.qk-y small{font-family:var(--sans);font-size:14px;margin-left:2px}
.qk-t{font-size:14px;color:var(--soft);line-height:1.6}
.qk-a{position:absolute;right:20px;top:24px;width:20px;height:20px;color:var(--btn)}
.quick-rec{max-width:1120px;margin:22px auto clamp(48px,5vw,72px);display:flex;align-items:center;justify-content:center;gap:12px;font-size:15.5px;color:var(--deeper);letter-spacing:.06em}

.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mcat,.mcat:nth-child(even){grid-template-columns:minmax(0,1fr);align-items:start;align-content:start}
.mcat:nth-child(even) .mcat-ph,.mcat:nth-child(even) .mcat-phs{order:0}
.menu .mcat-ear{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,.4fr);padding:clamp(28px,3.4vw,52px);align-items:center}
.mcat-ear .mcat-ph{order:2;aspect-ratio:9/10;max-width:280px;justify-self:end;width:100%}
.mcat-ear .mcat-h{font-size:clamp(28px,2.6vw,36px)}
.mcat-face .mcat-ph,.mcat-men .mcat-ph{aspect-ratio:16/7;width:100%}
.mcat-face .mcat-ph img{object-position:50% 58%}
.mcat-men .mcat-ph img{object-position:50% 40%}
.menu .mcat-body-wax{grid-column:1/-1;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center}
.mcat-body-wax .mcat-phs{max-width:440px}
.mcat-body-wax .mcat-phs .ph{aspect-ratio:4/5}

.tri{margin:26px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tri div{padding:20px 8px 22px;text-align:center}
.tri div+div{border-left:1px solid var(--line)}
.tri dt{font-size:15px;color:var(--soft);letter-spacing:.12em}
.tri dd{margin:2px auto 0;display:inline-block;font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1.4;color:var(--deeper);font-weight:500;letter-spacing:.02em;padding-bottom:4px}
.tri dd small{font-family:var(--sans);font-size:14px;margin-left:2px}
.tri dd,.ptable .y{background:linear-gradient(var(--honey),var(--honey)) no-repeat}
.tri dd{background-position:50% 100%;background-size:100% 2px}
.ptable .y{background-position:right 4px bottom 8px;background-size:4.2em 2px}
.js .tri[data-draw] dd,.js .ptable[data-draw] .y{background-size:0 2px;transition:background-size .9s cubic-bezier(.3,.7,.2,1)}
.js .tri[data-draw].is-in dd{background-size:100% 2px}
.js .ptable[data-draw].is-in .y{background-size:4.2em 2px}
.js .tri.is-in div:nth-child(2) dd,.js .ptable.is-in tr:nth-child(2) .y{transition-delay:.15s}
.js .tri.is-in div:nth-child(3) dd,.js .ptable.is-in tr:nth-child(3) .y{transition-delay:.3s}
.js .ptable.is-in tr:nth-child(4) .y{transition-delay:.45s}

.band{background:var(--paper);padding:clamp(80px,9vw,130px) var(--gut)}
.band-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.band .eyebrow{justify-content:center}
.band .eyebrow::after{content:"";width:34px;height:8px;background:radial-gradient(circle at 4px 4px,var(--honey) 0 3px,transparent 3.6px),linear-gradient(currentColor,currentColor) 10px 50%/24px 1px no-repeat}
.band-media{margin-top:40px}
.band-lead{margin-top:14px;font-size:15.5px;color:var(--soft);letter-spacing:.08em}
.band-h{margin-top:44px;font-family:var(--serif);font-size:clamp(28px,2.6vw,38px);line-height:1.65;letter-spacing:.1em;color:var(--deeper)}
.band-media{position:relative;width:min(100%,360px)}
.band-media::before{content:"";position:absolute;inset:-18% -22%;background:radial-gradient(closest-side,rgba(96,178,120,.28),rgba(96,178,120,0));pointer-events:none}
.band-frame{position:relative;aspect-ratio:4/5;outline:1px solid rgba(74,90,71,.35);outline-offset:14px}
.band-frame img{object-position:56% 66%;transform:scale(1)}
.js .band-media[data-draw] img{transition:transform 7s cubic-bezier(.2,.6,.2,1)}
.band-media.is-in img{transform:scale(1.06)}

.first{background:var(--sage-bg)}
.first::after{display:none}
.gallery .g1{grid-column:1/7;aspect-ratio:16/10}
.gallery .g2{grid-column:1/4;aspect-ratio:4/5}
.gallery .g2 img{object-position:50% 60%}
.card{background:var(--paper);border:0}

.flow-sec{background:var(--paper)}
.sn{background:#fff}

.greet{background:var(--warm)}
.greet .eyebrow{color:var(--honey-ink)}
.greet-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
.greet-ph{aspect-ratio:4/5;max-width:440px;justify-self:center;width:100%;outline:1px solid rgba(122,106,78,.35);outline-offset:14px}
.greet-sign{position:relative}
.deco-greet{position:static;display:inline-block;vertical-align:bottom;width:30px;height:60px;margin-right:6px;color:#9A8A68;transform:rotate(-8deg)}

.faq-sec{background:var(--sage-bg)}
.faq{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
.qa{background:#fff;box-shadow:0 1px 0 rgba(74,90,71,.08),0 8px 24px -20px rgba(40,52,36,.4)}

.access{background:var(--paper)}
.access-inner{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center}
.info .dd-note{display:block;margin-top:6px;line-height:1.75}
.access-side{display:flex;justify-content:center}
.qr{flex-direction:column;text-align:center;gap:16px;margin:0;padding:36px 32px;background:var(--sage-bg);border-radius:4px}
.qr img{width:160px;height:160px}

.last{max-width:calc(1120px + var(--gut) * 2);margin:0 auto;padding:clamp(80px,9vw,130px) var(--gut);grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center;min-height:0;background:var(--sage-bg);box-shadow:0 0 0 100vmax var(--sage-bg);clip-path:inset(0 -100vmax)}
.last-photo{aspect-ratio:4/3;border-radius:3px;overflow:hidden;outline:1px solid rgba(74,90,71,.3);outline-offset:14px;max-width:520px;width:100%;justify-self:center}
.last-photo img{object-position:76% 70%}
.last-body{padding:0;background:none}
.last-h{font-size:clamp(28px,2.8vw,40px);letter-spacing:.08em;line-height:1.6}
.site-footer{background:var(--paper)}

.js .deco[data-draw]{stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 2.6s cubic-bezier(.4,.2,.2,1)}
.js .deco[data-draw].is-in{stroke-dashoffset:0}

@media (max-width:1023px){
  .about-inner,.faq,.greet-inner,.access-inner{grid-template-columns:minmax(0,1fr)}
  .about-body{order:-1}
  .ear-svg{max-width:440px}
  .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-list{grid-template-columns:minmax(0,1fr)}
  .menu .mcat-ear,.menu .mcat-body-wax{grid-template-columns:minmax(0,1fr)}
  .mcat-ear .mcat-ph{order:0;justify-self:start;aspect-ratio:16/10;max-width:400px}
  .access-side{justify-content:flex-start}
  .last{grid-template-columns:minmax(0,1fr)}
  .last-photo{justify-self:start}
}

@media (max-width:760px){
  .head-line-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin-right:-14px;border-radius:50%;background:var(--btn);color:#fff;text-decoration:none;box-shadow:0 6px 16px -10px rgba(60,80,52,.5)}
  .head-line-ic .ic{width:24px;height:24px}
  .head-line-ic:active{background:var(--btn-h)}
  .hero{height:calc(100svh - var(--head-h) - 200px);min-height:500px}
  .hero-photo:nth-child(n) img{object-position:50% 50%}
  .hero-photo:nth-child(n)::after{background:linear-gradient(180deg,rgba(30,44,26,.28) 0%,rgba(30,44,26,.18) 24%,rgba(30,44,26,.05) 42%,rgba(30,44,26,0) 54%)}
  .hero-copy{top:22px;bottom:40px;left:20px;right:20px;width:auto;display:flex;flex-direction:column;align-items:flex-start}
  .hero-kicker{font-size:14px;letter-spacing:.1em}
  .hero-title{margin-top:10px;font-size:clamp(28px,8.7vw,34px);line-height:1.45;letter-spacing:.04em}
  .hero-lead{margin-top:12px;font-size:15.5px;line-height:1.8;letter-spacing:.04em}
  .hero-btn{display:inline-flex;margin-top:auto;width:100%;box-shadow:0 10px 26px -12px rgba(30,44,26,.6)}
  .hero-dots{display:none}
  .facts-list li{padding:11px 16px}
  .sec-h{font-size:clamp(26px,7.7vw,30px);letter-spacing:.06em}
  .last-h{font-size:clamp(24px,7vw,28px)}
  .menu-inner{padding-top:84px}
  .quick{gap:10px}
  .quick a{padding:16px 16px 18px}
  .qk-n{font-size:15px}
  .qk-y{font-size:25px}
  .qk-a{right:12px;top:16px;width:18px;height:18px}
  .quick a::after{left:16px;right:16px;bottom:10px}
  .quick-rec{justify-content:flex-start;align-items:flex-start;font-size:14.5px;margin:16px 0 36px;line-height:1.7}
  .quick-rec .dot{margin-top:7px}
  .menu .mcat-ear{padding:16px 16px 22px}
  .mcat-face .mcat-ph,.mcat-men .mcat-ph,.mcat-ear .mcat-ph{max-width:none}
  .tri div{padding:14px 4px 16px}
  .tri dt{font-size:14px;letter-spacing:.06em}
  .tri dd{font-size:23px}
  .tri dd small{font-size:13px}
  .band{padding:72px var(--gut) 80px}
  .band-media{width:72%;margin-top:32px}
  .band-h{font-size:24px}
  .gallery .g1,.gallery .g2{grid-column:1/7;aspect-ratio:4/3}
  .greet-ph{max-width:none;width:calc(100% - 28px);margin:14px auto 0;aspect-ratio:4/4.4}
  .access-side{display:none}
  .ear-lab text{font-size:17px}
  .ear-lab .ear-lab-no{font-size:16px}
  .last{padding:72px var(--gut) 80px;gap:48px}
  .last-photo{height:auto;width:calc(100% - 28px);margin:0 auto;justify-self:center}
}

@media (prefers-reduced-motion:reduce){
  .js .tri[data-draw] dd,.js .ptable[data-draw] .y,.js .band-media[data-draw] img,.js .deco[data-draw]{transition:none}
  .js .tri[data-draw] dd{background-size:100% 2px}
  .js .ptable[data-draw] .y{background-size:4.2em 2px}
  .js .deco[data-draw]{stroke-dashoffset:0}
  .band-media.is-in img{transform:none}
}
.greet-ph,.band-frame,.last-photo{border-radius:0}
.band-frame img{object-position:66% 70%}
@media (min-width:1180px){
  .gnav ul a{white-space:nowrap}
  .gnav{gap:20px}
  .gnav ul{gap:clamp(14px,1.5vw,28px)}
}
@media (min-width:1180px) and (max-width:1359px){
  .site-header{gap:16px}
  .brand-en{display:none}
  .gnav ul a{letter-spacing:.04em}
  .gnav-line{padding:0 16px;letter-spacing:.04em}
}

.thread{position:relative;--rail:max(12px,calc(max(0px,(100vw - 1240px) / 2) + var(--gut) - 46px))}
.thread::before{content:"";position:absolute;z-index:2;left:var(--rail);top:clamp(96px,11vw,160px);bottom:clamp(96px,11vw,160px);width:1px;background:rgba(74,90,71,.38);pointer-events:none}
.band,.first{position:relative}
.thread-dot{position:absolute;z-index:3;left:calc(var(--rail) - 5px);top:clamp(96px,11vw,160px);width:11px;height:11px;border-radius:50%;background:var(--honey);box-shadow:0 0 0 4px rgba(201,150,63,.14),0 0 10px rgba(201,150,63,.55)}
.band .thread-dot{top:clamp(80px,9vw,130px)}
.greet-sign .greet-name{display:inline;font-family:var(--serif);font-size:30px;letter-spacing:.32em;color:#3A3226}
.greet-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px}
.greet-tags li{font-size:14px;line-height:1.5;padding:6px 14px;border:1px solid rgba(122,106,78,.35);border-radius:999px;color:#5A4E3A;background:rgba(255,255,255,.45)}
@media (max-width:760px){
  .thread{--rail:9px}
  .thread::before,.thread-dot,.band .thread-dot{top:84px}
  .band .thread-dot{top:72px}
  .greet-sign .greet-name{font-size:25px}
  .band-lead{font-size:14.5px}
}
.menu .mcat-face,.menu .mcat-men{gap:22px}
.band-frame{aspect-ratio:1/1}
.band-frame img{object-position:50% 70%}
@media (max-width:760px){
  .thread::before,.thread-dot{display:none}
  .thread .eyebrow::before{width:36px;height:12px;background:radial-gradient(circle at 30px 6px,var(--honey) 0 5.5px,transparent 6px),linear-gradient(currentColor,currentColor) 0 50%/22px 1px no-repeat;filter:drop-shadow(0 0 4px rgba(201,150,63,.45))}
  .band .eyebrow::after{width:36px;height:12px;background:radial-gradient(circle at 6px 6px,var(--honey) 0 5.5px,transparent 6px),linear-gradient(currentColor,currentColor) 14px 50%/22px 1px no-repeat}
}

.gallery{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch}
.gallery .g1{grid-column:1;aspect-ratio:4/3.6}
.gallery .g2{grid-column:2;aspect-ratio:auto;height:100%}
.menu .mcat-face,.menu .mcat-men{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;padding:clamp(28px,3vw,44px)}
.menu .mcat-face .mcat-body,.menu .mcat-men .mcat-body{display:contents}
.menu .mcat-face .mcat-no,.menu .mcat-men .mcat-no{font-size:48px}
.menu .mcat-face .mcat-desc,.menu .mcat-men .mcat-desc{margin-bottom:24px}
.menu .mcat-face .ptable .y,.menu .mcat-men .ptable .y{font-size:30px}
.mcat-body-wax .mcat-phs{grid-template-columns:minmax(0,1fr);max-width:340px}
.flow{align-items:start}
.flow-side{position:sticky;top:calc(var(--head-h) + 40px)}
.flow-side .sec-lead{font-family:var(--serif);font-size:clamp(19px,1.6vw,22px);line-height:1.9;color:var(--deeper);letter-spacing:.08em}
@media (max-width:1023px){
  .flow-side{position:static}
}
@media (max-width:760px){
  .gallery{grid-template-columns:minmax(0,1fr)}
  .gallery .g1,.gallery .g2{grid-column:1;aspect-ratio:4/3;height:auto}
  .mcat-ear .mcat-ph{aspect-ratio:3/2;max-width:none;width:100%;justify-self:stretch}
  .mcat-body-wax .mcat-phs{max-width:none}
  .mcat-body-wax .mcat-phs .ph{aspect-ratio:3/2}
  .menu .mcat-face,.menu .mcat-men{padding:22px 18px 24px}
  .menu .mcat-face .mcat-no,.menu .mcat-men .mcat-no{font-size:36px}
  .menu .mcat-face .ptable .y,.menu .mcat-men .ptable .y{font-size:24px}
}
.menu .mcat-face .ptable .y,.menu .mcat-men .ptable .y{width:5.2em}.menu .mcat-face .ptable .t,.menu .mcat-men .ptable .t{width:4.5em}.ptable .plus{white-space:nowrap}
.mcat-art{position:absolute;top:clamp(24px,2.6vw,38px);right:clamp(24px,2.6vw,40px);width:64px;height:77px;overflow:visible}
.art-line path{fill:none;stroke:var(--ink-line);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.art-line .art-dash{stroke-dasharray:2 5;opacity:.5}
.art-dots circle{fill:var(--honey);filter:drop-shadow(0 0 4px rgba(201,150,63,.55))}
.flow-side .btn-row{margin-top:36px;flex-direction:column;align-items:flex-start;gap:12px}
.flow-side .btn-row .btn{min-width:300px}
.flow-tag{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:8px 16px;border:1px solid rgba(74,90,71,.25);border-radius:999px;font-size:14px;color:var(--deeper);background:#fff}
.flow-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--honey);box-shadow:0 0 6px rgba(201,150,63,.55)}
@media (max-width:1023px){
  .flow{display:flex;flex-direction:column;gap:40px}
  .flow-side{display:contents}
  .flow-side .eyebrow,.flow-side .sec-h,.flow-side .sec-lead{order:0}
  .flow-side .eyebrow+.sec-h{margin-top:-30px}
  .flow-main{order:1}
  .flow-side .btn-row{order:2;margin-top:-8px}
  .flow-tag{order:3;margin-top:-24px;align-self:flex-start}
}
@media (max-width:760px){
  .mcat-art{width:52px;height:62px;top:20px;right:18px}
  .flow-side .btn-row{align-items:stretch;width:100%}
  .flow-side .btn-row .btn{min-width:0}
  .band-media.is-in img{transform:none}
}
@media (max-width:1023px){.flow-tag{display:none}}
.art-line .art-dash{opacity:.6}
.menu .menu-list .mcat{display:grid;grid-template-columns:minmax(0,1fr);grid-row:span 5;grid-template-rows:subgrid;row-gap:0;grid-column:auto;padding:clamp(28px,3vw,44px);align-items:start}
.menu .menu-list .mcat .mcat-body{display:contents}
.menu .menu-list .mcat-no{font-size:48px}
.menu .menu-list .mcat-h{font-size:clamp(24px,2.2vw,30px)}
.menu .menu-list .mcat-desc{margin-bottom:24px}
.menu .menu-list .ptable .y{font-size:30px;width:5.2em}
.menu .menu-list .ptable .t{width:4.5em}
.menu .menu-list .tri{margin-top:22px}
.menu .menu-list .tri dd{font-size:clamp(24px,2.1vw,30px)}
.art-line path{vector-effect:non-scaling-stroke}
@media (max-width:1023px){
  .menu .menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .menu .menu-list{grid-template-columns:minmax(0,1fr)}
  .menu .menu-list .mcat{grid-row:auto;grid-template-rows:none;display:block;padding:22px 18px 24px}
  .menu .menu-list .mcat .mcat-body{display:block}
  .menu .menu-list .mcat-no{font-size:36px}
  .menu .menu-list .mcat-desc{margin-bottom:0}
  .menu .menu-list .ptable .y{font-size:24px}
}
.menu .menu-list .ptable,.menu .menu-list .ptable tbody{display:block}
.menu .menu-list .ptable tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:12px 2px}
.menu .menu-list .ptable th,.menu .menu-list .ptable td{padding:0}
.menu .menu-list .ptable .t{grid-column:1;grid-row:2;width:auto;font-size:14px;line-height:1.6}
.menu .menu-list .ptable .y{grid-column:2;grid-row:1/3;width:auto;font-size:28px;background-position:right 0 bottom 0;padding-bottom:4px}
.js .menu .menu-list .ptable[data-draw].is-in .y,.menu .menu-list .ptable .y{background-size:100% 2px}
.js .menu .menu-list .ptable[data-draw] .y{background-size:0 2px}
.js .menu .menu-list .ptable[data-draw].is-in .y{background-size:100% 2px}
.menu .menu-list .ptable .plus{white-space:normal}
@media (min-width:1024px){
  .menu .menu-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .menu .menu-list .tri dd{font-size:24px}
  .menu .menu-list .tri div{padding:18px 2px 20px}
  .menu .menu-list .tri dt{letter-spacing:.06em}
}
@media (min-width:761px){
  .menu .menu-list .mcat-body-wax{grid-column:1/-1;grid-row:auto;grid-template-rows:none;display:block}
  .menu .menu-list .mcat-body-wax .mcat-body{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2fr);column-gap:clamp(32px,4vw,64px);align-items:end}
  .mcat-body-wax .mcat-no,.mcat-body-wax .mcat-h,.mcat-body-wax .mcat-desc{grid-column:1}
  .mcat-body-wax .ptable{grid-column:2;grid-row:1/4;align-self:end;margin-top:0}
  .menu .menu-list .mcat-body-wax .ptable tbody{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .menu .menu-list .mcat-body-wax .ptable tr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:18px 4px 20px;border:0}
  .menu .menu-list .mcat-body-wax .ptable tr+tr{border-left:1px solid var(--line)}
  .menu .menu-list .mcat-body-wax .ptable th{font-size:15px;color:var(--ink);text-align:center}
  .menu .menu-list .mcat-body-wax .ptable .t{font-size:14px;text-align:center}
  .menu .menu-list .mcat-body-wax .ptable .y{font-size:26px;text-align:center;background-position:50% 100%}
}
.menu .menu-list .ptable th{grid-column:1/-1;grid-row:1}
.menu .menu-list .ptable .t{grid-column:1;grid-row:2}
.menu .menu-list .ptable .y{grid-column:2;grid-row:2}
@media (min-width:761px){
  .menu .menu-list .mcat-body-wax .mcat-body{padding-right:96px}
}
@media (max-width:760px){
  .menu .menu-list .mcat-men .ptable th,.menu .menu-list .mcat-body-wax .ptable th{grid-column:1;grid-row:1}
  .menu .menu-list .mcat-men .ptable .y,.menu .menu-list .mcat-body-wax .ptable .y{grid-column:2;grid-row:1/3}
  .menu .menu-list .mcat-body-wax .ptable .y{font-size:24px}
}
@media (min-width:761px) and (max-width:1023px){.menu .menu-list .mcat-body-wax .ptable .y{font-size:22px}.menu .menu-list .mcat-body-wax .mcat-body{grid-template-columns:minmax(0,.85fr) minmax(0,2fr);column-gap:24px}.menu .menu-list .mcat-body-wax .ptable tr{padding:16px 2px 18px}}
.menu .menu-list .ptable-ear th{grid-column:1;grid-row:1;font-size:15px}
.menu .menu-list .ptable-ear .y{grid-column:2;grid-row:1}
.menu .menu-list .ptable-ear tr{padding:14px 2px}
.steps li,.steps li+li{min-height:96px;padding-top:0;padding-bottom:0}
@media (max-width:760px){
  .menu .menu-list .ptable-ear .y{font-size:24px}
  .steps li,.steps li+li{min-height:88px}
}

.about-ph{margin-top:32px;aspect-ratio:4/3;max-width:460px;border-radius:3px}
.about-ph img{object-position:50% 40%}
.gallery{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:auto auto}
.gallery .g1{position:relative;grid-column:1;grid-row:1/3;aspect-ratio:auto;height:auto;min-height:100%}
.gallery .g1 img{position:absolute;inset:0;object-position:60% 60%}
.gallery .g2{grid-column:2;grid-row:1;aspect-ratio:2/1;height:auto}
.gallery .g2 img{object-position:50% 50%}
.gallery .g3{grid-column:2;grid-row:2;aspect-ratio:1/1}
.gallery .g3 img{object-position:50% 50%}
.band-frame{aspect-ratio:4/5}
.band-frame img{object-position:50% 50%}
.faq-ph{margin-top:36px;aspect-ratio:1/1;max-width:280px;border-radius:3px}
.access-ph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:560px;margin-top:32px}
.access-ph .ph{background:none;border-radius:0;overflow:visible}
.access-ph img{aspect-ratio:1/1;height:auto;border-radius:3px}
.access-ph figcaption{margin-top:8px;font-size:14px;line-height:1.6;color:var(--soft);letter-spacing:.08em}
.cancel{margin-top:32px;padding:20px 0 4px;border-top:1px solid var(--line)}
.cancel-h{font-weight:700;font-size:15px;color:var(--deeper);letter-spacing:.06em}
.cancel-list{margin-top:10px}
.cancel-list li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.85;color:var(--soft)}
.cancel-list li+li{margin-top:4px}
.cancel-list li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.qa-a p+p{margin-top:12px}
.qa-k{display:inline-block;margin-right:.7em;padding:0 .7em;border:1px solid rgba(74,90,71,.35);border-radius:999px;font-size:13px;font-weight:500;line-height:1.75;color:var(--deep);vertical-align:.08em}
.last-photo{aspect-ratio:1/1;max-width:460px}
.last-photo img{object-position:40% 40%}
@media (max-width:1023px){
  .faq-ph{display:none}
}
@media (max-width:760px){
  .about-ph{max-width:none;margin-top:28px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .gallery .g1{grid-column:1/3;grid-row:auto;aspect-ratio:4/3;min-height:0}
  .gallery .g2{grid-column:1;grid-row:auto;aspect-ratio:1/1}
  .gallery .g2 img{object-position:62% 50%}
  .gallery .g3{grid-column:2;grid-row:auto;aspect-ratio:1/1}
  .access-ph{gap:10px;max-width:none}
  .last-photo{max-width:none}
}

.hero-photo{transition:opacity 1.8s ease,visibility 0s linear 1.8s}
.hero-photo.is-on{transition:opacity 1.8s ease,visibility 0s}
.hero-ready .hero-photo{visibility:hidden;transition:opacity 1.8s ease,visibility 0s linear 1.8s}
.hero-ready .hero-photo.is-on{visibility:visible;transition:opacity 1.8s ease,visibility 0s}
.about-inner{grid-template-rows:auto auto;align-items:center;row-gap:36px}
.ear-fig{grid-column:1;grid-row:1;align-self:end}
.about-ph{grid-column:1;grid-row:2;align-self:start;justify-self:center;width:100%;max-width:420px;margin-top:0}
.about-body{grid-column:2;grid-row:1/3}
.gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto auto}
.gallery .g1{grid-column:1;grid-row:1/3}
.gallery .g3{grid-column:2;grid-row:1;aspect-ratio:1/1}
.gallery .g4{grid-column:2;grid-row:2;aspect-ratio:1/1}
.gallery .g4 img{object-position:50% 45%}
.gallery .g2{grid-column:1/3;grid-row:3;aspect-ratio:2.6/1}
.gallery .g2 img{object-position:50% 45%}
.first-lead{font-size:18px;line-height:1.9}
.mark-div{display:flex;align-items:center;justify-content:center;gap:18px;max-width:1120px;margin:0 auto;padding:clamp(56px,6vw,80px) var(--gut) 0;color:var(--sage)}
.mark-div::before,.mark-div::after{content:"";flex:1;max-width:220px;height:1px;background:currentColor;opacity:.55}
.mark-div svg{width:40px;height:34px;flex:none}
.mark-div+.sec{padding-top:clamp(40px,5vw,64px)}
@media (max-width:1023px){
  .about-inner{grid-template-rows:none}
  .ear-fig,.about-body,.about-ph{grid-column:1;grid-row:auto;align-self:auto}
  .about-ph{order:3;max-width:none}
}
@media (max-width:760px){
  .hero-photo:nth-child(2) img{object-position:50% 0%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(180deg,rgba(30,44,26,.42) 0%,rgba(30,44,26,.3) 28%,rgba(30,44,26,.12) 48%,rgba(30,44,26,0) 62%)}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .gallery .g1{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}
  .gallery .g3,.gallery .g4{grid-column:auto;grid-row:auto;aspect-ratio:1/1}
  .gallery .g2{grid-column:1/3;grid-row:auto;aspect-ratio:2.2/1}
  .mark-div svg{width:34px;height:29px}
}
.first .sec-h{font-size:clamp(24px,2.3vw,32px);letter-spacing:.06em;line-height:1.7}
@media (max-width:760px){
  .first .sec-h{font-size:clamp(20px,6.1vw,24px);letter-spacing:.03em}
}
.mark-div{color:var(--deep)}
.mark-div::before,.mark-div::after{opacity:.3}
.mark-div svg{width:42px;height:35px}
@media (max-width:760px){.mark-div svg{width:40px;height:34px}}
.about-phs{grid-column:1;grid-row:2;align-self:start;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;align-items:end;width:100%;max-width:520px;justify-self:center}
.about-phs .about-ph{grid-column:auto;grid-row:auto;max-width:none;aspect-ratio:4/3}
.fork-ph{aspect-ratio:3/4;border-radius:3px}
.fork-ph img{object-position:40% 50%}
.hero-photo:nth-child(1) img{object-position:50% 55%}
@media (max-width:1023px){
  .about-phs{grid-column:1;grid-row:auto;order:3;max-width:none}
}
@media (max-width:760px){
  .hero-photo:nth-child(2) img{object-position:50% 20%}
}
.about-phs .about-ph{order:0;margin-top:0}
.hero-photo:nth-child(1)::after{background:radial-gradient(ellipse 38% 34% at 22% 50%,rgba(30,44,26,.26),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.36) 0%,rgba(30,44,26,.24) 26%,rgba(30,44,26,.08) 46%,rgba(30,44,26,0) 58%)}
@media (max-width:760px){
  .about-phs{margin-top:8px}
  .hero-photo:nth-child(1)::after{background:linear-gradient(180deg,rgba(30,44,26,.28) 0%,rgba(30,44,26,.18) 24%,rgba(30,44,26,.05) 42%,rgba(30,44,26,0) 54%)}
}
.gallery .g3{aspect-ratio:1/1;align-self:start;height:auto}
.gallery .g3 picture{display:block;width:100%;height:100%}
.gallery .g3 img{object-position:50% 50%}
.inc{margin-top:10px}
.inc-h{display:block;font-size:13px;letter-spacing:.12em;color:var(--sage);margin-bottom:2px}
.inc ul{display:block;font-size:13.5px;line-height:1.75;color:var(--soft);letter-spacing:.03em;font-weight:400}
.inc li{display:inline}
.inc li+li::before{content:"／";margin:0 .15em;color:var(--sage)}
.mcat-desc .inc{margin-top:14px}
.menu .menu-list .ptable-ear th{white-space:normal;text-align:left}
.ptable-ear th .plus{display:block;margin-top:2px;font-size:14px;color:var(--deeper);white-space:normal}
.ptable-ear th .inc{margin-top:4px}
.menu .menu-list .ptable-ear .y{align-self:start}
.menu-notes-h{text-align:center;font-weight:700;font-size:15px;letter-spacing:.1em;color:var(--deeper);margin-bottom:10px}
.menu-notes-h{text-align:left}
.inc li{display:inline-block;white-space:nowrap;max-width:100%}
.inc ul{letter-spacing:.02em}
.menu .menu-list .ptable-ear .inc-td{grid-column:1/-1;grid-row:2;padding:0}
.menu .menu-list .ptable-ear .inc-td .inc{margin-top:6px}

body{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.hero-photo:nth-child(1) img{object-position:50% 55%}
.hero-photo:nth-child(2) img{object-position:50% 45%}
.hero-photo:nth-child(3) img{object-position:50% 60%}
.hero-photo:nth-child(n)::after{background:radial-gradient(ellipse 40% 30% at 22% 50%,rgba(30,44,26,.26),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.36) 0%,rgba(30,44,26,.22) 28%,rgba(30,44,26,.06) 46%,rgba(30,44,26,0) 58%)}
.hero-dots span:nth-child(3){display:block}
.head-line-ic{display:none}
@media (max-width:760px){
  .head-line-ic{display:inline-flex;align-items:center;gap:5px;width:auto;height:38px;padding:0 13px;margin-right:-6px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
  .head-line-ic .ic{width:17px;height:17px}
  .hero-copy{top:auto;bottom:26px;left:20px;right:20px;display:block}
  .hero-kicker{font-size:12.5px;letter-spacing:.06em}
  .hero-title{margin-top:8px;font-size:clamp(25px,7.4vw,30px)}
  .hero-photo:nth-child(n) img{object-position:50% 50%}
  .hero-photo:nth-child(2) img{object-position:40% 50%}
  .hero-photo:nth-child(n)::after{background:linear-gradient(0deg,rgba(30,44,26,.5) 0%,rgba(30,44,26,.32) 20%,rgba(30,44,26,.08) 38%,rgba(30,44,26,0) 48%)}
  .hero-dots{display:flex;left:auto;right:20px;top:16px;bottom:auto}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery .g1,.gallery .g2,.gallery .g3,.gallery .g4{grid-column:auto;grid-row:auto;aspect-ratio:1/1}
  .gallery .g2 img{object-position:55% 50%}
}
.about-inner{grid-template-rows:auto}
.ear-fig{grid-row:1;align-self:center}
.about-body{grid-row:1}
@media (max-width:1023px){.ear-fig,.about-body{grid-row:auto}}
@media (max-width:760px){
  .sec{padding:60px var(--gut)}
  .mark-div{padding-top:36px}
  .mark-div+.sec{padding-top:32px}
  .ear-svg{max-width:250px;margin:0 auto}
  .ear-fig{margin-top:-8px}
  .greet-ph{aspect-ratio:16/10;margin-top:0}
  .greet-ph img{object-position:50% 45%}
  .last-photo{display:none}
  .last{padding-top:56px;padding-bottom:56px}
  .access-ph{margin-top:20px}
  .info div{padding:12px 0}
  .menu-list{gap:14px}
}
@media (max-width:760px){
  body{line-height:1.85}
  .mcat-desc,.greet-body p,.about-body p,.qa-a p{line-height:1.85}
  .site-footer{padding-top:40px;padding-bottom:28px}
}
@media (max-width:760px){
  .mark-div{display:none}
  .mark-div+.sec{padding-top:60px}
  .steps li,.steps li+li{min-height:72px}
  .points li{padding:12px 0}
  .pi{width:40px;height:40px}
  .menu .menu-list .mcat{padding:20px 18px 20px}
  .menu .menu-list .mcat-no{font-size:28px}
  .menu .menu-list .mcat-desc{margin-bottom:4px}
  .menu-foot{margin-top:36px}
  .greet-body .sec-h{margin-bottom:18px}
  .greet-tags{margin-top:8px}
}
@media (max-width:760px){
  .site-header .brand-en{display:none}
  .deco-greet{display:none}
  .greet-sign{margin-top:18px}
}
@media (max-width:760px){
  .foot-inner{gap:14px;padding-bottom:20px}
  .foot-brand img{width:48px;height:48px}
  .foot-links li a{min-height:44px;display:inline-flex;align-items:center}
  .last-leaf{display:none}
  .last{padding-top:44px;padding-bottom:48px}
  .ear-svg{max-width:220px}
  .greet-ph{aspect-ratio:16/9}
  .qa summary{padding-top:14px;padding-bottom:14px}
}
.brand-name{white-space:nowrap}
.hero-photo:nth-child(2) img{object-position:50% 20%}
@media (max-width:760px){
  .hero-photo:nth-child(2) img{object-position:30% 100%}
}
@media (min-width:761px){
  .hero-photo:nth-child(2){background:var(--deeper)}
  .hero-photo:nth-child(2) img{position:absolute;top:0;right:0;width:58%;height:100%;object-position:70% 30%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(90deg,rgba(58,72,56,1) 42%,rgba(58,72,56,.55) 47%,rgba(58,72,56,0) 56%)}
}
@media (min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero-photo:nth-child(2) img{position:static;width:100%;object-position:30% 100%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(0deg,rgba(30,44,26,.5) 0%,rgba(30,44,26,.32) 20%,rgba(30,44,26,.08) 38%,rgba(30,44,26,0) 48%)}
  .hero-copy{top:auto;bottom:32px;transform:none;width:auto;right:var(--gut)}
}
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero-photo:nth-child(2){background:var(--deeper)}
  .hero-photo:nth-child(2) img{position:absolute;top:0;left:0;right:auto;width:100%;height:66%;object-position:30% 80%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(0deg,rgba(58,72,56,1) 34%,rgba(58,72,56,.6) 37%,rgba(58,72,56,0) 44%)}
}
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero-photo:nth-child(2) img{object-position:30% 56%}
}

.hero-title{font-size:clamp(30px,3vw,44px);line-height:1.6;letter-spacing:.06em}
@media (min-width:761px){
  .hero-photo:nth-child(2) img{width:52%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(90deg,rgba(58,72,56,1) 48%,rgba(58,72,56,.55) 52%,rgba(58,72,56,0) 60%)}
}
@media (max-width:760px){
  .hero-title{font-size:clamp(20px,6vw,26px);letter-spacing:.02em}
}
.tools-ph{width:100%;max-width:300px;aspect-ratio:4/3;margin:24px 0 20px;border-radius:3px}
.faq-ph{display:none}
.map{margin-top:28px;border-radius:6px;overflow:hidden;background:var(--sage-2);height:320px}
.map iframe{display:block;width:100%;height:100%;border:0}
.map-btn{margin-top:14px}
.access-ph{margin-top:28px}
.foot-addr{font-size:14px}
.foot-ig{min-height:44px;padding:0 18px;font-size:13.5px;margin-top:10px}
@media (max-width:760px){
  .map{height:240px;margin-top:22px}
  .tools-ph{max-width:none;margin:20px 0 16px}
}
@media (max-width:760px){.tools-ph{max-width:260px}}

.hero-copy{transition:opacity .45s ease}
.hero.copy-out .hero-copy{opacity:0}
@media (min-width:761px){
  .hero-photo:nth-child(2) img{position:absolute;top:0;left:0;right:auto;width:112%;height:100%;object-position:0% 20%}
  .hero-photo:nth-child(2)::after{background:radial-gradient(ellipse 40% 30% at 22% 50%,rgba(30,44,26,.26),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.36) 0%,rgba(30,44,26,.22) 28%,rgba(30,44,26,.06) 46%,rgba(30,44,26,0) 58%)}
}
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero-photo:nth-child(2) img{position:absolute;top:0;left:0;width:100%;height:100%;object-position:30% 100%}
  .hero-photo:nth-child(2)::after{background:linear-gradient(180deg,rgba(30,44,26,.5) 0%,rgba(30,44,26,.32) 22%,rgba(30,44,26,.08) 40%,rgba(30,44,26,0) 50%)}
  .hero[data-slide="1"] .hero-copy{top:20px;bottom:auto}
}
@media (min-width:761px) and (max-width:1023px) and (orientation:landscape){
  .hero-photo:nth-child(2) img{width:125%}
}
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero-photo:nth-child(2) img{object-position:30% 60%}
}
@media (max-width:760px) and (max-height:700px){
  .hero-photo:nth-child(2) img{object-position:30% 40%}
}
@media (min-width:761px) and (max-height:500px) and (orientation:landscape){
  .hero-photo:nth-child(2){display:none}
}
@media (min-width:761px) and (max-height:500px) and (orientation:landscape){.hero-dots span:nth-child(2){display:none}}

.photos-wrap{min-width:0}
.photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px}
.photos figure{margin:0}
.photos img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;border-radius:3px;background:var(--sage-2)}
.photos figcaption{margin-top:6px;font-size:12.5px;line-height:1.5;letter-spacing:.06em;color:var(--soft);white-space:nowrap}
.first .sec{padding-top:clamp(72px,7vw,96px);padding-bottom:clamp(72px,7vw,96px)}
.first-inner{align-items:center}
@media (max-width:760px){
  .photos{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;scroll-padding-left:var(--gut);scrollbar-width:none}
  .photos::-webkit-scrollbar{display:none}
  .photos li{flex:0 0 58%;scroll-snap-align:start}
  .first .sec{padding-top:56px;padding-bottom:56px}
  .first-inner{gap:24px}
}
@media (min-width:1024px){.first-inner{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(36px,4vw,64px)}}

/* sp hero fills the screen */
@media (max-width:760px){
  .hero{height:calc(100vh - var(--head-h));height:calc(100svh - var(--head-h));min-height:0;max-height:none}
}
/* price list */
.price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;max-width:1000px;margin:28px auto 0;align-items:start}
.pg{background:var(--paper);border-radius:4px;padding:22px 26px 18px}
.pg-h{font-family:var(--serif);font-size:21px;letter-spacing:.1em;color:var(--deeper);padding-bottom:10px;border-bottom:1px solid var(--line)}
.pt{width:100%;border-collapse:collapse;margin-top:2px}
.pt th,.pt td{padding:11px 0;border-bottom:1px dashed var(--line);vertical-align:baseline}
.pt th{text-align:left;font-weight:500;font-size:15px;color:var(--ink)}
.pt th small{display:inline-block;margin-left:.8em;font-size:13px;color:var(--soft);font-weight:400}
.pt td{text-align:right;white-space:nowrap;font-family:var(--serif);font-size:22px;color:var(--deeper)}
.pt td small{font-size:13px;margin-left:2px}
.pt tr:last-child th,.pt tr:last-child td{border-bottom:0}
.pm{margin-top:6px;border-top:1px solid var(--line)}
.pm summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;font-size:14px;letter-spacing:.08em;color:var(--deep)}
.pm summary::-webkit-details-marker{display:none}
.pm summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:2px;transition:transform .2s}
.pm[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.pm-b{padding:2px 0 8px;font-size:14px;line-height:1.85;color:var(--soft)}
.pm-b p{margin:0 0 6px}
.pm-c{margin-top:10px}
.pm-n{color:var(--deeper)}
.pm-n b{font-weight:700;margin-right:.8em}
.pm-b .inc{margin-top:4px}
.pm-s{margin-top:8px!important;font-size:13px}
@media (max-width:760px){
  .price{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
  .pg{padding:16px 16px 10px}
  .pg-h{font-size:19px;padding-bottom:8px}
  .pt th,.pt td{padding:9px 0}
  .pt td{font-size:20px}
}
/* room photos: shapes by aspect */
.photos .pr img{aspect-ratio:var(--ar);height:auto}
@media (min-width:761px){
  .photos{display:flex;flex-wrap:wrap;gap:14px 12px}
  .photos .pr{flex:var(--ar) 1 0%;min-width:0}
  .photos .pt4{flex:1 1 calc(25% - 9px);min-width:0}
}
@media (max-width:760px){
  .photos li{flex:0 0 auto}
  .photos .pr img,.photos .pt4 img{height:200px;width:auto;aspect-ratio:auto}
  .photos .pr{width:auto}
  .photos .pt4 img{width:200px;height:200px}
}
@media (min-width:761px){
  .photos .pr,.photos .pt4{flex:var(--ar) 1 0%;min-width:0}
  .photos .pt4 img{aspect-ratio:1/1}
  .photos .brk{flex:0 0 100%;height:0}
}
@media (min-width:1024px){.first-inner{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}}
@media (max-width:760px){.photos .brk{display:none}}

/* keep original photo ratios */
.greet-ph{aspect-ratio:1/1}
@media (max-width:760px){
  .greet-ph{aspect-ratio:1/1;max-width:300px;width:100%;margin:0 auto}
  .photos .pr img{height:200px;width:calc(200px * var(--ar));aspect-ratio:auto;object-fit:cover}
  .hero-ready .hero-photo.is-on img{animation:none}
  .hero-photo img{transform:none}
}

/* ===== 2026 round: polish ===== */
/* 1 letter-spacing: near normal for text, wide only for headings/eyebrows */
body :not(#_){letter-spacing:.02em}
body .sec-h:not(#_),body .hero-title:not(#_),body .last-h:not(#_),body .pg-h:not(#_){letter-spacing:.08em}
body .eyebrow:not(#_),body .eyebrow *:not(#_),body .brand-en:not(#_),body .copy:not(#_){letter-spacing:.14em}
body .brand-name:not(#_){letter-spacing:.12em}
body .greet-name:not(#_){letter-spacing:.3em}
body .hero-kicker:not(#_),body .hero-kicker *:not(#_){letter-spacing:.06em}
body .first-lead:not(#_),body .flow-side .sec-lead:not(#_){letter-spacing:.04em}

/* a f flow (sp) */
@media (max-width:1023px){
  .flow{gap:0}
  .flow-side .eyebrow+.sec-h{margin-top:10px}
  .flow-side .sec-lead{margin-top:14px}
  .flow-main{margin-top:28px}
  .flow-side .btn-row{margin-top:28px}
}

/* b c details list */
.pm-b .inc ul{display:block}
.pm-b .inc li{display:block;white-space:normal;padding-left:1em;text-indent:-1em}
.pm-b .inc li::before,.pm-b .inc li+li::before{content:"・";margin:0;color:var(--sage)}
.inc-h{color:var(--deep)}

/* d menu cards: ear+body / face+men rows */
@media (min-width:761px){
  .price{align-items:stretch}
  #m-ear{order:1} #m-body{order:2} #m-face{order:3} #m-men{order:4}
}
.pg-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pg-ear{width:34px;height:48px;flex:none;overflow:visible}
.pg-ear .ear-line path{fill:none;stroke:var(--ink);stroke-width:9;stroke-linecap:round;opacity:.7}
.pg-ear .ear-dots circle{fill:var(--honey)}
.ear-link{display:inline-flex;align-items:center;min-height:44px;margin-left:14px;color:var(--deep);font-size:14px;text-decoration:underline;text-underline-offset:4px}

/* e notes width */
.menu-foot{text-align:left}
.menu-notes-h,.menu-notes{max-width:38em;margin-left:auto;margin-right:auto}
.menu-foot .btn{display:flex;width:max-content;margin:0 auto}
@media (max-width:760px){.menu-foot .btn{width:100%}}

/* 2 wide photo */
.wide{margin:0;display:block;width:100%;background:var(--sage-2)}
.wide img{display:block;width:100%;height:auto}

/* 3 room photos larger on pc */
@media (min-width:761px){
  .photos{gap:20px 14px}
  .photos figcaption{font-size:14px;margin-top:8px}
}

/* 4 sp hero: copy stays at bottom for all slides */
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero[data-slide="1"] .hero-copy{top:auto;bottom:26px}
  .hero-photo:nth-child(2)::after{background:linear-gradient(0deg,rgba(30,44,26,.55) 0%,rgba(30,44,26,.36) 20%,rgba(30,44,26,.08) 36%,rgba(30,44,26,0) 46%)}
  .hero-photo:nth-child(2) img{object-position:30% 100%}
}
body .about-lead:not(#_),body .qq:not(#_){letter-spacing:.04em}

.eyebrow:not(.eyebrow-inv){color:#4F6348}
.greet .eyebrow{color:#7D5A1E}
#first .eyebrow-inv{color:#4F6348}
@media (min-width:761px){.hero-photo:nth-child(3)::after{background:radial-gradient(ellipse 40% 34% at 24% 54%,rgba(30,44,26,.32),rgba(30,44,26,0) 100%),linear-gradient(90deg,rgba(30,44,26,.4) 0%,rgba(30,44,26,.26) 28%,rgba(30,44,26,.08) 46%,rgba(30,44,26,0) 58%)}}
.last{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.last-body{max-width:640px;align-items:center}
.last-body .btn{margin-left:auto;margin-right:auto}
@media (min-width:761px){
  .price{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;align-items:start}
  #m-ear{grid-column:1;grid-row:1/4;align-self:stretch}
  #m-body{grid-column:2;grid-row:1}
  #m-face{grid-column:2;grid-row:2}
  #m-men{grid-column:2;grid-row:3}
}
.pm .sm-close{display:none}.pm[open] .sm-open{display:none}.pm[open] .sm-close{display:inline}
@media (max-width:760px),(min-width:761px) and (max-width:1023px) and (orientation:portrait){
  .hero[data-slide] .hero-copy{top:44px;bottom:auto}
  .hero-photo:nth-child(n)::after{background:linear-gradient(180deg,rgba(30,44,26,.5) 0%,rgba(30,44,26,.32) 20%,rgba(30,44,26,.08) 38%,rgba(30,44,26,0) 48%)}
  .hero-photo:nth-child(1)::after{background:linear-gradient(180deg,rgba(30,44,26,.62) 0%,rgba(30,44,26,.46) 22%,rgba(30,44,26,.12) 40%,rgba(30,44,26,0) 50%)}
  .hero-photo:nth-child(2)::after{background:linear-gradient(180deg,rgba(30,44,26,.5) 0%,rgba(30,44,26,.32) 20%,rgba(30,44,26,.08) 38%,rgba(30,44,26,0) 48%)}
}
.ear-cap{flex-direction:column;gap:8px;max-width:420px;margin-left:auto;margin-right:auto;text-align:left}
.ear-cap-h{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:17px;color:var(--deeper);letter-spacing:.08em}
.ear-cap-p{font-size:14px;line-height:1.9;color:var(--soft);letter-spacing:.04em}
.pg-set{max-width:1000px;margin:28px auto 0}
.pg-sub{margin-right:auto;margin-left:14px;font-family:var(--sans,inherit);font-size:13px;letter-spacing:.08em;color:var(--soft)}
.pg-set .pt th small{display:block;margin:4px 0 0;font-size:13px}
.pg-set .pt td{vertical-align:middle}
.pt-was{display:block;margin-top:2px;font-family:var(--sans,inherit);font-size:12px;color:var(--soft);letter-spacing:.02em}
.pg-note{margin-top:12px;font-size:13px;line-height:1.8;color:var(--soft)}
.price-label{max-width:1000px;margin:40px auto 0;font-family:var(--serif);font-size:17px;letter-spacing:.14em;color:var(--deeper);display:flex;align-items:center;gap:14px}
.price-label::after{content:"";flex:1;height:1px;background:var(--line)}
.price-label + .price,.price-label + .pg-set{margin-top:14px}
.pg-note{max-width:38em}
