/* 06 雑誌エディトリアル — 大きな見出し・罫線・非対称 */
:root { --bg: #f3f0e8; --surface: #f3f0e8; --ink: #1d1d1b; --muted: #6b675e; --line: #1d1d1b; --accent: #d1462f; --green: #1d1d1b; --soft: #e9e4d8; --radius: 0px; }
body { font-family: "Zen Kaku Gothic New", sans-serif; }
h1, h2 { font-family: "Shippori Mincho", serif; }
.site-header { border-bottom: 3px double var(--ink); background: var(--bg); }
.logo-mark { display: none; }
.logo-text { font-size: 1.5rem; letter-spacing: .1em; }
.hero { grid-template-columns: 1.4fr 1fr; align-items: end; border-bottom: 1px solid var(--ink); padding-bottom: 48px; }
.hero h1 { font-size: clamp(2.6rem, 7vw, 5.2rem); line-height: 1.15; }
.hero-art .art { border-radius: 0; aspect-ratio: 3/4; }
.eyebrow { color: var(--ink); border-left: 6px solid var(--accent); padding-left: 10px; }
.btn { border-radius: 0; background: var(--ink); }
.btn-ghost { background: transparent; }
.features { border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; }
.features div + div { border-left: 1px solid var(--ink); }
.features strong::before { content: "— "; color: var(--accent); }
.grid { counter-reset: n; }
.card { counter-increment: n; border-top: 1px solid var(--ink); padding-top: 14px; }
.card::before { content: "No." counter(n, decimal-leading-zero); display: block; font-size: .72rem; letter-spacing: .2em; margin-bottom: 10px; color: var(--accent); }
.card .art { border-radius: 0; }
.badge { top: 44px; border-radius: 0; background: var(--accent); color: #fff; }
.story { border-radius: 0; background: transparent; color: var(--ink); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 48px 0; }
.story > div { max-width: none; column-count: 2; column-gap: 48px; }
.story h2 { font-size: 2.4rem; }
.story .eyebrow, .story .link { color: var(--accent); }
.cart-items, .summary, .form { border-radius: 0; border-color: var(--ink); }
@media (max-width: 680px) { .story > div { column-count: 1; } .hero { grid-template-columns: 1fr; } .features div + div { border-left: 0; border-top: 1px solid var(--ink); } }
