/* =======================================================
   2026年 レスポンシブ＆ハンバーガーメニュー追加
======================================================= */
/* スマホ用改行 */
.sp-br {
  display: none;
}
body {
  overflow-x: hidden;
}

/* PC表示の時はスマホ用要素を完全に隠す（ダダ漏れ防止） */
.sp-menu-btn,
.sp-nav-wrap {
  display: none;
}

@media screen and (max-width: 1000px) {
  /* 固定幅リセット */
  .pc-br {
    display: none !important;
  }
  .sp-br {
    display: inline !important;
  }
  body {
    min-width: 100% !important;
  }

  #wrapper,
  #main,
  #gHeader .hdInfo,
  #gHeader #gNav .listLink,
  #mainArea .mainImg,
  #gFooter .gFooterIn,
  #gFooter .linkArea .link,
  #home #support,
  #home #characteristic .sectionCharacteristicIn,
  #home #inheritance,
  #home #flow .inner,
  #home #choices,
  #home #purchaseGuideline,
  #home #faq .sectionFaqIn,
  #home #column,
  #home #sns,
  #home #voice,
  #home #information,
  #home #area .sectionAreaIn,
  #home #linkOuter {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* -------------------------------------
     ハンバーガーメニューの調整
  -------------------------------------- */
  /* PC用メニューを隠す */
  #gHeader .hdInfo .contact,
  #gHeader #gNav {
    display: none !important;
  }

  /* ヘッダー周り（ロゴ含む）の調整 */
  #gHeader {
    position: relative;
  }
  #gHeader .hdInfo {
    position: relative;
    padding: 15px !important;
    align-items: center;
  }
  #gHeader .hdInfo .areaTxt {
    width: 80% !important;
  }
  #gHeader .hdInfo .logo img {
    width: 100% !important;
    max-width: 360px; /* PCと同じ最大幅を維持 */
  }

  /* ハンバーガーボタンを表示 */
  .sp-menu-btn {
    display: block !important;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    cursor: pointer;
    z-index: 1000;
    background: #3268cc;
    border-radius: 4px;
  }
  .sp-menu-btn span {
    position: absolute;
    left: 8px;
    width: 28px;
    height: 2px;
    background: #fff;
    transition: all 0.3s ease;
  }
  .sp-menu-btn span:nth-child(1) {
    top: 12px;
  }
  .sp-menu-btn span:nth-child(2) {
    top: 21px;
  }
  .sp-menu-btn span:nth-child(3) {
    top: 30px;
  }
  .sp-menu-btn.open span:nth-child(1) {
    top: 21px;
    transform: rotate(45deg);
  }
  .sp-menu-btn.open span:nth-child(2) {
    opacity: 0;
  }
  .sp-menu-btn.open span:nth-child(3) {
    top: 21px;
    transform: rotate(-45deg);
  }

  /* スマホメニュー展開枠（上からスライド） */
  .sp-nav-wrap {
    background: #fff;
    border-top: 2px solid #3268cc;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
  }
  .sp-contact {
    display: flex;
    flex-direction: column;
    padding: 20px 15px;
    gap: 10px;
    background: #f7f7f7;
    margin-top: 20px;
  }
  .sp-contact li {
    width: 100%;
    text-align: center;
  }
  .sp-contact li img {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .sp-gNav .listLink {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  .sp-gNav .listLink li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid #eee;
    border-left: none !important;
  }
  .sp-gNav .listLink li:before,
  .sp-gNav .listLink li:after {
    display: none !important;
  }
  .sp-gNav .listLink li a {
    display: block;
    padding: 15px 20px !important;
    color: #333 !important;
    text-align: left !important;
    position: relative;
  }
  .sp-gNav .listLink li a::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: 2px solid #3268cc;
    border-right: 2px solid #3268cc;
  }
}

/* 画面幅が1001px以上（PC）の時だけ、強制的に隠す（ダダ漏れ防止） */
@media screen and (min-width: 1001px) {
  .sp-menu-btn,
  .sp-nav-wrap {
    display: none !important;
  }
}
