:root{--blue:#72add0;--deep:#355f78;--cream:#f7f3ec;--ink:#28302e;--line:#d8d6cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,236,.95);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.05)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-size:12px;letter-spacing:.14em;line-height:1.25}.bow{font-size:40px;color:var(--blue);font-family:Georgia,serif;transform:rotate(-8deg);display:inline-block}nav{display:flex;gap:28px}nav a,.menu{font:11px Arial,sans-serif;letter-spacing:.15em;color:var(--ink);text-decoration:none}.menu{display:none;background:none;border:0}.hero{min-height:calc(100vh - 92px);position:relative;display:grid;grid-template-columns:58% 42%;align-items:center}.hero>img{width:100%;height:calc(100vh - 92px);object-fit:cover}.hero-copy{padding:7vw}.eyebrow,.section-no{font:11px Arial,sans-serif;letter-spacing:.2em;color:var(--deep)}h1,h2{font-weight:400;line-height:1.5;letter-spacing:.05em}h1{font-size:clamp(32px,4vw,62px);margin:22px 0 28px}h2{font-size:clamp(28px,3.3vw,48px);margin:18px 0}.hero-copy p{font-size:15px}.button{display:inline-block;margin-top:24px;padding:14px 26px;background:var(--deep);color:white;text-decoration:none;font:12px Arial,sans-serif;letter-spacing:.12em;border:1px solid var(--deep);transition:.2s}.button:hover{opacity:.8}.button.outline{background:transparent;color:var(--deep)}.scroll{position:absolute;right:3vw;bottom:24px;font:9px Arial;letter-spacing:.2em;writing-mode:vertical-rl}.concept,.shop{padding:11vw 9vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.copy{padding-top:55px;font-size:15px}.note{font-size:11px;color:#6b6b66;margin-top:32px}.feature{padding:0 9vw 10vw}.feature img{width:100%;height:68vh;object-fit:cover}.products{padding:0 9vw 12vw}.heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.heading-row>p{font-size:13px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.grid article:nth-child(even){margin-top:60px}.grid h3{font-weight:400;font-size:19px;margin:18px 0 5px}.grid p{font-size:12px;line-height:1.8;margin:0}.text-link{display:inline-block;margin-top:50px;color:var(--deep);font:11px Arial;letter-spacing:.14em;text-underline-offset:7px}.gift{display:grid;grid-template-columns:1.15fr .85fr;background:#dcebf2}.gift-img img{width:100%;height:720px;object-fit:cover}.gift-copy{padding:10vw 8vw;align-self:center}.gift-copy p{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}.shop{background:#f1eee6}.shop .lead{margin-top:35px}.info dl{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line)}.info dt,.info dd{padding:20px 0;border-bottom:1px solid var(--line);margin:0}.info dt{font:10px Arial;letter-spacing:.14em}.info dd{font-size:14px}.info small,.update{font-size:11px}.actions{display:flex;gap:10px;flex-wrap:wrap}.update{margin-top:22px;color:#666}footer{padding:70px 6vw 35px;background:var(--deep);color:white;display:flex;justify-content:space-between;align-items:end}.footer-brand{display:flex;flex-direction:column;gap:6px;letter-spacing:.12em}.footer-brand .bow{color:#b9d9ea}.footer-brand span:last-child,footer p{font:9px Arial;letter-spacing:.12em}@media(max-width:800px){header{height:72px}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:25px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{display:block}.hero>img{height:62vh}.hero-copy{padding:12vw 8vw 16vw}.scroll{display:none}.concept,.shop{grid-template-columns:1fr;padding:20vw 8vw;gap:2vw}.copy{padding-top:10px}.feature{padding:0 0 18vw}.feature img{height:55vh}.products{padding:0 8vw 20vw}.heading-row{display:block}.grid{grid-template-columns:1fr 1fr;gap:14px}.grid article:nth-child(even){margin-top:40px}.gift{grid-template-columns:1fr}.gift-img img{height:55vh}.gift-copy{padding:16vw 8vw}.gallery{grid-template-columns:1fr 1fr}.gallery img:last-child{grid-column:1/3;aspect-ratio:2/1}.info dl{grid-template-columns:90px 1fr}footer{display:block}.footer-brand{margin-bottom:50px}}

/* sub pages */
.sub-header{position:sticky}.sub-hero{padding:9vw 9vw 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:end}.sub-hero h1{margin:10px 0}.sub-hero p{max-width:620px}.sub-main{padding:0 9vw 10vw}.menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:70px 30px}.menu-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.menu-card h2{font-size:28px;margin:18px 0 8px}.menu-card p{font-size:13px}.page-note{margin:60px 0;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.wide-photo{width:100%;height:65vh;object-fit:cover}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;margin:8vw 0}.simple-list{border-top:1px solid var(--line)}.simple-list div{padding:22px 0;border-bottom:1px solid var(--line)}.simple-list strong{display:block;font-weight:400;font-size:18px}.simple-list span{font-size:12px}.contact-box{max-width:760px;margin:0 auto 8vw;text-align:center;padding:7vw;background:#f1eee6}.contact-box h2{margin-top:0}.subnav{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.subnav a{font:11px Arial;letter-spacing:.12em;color:var(--deep);text-underline-offset:6px}@media(max-width:800px){.sub-hero,.two-col{grid-template-columns:1fr;padding-left:8vw;padding-right:8vw}.sub-main{padding-left:8vw;padding-right:8vw}.menu-list{grid-template-columns:1fr}.wide-photo{height:48vh}.contact-box{padding:14vw 7vw}}
/* v8 online shop + reservation */
.online-reserve{padding:10vw 9vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#fff}.online-reserve>div{padding:4vw;border-top:1px solid var(--line)}.online-reserve p{font-size:13px}.reservation-note{max-width:850px;margin:0 auto 40px;padding:28px 32px;background:#f1eee6}.reservation-note strong{font-weight:400;font-size:20px}.reservation-note p{font-size:12px}.reservation-note a,.form-fallback a,.card-link{color:var(--deep);text-underline-offset:5px}.form-wrap{max-width:900px;margin:0 auto;background:white}.form-wrap iframe{width:100%;height:1500px;border:0;display:block}.form-fallback{text-align:center;font-size:12px;margin-top:18px}.card-link{display:inline-block;margin-top:8px;font:11px Arial;letter-spacing:.1em}@media(max-width:800px){.online-reserve{grid-template-columns:1fr;padding:16vw 8vw;gap:8vw}.online-reserve>div{padding:8vw 0}.form-wrap iframe{height:1700px}.reservation-note{padding:24px 20px}}
