:root{color-scheme:light;--ink:#263e37;--body:#45514d;--muted:#626b66;--line:#d4ddd7;--mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
p,h1,figure{margin:0}
.page{max-width:1440px;margin:auto;padding:0 5.5%}
.masthead{display:flex;align-items:center;justify-content:space-between;min-height:106px}
.brand{display:flex;gap:17px;align-items:baseline}
.wordmark{font:400 61px/.9 "Times New Roman",Georgia,serif;letter-spacing:-.065em}
.brand-reading{font-size:13px;letter-spacing:.16em}
.place{font-size:14px;line-height:1.8;letter-spacing:.035em;text-align:right}
.place span{display:block;font:400 12px/1.8 Georgia,serif;letter-spacing:.12em;color:var(--muted)}
.hero{display:grid;grid-template-columns:48% 1fr;align-items:center;gap:6.7%;padding-top:18px}
.visual{align-self:start;position:relative}
.photo{height:clamp(370px,59svh,490px);overflow:hidden;border-radius:0 132px 0 0;background:#e4e8e8}
.photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 51%}
figcaption{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 0;gap:12px}
.life{font:400 italic 24px/1.3 "Times New Roman",Georgia,serif;letter-spacing:.015em}
.photo-note{font-size:12px;line-height:1.6;color:var(--muted)}
.message{padding-bottom:25px}
h1{font:400 clamp(34px,3.3vw,48px)/1.65 var(--mincho);letter-spacing:.065em}
h1 span{display:block;white-space:nowrap}
.rule{width:42px;height:1px;background:#8b9b92;margin:27px 0 24px}
.description{font-size:16px;line-height:1.95;color:var(--body);letter-spacing:.015em}
.description span{display:block}
.description .last{margin-top:8px}
.reservation{margin-top:29px;max-width:370px}
.cta{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:62px;padding:16px 24px;border:1px solid #678278;background:#edf3f1;color:var(--ink);opacity:1;border-radius:0;font:500 17px/1.6 var(--sans);letter-spacing:.025em;cursor:default}
.cta span{font:400 25px/1 Arial,sans-serif}
.order-note{font-size:13px;line-height:1.7;color:var(--muted);margin-top:11px;letter-spacing:0}
.sample-note{display:flex;gap:24px;align-items:center;padding:24px 0 20px;margin-top:25px;border-top:1px solid var(--line);color:var(--muted)}
.sample-note>span{font:400 12px/1.6 Georgia,serif;letter-spacing:.08em;flex-shrink:0}
.sample-note p{font-size:12px;line-height:1.7}
.mobile-break{display:none}
@media(min-width:761px) and (max-width:1100px){.page{padding:0 4%}.hero{grid-template-columns:45% 1fr;gap:5%}h1{font-size:34px;letter-spacing:.045em}.description{font-size:16px;letter-spacing:0}.photo{height:420px}.reservation{margin-top:24px}.rule{margin:23px 0 20px}.sample-note{gap:16px}}
@media(max-width:760px){
 .page{padding:0 24px}
 .masthead{min-height:88px}
 .wordmark{font-size:51px}
 .brand{gap:11px}
 .brand-reading{font-size:12px}
 .place{font-size:12px;line-height:1.65;letter-spacing:0}
 .place span{font-size:12px;letter-spacing:.035em}
 .hero{display:flex;flex-direction:column;gap:0;padding-top:0;align-items:stretch}
 .visual{align-self:stretch;width:100%}
 .photo{height:246px;border-radius:0 86px 0 0}
 .photo img{object-position:50% 45%}
 figcaption{padding-top:11px}
 .life{font-size:20px}
 .message{padding-top:25px;padding-bottom:0}
 h1{font-size:31px;line-height:1.55;letter-spacing:.06em}
 .rule{margin:17px 0 15px;width:34px}
 .description{font-size:16px;line-height:1.8;letter-spacing:0}
 .description span{display:block}
 .description .last{display:block;margin-top:6px}
 .reservation{margin-top:20px;max-width:none}
 .cta{font-size:16px;min-height:58px;padding:15px 20px}
 .order-note{font-size:12px;line-height:1.65;margin-top:8px}
 .sample-note{display:block;margin-top:20px;padding:13px 0 17px}
 .sample-note>span{display:none}
 .sample-note p{font-size:12px;line-height:1.65}
 .mobile-break{display:inline}
}
@media(max-width:370px){.page{padding:0 20px}h1{font-size:28px}.photo{height:222px}.cta{padding-left:16px;padding-right:16px}}
