:root{--bg: #f6f7f9;--surface: #ffffff;--ink: #14181f;--ink-soft: #5b6472;--line: #e5e8ec;--accent: #c8102e;--accent-ink: #9a0c23;--navy: #161b26;--radius: 14px;--shadow: 0 1px 2px rgba(20, 24, 31, .04), 0 8px 24px rgba(20, 24, 31, .06);--maxw: 1200px;--font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(100% - 2.5rem,var(--maxw));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:#ffffffdb;backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;align-items:center;gap:1.5rem;height:64px}.brand-logo{display:flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:-.02em;font-size:1.15rem}.brand-logo .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #c8102e26}.site-nav{display:flex;gap:1.35rem;margin-left:auto;font-size:.92rem;font-weight:600;color:var(--ink-soft)}.site-nav a:hover{color:var(--accent)}.site-footer{margin-top:5rem;padding:3rem 0 4rem;background:var(--navy);color:#c7ccd6;font-size:.88rem}.site-footer .brand-logo,.site-footer a:hover{color:#fff}.site-footer .cols{display:flex;flex-wrap:wrap;gap:2.5rem 4rem;margin-top:1.5rem}.site-footer .note{margin-top:2rem;color:#8b93a3;font-size:.8rem;line-height:1.7}.section{margin-top:4rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.section-head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0}.section-head .eyebrow{color:var(--accent);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.section-head .more{color:var(--ink-soft);font-weight:600;font-size:.9rem}.section-head .more:hover{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:999px;background:#eef1f5;color:var(--ink-soft);font-size:.78rem;font-weight:600}.chip--accent{background:#c8102e1a;color:var(--accent-ink)}.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #14181f1f}.card .thumb{aspect-ratio:1 / 1;background:#f0f2f5;overflow:hidden}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .body{padding:.85rem .9rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card .name{font-size:.88rem;font-weight:600;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card .price{font-weight:800;font-size:1.02rem;letter-spacing:-.01em}.tiles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:var(--shadow);transition:border-color .18s ease,transform .18s ease;display:flex;flex-direction:column;gap:.35rem}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile .t-label{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.tile .t-count{color:var(--ink-soft);font-size:.82rem;font-weight:600}.tile .t-arrow{color:var(--accent);font-weight:700;margin-top:.3rem;font-size:.85rem}.crumb{display:flex;gap:.5rem;align-items:center;color:var(--ink-soft);font-size:.85rem;font-weight:600;margin:1.5rem 0 .5rem}.crumb a:hover{color:var(--accent)}.crumb .sep{opacity:.5}.page-title{font-size:2rem;font-weight:800;letter-spacing:-.025em;margin:.25rem 0 .3rem}.page-sub{color:var(--ink-soft);margin:0 0 1.5rem}@media (max-width: 640px){.site-nav{gap:.9rem;font-size:.82rem}.page-title{font-size:1.6rem}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
