@charset "utf-8";
/* ============================================================
   fureasu 採用サイト｜共通CSS（本番デザイン準拠）
   brand: magenta #AE1587 / yellow #FEE101 / LINE green #137D25（AA対応で #1FAD34 から変更）
   --------------------------------------------------------
   スケーリング方式: 1rem = デザイン上の10px
   ・PC設計幅 1600px（Figma準拠）
       1600px以上   : rem固定(10px) → 1600pxコンテンツをセンタリング
       768〜1599px  : rem = 0.625vw → 等比縮小（vwスケール）
   ・SP設計幅 390px（Figmaスマホ版準拠・〜767px）
       rem = 2.5641vw → 390px設計を等比スケール
   ============================================================ */
html{ font-size:0.625vw; scroll-behavior:smooth; overflow-x:clip; }
/* アンカー遷移（#company など）で追従ヘッダーの下に見出しが潜らないようにする */
[id]{ scroll-margin-top:16rem; }
@media (max-width:767px){ [id]{ scroll-margin-top:10rem; } }
@media (max-width:767px){ html{ font-size:2.5641vw; } }

:root{
  --mg:      #AF1E87;
  --mg-dark: #8F0F6E;
  --yl:      #FEE101;
  --gr:      #06C755;   /* LINE公式色（2026-09-13 先方指示で通常のLINE色に戻す）。白文字とのコントラスト約2.4:1で AA 不適合＝先方判断で許容 */
  --ink:     #000000;
  --gray:    #666;
  --bg-gray: #F0F0F0;
  --wrap:    120rem;
  /* 右端に固定表示している新卒／中途タブ（.vtabs）の幅＋余白。
     画面右端まで伸びるブロックはこの分だけ内側に寄せて、文字や写真が隠れないようにする。 */
  --vtabs-w:    7.7rem;
  --vtabs-safe: 11.5rem;
}
*{ box-sizing:border-box; margin:0; padding:0; }
body{
  /* 基本フォント=ゴシック（Inter＋Noto Sans JP）。丸ゴシック指定はヒーロー見出し（画像実装）のみ（2026-08-26 林さん指示） */
  font-family:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--ink); background:#fff; font-size:1.6rem; font-weight:500; line-height:1.56;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
img{ max-width:100%; height:auto; display:block; }
/* PC/SP出し分け画像は add_picture.py が <picture> にまとめる。picture 自体はレイアウトに出さず、中の img が従来どおり親の直下にあるように振る舞わせる */
picture.pic{ display:contents; }
.wrap{ width:min(100% - 4.8rem, var(--wrap)); margin-inline:auto; }

/* PC/SP 出し分け */
.sp-only{ display:none !important; }
br.br-sp{ display:none; }   /* SPのみの改行 */
@media (max-width:767px){
  .pc-only{ display:none !important; }
  .sp-only{ display:block !important; }
  br.br-pc{ display:none; }    /* PCのみの改行（SPは自然折返し or br-sp） */
  br.br-sp{ display:inline; }
  .arw-pc{ display:none; }     /* PCのみの矢印等インライン装飾 */
}

/* 筆記体英字ラベル */
.script{
  font-family:"Sacramento","Snell Roundhand","Brush Script MT",cursive;
  color:var(--mg); font-size:4.6rem; line-height:1; letter-spacing:.02em; font-weight:400;
}
.sec-ttl{ font-size:4.5rem; font-weight:600; color:var(--mg); letter-spacing:0; line-height:1.21; }

