:root{--ink:#233446;--muted:#65717b;--bg:#faf8f3;--paper:#fff;--accent:#a05c45;--blue:#456f8a;--green:#557c68;--border:#e6e0d7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.8}
a{color:#275c83}
a:focus-visible{outline:3px solid #bd784c;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
.serif,h1,h2,h3{font-family:'Hiragino Mincho ProN','Yu Mincho',serif}
header{background:#fff;border-bottom:1px solid var(--border)}
.topbar{max-width:1120px;margin:auto;padding:16px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;color:var(--ink);font-weight:bold;letter-spacing:.1em}
nav{display:flex;gap:22px;font-size:.88rem}
nav a{text-decoration:none;color:#546271}
.hero{background:linear-gradient(90deg,rgba(251,248,241,.96),rgba(251,248,241,.82) 49%,rgba(251,248,241,.05)),url('hero-season.svg') center right/cover no-repeat;border-bottom:1px solid var(--border)}
.hero-inner{max-width:1120px;margin:auto;padding:75px 25px 90px}
.eyebrow{color:#906a53;letter-spacing:.22em;font-size:.78rem;font-weight:bold}
.hero h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.35;letter-spacing:.055em;margin:18px 0}
.lead{max-width:630px;font-size:1.1rem;line-height:2.1}
.container{max-width:1120px;padding:65px 25px;margin:auto}
.section-head{text-align:center;margin-bottom:36px}
.section-head h2{font-size:clamp(1.65rem,3vw,2.2rem);margin-bottom:8px}
.section-head p{color:var(--muted)}
.magazines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.mag{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 7px 24px rgba(44,45,44,.045);display:flex;flex-direction:column}
.mag img{width:100%;height:190px;object-fit:cover;display:block}
.mag-content{padding:23px;display:flex;flex-direction:column;flex:1}
.mag .kicker{font-size:.90rem;letter-spacing:.1em;color:#34210e}
.mag h3{font-size:1.26rem;line-height:1.5;margin:7px 0 12px}
.mag p{font-size:.92rem;line-height:1.9}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin:5px 0 20px}
.tags span{padding:3px 9px;background:#f4f1ec;border-radius:50px;font-size:.75rem;color:#000000}
.actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:11px 16px;border-radius:6px;background:var(--blue);text-decoration:none;color:white;font-weight:bold;font-size:.92rem;transition:opacity .2s}
.button:hover{opacity:.84}
.mag.weekly .button{background:var(--green)}
.mag.moon .button{background:#666a94}
.subtle-link{text-align:center;text-decoration:none;font-size:.87rem}
.compare-wrap{background:#f1efe8}
.compare-table{width:100%;border-collapse:collapse;background:white;font-size:.9rem;box-shadow:0 2px 14px #00000008}
.compare-table th,.compare-table td{padding:16px;border:1px solid #e7e3dc;text-align:left}
.compare-table thead th{background:#ede9e0}
.compare-table tbody th{background:#f8f6f0;white-space:nowrap}
.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sample{background:#fff;border:1px solid var(--border);padding:23px;border-radius:10px}
.sample h3{font-size:1.13rem}
.sample p{font-size:.9rem;color:#5c6870}
.sample a{font-weight:bold}
.notice{margin-top:29px;text-align:center;background:#edf2ed;border-radius:10px;padding:26px}
.faq{max-width:780px;margin:auto}
.faq details{background:white;border:1px solid var(--border);border-radius:7px;margin:10px 0;padding:15px 19px}
.faq summary{font-weight:bold;cursor:pointer}
.faq p{margin:10px 0 0;color:#22303a}
.last{background:#e9e1d4;text-align:center;padding:52px 20px}
.last h2{font-size:1.75rem}
footer{background:#263746;color:#e7edf1;padding:32px 25px;font-size:.87rem}
footer .inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
footer a{color:#e7edf1}
@media(max-width:800px){.magazines{grid-template-columns:1fr;max-width:560px;margin:auto}
.mag img{height:220px}
.samples{grid-template-columns:1fr}
.hero-inner{padding:57px 25px 70px}
.hero{background:linear-gradient(90deg,rgba(251,248,241,.95),rgba(251,248,241,.75)),url('hero-season.svg') center/cover}
.compare-table{font-size:.78rem}
.compare-table th,.compare-table td{padding:9px}
.topbar{align-items:flex-start;flex-direction:column;gap:4px}
nav{gap:15px;flex-wrap:wrap}
}
@media(max-width:420px){.compare-table{font-size:.7rem}
.compare-table th,.compare-table td{padding:7px 5px}
.container{padding:47px 15px}
.hero-inner{padding-left:18px;padding-right:18px}
}

