@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#171512;--paper:#f4f0e9;--cream:#e9e1d5;--line:rgba(23,21,18,.18);--accent:#5d6650;--white:#fffdf9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}.demo{position:fixed;z-index:30;left:18px;bottom:18px;padding:8px 11px;background:rgba(20,19,17,.88);color:#fff;font-size:10px;letter-spacing:.16em;border-radius:2px;backdrop-filter:blur(8px)}.nav{height:92px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:42px}.logo{font-family:'Noto Serif JP',serif;font-size:25px;letter-spacing:.13em;font-weight:500}.navlinks{display:flex;gap:34px;margin-left:auto}.navlinks a,.reserve{font-size:11px;letter-spacing:.18em;font-weight:600}.reserve{display:inline-flex;align-items:center;justify-content:center;border-bottom:1px solid currentColor;padding:8px 0}.hero{min-height:760px;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:7vw;padding-top:55px;padding-bottom:75px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.24em;margin-bottom:34px}.hero h1{font-family:'Noto Serif JP',serif;font-weight:400;font-size:clamp(78px,8.6vw,138px);line-height:.82;letter-spacing:-.055em;margin:0 0 48px}.jp{font-family:'Noto Serif JP',serif;font-size:18px;line-height:2;margin:0 0 38px}.heroimg{height:650px;overflow:hidden;border-radius:180px 180px 0 0}.section{padding:145px 0;border-top:1px solid var(--line)}.conceptgrid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.conceptimg{height:650px}.bigcopy{font-family:'Noto Serif JP',serif;font-size:clamp(52px,6vw,88px);line-height:1.05;letter-spacing:-.04em;margin:0 0 46px}.bodycopy{font-family:'Noto Serif JP',serif;max-width:520px;font-size:16px;line-height:2.25}.sectionhead{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:70px}.sectionhead h2,.cta h2{font-family:'Noto Serif JP',serif;font-weight:400;font-size:clamp(62px,7vw,105px);letter-spacing:-.045em;line-height:1;margin:0}.sectionhead p{font-family:'Noto Serif JP',serif;line-height:2;max-width:450px;margin:0}.cards{border-top:1px solid var(--line)}.card{display:grid;grid-template-columns:180px 1fr 1fr 150px;gap:30px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}.num{font-size:10px;letter-spacing:.18em}.card h3{font-family:'Noto Serif JP',serif;font-size:30px;font-weight:400;margin:0}.card p{font-family:'Noto Serif JP',serif;font-size:14px;line-height:1.8;margin:0}.price{text-align:right;font-family:'Noto Serif JP',serif;font-size:18px}.gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:end}.gallery .a{height:700px}.gallery .b{height:470px}.cta{background:#20231d;color:#f7f3eb;padding:150px 0}.cta .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px}.cta .eyebrow{grid-column:1/-1}.cta p{font-family:'Noto Serif JP',serif;line-height:2;margin:15px 0 36px}.cta a{justify-self:start;align-self:end;border:1px solid rgba(255,255,255,.6);padding:18px 28px;font-size:11px;letter-spacing:.18em}.footer{min-height:140px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em}.pagehero{padding:120px 0 90px;border-bottom:1px solid var(--line)}.pagehero h1{font-family:'Noto Serif JP',serif;font-weight:400;font-size:clamp(70px,10vw,145px);line-height:.9;letter-spacing:-.055em;margin:20px 0 40px}.pagehero p{font-family:'Noto Serif JP',serif;font-size:17px;line-height:2}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.portrait{height:720px}.facts{border-top:1px solid var(--line);margin-top:50px}.fact{display:grid;grid-template-columns:140px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.menu-list{border-top:1px solid var(--line)}.menu-row{display:grid;grid-template-columns:80px 1fr 1fr 150px;gap:30px;align-items:start;padding:34px 0;border-bottom:1px solid var(--line)}.menu-row h3{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:400;margin:0}.menu-row p{font-family:'Noto Serif JP',serif;line-height:1.8;margin:0;font-size:14px}.mobilebar{display:none}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.demo{font-size:8px;left:10px;bottom:76px}.nav{height:72px;gap:0}.logo{font-size:20px}.navlinks{display:none}.nav>.reserve{margin-left:auto;font-size:9px;padding:10px 0}.hero{display:block;min-height:auto;padding:34px 0 72px}.hero>div:first-child{position:relative;z-index:2}.eyebrow{margin-bottom:22px;font-size:9px}.hero h1{font-size:74px;line-height:.86;margin:0 0 28px}.jp{font-size:15px;line-height:1.9;margin-bottom:26px}.heroimg{height:440px;margin-top:38px;border-radius:120px 120px 0 0}.section{padding:90px 0}.conceptgrid{display:flex;flex-direction:column;gap:58px}.conceptimg{width:88%;height:470px;align-self:flex-start}.bigcopy{font-size:54px;margin-bottom:32px}.bodycopy{font-size:14px;line-height:2.1}.sectionhead{display:block;margin-bottom:48px}.sectionhead h2,.cta h2{font-size:62px;margin-bottom:28px}.sectionhead p{font-size:14px;line-height:1.9}.card{grid-template-columns:1fr auto;gap:10px 18px;padding:27px 0}.card .num{grid-column:1/-1}.card h3{font-size:24px}.card p{grid-column:1/-1;font-size:13px}.price{grid-column:2;grid-row:2;font-size:15px}.gallery{grid-template-columns:1fr .72fr;gap:12px;align-items:end}.gallery .a{height:430px}.gallery .b{height:280px}.cta{padding:90px 0 115px}.cta .wrap{display:block}.cta p{font-size:14px}.cta a{display:inline-block;margin-top:10px}.footer{min-height:150px;display:block;padding-top:35px;padding-bottom:90px;line-height:2}.footer span{display:block}.pagehero{padding:72px 0 60px}.pagehero h1{font-size:72px}.pagehero p{font-size:14px}.twocol{display:block}.portrait{height:480px;margin-bottom:55px}.facts{margin-top:35px}.fact{grid-template-columns:105px 1fr;font-size:12px}.menu-row{grid-template-columns:1fr auto;gap:10px 15px;padding:28px 0}.menu-row>span{grid-column:1/-1}.menu-row h3{font-size:23px}.menu-row p{grid-column:1/-1;font-size:13px}.menu-row .price{grid-column:2;grid-row:2}.mobilebar{position:fixed;display:grid;grid-template-columns:1fr 1fr;z-index:25;bottom:0;left:0;right:0;height:62px;background:#1d201a;color:#fff}.mobilebar a{display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.17em}.mobilebar a+ a{border-left:1px solid rgba(255,255,255,.25)}}
