/* トップページ */
.hero{background:linear-gradient(180deg,var(--green-50),var(--color-bg));
  margin:-24px calc(50% - 50vw) 44px;padding:56px max(20px,calc(50vw - 500px)) 52px}
body{overflow-x:hidden}
.hero-in{max-width:1000px;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;background:var(--white);
  border:1px solid var(--green-200);border-radius:999px;font-family:var(--font-display);
  font-weight:var(--fw-bold);font-size:13px;color:var(--green-700)}
.hero-badge i{width:7px;height:7px;border-radius:50%;background:var(--brand-accent);display:block}
.hero h1{margin:20px 0 0;font-size:50px;font-weight:var(--fw-black);line-height:1.22;
  letter-spacing:-0.02em;color:var(--text-primary)}
.hero h1 span{color:var(--brand-primary)}
.hero-lead{margin:22px 0 0;max-width:620px;font-size:19px;line-height:1.85;color:var(--text-secondary)}
.hero-lead strong{color:var(--green-700)}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero-stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:38px}
.hero-stats div p{margin:0}
.hero-stats .n{font-family:var(--font-display);font-weight:var(--fw-black);font-size:27px;color:var(--green-700)}
.hero-stats .l{font-size:13px;color:var(--text-muted);margin-top:2px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.step{background:var(--color-surface);border:1px solid var(--border-subtle);border-radius:16px;padding:24px}
.step .tag{display:inline-block;font-family:var(--font-display);font-weight:var(--fw-bold);
  font-size:12px;letter-spacing:var(--ls-wide);color:var(--brand-accent-hover);margin:0 0 8px}
.step h3{margin:0 0 10px;font-size:19px}
.step p{margin:0 0 14px;font-size:15px;color:var(--text-secondary);line-height:var(--lh-normal)}
.step a{font-size:14px;font-weight:var(--fw-bold);text-decoration:none}
.step a:hover{text-decoration:underline}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.feature-box{background:var(--color-surface);border:1px solid var(--border-subtle);
  border-radius:18px;padding:28px 26px}
.feature-box.accent{background:var(--green-50);border-color:var(--border-brand)}
.feature-box h3{margin:0 0 10px;font-size:21px;color:var(--green-800)}
.feature-box p{margin:0 0 16px;color:var(--text-secondary);font-size:15px;line-height:var(--lh-normal)}
.feature-num{font-family:var(--font-display);font-weight:var(--fw-black);font-size:34px;
  color:var(--green-700);line-height:1.1;margin:0 0 4px}
.feature-num em{font-size:15px;color:var(--text-secondary);margin-left:3px}
@media(max-width:700px){
  .hero{padding:36px 20px 40px}
  .hero h1{font-size:32px}
  .hero-lead{font-size:16px}
  .hero-stats{gap:22px}
  .feature{grid-template-columns:1fr}
}
