*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Noto Sans JP',sans-serif;color:#0B1B2B;background:#fff;-webkit-font-smoothing:antialiased;line-height:1.75;}
  ::selection{background:#cfe6ff;}
  img{max-width:100%;}
  a{color:#1467B0;}
  /* ===== Responsive: tablet & below ===== */
  @media (max-width: 1024px){
    .hdr-nav{display:none !important;}
    .sec{padding:64px 24px !important;}
    .grid-3{grid-template-columns:1fr 1fr !important;}
    .grid-2{grid-template-columns:1fr !important; gap:40px !important;}
    .compare-grid{grid-template-columns:1fr !important;}
    .compare-arrow{flex-direction:row !important;}
    .compare-arrow-ico{transform:rotate(90deg);}
    .checkout-grid{grid-template-columns:1fr !important; gap:24px !important; max-width:460px !important;}
    .sec-h2,.cta-h2{font-size:30px !important;}
    .fv{aspect-ratio:auto !important;min-height:0 !important;background-size:cover !important;}
    .fv{background-position:78% top !important;}
    .fv-col{position:static !important;width:auto !important;margin:28px 24px 0 !important;padding:34px 26px !important;background:rgba(255,255,255,.93) !important;border-radius:18px !important;box-shadow:0 24px 54px -34px rgba(15,55,95,.55);}
    .fv-h1{font-size:31px !important;}
    .fv-shot{position:static !important;width:auto !important;max-width:511px !important;margin:36px auto 44px !important;}
    .fv-cap{background:rgba(255,255,255,.92) !important;border-radius:999px !important;padding:8px 18px !important;box-shadow:0 8px 22px -14px rgba(15,55,95,.5);}
    .step3-card{flex-direction:column !important;align-items:flex-start !important;}
    .step3-chat{width:100% !important;}
  }
  /* ===== Responsive: phones ===== */
  @media (max-width: 768px){
    .hdr{gap:10px !important; padding:0 16px !important;}
    .hdr-login{display:none !important;}
    .sec{padding:52px 18px !important;}
    .fv-col{margin:20px 16px 0 !important;padding:26px 20px !important;}
    .fv-h1{font-size:29px !important;}
    .fv-p{font-size:16px !important;}
    .grid-3{grid-template-columns:1fr !important;}
    .sec-h2,.cta-h2{font-size:25px !important; line-height:1.5 !important;}
    .sec-h2 br,.cta-h2 br,.fv-p br{display:none;}
    .footer-inner{flex-direction:column !important; align-items:flex-start !important;}
  }
  /* FAQ accordion */
  .faq-item{background:#fff;border:1px solid #E7EDF3;border-radius:14px;overflow:hidden;}
  .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;gap:14px;font-family:'Noto Sans JP',sans-serif;}
  .faq-icon{flex:none;width:26px;height:26px;border-radius:50%;background:#EAF3FC;color:#1467B0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:all .2s ease;}
  .faq-a{display:none;padding:0 26px 24px 54px;font-size:15px;color:#5A6675;line-height:1.9;}
  .faq-item.open .faq-a{display:block;}
  .faq-item.open .faq-icon{background:#1467B0;color:#fff;transform:rotate(45deg);}
/* ===== video / demo embeds ===== */
.fv-shot{text-align:center;}
.embed-wrap{max-width:960px;margin:0 auto 56px;}
.embed-frame{background:#fff;border:1px solid #E1E6EC;border-radius:16px;overflow:hidden;box-shadow:0 34px 70px -36px rgba(15,55,95,.45);}
.embed-bar{background:#F0F4F8;padding:11px 16px;display:flex;gap:7px;align-items:center;border-bottom:1px solid #E1E6EC;}
.embed-dot{width:11px;height:11px;border-radius:50%;display:inline-block;}
.embed-url{flex:1;margin-left:10px;background:#fff;border:1px solid #E1E6EC;border-radius:8px;padding:5px 12px;font-size:12px;color:#7C8B9A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.embed-open{flex:none;text-decoration:none;color:#1467B0;font-size:12px;font-weight:700;white-space:nowrap;margin-left:10px;}
.embed-cap{text-align:center;font-size:13px;color:#7C8B9A;margin-top:14px;}
.embed-video{display:block;width:100%;height:540px;border:none;}
@media (max-width:768px){.embed-video{height:320px;}.embed-url{font-size:11px;}}
