*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:#fbfbf9;color:#16211c;font-family:"Noto Sans JP",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7}
::selection{background:#cfe6d8}
img{max-width:100%}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* --- hover states --- */
.lp-headcta:hover,.lp-btn:hover{background:#14503a !important}
.lp-btn2:hover{background:#249160 !important}
a{transition:background .15s ease}

/* --- FAQ accordion --- */
.faq-q{transition:background .15s ease}
.faq-q:hover{background:#fafcfb !important}
.faq-a{display:none}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* --- responsive --- */
@media (max-width:760px){
  .lp-navlinks{display:none !important}
  .lp-hero{grid-template-columns:1fr !important;gap:40px !important;padding-top:52px !important;padding-bottom:52px !important}
  .lp-section{padding-top:60px !important;padding-bottom:60px !important}
  .lp-h2{font-size:27px !important}
  .lp-hero-h1{font-size:clamp(32px,10vw,44px) !important}
  .lp-headrow{padding-left:16px !important;padding-right:16px !important;gap:12px !important}
  .lp-headcta{font-size:12.5px !important;padding:8px 14px !important}
}
@media (max-width:520px){
  .lp-pad{padding-left:18px !important;padding-right:18px !important}
  .lp-h2{font-size:24px !important}
}
