/* Next100億円Company LP — global styles */
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#FAFBFD;}
  a{color:#0F9DB8;}
  a:hover{color:#1EC2DE;}
  input,textarea,select{font-family:'Noto Sans JP',sans-serif;}
  details summary{list-style:none;cursor:pointer;}
  details summary::-webkit-details-marker{display:none;}
  details[open] .faq-icon{transform:rotate(45deg);}
  details[open] .faq-q{color:#0F9DB8;}
  details[open] .faq-a{animation:faqIn .5s cubic-bezier(.22,1,.36,1);}
  @keyframes faqIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
  @keyframes ticker{from{transform:translateX(0);}to{transform:translateX(calc(-1 * var(--ticker-step,50%)));}}
  @media (prefers-reduced-motion: reduce){[data-ticker]{animation:none !important;}}
  .nav-link{transition:color .2s ease;}
  .nav-link:hover{color:#1EC2DE !important;}
  .hlink{transition:color .2s ease;}
  .hlink:hover{color:#04082E !important;}
  .tlink{transition:color .2s ease;}
  .tlink:hover{color:#1EC2DE !important;}
  .cta-btn{transition:transform .25s ease,box-shadow .25s ease;}
  .cta-btn:hover{transform:translateY(-2px);}
  .cta-dark:hover{box-shadow:0 18px 34px -14px rgba(4,8,46,.55);}
  .cta-cyan:hover{box-shadow:0 18px 34px -14px rgba(30,194,222,.55);}
  .cta-light:hover{box-shadow:0 14px 30px -10px rgba(30,194,222,.5);}
  .hlink2{transition:color .2s ease;}
  .hlink2:hover{color:#0F9DB8 !important;}
  input:focus,textarea:focus,select:focus{outline:none;border-color:#1EC2DE !important;box-shadow:0 0 0 3px rgba(30,194,222,.14);}
  .arrow-line::after{content:'';position:absolute;right:-1px;top:50%;margin-top:-4.5px;width:0;height:0;border-left:7px solid #1EC2DE;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;}
  /* --- お問い合わせフォーム: バリデーション表示 --- */
  .field .err{display:none;}
  .field.invalid .err{display:block;}
  .field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#E0556B !important;box-shadow:0 0 0 3px rgba(224,85,107,.14);}
  #contactForm button[type="submit"]:disabled{opacity:.6;cursor:default;transform:none;}
  /* イチサンフォームの候補リストをLPの配色に合わせる */
  .ichisanForm-list,.ichisan-form-list,ul.ichisanForm-suggest{z-index:60;}

/* ============================================================
   レスポンシブ対応（クラスベース／JS再シリアライズ耐性あり）
   ※PCは不変、狭幅のみ上書き。r-* クラスは index.html に付与済み。
   ============================================================ */
  html,body{overflow-x:clip;}
  img{max-width:100%;}

/* ===== ヘッダー コンデンス（全幅共通・0.3s）===== */
  [data-header]{transition:box-shadow .3s ease,background .3s ease !important;}
  .r-head{transition:padding .3s ease;}
  .r-logo > div{transition:font-size .3s ease,margin-top .3s ease,opacity .3s ease;}
  /* スクロール時: ヘッダー縦幅・ロゴを縮小（PC 〜60px目安）、アクセント下線を薄く畳む */
  header.is-scrolled .r-head{padding-top:5px !important;padding-bottom:5px !important;}
  header.is-scrolled .r-logo > div{font-size:13px !important;}
  header.is-scrolled .r-logo > div:last-child{opacity:.4 !important;margin-top:4px !important;}
  header.is-scrolled{background:rgba(4,8,46,.92) !important;}

/* ===== タブレット・大型スマホ（〜900px）===== */
@media (max-width:900px){
  .r-fixw{width:auto !important;}
  .r-sec{padding-left:22px !important;padding-right:22px !important;padding-top:60px !important;padding-bottom:56px !important;}
  .r-label{grid-template-columns:1fr !important;gap:10px !important;}
  .r-two{grid-template-columns:1fr !important;gap:32px !important;}
  .r-gap{gap:32px !important;}
  .r-mb{margin-bottom:32px !important;margin-top:0 !important;}
  .r-h1{font-size:31px !important;}
  .r-num{font-size:37px !important;}
  .r-h2{font-size:27px !important;line-height:1.45 !important;}
  .r-h3{font-size:25px !important;}
  .r-deco{font-size:140px !important;}
}

/* ===== スマートフォン（〜600px）===== */
@media (max-width:600px){
  header nav .nav-link{display:none !important;}
  header nav{gap:0 !important;}

  /* ヘッダー: 3行ロゴのまま。スマホはスクロール時さらにコンパクトに（〜52px目安） */
  .r-head{padding:11px 18px !important;}
  header.is-scrolled .r-head{padding-top:3px !important;padding-bottom:3px !important;}
  header.is-scrolled .r-logo > div{font-size:12px !important;}

  .r-sec{padding-left:18px !important;padding-right:18px !important;padding-top:46px !important;padding-bottom:44px !important;}
  .r-gap{gap:26px !important;}
  .r-mb{margin-bottom:26px !important;}
  .r-h1{font-size:27px !important;line-height:1.4 !important;}
  .r-num{font-size:32px !important;}
  .r-h2{font-size:23px !important;}
  .r-h3{font-size:22px !important;}
  .r-deco{display:none !important;}          /* 装飾巨大数字は非表示 */

  /* 実績4項目: 2×2で各セルを均等化＋十字の区切り線 */
  .r-g4{grid-template-columns:1fr 1fr !important;}
  .r-g4 > div{border-right:none !important;padding:24px 14px 22px !important;min-width:0 !important;}
  .r-g4 > div:nth-child(odd){border-right:1px solid rgba(142,151,194,.16) !important;}
  .r-g4 > div:nth-child(n+3){border-top:1px solid rgba(142,151,194,.16) !important;}
  /* 「約109億＋バッジ」は縦積みにして横幅を抑え、列幅を均等に保つ */
  .r-g4 > div > div{flex-direction:column !important;align-items:flex-start !important;gap:8px !important;}
  .r-g3{grid-template-columns:1fr !important;gap:24px 0 !important;}
  .r-g2,.form-grid{grid-template-columns:1fr !important;gap:16px !important;}

  /* ヒーロー最適化 */
  .r-hero-img{width:100% !important;}
  .r-hero-scrim{background:linear-gradient(180deg,rgba(4,8,46,.62) 0%,rgba(4,8,46,.82) 60%,rgba(4,8,46,.9) 100%) !important;}
  .r-hero-grid{width:100% !important;-webkit-mask-image:none !important;mask-image:none !important;}
  .r-hero-wrap{min-height:auto !important;}
}
