:root{--fg:#222;--bg:#fff;--accent:#1a5fb4;--muted:#666;--line:#ddd;--warn:#fff6e0}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--fg);background:var(--bg);line-height:1.8}
a{color:var(--accent)}header.site{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:1.3rem;text-decoration:none}.tag{color:var(--muted);font-size:.9rem}header nav{margin-left:auto}header nav a{margin-left:1rem;font-size:.9rem}
.wrap{max-width:1000px;margin:0 auto;padding:1rem}.wrap.two{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2rem}
@media(max-width:800px){.wrap.two{grid-template-columns:1fr}}
h1{font-size:1.6rem;line-height:1.4}h2{font-size:1.3rem;border-left:4px solid var(--accent);padding-left:.6rem;margin-top:2rem}h3{font-size:1.1rem}
.safety{background:var(--warn);border:1px solid #e6c36a;padding:.6rem .9rem;border-radius:6px;margin:1rem 0}
.callout{background:#f4f7fb;border-left:4px solid var(--accent);margin:1rem 0;padding:.2rem 1rem}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{border:1px solid var(--line);padding:.4rem .6rem;text-align:left;vertical-align:top}th{background:#f3f3f3}
.refs{border-top:2px solid var(--line);margin-top:2.5rem}.refs ul.src{font-size:.9rem;word-break:break-all}.proc{font-size:.9rem;color:var(--muted)}
.databook{border:1px dashed #888;background:#fafafa;padding:.6rem 1rem;border-radius:6px;margin:1.5rem 0}.databook h3{margin:.2rem 0}
.pr-notice{font-size:.85rem;color:var(--muted);border:1px solid var(--line);display:inline-block;padding:.1rem .6rem;border-radius:4px}
.side ul{padding-left:1.1rem;font-size:.95rem}.list{padding-left:1.1rem}.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}
.cards li{border:1px solid var(--line);padding:.6rem .8rem;border-radius:6px}.hero{padding:1rem 0}
.crumb{font-size:.85rem;color:var(--muted)}footer.site{border-top:1px solid var(--line);padding:1rem;font-size:.85rem;color:var(--muted);text-align:center}
.preview-banner{background:#c00;color:#fff;text-align:center;padding:.3rem;font-size:.85rem}
.slot-preview{border:2px dashed #c60;background:#fff4e6;padding:.5rem;margin:1rem 0;font-size:.85rem}
.calc{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.calc input,.calc select{font-size:1.1rem;padding:.3rem .5rem}.calc input{width:5rem}.calc-result td,.calc-result th{vertical-align:top}
.dates{color:var(--muted);font-size:.9rem;margin:.2rem 0 1rem}
.placeholder{border:2px dashed #c33;background:#fff6f6;padding:1em;margin:1em 0}
.contact-form iframe{border:0;max-width:100%}
footer.site .operator{font-size:.9em}
