:root{color-scheme:light;--bg:#fff;--surface:#f7f8f6;--surface-strong:#eef4ee;--text:#222724;--muted:#66716a;--border:#dfe6df;--accent:#2f6f5e;--accent-dark:#214f44;--coral:#c96d58;--blue:#55788f;--rose:#b97382;--sand:#a98555;--shadow:0 18px 50px #23302a1f;--radius:8px;--max:1120px;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{border-bottom:1px solid var(--border);padding:14px max(20px, calc((100vw - var(--max)) / 2));z-index:10;background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.brand{letter-spacing:0;align-items:center;gap:10px;font-weight:800;display:flex}.brand img{border-radius:8px}.site-nav{flex-wrap:wrap;align-items:center;gap:18px;font-size:.92rem;font-weight:700;display:flex}.site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--accent-dark)}.hero{max-width:var(--max);grid-template-columns:minmax(0,.86fr) minmax(340px,1.14fr);gap:28px;margin:0 auto;padding:56px 20px 34px;display:grid}.hero-copy{align-self:center}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:18px;font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.06}h2{margin-bottom:8px;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.24}.hero-copy p,.section-heading p,.page-hero p{color:var(--muted);max-width:42rem;font-size:1rem}.hero-image{aspect-ratio:3;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;align-self:center;height:100%;max-height:360px}.button{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:.94rem;font-weight:800;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--accent);color:#fff}.button.secondary{border:1px solid var(--border);color:var(--accent-dark)}.hero-actions,.product-actions{flex-wrap:wrap;gap:10px;display:flex}.catalog,.category-band,.policy-content,.item-detail{max-width:var(--max);margin:0 auto;padding:46px 20px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.search-box{color:var(--muted);gap:6px;min-width:min(320px,100%);font-size:.82rem;font-weight:800;display:grid}.search-box input{border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;min-height:44px;padding:10px 12px}.category-filter{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.filter-chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;background:#fff;border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:800}.filter-chip.is-active,.filter-chip:hover{background:var(--surface-strong);color:var(--accent-dark)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.product-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-rows:auto 1fr;min-width:0;display:grid;overflow:hidden}.product-visual,.detail-visual{background:var(--surface-strong);justify-content:center;align-items:center;display:flex}.product-visual{aspect-ratio:4/3}.product-visual span,.detail-visual span{color:#2227248f;font-size:1.05rem;font-weight:900}.product-visual img,.detail-visual img{object-fit:contain;background:#fff;width:100%;height:100%;padding:12px}.product-body{gap:12px;padding:16px;display:grid}.product-body h2{font-size:1.08rem}.product-body p{color:var(--muted);margin-bottom:0;font-size:.92rem}.product-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.product-meta a{color:var(--accent-dark)}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:34px}.empty-state p{color:var(--muted);margin-bottom:0}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.category-card{border:1px solid var(--border);border-radius:var(--radius);min-height:172px;padding:18px}.category-card span{margin-bottom:12px;font-size:1.08rem;font-weight:900;display:block}.category-card p{color:var(--muted);margin-bottom:0;font-size:.9rem}.page-hero{max-width:var(--max);margin:0 auto;padding:48px 20px 28px}.page-hero h1{font-size:clamp(2.2rem,4vw,3.8rem)}.back-link{color:var(--accent-dark);margin-bottom:18px;font-size:.9rem;font-weight:800;display:inline-block}.item-detail{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:28px;display:grid}.item-detail .back-link,.detail-notes{grid-column:1/-1}.detail-visual{aspect-ratio:1;border-radius:var(--radius);overflow:hidden}.detail-copy h1{font-size:clamp(2rem,4vw,3.4rem)}.lead{color:var(--muted);font-size:1.05rem}.brand-name,.price-label,.disclosure{color:var(--muted);font-weight:700}.disclosure{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.detail-notes{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:28px;display:grid}.policy-content{max-width:760px}.policy-content h2{margin-top:30px}.policy-content p{color:var(--muted)}.site-footer{color:#f7fbf8;padding:32px max(20px, calc((100vw - var(--max)) / 2));background:#1f2924;justify-content:space-between;align-items:start;gap:22px;margin-top:48px;display:flex}.site-footer p{color:#f7fbf8bd;margin-bottom:0}.site-footer a{color:#fff;white-space:nowrap;font-weight:800}.tone-sage{background:#eef4ee}.tone-blue{background:#eaf1f4}.tone-rose{background:#f6ecef}.tone-sand{background:#f5efe5}.tone-coral{background:#f8ece8}[hidden]{display:none!important}@media (width<=860px){.site-header,.section-heading,.site-footer{flex-direction:column;align-items:stretch}.hero,.item-detail{grid-template-columns:1fr}.hero{padding-top:34px}.hero-image{height:auto}.product-grid,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-notes{grid-template-columns:1fr}}@media (width<=560px){.site-nav{gap:12px}.product-grid,.category-grid{grid-template-columns:1fr}.hero-actions .button,.product-actions .button{width:100%}.empty-state{padding:24px}}
