:root{--bg:#fff;--fg:#1c1c20;--sub:#5a5a66;--line:#e6e6ea;--accent:#c084a0;--max:760px}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--fg);background:var(--bg);line-height:1.8;font-size:15px}
a{color:var(--accent)}
.site-header{border-bottom:1px solid var(--line);padding:16px 20px}
.brand{font-weight:700;font-size:16px;color:var(--fg);text-decoration:none}
.legal,.hero{max-width:var(--max);margin:0 auto;padding:28px 20px 56px}
.legal h1,.hero h1{font-size:22px;margin:8px 0 4px}
.legal h2{font-size:16px;margin:28px 0 6px;padding-top:8px;border-top:1px solid var(--line)}
.legal .intro{color:var(--sub)}
.legal .meta{color:var(--sub);font-size:12px}
.legal p{margin:8px 0}
.kv{margin:16px 0}
.kv .row{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.kv dt{font-weight:600}
.kv dd{margin:0;color:var(--sub)}
.contact{font-size:18px;font-weight:600}
.hero{padding-top:56px}
.hero .tagline{font-size:18px;color:var(--fg);margin-top:12px}
.hero .lead{color:var(--sub)}
.site-footer{border-top:1px solid var(--line);max-width:var(--max);margin:0 auto;padding:24px 20px 48px;color:var(--sub);font-size:13px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}
.site-footer .op{margin:0}
@media(max-width:540px){.kv .row{grid-template-columns:1fr;gap:2px}}
