@media screen and (max-width: 1023px) {
  /*************************** 01. 固定ページのh1,h2見出し *******************/
  /*************************** 02. toppage ***********************/
  .mv-inner {
    flex-direction: column-reverse;
  }
  .mv-text {
    width: 100%;
    max-width: initial;
  }
  .mv-img {
    display: none;
    width: 90%;
  }
  .mv-img-sp {
    display: block;
    width: 86%;
  }
  .mv-inner:after {
    top: 30%;
  }
  .copy-01 {
    font-size: 30px;
  }
  .copy-02 {
    margin-bottom: 0;
    font-size: 3.8rem;
  }
  .top-01 p {
    font-size: 2rem;
  }
  .top-01 p strong {
    font-size: 3.4rem;
  }
  .top-02 h1 span.gra {
    font-size: 3.2rem;
  }
  #top h1 {
    font-size: 4rem;
  }
  .top-02 h1 span.birdy {
    font-size: 6rem;
  }
  .top-02 p {
    font-size: 1.8rem;
  }
  .top h2.ttl01 {
    font-size: 3rem;
  }
  .top h2.ttl01 span {
    font-size: 4.6rem;
  }
  .cta-box {
    padding: 40px 20px;
  }
  .cta-box-consulting-btn .copy {
    font-size: 32px;
  }
  .cta-box-toriya {
    width: 212px;
    top: -272px;
  }
  .top-04-box {
    justify-content: center;
  }
  .top-04-box li {
    width: 48%;
    max-width: 300px;
  }
  .top-06-box-item-inner h3 {
    font-size: 2rem;
  }
  .top-08-box {
    padding: 3rem;
  }
  .top-08-img {
    width: 40%;
    transform: initial;
  }
  .top-08-name {
    width: 50%;
  }
  .top-08-copy {
    margin-left: auto;
    text-align: center;
    width: 100%;
    padding: 5rem 0;
  }
  /*************************** 03. form  ***********************/
  /*************************** 04. 下層ページ  ***********************/
  .prefecture {
    padding-bottom: 50px;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: inherit;
  }
  .area-fv-left {
    width: 100%;
  }
  .area-fv-right {
    width: 100%;
  }
  .area-fv-left .text02 strong {
    width: max-content;
    text-align: left;
    font-size: 42px;
  }
  .area-fv-right-point li {
    width: 23%;
  }
  .flex-container-two > .area-fv-btn {
    width: 100%;
    margin-bottom: 6px;
  }
  .area-fv-btn.download {
    margin-top: 20px;
  }
  .area-fv-right-point li {
    font-size: 13px;
  }
  .area-fv-left .text03 {
    margin-bottom: 20px;
  }
  .area-fv-btn a {
    padding: 16px 30px;
  }
  .area-logo-list li {
    width: 33%;
  }
  h1 {
    font-size: 28px;
  }
  h1 span.gra {
    text-align: left;
    font-size: 22px;
    transform: initial;
  }
  h1 span.area-name {
    font-size: 22px;
  }
  h1 span.area-name {
    margin-bottom: 4px;
  }
  h1 span.birdy {
    font-size: 48px;
    line-height: 1;
  }
  h2.ttl01 {
    font-size: 24px;
    text-align: left;
    padding-left: 10px;
  }
  h2.ttl01.center {
    text-align: center;
  }
  ul.sixColumns li {
    width: 23%;
  }
  .area-support-box {
    margin-top: 10px !important;
  }
  .area-support-box li {
    font-size: 14px;
  }
  .area-local-container {
    margin-top: 30px;
  }
  .area-local-container-inner p strong {
    font-size: 20px;
  }
  .area-local-container-inner p {
    font-size: 16px;
    margin-top: 0;
  }
  .area-local-container-inner {
    padding-bottom: 124px;
    padding-left: 20px;
  }
  .area-local-container-inner:after {
    width: 224px;
    height: 246px;
  }
  .area-local-container-inner .text02 {
    width: 64%;
  }
  .area-local h3 {
    margin-top: 0;
  }
  .city-list {
    padding: 14px;
    gap: 6px;
  }
  .city-list li {
    font-size: 14px;
  }
  .city-list li a {
    font-size: 14px;
    padding: 5px;
  }
  .area-local h3 {
    font-size: 22px;
  }
  .area-achievement-box {
    width: 100%;
    padding-bottom: 30px;
  }
  .area-achievement-box h3 {
    width: 100%;
    font-size: 20px;
  }
  .area-achievement-box figure {
    width: 100%;
  }
  .area-achievement-box.pt2 {
    transform: initial;
  }
  .area-achievement-box.pt3 {
    transform: initial;
  }
  .area-failure h2 span {
    left: initial;
  }
  .area-failure h2 {
    font-size: 24px;
  }
  .area-failure-box p {
    font-size: 14px;
  }
  .area-failure-pattern-list:before,
  .area-failure-pattern-list:after {
    display: none;
  }
  .area-failure:after {
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
    border-top: 60px solid #108974;
    bottom: -30px;
  }
  .area-failure-pattern-list {
    width: 98%;
  }
  .area-cause-card {
    padding: 40px 20px;
  }
  .area-cause-card h3 {
    font-size: 20px;
  }
  .area-cause-card h3 span {
    font-size: 22px;
    width: 40px;
    height: 40px;
  }
  .area-cause:after {
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
    border-top: 60px solid #108974;
    bottom: -30px;
  }
  .area-cause-card ul.listing li {
    font-size: 16px;
  }
  .area-cause-card p {
    font-size: 16px;
  }
  h2.ttl02 .gra {
    font-size: 22px;
  }
  h2.ttl02 {
    font-size: 40px;
  }
  h2.ttl02 .number {
    font-size: 90px;
    line-height: 0.8;
  }
  h2.ttl02 .ttl02-01 {
    padding-left: 0;
    transform: initial;
  }
  h2.ttl02 .gra {
    display: initial;
  }
  .area-data-card ul.listing li {
    font-size: 16px;
  }
  .area-merit-heading-text {
    font-size: 36px;
  }
  .area-merit-heading-number {
    font-size: 86px;
  }
  .area-merit-sub {
    font-size: 28px;
  }
  .area-merit-item-heading {
    font-size: 22px;
  }
  .area-merit-item-sub {
    font-size: 20px;
  }
  .area-merit-item-number {
    font-size: 34px;
  }
  .area-customer .heading-box h2 {
    font-size: 24px;
  }
  .area-faq-box dt {
    font-size: 18px;
  }
  .area-faq-box dd {
    font-size: 16px;
  }
  p.gra {
    font-size: 24px;
  }
  .area-result-box {
    padding: 10px;
  }
  .area-customer-box .text-box p {
    font-size: 16px;
  }

  /* ===== トップページ タブレット ===== */
  .top-mv {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
  .top-mv__inner {
    flex-direction: column;
    padding-inline: 3rem;
    margin: 0 auto;
    max-width: 71.2rem;
  }
  .top-mv__text {
    width: 100%;
  }
  .top-mv__catch {
    font-size: 3.2rem;
    overflow-wrap: break-word;
  }
  .top-mv__catch-emphasis {
    font-size: 4rem;
  }
  .top-mv__sub {
    font-size: 1.8rem;
    margin-top: 4.2rem;
  }
  .top-mv__btns-area {
    margin-top: 7rem;
  }
  /* バッジ：縦並びでサイズ縮小 */
  .top-mv__badges {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .top-mv__badge-deco {
    width: 32px;
    height: 76px;
  }
  .top-mv__badge-text {
    font-size: 2rem;
  }
  .top-mv__badge-text-emphasis {
    font-size: 2.8rem;
  }
  /* btns-area：タブレットでは縦積み */
  .top-mv__btns-area {
    flex-direction: column-reverse;
    align-items: center;
    gap: 2.4rem;
  }
  .top-about__deco {
    width: 400px;
  }
  .top-about__deco--right {
    right: -120px;
  }
  .top-problem__inner {
    gap: 5.8rem;
  }
  .top-problem__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-service-card {
    gap: 32px;
  }
  .c-service-card__img-wrap {
    flex: 0 0 42%;
  }
  .c-card-heading__num {
    font-size: 4.8rem;
  }
  .c-card-heading__ja {
    font-size: 2.4rem;
  }
  .c-service-card__desc {
    font-size: 1.6rem;
  }
  .top-reason__list {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    gap: 20px;
    margin-top: 6.2rem;
    padding-bottom: 0;
  }
  /* タブレット：上段2枚・中段2枚・下段1枚中央寄せ */
  .top-reason__item:nth-child(1),
  .top-reason__item:nth-child(2),
  .top-reason__item:nth-child(3),
  .top-reason__item:nth-child(4) {
    grid-column: span 2;
  }
  .top-reason__item:nth-child(5) {
    grid-column: 2 / span 2;
  }
  /* タブレット：階段状配置をリセット */
  .top-reason__item:nth-child(n) {
    transform: none;
  }
  /* top-strengths タブレット：上段2枚・中段2枚・下段1枚中央寄せ */
  .top-strengths__list {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 20px;
    row-gap: 40px;
  }
  .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-strengths__item:nth-child(5) {
    grid-column: 2 / span 2;
  }
  /* c-cta-section タブレット */
  .c-cta-section {
    padding: 80px 0;
  }
  .c-cta-section__content {
    margin-top: 3.8rem;
  }
  .top-cta .cta-buttons {
    margin-top: 4.6rem;
  }
  /* top-case タブレット */
  .top-case__logos-row {
    flex-wrap: wrap;
  }
  .top-case__logos {
    margin-top: 4.2rem;
  }
  .top-case__list {
    flex-wrap: wrap;
    margin-top: 4.2rem;
  }
  /* .top-case__item は common/pc.css の @media (max-width: 1399px) に集約 */
  /* top-problem (.top-problem__body は common/pc.css の @media (max-width: 1399px) に集約) */
  .top-problem__img {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
  .top-problem__img img {
    width: 50%;
    display: block;
    margin: 0 auto;
  }
  .top-problem__list {
    width: 100%;
    row-gap: 28px;
    column-gap: 16px;
  }
  .top-problem__item {
    padding: 2.4rem 0.5rem;
  }
  /* 1024px以下：吹き出し3点丸を非表示 */
  .top-problem__item:nth-child(1)::after,
  .top-problem__item:nth-child(6)::after {
    display: none;
  }
  /* top-answer パディング縮小 */
  .top-answer {
    padding-top: 11rem;
    padding-bottom: 11rem;
  }
  /* top-answer デコ画像 */
  .top-answer__deco {
    width: 40rem;
  }
  .top-answer__deco--left {
    top: -10rem;
    left: -12rem;
  }
  .top-answer__deco--right {
    bottom: -6rem;
    right: -12rem;
  }
  /* top-answer 疑似要素 top:0 */
  .top-answer::before {
    top: 0;
  }
  /* ========== 資料ダウンロード ========== */
  .top-dl-cta {
    padding: 60px 0;
  }
  .top-dl-cta__inner {
    padding: 0 24px;
    gap: 20px;
  }
  .top-dl-cta__content {
    flex: 1;
    gap: 32px;
  }
  .top-dl-cta__title {
    font-size: var(--fz-h3);
  }
  .top-dl-cta__btn {
    width: 280px;
  }
  .top-dl-cta__image {
    flex: 0 0 320px;
  }

  /* ========== コラム ========== */
  .top-column__heading {
    gap: 30px;
  }
  .top-column__sub {
    gap: 30px;
  }
  .top-column__line {
    width: 68px;
  }
  .top-column__btn {
    width: 260px;
    padding: 8px 16px;
  }
  .top-column__thumbnail {
    margin-bottom: 12px;
  }
  .top-column__meta {
    gap: 6px;
  }
  .top-column__nav {
    left: -18px;
    right: -18px;
  }
  .top-column__nav-btn {
    width: 36px;
    height: 36px;
  }
}

/* ========================================
   601〜1024px タブレット全体調整
   ======================================== */
@media screen and (max-width: 1023px) {
  /* お客様の声：.c-voice-list は common/pc.css の @media (max-width: 1399px) に集約 */

  /* 対応エリア inner：縦リズムを縮小 */
  .c-service-area__inner {
    gap: 6.2rem;
  }

  /* 対応エリア カード：左右余白を縮小 */
  .c-service-area__card {
    padding: 36px 32px;
  }

  /* 対応エリア 都道府県タグ：5列 */
  .c-service-area__prefs {
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
  }

  /* ニュース行：横並び維持 */
  .top-news__row {
    flex-direction: row;
    align-items: baseline;
    gap: 16px;
  }
  .top-news__meta {
    min-width: 160px;
    flex-shrink: 0;
  }

  /* ========== 取扱業務一覧（769〜1024px） ========== */
  .p-service-list {
    margin-top: 6.2rem;
    gap: 6rem;
  }
  .p-service-item {
    gap: 3.2rem;
  }
  .p-service-item__img-wrap {
    flex: 0 0 42%;
    width: auto;
  }
  .p-service-item__num {
    font-size: 4.8rem;
  }
  .p-service-item__title {
    font-size: 2.4rem;
  }
  .p-service-item__desc {
    font-size: 1.6rem;
  }
  .p-service-item__link-line {
    width: 8rem;
  }
  .p-service-item__link-text {
    font-size: 1.6rem;
    letter-spacing: normal;
  }
}

/* ========== 選ばれる理由ページ：reason-item レイアウト（769〜1023px帯） ========== */
@media screen and (max-width: 1023px) {
  .p-reason-item__body {
    gap: 3rem;
  }
  .p-reason-item__text {
    flex: 1 1 0;
  }
  .p-reason-item__image {
    flex: 0 0 28rem;
  }
}

/* ========== 404ページ ========== */
@media screen and (max-width: 1023px) {
  .p-404-main__title {
    font-size: 3.6rem;
  }
  .p-404-main__desc {
    font-size: 1.8rem;
  }
}

/* ========== 料金一覧ページ ========== */
@media screen and (max-width: 1023px) {
  .p-price-notice__box {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }
  .p-price-notice__btn-wrap {
    flex-wrap: nowrap;
    gap: 1.6rem;
    width: 100%;
  }
  .p-price-notice__btn {
    flex: 1;
    max-width: 100%;
  }
  .p-price-anchor-nav__list {
    gap: 0.8rem;
  }
  .p-price-anchor-nav__link {
    padding: 0.7rem 1.4rem;
    font-size: 1.4rem;
    width: 280px;
  }
  .p-price-table thead th,
  .p-price-table tbody :is(td, th) {
    padding: 1.2rem 1rem;
  }

  /* ---------- FAQ Q&A アイコン ---------- */
  .p-faq-qa__icon {
    width: 3.6rem;
    height: 3.6rem;
  }
  .p-faq-qa__icon svg {
    width: 3.6rem;
    height: 3.6rem;
  }
  .p-faq-qa__icon-letter {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  /* ========== お問合せ完了ページ ========== */
  .p-thanks {
    padding-bottom: 9rem;
  }
  .p-thanks__inner {
    gap: 4.5rem;
  }
  .p-thanks__title {
    font-size: 3.6rem;
  }
  .p-thanks__desc {
    font-size: 1.8rem;
  }
  .p-contact-thanks__phone img {
    max-width: 44rem;
  }
  .p-thanks__phone-box {
    width: 100%;
    max-width: 50rem;
  }
  .p-thanks__phone-catch {
    font-size: 2rem;
  }
  .p-thanks__phone-num {
    font-size: 4rem;
  }

  /* ========== お問合せページ ========== */
  .p-contact {
    padding-top: 4.6rem;
    padding-bottom: 4.6rem;
  }
  .p-contact__lead-title,
  .p-contact__lead-sub {
    font-size: 2.4rem;
  }
  .p-contact__lead-em {
    font-size: 3rem;
  }
  .p-contact__body {
    flex-direction: column;
    align-items: center;
    margin-top: 5rem;
  }
  .p-contact__form-card {
    flex: none;
    width: 100%;
  }
  .p-contact__left {
    flex: none;
    width: 100%;
  }
  .p-contact__phone {
    width: 70%;
    align-self: center;
  }
  .p-contact__phone-num {
    font-size: 4rem;
  }
  .p-contact__logos-title {
    font-size: 3.2rem;
  }
  .p-contact__desc {
    font-size: var(--fz-m);
  }
  .p-contact-form__fields {
    width: 100%;
  }
  /* input[type="submit"] との詳細度競合を避けるため、セレクタを強化しました */
  input[type="submit"].p-contact-form__submit,
  button.p-contact-form__submit,
  .p-contact-form__submit {
    width: 100%;
  }

  /* ========== 資料ダウンロードページ ========== */
  .p-download {
    padding-top: 4.6rem;
    padding-bottom: 4.6rem;
  }
  .p-download__body {
    grid-template-columns: 1fr;
  }
  .p-download__title {
    font-size: 3.2rem;
  }
  .p-download__desc {
    font-size: 1.8rem;
  }

  /* ========== 支援事例 個別ページ ========== */
  .p-case-content {
    padding-top: 6.2rem;
    padding-bottom: 6.2rem;
  }
  .p-case-related {
    padding-bottom: 8.4rem;
  }
  .p-case-hero__title,
  .p-case-related__title {
    font-size: 3.8rem;
  }
  .p-case-related__grid {
    gap: 2.25rem;
    margin-top: 6.2rem;
  }
  .p-case-archive-pagination {
    margin-top: 4.5rem;
  }
  .p-case-hero__body {
    grid-template-columns: 1fr;
    margin-top: 6.2rem;
  }
  .p-case-hero__right {
    order: -1;
  }
  .p-case-meta__row {
    gap: 4rem;
    padding: 0 2rem;
    font-size: 1.8rem;
  }
  .p-case-articles {
    padding: 4rem 2.4rem;
  }

  /* ========== 当事務所について ========== */
  .p-about-fv__title {
    font-size: 3.6rem;
  }
  .p-about-greeting__heading {
    font-size: 2.6rem;
  }
  .p-about-greeting__desc p {
    font-size: 1.8rem;
  }

  .p-about-greeting__desc {
    margin-top: 4.5rem;
    gap: 1.3rem;
  }
  .p-about-greeting__body {
    gap: 3rem;
  }
  .p-about-greeting__sig {
    font-size: 1.5rem;
  }
  .p-about-greeting__sig-name {
    font-size: 2rem;
  }
  .p-about-overview__row {
    gap: 4rem;
    padding: 3.5rem 3rem;
    font-size: 1.8rem;
  }
  .p-about-overview__dt {
    width: 22rem;
  }
  .p-about-overview__map {
    height: 36rem;
  }
  .p-about-overview__map iframe {
    height: 36rem;
  }
  .p-about-profile-box {
    padding: 3rem 6rem;
    min-height: 18rem;
  }
  .p-about-profile-box__text {
    font-size: 1.8rem;
  }
  .p-about-profile-box::before {
    font-size: 6rem;
  }

  /* ========== お客様の声ページ ========== */
  .p-voice-cards {
    grid-template-columns: 1fr 1fr;
    gap: 5rem 4rem;
  }
  .p-voice-card__body {
    padding: 3.8rem 4rem;
    gap: 1.4rem;
  }
  .p-voice-card__title {
    font-size: 1.8rem;
  }
  .p-voice-card__text {
    font-size: 1.4rem;
  }
  .p-voice-card__name {
    font-size: 1.8rem;
  }

  /* ========== よくある質問 ========== */
  .p-faq-section .p-faq-list {
    margin-top: 3rem;
  }
  .p-faq-fv {
    padding: 7.5rem 0;
  }
  .p-faq-fv__title {
    font-size: 3.6rem;
  }
  .p-faq-tabs {
    flex-direction: column;
    gap: 1.2rem;
  }
  .p-faq-tab {
    padding: 0.8rem 1.6rem;
    gap: 0.8rem;
  }
  .p-faq-tab__label {
    font-size: 1.8rem;
    white-space: normal;
  }
  .p-faq-category {
    margin-top: 6rem;
  }
  .p-faq-category:first-child {
    margin-top: 4.4rem;
  }
  .p-faq-category__header {
    gap: 1.4rem;
  }
  .p-faq-category .p-faq-list {
    margin-top: 3rem;
  }
  .p-faq-category__bracket {
    width: 1rem;
    height: 6.4rem;
  }
  .p-faq-category__title {
    font-size: 3.2rem;
  }
  .p-faq-qa__question {
    font-size: 2rem;
  }
  .p-faq-qa__answer {
    font-size: 1.6rem;
  }
  .p-faq-qa__q-row {
    gap: 1.4rem;
    padding: 0 1.2rem;
  }
  .p-faq-qa__a-row {
    gap: 1.4rem;
    padding: 0 1.2rem 2.8rem;
  }
  .p-faq-qa__toggle {
    font-size: 2rem;
  }

  /* ========== 就労ビザ申請 ========== */
  .p-wv-fv__title {
    font-size: 4rem;
  }
  .p-wv-problems__heading {
    font-size: 2.8rem;
  }
  .p-wv-detail__point-footer {
    flex-direction: row-reverse;
    gap: 2.4rem;
  }
  .p-wv-detail__body {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
  .p-wv-detail__point {
    grid-template-columns: 1fr;
    gap: 0rem;
  }
  .p-wv-detail__strengths-sub {
    font-size: 2rem;
  }
  .p-wv-detail__point--reverse {
    direction: ltr;
  }
  .p-wv-detail__point-body {
    padding: 2.4rem 2.4rem;
  }
  .p-wv-detail__point-text {
    font-size: 1.4rem;
  }
  /* p-wv-cases__grid → p-case-cards に統一済み */
  .p-wv-merits__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.5rem;
  }
  .p-wv-coverage__inner {
    gap: 6.2rem;
  }
  .p-wv-coverage__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-wv-coverage__lead {
    font-size: 1.6rem;
    margin-top: 0;
  }
  .p-wv-coverage__row {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: transparent;
  }
  .p-wv-coverage__label {
    width: auto;
    height: auto;
    padding: 0.6rem 1.4rem;
    font-size: 1.6rem;
    line-height: 1.2;
    align-self: flex-start;
    width: 100%;
    position: relative;
    z-index: 1;
  }
  .p-wv-coverage__jobs {
    font-size: 1.6rem;
    gap: 0.4rem 1.2rem;
    background: #f0f2f7;
    padding: 2.4rem 2rem 1.4rem;
    border-radius: 0 0 0.6rem 0.6rem;
    margin-top: -1rem;
    position: relative;
    z-index: 0;
  }

  /* ---------- 対応ビザ種別 ---------- */
  .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; /* 75%=4.5remだとカード幅不足で文字はみ出しのため50%に縮小 */
  }
  .p-wv-visa-types__card-body {
    padding: 2.2rem 1.1rem;
  }
  .p-wv-visa-types__card-item,
  .p-wv-visa-types__card-item--block {
    font-size: 1.6rem;
  }
  .p-wv-visa-types__card-title {
    font-size: 1.5rem;
  }
  .p-wv-detail .c-section-header-ja {
    font-size: 2.8rem;
  }
  .p-wv-visa-types__cta-text {
    font-size: 1.6rem;
  }
  .p-wv-catch::before {
    border-left: 12rem solid transparent;
    border-right: 12rem solid transparent;
    border-top: 5rem solid #fff;
  }
  .p-wv-catch__text {
    font-size: 3.2rem;
  }
  .p-wv-merits__num-large {
    font-size: 4.8rem;
  }
  .p-wv-merits__title {
    font-size: 1.8rem;
  }
  .p-wv-merits__text {
    font-size: 1.4rem;
  }

  /* ===== ご利用の流れ ===== */
  .p-wv-flow__steps {
    max-width: 100%;
  }
  .p-wv-flow__step-num {
    width: 10rem;
    padding-bottom: 1rem;
  }
  .p-wv-flow__step-num-label {
    font-size: 1.2rem;
    line-height: 3rem;
  }
  .p-wv-flow__step-num-val {
    font-size: 3.6rem;
    line-height: 3rem;
  }
  .p-wv-flow__step-body {
    padding: 1.6rem 2.4rem;
    min-height: 17.6rem;
    gap: 1.6rem;
  }
  .p-wv-flow__step-title {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .p-wv-flow__step-text {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .p-wv-flow__arrow-row {
    height: 0;
    margin: 0;
  }
  .p-wv-flow__step-arrow {
    width: 10rem;
    height: 1.4rem;
  }

  /* ========== 就労ビザ FV 追加 ========== */
  .p-wv-fv {
    padding: 4.8rem 0 6rem;
  }
  .p-wv-fv__desc {
    font-size: 1.4rem;
  }
  .p-wv-fv__tag {
    font-size: 1.4rem;
    padding: 0.5rem 1.2rem;
  }
  .p-wv-fv__cta {
    gap: 1.2rem;
  }
  .p-wv-fv__cta-btn {
    padding: 1.2rem 2.4rem;
  }
  .p-wv-fv__cta-label {
    font-size: 1.4rem;
  }
  .p-wv-fv__cta-label strong {
    font-size: 1.6rem;
  }

  /* ========== 就労ビザ お悩み 追加 ========== */
  .p-wv-problems__inner {
    gap: 5.8rem;
  }
  .p-wv-problems__body {
    gap: 3.2rem;
  }
  .p-wv-problems__img {
    width: 180px;
  }
  .p-wv-problems__strip-text {
    font-size: 2rem;
  }
  .p-wv-problems__item {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
  .p-wv-problems__item p {
    font-size: 1.4rem;
  }

  /* ========== 就労ビザ サービス詳細 追加 ========== */
  .p-wv-detail__lead {
    font-size: 1.8rem;
  }
  .p-wv-detail__desc {
    font-size: 1.4rem;
  }
  .p-wv-detail__strengths-line {
    width: 7rem;
  }
  .p-wv-detail__strengths-en-text {
    font-size: 1.6rem;
  }
  .p-wv-detail__strengths-header {
    gap: 3rem;
  }
  .p-wv-detail__points {
    margin-top: 4.8rem;
  }
  .p-wv-detail__point-num {
    font-size: 2.8rem;
  }
  .p-wv-detail__point-content {
    gap: 1rem;
  }

  /* ========== 就労ビザ キャッチコピー 追加 ========== */
  .p-wv-catch {
    padding-top: 8.4rem;
    padding-bottom: 8.4rem;
  }
  .p-wv-catch::after {
    width: 34rem;
    height: 26rem;
  }

  /* ========== 就労ビザ メリット 追加 ========== */
  .p-wv-merits {
    padding-top: 7.2rem;
    padding-bottom: 8.4rem;
  }
  .p-wv-merits__item {
    padding: 3rem 2.4rem 3rem;
  }
  .p-wv-merits__num {
    font-size: 4.8rem;
  }
  .p-wv-merits .c-section-header-ja {
    font-size: 2.4rem;
  }

  /* ========== 就労ビザ 業種一覧 追加 ========== */
  .p-wv-coverage__table {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .p-wv-coverage__row + .p-wv-coverage__row {
    margin-top: 1.4rem;
  }
  .p-wv-coverage__item-title {
    font-size: 1.6rem;
  }

  /* ========== 就労ビザ FAQ 追加 ========== */
  .p-wv-faq__link-wrap {
    margin-top: 3rem;
  }

  /* ========== 就労ビザ 対応ビザ種別 追加 ========== */
  .p-wv-visa-types__cta-btn {
    min-width: 25rem;
    min-height: 5.4rem;
  }
  .p-wv-visa-types__card-head {
    padding: 0.8rem 1.2rem;
  }

  /* ========== 就労ビザ 料金 追加 ========== */
  .p-wv-price {
    padding-top: 8.2rem;
    padding-bottom: 8.4rem;
  }
  .p-wv-price__notice {
    font-size: 1.4rem;
  }
  .p-wv-price__block-title {
    font-size: 1.8rem;
  }

  /* ========== 料金共通 追加 ========== */
  .p-price-anchor-nav {
    padding-top: 8.4rem;
    padding-bottom: 6.2rem;
  }
  .p-price-notice__text {
    font-size: 2rem;
  }
  .p-price-notice__btn--estimate {
    font-size: 1.8rem;
  }
  .p-price-notice__btn--estimate::after {
    width: 2.1rem;
    height: 2.1rem;
  }
  .p-price-notice__tel-number {
    font-size: 2rem;
  }
  .p-price-cat__inner {
    gap: 4.5rem; /* 6rem × 75% */
  }
  .p-price-cat__desc {
    font-size: 1.76rem;
  }
  .p-price-subsection__title {
    font-size: 1.6rem;
  }
  .p-price-subsection {
    gap: 1.5rem;
  }
  .p-price-subsection__links {
    gap: 1.2rem;
  }

  /* ---------- 料金ページ スケーリング補完 ---------- */
  .p-price-cat {
    padding-block: 6.2rem;
  }
  .p-price-cat__subsection-list {
    gap: 6.2rem;
  }
  .p-price-cat__heading {
    margin-top: 3rem;
  }
  /* .p-price-td--amount は var(--fz-h3) clamp で自動縮小 */
  .p-price-table--five-col thead th:nth-child(1) {
    width: 13%;
  }
  .p-price-table--five-col thead th:nth-child(2) {
    width: 42%;
  }
  .p-price-table--five-col thead th:nth-child(3) {
    width: 45%;
  }
  .p-price-table tbody :is(td, th):last-child {
    font-size: 2rem;
  }
  .p-price-table--center-last tbody td:last-child {
    font-size: 2rem;
    padding-inline: 1.2rem;
  }
  .p-price-table--two-col tbody td:last-child {
    font-size: 2rem;
    padding-inline: 1.2rem;
  }
  .p-price-notice {
    padding-top: 6.2rem;
  }
  .p-price-notice__box {
    padding: 1.8rem;
  }
  .p-price-notice__btn {
    height: 10.2rem;
  }

  /* 資格・登録情報 */
  .p-about-certs__grid {
    margin-top: 4rem;
  }

  /* 代表挨拶 */
  .p-about-greeting__body {
    margin-top: 6.2rem;
  }

  /* 事務所概要 */
  .p-about-overview__table {
    margin-top: 6.2rem;
  }

  .p-case-content__btn-wrap {
    margin-top: 6.23rem;
  }

  .p-case-hero {
    padding-block: 8.4rem 0;
  }

  /* ========== work-template FV パンくず ========== */
  .p-wt-fv__breadcrumb-link,
  .p-wt-fv__breadcrumb-current {
    font-size: 1.3rem;
    white-space: nowrap;
  }

  /* ---------- パンくず Tablet共通 ---------- */
  .p-reason-breadcrumb,
  .p-column-breadcrumb,
  .p-service-breadcrumb,
  .p-404-breadcrumb,
  .p-price-breadcrumb,
  .p-download-breadcrumb {
    height: auto;
    min-height: 3.6rem;
    padding-block: 0.6rem;
  }

  .p-reason-breadcrumb__list,
  .p-column-breadcrumb__list,
  .p-service-breadcrumb__list,
  .p-404-breadcrumb__list,
  .p-price-breadcrumb__list,
  .p-download-breadcrumb__list {
    flex-wrap: wrap;
    gap: 0.4rem 0.6rem;
    font-size: 1.3rem;
  }

  .p-reason-breadcrumb__item,
  .p-column-breadcrumb__item,
  .p-service-breadcrumb__item,
  .p-404-breadcrumb__item,
  .p-price-breadcrumb__item,
  .p-download-breadcrumb__item {
    white-space: nowrap;
  }

  .p-reason-breadcrumb__link,
  .p-column-breadcrumb__link,
  .p-service-breadcrumb__link,
  .p-404-breadcrumb__link,
  .p-price-breadcrumb__link,
  .p-download-breadcrumb__link {
    font-size: 1.3rem;
  }

  .p-wv-fv__breadcrumb-link,
  .p-wv-fv__breadcrumb-current {
    white-space: nowrap;
  }

  .p-wv-fv__breadcrumb-list {
    gap: 0.4rem 0.6rem;
  }

  /* プライバシーポリシー */
  .p-page__content h2.wp-block-heading {
    font-size: 2rem;
    padding: 0.4rem 0 1rem 1.4rem;
    margin: 3.2rem 0 1.2rem;
  }
  .p-page__content h2.wp-block-heading::before {
    height: 2rem;
  }
}
