*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic",system-ui,sans-serif;color:#1d2433;background:#f3f5f8;line-height:1.65}
.top{max-width:1180px;margin:0 auto;padding:14px 18px 4px}
.lang{font-size:.85rem;color:#667}
.lang a{color:#335;text-decoration:none}
.lang a[aria-current]{font-weight:700}
h1{font-size:1.55rem;line-height:1.35;margin:.5rem 0}
h2{font-size:1.1rem;margin:.2rem 0 .7rem}
h3{font-size:.95rem;margin:1rem 0 .4rem;color:#445}
.lead{font-size:1.02rem;margin:.3rem 0}
.trust{font-size:.82rem;color:#556;margin:.2rem 0 .6rem}
main{max-width:1180px;margin:0 auto;padding:0 18px 40px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:start}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #dde2ea;border-radius:10px;padding:16px;margin-bottom:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.row4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 12px;margin-bottom:10px}
@media (max-width:600px){.row2,.row4{grid-template-columns:1fr 1fr}}
label{display:flex;flex-direction:column;font-size:.82rem;color:#445}
label.chk{flex-direction:row;align-items:center;gap:6px}
label.inl{display:inline-flex;flex-direction:row;align-items:center;gap:6px}
input,select{font:inherit;font-size:1rem;padding:6px 8px;border:1px solid #c5ccd8;border-radius:6px;background:#fff;margin-top:2px}
input:focus,select:focus{outline:2px solid #2f6fdb;border-color:#2f6fdb}
button{font:inherit;font-size:.9rem;padding:6px 12px;border:1px solid #b8c0cc;border-radius:6px;background:#f7f8fa;cursor:pointer}
button.main{background:#1f5fd1;color:#fff;border-color:#1f5fd1}
.btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:.6rem 0}
details summary{cursor:pointer;font-weight:600;margin:.4rem 0}
.big{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
@media (max-width:600px){.big{grid-template-columns:1fr 1fr}}
.big div{background:#f3f6fb;border-radius:8px;padding:8px}
.big span{display:block;font-size:.75rem;color:#556}
.big b{font-size:1.35rem}
.verdict{background:#fff8e6;border-left:4px solid #e0a100;padding:8px 10px;margin:.5rem 0}
.bad{color:#c62828}
.t{width:100%;border-collapse:collapse;font-size:.88rem;margin:.4rem 0}
.t th,.t td{border-bottom:1px solid #e6e9ef;padding:4px 6px;text-align:left}
.t td{text-align:right;white-space:nowrap}
.t tr.sum th,.t tr.sum td{font-weight:700;background:#f6f8fb}
.yt th{text-align:right;white-space:nowrap}
.yt tr.neg td{color:#c62828}
.yt tr.dc td:first-child{font-weight:700}
.yt tr.dc td:first-child::after{content:" DC";font-size:.7rem;color:#e0a100}
.cmp th{vertical-align:top}
.scroll{overflow-x:auto}
.paid{border:2px solid #1f5fd1}
.paid.on{border-color:#2e7d32}
a.buy{display:inline-block;background:#1f5fd1;color:#fff;padding:9px 16px;border-radius:8px;text-decoration:none;font-weight:700}
a.buy.alt{background:#fff;color:#1f5fd1;border:1px solid #1f5fd1}
.key{font-size:.85rem}
.key label{display:inline-flex;flex-direction:row;align-items:center;gap:6px}
.locked{opacity:.55}
.small{font-size:.8rem;color:#556}
.file{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:.85rem}
@media print{.lang,.paid,#f,.faq,.btns,.top .lead,.trust,#yearsBox .row4{display:none}.grid{display:block}.card{border:none}}
