
:root{
  --brand:#1e90ff; /* azure-ish */
  --ink:#0f172a;   /* slate-900 */
  --ink2:#334155;  /* slate-600 */
  --bg:#ffffff;
  --muted:#f1f5f9;
  --accent:#22c55e;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP",Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--ink);background:var(--bg);}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid #e2e8f0}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.brand{display:flex;gap:10px;align-items:center}
.brand img{height:36px;width:auto}
.brand .name{font-weight:800;letter-spacing:.2px}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;padding:40px 0}
.hero h1{font-size:40px;line-height:1.2;margin:0 0 12px}
.badge{display:inline-block;background:var(--muted);padding:6px 10px;border-radius:999px;font-size:12px;color:var(--ink2);}
.cta{display:flex;gap:12px;margin-top:16px}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:700;border:1px solid #cbd5e1;background:#fff}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px}
.card h3{margin-top:0}
.section{padding:40px 0}
.kicker{color:var(--brand);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.footer{background:var(--muted);border-top:1px solid #e2e8f0;margin-top:40px}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table td,.table th{padding:12px 14px;border:1px solid #e2e8f0}
.table th{background:var(--muted);text-align:left}
input,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #cbd5e1;font-size:16px}
label{font-weight:600}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.alert{padding:12px 14px;border-radius:10px;background:#f0fdf4;border:1px solid #86efac}
.small{font-size:12px;color:var(--ink2)}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
