:root{
  --sky:#89bee9; --sky-lt:#d8ecfa; --sky-pale:#eef8fd;
  --grass:#89d381; --grass-dk:#65a365;
  --green:#367f3e; --green-dp:#1c8124; --green-br:#66ce37;
  --orange:#e8801e; --orange-dk:#c96a12;
  --pink:#f24ea0; --yellow:#f9b418; --marker:#f7e14f;
  --red:#e0322c; --ink:#231f20; --ink-sub:#4c4a48;
  --font:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",system-ui,sans-serif;
  --font-num:"Poppins","M PLUS Rounded 1c",system-ui,sans-serif;
  --head-h:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px)}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.8;
  font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:var(--head-h)}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1080px,92vw);margin-inline:auto}
.center{text-align:center}
.mk{background:linear-gradient(transparent 56%,var(--marker) 56%);font-weight:800;padding:0 .08em}
.card{background:#fff;border-radius:22px;box-shadow:0 10px 26px rgba(60,110,90,.12)}
.pill{display:inline-block;background:var(--green);color:#fff;border-radius:999px;
  padding:.24em 1.05em;font-weight:800;font-size:.92rem}
.sec-title{text-align:center;margin:0 0 6px;font-size:clamp(1.45rem,4.4vw,2.15rem);
  font-weight:900;color:var(--green);letter-spacing:.02em;line-height:1.5}
.sec-lead{text-align:center;color:var(--ink-sub);margin:.2em 0 36px;font-size:.98rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border-radius:999px;
  padding:.9em 2em;font-weight:900;text-decoration:none;line-height:1.4;
  box-shadow:0 5px 0 rgba(0,0,0,.16);transition:transform .14s,box-shadow .14s}
.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 rgba(0,0,0,.16)}
.btn-main{background:var(--orange);color:#fff;box-shadow:0 5px 0 var(--orange-dk)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 5px 0 #245a2a}
.btn-white{background:#fff;color:var(--green);box-shadow:0 5px 0 rgba(54,127,62,.25)}
.btn-xl{font-size:clamp(1.05rem,3.4vw,1.35rem);padding:1.05em 2.4em;width:min(640px,100%)}

.reveal{opacity:0;transform:translateY(28px);
  transition:opacity .75s cubic-bezier(.22,.8,.3,1),transform .75s cubic-bezier(.22,.8,.3,1)}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
