@charset "utf-8";

/* JetBrains Mono（自ホスト・完全版サブセット）＝スラッシュ付きゼロ(zero feature)対応。
   Google Fonts版はzero等のOpenTypeフィーチャーが省かれ効かないためセルフホスト */
@font-face{
  font-family:'JetBrains Mono';
  src:url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}

/* =========================================================
   ① 変数（Figmaの色・寸法を集約）
   ========================================================= */
:root{
  --text:#222222;
  --green:#0A8470;          /* プライマリ緑 */
  --green-accent:#32D89C;   /* ENTRY矢印の明るい緑 */
  --white:#ffffff;
  --noise-tile:96px;   /* 地背景グレイン(grain-fine.webp)のタイル寸法＝粒度。1か所管理／線のノイズも同値参照 */
  /* CTA黄緑グラデ（Figma radial・左上中心の楕円。cx/cy≒(3%,8%)、stop 0/50/75/100%） */
  --cta-grad:radial-gradient(97% 112% at 3% 8%,#F5F2CE 0%,#E6ED89 50%,#DFEB66 75%,#D8E944 100%);
  /* AI版グラデ（Figma正値）。赤→紫→青系。要素ごとにストップ違い */
  --ai-green:#00B66D;   /* ボタン(ピル等)の緑（Figma AI_green） */
  --ai-cyan:#19AECA;    /* カルーセルnav（01/06・進捗・矢印）のシアン */
  --grad-copy:linear-gradient(90deg,#C16D8A 0%,#A5A6C8 50%,#2E9FBD 100%);      /* ② 見出しBox（カンプ実レンダ色：左は淡い赤#C16D8A・中#A5A6C8・右#2E9FBD） */
  --grad-cta:linear-gradient(86.07deg,#E15670 0%,#D85D87 12%,#CE65A2 25%,#BF72C9 43%,#938AD3 60%,#6C9FDB 75%,#46B4E4 90%,#32BFE8 100%);   /* ⑤ CTAボタン（252:414の実レンダ色を実測サンプリング。定義#EF4D50はベタで鮮やか過ぎ→実際はくすんだピンク〜紫〜シアン。ドロワーCTAで使用） */
  --grad-entry:linear-gradient(110.17deg,#EF4D50 4.53%,#C598D1 38.51%,#19AECA 97.56%);  /* ① ENTRYボタン（Figma正値） */
  --grad-eng:linear-gradient(174.13deg,#1ED88F 15.637%,#169FDE 136.89%);                   /* ③ AIエンジニア（文字・緑→青。Figma実測252:1240） */
  --grad-cons:linear-gradient(157.59deg,#F48284 49.377%,#DDADE9 27.846%,#4DE3FF 97.433%);  /* ④ AIコンサルタント（文字。Figma実測252:1244を白30%ブレンドで淡く） */
  --content:1160px;          /* コンテンツ最大幅（Figma基準） */
  --sp-max:390px;            /* SPコンテンツ最大幅＝カンプSP基準（幅拡大時はこれで中央固定） */
  --header-h-sp:64px;
  /* ブレークポイント=1025px（@mediaでは変数不可のため各所で直書き） */
}

/* =========================================================
   ② ベース（日本語タイポの鉄則）
   ========================================================= */
html{overflow-x:clip}   /* absolute配置のヘッダー等はbodyのclip対象外→html側でも横あふれを遮断（狭幅の右白余白防止） */
body{
  background:var(--white);
  color:var(--text);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  word-break:auto-phrase;   /* 文節で折り返す */
  line-break:strict;
  line-height:1.7;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;   /* 横オーバーフローを抑止（中央寄せズレ・横スクロール防止） */
}
.pc-only{display:none}
.sp-only{display:block}
@media (min-width:1025px){
  .pc-only{display:block}
  .sp-only{display:none}
  br.pc-only{display:inline}
}
br.sp-only{display:inline}
@media (min-width:1025px){ br.sp-only{display:none} }
/* インライン用PC/SP切替（数値・ラベル等をインラインのまま出し分け） */
.i-sp{display:inline}
.i-pc{display:none}
@media (min-width:1025px){ .i-sp{display:none} .i-pc{display:inline} }

/* CTAボタン（共通） */
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  background:var(--cta-grad);
  color:var(--green);
  font-weight:700;
  border-radius:10px;
  letter-spacing:.05em;
  box-shadow:0 0 4.714px rgba(3,66,56,.4);   /* Figma: 若干のシャドウ */
}
.btn-cta__arrow{width:20px;height:auto;flex:none;transform:scaleX(-1)}   /* 2色の下向き矢印。Figmaは水平反転で左右の色が入替わる */

/* =========================================================
   ④ ヘッダー（SPベース → PCで上書き）
   ========================================================= */
.header{
  position:absolute;top:0;left:0;right:0;z-index:100;
  height:var(--header-h-sp);
  display:flex;align-items:center;justify-content:space-between;
  padding-right:20px;   /* カンプ1:5090: ヘッダー背景は透明（FVが透ける）・右余白20px */
}
/* ロゴは白い不透明ボックス（カンプ1:5091: bg白・右下角丸2px・pl12/pr16/py16）。ヘッダー自体は透明 */
.header__logo{
  flex:0 1 auto;min-width:0;   /* 狭幅ではロゴボックスを収縮可に（下限360px未満で右あふれ→白余白を防止） */
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#fff;border-radius:0 0 2px 0;
  padding:16px 16px 16px 12px;
}
.header__logo-img{
  position:relative;width:272px;max-width:100%;height:auto;aspect-ratio:272 / 32;overflow:hidden;   /* 基本272×32。狭幅では親の収縮に追従して等比縮小（内側imgは%指定で連動） */
}
.header__logo-img img{
  position:absolute;top:-21.21%;left:-0.15%;
  width:100.31%;height:142.42%;max-width:none;
}
/* PCナビはSPでは非表示 */
.header__nav{display:none}

/* ハンバーガー */
.hamburger{
  width:40px;height:40px;flex:none;   /* カンプ1:5093: 40×40（右余白はheaderのpr:20px） */
  background:#333;border-radius:2px;   /* 閉＝カンプ252:1801：#333・角丸2px */
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  transition:background .3s ease,border-radius .3s ease;
}
.hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease}   /* 2本線→開くと×へモーフ */
.hamburger.is-open{background:#222;border-radius:6px}   /* 開＝カンプ240:5090：#222・角丸6px */
.hamburger.is-open span:nth-child(1){transform:translateY(4px) rotate(45deg)}    /* 上線→＼ */
.hamburger.is-open span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}  /* 下線→／ */

/* ---- PCヘッダー ----
   1440pxでFigma原寸(基準16px)、1025pxへ向けて約85%まで等比縮小して収める。
   基準font-sizeをvw連動のclampで作り、各寸法をemで持たせる（1箇所で全体が連動）。 */
@media (min-width:1025px){
  .header{
    height:auto;background:transparent;
    padding:20px;
    /* 基準サイズ: 1025px→13.6px / 1440px以上→16px */
    font-size:clamp(13.6px, calc(2.16px + 1.116vw), 16px);   /* 1240pxで上限16px（ナビが収まる幅）→以上は固定 */
  }
  .header__logo{
    flex:0 0 auto;              /* PCは横幅に余裕があるためロゴ固定（SPの収縮指定を解除） */
    background:var(--white);
    padding:1.5em;              /* 24px */
    border-radius:0 0 4px 0;
  }
  .header__logo-img{width:17em;height:2em}   /* 272 / 32 */
  .hamburger{display:none}

  .header__nav{
    display:flex;align-items:center;gap:2.5em;   /* 40px */
  }
  .nav-list{
    display:flex;align-items:center;gap:1.5em;    /* 24px */
  }
  .nav-list__item,.nav-more{
    font-weight:500;font-size:1em;line-height:1.2;
    letter-spacing:0.1em;color:var(--text);white-space:nowrap;   /* 1.6px相当 */
  }
  .nav-more{display:flex;align-items:center;gap:.5em;cursor:pointer}
  .nav-more__chevron{width:.625em;height:auto;transform:rotate(90deg);transition:transform .25s ease}   /* 10px */

  /* 会社についてもっと知る ドロップダウン（Figma専用デザインなし・サイトのトーンに合わせて作成） */
  .nav-item-more{position:relative}
  .nav-dropdown{
    position:absolute;top:calc(100% + .75em);right:0;z-index:120;
    min-width:20em;
    background:var(--white);
    border-radius:.5em;
    box-shadow:0 .5em 1.5em rgba(0,0,0,.12);
    padding:.5em 0;
    opacity:0;visibility:hidden;transform:translateY(.5em);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }
  /* ホバー(マウス) / クリック(キーボード・タッチ) の両対応 */
  .nav-item-more:hover .nav-dropdown,
  .nav-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-item-more:hover .nav-more__chevron,
  .nav-more[aria-expanded="true"] .nav-more__chevron{transform:rotate(-90deg)}

  .nav-dropdown__list li+li{border-top:1px solid #eef1f0}
  .nav-dropdown__list a{
    display:block;padding:.85em 1.5em;transition:background .15s ease;
  }
  .nav-dropdown__list a:hover{background:#f4f8f6}
  .dd-ja{display:block;font-weight:700;font-size:1em;color:var(--text);line-height:1.4;letter-spacing:.02em}
  .dd-en{display:block;font-weight:700;font-size:.7em;color:var(--green);letter-spacing:.08em;margin-top:.15em}

  .header__entry{
    display:inline-flex;align-items:center;gap:1em;   /* 16px */
    height:3.5em;padding:0 2em;border-radius:8px;      /* 56 / 32 */
    background:var(--grad-entry);
    color:#fff;font-weight:700;font-size:1.25em;   /* 20px：AI版は赤→紫→青＋白文字 */
    letter-spacing:0.04em;white-space:nowrap;              /* 0.8px相当 */
  }
  .header__entry-arrow{width:.7em;height:.6em;flex:none;transform:rotate(90deg) scaleY(-1)}   /* 下向きVアセットを右向き＞に（Figma同変換） */
}

/* =========================================================
   ⑤ ドロワー（SPメニュー展開）
   ========================================================= */
.drawer{
  position:fixed;inset:0;z-index:99;   /* ヘッダー(z:100)の下＝別のメニューヘッダーを重ねず、単一ヘッダーを上に残す */
  padding-top:var(--header-h-sp);      /* パネルはヘッダーの下から始める（ヘッダーは重複させない） */
  background:rgba(255,255,255,.1);   /* カンプ Rectangle58: 白10%スクリム */
  backdrop-filter:blur(12px);        /* カンプ: 背後のFVにぼかし（背景ブラー） */
  -webkit-backdrop-filter:blur(12px);
  display:flex;flex-direction:column;
  overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
/* 開いている間はヘッダーを固定（スクロール位置に関わらず×が最上部に見える） */
body.menu-open .header{position:fixed}
.drawer.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.drawer__head{
  flex:none;height:var(--header-h-sp);
  display:flex;align-items:center;justify-content:space-between;
  padding-right:20px;   /* カンプ 1:6282: ヘッダー右余白20px・左はロゴ白箱を端に密着 */
}
/* ドロワーのロゴ白ボックスは base .header__logo と同一（カンプ1:6283＝1:5091）。追加指定不要 */
.drawer__close{margin-left:auto}
/* ヘッダー下の白パネル（カンプ Rectangle59: 白94%・角丸12px・y82〜） */
.drawer__panel{
  background:rgba(255,255,255,.94);
  border-radius:12px;
  margin-top:18px;
}
.drawer__close{
  width:40px;height:40px;flex:none;   /* カンプ 1:6285: 40×40 */
  background:#222;border-radius:6px;   /* カンプ240:5090：#222（black） */
  display:flex;align-items:center;justify-content:center;
}
.drawer__close::before,.drawer__close::after{
  content:"";position:absolute;width:18px;height:2px;background:#fff;border-radius:2px;
}
.drawer__close::before{transform:rotate(45deg)}
.drawer__close::after{transform:rotate(-45deg)}
.drawer__close{position:relative}

.drawer__list{padding:24px 24px 8px}
.drawer__list li+li{margin-top:26px}
.drawer__list a{display:block}
.drawer__ja{display:block;font-weight:700;font-size:18px;color:var(--text);line-height:1.4}
.drawer__en{display:block;font-weight:700;font-size:12px;color:var(--green);letter-spacing:.08em;margin-top:2px}

.drawer__cta{margin:16px 24px 40px}
.drawer .btn-cta{width:100%;height:64px;font-size:15px;background:var(--grad-cta);color:#fff;border-radius:2px}   /* 目標252:414：赤→紫→青グラデ・角丸2px・白文字15px */
.drawer .btn-cta__arrow{width:14px;transform:none}   /* 白＞（arrow-cta2c）・非反転・14px */

@media (min-width:1025px){
  .drawer{display:none}
}

/* =========================================================
   ⑥ FV
   ========================================================= */
.fv{
  position:relative;
  /* AI版FV背景（SP）＝グラデ＋装飾一体の支給画像（Frame 10423）を最上層。最下層に白＋#00686Eノイズ（ABOUT等と共通）を敷く＝グラデが覆わない下部が白+ノイズに */
  background-color:#fff;
  background-image:url(../images/fv/bg-mv-sp.webp), url(../images/data/noise.webp);
  background-repeat:no-repeat, repeat;
  background-position:center top, 0 0;
  background-size:100% 1032px, 20px 20px;   /* グラデ:780×2064=2xの390×1032／ノイズ:100pxタイル */
  overflow:hidden;
}
.fv__bg{display:none}   /* AIはスウォッシュ画像なし（背景はグラデ合成） */
.fv > *:not(.fv__bg){position:relative;z-index:1}

/* ---- カルーセル ---- */
.fv-cardgroup{max-width:390px;margin-inline:auto;margin-top:-135px;transform:scale(var(--fv-scale,1));transform-origin:top center}   /* SP:390px中央固定＋-135pxで上げる。--fv-scaleはJSが算出（幅<390pxで等比縮小・上中央原点） */
.fv-carousel{overflow:hidden}   /* SP:幅はラッパー(.fv-cardgroup)に追従。PCは絶対配置＋margin:0で無効 */
.fv-carousel__track{
  display:flex;align-items:flex-end;   /* 待機カードをメイン(アクティブ)と下揃え */
  padding:110px 0 10px;padding-left:16px;   /* 上余白でカードをカンプ位置(y107)へ→スウォッシュ上の乗り位置を合わせる。下端→nav=10px */
  height:424px;                       /* 高さ固定＝切替時に下のコンテンツが揺れない */
}
/* SP: 矢印クリックでtransform移動 */
.fv-carousel.is-slider .fv-carousel__track{transition:transform .45s ease;will-change:transform}

/* SPナビ（カウンター＋進捗バー＋矢印） */
.fv-carousel__nav{
  display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;
  padding:0 16px;   /* nav高さ≒19.46px（カンプ準拠）。カード下との間隔はtrack側10px */
  max-width:390px;margin-inline:auto;   /* SP:390px中央寄せ固定 */
}
.fv-carousel__progress{width:150px;display:flex;flex-direction:column;gap:3px;min-width:0}
.fv-carousel__count{
  display:flex;align-items:baseline;gap:5px;padding-left:4px;
  color:var(--ai-cyan);font-family:Helvetica,Arial,"Noto Sans JP",sans-serif;line-height:1;   /* Figma #19AECA */
}
.fv-carousel__count .cur{font-size:12px}
.fv-carousel__count .sep{font-size:8px}
.fv-carousel__count .total{font-size:12px;letter-spacing:.96px}
.fv-carousel__bar{position:relative;width:100%;height:1px;background:rgba(25,174,202,.4)}
.fv-carousel__bar-fill{
  position:absolute;left:0;top:0;height:1px;width:34%;
  background:var(--ai-cyan);transition:width .35s ease;
}
.fv-carousel__arrows{display:flex;align-items:center;gap:16px;padding-bottom:2px}
.fv-carousel__arrow{padding:2px 4px}
.fv-carousel__arrow img{width:5px;height:auto;display:block}
.fv-carousel__arrow--prev img{transform:rotate(180deg)}

/* ---- カード（Figma書き出しのフラット画像＋非アクティブ用グラデ） ---- */
/* SP: フォーカス型（アクティブ=大きく上／その他=小さく下にずらす＋霞ませる） */
.fv-card{
  position:relative;flex:none;
  width:168px;
  margin-right:25px;
  filter:drop-shadow(0 1px 5px rgba(0,87,90,.28));
  transition:width .35s ease;
}
.fv-card > img{display:block;width:100%;height:auto;border-radius:1px}
.fv-card__veil{
  display:none;   /* 待機カードに霞み（ヴェール）を乗せない（SP/PC共通） */
  position:absolute;inset:0;border-radius:1px;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,58,85,.26) 0%,rgba(0,58,85,.78) 100%);
  transition:opacity .35s ease;
}
.fv-card__link{position:absolute;inset:0;z-index:3;border-radius:1px}   /* カード全面をクリック可能に（ホバーでマーキー停止＝355行→そのままクリックで求人へ） */
.fv-carousel.is-snapping .fv-card,
.fv-carousel.is-snapping .fv-card__veil{transition:none}
.fv-card.is-active{width:224px}
.fv-card.is-active .fv-card__veil{opacity:0}   /* アクティブは霞なし */

/* ---- キャッチコピー ＋ PM/PL ---- */
.fv-lead{
  margin-top:80px;   /* SP:見出し＋タグを下げる（120→100→70→10px下げて80px）。PCは@1025でリセット */
  padding:27px 0 48px;   /* 横0＝見出しボックスを左端までブリード（カンプ:box幅390）。CTA/ピルは別ラッパーで別途16pxインセット */
  display:flex;flex-direction:column;gap:calc(8px * var(--fv-scale,1));   /* 見出し→タグ間隔＝見出し行間と同じ8px（カンプ252:1226実測）。狭幅で等比縮小 */
  max-width:390px;margin-inline:auto;   /* SP:390px中央寄せ固定 */
}
/* AI版：白太字＋ピンク→青グラデのボックス（行ごとに独立、テキスト幅にフィット） */
.fv-copy{display:flex;flex-direction:column;align-items:flex-start;gap:calc(8px * var(--fv-scale,1))}   /* SP:見出し行間も--fv-scaleで縮小 */
.fv-copy__line{
  background:var(--grad-copy);
  display:flex;align-items:center;min-height:calc(49px * var(--fv-scale,1));   /* カンプ実測：ボックス高49px・テキスト垂直中央。狭幅で等比縮小 */
  font-family:"游ゴシック体",YuGothic,"Yu Gothic","游ゴシック","Hiragino Kaku Gothic ProN",sans-serif;   /* カンプ：見出しは游ゴシック（Mac正式名"游ゴシック体"を先頭に） */
  color:#fff;font-weight:700;font-size:calc(28px * var(--fv-scale,1));line-height:1;letter-spacing:0.09em;white-space:nowrap;   /* 28px。字間（0.09em指定）。幅<390pxで等比縮小＝見切れ防止 */
  padding:0 calc(6px * var(--fv-scale,1)) 0 calc(17px * var(--fv-scale,1));border-radius:2px;   /* 左17・右6（縦は中央寄せ） */
}
.fv-copy__line:first-child{align-self:stretch}   /* カンプ：line1のみ全幅固定（390＝画面いっぱい）。2/3行は文字幅フィット */
.fv-copy__line:not(:first-child){clip-path:polygon(0 0, 100% 0, calc(100% - 4.3px) 100%, 0 100%)}   /* 2/3行：左辺は垂直・右辺だけ-5deg傾斜（台形。高さ49pxで4.3px） */
.fv-tag{display:flex;flex-direction:column;align-items:flex-start;gap:calc(5px * var(--fv-scale,1))}   /* SP:「積極採用」はボックス下。gap5px＋文字の上メトリクス3px＝視覚8px（カンプ）。PCは@1025でインライン上書き */
.fv-tag__box{
  background:#2A2A2A;font-weight:700;font-size:calc(18px * var(--fv-scale,1));letter-spacing:.02em;   /* カンプ実測：18px。狭幅で等比縮小 */
  width:calc(310px * var(--fv-scale,1));height:calc(36px * var(--fv-scale,1));padding:0 0 0 calc(17px * var(--fv-scale,1));border-radius:2px;   /* line3と同幅310px・高さ36px。テキスト開始を見出しと同じ左17px */
  display:flex;align-items:center;
  clip-path:polygon(0 0, 100% 0, calc(100% - 3.15px) 100%, 0 100%);   /* 右辺のみ-5deg傾斜（高さ36→3.15px）・左辺垂直（line3と同角度） */
}
.fv-tag__eng,.fv-tag__cons{
  font-weight:700;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.fv-tag__eng{background-image:var(--grad-eng)}    /* ③ 緑→青 */
.fv-tag__cons{background-image:var(--grad-copy)}  /* ④ 見出しボックスと同色（#C16D8A→#A5A6C8→#2E9FBD） */
.fv-tag__sep{margin:0 calc(6px * var(--fv-scale,1));font-weight:700;background-image:var(--grad-eng);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}  /* AIエンジニアと同色 */
.fv-tag__note{color:#222;font-weight:700;font-size:calc(16px * var(--fv-scale,1));line-height:1;letter-spacing:.04em;padding-left:calc(17px * var(--fv-scale,1))}   /* カンプ252:1246：16px・line-height1・左≈20px・tracking0.64px。line-heightでタグとの距離8pxに。狭幅で等比縮小 */
/* 文字だけ右傾き（箱は傾けない）。カンプの右傾きに合わせ箱右辺と同じ-5deg */
.fv-copy__t{display:inline-block;transform:skewX(-5deg)}
.fv-tag__eng,.fv-tag__sep,.fv-tag__cons,.fv-tag__note{transform:skewX(-5deg)}

/* ---- CTA ---- */
.fv-cta-wrap{padding:0 calc(16px * var(--fv-scale,1));max-width:390px;margin-inline:auto;margin-top:calc(35px * var(--fv-scale,1));pointer-events:none}   /* SP:390px中央寄せ固定。CTAを35px下げ。狭幅で等比縮小（PCは@1025でpadding0/margin-top28px上書き）。pointer-events:none=PCで幅1160pxに広がった透明の余白がカルーセル矢印(js-fv-prev/next)を覆いクリックを奪うため。CTA本体は下行でautoに戻す */
.fv-cta-wrap .btn-cta{pointer-events:auto}   /* 上のnoneを打ち消し。CTAリンク自体は従来どおりクリック可 */
.fv-cta{
  width:100%;max-width:483px;height:calc(56px * var(--fv-scale,1));font-size:calc(15px * var(--fv-scale,1));letter-spacing:.04em;   /* カンプSP: 56px / 15px。狭幅で等比縮小 */
  justify-content:space-between;gap:0;padding:0 calc(32px * var(--fv-scale,1)) 0 calc(72px * var(--fv-scale,1));   /* テキスト左寄り・矢印右端（カンプ） */
  background:var(--grad-entry);color:#fff;   /* エントリーボタンと同配色（110.17deg #EF4D50→#C598D1→#19AECA） */
}
.fv-cta{border-radius:2.76px}   /* カンプ実測240:3400=2.76px（基底10pxを上書き） */
.fv-cta .btn-cta__arrow{width:calc(20px * var(--fv-scale,1));transform:none}   /* カンプ(240:3403)は非反転。基底のscaleX(-1)を解除。狭幅で等比縮小 */

/* ---- 職種ボタン ---- */
.fv-positions{
  padding:calc(24px * var(--fv-scale,1)) calc(16px * var(--fv-scale,1)) 0;
  display:grid;grid-template-columns:1fr 1fr;gap:calc(16px * var(--fv-scale,1)) calc(8px * var(--fv-scale,1));   /* SP:2列・行間16px・列間8px（カンプ252:367）。狭幅で等比縮小 */
  max-width:390px;margin-inline:auto;   /* SP:390px中央寄せ固定（幅が広がってもボタンを伸ばさない） */
}
.fv-positions li:last-child{grid-column:1 / -1;margin-top:0}   /* その他は全幅。グリッド行間16pxで空ける（カンプ通り） */
.fv-pos-btn{
  position:relative;
  display:flex;align-items:center;justify-content:flex-start;   /* SP:テキスト左寄せ・矢印は右端に絶対配置 */
  height:calc(38px * var(--fv-scale,1));padding:0 calc(20px * var(--fv-scale,1)) 0 calc(16px * var(--fv-scale,1));border-radius:31px;   /* カンプSP: 38px。右は矢印ぶん空ける。狭幅で等比縮小（border-radiusは半径>高さ/2でピル維持のため固定） */
  background:var(--ai-green);color:#fff;   /* Figma AI_green #00B66D */
  font-weight:700;font-size:calc(12px * var(--fv-scale,1));text-align:left;line-height:1.35;   /* カンプSP: 12px・2行は左揃え。狭幅で等比縮小 */
  box-shadow:inset 0 -2px 2px rgba(0,0,0,.25);
}
.fv-pos-btn img{display:block;position:absolute;right:calc(16px * var(--fv-scale,1));top:50%;transform:translateY(-50%);width:calc(7px * var(--fv-scale,1));height:auto}   /* SP:白＞（右向き）を右端に。カンプ252:371＝6-7px。狭幅で等比縮小 */
.fv-positions li:last-child .fv-pos-btn{justify-content:center;text-align:center}   /* その他のポジションは中央寄せ（カンプ252:409） */

/* ---- FV PC ---- */
@media (min-width:1025px){
  .fv{
    position:relative;
    padding:158px 0 96px;height:auto;   /* 上余白でヘッダー下＝見出し開始位置へ */
    background-color:#fff;
    background-image:url(../images/fv/bg-mv.webp), url(../images/data/noise.webp);   /* グラデ＋装飾の合成支給画像（bg_MV）を最上層／最下層に白+#00686Eノイズ */
    background-repeat:no-repeat, repeat;
    background-position:center top, 0 0;
    background-size:100% 885px, 20px 20px;   /* bg_MV:2880×1770=2xの1440×885／ノイズ:100pxタイル */
  }
  .fv__bg{display:none}   /* AIはスウォッシュ画像なし */
  /* PC 2カラム：カルーセルは右上に絶対配置＝右端までブリード。SP同機構のフォーカス型スライダー（待機2枚）。
     ※ .fv>*:not(.fv__bg){position:relative}(詳細度0,2,0)に勝つため .fv> で指定 */
  /* カンプ実測：アクティブ224×306／待機168×229／間隔24／下揃え。マスク703px幅で右端フェード（待機2枚に見せる） */
  .fv > .fv-cardgroup{position:absolute;top:155px;right:max(0px, calc((100% - 1440px) / 2));width:703px;max-width:none;margin:0;z-index:1;transform:scale(var(--fv-scale,1));transform-origin:top right}   /* PC:1440px右端に固定。max-width:none=SPの390px制限を解除（未解除だとカルーセルが右へずれる）。--fv-scaleはJS算出（幅<1440pxで右上原点に等比縮小） */
  .fv .fv-carousel{position:relative;top:0;right:auto;width:703px;max-width:none;margin:0;overflow:hidden;   /* ラッパー内で通常配置＝右端ブリード（アクティブ左端≈737） */
    -webkit-mask-image:linear-gradient(to right,#000 44%,transparent 85%);mask-image:linear-gradient(to right,#000 44%,transparent 85%)}   /* mask:x315不透明→x601透明 */
  .fv-carousel__track{padding:0;height:306px;align-items:flex-end}   /* 高さ固定=アクティブ高。切替中にコンテナ高が縮んで列が上下に揺れるのを防止（SP版と同様） */
  .fv-card{width:auto;height:229px;margin-right:24px;transition:height .35s ease}   /* 待機カード（168×229）。width:auto=SP基底の168px上書き */
  .fv-card.is-active{width:auto;height:306px}                           /* アクティブ（224×306） */
  .fv-card > img{height:100%;width:auto;border-radius:1px}
  .fv-card__veil{display:none}   /* PCは暗ヴェールなし＝カンプ同様マスクのフェードで待機を溶かす */
  /* ナビ（01/06＋進捗＋矢印）をカルーセル下に絶対配置（詳細度0,2,0対策で .fv> 指定） */
  .fv .fv-carousel__nav{display:flex;position:absolute;top:346px;right:155px;width:230px;max-width:none;margin:0;padding:0;z-index:2}   /* ラッパー基準：カルーセル下(top:501-155=346)／右155px */
  /* カウンター数字：PCカンプ実測(240:3409) cur/total=14.8px・sep=9.87px・total tracking=1.18px */
  .fv-carousel__count .cur,.fv-carousel__count .total{font-size:14.8px}
  .fv-carousel__count .sep{font-size:9.87px}
  .fv-carousel__count .total{letter-spacing:1.18px}

  /* PC: 見出しは縦積み（3行ボックス）＋タグ。左寄せ。
     カード群と同じ --fv-scale で実寸を等比縮小（1440px未満で縮小・1440pxで等倍）。calcで実寸を縮めるため余白が残らない */
  .fv-lead{
    max-width:1160px;margin-inline:max(0px,calc((100% - 1160px)/2 - 10px)) auto;margin-top:0;padding:0 0 calc(40px * var(--fv-scale,1));
    flex-direction:column;align-items:flex-start;gap:calc(14px * var(--fv-scale,1));
  }
  .fv-copy{gap:calc(10px * var(--fv-scale,1))}
  .fv-copy__line{font-size:calc(44px * var(--fv-scale,1));padding:calc(4px * var(--fv-scale,1)) calc(16px * var(--fv-scale,1));line-height:1.3}
  .fv-copy__line:first-child{clip-path:polygon(0 0, 100% 0, calc(100% - 4.3px) 100%, 0 100%)}   /* PC：見出し1の右辺も2/3行と平行に傾斜（SPの全幅仕様は据え置き） */
  .fv-tag{flex-direction:row;align-items:center;justify-content:center;gap:calc(12px * var(--fv-scale,1));width:calc(452px * var(--fv-scale,1));box-sizing:border-box;height:calc(50px * var(--fv-scale,1));padding:0 calc(16px * var(--fv-scale,1));background:#2A2A2A;border-radius:2px;clip-path:polygon(0 0, 100% 0, calc(100% - 4.37px) 100%, 0 100%)}   /* PC：積極採用も同じ暗箱内。幅452px・高さ50px。テキストは水平中央。右辺-5deg傾斜(高さ50→4.37px) */
  .fv-tag__box{font-size:calc(23px * var(--fv-scale,1));width:auto;height:auto;padding:0;clip-path:none;background:none}   /* PC：eng｜cons=23px（指定）。暗背景は親.fv-tagへ移動。SP用の幅310/傾斜/自前bgをリセット */
  .fv-tag__sep{margin:0 calc(6px * var(--fv-scale,1))}
  .fv-tag__note{font-size:calc(18px * var(--fv-scale,1));line-height:1;padding-left:0;color:#fff;display:flex;align-items:center}   /* PC：18px（指定）・暗箱内なので白・垂直中央 */

  .fv-cta-wrap{max-width:1160px;margin-inline:max(0px,calc((100% - 1160px)/2 - 10px)) auto;padding:0;margin-top:28px}
  .fv-cta{max-width:444px;height:80px;font-size:20px;justify-content:space-between;gap:16px;padding:0 28px 0 32px}   /* カンプ実測240:3400=444×80。左カラム：テキスト左・チェック右 */
  .fv-cta .btn-cta__arrow{width:20px}   /* PCはCTA非縮小＝矢印も固定20px（SPのvar縮小を解除） */

  .fv-positions{
    max-width:1160px;margin-inline:max(0px,calc((100% - 1160px)/2 - 10px)) auto;padding:0;
    margin-top:120px;   /* 右上の絶対配置カルーセル(底≈y561)をクリアしてから配置 */
    grid-template-columns:repeat(3,1fr);gap:16px;
  }
  .fv-positions li:last-child{grid-column:auto;margin-top:0}   /* PCは全幅にしない（row3 col3）。SPのmargin-top:8pxを解除＝行内で揃える */
  .fv-pos-btn{height:48px;padding:0 40px;font-size:16px;justify-content:center;text-align:center}   /* PCは1行・中央（SPのleft/flex-startを解除） */
  .fv-pos-btn img{display:block;position:absolute;right:48px;top:50%;transform:translateY(-50%);width:11px;height:auto}   /* カンプ240:4534：白＞・右48px・縦中央・11×14 */
}

/* =========================================================
   ⑦ About
   ========================================================= */
/* ABOUT+強みの共有ラッパー：grain地色＋about_bgをここに集約＝境界のハードカットを解消（両セクションは透明で重ねる） */
.abstr{position:relative;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat, #fff;overflow-x:clip}
.about{
  position:relative;
  background:transparent;   /* 地色は共有ラッパー.abstrへ移設 */
  min-height:calc(1360px * var(--fv-scale,1));   /* 暫定スキャフォールド：SP実測≒1359px。zoom縮小に合わせmin-heightも--fv-scaleで縮め、下の空白を防止（PCは@1025でmin-height上書き） */
}
/* 背景装飾：SP=about-bg-sp.webp／PC=about_bg_pc.webp（下の@1025）。どちらも高さ固定・幅は全幅(100vw)で横のみストレッチ（設計幅超は横伸長・角度は寝る仕様） */
.about__bg{
  position:absolute;left:50%;transform:translateX(-50%);z-index:0;pointer-events:none;
  background-repeat:no-repeat;background-position:center top;background-size:100% 100%;
  top:214px;width:100vw;height:479px;   /* SP:装飾y1300−①top1086=214px・高さ479固定／幅は100vwで横のみ伸長（390で無歪み・2101:5） */
  background-image:url("../images/about/about-bg-sp.webp");
}
/* ===== ABOUT ①A 見出し＋コピー（SP基底） ===== */
.ab-inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:64px 20px 0;zoom:var(--fv-scale,1)}   /* SP:①はpt64・左右20px（252:1126実測）。zoomで390px設計を狭幅に等比縮小（背景.about__bgは全幅維持） */
.ab1__head{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.ab1__titlegroup{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
/* ABOUT（アイビーブロー）／タイトル＝JetBrains Mono・緑グラデ文字 */
.ab1__eyebrow{
  font-family:"JetBrains Mono",monospace;font-weight:400;font-size:20px;line-height:1;letter-spacing:-.2px;
  background:linear-gradient(180deg,#29C666 0%,#31D169 50%,#38C871 100%);-webkit-background-clip:text;background-clip:text;color:transparent;   /* AI_grd_en2（コニック緑）の実描画色を再現＝明るい緑・中央やや明の縦シーン。実測≈#2DC869 */
  transform:skewX(-5deg);transform-origin:left center;   /* カンプ:-5deg */
}
.ab1__title{
  font-family:"JetBrains Mono",monospace;font-weight:700;font-size:40px;line-height:1;letter-spacing:1.6px;
  background:linear-gradient(180deg,#29C666 0%,#31D169 50%,#38C871 100%);-webkit-background-clip:text;background-clip:text;color:transparent;   /* AI_grd_en2（コニック緑）の実描画色を再現＝明るい緑・中央やや明の縦シーン。実測≈#2DC869 */
}
.ab1__title>span{display:block;white-space:nowrap}   /* PERSOL CROSS を1行に固定（改行防止） */
.ab1__cross{margin-left:-15px}   /* PERSOL–CROSS間を15px詰める（PC/SP共通） */
/* コピー3行＝緑→シアングラデの段差ボックス（Union svg実測：#00B66D→#06B2D7・段差シェイプ） */
.ab1__copy{
  position:relative;width:331px;display:flex;flex-direction:column;align-items:flex-start;
  background:linear-gradient(168deg,#00B66D 0%,#06B2D7 100%);
  clip-path:polygon(95.2% 0, 95.2% 33.9%, 60.5% 33.9%, 60.5% 63.4%, 100% 63.4%, 100% 100%, 0 100%, 0 0);   /* 段差右辺（315/200/331幅・28.7/53.6/84.6高） */
}
.ab1__copy-line{
  color:#fff;font-family:"游ゴシック体",YuGothic,"Yu Gothic","游ゴシック","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;
  font-size:18px;line-height:1;letter-spacing:.72px;white-space:nowrap;padding:5.3px 6px 4.5px;
}
/* SP見出し右の×装飾（252:1223・Union.png） */
.ab1__x{position:absolute;left:318px;top:105px;width:25.4px;height:29px;background:url("../images/about/Union.webp") center/contain no-repeat;z-index:2;pointer-events:none}   /* Frame84 x298＋左マージン20＝セクションx318 */

/* ===== ABOUT ①B 写真＋実績（SP基底） ===== */
.ab-inner{display:flex;flex-direction:column;gap:72px}   /* SP:①→②間72（①のpb-72相当） */
.ab1{display:flex;flex-direction:column;gap:40px}   /* SP:①内 top→statsのgap40（252:1126） */
/* ===== ABOUT ② CONTENTS（SP基底） ===== */
.ab2{display:flex;flex-direction:column;gap:24px}   /* SP:heading→grid 24（252:586） */
.ab2__heading{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:40px;line-height:1;letter-spacing:3.2px;
  background:linear-gradient(180deg,#29C666 0%,#31D169 50%,#38C871 100%);-webkit-background-clip:text;background-clip:text;color:transparent}   /* CONTENTS＝緑グラデ(AI_grd_en2の実描画色) */
.ab2__grid{display:flex;flex-direction:column;gap:24px}   /* SP:縦積み */
.ab2__item{display:flex;flex-direction:column;gap:7.7px;width:350px;text-decoration:none}
.ab2__label{display:flex;align-items:center;gap:8px;color:#333;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:14px;line-height:1.2;letter-spacing:.56px}
.ab2__icon{flex:none;display:block}
.ab2__icon--v{width:9px;height:8px}   /* ビデオアイコン（SP） */
.ab2__icon--d{width:12px;height:18px}   /* 資料アイコン */
.ab2__thumb{width:350px;line-height:0}
.ab2__thumb img{width:100%;height:auto;display:block;border-radius:2px}
/* 動画サムネにYouTube再生ボタンを重ねる（Figma 240:6984。旧サムネの焼き込みボタン実測99px幅/画像740px=13.4%相当を60pxボックスで再現） */
.ab2__item--video .ab2__thumb{position:relative}
.ab2__item--video .ab2__thumb::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;pointer-events:none;
  background:url(../images/about/icon-play-yt.svg) center/contain no-repeat;
}

/* ===== 強み / 募集（導入）A：器＋背景＋緑ヘッダー箱（SP基底） ===== */
.str{position:relative;overflow:hidden;background:transparent}   /* 地色は共有ラッパー.abstrへ移設（about_bgが下端まで連続＝カット解消） */
.str__bg{position:absolute;top:6px;left:50%;transform:translateX(-50%) scale(var(--fv-scale,1));transform-origin:50% 0;width:392px;height:384px;background:url("../images/strength/line-bg.webp") center/100% 100% no-repeat;pointer-events:none;z-index:0;mix-blend-mode:color-burn}   /* SP:Line29=支給画像 line-bg.webp。中央基準＋<390は--fv-scaleで等比縮小（コンテンツと同挙動）＝幅変化で動かない。color-burnで地色に焼き込み */
.str__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:40px 20px 0;zoom:var(--fv-scale,1)}   /* zoomで390px設計を狭幅に等比縮小（背景.str__bg・全幅写真.str__photoは据え置き） */
.str__head{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.str__gbox{background:#00B66D;display:inline-flex;align-items:center}
.str__gbox>span{display:inline-block;color:#fff;font-family:"游ゴシック体",YuGothic,"Yu Gothic","游ゴシック","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;line-height:1;white-space:nowrap;transform-origin:center}
.str__eyebrow{padding:4px 8px 3px}
.str__eyebrow>span{font-size:17px;letter-spacing:.68px;transform:skewX(-5deg)}   /* SP:eyebrow17px・-5deg */
.str__lead{padding:4px 8px 3px}
.str__lead>span{font-size:32px;letter-spacing:1.28px;transform:skewX(-5deg)}   /* SP:人材を募集32px・-5deg */
/* B:強みボックス3つ＋接続線（SP基底） */
.str__venn{position:relative;width:100%;height:157px;margin-top:24px}
.str__line{position:absolute;left:101.75px;top:35.25px;width:99.7px;height:2px;background:#00B66D;transform:rotate(45deg);transform-origin:left center;z-index:0}
.str__box{position:absolute;transform:skewX(-5deg);border:2px solid #00B66D;background:rgba(255,255,255,.6);padding:8px 16px;box-shadow:1px 1px 4px #d4f7f7;z-index:1;white-space:nowrap}
.str__box>span{display:block;color:#00B66D;font-family:"游ゴシック体",YuGothic,"Yu Gothic","游ゴシック","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:20px;letter-spacing:.8px;line-height:1}
.str__box--1{left:0;top:-2px}
.str__box--2{left:74px;top:52px;background:linear-gradient(#222,#222) padding-box,linear-gradient(135deg,#8EDB45,#19AECA) border-box;border:2px solid transparent;box-shadow:none;filter:none}   /* 枠線=緑→シアングラデ・光彩なし */
.str__box--2>span{color:#fff}
.str__box--3{left:148px;top:106px;box-shadow:1px -1px 4px #d4f7f7}
.str__box--3>span{font-size:16px}
.str__box--3 b{font-size:20px;font-weight:700}
/* C:アウトライン・挑む・写真・締め（SP基底） */
.str__outline{font-family:"JetBrains Mono",monospace;font-weight:700;line-height:1.4;white-space:nowrap;
  background:linear-gradient(154deg,rgba(142,219,69,.38),rgba(46,181,210,.38));-webkit-background-clip:text;background-clip:text;color:transparent;mix-blend-mode:multiply}
.str__outline--sp{position:absolute;left:215px;top:-15px;font-size:14px;line-height:1.4;z-index:2;
  background:linear-gradient(173.25deg,rgba(142,219,69,.38) 24.235%,rgba(46,181,210,.38) 146.88%);-webkit-background-clip:text;background-clip:text}   /* SP:写真上端の少し上・x215（252-785実測。グラデ173.25deg/stops 24.235%・146.88%） */
.str__challenge{position:relative;display:inline-block;margin-top:9px;white-space:nowrap}   /* SP:まだ見ぬ+答えに挑む+写真+アウトラインを一緒に20px下げ（−11→+9） */
.str__ch{display:inline-block;color:#00B66D;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;line-height:1.2;transform:skewX(-5deg)}
.str__ch--s{font-size:28px;letter-spacing:1.12px}
.str__ch--l{font-size:42px;letter-spacing:1.68px}
.str__ch--ni{font-size:32px;letter-spacing:1.28px}   /* SP「に」だけ32px */
.str__ch-l1{position:relative;top:-13px}   /* SP:1行目「まだ見ぬ」だけ上げ（5+8px） */
.str__ch-l2{position:relative;top:-15px}   /* SP:2行目「答えに挑む」だけ15px上げ（写真は動かさない） */
.str__ch--kotae{letter-spacing:-3.36px}   /* SP「答え」は字間詰め */
.str__ch-ul{display:none;position:absolute;left:0;bottom:-4px;width:100%;height:3px;border-radius:2px;background:linear-gradient(90deg,#00B66D 34%,rgba(0,201,30,.47) 77%,rgba(77,239,134,0) 98%)}   /* 下線はPCのみ */
.str__photo{position:relative;width:100%;max-width:390px;margin-inline:auto;line-height:0;margin-top:-28px}   /* SP:写真上端が「答えに挑む」に重なる（カンプ通り）。カンプ幅390で中央固定（超過分は背景のみ・全幅ストレッチしない） */
.str__photo img{width:100%;height:auto}   /* display はpc-only/sp-onlyに任せる（display:blockを付けるとsp-onlyが勝てず二重表示になる）。SP版_写真.pngは780×354で既にカンプ窓と同比率のためそのまま全幅 */
/* 締めコピーは strtech（緑背景）の上に配置。背景=全幅ストレッチ／要素=カンプ幅で中央固定（広げない）。
   絶対配置でstrtech基準に固定＝ページ横オーバーフローの中央寄せズレを排除。left:calc(50%-175px)で390ステージ内x20 */
.strtech__copy{position:absolute;left:calc(50% - 175px);top:-100px;z-index:1;display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding-block:48px}   /* SP:中央基準でx20相当固定（stage中央-195+20=-175）＝幅拡大でも中央のコンテンツと一緒に動かない。<390は親strtech__innerのzoomで縮小（252-800） */
.strtech__copy .str__cl{margin-bottom:0}   /* 各行はテキスト密着（inline-flex基底）・左揃え。gapで間隔 */

/* タグ・マーキー（背景・3行スクロール 上=左/中=右/下=左）252-723 */
.strtech__mq{position:absolute;left:0;top:176px;width:100%;display:flex;flex-direction:column;gap:8px;z-index:0;pointer-events:none}   /* SP:緑上端（写真下端）から176px（252-723実測 abs3181.8-写真下端3006） */
.mq__row{overflow:hidden;width:100%}
.mq__track{display:flex;gap:4.396px;width:max-content;will-change:transform;animation:mq-scroll 80s linear infinite}   /* 速度ゆっくり（40s→80s） */
.mq__row--r .mq__track{animation-direction:reverse}   /* 中段=右流れ */
.mq__tag{flex:none;transform:skewX(-5deg);padding:5.495px 10.99px 6.594px;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-weight:500;font-size:10.99px;line-height:normal;letter-spacing:.22px;color:#0A8470;white-space:nowrap;position:relative;z-index:0}
.mq__tag::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.16)}   /* 緑地を明るくした淡緑pill（mix-blendは実ブラウザで効かず黒くなるため半透明白で代替） */
@keyframes mq-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}   /* 2複製で継ぎ目なしループ */
/* prefers-reduced-motionでの停止ルールは撤去：Windowsの「アニメ効果オフ」環境で装飾マーキーが静止する問題への対応（装飾用途で情報欠落なしのため常時再生） */

/* 図：3ノード＋接続線（マーキー前面）SP:252-707 */
.strdiag{position:absolute;top:80px;left:calc(50% - 175px);width:349px;height:294px;z-index:2}   /* SP:緑上端から80px。中央基準でx20相当固定（stage中央-195+20=-175）＝幅拡大で動かない。<390は親zoom（252-707） */
.strdiag__node{position:absolute;width:128px;height:128px;box-sizing:border-box;border-radius:50%;border:1.061px solid #fff;background:rgba(0,182,90,.85);display:flex;align-items:center;justify-content:center;text-align:center;z-index:1}   /* カンプ見え色＝#48AB9C×color-burn=#00B65A（実測算出）。blendは多層で実ブラウザ不可のため結果色を半透明で使用（マーキー透け） */
.strdiag__node span{font-family:"Yu Gothic","游ゴシック体",YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:14.859px;line-height:1.2;letter-spacing:.5944px;color:#fff}
.strdiag__node--1{left:calc(50% + 0.4px);transform:translateX(-50%);top:-6px}
.strdiag__node--2{left:0;top:174px}
.strdiag__node--3{left:226px;top:174px}
.strdiag__line{position:absolute;height:1.06px;background:#fff;transform-origin:left center;z-index:0}
.strdiag__line--l{left:141.3px;top:112.5px;width:83.4px;transform:rotate(121.6deg)}   /* node1→node2（円フチ間、半径64差引） */
.strdiag__line--r{left:209.4px;top:111.9px;width:85.6px;transform:rotate(57.4deg)}   /* node1→node3 */
.strdiag__line--b{left:128px;top:238px;width:98px}   /* node2→node3（下辺） */

/* ===== MESSAGE（強みセクション最下部）SP:252-638 / PC:252-6790 ===== */
.strmsg{position:absolute;left:calc(50% - 195px);top:362px;width:390px;z-index:3}   /* SP:緑上端から362px。中央基準の390stage化＝内部の写真3枚(left0/127/288)＋テキスト(left21)を一括で中央固定（幅拡大で動かない）。<390は親zoom。z-index:3=円より前面（252-638） */
.strmsg__ph{position:absolute;height:auto}   /* displayはpc-only/sp-onlyに任せる */
.strmsg__ph--l{left:0;top:0;width:103px}       /* SP左（asset103×137＝表示寸。左ブリード分カット済み） */
.strmsg__ph--c{left:127px;top:35px;width:137px}
.strmsg__ph--r{left:288px;top:73px;width:102px}   /* 右端まで（右ブリード分カット済み） */
.strmsg__text{position:absolute;left:21px;top:184px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}   /* SP:x21 y184（Frame386）・gap24 */
.strmsg__head{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:40px;line-height:1;letter-spacing:3.2px;white-space:nowrap;
  background:conic-gradient(from 90deg,#96FFCB 0%,#CAFFE5 29.327%,#fff 58.654%,#CAFFE5 79.327%,#96FFCB 100%);-webkit-background-clip:text;background-clip:text;color:transparent}   /* SP:40px・淡緑conicグラデ文字 */
.strmsg__copy{position:relative;flex-direction:column;align-items:flex-start}
.strmsg__copy--pc{display:none}   /* SPではPC用を隠す */
.strmsg__copy--sp{display:flex;width:339px;background:url("../images/strength/msg-box-sp.svg") no-repeat left top;background-size:339px 100%}   /* 階段状グラデ箱（Union） */
.strmsg__cl{display:flex;align-items:center;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;color:#fff;white-space:nowrap;padding:7px 8px 6px;font-size:16px;letter-spacing:.64px;line-height:1}

.str__cl{background:#fff;display:inline-flex;align-items:center;padding:7px 8px 6px;margin-bottom:4px}
.str__cl>span{display:inline-block;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;line-height:1;white-space:nowrap;transform:skewX(-5deg);background:linear-gradient(90deg,#00B66D,#005030);-webkit-background-clip:text;background-clip:text;color:transparent}
.str__cl--1>span{font-size:17px;letter-spacing:.68px}
.str__cl--2>span{font-size:24px;letter-spacing:.96px}

/* ===== 強み・技術領域ブロック strtech：背景のみ（240-3573、強みセクションの一部） ===== */
/* 背景グラデは定義(181.75deg #50CD8C→#5EC6A6)と実レンダで向きが逆。実レンダ色を採用：上#65CBA6→下#5ACE92 */
.strtech{position:relative;overflow-x:clip;overflow-y:visible;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat,linear-gradient(181.75deg,#65CBA6 0%,#5ACE92 100%);background-blend-mode:multiply,normal;min-height:calc(830px * var(--fv-scale,1))}   /* SP:上端固定で下を縮め（…→850→830）／overflow-y:visible=コピー写真被せ／overflow-x:clip=横広げない。min-heightもzoomに合わせ縮小（PCは@1025で上書き） */
.strtech__inner{position:relative;zoom:var(--fv-scale,1)}   /* 内部要素（copy/mq/diag/msg）を一括で等比縮小。背景はstrtech本体（全幅）に残す */

/* ABOUT写真：会議＋PC＋CSSグラデ装飾（663×345内・design 240-3444 座標）。PC専用 */
.ab1__photo{position:relative}
.ab1__photo-a,.ab1__photo-b{position:absolute;display:block;object-fit:cover;border-radius:2px}
.ab1__photo-a{left:43px;top:14px;width:365px;height:243px;z-index:1}
.ab1__photo-b{left:326px;top:120px;width:297px;height:225px;z-index:2}
.ab1__photo-deco{position:absolute;border-radius:2px 0 0 2px;z-index:3;pointer-events:none}
.ab1__photo-deco--g{left:268px;top:231px;width:56px;height:56px;z-index:4;background:linear-gradient(to left,rgba(77,239,134,0),#4DEF86)}
.ab1__photo-deco--p{left:291px;top:268px;width:117px;height:35px;background:linear-gradient(to left,rgba(235,240,247,0),#FD959B)}
/* 実績カルーセル（SP:横スクロール・スナップ） */
.ab1__stats{position:relative}
.ab1__stats-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}   /* overscroll-behavior-x:contain=端でのラバーバンド（白地の.abstrが覗く）とページ側への連鎖を止める。03の先の白帯対策 */
.ab1__stats-track::-webkit-scrollbar{display:none}
.abstat{position:relative;flex:none;width:350px;height:176px;background:#fff;border-radius:2px;overflow:hidden;scroll-snap-align:start;padding:32px}   /* SP:全角を左上(2px)に揃える。幅はトラック幅(390-左右20)と同じ350px＝カンプの349pxだと最終カードのスナップ位置が最大スクロール量を1px超え、末尾が詰め切れず余白が覗く */
/* カード左上の×装飾（自作SVG＝240:3455/252:1152。赤→紫→シアン・hard-light） */
.abstat__x{position:absolute;left:-4px;top:-5px;width:36px;height:43px;background:url("../images/common/card-x.svg") center/contain no-repeat;opacity:.5;pointer-events:none;z-index:0}   /* 白地でhard-lightだと中央が白化し下が消えるため、blendを外しグラデ直接で全体表示 */
.abstat__x::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 62%, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 68%)}   /* 中央やや下に白いぼかし（範囲拡大・下寄り） */
.abstat__label{position:relative;z-index:1;color:#00B66D;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:18px;line-height:1;letter-spacing:.72px;transform:skewX(-5deg);transform-origin:left center}   /* SP:ラベル-5deg */
.abstat__body{position:relative;z-index:1;margin-top:20px}
.abstat__sub{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:18px;color:#00B66D;letter-spacing:.72px;line-height:1;margin-bottom:4px;font-feature-settings:"zero" 1}   /* 設計240:6924: スラッシュ付きゼロ（SP/PC共通）*/
.abstat__value{display:flex;align-items:baseline;gap:2px}
.abstat__num{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:48px;color:#00B66D;letter-spacing:-.48px;line-height:1;transform:skewX(-5deg);transform-origin:left bottom}   /* SP:数値-5deg */
.abstat__unit{font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:18px;color:#00B66D;letter-spacing:.72px;line-height:1}
.abstat__note{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:16px;color:rgba(30,30,30,.8);letter-spacing:.64px;line-height:1.4;margin-top:6px}
/* SP:カード装飾＝1000_Fブロブ（右上・回転・多重） */
.abstat__blob{position:absolute;left:243px;top:0px;width:99px;height:94px;background:url("../images/about/card-right-deco.webp") center/100% 100% no-repeat;mix-blend-mode:multiply;pointer-events:none;z-index:0}   /* カード右装飾(252:1168) 実素材。フェード焼込み済みのためopacity無し。SP専用・等倍99×94（2x素材198×188） */
/* SPカルーセルナビ（01/03＋バー＋矢印） */
.ab1__stats-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}
.ab1__stats-count{display:flex;align-items:center;gap:5px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333}
.ab1__stats-count>span:first-child{font-size:12px}
.ab1__stats-count .sep{font-size:8px}
.ab1__stats-count>span:last-child{font-size:12px;letter-spacing:.96px}
.ab1__stats-bar{position:relative;width:149px;height:1px;background:rgba(0,182,109,.28)}   /* 残り＝#00B66D 28%（カンプLine1） */
.ab1__stats-bar-fill{position:absolute;left:0;top:0;height:1px;width:33.33%;background:#333;transition:width .3s ease}   /* 進捗＝#333（カンプLine2） */
.ab1__stats-arrows{display:flex;gap:4px}
.ab1__stats-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
.ab1__stats-arrow img{width:7px;height:auto;transform:rotate(180deg)}   /* ‹ */
.ab1__stats-arrow--next img{transform:rotate(0)}   /* › */
/* SP:カード右端の丸い▶（次へ）252:1207 */
.ab1__stats-play{position:absolute;left:332px;top:72px;width:32px;height:32px;padding:0;border:0;background:none;cursor:pointer;z-index:3}
.ab1__stats-play img{display:block;width:32px;height:32px}
.ab1__stats-play--prev{left:-14px}   /* 右の▶(332〜364)をトラック350px幅の中心で反転＝-14〜18。左右対称に配置 */
.ab1__stats-play--prev img{transform:rotate(180deg)}   /* 同素材(stat-next.svg)を180度回転して◀に */
/* ループ用クローンはSPのみ有効（PCは3枚をflexで並べるため非表示） */
@media (min-width:1025px){ .abstat[data-abclone]{display:none} }
/* マーカー：Frame 117 実素材(240:3467/3486/3506)を自然サイズ(scale3書出÷3)で枠中心(304+36,35+18=340,53)に等倍配置＝カンプ準拠。各カードで形も寸法も別物 */
.abstat__deco{position:absolute;top:53px;left:340px;transform:translate(-50%,-50%);background:center/100% 100% no-repeat;pointer-events:none;z-index:0}
.abstat__deco--1{width:69px;height:42px;background-image:url("../images/about/左.webp")}
.abstat__deco--2{width:66px;height:53px;background-image:url("../images/about/真ん中.webp")}
.abstat__deco--3{width:74px;height:39px;background-image:url("../images/about/右.webp")}

@media (min-width:1025px){
  .abstr{margin-top:-30px}   /* PC:ABOUT+強みブロック全体を30px上げ（旧.aboutのmargin-topを移設） */
  .about{min-height:1303px}   /* PC:セクション実測1303px */
  .str{margin-top:-190px}   /* CONTENTS↔人材募集の余白をカンプ(約100px)に。STRENGTH以降を丸ごと上げる＝下流の間隔は不変。about_bgは.abstrで連続するのでカットされない（240:3509↔240:3549） */
  /* PC装飾（240:3420）：支給画像 about_bg_pc.webp（2x）。高さ1221固定・幅は全幅(100vw)で横のみストレッチ（1440超は横伸長＝角度は寝る仕様）。background-size:100% 100%は基底を継承 */
  .about__bg{top:82px;left:50%;transform:translateX(-50%);width:100vw;height:1221px;background-image:url("../images/about/about_bg_pc.webp")}
  /* ①A 見出し＋コピー PC */
  .ab-inner{max-width:1160px;padding:100px 0 0;zoom:1}   /* PC:①はpt100・max1160（240:3423/3424実測）。PCはzoom解除（SPのみ縮小） */
  .ab1__eyebrow{font-size:24px;letter-spacing:-.24px}
  .ab1__title{font-size:64px;letter-spacing:2.56px}
  .ab1__copy{width:438px}
  .ab1__copy-line{font-size:24px;letter-spacing:.96px;padding:7px 8px 6px}
  .ab1__x{display:none}   /* PC見出しには×なし */
  /* ①B 写真＋実績 PC */
  .ab-inner{gap:100px}   /* PC:①→②間100（240:3423実測） */
  .ab1{gap:48px}   /* PC:①内 top→stats 48 */
  /* ② CONTENTS PC */
  .ab2{gap:40px}
  .ab2__heading{font-size:64px;letter-spacing:-.64px}
  .ab2__grid{flex-direction:row;gap:24px}   /* PC:横並び */
  .ab2__item{width:370px;gap:7.7px}
  .ab2__label{font-size:16px;letter-spacing:.64px}
  .ab2__icon--v{width:16px;height:15px}
  .ab2__thumb{width:370px}
  /* 強み A：PC */
  .str__bg{top:0;right:auto;left:50%;transform:translateX(-50%);width:1440px;height:592px;background-image:url("../images/strength/line-bg-pc.webp");opacity:1;mix-blend-mode:normal}   /* PC線=line-bg-pc.webp（赤部0.15/青部0.65をalphaに焼込み済み。元素材=PC背景装飾.webp）。SP線のcolor-burn/::beforeは打ち消し */
  .str__bg::before{content:none}
  .str__inner{max-width:1160px;padding:89px 0 0;zoom:1}   /* PCはzoom解除（SPのみ縮小） */
  .str__head{gap:6.5px}
  .str__eyebrow{padding:6.5px 13px 4.9px}
  .str__eyebrow>span{font-size:24px;letter-spacing:.96px;transform:skewX(-10deg) scaleY(.98)}   /* PC:eyebrow24px・-10deg */
  .str__lead{padding:6.5px 13px 4.9px 24px}
  .str__lead>span{font-size:48px;letter-spacing:1.92px;transform:skewX(-10deg) scaleY(.98)}   /* PC:人材を募集48px・-10deg */
  /* B:強みボックス PC */
  .str__venn{height:272px;margin-top:66px}
  .str__line{left:244px;top:61px;width:197.7px;height:3.7px}
  .str__box{border-width:3.463px;padding:13.85px 27.7px;box-shadow:1.731px 1.731px 6.926px #d4f7f7}
  .str__box>span{font-size:34px;letter-spacing:1.36px}
  .str__box--1{left:0;top:-2px}
  .str__box--2{left:198px;top:74px;border:3.463px solid transparent;box-shadow:none;filter:none}
  .str__box--2>span{font-size:32px}
  .str__box--3{left:380px;top:161px}
  .str__box--3>span{font-size:28px}
  .str__box--3 b{font-size:32px}
  /* C:PC */
  .str__outline--pc{position:absolute;right:0;top:247px;font-size:64.54px;text-align:right}   /* ヘッダー右 */
  .str__challenge{position:absolute;right:0;top:435px;margin-top:0}
  .str__ch--s{font-size:32px;letter-spacing:1.28px}
  .str__ch--l{font-size:48px;letter-spacing:1.92px}
  .str__ch--kotae{letter-spacing:1.92px}   /* PCは1行なので詰めなし */
  .str__ch-l1{top:0}   /* PCは1行なので上げ無効 */
  .str__ch-l2{top:0}   /* PCは1行なので上げ無効 */
  .str__ch-ul{display:block;height:4px;bottom:-8px;width:calc(100% + 140px)}   /* PCのみ下線・右辺まで伸ばす */
  .str__photo{margin-top:65px;max-width:1440px;margin-inline:auto}   /* PC:カンプ幅1440で中央固定（1440超は背景のみ・写真は伸ばさない）。写真以下を65px下げ（240-3625） */
  .strtech__copy{left:calc(50vw - 580px);top:-150px;gap:8px}   /* PC:1440ステージ中央固定でx140（50vw-580=1440で140/1600で220）・gap8・150px上（240-3629実測） */
  .str__cl--1>span{font-size:32px;letter-spacing:1.28px}
  .str__cl--2>span{font-size:58px;letter-spacing:2.32px}
  .strtech{min-height:1600px}   /* PC:背景（MESSAGE収容のため延長・要調整） */
  .strtech__inner{zoom:1}   /* PCはzoom解除（SPのみ縮小） */
  /* PC:タグ・マーキー 大サイズ（240-4326実測） */
  .strtech__mq{gap:18px;top:324px}   /* PC:行間18／緑上端から324px（円と一緒に130px上げ） */
  /* PC:図 大サイズ（240-3609実測） */
  .strdiag{top:144px;left:calc(50vw - 326px);width:652px;height:549px}   /* PC:緑上端から144px・中央固定（130px上げ） */
  .strdiag__node{width:239.02px;height:239.02px;border-width:1.982px}
  .strdiag__node span{font-size:24px;letter-spacing:.96px}
  .strdiag__node--1{left:calc(50% + 0.75px);top:-11.2px}
  .strdiag__node--2{top:324.92px}
  .strdiag__node--3{left:422.02px;top:324.92px}
  .strdiag__line{height:1.982px}
  .strdiag__line--l{left:264px;top:210px;width:155.9px}   /* node1→node2（円フチ間、半径119.51差引） */
  .strdiag__line--r{left:391px;top:209px;width:159.9px}   /* node1→node3 */
  .strdiag__line--b{left:239px;top:444.4px;width:183px}   /* 下辺 */
  /* PC:MESSAGE（240-3609ブロックの550px下＝図top144+550） */
  .strmsg{top:694px;left:calc(50% - 720px);width:1440px;transform:scale(var(--fv-scale,1));transform-origin:top center}   /* PC:1440設計ステージを中央固定。1440未満は--fv-scale(=min(1,vw/1440))で等比縮小（上中央原点）。内部は設計座標で配置（252:6790）*/
  .strmsg__ph--l{left:0;top:0;width:389px}          /* 設計x0 */
  .strmsg__ph--c{left:470px;top:125px;width:457px}  /* 設計x470 */
  .strmsg__ph--r{left:1007px;top:243px;width:433px} /* 設計x1007 */
  .strmsg__text{left:141px;top:526px;gap:40px}      /* 設計x141 y526 */
  .strmsg__head{font-size:64px;letter-spacing:5.12px;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#fff;color:#fff}   /* PC:白64px（SPのグラデ無効化） */
  .strmsg__copy--pc{display:flex;width:904px;background:url("../images/strength/msg-box-pc.svg") no-repeat left top;background-size:904px 100%}
  .strmsg__copy--sp{display:none}   /* PCではSP用を隠す */
  .strmsg__cl{padding:10.538px 12.043px 9.032px;font-size:24px;letter-spacing:.96px}
  .mq__track{gap:8.831px}
  .mq__tag{font-size:22.077px;padding:11.038px 22.077px 13.246px;letter-spacing:.4415px}
  .ab1__top{display:flex;gap:48px;align-items:flex-start}
  .ab1__head{flex:none}   /* 見出し列を縮ませない＝タイトルが改行しない（写真はflex:none 663px） */
  .ab1__photo{flex:none;width:663px;height:345px}
  .ab1__stats-track{overflow:visible;gap:24px}
  .abstat{flex:1;width:auto;height:187px;border-radius:2px;padding:33.9px 33.9px 25.4px}   /* PC:設計padding T33.9/x33.9/B25.4（240:6916） */
  .abstat__label{transform:none;font-size:24px;letter-spacing:.96px;line-height:1}
  .abstat__body{margin-top:22.6px}   /* PC:ラベル下→本文（数値）の間。設計body top55.13・pt25.4基準 */
  .abstat__body:has(.abstat__sub){margin-top:17.2px}   /* card1はサブ行があるぶん詰める（設計pt20） */
  .abstat__sub{font-size:24px;letter-spacing:.96px;line-height:normal;margin-bottom:4.2px}   /* 設計:leading-normal・gap4.24 */
  .abstat__num{transform:none;font-size:50px;letter-spacing:-.5px;line-height:1}
  .abstat__unit{font-size:24px;letter-spacing:.96px}
  .abstat__note{font-size:14px;letter-spacing:.56px;line-height:normal;margin-top:4.2px}   /* 設計:14px・leading-normal・gap4.24 */
  .abstat__note.i-pc{display:block}   /* .i-pc{display:inline}で注釈が横に繋がる不具合を解消（各注釈を独立行に） */
  .abstat__x{left:0;top:-3px;width:37px;height:44px}   /* PC:240:3455 */
  .ab1__stats-nav{display:none}   /* PC資料アイコン 12×18（カンプ1:3812） */
}

/* ============================================================
   求人詳細モーダル（FV職種ボタン）
   ============================================================ */
body.modal-open{overflow:hidden}
.job-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}
.job-modal[hidden]{display:none}
.job-modal__overlay{position:fixed;inset:0;background:rgba(6,42,34,.62)}
.job-modal__dialog{position:relative;width:100%;max-width:400px;margin:auto;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 48px)}
.job-modal__dialog:focus{outline:none}
.job-modal__close:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.job-modal__card{flex:1;min-height:0;overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:28px 20px 22px}
.job-modal__title{font-family:"Yu Gothic","游ゴシック","Noto Sans JP",sans-serif;font-weight:700;font-size:19px;line-height:1.4;color:var(--ai-green)}   /* カンプ実測 #00B66D */
.job-modal__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0}
.job-modal__tags li{background:rgba(10,132,112,.1);color:var(--ai-green);font-size:12px;font-weight:500;line-height:1;padding:6px 10px;border-radius:4px;white-space:nowrap}   /* テキスト カンプ実測 #00B66D */
.job-modal__more{display:flex;align-items:center;justify-content:center;gap:10px;height:40px;margin-top:16px;background:var(--grad-copy);border-radius:2px;color:#fff;font-weight:700;font-size:15px;text-decoration:none}   /* 見出しと同じグラデ・角丸2px */
.job-modal__more-ico{width:7px;height:7px;border-right:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg)}   /* 白＞ */
.job-modal__sec{margin-top:22px}
.job-modal__h{font-weight:700;font-size:15px;color:#222;margin-bottom:8px}
.job-modal__text{font-size:13px;line-height:1.75;color:#333;white-space:pre-line}
/* CLOSEはカード外・右寄せの薄グレーピル（カンプ 252:1865） */
.job-modal__close{flex:none;align-self:flex-end;margin:0;padding:4px 12px;background:#dddddd;border:0;border-radius:39px;color:#333;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:12px;letter-spacing:.48px;line-height:1.3;cursor:pointer}
@media (min-width:1025px){
  .job-modal{align-items:center;padding:40px}
  .job-modal__dialog{max-width:420px;max-height:calc(100vh - 80px)}
}
.feat-cta .btn-cta__arrow{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:auto;height:14px}   /* カンプ:右向き＞を右端に配置（基底のscaleX反転を解除） */

/* ---- PC (≥1025px) ---- */
@media (min-width:1025px){
  .feat-cta .btn-cta__arrow{right:40px;height:20px}
}

/* =========================================================
   ⑧ 募集ポジション（POSITIONS / JOIN US）240-3664
   ========================================================= */
.pos{position:relative;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat,#fff;padding:56px 0 72px;overflow:hidden}   /* 地背景(ノイズ)は最下層。本体は.pos__innerをz-indexで装飾の上に上げる */
.pos__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;zoom:var(--fv-scale,1)}   /* SP:390中央固定＋狭幅で等比縮小。z-index:1=本体をorg背景装飾の前面へ（装飾はノイズ地の上・本体の下） */

/* --- 見出し --- */
.pos__head{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;padding:0 20px}   /* SP:見出しのみ左右インセット（タブ・パネルは全幅） */
.pos__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:36px;letter-spacing:.08em;line-height:1;
  background:linear-gradient(90deg,#2ED367 0%,#2ED367 15%,#17B25F 60%,#009157 85%,#009157 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.pos__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:20px;line-height:1.4;letter-spacing:.04em;
  background:linear-gradient(90deg,#2ED367 0%,#2ED367 15%,#17B25F 60%,#009157 85%,#009157 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* --- タブ --- */
.pos__body{position:relative}
.pos__tabs{display:flex;gap:0;background:#333;border-radius:2px 2px 0 0;padding:4px;box-sizing:border-box;position:absolute;top:30px;left:20px;width:350px;z-index:2}   /* SP:幅350・左右20インセット・30px下げ。絶対配置で緑パネルから切り離す（緑は追従しない）（252-812） */
.pos__tab{flex:1;height:40px;border-radius:2px;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-weight:700;font-size:15px;color:#fff;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.pos__tab.is-active{background:#fff;color:#333}   /* SP:アクティブタブ文字を黒（PCは@1025で緑に戻す）（252-812） */

/* --- パネル --- */
.pos__panel{position:relative;background:#9cc8b7;border-radius:0 2px 2px 2px;overflow:hidden;margin-top:0;padding:86px 20px 56px;display:flex;flex-direction:column;gap:48px}   /* SP:緑パネルは固定(タブに追従しない)。padding-topでタブ(絶対配置top30・高さ48)分を確保・カード350(左右20) */
.pos__deco{position:absolute;inset:0;background:url(../images/positions/pos-bg-sp.webp) center bottom/100% auto no-repeat;opacity:1;pointer-events:none;z-index:0}   /* SP:設計の合成結果（緑＋帯・焼込み済み）をそのまま使用（252:276）。PCは@1025でpos-bg-pc.webp */
.pos__cards{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px}
.pos__cat{font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-weight:600;font-size:13px;color:#fff;padding:0 4px;margin-top:8px}
.pos__cat:first-child{margin-top:0}
.pos__cards > .pos__cat--eng{margin-top:5px;transform:translateY(8px)}   /* SP:見出し＋カードを一緒に3px上げ（margin 8→5）。見出しだけの下げはtranslateY(8px)で維持（252-818/819） */
.pos__grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}   /* 各カードは自身の高さ。1枚展開しても同じ行の他カードを伸ばさない */
.pos__concell{display:flex;flex-direction:column;gap:16px}   /* コンサル：カテゴリ見出し＋カード。PCではグリッドのcol2に自動配置 */

/* --- カード --- */
.pcard{position:relative;background:#fff;border-radius:2px;padding:44px 16px 20px;overflow:hidden}
.pcard__title{position:absolute;top:0;left:-6px;transform:skewX(-10deg);transform-origin:left top;border-radius:1px;padding:6px 16px;display:flex;align-items:center;height:30px;box-sizing:border-box}
.pcard__title--green{background:var(--ai-green)}
.pcard__title--dark{background:#333}
.pcard__title>span{display:block;transform:skewX(10deg);font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;color:#fff;line-height:1;white-space:nowrap}
.pcard__title small{font-size:14px;font-weight:700}

.pcard__body{position:relative}
.pcard__view{display:flex;flex-direction:column;gap:8px}
.pcard__view--skill{display:none}
.pcard__row{display:flex;gap:16px;align-items:flex-start}
.pcard__label{flex:none;width:48px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:12px;color:rgba(51,51,51,.52);line-height:1.2}
.pcard__list{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #d4d4d4;padding-bottom:8px}
.pcard__list li{position:relative;padding-left:12px;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:12px;color:#556966;line-height:1.2}
.pcard__list li::before{content:"";position:absolute;left:0;top:.45em;width:5px;height:5px;border-radius:50%;background:var(--ai-green)}
.pcard__row--extra{display:none}   /* 配属想定は展開時のみ */

/* 折りたたみ時：業務概要ビューを省略表示＋フェード */
.pcard__fade{display:none;position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);pointer-events:none}
.pcard:not(.is-open) .pcard__body{max-height:132px;overflow:hidden}
.pos__concell .pcard:not(.is-open) .pcard__body{max-height:129px}   /* AIコンサルのみ折りたたみを詰め、下端を左（候補）に揃える */
.pcard:not(.is-open) .pcard__fade{display:block}

/* 展開時：業務概要タブ＝配属想定も表示 */
.pcard.is-open .pcard__row--extra{display:flex}
/* スキルタブ（展開時のみ中身差し替え） */
.pos__panel.is-skill .pcard__view--gyomu{display:none}
.pos__panel.is-skill .pcard__view--skill{display:flex}

/* フッター（続きを読む／詳細を見る） */
.pcard__foot{margin-top:12px}
.pcard__more{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;color:var(--ai-green);padding:0}
.pcard__more-ico{width:18px;height:18px;display:block}
.pcard__detail{display:none;align-items:center;justify-content:center;gap:8px;background:var(--ai-green);color:#fff;border-radius:20px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;padding:10px 22px;width:fit-content;margin-left:auto;box-shadow:inset 0 -2px 2px rgba(0,0,0,.15)}
.pcard__detail-ico{width:16px;height:16px;display:block}
.pcard.is-open .pcard__foot{display:flex;justify-content:flex-end}
.pcard.is-open .pcard__more{display:none}
.pcard.is-open .pcard__detail{display:inline-flex}

/* --- JOIN US --- */
.pos__join{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:24px}   /* SP:JOIN US・コピー・CTAを左端に揃える（PCは@1025で中央） */
.pos__join-eyebrow{font-family:"Hanken Grotesk","Noto Sans JP",sans-serif;font-weight:500;font-size:40px;letter-spacing:.08em;color:#fff;line-height:1}
.pos__join-copy{display:flex;flex-direction:column;align-items:center;gap:0;position:relative}
.pos__join-copy--pc{display:none}   /* SP:5行を表示（PCは@1025で3行に切替） */
.pos__join-copy--sp{align-items:flex-start}   /* SP:現在の左位置を基準に左揃え（ブロックは中央のまま各行を左寄せ） */
.pos__join-line{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:#fff;line-height:1;text-align:left;
  background:linear-gradient(165deg,#00B66D 28%,#06B2D7) no-repeat;
  background-size:var(--copy-w,100%) var(--copy-h,100%);background-position:calc(var(--line-left,0px) * -1) calc(var(--line-top,0px) * -1);
  padding:8px 12px}   /* SP:左揃え。斜めグラデ（Union実測:165deg #00B66D 28%→#06B2D7）をボックス全体で連続（各行の位置はJSがCSS変数で設定） */
.pos__cta{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:483px;height:56px;padding:0 24px;border-radius:2.76px;
  background:linear-gradient(86.01deg,#EF4D50 12.727%,#C172CA 42.911%,#1CCDEF 107.15%);color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em}   /* 240-3399の配色に一致 */
.pos__cta-arrow{width:20px;height:auto;display:block}

/* ---------- PC ---------- */
@media (min-width:1025px){
  .pos{padding:100px 0}
  .pos__inner{max-width:1160px;padding:0}
  .pos__head{gap:16px;margin-bottom:48px;padding:0}
  .pos__eyebrow{font-size:64px;letter-spacing:.08em}
  .pos__title{font-size:40px}

  .pos__tabs{position:relative;top:auto;left:auto;width:389px;margin:0;border-radius:2px 2px 0 0}   /* PC:SPの絶対配置/幅350をリセット（フロー・パネル連結） */
  .pos__tab{height:48px;font-size:16px}
  .pos__tab.is-active{color:var(--ai-green)}   /* PC:アクティブタブ文字は緑を維持（SPのみ黒） */

  .pos__panel{margin-top:0;border-radius:0 2px 2px 2px;padding:40px 40px 100px;gap:96px}   /* PC:SPの背景10px伸ばしをリセット */
  .pos__deco{background-image:url(../images/positions/pos-bg-pc.webp);opacity:1;mix-blend-mode:normal}   /* PC:設計の合成結果（緑＋帯・soft-light焼込み済み）をそのまま使用（240-3671）。SPは.3のまま */
  .pos__cards{gap:16px;width:1080px;margin-inline:auto}
  .pos__cards > .pos__cat--eng{margin-top:0}   /* PC:SPの8px下げをリセット */
  .pos__grid{grid-template-columns:repeat(3,350px);gap:40px 16px;justify-content:center}
  .pos__concell{width:350px;position:relative}   /* PC:グリッドのcol2セル（候補の右隣・同一行） */
  .pos__cat--con{position:absolute;left:0;bottom:100%;margin-bottom:4px;padding:0 4px;white-space:nowrap}   /* PC:コンサル見出しはカード上（行間）に配置し、カードは候補と同じ行トップに揃える */

  .pcard{width:350px;padding:48px 16px 24px}
  .pos__join{align-items:center}   /* PCは中央 */
  .pos__join-copy--pc{display:flex}
  .pos__join-copy--sp{display:none}
  .pos__join-eyebrow{font-size:64px}
  .pos__join-line{font-size:24px;letter-spacing:.96px;padding:10px 12px;text-align:center}   /* PCは中央 */
  .pos__cta{max-width:483px;height:80px;font-size:20.7px;padding:0 32px}
}


/* =========================================================
   ⑨ ORGANIZATION 組織を知る（240-3985）
   ========================================================= */
.org{position:relative;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat,#fff;padding:56px 0 72px;overflow-x:clip;overflow-y:visible;margin-top:-78px}   /* SP:全体を78px上げ装飾をPOSITIONS本体枠(緑パネル下端)に付ける。地色＝白＋#00686Eノイズ。overflow-y:visible=装飾食い込み／横はhtml/body側clip */
#organization{scroll-margin-top:30px}   /* アンカー着地位置: タイトル上に余白（SP30/PC50） */
/* 背景装飾（波線 支給:org-bg 2128-13 Frame433） */
/* SP:セクション上辺に付く。素材は2x→等倍(594/2=297px)で表示 */
.org__deco{position:absolute;top:-67px;left:50%;margin-left:-85px;width:342px;height:414px;background:url(../images/organization/背景装飾_sp.webp) center/cover no-repeat;pointer-events:none;z-index:0}   /* 波線装飾（白矩形背景を透過処理済み）。透過画像なのでmix-blend-mode不要 */   /* multiply=白シートを下地に透過させ波線のみ残す */
.org__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:0 20px;display:flex;flex-direction:column;gap:40px;zoom:var(--fv-scale,1)}   /* SP:390中央・狭幅で等比縮小 */

/* 見出し */
.org__head{display:flex;flex-direction:column;gap:16px}
.org__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:36px;letter-spacing:.08em;line-height:1;text-transform:uppercase;   /* SP:大文字 ORGANIZATION（PCは小文字に戻す） */
  padding-bottom:.22em;margin-bottom:-.22em;   /* clip:text背景をディセンダー(g等)まで届かせつつ gap16pxを維持 */
  background:linear-gradient(90deg,#2ED367 0%,#2ED367 15%,#17B25F 60%,#009157 85%,#009157 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.org__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:24px;line-height:1.2;letter-spacing:.04em;color:#00B66D}

.org__body{display:flex;flex-direction:column;gap:40px}
.org__nav{display:flex;flex-direction:column;gap:16px}

/* サブ見出し */
.org__subhead{display:flex;gap:12px;align-items:center}
.org__subhead-ico{flex:none;width:13px;height:15px;opacity:.56;background:url(../images/organization/subhead-ico.svg) center/contain no-repeat}
.org__subhead-txt{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:18px;letter-spacing:.72px;color:#222;line-height:1.2}

/* 組織ツリー（SPベース：各ボックス全幅で縦積み・その他組織は下に1行 2128-13） */
.org__tree{display:flex;flex-direction:column;gap:12px}
.org__company{height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px;box-shadow:0 0 1px rgba(0,85,71,.24);font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;color:#222;text-align:center}
.org__arrow{align-self:flex-start;margin-left:32px;width:16px;height:8px;background:url(../images/organization/tree-arrow.svg?v=2) center/contain no-repeat}
.org__row{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.org__biz{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;background:#333;border-radius:4px;padding:8px 16px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;line-height:1.4}
.org__hq-group{display:flex;flex-direction:column;gap:8px}
.org__hq{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(172deg,#06D7CB -90%,#00B66D 100%);border-radius:4px;padding:8px 16px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;line-height:1.4;text-align:center}   /* 緑ブロックはティール→グリーンのグラデ（252-460実測。箱外ストップで淡いスライス） */
.org__others{display:flex;gap:0 5px;align-items:center;flex-wrap:nowrap}   /* SP:1行固定（折り返し禁止・カンプ2128-13） */
.org__others-pill{flex:none;background:rgba(107,110,110,.75);border-radius:16px;padding:4px 9px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:11px;white-space:nowrap}
.org__others-name{color:#6b6e6e;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:11px;white-space:nowrap}
.org__others-sep{color:#006f73;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:11px}

/* カード */
.org__cards{display:flex;flex-wrap:wrap;gap:24px}
.ocard{background:#fff;border-radius:8px;padding:0 16px 24px;width:100%;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}
.ocard__top{display:flex;flex-direction:column;gap:16px}
.ocard__label{align-self:flex-start;background:linear-gradient(to left,#ea4852,#fd959b);border-radius:0 0 2px 2px;padding:4px 10px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;line-height:1}
.ocard__head{display:flex;flex-direction:column;gap:9px}
.ocard__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:20px;line-height:1.4;color:#0e2b30;min-height:56px;display:flex;flex-direction:column;justify-content:flex-start}
.ocard__desc-wrap{position:relative}
.ocard__desc{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:14px;line-height:1.6;color:rgba(34,34,34,.8)}
.ocard__fade{display:none;position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 55%);pointer-events:none}
.ocard:not(.is-open) .ocard__desc-wrap{max-height:67px;overflow:hidden}
.ocard:not(.is-open) .ocard__fade{display:block}
.ocard__more{display:inline-flex;align-items:center;gap:9px;background:none;border:0;cursor:pointer;padding:0;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;color:#00B66D}
.ocard__more-ico{width:18px;height:18px;display:block}
.ocard.is-open .ocard__more-ico{transform:rotate(180deg)}
.ocard__more-close{display:none}
.ocard.is-open .ocard__more{font-size:14px;color:#0a8470}
.ocard.is-open .ocard__more-read{display:none}
.ocard.is-open .ocard__more-close{display:inline}

.ocard__media{display:flex;flex-direction:column;gap:16px}
.ocard__photo{border-radius:12.75px;overflow:hidden;line-height:0}
.ocard__photo img{width:100%;height:auto;display:block}
.ocard__jobs-btn{display:flex;align-items:center;justify-content:space-between;background:#00B66D;border:0;cursor:pointer;border-radius:6.3px;height:42px;padding:0 33.68px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:16px;letter-spacing:.96px}
.ocard__jobs-ico{width:14px;height:auto;display:block;transform:rotate(90deg)}
.ocard.is-jobs .ocard__jobs-btn{display:none}
/* --- 募集職種 展開リスト（240-12188） --- */
.ocard__jobs{display:none;flex-direction:column;gap:16px}
.ocard.is-jobs .ocard__jobs{display:flex}
.ojob{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:8px;border:2px solid transparent;border-radius:4px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(180deg,#EF4D50 18%,#C172CA 55%,#1CCDEF 92%) border-box;padding:30px 16px 12px;text-decoration:none;box-sizing:border-box}   /* 枠は赤→紫→シアンの縦グラデ（240-12374実測）。padding/border-box2層で角丸維持 */
.ojob__cat{position:absolute;top:-2px;left:-2px;width:148px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:linear-gradient(to left,#e9525a,#fd959b);border-radius:6px 0 1px 0;padding:3px 6px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:12px;letter-spacing:.48px;line-height:1.2}
.ojob__title{width:100%;text-align:left;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:14px;letter-spacing:.56px;line-height:1.4;color:#404040}
.ojob__detail{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,0,0,.5);padding-bottom:2px;font-family:Helvetica,Arial,sans-serif;font-weight:700;font-size:12px;color:#404040;white-space:nowrap}
.ojob__chev{width:7px;height:auto;display:block;transform:rotate(-90deg)}
.ocard__jobs-close{display:flex;align-items:center;justify-content:space-between;background:#e0efeb;border:0;cursor:pointer;border-radius:4px;height:40px;padding:0 32px;color:#404040;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;letter-spacing:.56px}
.ocard__jobs-close-ico{width:14px;height:auto;display:block;transform:rotate(180deg)}

/* ---------- PC ---------- */
@media (min-width:1025px){
  .org{padding:0 0 100px;margin-top:0}   /* PCはSPの上げをリセット。上余白は100→0px（見出し上を100px詰め） */
  #organization{scroll-margin-top:50px}   /* アンカー着地位置: PCは50px */
  .org__inner{max-width:1160px;padding:0;gap:48px}
  .org__head{gap:16px}
  .org__eyebrow{font-size:64px;text-transform:none}   /* PCは小文字 organization */
  .org__title{font-size:40px}
  .org__body{gap:48px}
  /* PC地背景：素材2x→等倍(1826/2=913px)。上のセクション(POSITIONS)へ食い込むよう上へオフセット（org上端でクリップ＝POSITIONS本体背景の下に潜る） */
  .org__deco{display:block;left:50%;margin-left:-75px;top:-380px;width:913px;height:1280px;background:url(../images/organization/背景装飾_pc.webp) top center/913px auto no-repeat}   /* 左へ計120px・上へ計70px */
  /* ツリーPC：各段は横並び（IT事業 556＋その他組織、hq2本＋その他組織） */
  .org__tree{gap:16px}
  .org__company{height:56px;font-size:16px}
  .org__arrow{align-self:flex-start;margin-left:245px;width:20px;height:12px}
  .org__row{flex-direction:row;align-items:center;gap:24px}
  .org__biz{width:556px;flex:none;min-height:56px;font-size:16px}
  .org__hq-group{flex-direction:row;gap:8px}
  .org__hq{min-height:56px;font-size:16px;padding:0 32px}
  .org__hq span{white-space:nowrap}
  .org__others{gap:16px;flex:1;min-width:0}
  .org__others-pill{padding:6px 15px;font-size:14px}
  .org__others-name{font-size:16px}
  .org__others-sep{font-size:14px}
  .org__cards{gap:24px}
  .ocard{width:370px}
}

/* =========================================================
   ⑩ MEMBER STORY 社員のスキルとプロジェクトを知る（240-4149）
   ========================================================= */
.ms{position:relative;overflow:hidden;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat,#fff;padding:26px 0 72px}   /* 地色＝白＋#00686Eノイズ（共通）／SP:全要素30px上げ(56→26) */
#memberstory{scroll-margin-top:30px}   /* アンカー着地位置: タイトル上に余白（SP30/PC50） */
/* 背景装飾：X型グラデ（支給・37%透過焼込み済み）。SP=member-bg-sp / PC=member-bg-pc */
.ms__deco{position:absolute;top:220px;left:50%;margin-left:-195px;width:390px;height:842px;background:url(../images/member/member-bg-sp.webp) 0 0/contain no-repeat;pointer-events:none;z-index:0}   /* SP:X装飾 等倍・左辺(x0)にピッタリ密着 */
.ms__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:0 20px;display:flex;flex-direction:column;gap:40px;zoom:var(--fv-scale,1)}   /* SP:390中央・狭幅で等比縮小 */
/* 見出し */
.ms__head{display:flex;flex-direction:column;gap:16px}
.ms__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:36px;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;padding-bottom:.06em;margin-bottom:-.06em;
  background:linear-gradient(90deg,#009157 0%,#2ED367 50%,#009157 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ms__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:24px;line-height:1.3;letter-spacing:.04em;color:#00B66D}
/* インタビュー一覧 */
.ms__list{display:flex;flex-direction:column;gap:48px}
.msc__label{display:flex;align-items:baseline;gap:9px;color:#333;position:relative;z-index:2;margin-bottom:-14px}   /* INTERVIEWと01を下揃え。写真が下端を14px重ねる（01が写真上に乗る・カンプ252-1270）。両カード共通 */
.msc__label-en{font-family:"Hanken Grotesk",sans-serif;font-weight:500;font-size:20px;line-height:1;letter-spacing:.5px}   /* 240-7610ベース（文字間を詰め） */
.msc__num{font-family:"JetBrains Mono",monospace;font-weight:500;font-size:40px;line-height:1;letter-spacing:-.8px;font-feature-settings:"zero" 1;margin-left:-3px}   /* 01/02を左へ3px */
.msc__row{display:flex;flex-direction:column}
/* --- 左：写真＋タグ＋見出し＋コピー（SPはHTML／PCは写真に焼込み済） --- */
.msc__left{position:relative}
.msc__photo{position:relative;line-height:0;margin-left:67px;margin-top:3px}   /* SP:写真(320幅)を390設計位置に固定配置。右端x407で右角丸を画面外へ→直辺が右辺x390に密着。枠のmax-width390+margin:auto+zoomに乗り≥390中央固定/<390等比縮小。タグ等は左に残す */
.msc__photo img{width:320px;height:139px;max-width:none;object-fit:cover;border-radius:2px 12px 12px 12px}   /* SP:カンプ枠320×139（252-1262）。max-width:none=reset.cssのimg{max-width:100%}上書き（240pxに縮む問題を解消） */
.msc__photo .i-sp{display:block}
.msc__photo .i-pc{display:none}   /* SP:SP写真のみ */
.msc__tag{position:absolute;left:0;bottom:100%;z-index:3;transform:skewX(-5deg);transform-origin:left bottom;background:#e0efeb;border-radius:1px 1px 0 0;padding:3px 10px 4px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:12px;letter-spacing:.96px;color:#00B66D;white-space:nowrap;line-height:1}   /* 見出しバーの真上に密着（bottom:100%） */
.msc__cap{position:relative;z-index:2;display:flex;flex-direction:column;gap:20px;margin-top:-62px;margin-left:0}   /* 見出し・コピー(3つ)を写真下部に重ねる・20px上げ(15+5) */
.msc__ctitle{align-self:flex-start;transform:skewX(-5deg);background:#00b66d;border-radius:0 1px 1px 0;padding:5px 10px 6px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;letter-spacing:1.12px;color:#fff;line-height:1;white-space:nowrap}
.msc__quote{align-self:flex-start;transform:skewX(-5deg);border:1px solid transparent;background:linear-gradient(#f5f7f7,#f5f7f7) padding-box,linear-gradient(135deg,#EF4D50 0%,#C598D1 50%,#19AECA 100%) border-box;padding:6px 16px 8px 10px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:14px;letter-spacing:.56px;line-height:1.3;color:#323232;white-space:nowrap}   /* 外枠=grd4グラデ（padding/border-box2層） */
.msc__x{position:absolute;left:52px;top:23px;width:21px;height:24px;z-index:2;pointer-events:none}   /* 見出し・コピー間の×グラデ装飾（252-1280） */
.msc__ctitle,.msc__quote{transform-origin:left center}
.msc__ctitle>*,.msc__quote{display:inline-block}
/* --- 右（PC）／下（SP）：ダークパネル --- */
.msc__panel{background:#333;border-radius:1px;padding:16px;display:flex;flex-direction:column;gap:16px;margin-top:16px}
.msc__desc{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:12px;line-height:1.6;color:#fff}
.msc__more{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:12px;color:#00b66d}
.msc__more-ico{width:16px;height:16px;display:block;transform:rotate(-90deg)}
/* ---------- PC ---------- */
@media (min-width:1025px){
  .ms{padding:20px 0 100px}   /* PC:全要素80px上げ(top 100→20) */
  #memberstory{scroll-margin-top:50px}   /* アンカー着地位置: PCは50px */
  .ms__inner{max-width:1160px;padding:0;gap:48px}
  .ms__deco{left:50%;margin-left:-120px;top:173px;width:915px;height:970px;background:url(../images/member/member-bg-pc.webp) 0 0/contain no-repeat}   /* PC:X装飾 等倍(1830×1940÷2=915×970・ストレッチなし)。素材は右228pxが欠けていたためFigma(240:4157 Union)から再書き出し。倍率0.5・左上基準は据え置きなので既存部分の大きさと位置は不変 */
  .ms__eyebrow{font-size:64px;letter-spacing:.08em}
  .ms__title{font-size:40px}
  .ms__list{gap:48px}
  .msc__label{gap:12px;margin-bottom:0;transform:translateY(8px)}   /* PCはSPの重ねをリセット(margin-bottom:0) */
  .msc__row{flex-direction:row;align-items:flex-start}   /* カンプ:写真とパネルは上端揃え・gap0で密着(240-4162) */
  .msc__left{flex:none;width:499px}
  .msc__photo{margin-left:0;margin-top:0}
  .msc__photo img{width:499px;height:auto;border-radius:0}   /* 焼込み写真(998×512)を等比で499×256表示。base height:139pxを解除 */
  .msc__photo .i-pc{display:block}
  .msc__photo .i-sp{display:none}   /* PC:PC写真(焼込み済)のみ */
  .msc__cap{display:none}   /* PCは写真に焼込み済 */
  .msc__panel{flex:1;min-width:0;margin-top:1px;padding:34px 24px;gap:24px;border-radius:0 2px 2px 2px;align-self:stretch}
  .msc__desc{font-size:17px;line-height:1.4}
  .msc__more{font-size:16px}
  .msc__more-ico{transform:rotate(-90deg)}   /* 右向き「›」に（カンプ・SPと同方向） */
}

/* ============================================================
   ⑪ FEATURE（パーソルクロステクノロジーの強みを知る）
   地色＝ダークグリーン。装飾＝白の波線（PCのみ・支給PC_背景装飾を白加工）
   ============================================================ */
.ft{position:relative;overflow:hidden;background:#2d3e3b;padding:48px 0 56px}
.ft__deco{display:none}   /* SPは背景装飾なし。PCで表示 */
.ft__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:0 20px;display:flex;flex-direction:column;gap:24px;zoom:var(--fv-scale,1)}
/* 見出し */
.ft__head{display:flex;flex-direction:column;gap:12px}
.ft__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:34px;line-height:1.1;letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(90deg,#2ED367 0%,#2ED367 28%,#17B25F 60%,#009157 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}   /* 左＝明#2ED367→右＝暗#009157（カンプ実測の向き） */
.ft__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:22px;line-height:1.35;letter-spacing:.04em;color:#fff}   /* SP:白（252-1331）。PCで緑 */
/* イントロ（リード文＋アイコンチップ3つ） */
.ft__intro{display:flex;flex-direction:column;gap:20px}
.ft__lead{color:#fff;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:16px;line-height:1.2;letter-spacing:.04em}
.ft__chips{display:flex;gap:8px}
.ft__chip{flex:1;min-width:0;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 0;text-align:center;border:1px solid #fff;border-radius:2px}   /* SP:外枠1px・白・角丸2px（240:6663）。PCで1.55px/角丸3pxに */
.ft__chip-ico{display:block;max-width:none;height:auto}   /* 幅指定で等比。SP実値=約22/16/16px（240:6664/6675/6681） */
.ft__chip:nth-child(1) .ft__chip-ico{width:22px}
.ft__chip:nth-child(2) .ft__chip-ico{width:16px}
.ft__chip:nth-child(3) .ft__chip-ico{width:16px}
.ft__chip-t{color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:12px;line-height:1.4;font-weight:500;letter-spacing:.02em}

@media (min-width:1025px){
  .ft{padding:100px 0 120px}
  .ft__deco{display:block;position:absolute;top:0;left:50%;margin-left:-720px;width:1440px;height:870px;
    background:url(../images/feature/deco-white-pc.webp) 0 0/contain no-repeat;opacity:.30;pointer-events:none;z-index:0}
  .ft__inner{max-width:1160px;padding:0;gap:48px}
  .ft__head{gap:16px}
  .ft__eyebrow{font-size:64px}
  .ft__title{font-size:40px;color:#00B66D}   /* PCは緑 */
  .ft__intro{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:48px}
  .ft__lead{font-size:26px;line-height:1.2;letter-spacing:.04em;flex:none}
  .ft__chips{gap:12px;flex:none}
  .ft__chip{width:172px;height:124px;padding:12px 0;gap:6px;border:1.55px solid #fff;border-radius:3px}
  .ft__chip-t{font-size:18.6px}
  .ft__chip:nth-child(1) .ft__chip-ico{width:34px}   /* PC実値 34×27/24×24/24×19 */
  .ft__chip:nth-child(2) .ft__chip-ico{width:24px}
  .ft__chip:nth-child(3) .ft__chip-ico{width:24px}
}

/* ---- FEATURE：タブ切替 / 01ヒーロー / 02-07カード / CTA（SP=縦積み・PC=3列） ---- */
/* チェックアイコン（マスク・currentColorで着色） */
.ft-chk{display:inline-block;flex:none;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M1%205.6L5.2%209.4L13%201.4'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2011'%3E%3Cpath%20d='M1%205.6L5.2%209.4L13%201.4'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}
.ft-chk{width:14px;height:11px}

/* タブ */
.ft__tabs{display:flex;gap:0;padding:5px;background:#ddf4e9;border-radius:3px}
.ft__tab{flex:1;min-width:0;border:0;cursor:pointer;background:transparent;border-radius:3px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#333;line-height:1.1;transition:background .18s,color .18s}
.ft__tab-main{font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em}
.ft__tab-sub{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:10px;opacity:.9}
.ft__tab.is-active{background:#00b66d;color:#fff}

/* パネル */
.ft__panel{display:none;flex-direction:column;gap:16px}
.ft__panel.is-active{display:flex}

/* 01 ヒーロー */
.fth{position:relative;overflow:hidden;background:#00b66d;border-radius:2px;padding:16px 20px 24px;display:flex;flex-direction:column;gap:16px;color:#fff}
.fth__deco{position:absolute;top:-18px;right:2px;width:132px;height:132px;background:url(../images/feature/union-sp.webp) center/contain no-repeat;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.fth__head{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.fth__num{font-family:"JetBrains Mono",monospace;font-weight:500;font-size:32px;line-height:1;font-feature-settings:"zero" 1}
.fth__label{font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:16px;line-height:1;opacity:.79}
.fth__title{width:100%;margin-top:2px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:24px;line-height:1.4}
.fth__desc{position:relative;z-index:1;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:14px;line-height:1.4}
.fth__bullets{position:relative;z-index:1;list-style:none;display:flex;flex-direction:column;gap:6px}
.fth__bullets li{display:flex;align-items:center;gap:4px;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:13px;line-height:1.4;color:#fff}
.fth__bullets .ft-chk{background:#F2A03D}   /* 01のチェックはオレンジ（imgFrame213 #F2A03D） */

/* 02-07 カード */
.ft__cards{display:flex;flex-direction:column;gap:16px}
.ftc{background:#fff;border-radius:2px;padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}
.ftc__head{display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid rgba(10,132,112,.22);padding-bottom:10px}
.ftc__meta{flex:none;display:flex;flex-direction:column;gap:2px;padding-top:3px}
.ftc__num{font-family:"JetBrains Mono",monospace;font-weight:500;font-size:20px;line-height:1;color:#00b66d;font-feature-settings:"zero" 1}
.ftc__cat{font-family:"Hanken Grotesk",sans-serif;font-weight:500;font-size:12px;line-height:1;color:rgba(10,132,112,.5);padding-left:2px}
.ftc__title{padding-top:2px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;line-height:1.4;color:#00b66d}
.ftc__desc{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:12px;line-height:1.6;color:#222}
.ftc__note{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:11px;line-height:1.5;color:#7d7d7d}
.ftc__bullets{list-style:none;display:flex;flex-direction:column;gap:4px}
.ftc__bullets li{display:flex;align-items:center;gap:4px;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:12px;line-height:1.4;color:#00b66d}
.ftc__bullets .ft-chk{width:12px;height:9px}

/* CTA */
.ft__cta-wrap{display:flex;justify-content:center}
.ft__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:350px;height:64px;border-radius:3px;text-decoration:none;color:#fff;
  font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;
  background:linear-gradient(85.66deg,#EF4D50 12.7%,#C172CA 42.9%,#1CCDEF 107.2%)}
.ft__cta-arrow{flex:none;width:16px;height:auto;display:block}   /* 2色矢印（白＋#FF788F・arrow-cta2c） */

@media (min-width:1025px){
  /* タブ */
  .ft__tabs{padding:9px 8px;border-radius:3px}
  .ft__tab{height:57px;flex-direction:row;justify-content:center;align-items:center;gap:16px;padding:0}   /* PC:テキストをy中央揃え */
  .ft__tab-main{font-size:23px}
  .ft__tab-sub{font-size:16.7px;opacity:.95;position:relative;top:2px}   /* サブ文字を2px下げ */
  /* パネル：タブとの間隔を24pxに（inner gap48から詰める） */
  .ft__panel{gap:24px;margin-top:-24px}
  /* 01 ヒーロー */
  .fth{padding:32px 20px;gap:16px}
  .fth__deco{top:-2px;right:40px;width:150px;height:170px;background-image:url(../images/feature/union-pc.webp)}
  .fth__head{flex-wrap:nowrap;align-items:baseline;gap:16px}
  .fth__num{font-size:40px}
  .fth__label{font-weight:400}
  .fth__title{width:auto;margin-top:0;font-size:32px}
  .fth__desc{font-size:18px}
  .fth__bullets{flex-direction:row;gap:16px}
  .fth__bullets li{font-size:14px}
  /* カード：3列グリッド */
  .ft__cards{flex-direction:row;flex-wrap:wrap;gap:24px}
  .ftc{width:370px;padding:18px 20px 20px;gap:8px}
  .ftc__num{font-size:24px}
  .ftc__title{font-size:20px;line-height:1.2}
  .ftc__desc{font-size:14px;line-height:1.4}
  .ftc__note{font-size:12px}
  /* CTA */
  .ft__cta{max-width:483px;height:80px;font-size:20.7px;letter-spacing:.04em}
  .ft__cta-arrow{width:20px}
}

/* ============================================================
   ⑫ DATA（数字を知る）  地色＝薄ミント #DFEEEE
   ============================================================ */
.dt{background:#dfeeee;padding:56px 0 48px}
.dt__inner{max-width:390px;margin-inline:auto;padding:0 20px;display:flex;flex-direction:column;gap:24px;zoom:var(--fv-scale,1)}
.dt__head{display:flex;flex-direction:column;gap:16px}
.dt__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:40px;line-height:1;letter-spacing:.08em;
  background:linear-gradient(90deg,#2ED367 0%,#17B25F 50%,#009157 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}   /* カンプ実測：左明→右暗の滑らかグラデ（プラトーなし） */
.dt__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:32px;line-height:1.2;letter-spacing:.04em;color:#00b66d}
.dt__group{display:flex;flex-direction:column;gap:16px}
.dt__subhead{display:flex;gap:12px;align-items:center}
.dt__subhead-ico{flex:none;width:13px;height:11px;opacity:.56;background:url(../images/data/marker-grad.webp) center/contain no-repeat}   /* 支給:装飾グラデ.png（PC/SPでサイズ変更） */
.dt__subhead-txt{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:#222;line-height:1.2;white-space:nowrap}
.dt__idx{display:none}   /* SPは「01.」非表示・PCでインライン表示（1行維持） */

@media (min-width:1025px){
  .dt{padding:100px 0 90px}
  .dt__inner{max-width:1160px;padding:0;gap:48px}
  .dt__eyebrow{font-size:64px}
  .dt__title{font-size:40px}
  .dt__subhead-txt{font-size:20px;color:#333;letter-spacing:.04em}
  .dt__idx{display:inline}
  .dt__subhead-ico{width:18px;height:14px;opacity:.78}   /* PC:等倍18×14 */
}


/* ---- DATA：数値カード / CTA（PC=横3枚・SP=縦3枚 出し分け） ---- */
.dt__cards{display:flex}
.dt__cards--pc{display:none}
.dt__cards--sp{flex-direction:column;gap:8px}
.dtc{background:#fff;border-radius:2px 12px 2px 12px;padding:16px 14px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;width:100%}
.dtc__stat{display:flex;flex-direction:column}
.dtc__label{display:flex;align-items:center;gap:6px;align-self:flex-start}
.dtc__label-line{flex:none;width:8px;height:2px;border-radius:1px;background:linear-gradient(90deg,#8EDB45,#0A8470)}
.dtc__label-txt{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:16px;line-height:1.1;
  background:linear-gradient(160deg,#8EDB45 17%,#0A8470 105%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.dtc__num{display:flex;align-items:baseline;justify-content:center;margin-top:2px;color:#00b66d;font-family:"JetBrains Mono",monospace;font-feature-settings:"zero" 1;font-weight:500;line-height:1}
.dtc__num .i{font-size:51px;letter-spacing:-.03em}
.dtc__num .s{font-size:25px;margin:0 -1px}
.dtc__num .d{font-size:37px}
.dtc__num .u{font-weight:700;font-size:20px;margin-left:3px}
.dtc__num .lead{font-weight:700;font-size:20px;margin-right:3px}
.dtc__num--dual{gap:14px}
.dtc__num--dual .grp{display:flex;align-items:baseline}
.dtc__note{margin-top:4px;font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:12px;line-height:1.4;color:#00473b;text-align:center}
.dtc__desc{width:100%}
.dtc__desc>p{background:rgba(10,132,112,.08);border-radius:2px;padding:3px 8px;font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:14px;line-height:1.4;color:#00473b}
.dtc__desc--notes>p{padding:9px 8px;font-size:12px;color:#222}
/* CTA */
.dt__cta-wrap{display:flex;justify-content:center;margin-top:8px}
.dt__cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:310px;max-width:100%;height:56px;padding:0 24px 0 54px;border-radius:2px;background:#00b66d;color:#fff;text-decoration:none;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em}
.dt__cta-arrow{flex:none;width:15px;height:auto;display:block}

@media (min-width:1025px){
  .dt__cards--pc{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
  .dt__cards--sp{display:none}
  .dtc{width:278px}
  .dt__cta-wrap{justify-content:flex-start}
}

/* ---- DATA：SI版カード移植（.dstat）＋折りたたみ動作。数値色はAI版 #00b66d、サブ見出し/トグルはAI版 ---- */
.dt__body{display:flex;flex-direction:column;gap:16px;position:relative;max-height:490px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,#000 86%,transparent 100%)}
.dt.is-open .dt__body{max-height:none;-webkit-mask-image:none;mask-image:none}
.dt__grid{display:flex;flex-direction:column;gap:16px}
.dstat{background:#fff;border-radius:2px 12px 2px 12px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.dstat__label{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:16px;line-height:1.1}
.dstat__label::before{content:"";width:8px;height:2px;flex:none;border-radius:1px;background:#8edb45}
.dstat__label span{background:linear-gradient(160deg,#8edb45 18%,#0a8470 105%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.dstat__value{display:inline-flex;align-items:baseline;justify-content:center;color:#00b66d;font-family:'JetBrains Mono',monospace;font-feature-settings:"zero" 1;line-height:1;white-space:nowrap}   /* AI:数値は#00b66d（SIは#0a8470） */
.dstat__value .n{font-size:51px}
.dstat__value .d{font-size:37px}
.dstat__value .c{font-size:25.5px}
.dstat__value .u{font-size:20.4px}
.dstat__value .u--pre{margin-right:6px}
.dstat__gap{display:inline-block;width:14px}
.dstat__note{font-size:12px;line-height:1.4;color:#00473b;font-family:"Noto Sans JP",sans-serif;align-self:center}
.dstat__note--multi{align-self:center;text-align:left}
.dstat__nrow{display:flex;align-items:baseline;justify-content:center;column-gap:6px}
.dstat__nrow .dstat__note{align-self:baseline}
.dstat__nrow:has(.dstat__gap){position:relative}
.dstat__nrow:has(.dstat__gap) .dstat__note{position:absolute;right:0;top:0;align-self:auto}
.dstat__nrow--push{transform:translateX(25px)}
.dstat__nrow--r25{transform:translateX(25px)}
.dstat__box{width:100%;background:rgba(10,132,112,.08);border-radius:2px;padding:3px 8px;font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:14px;line-height:1.4;color:#00473b}
.dstat__box--notes{padding:9px 8px;font-size:12px}
.dstat--iku .dstat__label{margin-bottom:0}
.dstat__value--iku{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:0 16px;align-self:flex-start}
.iku-fig{display:inline-flex;align-items:baseline;white-space:nowrap}
.iku-fig .lbl{font-size:20.4px}
.dstat__note--iku{font-size:13px;color:rgba(0,71,59,.7);align-self:flex-end;margin-bottom:4px;transform:translateY(3px)}
.dt__cta{border:none;cursor:pointer;position:relative}   /* CTAをボタン化（見た目は据え置き） */
/* 開いた（閉じる）状態：テキストを中央揃え・矢印を右に絶対配置して108°回転 */
.dt.is-open .dt__cta{justify-content:center;padding:0}
.dt.is-open .dt__cta-arrow{position:absolute;right:24px;top:50%;transform:translateY(-50%) rotate(180deg)}   /* ∨(角下)→∧(角上) */
@media (min-width:1025px){
  .dt__body{gap:48px;max-height:290px;
    -webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
  .dt__grid{flex-direction:row;flex-wrap:wrap;gap:16px}
  .dt__grid--01{align-items:flex-start}
  .dt__grid--02{align-items:flex-start}
  .dstat{width:auto}
  .dstat__nrow{display:contents}
  .dstat__nrow .dstat__note{align-self:center;position:static}
  .dstat__nrow:has(.dstat__gap){display:flex;align-items:baseline;justify-content:center;column-gap:6px}
  .dstat__nrow--push{display:flex;align-items:baseline;justify-content:center;column-gap:6px}
  .dstat__nrow--push .dstat__note{align-self:baseline;position:static}
  .dstat__nrow--pc{display:flex;align-items:baseline;justify-content:center;column-gap:6px;transform:none}
  .dstat__nrow--pc .dstat__note{align-self:baseline;position:static}
  .dstat__note--iku{transform:none}
  .dstat--w278{width:278px}
  .dstat--w350{width:350px}
  .dstat--w451{width:451px}
  .dt__grid--03{max-width:1082px}
}

/* ============================================================
   ⑬ EMPLOYEE BENEFITS（福利厚生・学べる環境を知る）
   ============================================================ */
.eb{position:relative;overflow-x:clip;background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat,#fff;padding:56px 0 48px}   /* 地色＝白ノイズ */
.eb__deco{position:absolute;top:-130px;right:-55px;width:343px;height:490px;z-index:2;pointer-events:none;transform:rotate(-8deg);zoom:var(--fv-scale,1);
  background:url(../images/employee/bg-deco-lines.webp) center/contain no-repeat}   /* 線のみ・SPは等倍の1/2（343×490）。--fv-scaleで等比縮小/固定 */
.eb__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:0 20px;zoom:var(--fv-scale,1)}
.eb__head{display:flex;flex-direction:column;gap:16px}
.eb__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:36px;line-height:1.05;letter-spacing:.08em;
  background:linear-gradient(90deg,#2ED367 0%,#17B25F 50%,#009157 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.eb__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:24px;line-height:1.25;letter-spacing:.04em;color:#00b66d}
.eb__lead{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:14px;line-height:1.7;letter-spacing:.04em;color:#222}
/* ヒーロー写真＋タグ */
.eb__hero{position:relative;width:calc(100% + 40px);margin-left:-20px;height:175px;overflow:hidden}
.eb__hero-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.eb__tags{position:absolute;left:20px;bottom:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.eb__tag{position:relative;display:inline-block;padding:3px 13px;line-height:1.25;isolation:isolate}
.eb__tag::before{content:"";position:absolute;inset:0;background:#fff;border-radius:2px;transform:skewX(-5deg);z-index:-1}
.eb__tag-t{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:18px;letter-spacing:.06em;color:#222;white-space:nowrap;word-break:keep-all}
.eb__tag-x{position:absolute;left:70px;top:23px;width:23px;height:27px;z-index:2}

@media (min-width:1025px){
  .eb{padding:100px 0 90px;overflow:visible}
  .eb__deco{top:-178px;left:auto;margin-left:0;right:-45px;width:687px;height:981px;transform:none;z-index:0}   /* PC等倍（回転なし・背面） */
  .eb__inner{max-width:1160px;padding:0}
  .eb__head{display:block;position:static;min-height:322px}
  .eb__head>.eb__eyebrow,.eb__head>.eb__title,.eb__head>.eb__lead{max-width:531px}
  .eb__eyebrow{font-size:64px;line-height:1.05;margin-bottom:24px}
  .eb__title{font-size:40px;line-height:1.2;margin-bottom:24px}
  .eb__lead{font-size:18px;line-height:1.6}
  .eb__hero{position:absolute;top:0;left:579px;right:auto;width:754.4px;margin-left:0;height:322px;border-radius:2px}   /* デザイン準拠の固定フレーム(754.4×322)。width:auto+calcだと幅がビューポート依存になりピルが切れるため固定 */
  .eb__tags{left:36px;bottom:32px;gap:22px}
  .eb__tag{padding:5px 16px}
  .eb__tag-t{font-size:29px;letter-spacing:.05em}
  .eb__tag-x{left:74px;top:42px;width:42px;height:50px}
}

/* ---- EMPLOYEE：ベネフィット5項目（PC=3列常時表示／SP=縦積みアコーディオン） ---- */
.eb__list{margin-top:32px;display:flex;flex-direction:column;gap:16px}
.ebc{position:relative;background:#fff;border-radius:2px;box-shadow:0 0 2px rgba(19,128,102,.24);padding:20px 16px;overflow:hidden}
.ebc__icon{position:absolute;top:10px;right:11px;width:48px;height:48px;border-radius:2px;background:#eef5f3;display:flex;align-items:center;justify-content:center}
.ebc__icon img{max-width:33px;max-height:33px;width:auto;height:auto;display:block}
.ebc__head{display:flex;flex-direction:row;gap:6px;align-items:flex-start;padding-right:56px}
.ebc__num{position:relative;flex:none;font-family:"JetBrains Mono",monospace;font-weight:500;font-size:20px;line-height:1;color:#00b66d;font-feature-settings:"zero" 1}
.ebc__num-ac{position:absolute;left:9px;top:11px;width:18px;height:18px;display:block;max-width:none}
.ebc__title{font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:20px;line-height:1.4;color:#00b66d}
.ebc__body{margin-top:8px}
.ebc__desc{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:13px;line-height:1.6;color:#222}
.ebc__toggle{margin:8px 0 0 32px;display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;border-radius:2px;padding:3px 10px 2px;color:#fff;
  font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:12px;background:linear-gradient(270deg,#fd959b 0%,#ed6068 100%)}
.ebc__toggle-ico{width:12px;height:8px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6L6 6.4L11 1.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6L6 6.4L11 1.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;transition:transform .2s}
.ebc.is-open .ebc__toggle-ico{transform:rotate(180deg)}
.ebc__deco{position:absolute;bottom:0;right:0;width:56px;height:18px;opacity:.74;pointer-events:none;background:url(../images/employee/marker.webp) right bottom/contain no-repeat}   /* カード右下角にピッタリ */
/* SP：アコーディオン（説明は開いた時のみ） */
.ebc__body{display:none}
.ebc.is-open .ebc__body{display:block}

@media (min-width:1025px){
  .eb__list{margin-top:48px;flex-direction:row;flex-wrap:wrap;gap:24px;align-items:flex-start}
  .ebc{width:calc((100% - 48px) / 3);padding:24px 16px}
  .ebc__head{flex-direction:column;gap:5px;padding-right:0}
  .ebc__num{font-size:24px}
  .ebc__num-ac{top:13px}
  .ebc__title{font-size:24px}
  .ebc__desc{font-size:14px;line-height:1.4}
  .ebc__body{display:block !important}   /* PCは常時表示 */
  .ebc__toggle{display:none}             /* PCはアコーディオン無し */
}

/* ============================================================
   ⑭ MESSAGE（クロージング／フッター）  地色＝緑グラデ
   ============================================================ */
.msg{position:relative;overflow:hidden;background:linear-gradient(160deg,#6ED0AE 0%,#4EC98A 100%);padding:88px 0 52px}   /* 下padding+20（背景を20px延長） */
.msg__photo{position:absolute;top:-24px;right:-6px;width:182px;height:auto;z-index:0;pointer-events:none;zoom:var(--fv-scale,1)}   /* --fv-scaleで等比縮小/固定 */
.msg__inner{position:relative;z-index:1;max-width:390px;margin-inline:auto;padding:0 20px;display:flex;flex-direction:column;align-items:flex-start;zoom:var(--fv-scale,1)}
.msg__eyebrow{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:36px;line-height:1;letter-spacing:.08em;color:#fff}
.msg__title{margin-top:16px;font-family:"游ゴシック体",YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;font-size:26px;line-height:1.3;letter-spacing:.04em;color:#fff}
/* ハイライト文（白バー・緑文字） */
.msg__hl{margin-top:83px}   /* ハイライト文のみ下げ（下の要素はCTA側で相殺） */
.msg__hl-t{font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:#00b66d;line-height:1.85;
  background:#fff;padding:8px 8px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}   /* SP:縦paddingを増やし各行バーを完全密着（隙間なし） */
/* CTA（FEATUREと同じグラデ＋2色矢印） */
.msg__cta-wrap{margin-top:21px;width:100%;display:flex}   /* CTAを8px下げ（13→21） */
.msg__cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:350px;height:64px;padding:0 24px 0 40px;border-radius:2px;text-decoration:none;color:#fff;
  font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;background:linear-gradient(85.66deg,#EF4D50 12.7%,#C172CA 42.9%,#1CCDEF 107.2%)}
.msg__cta-arrow{flex:none;width:15px;height:auto;display:block}
.msg__copy{align-self:center;margin-top:36px;font-family:"游ゴシック体",YuGothic,"Yu Gothic",sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;color:#bfe8d7;text-align:center}

@media (min-width:1025px){
  .msg{padding:110px 0 60px}
  .msg__photo{display:none}
  .msg__inner{max-width:1160px;padding:0}
  .msg__eyebrow{font-size:64px}
  .msg__title{margin-top:24px;font-size:48px;line-height:1.3;letter-spacing:.04em}
  .msg__hl{margin-top:95px}
  .msg__hl-t{font-size:24px;line-height:1.8;padding:10px 12px;letter-spacing:.04em}
  .msg__cta-wrap{margin-top:33px}
  .msg__cta{max-width:483px;height:80px;font-size:20.7px;padding:0 24px 0 54px}
  .msg__cta-arrow{width:20px}
  .msg__copy{margin-top:48px}
}

/* ============================================================
   ⑮ 追随CTA（FVを過ぎたら画面下部に固定・SP/PC共通）
   z-index:90 = SPドロワー(99)・ヘッダー(100)・求人モーダル(1000)より下。
   ラッパーはpointer-events:none（.fv-cta-wrapで起きた「透明な余白が下の要素のクリックを奪う」事故の再発防止）
   ============================================================ */
.cta-fixed{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  display:flex;justify-content:center;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  pointer-events:none;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .32s ease,transform .32s ease,visibility .32s;
}
.cta-fixed.is-visible{opacity:1;visibility:visible;transform:none}
.cta-fixed__btn{
  pointer-events:auto;   /* ラッパーのnoneを打ち消し。クリックを受けるのはボタン本体だけ */
  width:100%;max-width:358px;height:56px;font-size:15px;letter-spacing:.04em;
  justify-content:space-between;gap:0;padding:0 32px 0 40px;
  background:var(--grad-entry);color:#fff;border-radius:2.76px;   /* FVのCTA(.fv-cta)と同配色・同角丸 */
  box-shadow:0 2px 12px rgba(3,66,56,.28);
}
.cta-fixed__btn .btn-cta__arrow{width:20px;transform:none}   /* .fv-ctaと同じく非反転 */
/* メニュー／モーダルを開いている間は隠す（重なり防止） */
body.menu-open .cta-fixed,
body.modal-open .cta-fixed{opacity:0;visibility:hidden;pointer-events:none}
@media (min-width:1025px){
  .cta-fixed{justify-content:flex-end;padding:0 40px 24px}   /* PC:全幅にせず右下に寄せる */
  .cta-fixed__btn{max-width:360px;height:72px;font-size:18px;padding:0 28px 0 32px}
}

/* ===== [G] FEATURE背景の波：一定幅を超えたら拡大 2026-08-27 ここから ===== */
/* 素材(2866×1740)は倍率0.5＝実描画1433pxで、幅1440pxの箱に左上基準で敷かれている。
   そのため画面が広くなると右側から地色が覗き、線の断面が見えていた。
   実測した境界は 1428px（1427pxまでは画面外まで届いていて問題なし）。
   1428px以上では波だけを画面幅いっぱいまで等比拡大し、断面が出ないようにする。
   ・1427px以下は一切変更なし（従来どおり幅1440px・高さ870px・倍率0.5）
   ・aspect-ratio は素材そのものの比(2866/1740)。background-size:100% auto と組で
     箱を画像がちょうど埋めるので、左右に隙間が出ない
   ・伸びた高さは .ft の overflow:hidden で切られる（下方向へ伸びるだけ）
   ※このブロックを丸ごと削除すれば完全に元に戻る（既存行は1文字も変更していない）。 */
@media (min-width:1428px){
  .ft__deco{
    left:0;
    margin-left:0;
    width:100%;
    height:auto;
    aspect-ratio:2866 / 1740;
    background-size:100% auto;
  }
}
/* ===== [G] FEATURE背景の波：1440px超で拡大 2026-08-27 ここまで ===== */

/* ===== [C] グレインテクスチャ追加 2026-08-26 ここから ===== */
/* 白地セクション(.abstr/.pos/.org/.ms/.eb)と同じ grain-fine.webp を、
   色地の5セクションにも敷く。
   ・濃色に白ノイズを重ねると白く浮くので background に足すのではなく
     ::after オーバーレイ＋mix-blend-mode:multiply で乗算する（地色が何色でも馴染む）
   ・粒度は白地と揃えて var(--noise-tile)=96px
   ・白地セクションはグレインが background レイヤー＝全コンテンツの下なので、
     ここでも「地のテクスチャ」として中身の下に回す（カード/写真/文字はザラつかせない）
   ※このブロックを丸ごと削除すれば完全に元に戻る（既存行は1文字も変更していない）。 */

/* ::after を張る親に position が無いものだけ補う＋
   isolation:isolate で multiply の影響を各セクション内に閉じ込める
   （これが無いとページ全体が合成レイヤー化し、無関係なセクションの
     テキストがサブピクセルAA→グレースケールAAに変わってしまう） */
.dt{position:relative}
.ft,.fth,.dt,.msg{isolation:isolate}   /* .strtech は除外。合成グループ化すると .strtech__copy(top:-100px) のはみ出しが iOS Safari で切り落とされるため。地ノイズは background-blend-mode に変更済み（2026-08-28） */

/* グレイン本体（4セクション共通）
   ※ .ft（FEATUREの地・濃い緑）は乗算だと暗すぎて粒が立たないため、
     SI版と同じ「不透明タイルを直接敷く」方式に変更した。下の [H] ブロックを参照。 */
.fth::after,
.dt::after,
.msg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;            /* クリックを絶対に奪わない */
  opacity:1;                      /* 白地セクションと同じ相対コントラストになる基準値 */
  background:url(../images/data/grain-fine.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat;
  mix-blend-mode:multiply;
}

/* 中身をグレインの上に出す（既存の .ft__inner / .msg__inner と同じ z-index:1 の作法）。
   .ft は .ft__inner が既に z-index:1 のため追記不要＝.fth への二重掛けも起きない。 */
.strtech__inner{z-index:1}        /* position:relative は既存。ノイズを地に回す */
.dt__inner{position:relative;z-index:1}
.msg__photo{z-index:1}            /* 写真はザラつかせない（.msg__inner と同 z＝tree順で下のまま） */
.fth__deco{z-index:1}             /* 緑パネルの装飾も地ノイズの上（文字とは同 z＝tree順で下のまま） */
/* ===== [C] グレインテクスチャ追加 2026-08-26 ここまで ===== */

/* ===== [H] FEATUREの地（濃い緑）のノイズ：SI版と同じ方式に統一 2026-08-27 ここから ===== */
/* [C]の乗算(multiply)方式は、地色が暗いほど粒の振れ幅が小さくなる。
   .ft(#2d3e3b) では相対コントラスト3.4%・標準偏差2.0程度にしかならず、ほぼ見えなかった。
   SI版(.feat #00362d)は「地色に焼き込んだ不透明タイルをblend無しで敷く」方式で
   相対コントラスト13.2%・標準偏差5.3を出していたので、そちらに合わせる。

   images/data/ft-grain.webp は、SI版の images/data/feat-grain.webp の
   粒のパターンと振れ幅（標準偏差 4.34/7.66/7.44）をそのまま引き継ぎ、
   平均色だけをAI版の地色 #2d3e3b に平行移動して作ったもの。クリップはゼロ。
   タイル寸法(256px素材を96px表示)もSI版と同一。

   ::before なので .ft__deco（波）や .ft__inner より下に敷かれる＝地のテクスチャ。 */
.ft::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url(../images/data/ft-grain.webp) 0 0/var(--noise-tile) var(--noise-tile) repeat;
}
/* ===== [H] FEATUREの地（濃い緑）のノイズ：SI版と同じ方式に統一 2026-08-27 ここまで ===== */