/* ============ ヘッダー（PC） ============ */
.hd{ background:#fff; position:sticky; top:0; z-index:100; }
.hd__inner{
  width:min(100%, 156rem); margin-inline:auto;
  display:flex; align-items:center; gap:1.8rem; padding:1.95rem 0; padding-left:2rem;
}
.hd__logo{ display:flex; align-items:center; gap:1.35rem; flex:none; height:6rem; margin-left:.65rem; }
.hd__logo-img{ height:4.05rem; width:auto; display:block; }
.hd__logo-sub{ font-size:1.15rem; font-weight:700; color:var(--mg); line-height:1; white-space:nowrap; align-self:flex-end; padding-bottom:1.15rem; }
.hd__right{ margin-left:auto; display:flex; align-items:center; gap:3.8rem; }
.hd__navblock{ display:flex; flex-direction:column; align-items:flex-end; gap:.4rem; }
.hd__note{ font-size:1.15rem; color:#555; line-height:.8rem; }
.gnav ul{ display:flex; align-items:center; }
.gnav li{ display:flex; align-items:center; }
.gnav > ul > li + li::before{ content:"｜" / ""; color:#ccc; font-size:1.3rem; margin:0 .25rem; }
.gnav a{
  font-family:"Inter","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;  /* メニュー欧文=Inter（Google Fonts配信・環境非依存） */
  font-size:1.4rem; font-weight:700; padding:.6rem .25rem; white-space:nowrap;   /* 2026-09-09 先方修正: ヘッダー拡大版カンプ（ナビ14px太字・間隔詰め） */
}
.gnav a:hover{ color:var(--mg); }

/* 職種紹介のドロップダウン（PCのみ。ホバーで各職種ページへ） */
.gnav__item--jobs{ position:relative; }
.gnav__sub{
  position:absolute; left:-.75rem; top:100%; z-index:120;
  padding-top:1.1rem;                      /* ナビとパネルの隙間をホバー継続させる緩衝帯 */
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .15s ease;
}
.gnav__item--jobs:hover > .gnav__sub,
.gnav__item--jobs:focus-within > .gnav__sub{ opacity:1; visibility:visible; pointer-events:auto; }
.gnav ul.gnav__sub-list{
  display:block; width:21rem; background:#fff;   /* 左右の余白を確保（Figma 9/15 #5） */
  padding:1.25rem 0; box-shadow:0 .2rem .9rem rgba(0,0,0,.16);   /* 左右余白は a 側の padding 4rem で確保（hover の色を横幅いっぱいに。倉持さん指定 2026-09-16） */
}
.gnav li.gnav__sub-item{ display:block; }
.gnav__sub-link{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.9rem 4rem;
  font-size:1.1rem; font-weight:700; color:#000; line-height:1.6;
  transition:background-color .15s ease, color .15s ease;
}
.gnav__sub-arrow{ font-weight:400; }
.gnav a.gnav__sub-link{ padding:.9rem 4rem; }   /* .gnav a の padding より優先させる（hover を横幅いっぱいに） */
.gnav a.gnav__sub-link:hover,
.gnav a.gnav__sub-link:focus-visible{ background:var(--mg); color:#fff; }

@media (max-width:767px){
  .gnav__sub{ display:none; }
}
.hd__ctas{ display:flex; gap:.6rem; padding-right:0; }
.hcta{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:12.7rem; height:6.35rem;   /* 2026-09-09 ヘッダー拡大版カンプ実測 127×63.5px（1600基準） */
  padding:.4rem .5rem; border-radius:.6rem; color:#fff; text-align:center;
  line-height:1.3; transition:.2s;
}
.hcta:hover{ opacity:.85; }
.hcta--form{ background:var(--mg); }
.hcta--line{ background:var(--gr); }
.hcta--tel{ background:var(--yl); color:var(--mg); }
.hcta__lead{ font-size:1.05rem; font-weight:700; white-space:nowrap; letter-spacing:-.03em; line-height:1.3; }
.hcta__ttl{ font-size:1.55rem; font-weight:800; line-height:1.15; margin-top:.2rem; }   /* 拡大版: エントリー／フォーム 2行 */
.hcta--line .hcta__ttl{ font-size:1.85rem; }               /* 公式LINE */
.hcta__tel{ font-size:1.75rem; font-weight:600; line-height:1.15; letter-spacing:-.02em; white-space:nowrap; }
.hcta__btn{
  font-size:.7rem; background:#fff; border-radius:1rem;
  padding:0; margin-top:.4rem; color:var(--mg); font-weight:700;
  width:7.4rem; height:1.6rem; display:flex; align-items:center; justify-content:center;
}
.hcta--line .hcta__btn{ color:var(--gr); }
.hcta--tel .hcta__lead{ color:var(--mg); font-weight:600; }
.hcta--tel .hcta__lead:last-child{ font-size:1.2rem; font-weight:700; }    /* 平日 9:00〜18:00 */
.hcta__btn{ display:none; }   /* 拡大版カンプでは白い小ボタン無し */

/* ============ ヘッダー（SP：390設計） ============ */
.hd__sp{ display:none; }
@media (max-width:767px){
  .hd__inner{ display:none; }
  .hd__sp{
    display:flex; align-items:center; gap:.8rem;
    height:7.3rem; padding:0 1.2rem; background:#fff;
  }
  .hd__sp-logo{ display:flex; align-items:center; gap:1rem; flex:none; position:relative; top:-1rem; left:.2rem; width:20rem; }
  .hd__sp-logo img{ height:2.62rem; width:auto; aspect-ratio:258/49; }
  .hd__sp-logo span{ font-size:.98rem; font-weight:700; color:var(--mg); white-space:nowrap; }
  .hd__sp-entry{
    margin-left:1.6rem; background:var(--mg); color:#fff;
    display:flex; flex-direction:column; align-items:center;
    line-height:1.35; flex:none; position:relative; top:-.3rem;
  }
  .hd__sp-entry b{ font-size:1rem; font-weight:700; white-space:nowrap; }
  .hd__sp-entry small{ font-size:.8rem; white-space:nowrap; }
  .hd__sp-entry .hd__sp-pill{ white-space:nowrap; }
  .hd__sp-logo img{ height:2.62rem; }
  .hd__sp-entry .hd__sp-pill{
    background:#fff; color:var(--mg); border-radius:1.2rem; font-size:1rem; font-weight:700;
    padding:.1rem 1.2rem; margin-top:.3rem;
  }
  .hd__sp-menu{
    border:none; background:none; display:flex; gap:.55rem; padding:1rem .4rem; cursor:pointer;
  }
  .hd__sp-menu span{ width:.9rem; height:.9rem; border-radius:50%; background:var(--mg); display:block; }
}

/* SPクイック検索ボタン（TOP/職種ページ共通） */
.qsbtn{
  border-radius:.8rem; text-align:center; padding:.9rem .8rem 1.1rem; line-height:1.4;
  display:flex; flex-direction:column; align-items:center;
}
.qsbtn--mg{ background:var(--mg); color:#fff; }
.qsbtn--yl{ background:var(--yl); color:var(--mg); }
.qsbtn small{ font-size:1.1rem; font-weight:700; }
.qsbtn b{ font-size:1.6rem; font-weight:800; }
.qsbtn .qsbtn__pill{
  background:#fff; border-radius:1.4rem; font-size:1.1rem; font-weight:700;
  padding:.1rem 1.6rem; margin-top:.4rem;
}
.qsbtn--mg .qsbtn__pill{ color:var(--mg); }
.qsbtn--yl .qsbtn__pill{ color:var(--ink); }

/* SPドロワーメニュー */
.drawer{ display:none; }
@media (max-width:767px){
  .drawer{
    display:block; position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.45);
    opacity:0; pointer-events:none; transition:.25s;
    overflow:hidden;   /* 閉じている時のパネルが画面外にはみ出して横スクロールが出るのを防ぐ */
  }
  .drawer.is-open{ opacity:1; pointer-events:auto; }
  .drawer__panel{
    position:absolute; right:0; top:0; bottom:0; width:78%; background:#fff;
    padding:6rem 2.4rem 3rem; overflow-y:auto; transform:translateX(100%); transition:.28s;
  }
  .drawer.is-open .drawer__panel{ transform:none; }
  .drawer__close{
    position:absolute; right:1.6rem; top:1.6rem; border:none; background:none; cursor:pointer;
    font-size:2.6rem; color:var(--mg); line-height:1;
  }
  .drawer__panel li{ border-bottom:.1rem solid #eee; }
  .drawer__panel a{ display:block; padding:1.4rem .2rem; font-size:1.5rem; font-weight:700; }
  /* 2026-09-16 Figma指示（#23）: 全幅パネル・上部にロゴ・職種紹介は＋で開閉・下部に「募集要項はこちら」 */
  .drawer__panel{ width:100%; padding:0 3rem 4rem; }   /* 上余白は sticky のヘッダー側に持たせる（sticky は包含ブロックの内側にしか固定できないため） */
  .drawer__fixed{ position:sticky; top:0; z-index:2; background:#fff; padding-top:2rem; }   /* メニューをスクロールしてもロゴ・×・モノクロモードまで上に固定（Figma 9/17「追従で固定」、2026-09-21 倉持さん指示でモノクロモードも含める） */
  .drawer__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.6rem; padding-bottom:.6rem; }
  .drawer__panel a.drawer__logo{ display:flex; align-items:baseline; gap:.8rem; padding:0; white-space:nowrap; }
  .drawer__logo img{ height:3.3rem; width:auto; display:block; }
  .drawer__logo-sub{ font-size:1.1rem; font-weight:700; color:var(--mg); }
  .drawer__close{ position:static; font-size:2.6rem; }
  .drawer__acc-btn{
    display:flex; align-items:center; justify-content:space-between; width:100%;
    padding:1.4rem .2rem; font:inherit; font-size:1.5rem; font-weight:700; color:#000; background:none; border:none; cursor:pointer; text-align:left;
  }
  .drawer__acc-ic{ position:relative; width:1.4rem; height:1.4rem; flex:none; }
  .drawer__acc-ic::before,.drawer__acc-ic::after{ content:""; position:absolute; left:0; top:50%; width:100%; height:.2rem; background:#000; transform:translateY(-50%); }
  .drawer__acc-ic::after{ transform:translateY(-50%) rotate(90deg); transition:transform .2s; }
  .drawer__acc-btn[aria-expanded="true"] .drawer__acc-ic::after{ transform:translateY(-50%) rotate(0); }
  .drawer__sub{ padding-bottom:.6rem; }
  .drawer__sub li{ border-bottom:none; }
  .drawer__sub a{ padding:1.2rem 0 1.2rem 5.6rem; font-size:1.5rem; }
  .drawer__cta{ text-align:center; margin-top:3.2rem; }
  .drawer__cta-lead{
    display:inline-block; position:relative; font-size:1.2rem; font-weight:700; line-height:1.5; color:var(--mg); padding:0 2.2rem; margin-bottom:1rem;
  }
  .drawer__cta-lead::before,.drawer__cta-lead::after{ content:""; position:absolute; top:.2rem; width:.15rem; height:3.4rem; background:var(--mg); }
  .drawer__cta-lead::before{ left:.5rem; transform:rotate(-24deg); }
  .drawer__cta-lead::after{ right:.5rem; transform:rotate(24deg); }
  .drawer__cta-btn{
    display:flex; align-items:center; justify-content:center; width:27.5rem; height:6.2rem; margin-inline:auto;
    background:var(--mg); color:#fff; border-radius:5rem; font-size:2rem; font-weight:700; padding:0;
  }
  /* 2026-09-16 支給カンプ: 募集要項ボタンの下に CTA 2×2 と「見学希望」 */
  .drawer__ctas{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.6rem; margin-top:2.4rem; }
  .drawer__panel a.fcta{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:10.4rem; padding:1.2rem .2rem 1.4rem; font-size:inherit; font-weight:inherit; }
  .drawer__panel a.fcta--contact{ font-size:1.9rem; font-weight:500; line-height:1.55; text-align:center; }
  .drawer__ctas .fcta--tel{ grid-column:auto; }
  /* カンプ実測（390px幅）: CTA文字はフッターより一回り小さい */
  .drawer__ctas .fcta__lead{ font-size:1rem; }
  .drawer__ctas .fcta__ttl{ font-size:1.5rem; }
  .drawer__ctas .fcta--tel .fcta__ttl{ font-size:1.7rem; }
  .drawer__ctas .fcta--tel .fcta__lead{ font-size:1.1rem; }
  .drawer__ctas .fcta__btn{ font-size:1rem; padding:.15rem 1rem; }
  .drawer__panel a.fcta--contact{ font-size:1.6rem; }
  .drawer__panel a.fcta{ min-height:9.6rem; }
  .drawer__visit{ margin-top:2.4rem; border:.15rem solid var(--yl); padding:2.4rem 1.6rem 2.6rem; text-align:center; }
  .drawer__visit-ttl{ font-size:2.4rem; font-weight:500; color:var(--mg); line-height:1.2; margin:0 0 1rem; }
  .drawer__visit-txt{ font-size:1.3rem; line-height:1.7; margin:0 0 1.6rem; }
  .drawer__panel a.drawer__visit-btn{ display:inline-flex; align-items:center; justify-content:center; width:24rem; max-width:100%; height:4.8rem; padding:0; font-size:1.5rem; font-weight:700; }
  html.is-drawer-open .spquick{ display:none !important; }   /* メニュー表示中はかんたん検索バーを隠す（Figma 9/15 #28） */
  html.is-drawer-open .spbar{ display:none !important; }
  /* #26/#27 横スクロール防止 */
  html, body{ overflow-x:hidden; overflow-x:clip; }   /* clip 非対応の古い iOS は hidden にフォールバック */
}

/* ============ 固定：かんたん検索・縦タブ（PC） ============ */
.quick{ position:fixed; right:2.5rem; top:12.7rem; z-index:90; text-align:center; }
.quick__lead{
  font-size:1.2rem; font-weight:600; line-height:1.3; display:block; margin-bottom:.6rem;
  color:var(--mg); text-shadow:0 .1rem .3rem #fff;
  position:relative; padding:0 1.5rem;
}
.quick__lead::before,.quick__lead::after{
  content:''; position:absolute; bottom:.1rem; width:0; height:2.4rem;
  border-left:.15rem solid var(--mg);
}
.quick__lead::before{ left:.5rem; transform:rotate(-27deg); }
.quick__lead::after{ right:.5rem; transform:rotate(27deg); }
.quick__btn{
  width:12.2rem; height:12.2rem; border-radius:50%; background:var(--yl);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:1.5rem; font-weight:600; color:var(--mg); box-shadow:0 .4rem 1.4rem rgba(0,0,0,.18);
  transition:.25s; margin-inline:auto; padding-top:.5rem; line-height:2.4rem;
  position:relative;
}
a.quick__btn::after{
  content:""; border:.36rem solid #fff; position:absolute;
  width:10.65rem; height:10.65rem; background:none; border-radius:50%;
  left:50%; top:50%; transform:translate(-50%,-50%);
}
@media (hover:hover){ .quick__btn:hover{ transform:scale(1.06); } }
.quick__btn-em{ font-size:1.9rem; line-height:1.7rem; margin-top:.5rem; display:inline-block; }
/* 右固定タブ（新卒／中途）: 2026-09-21 デザイナー支給PNG（Figma 9/17「ボタンのデザインはこちら」。右に伸ばした状態の書き出し・4x）に差し替え。
   左端・上端が従来のCSS描画（外枠左1523px／上302px・573px @1600）と合う位置に置き、右の伸びた分は画面外へ。旧CSS描画は下に残す */
.vtabs{ position:fixed; right:-2.525rem; top:29.5rem; z-index:90; display:flex; flex-direction:column; gap:0; }
.vtab{ display:block; width:11.225rem; line-height:0; transition:.2s; }
.vtab img{ display:block; width:100%; height:auto; }
.vtab + .vtab{ margin-top:-.725rem; }
@media (hover:hover){ .vtab:hover{ transform:translateX(-.3rem); } }
/* --- 旧: テキスト描画版（参考） ---
.vtabs{ position:fixed; right:0; top:30.2rem; z-index:90; display:flex; flex-direction:column; gap:1.6rem; }
.vtab{
  writing-mode:vertical-rl; padding:1.3rem 1.8rem 0; border-radius:1.8rem 0 0 1.8rem;
  font-size:1.65rem; font-weight:600; letter-spacing:.29em; line-height:1.27;
  box-shadow:0 .3rem 1rem rgba(0,0,0,.15); transition:.2s;
  width:7.7rem; height:25.5rem;
  border-top:.5rem solid #fff; border-left:.5rem solid #fff; border-bottom:.5rem solid #fff;
}
.vtab--new{ background:var(--mg); color:#fff; }
.vtab--mid{ background:var(--yl); color:var(--mg); }
.vtab strong{ font-size:2.8rem; font-weight:600; letter-spacing:.16rem; line-height:1.07; }
--- */
/* 右固定UI（かんたん検索＋新卒/中途）: 縦が短い画面でも「中途」ボタンが切れないよう、画面の高さに合わせて全体を縮める（Figma 9/24 デザイナー「右側の中途採用も切れないように」）。
   ラッパーを画面全体に固定して transform:scale を掛けると、中の position:fixed 要素はラッパー基準になり、右上を起点にまとめて縮む。--fk は common.js が算出 */
@media (min-width:768px){
  .fixed-ui{ position:fixed; inset:0; z-index:90; pointer-events:none; transform-origin:100% 0; transform:scale(var(--fk,1)); }
  .fixed-ui > *{ pointer-events:auto; }
}
@media (max-width:767px){
  .quick,.vtabs{ display:none; }
}

/* ============ SP：画面下追従CTA ============ */
.spbar{ display:none; }
@media (max-width:767px){
  /* 下部の固定バーは非表示（2026-09-04 指示） */
  .spbar{ display:none; }
  .spbar a{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:.7rem .4rem .8rem; color:#fff; text-align:center; line-height:1.3;
  }
  .spbar__lead{ font-size:.9rem; }
  .spbar__ttl{ font-size:1.3rem; font-weight:800; }
  .spbar a:nth-child(1){ background:var(--mg); }
  .spbar a:nth-child(2){ background:var(--gr); }
  .spbar a:nth-child(3){ background:var(--yl); color:var(--ink); }
  body{ padding-bottom:0; }
  /* かんたん検索は下部の固定バーの上にsticky追従させる */
  .spquick{
    position:sticky !important; bottom:0; z-index:200;   /* !important: 一部ページの「.page-xxx .sp-only{position:relative}」に負けて追従しなくなるため（2026-09-16） */
    background:#fff; box-shadow:0 -.3rem 1rem rgba(0,0,0,.12);
    text-align:center; padding:.5rem 1.6rem 0;
    /* 最初は隠しておき、少しスクロールしたら下からせり出す（is-in は common.js が付与） */
    transform:translateY(110%); opacity:0; pointer-events:none;
    transition:transform .35s ease, opacity .3s ease;
  }
  .spquick.is-in{ transform:none; opacity:1; pointer-events:auto; }
  /* 2026-09-16 Figma指示（#35）: 下層ページにも表示。プラポリ／404／募集要項（一覧・詳細）／コラム（一覧・詳細）／お知らせ（一覧・詳細）は非表示 */
  .page-privacy .spquick, .page-404 .spquick, .error404 .spquick,
  .page-search .spquick, .page-search-detail .spquick, .single-recruit-job .spquick, .post-type-archive-recruit-job .spquick,
  .page-column .spquick, .page-column-detail .spquick, .page-news .spquick, .page-news-detail .spquick,
  .post-type-archive-recruit-news .spquick, .single-recruit-news .spquick, .tax-blog_cat .spquick, .single-post .spquick{ display:none !important; }   /* ※ .home.blog はTOPにも付くので除外しない */
  @media (prefers-reduced-motion:reduce){
    .spquick{ transition:none; }
  }
}

/* ============ ボタン共通 ============ */
.btn-yl{
  display:inline-block; background:var(--yl); border-radius:99rem;
  padding:1.3rem 2.4rem; font-size:1.6rem; font-weight:500; transition:.2s; text-align:center;
  width:17rem;
}
@media (hover:hover){ .btn-yl:hover{ transform:translateY(-.2rem); box-shadow:0 .6rem 1.6rem rgba(0,0,0,.12); } }
.btn-wh{
  display:inline-block; background:#fff; border-radius:99rem;
  padding:1.2rem 3.2rem; font-size:1.6rem; font-weight:500; transition:.2s; text-align:center;
}
@media (hover:hover){ .btn-wh:hover{ transform:translateY(-.2rem); box-shadow:0 .6rem 1.6rem rgba(0,0,0,.12); } }
.btn-mg{
  display:inline-block; background:#fff; color:var(--mg); border-radius:99rem;
  padding:1.6rem 5rem; font-size:3.4rem; font-weight:600; line-height:1.21; transition:.2s; text-align:center;
}
@media (hover:hover){ .btn-mg:hover{ transform:translateY(-.2rem); } }
.btn-mgfill{
  display:inline-block; background:var(--mg); color:#fff; border-radius:99rem;
  padding:1.2rem 3.4rem; font-size:1.4rem; font-weight:700; transition:.2s; text-align:center;
  width:17rem;
}
.btn-mgfill:hover{ opacity:.85; }

/* ============ フッター（PC＝1600設計） ============ */
.ft{ background:#fff; padding:1.8rem 0 0; }
.ft > .wrap{ width:min(100% - 4.8rem, 145.4rem); }

.ft__inner{
  width:100%; margin-inline:auto;
  display:grid; grid-template-columns:72.4rem 1fr; gap:10rem;
}
.ft__logo-row{ display:flex; align-items:flex-start; gap:3rem; flex-wrap:wrap; position:relative; top:3.9rem; left:3.4rem; }
.ft__logo{ line-height:1; }
.ft__logo-img{ height:5.65rem; width:auto; display:block; }
.ft__search-block{ text-align:center; }
.ft__search-lead{
  font-size:1.2rem; font-weight:600; color:var(--mg); display:table; margin:0 auto .7rem;
  text-align:center; position:relative; top:-1.4rem; left:1.5rem; line-height:1.7rem; padding:0 2rem;
}
.ft__search-lead::before,.ft__search-lead::after{
  content:''; position:absolute; width:0; height:3.6rem;
  border-left:.15rem solid var(--mg);
}
.ft__search-lead::before{ left:.2rem; top:0; transform:rotate(-38deg); }
.ft__search-lead::after{ right:.2rem; top:0; transform:rotate(38deg); }

.ft__search{
  display:inline-block; background:var(--mg); color:#fff; border-radius:99rem; padding:1.3rem 3rem 1.3rem 2rem;
  font-size:1.9rem; font-weight:500; line-height:1.21; min-width:21rem; white-space:nowrap; text-align:center; transition:.2s;
  position:relative; top:-1.6rem; left:1.6rem; width:21.5rem; height:5.3rem;
}
.ft__search:hover{ opacity:.85; }
.ft__addr{ font-size:1.4rem; color:#000; margin-top:2.6rem; position:relative; top:3rem; left:3.4rem; letter-spacing:-.01rem; }
.ft__group{ margin-top:7rem; }
.ft__group-ttl{ font-size:1.4rem; font-weight:500; margin-bottom:1rem; position:relative; left:3.6rem; }
.ft__pills{ display:flex; gap:1rem; flex-wrap:wrap; position:relative; left:3.4rem; }
.ft__pill{
  border:.35rem solid var(--mg); color:#000; border-radius:99rem;
  font-size:.9rem; font-weight:700; padding:.5rem .5rem .5rem 1.4rem; transition:.2s;
  height:3.4rem; line-height:1.8rem; position:relative; top:-.3rem;
}
a.ft__pill.ft__pill--corporate{ width:13.5rem; }
a.ft__pill.ft__pill--service{ width:13.5rem; }
.ft__group.ft__group--brands{ margin-top:1rem; }
/* グループサイトの枠線はカンプ通り各社のブランドカラー（PC/SP共通） */
a.ft__pill.ft__pill--leis{ width:18rem; border-color:#8472C7; }
a.ft__pill.ft__pill--kindcare{ width:17rem; border-color:#E79D4D; }
a.ft__pill.ft__pill--mirai{ width:18rem; border-color:#4DA34A; }

.ft__pill:hover{ background:var(--mg); color:#fff; }
.ft__pill--purple{ border-color:#7d6bb5; }
.ft__pill--orange{ border-color:#e8933a; }
.ft__pill--green{ border-color:#43a047; }
.ft__ctas{ display:grid; grid-template-columns:16.5rem 16.5rem 16.5rem; gap:.85rem;   /* 2026-09-16 Figma指示: 「採用に関するお問い合わせ」削除で3つ */ margin-top:3rem; position:relative; left:3.5rem; top:-.3rem; height:10.6rem; }
.fcta{
  border-radius:.6rem; padding:1.2rem 1rem 1.4rem; color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; line-height:1.4; transition:.2s;
}
.fcta:hover{ opacity:.85; }
.fcta--form{ background:var(--mg); }
.fcta--line{ background:var(--gr); }
.fcta--tel{ background:var(--yl); color:var(--ink); }
.fcta--contact{ background:var(--mg); font-weight:500; font-size:1.78rem; line-height:1.55; }
.fcta__lead{ font-size:.95rem; font-weight:700; }
.fcta--tel .fcta__lead{ color:var(--mg); }
.fcta__ttl{ font-size:1.78rem; font-weight:500; line-height:1.57; white-space:nowrap; }
.fcta--tel .fcta__ttl{ font-size:1.95rem; font-weight:600; color:var(--mg); line-height:1.23; }
.fcta__btn{
  font-size:1rem; background:#fff; border-radius:1.4rem; padding:.4rem 1.4rem; margin-top:.4rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.fcta--form .fcta__btn{ color:var(--mg); }
.fcta--line .fcta__btn{ color:var(--gr); }
/* フッター サイトマップ4列（先方カンプ 2026-09-14 実測: 列ピッチ 131/162/219px、見出し→1行目 41px、行ピッチ 32px。職種紹介の項目だけ字下げ） */
.ft__cols{ display:grid; grid-template-columns:13.1rem 16.2rem 21.9rem auto; gap:0; position:relative; top:6.6rem; left:.3rem; }
.fcol__ttl{
  font-size:1.8rem; font-weight:500; line-height:1.5; margin-bottom:1.4rem;
}
.fcol__ttl a{ color:#000; }
.fcol__ttl a:hover{ color:var(--mg); }
.fcol--jobs ul{ padding-left:0; }
.fcol ul{ display:flex; flex-direction:column; gap:.9rem; }
.fcol a{ font-size:1.6rem; line-height:1.5; color:#000; }
.ft__pill{ display:inline-flex; align-items:center; justify-content:center; }   /* 文字を枠の上下中央に（Figma 9/15 #2） */
.fcol a:hover{ color:var(--mg); }
@media (min-width:768px){ .fcol--other > ul > li > a{ font-size:1.8rem; font-weight:500; white-space:nowrap; } }   /* 見出し無し列（採用メッセージ等）は見出しと同じ文字サイズ（Figma 9/17「フォントサイズ同じに」） */
/* フッター「フレアスについて」のサブメニュー */
.fcol__sub{ margin-top:.9rem; padding-left:1.2rem; gap:.7rem; }
.fcol__sub li{ display:flex; align-items:baseline; gap:.5rem; }
.fcol__sub li::before{ content:"−"; color:#888; flex:none; }
.fcol__sub a{ font-size:1.4rem; white-space:nowrap; }
.ft__right-bottom{ margin-top:15.6rem; display:flex; flex-direction:row; justify-content:flex-end; align-items:center; gap:4rem; position:relative; right:6rem; }
.ft__sns{ display:flex; gap:.9rem; align-items:center; position:relative; top:-1rem; right:-3.5rem; }
.sns-ic{ display:block; width:5.4rem; transition:.2s; }
.sns-ic img{ width:100%; height:auto; display:block; }
@media (hover:hover){ .sns-ic:hover{ transform:translateY(-.2rem); } }
.ft__japhic{ display:flex; gap:1.2rem; align-items:flex-end; position:relative; top:-1.4rem; left:1rem; }
.ft__japhic img{ height:auto; width:5rem; }
img.ft__japhic-1{ height:6.2rem; width:auto; position:relative; bottom:3rem; right:-.8rem; }
img.ft__japhic-2{ height:7.1rem; width:auto; position:relative; bottom:2.1rem; right:-1.8rem; }
.ft__legal{ display:flex; justify-content:flex-end; gap:1rem; flex-wrap:nowrap; white-space:nowrap; font-size:1.6rem; font-weight:500; color:#000; margin-top:.1rem; position:relative; right:3rem; }
.ft__legal a:hover{ color:var(--mg); }
.ft__legal span{ color:#aaa; position:relative; margin:0 -.3rem; }   /* -1rem だと3項目になった時に「｜」がリンク文字に重なる（2026-09-27 倉持さん指摘） */
.ft__band{ background:var(--mg); color:#fff; text-align:center; font-size:1.6rem; font-weight:500; padding:1.6rem 0; margin-top:2.6rem; }

/* ============ フッター（SP＝390設計） ============ */
@media (max-width:767px){
  .ft{ padding:4rem 0 0; }
  .ft__inner{ display:block; width:min(100% - 3.2rem, 36rem); }
  .ft__logo-row{ flex-direction:column; align-items:center; gap:1.6rem; }
  .ft__logo-img{ height:3.29rem; margin-inline:auto; }
  .ft__addr{ font-size:1.2rem; text-align:left; }
  .ft__search-block{ margin-top:1rem; }
  .ft__cols{ grid-template-columns:1fr 1fr; gap:2.6rem 2rem; margin-top:3rem; }
  .fcol__ttl{ font-size:1.5rem; }
  .ft__ctas{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .fcta{ min-width:0; min-height:8rem; }
  .ft__group{ text-align:center; }
  .ft__group-ttl{ font-size:1.5rem; }
  .ft__pills{ justify-content:center; }
  .ft__right-bottom{ align-items:center; margin-top:3rem; }
  .ft__legal{ justify-content:flex-start; font-size:1.25rem; }
  .ft__band{ margin-top:2.4rem; }
}

/* ============ 採用情報（全ページ共通CTA） ============ */
.saiyo{
  background:#FFF url(../img/saiyo_band.png?v=1789655597) no-repeat right center / cover;
  padding:6.4rem 0 0; overflow:hidden; position:relative;
}
@media (min-width:768px){ .saiyo__photo{ display:none; } }
.saiyo__inner{ display:grid; grid-template-columns:87rem 1fr; gap:4rem; align-items:end; width:min(100% - 4.8rem,135.8rem); margin-inline:auto; }
.saiyo__lead{ font-size:1.6rem; margin-top:2rem; position:relative; top:-1.5rem; left:-.1rem; }
.saiyo__cards{ display:grid; grid-template-columns:41.6rem 41.6rem; gap:2.8rem; margin-top:3rem; position:relative; left:.8rem; }
.scard{ height:22.1rem; padding:2.5rem 2rem; text-align:center; display:flex; flex-direction:column; }
.scard--yl{ background:var(--yl); border:.2rem solid #fff; }
.scard--yl p{ color:var(--mg); }
.scard--wh{ background:#fff; border:.2rem solid var(--yl); }
.scard h3{ font-size:3.4rem; font-weight:600; color:var(--mg); letter-spacing:0; line-height:1.21; }
.scard p{ font-size:1.6rem; line-height:1.56; margin:.6rem 0 auto; position:relative; padding:0 3rem 0 1rem; text-align:left; }
.scard .btn-wh{ box-shadow:0 .2rem .8rem rgba(0,0,0,.08); font-size:1.6rem; }
.saiyo__wide{
  background:var(--mg); border:.3rem solid var(--yl); color:#fff;
  text-align:center; padding:2.6rem 2rem; margin:2.1rem 0 8.2rem; min-height:20.4rem;
}
.saiyo__wide p{ font-size:1.6rem; line-height:1.56; margin-bottom:1.8rem; width:51rem; position:relative; left:16.7rem; top:-.2rem; }
.saiyo__photo{ position:absolute; right:0; top:0; bottom:0; width:37.5%; }
.saiyo__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
@media (max-width:767px){
  .saiyo{ position:relative; padding:0; background:#fff; margin-top:2rem; }
  .saiyo__inner{ grid-template-columns:1fr; gap:2rem; }
  .saiyo__body .script{ font-size:3.4rem; }
  .saiyo__cards{ grid-template-columns:1fr; gap:1.8rem; }
  .saiyo__wide{ margin:1.8rem 0 3rem; }
  .saiyo__photo{ position:static; width:auto; max-width:30rem; margin-inline:auto; }
  .saiyo__photo img{ height:auto; }
}

/* ============ インタビュー詳細モーダル ============ */
.ivmodal{
  position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.55);
  display:none; overflow-y:auto; padding:5rem 2rem;
}
.ivmodal.is-open{ display:block; }
.ivmodal__panel{
  position:relative; width:min(100%,112rem); margin:0 auto; background:#fff;
  padding:6rem 7rem 7rem; border-radius:.6rem;
}
.ivmodal__close{
  position:absolute; right:2rem; top:1.6rem; border:none; background:none; cursor:pointer;
  font-size:3.4rem; color:var(--mg); line-height:1;
}
.ivmodal__head{ display:grid; grid-template-columns:38rem 1fr; gap:5rem; align-items:start; }
.ivmodal__face{ width:100%; }
.ivmodal__tag{
  display:inline-block; background:var(--mg); color:#fff; font-size:1.3rem; font-weight:700;
  padding:.4rem 2.2rem; margin-bottom:1.8rem;
}
.ivmodal__catch{ font-size:2.4rem; font-weight:800; line-height:1.7; }
.ivmodal__kana{ font-size:1.2rem; color:#555; margin-top:2.4rem; }
.ivmodal__name{ font-size:2.4rem; font-weight:800; }
.ivmodal__meta{ font-size:1.3rem; color:#444; margin-top:2rem; line-height:2; border-top:.1rem solid #D9D9D9; padding-top:1.6rem; }
.ivmodal__q{
  color:var(--mg); font-size:1.5rem; font-weight:800; margin:5.4rem 0 3rem;
  padding-bottom:1rem; border-bottom:.12rem solid #e9c2dc;
}
.ivmodal__grid{ display:grid; grid-template-columns:39rem 1fr; gap:5rem; align-items:center; }
.ivmodal__grid--rev{ grid-template-columns:1fr 43rem; }
.ivmodal__grid h3{ font-size:2rem; font-weight:800; line-height:1.8; margin-bottom:1.8rem; }
.ivmodal__grid p{ font-size:1.35rem; line-height:2.05; color:#333; margin-bottom:1.6rem; }
.ivmodal__msg{ text-align:center; width:min(100%,80rem); margin-inline:auto; }
.ivmodal__msg h3{ font-size:2.2rem; font-weight:800; line-height:1.8; margin-bottom:2rem; }
.ivmodal__msg p{ font-size:1.35rem; line-height:2.05; color:#333; margin-bottom:1.6rem; }
.ivmodal__script{ display:flex; align-items:flex-end; gap:1.2rem; margin-top:5.4rem; }
.ivmodal__script-w{ width:12.4rem; }
.ivmodal__script-n{ width:4.3rem; }
.ivmodal__script + .ivmodal__q{ margin-top:.8rem; }
.ivmodal__sched{ margin-top:6rem; }
.sched{ display:flex; align-items:stretch; margin-top:8rem; }
.sched__item{
  flex-grow:var(--grow); flex-basis:0; position:relative;
  display:flex; align-items:center; justify-content:center; text-align:center;
  min-height:9.6rem; padding:1.2rem .8rem; font-size:1.35rem; font-weight:700; line-height:1.6;
}
.sched__item--mg{ background:var(--mg); color:#fff; }
.sched__item--yl{ background:var(--yl); color:#000; }
.sched__item--wh{ background:#fff; color:#000; border:.1rem solid #ddd; }
.sched__item--pu{ background:#590076; color:#fff; }
.sched__icon{ position:absolute; top:-7.6rem; left:50%; transform:translateX(-50%); width:9rem; }
.sched__icon img{ width:100%; display:block; }
.sched__time{ position:absolute; top:calc(100% + .8rem); left:50%; transform:translateX(-50%); font-size:1.3rem; font-weight:500; color:#555; white-space:nowrap; }
.sched__note{ text-align:right; font-size:1.3rem; color:#555; margin-top:4.4rem; }
.ivmodal__sched .script{ font-size:3.4rem; }
.ivmodal__sched-ttl{
  font-size:1.5rem; font-weight:800; color:var(--mg);
  padding-bottom:1rem; border-bottom:.12rem solid #e9c2dc; margin-bottom:3rem;
}
body.ivmodal-open{ overflow:hidden; }
@media (max-width:767px){
  .ivmodal{ padding:2rem 1.2rem; }
  .ivmodal__panel{ padding:4.6rem 2rem 4rem; }
  .ivmodal__head,.ivmodal__grid,.ivmodal__grid--rev{ grid-template-columns:1fr; gap:2.4rem; }
  .ivmodal__grid--rev img{ order:-1; }
  .ivmodal__catch{ font-size:1.9rem; }
  .ivmodal__head{ position:relative; }
  .ivmodal__tag{ position:absolute; top:0; left:0; margin-bottom:0; z-index:1; }
  .ivmodal__msg{ text-align:left; }
  .ivmodal__msg h3{ text-align:center; }
  .ivmodal__script{ margin-top:4.2rem; gap:1rem; }
  .ivmodal__script-w{ width:10.4rem; }
  .ivmodal__script-n{ width:3.6rem; }
  .sched{ flex-direction:column; margin-top:5.6rem; gap:0; }
  .sched__item{ min-height:6.6rem; padding:1.4rem 1rem; font-size:1.4rem; margin-left:8.2rem; flex-grow:0; flex-basis:auto; }
  .sched__icon{ width:7.4rem; top:-4.6rem; left:-2.2rem; transform:none; }
  .sched__item--yl .sched__icon{ top:-5.2rem; left:auto; right:-.6rem; }
  .sched__time{ top:50%; transform:translateY(-50%); left:auto; right:calc(100% + 1.2rem); font-size:1.25rem; }
  .sched__note{ text-align:right; margin-top:1.2rem; }
}

/* SP共通（390設計）: 見出し24px・採用情報CTAコンパクト化 */
@media (max-width:767px){
  .sec-ttl{ font-size:2.4rem; }
  .scard{ height:auto; min-height:19.2rem; padding:2.2rem 1.8rem; }
  .scard h3{ font-size:2.4rem; font-weight:700; }
  .scard p{ font-size:1.4rem; }
  .saiyo__lead{ font-size:1.4rem; margin-top:1.2rem; }
  .saiyo__cards{ margin-top:2.6rem; gap:1.6rem; }
  .saiyo__wide{ min-height:0; padding:2.2rem 1.6rem; }
  .saiyo__wide p{ font-size:1.4rem; margin-bottom:1.4rem; }
  .btn-mg{ font-size:2.4rem; padding:1.2rem 3.6rem; }
}

.script--txt{ font-family:"Sacramento",cursive; color:var(--mg); font-size:4.6rem; line-height:1; font-weight:400; }

/* ============================================================
   筆記体＝Figmaベクター画像（.script内のimg・カード番号のno0X）
   --------------------------------------------------------
   幅はHTMLに直書きせず、画像ごとの sw-* クラスが CSS変数 --sw / --sw-sp を
   セットする方式。width は変数を読むだけなので、個別調整は
   「詳細度の高いセレクタで --sw / --sw-sp を上書き」すれば効く（!important 不要）。
     PC : --sw     （未指定なら画像の実寸）
     SP : --sw-sp  （未指定なら .script 内は一律24rem／それ以外は --sw のまま）
   ============================================================ */
.script img{ display:inline-block; height:auto; max-width:100%; vertical-align:baseline; }
.jpcard__no img{ display:inline-block; height:auto; }

/* --- 画像ごとの既定幅（PC・1600px設計） --- */
.sw-about-the-work{ --sw:41.4rem; }
.sw-aboutus{ --sw:19.3rem; }
.sw-aimfor{ --sw:24.5rem; }
.sw-benefits{ --sw:10.8rem; }
.sw-career-plan{ --sw:20.9rem; }
.sw-column{ --sw:12.8rem; }
.sw-company{ --sw:13.9rem; }
.sw-contents1{ --sw:14.2rem; }
.sw-contents2{ --sw:14rem; }
.sw-contents3{ --sw:14.2rem; }
.sw-culture{ --sw:12.3rem; }
.sw-data{ --sw:8.7rem; }
.sw-entry-cta{ --sw:14.5rem; }
.sw-entry-hero{ --sw:10.4rem; }
.sw-how-to-enter{ --sw:20.6rem; }
.sw-interview{ --sw:22rem; }
.sw-interview-senpai{ --sw:25.8rem; }
.sw-message{ --sw:13.5rem; }
.sw-no{ --sw:6.8rem; }
.sw-philosophy{ --sw:17rem; }
.sw-philosophy-card{ --sw:17rem; }
.sw-philosophy-vision{ --sw:32.6rem; }
.sw-pickup{ --sw:24.6rem; }
.sw-point{ --sw:15.8rem; }
.sw-qa{ --sw:9.6rem; }
.sw-recruit{ --sw:20.5rem; }
.sw-recruit-jobs{ --sw:21.4rem; }
.sw-recruit-wide{ --sw:29.7rem; }
.sw-related-sites{ --sw:22.4rem; }
.sw-schedule-fix{ --sw:12.4rem; }
.sw-step{ --sw:8rem; --sw-sp:8.5rem; }
.sw-faq{ --sw:9rem; --sw-sp:7rem; }   /* エントリーFAQの筆記体（2026-09-09 倉持さん指摘: StepではなくFAQ） */
.sw-searchjobs-fix{ --sw:27rem; }
.sw-training-program{ --sw:29.1rem; }
.sw-value{ --sw:10.7rem; }
.sw-vision{ --sw:10.4rem; }
.sw-wanted{ --sw:21.4rem; }
.sw-what{ --sw:10.7rem; }
.sw-who{ --sw:7.9rem; }
.sw-work-environment-fix{ --sw:48.7rem; }
.sw-work-environment-search{ --sw:39.1rem; }
/* 同じ画像でページごとに幅が違うもの（施術者の「働く環境を知る」だけ小さい） */
.sejutsu-jenv-work-environment-fix{ --sw:28rem; }

.script img, .jivcard__no img, .jpcard__no img{ width:var(--sw, auto); }

@media (max-width:767px){
  /* SPは .script 内の筆記体を一律24rem（個別指定は --sw-sp で上書き） */
  .script img{ transform-origin:left bottom; position:relative; left:-1rem; top:2rem; width:var(--sw-sp, 24rem); }
  .jivcard__no img, .jpcard__no img{ width:var(--sw-sp, var(--sw, auto)); }
  /* 倉持さん指示 2026-09-05: ドライバーだけ筆記体を左へ（後続の個別指定が優先されるようここに置く） */
  .page-driver .script img{ left:-4rem; }
  .page-driver .jenv .script img{ left:-1rem; }   /* 働く環境を知る（4職種共通部品）は施術者と同じ位置に（2026-09-08） */
  /* 倉持さん指示 2026-09-06: 働く環境ページだけ筆記体の位置を調整 */
  .page-kankyo .script img{ left:0; top:1rem; }   /* SPカンプ: 見出しと左端揃え・見出しの直上（2026-09-08） */
  .page-kankyo .script img.sw-data{ --sw-sp:10rem; }   /* 03 数字で見る「Data」（倉持さん指示 2026-09-07） */
  .page-kankyo .script img.sw-career-plan{ --sw-sp:19rem; left:1rem; top:1rem; }   /* 04 キャリアプラン「Career plan」（同上） */
  /* 倉持さん指示 2026-09-06: 会社についてページの筆記体はずらさない */
  .page-aboutus .script img{ left:0; top:0; }
  /* 倉持さん指示 2026-09-06: コラム／お知らせ一覧の筆記体（PickUp）の位置とサイズ */
  .page-column .script img,
  .page-news .script img{ left:39.5rem; top:-15.5rem; --sw-sp:18rem; }
}
.saiyo .script{ position:relative; top:-.4rem; left:.1rem; }
.saiyo .sec-ttl{ position:relative; top:-1.7rem; left:.3rem; }
.saiyo .btn-wh{
  display:inline-block; background:#fff; border-radius:99rem;
  padding:1.2rem 2.2rem; font-weight:500; transition:.2s; text-align:center;
  width:22.2rem; position:relative; left:7.3rem; top:.3rem;
}
.saiyo .scard p{ padding:0 3rem 0 4.34rem; }
.saiyo .btn-yl{ position:relative; left:7rem; top:.4rem; width:22.5rem; height:4.6rem; line-height:1.6rem; }
.saiyo .btn-mg{ position:relative; top:-.8rem; left:.7rem; width:34.9rem; height:8.5rem; padding:2.4rem 2rem; }

/* ============================================================
   SP完全版オーバーライド（スマホカンプ準拠・390設計）
   ヘッダー / SPクイック検索 / 採用情報 / フッター
   ============================================================ */
@media (max-width:767px){
  /* --- ヘッダー --- */
  .hd__sp{ height:7.2rem; padding:0 .8rem; gap:.4rem; }
  .hd__sp-logo img{ height:2.62rem; }
  .hd__sp-entry{
    width:8.9rem; min-height:5.2rem; border-radius:.4rem;
    padding:.7rem .3rem .6rem; padding-top:.2rem; padding-left:.3rem;
    justify-content:center;
  }
  .hd__sp-entry small{ font-size:.7rem; }
  .hd__sp-entry b{ font-size:.75rem; position:relative; top:-.2rem; letter-spacing:-.06rem; }
  .hd__sp-entry .hd__sp-pill{
    font-size:.7rem; padding:.05rem .9rem; margin-top:.3rem; border-radius:.9rem;
    height:1.2rem; position:relative; top:.1rem; width:6rem; padding-left:.4rem; line-height:1.2rem;
  }
  .hd__sp-menu{ gap:.7rem; padding:1rem .4rem; padding-left:1.3rem; }
  .hd__sp-menu span{ width:.9rem; height:.9rem; }

  /* --- SPクイック検索 --- */
  .hero .spquick__ttl{ font-size:1.8rem; position:relative; left:.4rem; top:.3rem; letter-spacing:.1rem; }
  .spquick__ttl{
    font-size:1.8rem; font-weight:500; color:var(--mg);
    position:relative; display:inline-block; padding:0 2.4rem; left:-.3rem;
  }
  .spquick__ttl b{ font-size:1.8rem; font-weight:600; margin-left:.1rem; margin-right:.3rem; letter-spacing:0; }
  .spquick__ttl::before,.spquick__ttl::after{
    content:''; position:absolute; width:0; height:2rem;
    border-left:.15rem solid var(--mg);
  }
  .spquick__ttl::before{ left:1rem; top:.4rem; transform:rotate(-36deg); }
  .spquick__ttl::after{ right:1.1rem; top:.4rem; transform:rotate(36deg); }
  .spquick__btns{ display:flex; gap:1.2rem; margin-top:.2rem; }
  .spquick__btns .qsbtn{ flex:1; }   /* 2ボタンを均等幅に（top.css から移動。下層ページも同じ見た目に 2026-09-16） */
  .spquick__btns .qsbtn{ border-radius:.6rem; position:relative; left:0; padding-top:1.1rem; }   /* 2ボタンを画面中央に（2026-09-08） */
  .qsbtn{ height:7rem; justify-content:center; padding:.4rem .8rem; }
  .qsbtn small{ font-size:1.1rem; position:relative; top:-.4rem; left:0; }
  .qsbtn b{ font-size:1.6rem; font-weight:500; position:relative; top:-.8rem; left:0; letter-spacing:-.01rem; }
  .qsbtn .qsbtn__pill{
    font-size:1rem; padding:.05rem 1.2rem; margin-top:.3rem;
    position:relative; width:10rem; height:3rem; top:-.7rem; left:0; line-height:2rem;
  }
  .qsbtn.qsbtn--yl b{ top:-.5rem; left:0; }
  .qsbtn.qsbtn--yl .qsbtn__pill{
    line-height:1rem; height:2.2rem; color:var(--mg); top:.1rem; left:0;
    padding-top:.6rem; padding-left:1.2rem; letter-spacing:-.05rem;
  }

  /* --- 採用情報 --- */
  .saiyo{ position:relative; padding:0; background:#fff; }
  .saiyo__inner{ display:block; width:min(100% - 3rem,36rem); }
  .saiyo__photo{
    position:absolute; top:0; right:1.8rem; left:auto; bottom:auto;
    width:35.4rem; height:26rem; max-width:none; margin:0;
  }
  .saiyo__photo img{ height:100%; object-fit:cover; }
  .saiyo .script{ top:0; left:0; padding-top:6.2rem; display:block; position:relative; z-index:2; }
  .page-driver .saiyo .script{ left:1rem; }
  .saiyo .script img{ --sw-sp:11.9rem; top:0; left:1rem; }
  .page-top .saiyo{ position:relative; padding:0; background:#fff; margin-top:7rem; }
  .saiyo .sec-ttl{ top:0; left:0; position:relative; z-index:2; padding-left:1rem; }
  .saiyo__lead{ top:0; left:0; width:16rem; font-size:1.3rem; line-height:1.54; margin-top:1.4rem; position:relative; z-index:2; padding-left:1rem; }
  .saiyo__cards{ left:0; margin-top:6.8rem; gap:1.5rem; }
  .scard{ min-height:19.5rem; border-radius:1rem; padding:2.4rem 1.5rem; }
  .scard--yl{ border:.34rem solid #fff; }
  .saiyo .scard.scard--yl{ border-radius:0; margin-top:1rem; }
  .scard--wh{ border:.34rem solid var(--yl); }
  .scard h3{ font-size:2.4rem; font-weight:700; }
  .saiyo .scard p{ padding:0; text-align:center; font-size:1.3rem; line-height:1.54; width:22.2rem; margin:.9rem auto auto; }
  .saiyo .btn-wh{ left:0; top:0; width:20rem; padding:.95rem 0; font-size:1.6rem; margin-inline:auto; display:block; }
  .saiyo .btn-yl{ left:0; top:0; width:20rem; height:4.4rem; padding:.95rem 0; font-size:1.6rem; line-height:1.56; margin-inline:auto; display:block; }
  .saiyo__wide{ margin:1.5rem 0 0; min-height:19.5rem; border-radius:1rem; border:.34rem solid var(--yl); padding:2.7rem 1.4rem; }
  .saiyo__wide p{ left:0; top:0; width:22.2rem; margin-inline:auto; font-size:1.3rem; line-height:1.54; margin-bottom:1.6rem; }
  .saiyo .btn-mg{ left:0; top:0; width:25.8rem; height:5.6rem; padding:1.2rem 0; font-size:2.4rem; font-weight:700; margin-inline:auto; display:inline-block; }

  /* --- フッター（カンプ順: logo→addr→search→cols→ctas→related→brands→sns/japhic→legal） --- */
  .ft{ padding:3.4rem 0 0; }
  .ft > .wrap{ width:min(100% - 3rem, 36rem); }
  .ft__inner{ display:flex; flex-direction:column; width:100%; gap:0; }
  .ft__inner > div{ display:contents; }
  .ft__logo-row{ display:contents; }
  .ft__logo{ order:1; margin-inline:auto; }
  .ft__logo-img{ height:auto; width:28.3rem; }
  .ft__addr{ order:2; position:static; margin-top:3.6rem; font-size:1.3rem; line-height:1.54; letter-spacing:0; }
  .ft__searchwrap,.ft__search-block{ order:3; text-align:center; margin-top:3.4rem; }
  /* position:static だと ::before/::after の基準が別の祖先になり線が飛ぶ。relative に戻す */
  .ft__search-lead{ position:relative; top:0; left:0; display:inline-block; font-size:1.2rem; line-height:1.5; padding:0 2.2rem; margin-bottom:.9rem; max-width:none; white-space:nowrap; }
  .ft__search-lead::before{ left:.5rem; top:.2rem; transform:rotate(-24deg); height:3.4rem; }
  .ft__search-lead::after{ right:.5rem; top:.2rem; transform:rotate(24deg); height:3.4rem; }
  .ft__search{ position:static; display:block; width:21.5rem; height:5.3rem; margin-inline:auto; padding:1.5rem 0; font-size:1.9rem; }
  .ft__cols{
    order:4; position:static; display:grid; grid-template-columns:15rem 15rem;
    column-gap:3rem; row-gap:5rem; margin-top:5.4rem; margin-left:1.5rem; justify-content:start;
  }
  .fcol__ttl{ font-size:1.9rem; font-weight:600; border-bottom:.1rem solid #000; padding-bottom:1.1rem; margin-bottom:1.5rem; }
  .fcol a{ font-size:1.6rem; }
  .ft__ctas{ order:5; position:static; display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.6rem; margin-top:6rem; height:auto; }
  .fcta{ min-height:10.4rem; padding:1.2rem .2rem 1.4rem; }
  .fcta--tel{ grid-column:1 / -1; }   /* CTAが3つになったので電話は2列ぶん（2026-09-16） */
  .fcta__lead{ font-size:1.2rem; }
  .fcta--tel .fcta__lead{ font-size:1.3rem; }
  .fcta__ttl{ font-size:1.8rem; }
  .fcta--tel .fcta__ttl{ font-size:1.9rem; }
  .fcta__btn{ font-size:1.1rem; padding:.15rem 1.2rem; }
  .fcta--contact{ font-size:1.9rem; font-weight:500; }
  .ft__group{ margin:0; }
  .ft__group--related{ order:6; margin-top:4rem; }
  .ft__group--brands{ order:7; margin-top:1.4rem; }
  .ft__group-ttl{ position:static; text-align:center; font-size:1.9rem; font-weight:500; margin-bottom:1.4rem; }
  .ft__pills{ position:static; display:grid; grid-template-columns:15.2rem 15.2rem; gap:1.5rem; justify-content:center; }
  .ft__pills a.ft__pill{
    width:auto; height:3.6rem; position:static; display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; font-weight:600; padding:.2rem .5rem; line-height:1.2; text-align:center; border-width:.23rem;
  }
  .ft__group--brands .ft__pills a.ft__pill{ font-size:1rem; font-weight:700; }
  .ft__right-bottom{ order:8; position:static; display:flex; flex-direction:column; align-items:center; gap:2.4rem; margin-top:4rem; }
  .ft__sns{ position:static; top:0; left:0; gap:.2rem; }
  .sns-ic{ width:6rem; }
  .ft__japhic{ position:static; top:0; left:0; gap:1.2rem; align-items:flex-end; }
  img.ft__japhic-1{ height:4.7rem; position:relative; right:0; bottom:.7rem; }
  img.ft__japhic-2{ height:5.4rem; position:static; }
  .ft__legal{
    order:9; position:static; left:0; justify-content:flex-start; flex-wrap:wrap; white-space:normal;
    font-size:1.2rem; margin-top:2.6rem; gap:.2rem .5rem;
    flex-direction:column; align-items:flex-start; gap:.8rem;   /* 3項目は1行に収まらないので縦並び（区切り線は出さない） */
  }
  .ft__legal span{ display:none; }
  .ft__band{ margin-top:2.2rem; padding:1.3rem 0; font-size:1.3rem; }
}

/* カルーセル矢印: 白の太い矢印（線+くさび）で描画 */
.iv__cards{ overflow-y:hidden; -webkit-overflow-scrolling:touch; }   /* iOSで縦スクロールが止まる対策（Figma 9/15 #34）。.jiv__cards はグリッドで番号「01.」がはみ出すので対象外（2026-09-16 倉持さん指摘） */
.iv__arrow{ font-size:0 !important; }
.iv__arrow::before{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:2.4rem; height:.4rem; background:#fff; border-radius:.2rem;
}
.iv__arrow::after{
  content:""; position:absolute; top:50%; width:1.15rem; height:1.15rem;
  border-left:.4rem solid #fff; border-bottom:.4rem solid #fff;
}
.iv__arrow--l::after,
.jiv__arrow--l::after{ left:calc(50% - 1.25rem); transform:translateY(-50%) rotate(45deg); }
.iv__arrow--r::after,
.jiv__arrow--r::after{ right:calc(50% - 1.25rem); transform:translateY(-50%) rotate(-135deg); }

/* 右端の固定タブ（新卒／中途）の下にフッターのメニュー列が潜るのを防ぐ。
   .ft__cols / .ft__right-bottom の素の指定より後ろに置かないと打ち消されるので、
   ファイル末尾に置いている（メディアクエリでも順序が後でないと勝てない）。 */
@media (min-width:768px){
  .ft__cols{ left:calc(.3rem - var(--vtabs-safe)); }
  .ft__right-bottom{ right:calc(6rem + var(--vtabs-safe)); }
  .ft__legal{ right:calc(3rem + var(--vtabs-safe)); }
  /* 2026-09-14 フッター4列化でメニュー列が短くなったため、SNS・下部リンクは右列の下端（CTA の下端）に揃える（カンプ: SNS中心＝CTA下端-65px、下部リンク中心＝CTA下端-3px） */
  .ft__inner > div:nth-child(2){ display:flex; flex-direction:column; }
  .ft__right-bottom{ margin-top:auto; }
}

/* 読み上げ専用テキスト（画面には出さない） */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* 2026-09-12 先方指示: フッター「募集要項はこちら」の文字を枠の中心に（余白計算→flex中央） */
.ft__search{ display:inline-flex; align-items:center; justify-content:center; padding:0 2.5rem; line-height:1; }   /* 左右の余白を均等に（文字が左に寄っていた。修正内容_260916） */
@media (max-width:767px){ .ft__search{ display:flex; padding:0; } }
