/* ========================================
   1025〜1399px PC中間帯
   ======================================== */
@media screen and (max-width: 1399px) {
  /* ===== MV ===== */
  .top-mv {
    min-height: 580px;
  }
  .top-mv__inner {
    padding: 60px clamp(32px, 5vw, 80px) 80px;
  }
  .top-mv__catch {
    font-size: 5rem;
  }
  .top-mv__catch-emphasis {
    font-size: 6rem;
  }
  .top-mv__sub {
    text-align: center;
  }
  .top-mv__btns-area {
    margin-top: 6rem;
  }

  /* ===== バッジ：縦並びのままサイズ縮小 ===== */
  .top-mv__badges {
    gap: 1.6rem;
  }
  .top-mv__badge-deco {
    width: 34px;
    height: 80px;
  }
  .top-mv__badge-text {
    font-size: 2.2rem;
  }
  .top-mv__badge-text-emphasis {
    font-size: 3rem;
  }
  section.top-answer::before {
    top: 0rem;
  }
  .top-answer__deco--right {
    bottom: -6rem;
    right: -14rem;
  }
  .top-answer__deco--left {
    top: -16rem;
    left: -9rem;
  }
  /* ===== 選ばれる理由 / 強み：グリッド幅縮小対応 ===== */
  /* 1025〜1200px では 4列 2+2+1 に切り替え */
  .top-reason__list,
  .top-strengths__list {
    padding-bottom: 60px;
  }

  /* ===== サービスカード ===== */
  .c-service-card__img-wrap {
    flex: 0 0 38%;
  }
  .c-card-heading__num {
    font-size: 5rem;
  }
  .c-card-heading__ja {
    font-size: 2.4rem;
  }
  .c-service-card__desc {
    font-size: 1.6rem;
  }

  /* ===== お悩みセクション gap 縮小 ===== */
  .top-problem__inner {
    gap: 6.9rem;
  }

  /* ===== お客様の声：支援事例と列数を揃えて3列 ===== */
  .c-voice-list {
    grid-template-columns: repeat(3, 1fr);
  }
  /* お客様の声アバター：1025px〜1399px帯で縮小して名前が改行しないように */
  .c-voice-card__avatar {
    width: 110px;
    height: 110px;
  }

  /* ===== 資料DL：固定幅を可変に ===== */
  .top-dl-cta__content {
    flex: 0 0 min(609px, 55%);
  }
  .top-dl-cta__image {
    flex: 1;
    min-width: 200px;
  }
  .top-dl-cta__title {
    font-size: 2.8rem;
  }

  /* ===== セクション見出し ===== */
  .section-header__ja {
    font-size: 3.4rem;
  }
  .c-heading-main {
    font-size: 4rem;
  }
  .c-heading-sub {
    font-size: 2.2rem;
  }

  /* ===== 取扱業務 導入文（PC帯 ≤1399px: ~90%） ===== */
  .p-service-intro {
    font-size: 2rem; /* PC 2.2rem × 90% */
  }
  .p-service-intro br {
    display: none;
  }

  /* リンクの線を短縮してテキスト改行を回避 */
  .p-service-item__link-line {
    width: 8rem;
  }

  /* ===== 選ばれる理由（PC帯 ≤1399px: ~90%） ===== */
  .p-reason-heading__main {
    font-size: 4.4rem; /* PC 4.8rem × 90% */
  }
  .p-reason-list {
    gap: 7.2rem; /* PC 8rem × 90% */
  }
  .p-reason-item__number {
    font-size: 5.4rem; /* PC 6rem × 90% */
  }
  .p-reason-item__title {
    font-size: 2.6rem; /* PC 2.8rem × 90% */
  }

  /* reason-item: 1440pxのテキスト:写真バランス再現（gap縮小・テキスト幅をflex化） */
  .p-reason-item__body {
    gap: 3.6rem;
  }
  .p-reason-item__text {
    flex: 0 1 60rem;
    width: auto;
  }

  /* ===== ニュース行 ===== */
  .top-news__row {
    flex-direction: row;
    align-items: baseline;
  }

  /* ===== work-visa FV ===== */
  .p-wv-fv {
    padding: 5.4rem 0 7.2rem;
  }
  .p-wv-fv__title {
    font-size: 4.6rem;
  }
  .p-wv-fv__desc {
    font-size: 1.6rem;
  }
  .p-wv-fv__cta-btn {
    padding: 1.4rem 2.8rem;
  }
  .p-wv-fv__cta-label strong {
    font-size: 1.8rem;
  }

  /* ===== work-visa お悩み ===== */
  .p-wv-problems__inner {
    gap: 7rem;
  }
  .p-wv-problems__body {
    gap: 3.8rem;
  }
  .p-wv-problems__strip-text {
    font-size: 2.2rem;
  }

  /* ===== work-visa サービス詳細 ===== */
  .p-wv-detail__strengths-header {
    gap: 3.6rem;
  }
  .p-wv-detail__strengths-sub {
    font-size: 2.2rem;
  }
  .p-wv-detail__strengths-title {
    font-size: 4.4rem;
  }
  .p-wv-detail__body {
    gap: 5rem;
  }
  .p-wv-detail__lead {
    font-size: 1.8rem;
  }
  .p-wv-detail__desc {
    font-size: 1.6rem;
  }
  .p-wv-detail__points {
    gap: 5.4rem;
    margin-top: 5.8rem;
  }
  .p-wv-detail__point-img-wrap {
    height: 260px;
  }
  .p-wv-detail__point-body {
    padding: 5.2rem 1.7rem 2.2rem 3.7rem;
    gap: 1.2rem;
  }
  .p-wv-detail__point-title {
    font-size: 2rem;
  }
  .p-wv-detail__point-num {
    font-size: 3.2rem;
  }

  /* ===== work-visa キャッチ ===== */
  .p-wv-catch {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .p-wv-catch__text {
    font-size: 3.6rem;
    padding-inline: 6rem;
  }

  /* ===== work-visa 3つのメリット ===== */
  .p-wv-merits {
    padding-top: 8.5rem;
    padding-bottom: 10rem;
  }
  .p-wv-merits__grid {
    gap: 5.4rem;
  }
  .p-wv-merits__item {
    padding: 3.6rem 3.3rem 4rem;
  }
  .p-wv-merits__num {
    font-size: 5.8rem;
  }
  .p-wv-merits__num-large {
    font-size: 5.4rem;
  }
  .p-wv-merits__title {
    font-size: 2rem;
  }
  .p-wv-merits__text {
    font-size: 1.6rem;
  }

  /* ===== work-visa 料金 ===== */
  .p-wv-price {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .p-wv-price__block-title {
    font-size: 2rem;
  }
  .p-wv-price__block-links {
    gap: 4rem;
  }

  /* ===== work-visa 対応ビザ種別（1024〜1399pxは tablet表示と同じにする暫定対応） ===== */
  .p-wv-visa-types {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .p-wv-visa-types__card-list {
    align-items: flex-start;
  }
  .p-wv-visa-types__card-list--row {
    flex-direction: column;
    gap: 0.8rem;
  }
  .p-wv-visa-types__card-row {
    flex-direction: column;
    gap: 0.6rem;
    align-items: flex-start;
  }
  .p-wv-visa-types__lead {
    font-size: 1.8rem;
  }
  .p-wv-visa-types__grid {
    column-gap: 3rem;
    margin-top: 7.2rem;
  }
  .p-wv-visa-types__card-body {
    padding: 2.2rem 1.1rem;
  }
  .p-wv-visa-types__card-title {
    font-size: 1.5rem;
  }
  .p-wv-visa-types__cta-text {
    font-size: 1.6rem;
  }
  .p-wv-visa-types__cta-btn {
    min-width: 25rem;
    min-height: 5.4rem;
  }
  .p-wv-visa-types__card-head {
    padding: 0.8rem 1.2rem;
  }

  /* ===== work-visa 対応業種（coverage 補完） ===== */
  .p-wv-coverage__inner {
    gap: 7.5rem;
  }
  .p-wv-coverage__row {
    gap: 4rem;
  }
  .p-wv-coverage__label {
    width: 16.2rem;
    min-height: 5.4rem;
    font-size: 2rem;
  }
  .p-wv-coverage__jobs {
    font-size: 2rem;
    gap: 0.4rem 1.5rem;
  }
  .p-wv-coverage__lead {
    margin-top: 0;
    font-size: 2rem;
  }

  /* ===== work-visa FAQ ===== */
  .p-wv-faq__link-wrap {
    margin-top: 3.6rem;
  }

  /* ===== work-visa サービスナビ ===== */
  .p-wv-nav {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .p-wv-nav__card {
    padding: 2.5rem 1.4rem 2.2rem;
  }
  .p-wv-nav__icon {
    width: 4.3rem;
    height: 4.3rem;
  }

  /* ===== 料金ページ共通（p-price-） ===== */
  .p-price-anchor-nav {
    padding-top: 10rem;
    padding-bottom: 7.5rem;
  }
  .p-price-notice__btn--estimate::after {
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-price-anchor-nav__list {
    gap: 3rem 5.4rem;
  }
  .p-price-anchor-nav__link {
    width: 324px;
  }
  .p-price-notice {
    padding-top: 7.5rem;
  }
  .p-price-notice__text {
    font-size: 2.3rem;
  }
  .p-price-notice__btn {
    width: 32.4rem;
    height: 11.5rem;
  }
  .p-price-notice__btn--estimate {
    font-size: 2rem;
  }
  .p-price-notice__tel-number {
    font-size: 2.2rem;
  }
  .p-price-cat {
    padding-block: 7.5rem;
  }
  .p-price-cat__subsection-list {
    gap: 7.5rem;
  }

  /* ===== 料金ページ縮小（≤1399px・4ファイルセット補完） ===== */
  /* ※ font-size は --fz-* の clamp で自動縮小される要素を除き、explicit 値のみ調整 */
  .p-price-cat__heading {
    margin-top: 3.6rem; /* 4rem × 90% */
  }
  .p-price-cat__inner {
    gap: 5.4rem; /* 6rem × 90% */
  }
  .p-price-cat__desc {
    font-size: 2rem;
  }
  .p-price-subsection__title {
    font-size: 2.1rem; /* clamp上限目安 × 90% */
    padding-left: 1.4rem;
  }
  .p-price-subsection__links {
    gap: 1.4rem;
  }
  .p-price-subsection__note {
    margin-top: 0;
  }
  .p-price-subsection {
    gap: 1.8rem;
  }
  .p-price-table thead th {
    padding: 0.9rem 1.4rem;
  }
  .p-price-table tbody :is(td, th) {
    padding: 1.2rem 1.4rem;
  }
  .p-price-table tbody :is(td, th):last-child {
    padding-inline: 2.6rem;
  }
  .p-price-table--center-last tbody td:last-child {
    padding-inline: 1.4rem;
  }
  .p-price-table--two-col tbody td:last-child {
    padding-inline: 1.4rem;
  }
  /* .p-price-td--amount は var(--fz-h3) clamp で自動縮小 */
  .p-price-page-link {
    padding: 1.05rem 2.1rem;
    gap: 0.5rem;
  }

  /* ===== お問合せセクション 余白縮小（PC帯 90%） ===== */
  .p-contact {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
  }

  /* ===== お問合せ 電話CTA：フォント縮小 ===== */
  .p-contact__phone-cta .cta-btn-label {
    font-size: 2rem;
  }
  .p-contact__phone-cta .cta-btn-number {
    font-size: 3.2rem;
  }
  .p-contact__phone-cta .cta-btn-hours {
    font-size: 1.4rem;
  }

  /* ========== お客様の声ページ ========== */
  .p-voice-cards {
    gap: 7rem 5.8rem;
  }
  .p-voice-card__body {
    padding: 4.3rem 4.5rem;
  }
  .p-voice-card__title {
    font-size: 2rem;
  }
  .p-voice-card__name {
    font-size: 2rem;
  }
}

/* ========================================
   1025〜1200px さらに狭い PC帯
   ======================================== */
@media screen and (max-width: 1200px) {
  /* MV：テキストさらに縮小 */
  .top-mv__catch {
    font-size: 4.4rem;
  }
  .top-mv__catch-emphasis {
    font-size: 5.4rem;
  }

  /* バッジ：さらに縮小（縦並びはbase継承） */
  .top-mv__badges {
    gap: 1.2rem;
  }
  .top-mv__badge-deco {
    width: 28px;
    height: 68px;
  }
  .top-mv__badge-text {
    font-size: 1.8rem;
  }
  .top-mv__badge-text-emphasis {
    font-size: 2.6rem;
  }

  /* btns-area：幅が狭い場合に縦積み */
  .top-mv__btns-area {
    flex-direction: column-reverse;
    gap: 2.4rem;
  }

  /* 理由・強みグリッド：6列→4列に切り替え（1025pxでは詰まりすぎる） */
  .top-reason__list,
  .top-strengths__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
    padding-bottom: 0;
  }
  /* 上段2枚・下段2枚・5枚目は中央 */
  .top-reason__item:nth-child(1),
  .top-reason__item:nth-child(2),
  .top-reason__item:nth-child(3),
  .top-reason__item:nth-child(4),
  .top-strengths__item:nth-child(1),
  .top-strengths__item:nth-child(2),
  .top-strengths__item:nth-child(3),
  .top-strengths__item:nth-child(4) {
    grid-column: span 2;
  }
  .top-reason__item:nth-child(5),
  .top-strengths__item:nth-child(5) {
    grid-column: 2 / span 2;
  }
  /* 階段状 transform をリセット */
  .top-reason__item:nth-child(n),
  .top-strengths__item:nth-child(n) {
    transform: none;
  }

  /* サービスカード：画像幅を縮小 */
  .c-service-card__img-wrap {
    flex: 0 0 35%;
  }

  /* 資料DL：コンテンツを広げてタイトルの折り返し防止 */
  .top-dl-cta__content {
    flex: 0 0 60%;
  }
  .top-dl-cta__image img {
    max-width: 320px;
  }
}

/* ========================================
   1024px以下：上記PC帯スタイルのリセット
   ======================================== */
@media screen and (max-width: 1023px) {
  .top-mv__catch {
    font-size: initial;
    text-align: center;
  }
  .top-mv__catch-emphasis {
    font-size: initial;
  }
  .top-mv__badges {
    gap: initial;
  }
  .top-mv__badge-deco {
    width: initial;
    height: initial;
  }
  .top-mv__badge-text {
    font-size: initial;
  }
  .top-mv__badge-text-emphasis {
    font-size: initial;
  }
  .top-mv__btns-area {
    flex-direction: initial;
    gap: initial;
  }
  .top-reason__list,
  .top-strengths__list {
    grid-template-columns: initial;
    gap: initial;
    padding-bottom: initial;
  }
  .top-reason__item:nth-child(1),
  .top-reason__item:nth-child(2),
  .top-reason__item:nth-child(3),
  .top-reason__item:nth-child(4),
  .top-strengths__item:nth-child(1),
  .top-strengths__item:nth-child(2),
  .top-strengths__item:nth-child(3),
  .top-strengths__item:nth-child(4) {
    grid-column: initial;
  }
  .top-reason__item:nth-child(5),
  .top-strengths__item:nth-child(5) {
    grid-column: initial;
  }
  .top-reason__item:nth-child(n),
  .top-strengths__item:nth-child(n) {
    transform: initial;
  }
  .c-service-card__img-wrap {
    flex: initial;
  }
  .top-dl-cta__content {
    flex: initial;
  }
  .top-dl-cta__image {
    flex: initial;
  }
  .top-dl-cta__image img {
    max-width: initial;
  }
}

@media screen and (max-width: 1280px) {
  /* 当事務所について */
  .p-about-overview__row {
    padding: 4.1rem 3.6rem;
  }

  /* 資格・登録情報 */
  .p-about-certs__grid {
    margin-top: 4.8rem;
  }

  /* 代表挨拶 */
  .p-about-greeting__body {
    margin-top: 7.5rem;
  }

  /* 事務所概要 */
  .p-about-overview__table {
    margin-top: 7.5rem;
  }

  /* 支援事例一覧 */
  .p-case-archive__grid {
    gap: 7.5rem 2.7rem;
    /* margin-top: 7.5rem; */
  }

  /* 支援事例 個別ページ */
  .p-case-hero__body {
    margin-top: 7.5rem;
  }
  .p-case-hero__title,
  .p-case-related__title {
    font-size: 4.3rem;
  }
  .p-case-archive-pagination {
    margin-top: 5.4rem;
  }
  .p-case-content__btn-wrap {
    margin-top: 7.47rem;
  }
  .p-case-hero {
    padding-block: 10.08rem 0;
  }

  /* 対応エリア inner：縦リズムを縮小 */
  .c-service-area__inner {
    gap: 7.47rem;
  }

  /* ========== お問合せ完了ページ ========== */
  .p-thanks {
    padding-bottom: 10.8rem;
  }
  .p-thanks__inner {
    gap: 5.4rem;
  }
  .p-thanks__title {
    font-size: 4.3rem;
  }
  .p-thanks__desc {
    font-size: 2rem;
  }

  /* ========== 404ページ ========== */
  .p-404-breadcrumb {
    height: 3.8rem;
  }
  .p-404-main {
    padding-block: 9rem 12rem;
  }
  .p-404-main__inner {
    gap: 3.6rem;
  }
  .p-404-main__title {
    font-size: 4.3rem;
  }
  .p-404-main__sub {
    font-size: 2rem;
  }
  .p-404-main__desc {
    font-size: 2rem;
  }

  /* ========== 資料ダウンロードページ ========== */
  .p-download {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem;
  }
}
