:root{--fg:#1a1a1a;--muted:#666;--line:#e2e2e2;--accent:#e4572e;--bg:#fff;--card:#f7f7f8}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
color:var(--fg);background:var(--bg);line-height:1.7;font-size:16px}
header.site{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;
padding:.8rem 1rem;border-bottom:2px solid var(--accent)}
header.site .logo{font-weight:700;font-size:1.3rem;text-decoration:none;color:var(--fg)}
header.site .logo span{font-size:.7rem;color:var(--muted);margin-left:.3rem}
nav.main a{margin-left:.9rem;text-decoration:none;color:var(--fg)}
nav.main a:hover{color:var(--accent)}
main{max-width:860px;margin:0 auto;padding:1rem 1rem 3rem}
h1{font-size:1.5rem;line-height:1.35;margin:.4rem 0 1rem}
h2{font-size:1.2rem;margin-top:2rem;border-left:4px solid var(--accent);padding-left:.5rem}
h3{font-size:1.05rem}
nav.crumb{font-size:.82rem;color:var(--muted);margin:.3rem 0}
nav.crumb a{color:var(--muted)}
.lead{background:var(--card);padding:.8rem 1rem;border-radius:8px}
.est{color:var(--accent);font-size:.85em}
.src{font-size:.8rem;color:var(--muted);margin:.4rem 0 0}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.5rem .9rem;border-radius:6px;text-decoration:none}
ul.cards{list-style:none;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.8rem}
.card h3{margin:.2rem 0}
ul.datelist{columns:2;-webkit-columns:2}
.tablewrap{overflow-x:auto;max-width:100%}
td,th,.src,.note,p,li{overflow-wrap:anywhere;word-break:break-word}
.num,td.num{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
table{border-collapse:collapse;width:100%;font-size:.9rem;margin:.6rem 0}
th,td{border:1px solid var(--line);padding:.4rem .5rem;text-align:left;vertical-align:top}
th{background:var(--card)}
table.kv th{width:42%;white-space:nowrap}
.faq dl{margin:.6rem 0;border-bottom:1px dashed var(--line);padding-bottom:.6rem}
.faq dt{font-weight:700}
.faq dd{margin:.3rem 0 0}
.sample{border:2px dashed var(--accent);border-radius:8px;padding:1rem;background:#fff7f4}
.sample-tag{display:inline-block;background:var(--accent);color:#fff;font-size:.75rem;padding:.15rem .5rem;border-radius:4px;font-weight:700}
.partner-banner{background:#fde7df;border:1px solid var(--accent);padding:.4rem .6rem;border-radius:6px;font-size:.85rem;margin:.6rem 0}
.partner-label{background:var(--accent);color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:4px;vertical-align:middle}
.store-provided{font-size:.85rem;color:var(--muted)}
.note{font-size:.8rem;color:var(--muted)}
footer.site{border-top:1px solid var(--line);padding:1rem;font-size:.8rem;color:var(--muted);max-width:860px;margin:0 auto}
@media(max-width:560px){ul.datelist{columns:1}main{padding:.6rem}
table.kv,table.kv tbody,table.kv tr,table.kv th,table.kv td{display:block;width:auto}
table.kv th{white-space:normal;border-bottom:0}
table.kv tr{margin-bottom:.4rem}
.tablewrap table{font-size:.8rem}
table.rt tr:first-child{display:none}
table.rt,table.rt tbody,table.rt tr,table.rt td{display:block;width:auto}
table.rt tr{border:1px solid var(--line);border-radius:6px;margin:0 0 .6rem;padding:.3rem .5rem;background:#fff}
table.rt td{border:0;padding:.15rem 0;display:flex;justify-content:space-between;gap:.6rem;text-align:right}
table.rt td::before{content:attr(data-label);color:var(--muted);text-align:left;white-space:nowrap;flex:0 0 auto}
table.rt td.date{display:none}
table.rt td.name{font-weight:700;font-size:.95rem}
.tablewrap th,.tablewrap td{padding:.3rem .3rem}}
