:root{--ink:#1b1814;--paper:#f4f1ea;--cream:#e8e0d2;--gold:#b89662;--line:rgba(27,24,20,.16);--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--latin:'Manrope',sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.8;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}.skip-link{position:fixed;top:-80px;left:20px;background:#fff;padding:10px 16px;z-index:1000}.skip-link:focus{top:10px}.site-header{position:absolute;inset:0 0 auto;z-index:50}.nav{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;flex-direction:column;font-family:var(--latin);line-height:1;letter-spacing:.32em;font-size:19px;font-weight:500}.brand small{font-size:7px;letter-spacing:.58em;margin-top:8px}.nav-panel,.nav-menu{display:flex;align-items:center}.nav-menu{gap:2.5vw}.nav-menu a{font-size:12px;letter-spacing:.08em}.nav-menu a:hover{opacity:.65}.nav-cta{margin-left:3vw;border:1px solid rgba(255,255,255,.6);display:flex;gap:18px;align-items:center;padding:12px 18px;font-size:12px}.nav-cta svg{width:16px}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{height:min(900px,100svh);min-height:700px;position:relative;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(8,7,5,.75),rgba(8,7,5,.25) 60%,rgba(8,7,5,.08)),linear-gradient(0deg,rgba(8,7,5,.5),transparent 45%)}.hero-content{position:relative;z-index:2;padding:190px 8vw 140px;height:100%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font:600 10px var(--latin);letter-spacing:.28em;color:#8b704b;margin-bottom:24px}.eyebrow.light{color:#d8c29d}.hero h1,.section-heading h2,.reserve-inner h2{font-family:var(--serif);font-weight:400;letter-spacing:.04em}.hero h1{font-size:clamp(45px,5.3vw,76px);line-height:1.42}.hero h1 em{font-style:normal;color:#e9d6b5}.hero-copy{margin:25px 0 34px;color:#ddd;font-size:15px}.hero-actions{display:flex;align-items:center;gap:36px}.button{min-height:56px;padding:0 24px;display:inline-flex;justify-content:center;align-items:center;gap:28px;font-size:13px;letter-spacing:.05em;transition:.3s}.button svg{width:17px}.button-primary{background:#f4f1ea;color:#1b1814}.button-primary:hover{background:#d9c39f}.text-link{font-size:13px;border-bottom:1px solid #aaa;padding:10px 0;display:flex;gap:12px;align-items:center}.text-link svg{width:14px}.hero-meta{z-index:2;position:absolute;right:5vw;bottom:0;display:flex;border:1px solid #ffffff33;border-bottom:0;background:#0f0c0959;backdrop-filter:blur(12px)}.hero-meta div{padding:19px 28px;min-width:150px;border-right:1px solid #ffffff33}.hero-meta div:last-child{border:0}.hero-meta span{display:block;font:600 8px var(--latin);letter-spacing:.2em;color:#cbb893}.hero-meta strong{font-size:12px;font-weight:400}.section{padding:130px max(6vw,24px)}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.section-heading h2{font-size:clamp(34px,4vw,56px);line-height:1.55}.heading-note{max-width:500px;margin-top:20px;color:#746f68;font-size:12px}.intro-copy>p{font-family:var(--serif);font-size:19px;line-height:2.15;max-width:650px;margin-bottom:55px}.feature-list{border-top:1px solid var(--line)}.feature-list>div{display:grid;grid-template-columns:50px 180px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.feature-list span,.menu-number{font:500 10px var(--latin);letter-spacing:.15em;color:#98794d}.feature-list h3{font-family:var(--serif);font-weight:500;font-size:16px}.feature-list p{font-size:13px;color:#746f68}.menu-section{background:#1b1814;color:#f4f1ea}.menu-section .section-heading{display:grid;grid-template-columns:1fr 1fr}.menu-section .heading-note{align-self:end;color:#aaa39a}.menu-list{margin-top:70px;border-top:1px solid #ffffff2e}.treatment{display:grid;grid-template-columns:42% 58%;padding:34px 0;border-bottom:1px solid #ffffff2e;gap:5vw}.treatment img{height:320px;object-fit:cover;filter:saturate(.8)}.treatment-body{padding:15px 4vw 0 0;display:flex;flex-direction:column}.menu-number{color:#c2a475}.treatment h3{font-family:var(--serif);font-weight:400;font-size:32px;margin:16px 0 12px}.treatment-body>p:not(.menu-number):not(.recommend){font-size:14px;color:#bdb8b1}.price{display:flex;justify-content:space-between;align-items:end;margin-top:auto;border-top:1px solid #ffffff26;padding-top:18px;font-family:var(--latin)}.price span{font-size:12px;letter-spacing:.12em}.price strong{font-size:26px;font-weight:400}.recommend{font-size:11px;color:#c2a475;margin-top:7px}.flow-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.flow-list{border-top:1px solid var(--line)}.flow-list li{display:grid;grid-template-columns:32px 40px 1fr;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.flow-list li>span{font:500 10px var(--latin);color:#98794d}.flow-list svg{width:25px;stroke-width:1.3}.flow-list h3{font-family:var(--serif);font-size:17px;font-weight:500}.flow-list p{font-size:12px;color:#746f68}.first-note{grid-column:2;display:flex;gap:18px;background:#e8e0d2;padding:22px 25px;margin-top:-4vw}.first-note svg{width:23px;flex:none}.first-note p{font-size:12px}.first-note strong{font-size:14px;font-weight:500}.gallery-section{background:#1b1814;padding:24px 0;overflow:hidden}.gallery-track{display:grid;grid-template-columns:1.2fr .8fr 1fr .8fr;gap:12px;width:135%;transform:translateX(-8%)}.gallery-track figure{position:relative}.gallery-track img{height:360px;object-fit:cover;opacity:.88}.gallery-track figcaption{position:absolute;bottom:12px;left:15px;color:#fff;font:500 8px var(--latin);letter-spacing:.2em}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:60px}.access-card dl{border-top:1px solid var(--line)}.access-card dl>div{display:grid;grid-template-columns:120px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.access-card dt{font-size:12px;color:#827a70}.access-card dd{font-family:var(--serif);font-size:16px}.access-card dd small{font-family:var(--sans);color:#827a70;font-size:11px}.map-link{display:flex;justify-content:space-between;align-items:center;background:#1b1814;color:#fff;padding:18px 22px;margin-top:25px;font-size:12px}.map-link svg{width:16px}.faq h3{font-family:var(--serif);font-size:22px;font-weight:500;margin-bottom:20px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:19px 0;display:flex;justify-content:space-between;align-items:center;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:16px;transition:.2s}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{font-size:12px;color:#746f68;padding:0 34px 20px 0}.reserve-section{padding:120px 6vw;background:linear-gradient(110deg,#100d0af2,#100d0abd),url('images/09.png') center/cover;color:#fff}.reserve-inner{max-width:980px;margin:auto}.reserve-inner h2{font-size:clamp(38px,5vw,64px);line-height:1.5}.reserve-inner>p:not(.eyebrow){font-size:14px;color:#c5c0b8;margin-top:20px}.reserve-actions{margin-top:40px;display:flex;align-items:center;gap:35px}.line-button{background:#fff;color:#171512;min-width:260px}.line-button:hover{background:#d9c39f}.reserve-actions>p{font-size:11px;line-height:1.7;color:#d3cec7}.footer{background:#12100e;color:#fff;padding:75px 6vw 30px;display:grid;grid-template-columns:1fr auto}.footer-brand{width:max-content}.footer-links{display:flex;gap:28px;font-size:11px;color:#aaa39b}.copyright{grid-column:1/-1;border-top:1px solid #ffffff26;margin-top:55px;padding-top:22px;font:400 8px var(--latin);letter-spacing:.12em;color:#746f68}.mobile-reserve{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){html{scroll-padding-top:70px}.nav{height:70px;padding:0 20px}.brand{font-size:16px}.nav-panel{position:fixed;inset:70px 0 0;background:#1b1814;padding:45px 25px 100px;display:flex;flex-direction:column;align-items:stretch;transform:translateX(100%);transition:.35s}.nav-panel.open{transform:none}.nav-menu{display:block}.nav-menu li{border-bottom:1px solid #ffffff26}.nav-menu a{display:block;padding:20px 0;font-size:15px}.nav-cta{margin:30px 0 0;justify-content:space-between}.menu-toggle{display:flex;width:36px;height:36px;flex-direction:column;align-items:center;justify-content:center;gap:7px}.menu-toggle span{width:23px;height:1px;background:currentColor;transition:.25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:740px;height:100svh}.hero-content{padding:130px 24px 160px;justify-content:flex-end}.hero h1{font-size:42px}.hero-copy br{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-meta{left:20px;right:20px;bottom:18px}.hero-meta div{padding:12px 10px;min-width:0;flex:1}.hero-meta strong{font-size:10px}.section{padding:90px 24px}.intro,.flow-section{grid-template-columns:1fr;gap:55px}.intro-copy>p{font-size:16px}.feature-list>div{grid-template-columns:35px 1fr}.feature-list p{grid-column:2}.menu-section .section-heading{display:block}.treatment{grid-template-columns:1fr;gap:0}.treatment img{height:230px}.treatment-body{padding:24px 0 5px}.treatment h3{font-size:27px}.price{margin-top:25px}.first-note{grid-column:1;margin-top:-25px}.gallery-track{width:280%;grid-template-columns:repeat(4,1fr);transform:translateX(-18%)}.gallery-track img{height:280px}.access-grid{grid-template-columns:1fr;gap:65px}.reserve-section{padding:90px 24px}.reserve-actions{align-items:flex-start;flex-direction:column;gap:18px}.footer{padding:60px 24px 100px;display:block}.footer-links{display:grid;grid-template-columns:1fr 1fr;margin-top:40px}.copyright{margin-top:40px}.mobile-reserve{position:fixed;z-index:45;left:12px;right:12px;bottom:10px;height:62px;background:#c2a475;color:#171512;display:grid;grid-template-columns:1fr auto;align-items:center;padding:9px 18px;box-shadow:0 8px 30px #00000047}.mobile-reserve span{grid-column:1;font:600 7px var(--latin);letter-spacing:.2em}.mobile-reserve strong{grid-column:1;font-size:13px;font-weight:500;margin-top:-8px}.mobile-reserve svg{grid-row:1/3;grid-column:2;width:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.flow-list i[data-lucide="clipboard-heart"]{display:block;width:22px;height:25px;border:1.5px solid currentColor;border-radius:2px;position:relative}
.flow-list i[data-lucide="clipboard-heart"]::before{content:"";position:absolute;left:5px;right:5px;top:-4px;height:6px;background:var(--paper);border:1.5px solid currentColor;border-radius:3px}
.flow-list i[data-lucide="clipboard-heart"]::after{content:"";position:absolute;left:5px;right:5px;top:9px;height:1px;background:currentColor;box-shadow:0 5px 0 currentColor}

/* ポートフォリオ用 注記 */
.portfolio-note {
  grid-column: 1 / -1;
  margin-top: 35px;
  padding: 14px 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #aaa39b;
  font-size: 11px;
  line-height: 1.8;
  text-align: center;
}
