:root{
  --bg:#f7fafb; --panel:#ffffff; --panel2:#eef4f5; --line:#dbe6e8;
  --text:#1f2d3a; --dim:#6b7d8c; --teal:#14b8a6; --teal-d:#0d9488;
  --ok:#22a06b; --indigo:#3a8fbf;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  line-height:1.85; font-size:15.5px; -webkit-text-size-adjust:100%;
}
.wrap{max-width:760px; margin:0 auto; padding:24px 18px 64px}
.crumb{font-size:12.5px; color:var(--dim); margin-bottom:14px}
.crumb a{color:var(--dim); text-decoration:none}
.hero{
  padding:26px 20px; border-radius:18px; color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--teal-d));
  box-shadow:0 2px 10px rgba(20,184,166,.28);
}
.hero .brand{font-size:12px; letter-spacing:.25em; font-weight:700; opacity:.9}
h1{font-size:24px; margin:8px 0 6px; font-weight:800; line-height:1.4}
.hero p{margin:0; font-size:14.5px; opacity:.95}
.cta{
  display:inline-block; margin-top:16px; background:#fff; color:var(--teal-d);
  font-weight:800; font-size:16px; padding:13px 26px; border-radius:99px;
  text-decoration:none; box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.cta.sub{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); box-shadow:none; margin-left:10px; font-size:14px; padding:11px 20px}
h2{font-size:19px; margin:34px 0 10px; padding-left:10px; border-left:4px solid var(--teal); font-weight:800}
h3{font-size:15.5px; margin:18px 0 6px; font-weight:700}
p{margin:8px 0}
.cards{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px}
@media(max-width:520px){.cards{grid-template-columns:1fr}}
.card{
  background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:14px 16px; box-shadow:0 1px 3px rgba(31,45,58,.06);
}
.card .t{font-weight:800; font-size:14.5px; margin-bottom:4px}
.card .d{font-size:13px; color:var(--dim); line-height:1.7}
.num{color:var(--teal-d); font-weight:800}
ul{padding-left:22px; margin:8px 0}
li{margin:5px 0}
.faq{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:6px 18px; margin-top:12px; box-shadow:0 1px 3px rgba(31,45,58,.06)}
.faq p{margin:12px 0}
.faq strong{display:block}
.bottom-cta{
  margin-top:36px; text-align:center; padding:26px 18px; border-radius:18px;
  background:var(--panel2); border:1px solid var(--line);
}
.bottom-cta .cta{background:var(--teal); color:#fff}
footer.nav{margin-top:40px; padding-top:20px; border-top:1px solid var(--line); display:flex; gap:14px; flex-wrap:wrap; font-size:13.5px}
footer.nav a{color:var(--indigo); text-decoration:none}
.note{font-size:12.5px; color:var(--dim)}
