/* ========================================
   1025〜1399px PC帯 共通調整
   ======================================== */
@media screen and (max-width: 1399px) {
  /* l-inner */
  .l-inner {
    max-width: max(93%, 960px);
    padding-inline: 28px;
  }

  /* ヘッダー内余白 */
  .l-header__bar,
  .-parallel-bottom .l-header__inner {
    padding-inline: clamp(20px, 3vw, 40px);
  }

  /* ヘッダーナビ ホバーライン: styles.css の .menu-item::after に集約済み（2026-04-19） */

  /* CTAセクション：横パディング確保 */
  .c-cta-section {
    padding-left: 32px;
    padding-right: 32px;
  }

  /* CTAボタン：2列wrap */
  .cta-buttons {
    flex-wrap: wrap;
    align-items: center;
    gap: 5.2rem 2rem;
    /* max-width: 760px; */
    /* margin: 0 auto; */
  }
  .cta-btn {
    width: calc(50% - 1rem);
    max-width: 480px;
    margin: 0 auto;
  }

  /* フッターナビ：wrap許容 */
  .site-footer-nav {
    flex-wrap: wrap;
    gap: 24px 40px;
  }
  .l-footer .has-white-color .swl-fz {
    font-size: 1.4rem !important;
  }

  /* サイドCTA（PC帯 ≤1399px）: 画面幅に応じて padding-inline と font-size を連動（1024→1400px で 内寸42→56px） */
  .side-btn__link--contact,
  .side-btn__link--line {
    padding: 1rem clamp(1.3rem, 1.86vw - 0.6rem, 2rem);
  }
  .side-btn__text {
    font-size: clamp(1.4rem, 0.5vw + 0.9rem, 1.6rem);
    letter-spacing: 0.05em;
  }

  /* セクション見出し（PC帯 ≤1399px: ~90%） */
  .c-section-header-ja {
    font-size: 4.4rem; /* PC 4.8rem × ~90% */
  }
  .p-mv-merits .c-section-header-ja {
    font-size: 4.3rem;
    line-height: 5rem;
  }
  .c-section-note {
    font-size: 1.4rem;
  }
  .c-section-header__en,
  .p-reason-heading__en {
    font-size: 1.6rem; /* PC 1.8rem × ~90% */
  }
  .c-deco-heading__text {
    font-size: 3.6rem; /* PC 4rem × 90% */
  }
  .c-deco-heading__sub {
    font-size: 3.4rem;
  }
  .c-deco-heading__emphasis {
    font-size: 4.2rem;
  }

  /* ===== ご利用の流れ ===== */
  .p-wv-flow__step-num {
    width: 12rem;
  }
  .p-wv-flow__step-num-label {
    font-size: 1.4rem;
    line-height: 3.6rem;
  }
  .p-wv-flow__step-num-val {
    font-size: 4rem;
    line-height: 3.6rem;
  }
  .p-wv-flow__step-body {
    padding: 2rem 3.6rem;
    min-height: 17.6rem;
  }
  .p-wv-flow__step-title {
    font-size: 2rem;
  }
  .p-wv-flow__arrow-row {
    position: relative;
    z-index: 1;
    margin-bottom: -2rem;
  }
  .p-wv-flow__step-arrow {
    width: 12rem;
    height: 1.6rem;
  }

  /* ===== セクション見出し共通（PC帯 ≤1399px: ~90%） ===== */
  .c-section-header {
    gap: 3.6rem; /* PC 4rem × 90% */
  }
  .c-section-header__sub,
  .p-reason-heading__sub {
    gap: 3.6rem; /* PC 4rem × 90% */
  }
  .c-section-header__line,
  .p-reason-heading__line {
    width: 8rem; /* PC 9rem × ~90% */
  }

  /* ===== c-deco-heading ===== */
  .c-deco-heading {
    gap: 1.8rem;
  }
  .c-deco-heading__text--large {
    font-size: 4.5rem; /* PC 5rem × 90% */
  }

  /* ===== FAQ ===== */
  .p-faq-fv__title {
    font-size: 3.8rem;
  }
  .p-faq-qa__question {
    font-size: 2.4rem;
  }
  .p-faq-qa__answer {
    font-size: 1.8rem;
  }
  .p-faq-qa__q-row {
    gap: 3.6rem;
    padding: 0 1.8rem;
  }
  .p-faq-qa__a-row {
    gap: 3.6rem;
    padding: 1.8rem;
    min-height: 10.8rem;
  }
  .p-faq-qa__toggle {
    font-size: 2.4rem;
  }

  /* ===== FAQアコーディオン共通（p-faq-item） ===== */
  .p-faq-item__question {
    gap: 3rem;
    padding: 0 1.6rem;
    min-height: 10rem;
  }
  .p-faq-item__q-icon,
  .p-faq-item__a-icon {
    width: 4rem;
    height: 4rem;
  }
  .p-faq-item__icon-label {
    font-size: 2.2rem;
  }
  .p-faq-item__question-text {
    font-size: 2.2rem;
  }
  .p-faq-item__toggle {
    width: 2.2rem;
    height: 2.2rem;
  }
  .p-faq-item__answer-inner {
    gap: 3rem;
    padding: 0 1.6rem 3.2rem;
  }
  .p-faq-item__answer-text {
    font-size: 1.8rem;
  }

  /* ===== お客様の声 ===== */
  .p-voice-fv {
    padding: 8.4rem 0;
  }
  .p-voice-fv__title {
    font-size: 3.8rem;
  }
  .p-voice-cards {
    gap: 6.2rem 5.2rem;
  }
  .p-voice-card__body {
    gap: 1.6rem;
  }
  .p-voice-card__title {
    font-size: 1.8rem;
  }
  .p-voice-card__name {
    font-size: 1.8rem;
  }

  /* ===== 業種一覧 ===== */
  .p-wv-coverage__lead {
    font-size: 1.8rem;
  }
  .p-wv-coverage__label {
    font-size: 1.8rem;
  }
  .p-wv-coverage__jobs {
    font-size: 1.8rem;
    gap: 0.4rem 1.6rem;
  }

  /* 代表挨拶見出し: l-inner狭まりに合わせて縮小（4行折返し回避） */
  .p-about-greeting__heading {
    font-size: 2.4rem;
  }

  /* 事務所概要テーブル: dd幅を確保（dd末尾の1文字折返し回避） */
  .p-about-overview__row {
    gap: 6rem;
    padding: 4rem 3rem;
    font-size: 2rem;
  }
  .p-about-overview__dt {
    width: 22rem;
    font-size: 1.8rem;
  }
  .p-about-overview__dd {
    font-size: 1.8rem;
  }

  /* お悩みセクション: 中間幅でも横並びを縦積みに切替（align-items: center は default 継承） */
  .top-problem__body {
    flex-direction: column;
    gap: 32px;
  }
  /* listに固定幅を持たせて grid auto-fit を機能させる（中央偏り回避） */
  .top-problem__list {
    width: 960px;
  }

  /* 実績・事例リスト: 中間幅でも2列表示（PC帯1399px以下に拡張） */
  .top-case__item {
    flex: 0 0 calc(50% - 15px);
  }

  /* お客様の声リスト: 中間幅でも2列表示（PC帯1399px以下に拡張） */
  .c-voice-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* ビザ種別カードアイテム: 中間幅で文字グラデーション無効化＋tablet帯と同じ font-size に揃える */
  .p-wv-visa-types__card-item,
  .p-wv-visa-types__card-item--block {
    font-size: 1.6rem;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    -webkit-text-fill-color: currentColor;
  }
}

