
:root{--max:1100px;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,'Noto Sans JP',sans-serif;color:#222;background:#fff}
.header{position:relative;min-height:55svh}
@media (max-width:600px){.header{min-height:65svh}}
.hero{position:absolute;inset:0;background:url('assets/hero.jpg') center/cover no-repeat;}
.lang{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:2}
.lang button{border:0;border-radius:16px;padding:6px 10px;font-weight:700;background:#eee;cursor:pointer}
.status{position:absolute;left:50%;transform:translateX(-50%);bottom:18px;font-weight:700;color:#c20;font-size:18px}
main{max-width:var(--max);margin:auto;padding:28px 16px}
h1,h2{text-align:center;margin:8px 0 14px}
.lead{text-align:center;color:#555;margin-bottom:24px}
.section{margin:28px auto}
.mapwrap{border-radius:12px;overflow:hidden;}
.mapwrap iframe{width:100%;height:340px;border:0}
.hours{font-weight:600;text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{width:100%;height:180px;object-fit:cover}
.card .b{padding:12px 14px}
.card h3{margin:0 0 6px}
.meta{font-size:13px;color:#666;margin:4px 0}
.price{font-weight:700;margin-top:auto}
.flex{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.col{flex:1 1 420px}
.box{border:1px solid #eee;border-radius:12px;padding:16px}
.vipps{display:flex;gap:14px;align-items:center}
.vipps img{width:130px;height:auto}
.footer{font-size:12px;color:#666;margin:28px 0 12px;text-align:center}
.hidden{opacity:.35;filter:grayscale(0.6)}
