@font-face{font-family:maze-ja;src:url(font/ja.woff2) format("woff2");font-display:swap}
@font-face{font-family:maze-zhcn;src:url(font/zhcn.woff2) format("woff2");font-display:swap}
@font-face{font-family:maze-zhtw;src:url(font/zhtw.woff2) format("woff2");font-display:swap}
@font-face{font-family:maze-ko;src:url(font/ko.woff2) format("woff2");font-display:swap}
:root{--kraft:#c9a87d;--beech:#ead6b2;--ink:#000;--wood:#4b2514;--ikura:#a92b08;--mark:#ffe600}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--kraft);color:var(--ink);font-family:maze-ja,"Hiragino Maru Gothic ProN","Noto Sans CJK JP",sans-serif;font-weight:400;font-synthesis:none;line-height:1.75;font-size:17px}
html[lang=zh-Hans] body{font-family:maze-zhcn,"PingFang SC","Noto Sans CJK SC",sans-serif}
html[lang=zh-Hant] body{font-family:maze-zhtw,"PingFang TC","Noto Sans CJK TC",sans-serif}
html[lang=ko] body{font-family:maze-ko,"Apple SD Gothic Neo","Noto Sans CJK KR",sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.draft{background:var(--mark);padding:6px 16px;font-size:14px;text-align:center}
mark.ck{background:var(--mark);color:inherit;padding:0 .2em}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:12px 16px}
.top .logo{width:176px}
.langs{display:flex;gap:2px;margin:0;padding:0;list-style:none;font-size:15px}
.langs a{display:block;padding:8px 9px;text-decoration:none;min-height:40px}
.langs a[aria-current]{background:var(--ink);color:var(--kraft)}
.hero{position:relative;background:var(--wood)}
.hero img{width:100%;height:min(66vw,640px);min-height:260px;object-fit:cover;object-position:50% 55%}
.sign{padding:22px 16px 26px;max-width:1120px;margin:0 auto;display:grid;gap:14px}
.sign h1{margin:0;font-size:clamp(24px,4.2vw,36px);line-height:1.25;font-weight:400}
.hours{font-size:clamp(40px,8vw,64px);font-weight:400;line-height:1.1;margin:0;font-variant-numeric:tabular-nums}
.sign .sub{margin:0;font-size:18px}
.btn{display:inline-block;background:var(--ink);color:var(--beech);text-decoration:none;padding:13px 20px;font-weight:400;border:0;font:inherit;cursor:pointer}
main section{max-width:1120px;margin:0 auto;padding:30px 16px}
h2{font-size:clamp(28px,4.6vw,38px);font-weight:400;line-height:1.2;margin:0 0 4px}
.lead{margin:0 0 18px}
.rolls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.item{margin:0}
.item .ph{display:block;width:100%;padding:0;border:0;background:var(--ink);cursor:pointer}
.item .ph[disabled]{cursor:default}
.item img{width:100%;aspect-ratio:4/5;object-fit:cover}
.item h3{font-size:18px;line-height:1.35;margin:10px 0 0;font-weight:400}
.item .jp{font-size:16px;margin:2px 0 0}
.item .price{font-size:24px;font-weight:400;color:var(--ikura);margin:2px 0 0;font-variant-numeric:tabular-nums}
.item .desc{font-size:18px;line-height:1.8;margin:8px 0 6px;max-width:34em}
.item .tags{font-size:16px;margin:0}
.show{background:none;border:0;border-bottom:2px solid var(--ink);padding:6px 0 1px;font:inherit;font-size:17px;font-weight:400;cursor:pointer;color:inherit}
.don{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;background:var(--wood);color:var(--beech)}
.don .item h3{font-size:26px}
.don .item .price{color:var(--beech);font-size:30px}
.don .ph img{aspect-ratio:3/2}
.don .show{border-color:var(--beech)}
.don mark.ck{color:var(--ink)}
.don mark.ck{color:var(--ink)}
.wrapdon{background:var(--wood)}
.wrapdon h2{color:var(--beech)}
.mzbox{background:var(--beech);color:var(--ink);margin-top:40px;padding:22px 20px;display:grid;gap:10px;justify-items:start}
.mzbox h3{margin:0;font-size:28px;font-weight:400;line-height:1.3}
.mzbox p{margin:0;max-width:34em}
.more{margin:26px 0 0;color:var(--beech);font-size:19px}
.mz h1{font-size:clamp(32px,6vw,48px);font-weight:400;line-height:1.25;margin:0 0 10px}
.mz p{max-width:34em;margin:0 0 10px}
.langhint{background:var(--ink);color:var(--beech);text-align:center;margin:0;padding:10px 16px}
.reviews blockquote{margin:14px 0 22px;padding:0}
.reviews blockquote p{margin:0;font-size:clamp(24px,4.4vw,34px);line-height:1.4;max-width:24em}
.reviews cite{display:block;font-style:normal;font-size:15px;margin-top:6px}
.reviews ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px;font-size:20px;max-width:34em}
.owner{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.owner img{width:150px}
.owner p{margin:8px 0 0;max-width:34em}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:560px;background:var(--beech);font-size:15px}
th,td{padding:9px 8px;text-align:center;border-bottom:1px solid var(--kraft)}
th:first-child,td:first-child{text-align:left;font-weight:400}
tbody th,thead th:first-child{position:sticky;left:0;background:var(--beech);text-align:left;max-width:150px}
thead th{font-weight:400}
.note{font-size:15px;margin:10px 0 0}
.steps{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:46px 1fr;align-items:baseline}
.steps li::before{content:counter(s);font-size:30px;font-weight:400;line-height:1}
dl{margin:18px 0 0;display:grid;grid-template-columns:minmax(84px,auto) 1fr;gap:8px 16px}
dt{font-weight:400}dd{margin:0}
.access p{margin:0 0 6px}
.access .btn{margin-top:12px}
footer{background:var(--ink);color:var(--beech);padding:30px 16px 40px}
footer .in{max-width:1120px;margin:0 auto;display:grid;gap:14px}
footer img{width:190px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
footer a{display:inline-block;padding:4px 0}
footer small{font-size:13px}
dialog{border:0;padding:0;background:var(--beech);color:var(--ink);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
dialog::backdrop{background:rgba(0,0,0,.72)}
dialog img{width:100%;aspect-ratio:4/3;object-fit:cover}
dialog .body{padding:14px 18px 18px}
dialog .say{font-size:15px;margin:0}
dialog .big{font-size:34px;line-height:1.25;font-weight:400;margin:2px 0;font-family:maze-ja,"Noto Sans CJK JP",sans-serif}
dialog .yen{font-size:28px;font-weight:400;color:var(--ikura);margin:0}
dialog .own{font-size:15px;margin:2px 0 14px}
dialog .btn{width:100%}
@media (min-width:760px){
 .rolls{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}
 .don{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}
 .sign{grid-template-columns:1fr auto;align-items:end;padding-top:34px}
 .sign .hours{grid-column:1/-1}
 .two{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1120px;margin:0 auto}
 .two section{margin:0;padding:30px 16px}
 .top .logo{width:220px}
 .owner{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:32px}
 .owner img{width:200px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
