
:root{--navy:#1a2f5a;--navy2:#24407a;--orange:#f08300;--bg:#f7f5f0;--line:#e5e0d5;--mut:#8a8578;--star:#f5a623}
*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:#2b2a26;line-height:1.7}
a{color:inherit;text-decoration:none}
header.site{background:var(--navy);color:#fff;padding:14px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{font-size:22px;font-weight:bold}.bp{color:#fff}.bg{color:var(--orange)}
header nav{margin-left:auto;display:flex;gap:16px;font-size:14px}header nav a:hover{color:var(--orange)}
main{max-width:1080px;margin:0 auto;padding:20px 18px 60px}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:14px;padding:34px 28px;margin:8px 0 22px}
.hero h1{margin:0 0 8px;font-size:26px}.hero .bg{color:var(--orange)}.hero p{margin:0;opacity:.9;font-size:14px}
#q{width:100%;max-width:520px;margin-top:16px;padding:12px 16px;border:none;border-radius:999px;font-size:15px}
h2.sec{font-size:18px;color:var(--navy);border-left:5px solid var(--orange);padding-left:10px;margin:30px 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:.15s;display:block}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(26,47,90,.12)}
.card h3{margin:6px 0 0;font-size:18px;color:var(--navy)}.kana{margin:0;font-size:11px;color:var(--mut)}
.card-head{display:flex;align-items:center;gap:8px;font-size:12px}
.genre{padding:2px 9px;border-radius:999px;color:#fff;font-size:11px}
.g-0{background:#2e7d32}.g-1{background:#c2571a}.g-2{background:#5e35b1}.g-3{background:#ad1457}
.stars{color:var(--star);letter-spacing:1px}.score{color:#c2571a;margin-left:2px}.rc{color:var(--mut);margin-left:auto}
.sum{font-size:12.5px;color:#555;margin:8px 0 6px}.tags{font-size:11px;color:var(--mut);margin:0}
.rank{list-style:none;margin:0;padding:0}.rank li{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:10px 14px;display:flex;align-items:center;gap:12px}
.rank .no{font-size:20px;font-weight:bold;color:var(--orange);min-width:34px}.rank a{font-weight:bold;color:var(--navy)}
.rank .g{font-size:11px;color:var(--mut)}
.detail{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.detail h1{margin:0;color:var(--navy)}.detail .kana{font-size:13px}
.meta-row{display:flex;align-items:center;gap:12px;margin:10px 0 18px;flex-wrap:wrap}.meta-row .stars{font-size:20px}.meta-row .score{font-size:24px}
.review{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.review .head{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--mut);flex-wrap:wrap}
.review .head .stars{font-size:14px}.review p{margin:8px 0 0;font-size:14px}
.perf{display:inline-block;background:#f0ece2;border-radius:999px;padding:1px 10px;font-size:11px}
.pill{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:4px 14px;font-size:12.5px;margin:0 6px 6px 0}
.pill:hover{background:var(--orange)}
.note{background:#fdf6e9;border:1px solid #eadfc3;border-radius:10px;padding:12px 16px;font-size:12.5px;color:#7a6a45;margin-top:18px}
footer.site{background:var(--navy);color:#fff;text-align:center;padding:26px 16px;font-size:14px}footer small{opacity:.7}
.mut{color:var(--mut)}
.article-list .card h3{font-size:17px}
.article-body{font-size:15px}
.article-body h2{font-size:18px;color:var(--navy);border-left:5px solid var(--orange);padding-left:10px;margin:28px 0 12px}
.article-body h3{font-size:15.5px;color:var(--navy);margin:22px 0 8px}
.article-body ul{padding-left:22px}.article-body li{margin-bottom:6px}
.article-body a{color:#c2571a;text-decoration:underline}
.article-date{font-size:12.5px;color:var(--mut);margin:4px 0 0}
@media(max-width:640px){.hero h1{font-size:21px}.detail{padding:18px}}
