@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;1,500&family=Noto+Serif+JP:wght@400;500&display=swap');:root{--ivory:#f5f1eb;--ink:#282522;--rose:#a58378;--line:#cfc5ba}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Noto Serif JP",serif}img{display:block;width:100%;height:100%;object-fit:cover}a{text-decoration:none;color:inherit}header{height:92px;display:flex;align-items:center;padding:0 5vw;position:absolute;width:100%;z-index:3}.logo{font:400 30px/1 "Cormorant Garamond",serif;letter-spacing:.16em;display:grid}.logo small{font:7px Arial;letter-spacing:.28em;margin-top:6px}header nav{display:flex;gap:36px;margin-left:auto;margin-right:45px;font:10px Arial;letter-spacing:.2em}.reserve{border-bottom:1px solid;padding:12px 0;font:10px Arial;letter-spacing:.16em}.hero{min-height:800px;display:grid;grid-template-columns:48% 52%;position:relative;overflow:hidden}.hero-copy{padding:160px 5vw 80px 9vw;align-self:center;z-index:1}.hero-copy>p,.title>p,.concept p,.menu>div>p,.closing p{font:10px Arial;letter-spacing:.25em;color:var(--rose)}h1,h2{font-weight:400}h1{font-size:clamp(43px,5vw,72px);line-height:1.55;letter-spacing:.05em;margin:22px 0}h1 em{font-style:normal;color:var(--rose)}.hero-copy>span,.concept span{display:block;font-size:13px;line-height:2.2}.hero-copy>a{display:inline-flex;align-items:center;gap:38px;margin-top:35px;font-size:12px}.hero-copy>a b{display:grid;place-items:center;width:50px;height:50px;border:1px solid;border-radius:50%}.hero-image{margin:55px 0 0;position:relative;clip-path:ellipse(78% 80% at 62% 43%)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f1eb75,transparent 35%)}.hero-image i{position:absolute;inset:7% 4% 9% 14%;border:1px solid #fff9;border-radius:50%;z-index:1}.hero-image strong{position:absolute;left:4%;bottom:0;font:400 290px/.8 "Cormorant Garamond";color:#f7f1e4aa;z-index:2}.style{padding:130px 7vw}.title{display:flex;align-items:end;justify-content:space-between}.title h2{font:italic 500 clamp(60px,8vw,115px)/.8 "Cormorant Garamond";margin:0}.gallery{height:690px;position:relative;margin-top:70px}.gallery figure{position:absolute;margin:0}.gallery img{box-shadow:0 25px 60px #473b3024}.gallery figcaption{font:10px Arial;letter-spacing:.18em;margin-top:14px}.g1{left:2%;top:45px;width:30%;height:480px}.g2{left:38%;top:0;width:27%;height:360px}.g3{right:0;top:165px;width:29%;height:410px}.concept{background:#2f2c2a;color:#f7f3ee;margin:40px 6vw 130px;display:grid;grid-template-columns:55% 45%;min-height:620px;align-items:center}.concept img{clip-path:ellipse(85% 78% at 10% 50%)}.concept div{padding:7vw}.concept h2,.menu h2,.closing h2{font-size:clamp(35px,4.5vw,64px);line-height:1.55}.menu{padding:0 12vw 130px;display:grid;grid-template-columns:40% 60%;align-items:start}.menu h2{font-family:"Cormorant Garamond";font-style:italic;margin:12px 0}.menu dl{margin:0;border-top:1px solid var(--line)}.menu dl div{display:grid;grid-template-columns:90px 1fr auto;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}.menu dt{font:10px Arial;letter-spacing:.15em}.closing{min-height:620px;background:linear-gradient(#2a282660,#2a282660),url("assets/salon-interior.webp") center/cover;display:grid;place-items:center;color:white;text-align:center}.closing>div{border:1px solid #ffffff8c;border-radius:50%;width:min(560px,88vw);aspect-ratio:1;display:grid;place-content:center;padding:50px}.closing h2{margin:20px}.closing a{display:inline-flex;gap:45px;justify-content:center;border-bottom:1px solid;padding:14px}footer{padding:50px 7vw;display:flex;justify-content:space-between;align-items:center}footer p{font:9px Arial;letter-spacing:.15em}
:focus-visible{outline:3px solid var(--rose);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:760px){header{height:70px;padding:0 20px}header nav{display:none}.reserve{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:120px 24px 65px}.hero-copy br{display:none}.hero-image{height:510px;margin:0;clip-path:ellipse(82% 77% at 60% 45%)}.hero-image strong{font-size:200px}.style{padding:100px 22px}.title{display:block}.title h2{margin-top:16px}.gallery{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}.gallery figure{position:static;width:auto;height:auto}.gallery .g1{grid-row:span 2}.gallery img{height:300px}.gallery .g1 img{height:520px}.concept{margin:0 0 100px;grid-template-columns:1fr}.concept img{height:420px;clip-path:ellipse(90% 73% at 50% 20%)}.concept div{padding:65px 28px}.menu{padding:0 24px 95px;grid-template-columns:1fr}.menu dl{margin-top:25px}.menu dl div{grid-template-columns:65px 1fr auto}.closing{min-height:540px}footer{display:block}footer p{margin-top:25px}}
.gallery figcaption{font-size:14px;font-weight:600}.menu dl div{font-size:15px}.menu dt{font-size:12px}.hero-copy>p,.title>p,.concept p,.menu>div>p,.closing p{font-size:12px}
@media(max-width:760px){.hero-copy h1 br,.concept h2 br,.closing h2 br{display:block}.hero-copy h1{font-size:41px;line-height:1.55}.gallery{gap:18px}.gallery figcaption{font-size:12px;letter-spacing:.1em}.menu dl div{grid-template-columns:68px 1fr auto;font-size:14px}.menu dt{font-size:11px}}
.nowrap{white-space:nowrap}.menu dl div{align-items:center}.menu dt{display:flex;align-items:center;height:100%;line-height:1;margin:0}.menu dd{margin:0}.menu .price{font-size:19px;font-family:"Cormorant Garamond",serif;font-weight:500;letter-spacing:.02em;white-space:nowrap}
@media(max-width:760px){.concept h2{font-size:31px;letter-spacing:-.035em}.concept .nowrap{white-space:nowrap}.menu .price{font-size:18px}.menu dt{font-size:12px}}
@media(max-width:760px){.concept h2{font-size:35px;letter-spacing:-.055em}.concept .nowrap{font-size:inherit;white-space:nowrap}}
.concept h2 strong.nowrap{display:inline;font:inherit;font-size:1em;font-weight:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap}
/* 20260905: readable demo and accessible interactions */
.demo-notice{position:relative;z-index:5;padding:11px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;color:#294052;font:13px/1.6 Arial,sans-serif;border-bottom:1px solid #ddd}
.demo-notice a{text-decoration:underline;min-height:32px;display:flex;align-items:center;flex-shrink:0}
.demo-info{padding:25px max(24px,6vw);background:#fff;color:#344857;font:14px/1.9 Arial,sans-serif}
.demo-info summary{cursor:pointer;font-weight:bold;padding:12px 0}.demo-info a{text-decoration:underline;display:inline-block;padding:12px 0}
body{line-height:1.85}header nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:900px){.demo-notice{font-size:11px;padding:9px 16px;gap:12px}.demo-info{font-size:13px}}

header{position:relative;height:95px;background:#f5f1eb}.logo{font-size:36px}.logo small{font-size:10px}header nav,.reserve{font-size:12px}
.hero{min-height:670px;grid-template-columns:50% 50%;padding-bottom:35px}.hero-copy{padding:65px 3vw 65px 7vw}.hero-copy h1{font-size:clamp(35px,3.6vw,55px);line-height:1.65;letter-spacing:0}.hero-copy>span{font-size:16px}.hero-copy>a{font-size:16px}.hero-image{margin:0;height:660px;clip-path:ellipse(78% 80% at 62% 43%)}.hero-image strong{font-size:250px}
.style{padding:100px 7vw}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:4vw;height:auto;margin-top:55px}.gallery figure{position:relative;inset:auto;width:auto;height:auto}.gallery .g2{margin-top:70px}.gallery .g3{margin-top:140px}.gallery img{width:100%;height:410px;object-fit:cover;border-radius:150px 150px 6px 6px}.gallery figcaption{font-size:14px;margin-top:20px}
.concept{grid-template-columns:46% 54%;min-height:520px;margin:35px 5vw 100px}.concept img{min-height:520px;clip-path:ellipse(95% 90% at 0% 50%)}.concept div{padding:45px 4vw}.concept h2{font-size:clamp(28px,2.8vw,42px);line-height:1.7;letter-spacing:0}.concept h2 strong.nowrap{font:inherit;white-space:nowrap}.concept span{font-size:16px;line-height:2}
.menu{padding:0 7vw 100px;grid-template-columns:.8fr 1.3fr;gap:40px}.menu h2{font-size:60px}.menu dl div{min-height:110px;grid-template-columns:100px 1fr auto;gap:14px;padding:25px 0;align-items:center}.menu dt{font-size:15px;line-height:1;height:auto}.menu dd{font-size:16px}.menu .price{font-size:32px;line-height:1.3}.closing h2{font-size:42px}.closing a{font-size:17px}footer p{font-size:12px}
@media(max-width:1100px){.hero-copy h1{font-size:35px}.hero-copy>span br{display:none}.concept{grid-template-columns:1fr 1.2fr}.concept div{padding:35px}.concept h2{font-size:29px}.gallery img{height:330px}.menu{grid-template-columns:1fr}.menu dl{width:100%}}
@media(max-width:760px){header{height:78px}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:40px 24px}.hero-copy h1{font-size:31px;line-height:1.75}.hero-copy>span{font-size:15px}.hero-image{height:460px}.hero-image strong{font-size:210px}.style{padding:65px 22px}.title h2{font-size:70px}.gallery{grid-template-columns:1fr;gap:32px;margin-top:35px}.gallery .g1,.gallery .g2,.gallery .g3{grid-row:auto;margin:0;height:auto}.gallery img,.gallery .g1 img{height:380px;border-radius:180px 180px 4px 4px}.gallery figcaption{font-size:14px;margin-top:16px}.concept{margin:0 18px 65px;grid-template-columns:1fr}.concept img{height:320px;min-height:0;clip-path:none}.concept div{padding:35px 22px}.concept h2{font-size:29px;letter-spacing:-.025em}.concept h2 strong.nowrap{font:inherit;letter-spacing:inherit}.concept span{font-size:15px}.menu{padding:0 24px 65px;gap:15px}.menu h2{font-size:55px}.menu dl{margin-top:0}.menu dl div{grid-template-columns:68px 1fr auto;gap:10px;min-height:98px}.menu dt{font-size:12px}.menu dd{font-size:13px}.menu .price{font-size:27px}.closing{min-height:490px}.closing>div{padding:30px;width:90vw}.closing h2{font-size:29px;margin:15px 0}.closing a{font-size:16px}}
