:root{--bg:#FBFAF3;--ink:#3E4A36;--green:#6FA53A;--pale:#E8EFD8;--red:#C8452F}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pale);color:var(--ink);font-family:"Hiragino Sans","Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-size:16px;line-height:1.8}
.lp{width:100%;max-width:560px;margin:0 auto;background:var(--bg);box-shadow:0 0 40px rgba(62,74,54,.08)}
.part{position:relative;margin:0}
.part img{display:block;width:100%;height:auto}
.fv img{animation:rise .7s ease-out both}
@keyframes rise{from{opacity:0}to{opacity:1}}
.hit{position:absolute;display:block;border-radius:999px;outline-offset:3px}
.hit:focus-visible{outline:3px solid var(--ink)}
.hit-fv{left:48%;top:89%;width:48%;height:6.6%}
.hit-cta{left:5%;top:83%;width:90%;height:9%}
.spec,.faq{margin:0;padding:8px 24px 24px;background:var(--bg)}
.spec div,.faq div{padding:12px 0;border-top:1px solid var(--pale)}
.spec dt,.faq dt{color:var(--green)}
.spec dd,.faq dd{margin:0}
.foot{max-width:560px;margin:0 auto;padding:24px 24px 96px;background:var(--bg);font-size:14px}
.foot p{margin:0 0 8px}
.float{position:fixed;left:50%;bottom:12px;transform:translate(-50%,160%);width:min(92vw,516px);min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-size:16px;box-shadow:0 6px 18px rgba(62,74,54,.25);transition:transform .25s ease;z-index:10}
.float.on{transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fv img{animation:none}.float{transition:none}}
