/* 和(日):和紙の質感・留白(間)・縦書きの標語・朱の落款(ハンコ)・青海波・額装した写真・高い情報密度の表。明朝 + ゴシック */
:root{--bg:#f4efe4;--fg:#26231e;--muted:#6f685c;--line:#d9d0bd;--surface:#fbf8f0;--accent:#c4332a;--accent-fg:#fffaf0;--ai:#2c4a6e;--shu:#c4332a;--th:#e7e0d0;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic","Meiryo","Noto Sans CJK JP",Inter,system-ui,sans-serif;--font-ja:var(--font);--font-d:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif CJK JP","Noto Serif JP",serif;--r:2px;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1814;--fg:#ece5d4;--muted:#a39b8a;--line:#3a352c;--surface:#23201a;--accent:#e2574b;--accent-fg:#1a1814;--ai:#8fb0d6;--shu:#e2574b;--th:#2d2921;color-scheme:dark}}
:root[data-theme=dark]{--bg:#1a1814;--fg:#ece5d4;--muted:#a39b8a;--line:#3a352c;--surface:#23201a;--accent:#e2574b;--accent-fg:#1a1814;--ai:#8fb0d6;--shu:#e2574b;--th:#2d2921;color-scheme:dark}
body{background:var(--bg);font-size:15px;letter-spacing:.02em}
.sgp{position:absolute}.sg circle{fill:var(--bg);stroke:var(--ai);stroke-width:.8}.wave{display:block;width:100%;height:28px;opacity:.55}.wave.top{position:absolute;inset:auto 0 0 0}
.hdr{background:var(--bg);border-bottom:1px solid var(--line)}.hdr-in{display:flex;align-items:center;justify-content:space-between;min-height:58px}.tools{display:flex;align-items:center}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-d);font-weight:700;font-size:1.12rem}.hanko{display:grid;place-items:center;width:32px;height:32px;background:var(--shu);color:var(--accent-fg);border-radius:3px;font-size:1.02rem;line-height:1;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--bg),inset 0 0 0 3px rgba(255,255,255,.35)}
.nav{border-top:1px solid var(--line);background:var(--surface)}.nav .wrap{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.nav a{flex:1 0 auto;text-align:center;text-decoration:none;padding:11px 18px;font-size:.88rem;font-weight:500;border-inline-end:1px solid var(--line)}.nav a:last-child{border:0}.nav a:hover{color:var(--shu)}
.cr{padding-top:12px}
.hero{position:relative;overflow:hidden;padding:34px 0 64px;min-height:min(78vh,560px)}.sun{position:absolute;inset:auto -60px 28px auto;width:min(78vw,420px);aspect-ratio:1;border-radius:50%;background:var(--shu);opacity:.9}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sun{opacity:.75}}
.hero-in{position:relative;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:20px}
.hero h1{writing-mode:vertical-rl;font-size:clamp(1.6rem,7.5vw,2.4rem);font-weight:700;line-height:1.5;letter-spacing:.22em;height:min(58vh,400px);padding-inline-start:12px;border-inline-start:1px solid var(--fg);color:var(--fg);-webkit-text-stroke:0;hyphens:none}
.hl{align-self:flex-end;max-width:13em;padding-bottom:6px}.lead{font-size:.8rem;color:var(--fg);line-height:1.9;background:color-mix(in srgb,var(--bg) 82%,transparent);padding:6px 0}.actions{display:grid;gap:8px;margin-top:14px}
.btn{border-radius:var(--r);min-height:44px;font-weight:600;letter-spacing:.06em;padding:0 12px;white-space:nowrap}.btn.ghost{background:var(--bg);color:var(--fg);border:1px solid var(--fg)}
.sec{padding-block:34px 6px}.sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--fg)}.sec-h h1,.sec-h h2{font-size:1.3rem;font-weight:700;letter-spacing:.14em;padding-inline-start:12px;border-inline-start:4px solid var(--shu);line-height:1.3}.sec-h a{font-size:.8rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.chip{display:inline-flex;gap:8px;align-items:center;padding:5px 12px;border:1px solid var(--fg);font-size:.8rem;text-decoration:none;background:var(--surface)}.chip b{font-weight:500;color:var(--shu);font-size:.74rem}.chip:hover{background:var(--fg);color:var(--bg)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 12px;counter-reset:c}.card{display:block;text-decoration:none;counter-increment:c;position:relative}
.ph{display:block;position:relative;aspect-ratio:1;background:var(--surface);border:1px solid var(--line);padding:7px}.ph img{width:100%;height:100%;object-fit:cover;background:var(--line)}.ph .noimg{display:grid;place-items:center;height:100%}
.nw{position:absolute;z-index:2;inset:0 0 auto auto;writing-mode:vertical-rl;background:var(--shu);color:var(--accent-fg);font-size:.66rem;font-weight:700;letter-spacing:.2em;padding:8px 4px;border:2px solid var(--bg)}
.cap{display:grid;gap:3px;padding:9px 2px 0;position:relative}.no::before{content:counter(c,decimal-leading-zero);font-family:var(--font-d);font-size:.72rem;color:var(--shu);letter-spacing:.14em}.cap h3{font-size:.95rem;font-weight:700;line-height:1.5;letter-spacing:.04em}.meta{font-size:.72rem;color:var(--muted)}.pr{font-family:var(--font-d);font-weight:700;font-size:1.08rem;text-align:end;border-top:1px solid var(--line);padding-top:5px;margin-top:3px;font-variant-numeric:tabular-nums}
.pdp{padding-bottom:30px}.gal{background:var(--surface);border-bottom:1px solid var(--line)}.gallery figure{position:relative}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}.gallery figcaption{position:absolute;inset:auto 12px 12px auto;background:rgba(30,27,22,.72);color:#f4efe4;font-size:.72rem;letter-spacing:.14em;padding:2px 10px}.noimg-l{aspect-ratio:1;display:grid;place-items:center}
.pi{padding-top:20px}.sku{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.76rem;letter-spacing:.14em}.stamp{background:var(--shu);color:var(--accent-fg);padding:1px 8px;font-weight:700;letter-spacing:.14em}
.pi h1{font-size:clamp(1.5rem,6.6vw,2.1rem);font-weight:700;line-height:1.4;margin:6px 0 14px;letter-spacing:.04em}
.pbox{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;background:var(--surface);border:1px solid var(--fg);margin-bottom:16px}.pl{font-size:.74rem;color:var(--muted);letter-spacing:.14em}.pv{font-family:var(--font-d);font-weight:700;font-size:2.1rem;color:var(--shu);line-height:1.2}.pbox small{flex-basis:100%;color:var(--muted);font-size:.74rem}
.spec{width:100%;border-collapse:collapse;font-size:.86rem;margin-bottom:8px}.spec th{width:34%;background:var(--th);text-align:start;font-weight:500;padding:11px 12px;border:1px solid var(--line)}.spec td{padding:11px 12px;border:1px solid var(--line);background:var(--surface)}.spec a{text-decoration:underline;text-decoration-color:var(--shu);text-underline-offset:3px}
.desc{max-width:none;margin-top:8px;line-height:2}.desc h2{font-size:1.1rem;margin:1.8em 0 .6em;padding:6px 12px;background:var(--th);border-inline-start:4px solid var(--shu);letter-spacing:.1em}.desc ul{list-style:none;padding:0}.desc li{padding:9px 0 9px 18px;border-bottom:1px solid var(--line);position:relative}.desc li::before{content:"";position:absolute;inset-inline-start:2px;top:1.15em;width:6px;height:6px;background:var(--shu);border-radius:50%}
.inq{margin-top:30px;max-width:560px}.form input,.form textarea{border:1px solid var(--fg);background:var(--surface)}.form input:focus,.form textarea:focus{outline:0;border-color:var(--shu)}.form label{font-size:.82rem;letter-spacing:.08em}
.narrow h1{font-size:1.7rem;letter-spacing:.14em;border-inline-start:4px solid var(--shu);padding-inline-start:12px;margin-bottom:12px}.narrow .lead{background:none;font-size:.9rem;color:var(--muted);margin-bottom:18px}.newitem{background:var(--surface);border:1px solid var(--line);padding:14px}.newitem h2{font-size:1.4rem}.newimg{background:var(--bg);border:1px solid var(--line);padding:7px}.newimg img{width:100%;aspect-ratio:1;object-fit:cover}.newitem .price{font-family:var(--font-d);font-weight:700;font-size:1.3rem}
.bar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--fg)}.bar span{display:grid;line-height:1.2}.bar small{font-size:.66rem;color:var(--muted);letter-spacing:.14em}.bar b{font-family:var(--font-d);font-size:1.3rem;color:var(--shu)}.bar .btn{min-height:44px;min-width:46%}
.ftr{padding:20px 0 96px;font-size:.76rem;background:var(--surface)}
@media(min-width:860px){.grid{grid-template-columns:repeat(4,1fr);gap:34px 18px}.hero h1{height:420px}.pdp{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px;max-width:1120px;margin:0 auto;align-items:start;padding-inline:18px}.pdp .gal{grid-row:1/span 3;border:0}.pdp .wrap{padding:0}.bar{display:none}.ftr{padding-bottom:36px}}
