:root{
  --bg:#ffffff;
  --ink:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --max: 860px;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif;
  line-height:1.9;
  letter-spacing:.02em;
}

.wrap{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
  padding:56px 0 80px;
}

header{
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  margin-bottom:22px;
}

.kicker{
  margin:0 0 6px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}

h1{
  margin:0 0 8px;
  font-size:clamp(22px, 3.2vw, 34px);
  line-height:1.35;
  letter-spacing:.01em;
}

.sub{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

main p{ margin:10px 0; }

h2{
  margin:28px 0 10px;
  font-size:clamp(18px, 2.4vw, 24px);
  line-height:1.45;
}

h2::after{
  content:"";
  display:block;
  height:1px;
  background:var(--line);
  margin-top:10px;
}

ul{
  margin:12px 0 0;
  padding-left:1.2em;
}

li{ margin:10px 0; }

strong{ font-weight:700; }

.note{
  margin:14px 0 0;
  padding:12px 0 0;
  border-top:1px solid var(--line);
}

.note b{
  margin-right:8px;
}

table{
  width:100%;
  border-collapse:collapse;
  margin-top:14px;
  font-size:14px;
}

th, td{
  border:1px solid var(--line);
  padding:10px;
  vertical-align:top;
  text-align:left;
}

thead th{
  background:#fafafa;
  font-weight:700;
}

.cta{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.cta a{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
}

footer{
  margin-top:42px;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}
