:root { color-scheme: light; --bg:#f3eee2; --surface:#fffdf7; --ink:#2e2a22; --muted:#5e574a; --line:#ded5c2; --green:#276b40; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.85 system-ui,-apple-system,'Apple SD Gothic Neo',sans-serif; overflow-wrap:anywhere; }
main { max-width:760px; margin:0 auto; padding:28px 20px 56px; }
.brand { font-size:14px; font-weight:750; color:var(--green); }
h1 { font-size:27px; line-height:1.4; margin:12px 0 6px; }
h2 { font-size:18px; line-height:1.6; margin:30px 0 10px; padding-top:18px; border-top:1px solid var(--line); }
p,li,dd { color:var(--muted); }
p { margin:10px 0; }
ul,ol { padding-left:22px; }
li+li { margin-top:7px; }
a { color:var(--green); text-underline-offset:3px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; border-radius:3px; }
nav { display:flex; flex-wrap:wrap; gap:0 16px; margin:12px 0 22px; }
nav a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
nav a[aria-current=page] { color:var(--ink); font-weight:750; text-decoration-thickness:2px; }
.meta { font-size:13px; color:var(--muted); }
.notice { padding:15px 17px; background:#e5efdc; border-left:4px solid var(--green); border-radius:6px 14px 14px 6px; margin:18px 0; }
.notice p { margin:0; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { text-align:left; padding:12px 9px; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:#ece6d8; color:var(--ink); }
caption { text-align:left; font-weight:700; padding-bottom:8px; }
dl { margin:12px 0; }
.business { padding:18px; border:1px solid var(--line); background:var(--surface); border-radius:18px; }
.business div { display:grid; grid-template-columns:145px minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px dashed var(--line); }
.business div:last-child { border-bottom:0; }
dt { font-weight:650; }
dd { margin:0; }
details { padding:14px 0; border-bottom:1px solid var(--line); }
summary { cursor:pointer; font-weight:650; min-height:30px; }
footer { margin-top:36px; padding-top:18px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
footer p { margin:5px 0; }
@media(max-width:400px) { .business div { grid-template-columns:1fr; gap:2px; } }
@media print { body { background:#fff; } main { max-width:none; padding:0; } nav { display:none; } h2 { break-after:avoid; } }
