    .it-company-logos { padding: 32px 0; background: #fff; }
    .it-company-logos__inner { max-width: 1080px; margin: 0 auto; }

    /* =========================================================
       IFA転職 トップ（この頁だけの見た目。.it-s を付けた節の中に効かせる。
         外側に効かせるのは、html の文字の拡大、.adlp-c-container の幅、追従バナー、フッター（色・書体・余白・折り返し）だけ）
       色の役割：紺＝面・見出し／淡い青＝面の切り替え・飾り／赤＝申込ボタンだけ／灰＝補足の文字と×の札
       書体：見出し Noto Serif JP、本文 Noto Sans JP、英字の見出しと番号 EB Garamond
         明朝＝見出し・カードの題・各節1つの見せ場だけ（太さ600、リード・引用は500）。それ以外はゴシック（400／700）
       文字の段：PC 48 / 36 / 28 / 22 / 20 / 18 / 16（本文）/ 14（補足）
                 スマホ 30 / 24 / 20 / 18 / 16（本文）/ 14（補足）。14px未満は使わない
       約物詰め（palt）は見出し・ラベル・ボタンと、短い見せ場の文（お約束の文・理由の要点・図の文・報酬の行）だけ。本文・リスト・表はベタ組み
       アイコン：矢印・チェック・○×・＋・再生は --it-i-* の SVG（線2px・直角）。--i に入れ、「アイコン」の組の規則の mask で color の色に塗る
       線：枠は1px、飾りの角と求人のボタンの枠は2px、左の線と上の線は3px。角丸はボタンだけ4px
       幅：広い 1040px（.it-wrap の中身。左右の余白込みで1088px）／読む幅 760px。中央揃えは見出し・ボタン・短い1行だけ
       カード：角丸なし。影は --it-shadow-1（一覧の行）／--it-shadow-2（カード）。体験記の行だけ、マウスを乗せると1段濃く。スマホの内側の余白は20px
       画面幅の切れ目：1079.98px（lp.js の Splide の切れ目1080pxに合わせる。事例・体験記・理由を600px幅の1列に）／1023.98px（タブレット）
                       767.98px（スマホ）／639.98px（申込ボタンを全幅）／480px（フッターのメニュー）／429.98px・374.98px（小さいスマホ）
                       縦820px以下のPC（1画面目を詰める）／縦500px以下（横向きのスマホ。追従バナーを低く）
       決まり：1つのセレクタは1か所で定義する（後ろに上書きを足さない。共通の指定は組の規則で1か所に）。
       ========================================================= */
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    .adlp-c-container.it-page { max-width: none; }
    .it-page {
      --it-navy: #13294b;
      --it-navy-deep: #0b1b33;
      --it-navy-soft: #4a5d7c;
      --it-blue: #e9f0f8;
      --it-blue-2: #d6e3f2;
      --it-blue-line: #c3d3e8;
      --it-blue-accent: #9fbbe0;
      --it-ink: #1d2733;
      --it-text: #36414e;
      --it-sub: #56637a;
      --it-line: #d9dee5;
      --it-on-navy: #d3dbe6;
      --it-red: #b3212b;
      --it-red-dark: #8e1820;
      --it-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
      --it-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
      --it-latin: "EB Garamond", "Noto Serif JP", serif;
      --it-shadow-1: 0 4px 16px rgba(19, 41, 75, 0.06);
      --it-shadow-2: 0 12px 32px rgba(19, 41, 75, 0.08);
      --it-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1.5 8.5 6 4 10.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5 6 12.5 14 3.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-ng: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 4 16 16M16 4 4 16' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 2.5v11l9.5-5.5z' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
      --it-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 8h12.5M9.5 3.5 14 8l-4.5 4.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
    }
    .it-s {
      font-feature-settings: normal;
      line-break: strict;
      font-family: var(--it-sans);
      color: var(--it-text);
      font-size: 16px;
      letter-spacing: 0.03em;
      line-height: 1.8;
    }
    .it-s :is(p, li, dt, dd, summary, figcaption, h1, h2, h3, div, figure, article, section, picture) { line-height: inherit; margin: 0; }
    .it-s :is(p, li, dd) { text-wrap: pretty; }
    /* 約物詰め（palt）は見出し・ラベル・ボタンと短い見せ場の文だけ。本文・リスト・表はベタ組み */
    .it-s :is(h1, h2, h3, summary, .it-btn, .it-job__btn, .it-sticky__link, .it-label, .it-fv__lead, .it-fv__badge, .it-promise__label, .it-promise__text, .it-steps__ttl, .it-consult__flow-ttl, .it-job__feature, .it-job__pay-row, .it-job__pay-note, .it-case__catch, .it-reason__point, .it-support__lead, .it-flow p, .it-cta__lead, .it-sticky__lead) {
      font-feature-settings: "palt";
    }
    .it-s strong { font-weight: 700; }
    .it-s a { color: inherit; }
    .it-s a:focus-visible, .it-s summary:focus-visible { outline: 3px solid var(--it-navy); outline-offset: 3px; }
    .it-s .it-support a:focus-visible, .it-s.it-consult a:focus-visible, .it-s.it-sources a:focus-visible { outline-color: #fff; }
    .it-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .it-s .it-nw { display: inline-block; max-width: 100%; }
    /* アイコン（--i の SVG を、color の色で塗る） */
    .it-s .it-chevron, .it-s .it-target__mark, .it-s .it-target__facts li::before, .it-s .it-job__plus, .it-s .it-pairs li::before,
    .it-s .it-pairs__check::before, .it-s .it-more a::after, .it-s .it-guide__link a::after, .it-s .it-episodes__list a::after,
    .it-s .it-flow::before, .it-s .it-movies__ttl::before, .it-s .it-faq__q::after {
      background: currentColor;
      -webkit-mask: var(--i) center / 100% 100% no-repeat;
      mask: var(--i) center / 100% 100% no-repeat;
    }
    .it-s .it-chevron { --i: var(--it-i-chevron); display: inline-block; flex: none; width: 12px; height: 12px; }
    .it-s .it-chevron--down { transform: rotate(90deg); }
    /* 枠と節 */
    .it-s .it-wrap { max-width: 1088px; margin: 0 auto; padding: 0 24px; }
    .it-s .it-wrap--narrow { max-width: 808px; }
    .it-s.it-sec { position: relative; padding: 96px 0; background: #fff; }
    .it-s.it-sec--tint { background: var(--it-blue); }
    /* 元のページの斜めの面を、紺の淡い色で作り直したもの */
    .it-s.it-sec--deco::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 340px;
      background: linear-gradient(172deg, var(--it-blue-2) 0 46%, transparent 46.2%),
        linear-gradient(188deg, rgba(255, 255, 255, 0.55) 0 34%, transparent 34.2%);
      pointer-events: none;
    }
    .it-s.it-sec > .it-wrap { position: relative; }
    /* 節の見出し：英字（EB Garamond）＋明朝の大見出し、中央 */
    .it-s .it-label {
      font-family: var(--it-latin);
      font-size: 20px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--it-navy-soft);
      text-align: center;
      margin-bottom: 14px;
      overflow-wrap: anywhere;
    }
    .it-s .it-label--light { color: var(--it-blue-accent); }
    .it-s .it-h2 {
      font-family: var(--it-serif);
      font-weight: 600;
      font-size: 36px;
      line-height: 1.5;
      color: var(--it-navy);
      text-align: center;
      margin-bottom: 52px;
      letter-spacing: 0.06em;
    }
    .it-s .it-h2::after {
      content: "";
      display: block;
      width: 48px;
      height: 3px;
      margin: 22px auto 0;
      background: linear-gradient(90deg, var(--it-navy) 0 50%, var(--it-blue-accent) 50% 100%);
    }
    .it-s .it-h2--light { color: #fff; margin-bottom: 18px; }
    .it-s .it-h2--light::after { background: linear-gradient(90deg, #fff 0 50%, var(--it-blue-accent) 50% 100%); }
    .it-s .it-h2__sub {
      font-family: var(--it-serif);
      font-weight: 500;
      color: var(--it-sub);
      text-align: center;
      margin-bottom: 4px;
      font-size: 18px;
      letter-spacing: 0.06em;
    }
    .it-s .it-h3 { font-family: var(--it-serif); font-weight: 600; font-size: 22px; color: var(--it-navy); letter-spacing: 0.04em; line-height: 1.5; }
    .it-s .it-intro { margin: -24px auto 40px; font-size: 16px; line-height: 1.8; max-width: 760px; text-align: left; }
    /* 1画面目 */
    .it-s.it-fv { background: #fff; }
    .it-s .it-fv__bar { padding: 14px 0; background: #fff; }
    .it-s .it-fv__logo { display: block; width: 200px; height: auto; }
    .it-s .it-fv__hero {
      position: relative;
      color: #fff;
      overflow: hidden;
      background: linear-gradient(115deg, #1c3a68 0%, var(--it-navy) 42%, var(--it-navy-deep) 100%);
    }
    .it-s .it-fv__hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg, transparent 0 58%, rgba(255, 255, 255, 0.05) 58% 70%, transparent 70%),
        linear-gradient(105deg, transparent 0 66%, rgba(159, 187, 224, 0.08) 66% 74%, transparent 74%);
      pointer-events: none;
    }
    .it-s .it-fv__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: end; gap: 32px; min-height: 460px; }
    .it-s .it-fv__copy { padding: 48px 0; }
    .it-s .it-fv__lead { font-family: var(--it-serif); line-height: 1.6; letter-spacing: 0.06em; color: var(--it-on-navy); font-size: 18px; font-weight: 500; }
    .it-s .it-fv__lead strong { font-size: 28px; font-weight: 600; color: #fff; margin: 0 4px; white-space: nowrap; }
    .it-s .it-fv__title { margin: 10px 0 32px; font-family: var(--it-serif); font-weight: 600; }
    .it-s .it-fv__h1 { display: block; font-size: 48px; line-height: 1.38; letter-spacing: 0.06em; text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25); }
    /* 推薦状の箱：元の「額縁」の見せ方を、線の角飾りで */
    .it-s .it-fv__badge {
      position: relative;
      display: inline-block;
      padding: 22px 32px 24px;
      background: rgba(11, 27, 51, 0.55);
      border: 1px solid rgba(159, 187, 224, 0.45);
      font-family: var(--it-serif);
      text-align: center;
    }
    .it-s .it-fv__badge::before, .it-s .it-fv__badge::after { content: ""; position: absolute; width: 18px; height: 18px; border: 2px solid var(--it-blue-accent); }
    .it-s .it-fv__badge::before { top: -2px; left: -2px; border-right: 0; border-bottom: 0; }
    .it-s .it-fv__badge::after { right: -2px; bottom: -2px; border-left: 0; border-top: 0; }
    .it-s .it-fv__badge-label {
      display: inline-block;
      padding: 4px 16px;
      background: var(--it-blue);
      color: var(--it-navy);
      font-weight: 600;
      line-height: 1.5;
      letter-spacing: 0.06em;
      font-size: 16px;
    }
    .it-s .it-fv__badge-main { font-weight: 600; line-height: 1.4; margin-top: 12px; font-size: 36px; letter-spacing: 0.06em; }
    .it-s .it-fv__badge-sub { line-height: 1.6; color: #fff; font-size: 18px; font-weight: 600; }
    .it-s .it-fv__person { position: relative; align-self: end; padding-top: 32px; }
    .it-s .it-fv__person img { position: relative; display: block; width: 100%; max-width: 320px; height: auto; margin-left: auto; }
    .it-s .it-fv__person::after {
      content: "";
      position: absolute;
      inset: auto 0 0 0;
      height: 40%;
      background: linear-gradient(to top, rgba(11, 27, 51, 0.9), rgba(11, 27, 51, 0));
      pointer-events: none;
    }
    .it-s .it-fv__prof { position: absolute; z-index: 1; left: 0; bottom: 22px; color: #fff; font-size: 14px; line-height: 1.6; }
    .it-s .it-fv__name { white-space: nowrap; font-family: var(--it-sans); font-weight: 700; font-size: 18px; }
    /* 申込ボタン（PCは幅30remで中央、640px未満は全幅） */
    .it-s .it-cta { text-align: center; padding: 40px 24px 0; }
    .it-s .it-cta__lead {
      display: inline-block;
      position: relative;
      padding: 4px 18px;
      margin-bottom: 12px;
      font-weight: 700;
      line-height: 1.5;
      color: var(--it-navy);
      background: var(--it-blue);
      letter-spacing: 0.06em;
      font-size: 16px;
    }
    .it-s .it-cta__lead::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -7px;
      margin-left: -7px;
      border: 7px solid transparent;
      border-bottom: 0;
      border-top-color: var(--it-blue);
    }
    .it-s .it-cta__note { color: var(--it-sub); margin-top: 12px; font-size: 16px; line-height: 1.7; }
    .it-s .it-cta .cta__btn.it-cta__btn {
      width: 30rem;
      max-width: 100%;
      margin: 0 auto;
      line-height: 1.4;
      box-shadow: none;
      transform: none;
      transition: none;
    }
    .it-s .it-btn {
      display: grid;
      grid-template-columns: minmax(max-content, 1fr) minmax(0, max-content) minmax(max-content, 1fr);
      align-items: center;
      gap: 16px;
      min-height: 76px;
      padding: 10px 24px 10px 16px;
      border-radius: 4px;
      color: #fff;
      transition: background-color 0.2s ease;
      background: var(--it-red);
      box-shadow: 0 2px 0 var(--it-red-dark);
    }
    .it-s .it-btn > .it-chevron { justify-self: end; }
    .it-s .it-btn__tag {
      display: flex;
      align-items: center;
      justify-content: center;
      justify-self: start;
      white-space: nowrap;
      padding: 3px 8px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, 0.85);
      color: #fff;
      font-family: var(--it-sans);
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 0.12em;
    }
    .it-s .it-btn__body { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: 2px; }
    .it-s .it-btn__main { font-size: 20px; font-weight: 700; letter-spacing: 0.06em; }
    .it-s .it-btn__sub { font-weight: 400; letter-spacing: 0.04em; font-size: 14px; line-height: 1.6; }
    .it-s .it-cta--inline { padding: 48px 0 0; }
    .it-s .it-cta--dark { padding: 8px 0 0; }
    /* お約束（元のページの「お約束。」の面と写真を、淡い青で） */
    .it-s .it-promise { margin-top: 48px; background: var(--it-blue); overflow: hidden; }
    .it-s .it-promise__grid { display: grid; grid-template-columns: minmax(0, 1fr) 236px; align-items: end; gap: 32px; }
    .it-s .it-promise__body { padding: 52px 0 56px; }
    .it-s .it-promise__photo { padding-top: 28px; }
    .it-s .it-promise__label {
      display: inline-block;
      padding: 6px 16px 8px;
      background: var(--it-navy);
      color: #fff;
      font-family: var(--it-serif);
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: 0.06em;
      font-size: 28px;
    }
    .it-s .it-promise__text {
      font-family: var(--it-serif);
      font-weight: 500;
      line-height: 1.7;
      letter-spacing: 0.06em;
      color: var(--it-ink);
      margin-top: 20px;
      font-size: 28px;
    }
    .it-s .it-promise__text strong { font-weight: 600; color: var(--it-navy); background: linear-gradient(transparent 62%, var(--it-blue-2) 62%); }
    .it-s .it-promise__photo img { display: block; width: 100%; height: auto; }
    .it-s .it-promise__sub { margin-top: 16px; color: var(--it-text); font-size: 16px; line-height: 1.8; }
    /* ご相談の対象となる方（○×の札） */
    .it-s .it-target { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; gap: 24px; }
    .it-s .it-target__box { position: relative; background: #fff; border: 1px solid var(--it-line); box-shadow: var(--it-shadow-2); }
    .it-s .it-target__box--ok { border-color: var(--it-navy); }
    .it-s .it-target__title {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 24px;
      font-family: var(--it-serif);
      font-weight: 600;
      color: #fff;
      background: #5d6876;
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-size: 20px;
    }
    .it-s .it-target__box--ok .it-target__title { background: var(--it-navy); }
    .it-s .it-target__mark {
      flex: none;
      color: var(--it-blue-accent);
      --i: var(--it-i-ok);
      width: 20px;
      height: 20px;
      font-size: 0;
    }
    .it-s .it-target__box:not(.it-target__box--ok) .it-target__mark { color: #c9cfd7; --i: var(--it-i-ng); }
    .it-s .it-list { padding: 20px 24px 24px; }
    .it-s .it-list li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.6; color: var(--it-text); }
    .it-s .it-list li + li { margin-top: 12px; }
    .it-s .it-list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 8px; height: 8px; background: #8b95a3; }
    .it-s .it-target__box--ok .it-list li::before { background: var(--it-navy); }
    .it-s .it-target__facts { margin-top: 24px; padding: 18px 24px 20px; background: var(--it-blue); }
    .it-s .it-target__facts-ttl { margin-bottom: 10px; font-weight: 700; letter-spacing: 0.03em; color: var(--it-navy-soft); font-size: 14px; line-height: 1.6; }
    .it-s .it-target__facts li { position: relative; font-weight: 400; color: var(--it-ink); font-size: 16px; line-height: 1.6; padding-left: 28px; }
    .it-s .it-target__facts li + li { margin-top: 6px; }
    .it-s .it-target__facts li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 16px; height: 16px; --i: var(--it-i-check); color: var(--it-navy); }
    /* 求人例（元のページの紺の吹き出しの見出し＋淡い青の報酬の箱） */
    .it-s .it-jobs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(21em, calc(50% - 14px))), 1fr)); gap: 24px; }
    /* カードは見出し・特徴・項目・報酬・ボタンの5段。subgrid で、同じ段のカードどうしの段の高さをそろえる（報酬の箱の上端がそろう） */
    .it-s .it-job { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; min-width: 0; background: #fff; scroll-margin-top: 16px; box-shadow: var(--it-shadow-2); }
    .it-s .it-job__head { position: relative; padding: 20px 24px 22px; background: var(--it-navy); color: #fff; text-align: center; }
    .it-s .it-job__head::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -12px;
      margin-left: -12px;
      border: 12px solid transparent;
      border-bottom: 0;
      border-top-color: var(--it-navy);
    }
    @media (min-width: 768px) {
      .it-s .it-job__head { min-height: 128px; display: flex; flex-direction: column; justify-content: center; }
    }
    .it-s .it-job__num { font-family: var(--it-sans); line-height: 1; letter-spacing: 0.08em; color: var(--it-blue-accent); font-weight: 700; font-size: 14px; }
    .it-s .it-job__for { font-family: var(--it-serif); font-weight: 600; margin-top: 10px; letter-spacing: 0.04em; line-height: 1.5; font-size: 20px; }
    .it-s .it-job__body { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; padding: 32px 24px 24px; }
    .it-s .it-job__feature { font-weight: 700; line-height: 1.6; color: var(--it-ink); text-align: center; font-size: 16px; }
    .it-s .it-job__tags { margin: 16px 0 0; }
    .it-s .it-job__tags > div { display: grid; grid-template-columns: 6em minmax(0, 1fr); align-items: baseline; border-bottom: 1px solid var(--it-line); }
    .it-s .it-job__tags > div:first-child { border-top: 1px solid var(--it-line); }
    .it-s .it-job__tags dt { padding: 10px 0; color: var(--it-sub); font-size: 14px; line-height: 1.6; }
    .it-s .it-job__tags dd { padding: 10px 0; min-width: 0; color: var(--it-ink); font-size: 16px; line-height: 1.6; font-weight: 400; }
    .it-s .it-job__pay { display: flex; flex-direction: column; justify-content: center; margin: 20px 0 24px; padding: 16px 12px; background: var(--it-blue); text-align: center; color: var(--it-navy); }
    .it-s .it-job__pay-row { font-weight: 700; line-height: 1.5; font-size: 16px; }
    .it-s .it-job__pay strong {
      font-family: var(--it-serif);
      font-weight: 600;
      line-height: 1.1;
      color: var(--it-navy);
      margin: 0 2px;
      font-size: 36px;
    }
    .it-s .it-job__plus { --i: var(--it-i-plus); width: 14px; height: 14px; margin: 10px auto; font-size: 0; color: var(--it-navy); }
    .it-s .it-job__pay-note { font-weight: 700; color: var(--it-navy); font-size: 16px; }
    .it-s .it-job__pay-def { margin-top: 8px; color: var(--it-text); font-size: 14px; line-height: 1.6; }
    .it-s .it-jobs__note {
      margin: 28px auto 0;
      padding: 16px 20px;
      background: #fff;
      border-left: 3px solid var(--it-navy);
      font-size: 16px;
      line-height: 1.8;
      color: var(--it-text);
      max-width: 760px;
    }
    .it-s .it-job .cta__btn.it-job__cta { width: auto; margin: auto 0 0; box-shadow: none; transform: none; transition: none; }
    .it-s .it-job__btn {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2px;
      min-height: 60px;
      padding: 10px 16px;
      border-radius: 4px;
      background: #fff;
      border: 2px solid var(--it-red);
      color: var(--it-red);
      text-align: center;
      transition: background-color 0.2s ease, color 0.2s ease;
    }
    .it-s .it-job__btn-main { font-weight: 700; line-height: 1.4; letter-spacing: 0.06em; font-size: 16px; }
    .it-s .it-job__btn-sub { font-size: 14px; line-height: 1.6; }
    /* IFAへの転職で多い不安（01〜03の番号。よくある質問のQと見分ける） */
    .it-s .it-guide { display: grid; gap: 12px; counter-reset: guide; }
    .it-s .it-guide__item { padding: 28px 32px 30px; background: var(--it-blue); counter-increment: guide; }
    .it-s .it-guide__q {
      position: relative;
      display: flex;
      align-items: flex-start;
      gap: 11px;
      font-family: var(--it-serif);
      font-weight: 600;
      color: var(--it-navy);
      margin-bottom: 14px;
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-size: 20px;
    }
    .it-s .it-guide__q::before {
      content: counter(guide, decimal-leading-zero);
      flex: none;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 30px;
      padding: 0 10px 0 0;
      border-right: 1px solid var(--it-blue-line);
      color: var(--it-navy);
      font-family: var(--it-latin);
      font-size: 28px;
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: 0.04em;
      white-space: nowrap;
      overflow-wrap: normal;
      box-sizing: content-box;
    }
    .it-s .it-guide__item > p { font-size: 16px; line-height: 1.8; padding-left: 52px; }
    .it-s .it-guide__link { margin: 16px 0 -10px; }
    .it-s .it-pairs { margin: 16px 0 4px 52px; background: #fff; }
    .it-s .it-pairs li.it-pairs__head { padding-top: 10px; padding-bottom: 10px; background: var(--it-blue); }
    .it-s .it-pairs li.it-pairs__head::before { display: none; }
    .it-s .it-pairs__head span { font-size: 14px; line-height: 1.5; font-weight: 700; color: var(--it-navy-soft); }
    .it-s .it-pairs li {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) 28px minmax(0, 1fr);
      align-items: center;
      column-gap: 12px;
      padding: 14px 18px;
      font-size: 16px;
      line-height: 1.6;
    }
    .it-s .it-pairs li + li { border-top: 1px solid var(--it-line); }
    .it-s .it-pairs__risk { grid-column: 1; color: var(--it-text); }
    .it-s .it-pairs__check { grid-column: 3; font-weight: 700; color: var(--it-navy); }
    .it-s .it-pairs li::before {
      content: "";
      grid-column: 2;
      grid-row: 1;
      justify-self: center;
      --i: var(--it-i-arrow);
      width: 16px;
      height: 16px;
      color: var(--it-navy-soft);
    }
    .it-s .it-guide__note { margin-top: 14px; font-size: 16px; line-height: 1.8; }
    /* 読み物のリンク */
    .it-s .it-more { text-align: center; margin: 24px 0 -10px; }
    .it-s .it-more a, .it-s .it-guide__link a {
      display: inline;
      padding: 10px 0;
      font-weight: 700;
      color: var(--it-navy);
      text-decoration: underline;
      text-underline-offset: 5px;
    }
    .it-s .it-more a::after, .it-s .it-guide__link a::after {
      content: "";
      --i: var(--it-i-chevron);
      display: inline-block;
      width: 12px;
      height: 12px;
      margin-left: 6px;
      vertical-align: -1px;
    }
    /* 文中のリンク（行の上下に押せる範囲を広げない。広げると上下の行と重なる） */
    .it-s .it-guide__item > p:not(.it-guide__link) a, .it-s .it-faq__a a, .it-s .it-consult__company a, .it-s.it-sources a {
      display: inline;
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .it-s .it-guide__item > p:not(.it-guide__link) a, .it-s .it-faq__a a { font-weight: 700; color: var(--it-navy); }
    .it-s .it-more--down a::after { transform: rotate(90deg); }
    .it-s .it-more--light a { color: #fff; }
    /* 転職成功事例 */
    @media (min-width: 1080px) {
      .it-s .it-cases.splide:not(.is-active) .splide__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
    }
    .it-s .it-cases.splide { visibility: visible; }
    .it-s .it-cases .splide__track { overflow: visible; }
    @media (max-width: 1079.98px) {
      /* data-splide で Splide を止めている。lp.js の実物が違って動いた場合に、書き込まれる style に勝つ保険として、ここだけ !important */
      .it-s .it-cases.splide .splide__list { display: grid !important; gap: 32px !important; transform: none !important; }
      .it-s .it-cases.splide .splide__slide { width: 100% !important; margin: 0 !important; }
      .it-s .it-cases.splide :is(.splide__arrows, .splide__pagination) { display: none !important; }
      .it-s .it-cases.splide { max-width: 600px; margin: 0 auto; }
    }
    .it-s .it-case { display: flex; flex-direction: column; height: 100%; background: #fff; box-shadow: var(--it-shadow-2); }
    .it-s .it-case__head { position: relative; }
    .it-s .it-case__photo { display: block; width: 100%; height: auto; aspect-ratio: 580 / 221; object-fit: cover; object-position: center 30%; }
    .it-s .it-case__num {
      position: absolute;
      left: 0;
      bottom: 0;
      padding: 10px 20px 8px;
      background: #fff;
      font-family: var(--it-latin);
      font-weight: 500;
      line-height: 1;
      color: var(--it-navy);
      font-size: 36px;
    }
    .it-s .it-case__num span { display: block; text-transform: uppercase; color: var(--it-navy-soft); margin-bottom: 2px; font-size: 14px; letter-spacing: 0.16em; }
    .it-s .it-case__route { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .it-s :where(.it-case__route > div) { padding: 10px 20px 12px; }
    .it-s .it-case__from {
      position: relative;
      background: var(--it-navy);
      color: #fff;
      clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
      padding-right: 28px;
      z-index: 1;
    }
    .it-s .it-case__to { margin-left: -14px; padding-left: 34px; color: var(--it-navy); background: var(--it-blue-2); }
    .it-s .it-case__route dt { opacity: 0.85; font-size: 14px; line-height: 1.6; }
    .it-s .it-case__route dd { font-weight: 700; font-size: 16px; line-height: 1.6; }
    .it-s .it-case__body { display: flex; flex: 1; flex-direction: column; padding: 24px 28px 28px; }
    .it-s .it-case__ttl { font-family: var(--it-serif); font-weight: 600; color: var(--it-navy); letter-spacing: 0.04em; line-height: 1.5; font-size: 20px; }
    .it-s .it-case__catch {
      font-family: var(--it-serif);
      font-weight: 500;
      line-height: 1.6;
      color: var(--it-ink);
      margin-top: 8px;
      padding-left: 14px;
      border-left: 3px solid var(--it-blue-accent);
      font-size: 18px;
    }
    .it-s .it-case__text { margin-top: 16px; font-size: 16px; line-height: 1.8; color: var(--it-text); }
    .it-s .it-case__name { color: var(--it-sub); margin-top: auto; padding-top: 12px; text-align: right; font-size: 14px; line-height: 1.6; }
    .it-s .it-episodes { margin-top: 56px; }
    .it-s .it-episodes .it-h3 { text-align: center; margin-bottom: 20px; }
    .it-s .it-episodes__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    @media (max-width: 1079.98px) {
      .it-s .it-episodes { max-width: 600px; margin-left: auto; margin-right: auto; }
      .it-s .it-episodes__list { grid-template-columns: minmax(0, 1fr); }
    }
    .it-s .it-episodes__list a {
      position: relative;
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: 18px 40px 18px 20px;
      background: #fff;
      border-left: 3px solid var(--it-navy);
      transition: box-shadow 0.2s ease;
      font-size: 16px;
      line-height: 1.6;
      color: var(--it-text);
      box-shadow: var(--it-shadow-1);
    }
    .it-s .it-episodes__list a::after {
      content: "";
      position: absolute;
      right: 18px;
      top: 50%;
      --i: var(--it-i-chevron);
      width: 12px;
      height: 12px;
      color: var(--it-navy);
      transform: translateY(-50%);
    }
    .it-s .it-episodes__from { font-weight: 700; color: var(--it-navy-soft); margin-bottom: 2px; font-size: 14px; line-height: 1.6; }
    /* 選ばれる理由（番号の箱・写真の重ね・2つ目は紺の面） */
    .it-s.it-sec.it-sec--reason { padding-bottom: 0; overflow-x: hidden; overflow-x: clip; }
    .it-s .it-reasons { display: grid; gap: 0; }
    .it-s .it-reason { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; padding: 56px 0; align-items: start; }
    .it-s .it-reason:first-child { padding-top: 0; }
    .it-s .it-reason:nth-child(even) .it-reason__media { order: 2; }
    .it-s .it-reason--dark { color: var(--it-on-navy); }
    .it-s .it-reason--dark::before { content: ""; position: absolute; inset: 0 -100vmax; background: var(--it-navy); z-index: 0; }
    .it-s .it-reason > * { position: relative; z-index: 1; }
    .it-s .it-reason__media::before {
      content: "";
      position: absolute;
      top: -24px;
      width: 56%;
      height: 56%;
      background: var(--it-blue);
      z-index: -1;
      right: -24px;
    }
    .it-s .it-reason--dark .it-reason__media::before { background: rgba(159, 187, 224, 0.18); right: auto; left: -24px; }
    .it-s .it-reason__photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.85); }
    .it-s .it-reason__photo--muted { object-position: center 0; }
    .it-s .it-reason__note {
      position: relative;
      width: 82%;
      margin: -48px 0 0 auto;
      padding: 20px 26px;
      background: var(--it-navy);
      color: #fff;
      font-family: var(--it-sans);
      font-weight: 700;
      font-size: 16px;
      line-height: 1.7;
    }
    .it-s .it-reason:nth-child(even) .it-reason__note { margin: -48px auto 0 0; }
    .it-s .it-reason__note--light { background: #fff; color: var(--it-navy); }
    .it-s .it-reason__note-sub {
      font-family: var(--it-sans);
      font-weight: 400;
      color: var(--it-sub);
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px solid var(--it-line);
      font-size: 14px;
      line-height: 1.6;
    }
    .it-s .it-reason__num {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-width: 96px;
      min-height: 96px;
      padding: 8px;
      background: var(--it-navy);
      color: #fff;
      font-family: var(--it-latin);
      font-weight: 500;
      line-height: 1;
      font-size: 36px;
    }
    .it-s .it-reason__num span { text-transform: uppercase; color: var(--it-blue-accent); margin-bottom: 6px; font-size: 14px; letter-spacing: 0.16em; }
    .it-s .it-reason--dark .it-reason__num { background: #fff; color: var(--it-navy); }
    .it-s .it-reason--dark .it-reason__num span { color: var(--it-navy-soft); }
    .it-s .it-reason__ttl {
      font-family: var(--it-serif);
      font-weight: 600;
      font-size: 28px;
      color: var(--it-navy);
      margin: 24px 0 20px;
      letter-spacing: 0.04em;
      line-height: 1.5;
    }
    .it-s .it-reason__ttl span { display: block; font-weight: 600; color: var(--it-navy-soft); margin-bottom: 4px; font-size: 18px; }
    .it-s .it-reason--dark .it-reason__ttl { color: #fff; }
    .it-s .it-reason--dark .it-reason__ttl span { color: var(--it-blue-accent); }
    .it-s .it-reason__text strong { color: var(--it-navy); background: linear-gradient(transparent 64%, var(--it-blue-2) 64%); }
    .it-s .it-reason__text { font-size: 16px; line-height: 1.8; }
    .it-s .it-reason--dark .it-reason__text strong { color: #fff; background: linear-gradient(transparent 64%, rgba(159, 187, 224, 0.35) 64%); }
    .it-s .it-reason__text--after { margin-top: 16px; }
    .it-s .it-reason__point {
      margin-top: 28px;
      padding: 18px 24px;
      border: 1px solid var(--it-navy);
      font-family: var(--it-serif);
      font-weight: 600;
      color: var(--it-navy);
      text-align: center;
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-size: 20px;
    }
    .it-s .it-reason--dark .it-reason__point { border-color: rgba(255, 255, 255, 0.6); color: #fff; }
    /* 理由03：関係 → 選考がスムーズ の流れの図 */
    .it-s .it-flow { display: grid; grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); align-items: stretch; margin: 24px 0 0; }
    .it-s .it-flow p {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px 16px;
      line-height: 1.5;
      text-align: center;
      font-family: var(--it-sans);
      font-weight: 700;
      font-size: 16px;
    }
    .it-s .it-flow__from { grid-column: 1; background: var(--it-blue); color: var(--it-navy); }
    .it-s .it-flow__to { grid-column: 3; background: var(--it-navy); color: #fff; }
    .it-s .it-flow::before {
      grid-column: 2;
      grid-row: 1;
      align-self: center;
      justify-self: center;
      content: "";
      --i: var(--it-i-arrow);
      width: 16px;
      height: 16px;
      color: var(--it-navy-soft);
    }
    /* さらに：転身後までのサポート（紺の面） */
    .it-s .it-support {
      position: relative;
      padding: 72px 0 64px;
      background: linear-gradient(115deg, #1c3a68 0%, var(--it-navy) 45%, var(--it-navy-deep) 100%);
      color: #fff;
      text-align: center;
      overflow: hidden;
    }
    .it-s .it-support::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(100deg, transparent 0 62%, rgba(255, 255, 255, 0.05) 62% 74%, transparent 74%);
      pointer-events: none;
    }
    .it-s .it-support > .it-wrap { position: relative; }
    .it-s .it-support__lead {
      display: inline-block;
      padding: 6px 20px;
      background: #fff;
      color: var(--it-navy);
      font-family: var(--it-serif);
      font-weight: 600;
      line-height: 1.3;
      font-size: 16px;
      letter-spacing: 0.06em;
    }
    .it-s .it-support__text { font-family: var(--it-serif); font-weight: 600; font-size: 28px; line-height: 1.6; letter-spacing: 0.06em; margin-top: 20px; color: #fff; }
    .it-s .it-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 36px auto 0; text-align: left; }
    .it-s .it-steps li {
      position: relative;
      padding: 18px 36px 20px 28px;
      background: #fff;
      color: var(--it-navy);
      clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);
    }
    .it-s .it-steps li:first-child { clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%); padding-left: 22px; }
    .it-s .it-steps li + li { margin-left: -8px; }
    .it-s .it-steps li.is-key { background: var(--it-blue-accent); color: var(--it-navy-deep); }
    .it-s .it-steps li.is-key .it-steps__text { color: var(--it-navy-deep); }
    .it-s .it-steps__ttl { font-family: var(--it-serif); font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; font-size: 20px; }
    .it-s .it-steps__text { color: var(--it-text); margin-top: 6px; font-size: 16px; line-height: 1.6; }
    .it-s .it-support .it-more { margin-top: 32px; }
    /* YouTube */
    .it-s .it-movies { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
    .it-s .it-movies a { display: block; transition: opacity 0.2s ease; }
    .it-s .it-movies img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; outline: 1px solid rgba(19, 41, 75, 0.12); }
    .it-s .it-movies__ttl { position: relative; display: block; margin-top: 12px; padding-left: 24px; font-size: 16px; line-height: 1.6; color: var(--it-text); font-weight: 400; }
    .it-s .it-movies__ttl::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 16px; height: 16px; --i: var(--it-i-play); color: var(--it-navy); }
    /* よくある質問（Q・Aの箱、開閉） */
    .it-s .it-faq { display: grid; gap: 12px; }
    .it-s .it-faq__group + .it-faq__group { margin-top: 48px; }
    .it-s .it-faq__group-ttl {
      margin-bottom: 16px;
      padding-left: 17px;
      border-left: 3px solid var(--it-navy);
      font-family: var(--it-serif);
      font-weight: 600;
      color: var(--it-navy);
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-size: 22px;
    }
    .it-s .it-faq__a > p + .it-faq__ol, .it-s .it-faq__a > .it-faq__ol + p { margin-top: 10px; }
    .it-s .it-faq__ol { counter-reset: faq-list; }
    .it-s .it-faq__ol li { position: relative; padding-left: 1.6em; counter-increment: faq-list; }
    .it-s .it-faq__ol li + li { margin-top: 10px; }
    .it-s .it-faq__ol li::before { content: counter(faq-list) "."; position: absolute; left: 0; top: 0; font-weight: 700; color: var(--it-navy); }
    .it-s .it-faq__ol strong { color: var(--it-ink); }
    .it-s .it-faq__item { background: #fff; box-shadow: var(--it-shadow-1); }
    .it-s .it-faq__q {
      position: relative;
      display: flex;
      align-items: center;
      gap: 16px;
      min-height: 72px;
      list-style: none;
      cursor: pointer;
      padding: 16px 56px 16px 20px;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.6;
      color: var(--it-ink);
    }
    .it-s .it-faq__q::-webkit-details-marker { display: none; }
    .it-s .it-faq__q::before {
      content: "Q";
      flex: none;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--it-navy);
      color: #fff;
      font-family: var(--it-latin);
      font-weight: 500;
      line-height: 1;
      width: 36px;
      height: 36px;
      font-size: 20px;
      padding-bottom: 2px;
      box-sizing: border-box;
    }
    .it-s .it-faq__q::after {
      content: "";
      position: absolute;
      top: 50%;
      transition: transform 0.2s ease;
      --i: var(--it-i-chevron);
      width: 12px;
      height: 12px;
      right: 20px;
      color: var(--it-navy);
      transform: translateY(-50%) rotate(90deg);
    }
    .it-s .it-faq__item[open] .it-faq__q::after { transform: translateY(-50%) rotate(-90deg); }
    .it-s .it-faq__a {
      position: relative;
      margin: 0 20px;
      padding: 18px 8px 22px 52px;
      border-top: 1px solid var(--it-line);
      font-size: 16px;
      line-height: 1.8;
    }
    .it-s .it-faq__a::before {
      content: "A";
      position: absolute;
      left: 0;
      top: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--it-latin);
      font-weight: 500;
      line-height: 1;
      width: 36px;
      height: 36px;
      font-size: 20px;
      padding-bottom: 2px;
      box-sizing: border-box;
      background: #fff;
      border: 1px solid var(--it-navy);
      color: var(--it-navy);
    }
    /* 無料の転職相談 */
    .it-s.it-consult {
      position: relative;
      padding: 96px 0 64px;
      background: linear-gradient(115deg, #1c3a68 0%, var(--it-navy) 42%, var(--it-navy-deep) 100%);
      color: var(--it-on-navy);
      overflow: hidden;
    }
    .it-s.it-consult::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg, transparent 0 60%, rgba(255, 255, 255, 0.04) 60% 72%, transparent 72%);
      pointer-events: none;
    }
    .it-s.it-consult > .it-wrap { position: relative; }
    .it-s .it-consult__head { max-width: 760px; margin: 0 auto; padding-bottom: 12px; text-align: center; }
    .it-s.it-consult:focus { outline: none; }
    .it-s .it-consult__lead { font-size: 16px; line-height: 1.8; text-align: left; }
    .it-s .it-consult__flow { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin: 40px 0 40px; }
    .it-s .it-consult__flow li {
      padding: 24px 24px 26px;
      background: rgba(255, 255, 255, 0.08);
      border-top: 3px solid var(--it-blue-accent);
      font-size: 16px;
      line-height: 1.8;
    }
    @media (min-width: 1024px) {
      .it-s .it-consult__flow li { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
    }
    .it-s .it-consult__step { font-family: var(--it-latin); font-weight: 500; line-height: 1; color: var(--it-blue-accent); font-size: 14px; letter-spacing: 0.16em; }
    .it-s .it-consult__flow-ttl {
      font-family: var(--it-serif);
      font-weight: 600;
      color: #fff;
      margin: 10px 0 8px;
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-size: 20px;
    }
    .it-s .it-consult__company { text-align: center; color: var(--it-on-navy); margin-top: 24px; font-size: 14px; line-height: 1.6; }
    /* 出典 */
    .it-s.it-sources { padding: 24px 0 32px; background: var(--it-navy-deep); }
    .it-s .it-sources__ttl { font-weight: 700; color: var(--it-on-navy); margin-bottom: 4px; font-size: 14px; line-height: 1.6; }
    .it-s.it-sources li { font-size: 14px; line-height: 1.6; color: var(--it-on-navy); }
    .it-s.it-sources a { color: #fff; }
    .it-s .it-src-nw { white-space: nowrap; }
    /* 画面下の追従バナー（相談の節へスクロールする。申込のボタンではない） */
    .adlp-c-main .sticky-bnr.cta.it-sticky {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 100;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 10px 20px calc(10px + env(safe-area-inset-bottom));
      background: rgba(255, 255, 255, 0.97);
      border-top: 1px solid var(--it-line);
      box-shadow: 0 -6px 18px rgba(19, 41, 75, 0.1);
      transition: transform 0.25s ease-out, visibility 0s;
    }
    .adlp-c-main .sticky-bnr.cta.it-sticky:not(.is-view), .adlp-c-main .sticky-bnr.cta.it-sticky.is-hide {
      transform: translateY(100%);
      visibility: hidden;
      transition: transform 0.25s ease-out, visibility 0s 0.25s;
    }
    .it-s .it-sticky__lead {
      flex: none;
      padding: 4px 10px;
      background: var(--it-blue);
      color: var(--it-navy);
      font-weight: 700;
      font-size: 14px;
      line-height: 1.4;
      letter-spacing: 0.06em;
    }
    .it-s .it-sticky__link {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: 26rem;
      max-width: 100%;
      min-height: 52px;
      padding: 8px 16px;
      border-radius: 4px;
      background: var(--it-navy);
      color: #fff;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.4;
      letter-spacing: 0.06em;
    }
    .it-page footer { margin-bottom: 0; background-color: var(--it-navy-deep); font-family: var(--it-sans); }
    .it-page footer .footer_bottom { background-color: #08152a; }
    .it-page footer :is(.footer_inner, .footer_bottom_inner) { padding-left: 24px; padding-right: 24px; }
    .it-page footer .footer_bottom_menu { flex-wrap: wrap; justify-content: center; row-gap: 12px; }
    .it-page footer .footer_bottom_menu li a { white-space: nowrap; margin: 0 12px; }
    .it-page footer .footer_menu li a { white-space: nowrap; }
    @media (max-width: 480px) {
      .it-page footer .footer_menu li { width: 100%; }
    }
    @media (hover: hover) {
      .it-s .it-btn:hover { background: var(--it-red-dark); }
      .it-s .it-job__btn:hover { background: var(--it-red); color: #fff; }
      .it-s .it-movies a:hover { opacity: 0.85; }
      .it-s .it-episodes__list a:hover { box-shadow: 0 10px 24px rgba(19, 41, 75, 0.12); }
    }
    /* 1079.98px 以下：選ばれる理由を1列に（事例・体験記と同じ600px幅） */
    @media (max-width: 1079.98px) {
      .it-s .it-reasons { max-width: 600px; margin-left: auto; margin-right: auto; }
      .it-s .it-reason { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 48px 0; }
      .it-s .it-reason:nth-child(even) .it-reason__media { order: 0; }
      .it-s .it-reason__media::before { display: none; }
      .it-s .it-reason__photo { aspect-ratio: 16 / 9; }
      .it-s .it-reason--dark .it-reason__photo { object-position: 50% 0; }
    }
    /* タブレット */
    @media (max-width: 1023.98px) {
      .it-s .it-fv__grid { grid-template-columns: minmax(0, 1fr) 260px; }
      .it-s .it-movies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .it-s .it-consult__flow { grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: 760px; margin-left: auto; margin-right: auto; }
      .it-s .it-steps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
      .it-s .it-steps li + li { margin-left: 0; }
      .it-s .it-steps li, .it-s .it-steps li:first-child { clip-path: none; padding: 16px 20px; margin: 0; }
      .it-s .it-steps li:not(:last-child) { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(50% + 14px) calc(100% - 12px), 50% 100%, calc(50% - 14px) calc(100% - 12px), 0 calc(100% - 12px)); padding-bottom: 30px; }
    }
    @media (min-width: 768px) and (max-height: 820px) {
      .it-s .it-fv__bar { padding: 8px 0; }
      .it-s .it-fv__logo { width: 150px; }
      .it-s .it-fv__grid { min-height: 0; grid-template-columns: minmax(0, 1fr) auto; }
      .it-s .it-fv__copy { padding: 24px 0; }
      .it-s .it-fv__title { margin-bottom: 20px; }
      .it-s .it-fv__person { padding-top: 12px; }
      .it-s .it-fv__person img { max-height: 380px; width: auto; }
      .it-s .it-fv__cta { padding-top: 24px; }
    }
    @media (min-width: 768px) and (max-height: 500px) {
      .it-s .it-fv__h1 { font-size: 36px; }
      .it-s .it-fv__copy { padding: 14px 0; }
      .it-s .it-fv__title { margin: 4px 0 12px; }
      .it-s .it-fv__badge { padding: 10px 24px 12px; }
      .it-s .it-fv__badge-main { font-size: 28px; margin-top: 4px; }
      .it-s .it-fv__person img { max-height: 280px; }
      .it-s .it-fv__cta { padding-top: 14px; }
    }
    /* スマホ */
    @media (max-width: 767.98px) {
      .it-s .it-target__facts { padding: 18px 20px 20px; }
      .it-s .it-faq__group-ttl { font-size: 20px; }
      .it-s .it-steps__ttl { font-size: 18px; }
      .it-s .it-pc { display: none; }
      .it-s .it-wrap { padding: 0 20px; }
      .it-s.it-sec { padding: 64px 0; }
      .it-s .it-label { font-size: 16px; letter-spacing: 0.2em; }
      .it-s .it-h2 { margin-bottom: 36px; font-size: 24px; letter-spacing: 0.04em; }
      .it-s .it-h2::after { margin-top: 16px; }
      .it-s .it-h2__sub { font-size: 16px; }
      .it-s .it-h3 { font-size: 20px; }
      .it-s .it-intro { margin: -16px 0 28px; }
      .it-s .it-fv__bar { padding: 8px 0; }
      .it-s .it-fv__logo { width: 120px; }
      .it-s .it-fv__grid {
        grid-template-columns: minmax(0, 1fr) 38%;
        grid-template-areas: "lead lead" "title title" "badge person" "prof prof";
        min-height: 0;
        gap: 0 8px;
      }
      .it-s .it-fv__copy { display: contents; }
      .it-s .it-fv__lead { grid-area: lead; padding-top: 16px; font-size: 16px; }
      .it-s .it-fv__lead strong { font-size: 20px; }
      .it-s .it-fv__title { grid-area: title; margin: 6px 0 0; line-height: 1; }
      .it-s .it-fv__h1 { font-size: 30px; }
      .it-s .it-fv__badge { grid-area: badge; align-self: center; margin: 14px 0; padding: 14px 10px 16px; }
      .it-s .it-fv__badge-label { padding: 3px 8px; }
      .it-s .it-fv__badge-main { margin-top: 8px; font-size: 24px; }
      .it-s .it-fv__badge-sub { font-size: 16px; }
      .it-s .it-fv__person { display: contents; }
      .it-s .it-fv__person picture { grid-area: person; margin-top: 10px; }
      .it-s .it-fv__person img { width: 100%; max-width: 100%; height: 210px; object-fit: cover; object-position: 50% 0; }
      .it-s .it-fv__person::after { display: none; }
      .it-s .it-fv__prof { grid-area: prof; position: static; margin: 0 -20px; padding: 8px 20px; background: rgba(11, 27, 51, 0.6); }
      .it-s .it-fv__prof br { display: none; }
      .it-s .it-fv__prof .it-nw { margin-right: 0.5em; }
      .it-s .it-fv__name { font-size: 16px; }
      .it-s .it-fv__cta { padding: 18px 20px 0; }
      .it-s .it-cta__lead { margin-bottom: 10px; }
      .it-s .it-cta--inline { padding: 36px 0 0; }
      .it-s .it-btn { min-height: 68px; gap: 12px; padding: 8px 16px 8px 14px; }
      .it-s .it-btn__main { font-size: 18px; }
      .it-s .it-cta__note { margin-top: 10px; }
      .it-s .it-promise { margin-top: 32px; }
      .it-s .it-promise__grid { gap: 8px; padding-top: 28px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "label" "text" "sub"; }
      .it-s .it-promise__photo { display: none; }
      .it-s .it-promise__body { display: contents; }
      .it-s .it-promise__label { padding: 5px 12px 6px; font-size: 20px; grid-area: label; justify-self: start; }
      .it-s .it-promise__text { margin-top: 14px; font-size: 18px; grid-area: text; }
      .it-s .it-promise__sub { grid-area: sub; padding: 0 0 24px; }
      .it-s .it-target { grid-template-columns: minmax(0, 1fr); gap: 16px; }
      .it-s .it-target__title { font-size: 18px; padding: 12px 20px; }
      .it-s .it-list { padding: 16px 20px 20px; }
      .it-s .it-jobs { gap: 16px; }
      .it-s .it-job__head { padding: 18px 20px 20px; }
      .it-s .it-job__for { font-size: 18px; }
      .it-s .it-job__body { padding: 28px 20px 20px; }
      .it-s .it-job__pay strong { font-size: 30px; }
      .it-s .it-guide__item { padding: 24px 20px; }
      .it-s .it-guide__q { gap: 12px; font-size: 18px; }
      .it-s .it-guide__q::before { min-width: 0; font-size: 24px; padding-right: 12px; }
      .it-s .it-guide__item > p { padding-left: 0; }
      .it-s .it-pairs { margin-left: 0; }
      .it-s .it-pairs li.it-pairs__head { row-gap: 2px; }
      .it-s .it-pairs li { grid-template-columns: minmax(0, 1fr); row-gap: 4px; padding: 12px 14px; }
      .it-s .it-pairs__check { grid-column: 1; position: relative; padding-left: 24px; }
      .it-s .it-pairs__check::before {
        position: absolute;
        left: 0;
        content: "";
        --i: var(--it-i-arrow);
        width: 16px;
        height: 16px;
        top: 0.3em;
        color: var(--it-navy-soft);
      }
      .it-s .it-pairs li::before { display: none; }
      .it-s.it-sec--deco::before { height: 220px; }
      .it-s .it-case__num { padding: 8px 14px 6px; font-size: 30px; }
      .it-s .it-case__route { grid-template-columns: minmax(0, 1fr); }
      .it-s .it-case__from { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(50% + 14px) calc(100% - 12px), 50% 100%, calc(50% - 14px) calc(100% - 12px), 0 calc(100% - 12px)); padding: 10px 20px 22px; }
      .it-s .it-case__to { margin: -12px 0 0; padding: 24px 20px 12px; }
      .it-s .it-case__body { padding: 20px 20px 24px; }
      .it-s .it-case__ttl { font-size: 18px; }
      .it-s .it-case__catch { font-size: 16px; }
      .it-s .it-episodes { margin-top: 44px; }
      .it-s .it-episodes__list a { padding: 16px 40px 16px 20px; }
      .it-s .it-reason { padding: 40px 0; gap: 24px; }
      .it-s .it-reason__note { width: auto; padding: 16px 20px; margin: -24px 0 0 24px; }
      .it-s .it-reason:nth-child(even) .it-reason__note { margin: -24px 24px 0 0; }
      .it-s .it-reason__num { min-width: 88px; min-height: 88px; font-size: 30px; }
      .it-s .it-reason__num span { margin-bottom: 4px; }
      .it-s .it-reason__ttl { margin: 18px 0 14px; font-size: 20px; }
      .it-s .it-reason__ttl span { font-size: 16px; }
      .it-s .it-reason__point { padding: 14px 20px; font-size: 18px; }
      .it-s .it-flow { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
      .it-s .it-flow__to { grid-column: 1; grid-row: 3; }
      .it-s .it-flow::before { grid-column: 1; grid-row: 2; margin: 8px auto; transform: rotate(90deg); }
      .it-s .it-support { padding: 52px 0 48px; }
      .it-s .it-support__text { font-size: 20px; }
      .it-s .it-movies { gap: 18px 12px; }
      .it-s .it-faq__q { min-height: 64px; gap: 10px; padding: 14px 48px 14px 20px; }
      .it-s summary.it-faq__q.it-kw { text-wrap: pretty; }
      .it-s .it-faq__q::before { width: 30px; height: 30px; font-size: 18px; }
      .it-s .it-faq__a { padding: 16px 4px 18px 40px; }
      .it-s .it-movies__ttl { font-size: 14px; }
      .it-s .it-faq__a::before { top: 14px; width: 30px; height: 30px; font-size: 18px; }
      .it-s.it-consult { padding: 64px 0; }
      .it-s .it-consult__lead { margin-top: 4px; }
      .it-s .it-consult__flow { margin: 24px 0 28px; }
      .it-s .it-consult__flow li { padding: 20px; }
      .it-s .it-consult__flow-ttl { margin: 8px 0 4px; font-size: 18px; }
      .adlp-c-main .sticky-bnr.cta.it-sticky { flex-direction: column; gap: 6px; padding-top: 8px; }
      .it-s .it-sticky__lead { padding: 2px 8px; }
      .it-s .it-sticky__link { flex: none; width: 100%; min-height: 48px; padding: 8px 12px; }
    }
    @media (max-width: 429.98px) {
      .it-s .it-btn { grid-template-columns: 50px minmax(0, 1fr) 50px; gap: 8px; padding: 8px 12px; }
    }
    @media (max-width: 374.98px) {
      .it-s .it-btn { grid-template-columns: 42px minmax(0, 1fr) 42px; }
      .it-s .it-btn__tag { padding: 2px 5px; letter-spacing: 0.04em; }
      .it-s .it-btn__main { font-size: 16px; }
      .it-s .it-job__btn { padding-left: 8px; padding-right: 8px; }
      .it-s .it-job__btn-main { letter-spacing: 0.02em; }
      .it-s .it-job__tags > div { grid-template-columns: minmax(0, 1fr); }
      .it-s .it-job__tags dt { padding-bottom: 0; }
      .it-s .it-job__tags dd { padding-top: 0; }
    }
    @media (max-width: 639.98px) {
      .it-s .it-cta .cta__btn.it-cta__btn { width: 100%; }
    }
    /* 縦の低い画面（横向きのスマホ）：スマホの指定より後ろに置く */
    @media (max-height: 500px) {
      .adlp-c-main .sticky-bnr.cta.it-sticky { flex-direction: row; gap: 12px; padding-top: 6px; padding-bottom: 6px; }
      .it-s .it-sticky__link { flex: 1 1 auto; width: auto; max-width: 26rem; min-height: 44px; }
    }
    /* 日本語の改行：文節の切れ目（wbr）でだけ折る。最後に置く */
    .it-s .it-kw, .it-s .it-nw, .it-s .it-fv__prof { word-break: keep-all; overflow-wrap: break-word; overflow-wrap: anywhere; }
    /* 行の長さをそろえる balance は、見出しと短いラベルだけ（本文・リストは pretty） */
    .it-s :is(h1, h2, h3, summary, .it-job__feature, .it-reason__point, .it-consult__flow-ttl, .it-cta__note, .it-job__btn-sub, .it-btn__sub).it-kw, .it-s .it-fv__badge .it-kw {
      text-wrap: balance;
    }

    #ifa-company-logos { min-height: clamp(160px, 16vw, 192px); }
    .it-company-logos__fallback { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
    .it-company-logos__fallback img { width: 80%; max-height: 96px; object-fit: contain; justify-self: center; }
    @media (max-width: 767.98px) { .it-company-logos__fallback { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