/* ========================================
   1024px以下：PC帯スタイルのリセット
   ======================================== */
@media screen and (max-width: 1023px) {
  .l-header__bar,
  .-parallel-bottom .l-header__inner {
    padding-inline: initial;
  }
  .c-cta-section {
    padding-left: initial;
    padding-right: initial;
  }
  .cta-btn {
    min-width: initial;
    width: initial;
    max-width: initial;
    margin: initial;
  }
  .l-footer .has-white-color .swl-fz {
    font-size: initial !important;
  }
}

/* PC以下 */
@media (max-width: 1400px) {
  /*************************** 01. 枠組共通 ***********************/
  .section {
    padding-top: 6rem;
    padding-bottom: 9.9rem;
  }

  /*************************** 02. header（ヘッダー） ***********************/
  .l-header {
    padding-left: 10px;
    padding-right: 10px;
  }
  .c-gnav > .menu-item:after {
    display: none;
  }
  .-series .l-header__inner {
    width: 100%;
  }
  .-series-right .l-header__inner {
    padding-left: 1%;
    padding-right: 1%;
  }
  .-series .l-header__logo {
    margin-right: auto;
  }
  /*************************** 03. 共通パーツ ***********************/
  .c-service-list {
    gap: 4rem;
  }
  /* c-case-card */
  .c-case-card {
    gap: 18px;
  }
  .c-case-card__body {
    gap: 1.8rem;
  }

  /*************************** 04. breadcrumb（パンくず） ***********************/
  /*************************** 05. aside（サイドバー） ***********************/
  /*************************** 06. footer（フッター） ***********************/
}

/* ========================================
   〜1439px ユーティリティ
   ======================================== */
@media screen and (max-width: 1439px) {
  .u-below-1440 {
    display: block;
  }
}
