/* =========================
   Desktop wide container
   （横幅を固定ではなく max-width にして小画面も破綻防止）
========================= */
@media screen and (min-width:1266px) {
  body {
    max-width: 1266px;
    margin: 0 auto !important;
    padding-left: 0;
    padding-right: 0;
  }
}

/* =========================
   Mobile (～898px)
========================= */
@media screen and (max-width:898px) {

  /* PC/SP 切替（style.css との整合：ここでは強制上書き） */
  .pc { display: none !important; }
  .mb { display: block !important; }

  /* お問い合わせエリアの背景・フォームカード化 */
  .contact-area {
    width: 100% !important;
    background-color: #ffc414 !important; /* brand */
  }
  .hp-form {
    width: 94% !important;
    margin: 0 auto !important;
    background-color: #fff !important;
  }

  /* テーブルフォームの可読性 */
  .trtr {
    width: 100% !important;
    display: block !important;
    padding: 1rem !important;
  }
  .thth,
  .thth2 p {
    width: 100% !important;
    margin-bottom: 0.5rem !important; /* ← 全角スペース混入を修正 */
  }
  .thth2 {
    display: block !important;
    padding-bottom: 3rem !important;
  }
  .hp-form-btn input {
    width: 90% !important;
    padding: 2rem 0 !important;
    margin-top: 1rem !important;
    margin-left: 0 !important;
    font-size: 1.5rem !important;
  }

  /* 会社情報（NAP） */
  #company {
    padding-bottom: 8rem !important; /* 下部固定ボタン分の余白 */
  }
  #company table {
    width: 92% !important;         /* 80%→余白広げつつ中央寄せ */
    margin: 0 auto !important;     /* margin:initial をやめて中央寄せに */
    min-width: 0 !important;
  }
  #company tr {
    display: block !important;
    width: 100% !important;
  }
  #company th {
    padding-top: 1rem !important;
    width: 100% !important;
    display: block !important;
    margin-bottom: 0.4rem !important;
  }
  #company td {
    width: 100% !important;
    display: block !important;
  }

  /* SP固定の2ボタン */
  .flex-btn {
    position: fixed;
    left: 0; right: 0;
    bottom: 0;
    width: 100%;
    z-index: 1000;
  }

  /* ポップアップ（XS端末でのはみ出し防止） */
  .onetime_popup_title::before,
  .onetime_popup_title::after {
    top: 2rem !important;
    right: 1.5rem !important; /* 4rem→狭小端末での余白調整 */
  }
  .onetime_popup {
    width: 92% !important;    /* min-width指定を避け、画面幅に追従 */
    min-width: 0 !important;  /* 420px固定は外して小端末OKに */
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
  .onetime_popup_title {
    padding: 0 !important;
  }
  .onetime_popup_title h2 {
    font-size: 1.2rem !important;
    line-height: 2rem !important;
    margin-bottom: 1.25rem !important;
    padding-top: 2.5rem !important; /* 3rem→ややコンパクトに */
  }
  .onetime_popup_title p,
  .onetime_popup_title dl {
    width: 86% !important;   /* 75%→読みやすく */
    margin-left: auto !important;
    margin-right: auto !important;
  }
.cta-in, .cta-in2 {
    width: 100% !important;
    padding-top: 0rem !important;
}
.contact-section {
    width: 94% !important;
    margin: auto !important;
}
}
