/* ===========================================================
   アリスグループ 採用サイト — デザイン刷新版 (v3)
   Concept: この土地の、笑顔を担う。
   v2-本デザイン と同一のセクション構成・コピーのまま、
   「和のエディトリアル」方向へ意匠を刷新したもの。
   ───────────────────────────────────────────
   方針:
   ・縦書き(ヒーロー/コンセプト)と圏点(ゴマ点)を意匠の署名に
   ・カード/箱を減らし、罫線(hairline)と余白で組む
   ・金色アクセント廃止。朱は「行動」と極小マーカーのみに限定
   ・カウントアップ等の演出を廃し、ゆっくりしたフェード/ワイプのみ
   ・フッターは紙色(暗色フッターをやめる)
   =========================================================== */
:root{
  --paper:#f7f4ee; --paper-2:#f1ede3; --paper-3:#e9e2d4; --paper-4:#ded5c3;
  --ink:#23201a; --ink-2:#4f4a40; --ink-3:#8e8678; --ink-4:#b8afa0;
  --line:#ddd6c7; --line-2:#cdc4b1;
  --shu:#a4432b; --shu-deep:#883621; --shu-soft:#f3e7e0;
  --hi:#c98064;            /* 緋 — 暗色地の上で使う朱 */
  --kogane:#c9a25e;        /* 金茶 — 濃色セクションの要所のみ(ヒーロー「宿・酒・食」/コンセプト「笑顔を担う。」。多用しない) */
  --koke:#5d6b50;
  --night:#1d1a15; --night-2:#171411;
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --serif:"Noto Serif JP","Hiragino Mincho ProN",serif;
  --en:"EB Garamond",Georgia,serif;
  --mono:"JetBrains Mono",monospace;

  /* ---- 書体バンドル(data-font 切替・v2と同一機構) ---- */
  --disp-font:"Shippori Mincho B1",serif; --disp-weight:600; --disp-ls:0.1em; --disp-scale:1; --body-disp:"Shippori Mincho B1",serif;
}
body[data-font="1"]{ --disp-font:"Shippori Mincho B1",serif; --disp-weight:600; --disp-ls:0.1em; --disp-scale:1; --body-disp:"Shippori Mincho B1",serif; }
body[data-font="2"]{ --disp-font:"Yuji Syuku",serif; --disp-weight:400; --disp-ls:0.12em; --disp-scale:1.06; --body-disp:"Zen Old Mincho",serif; }
body[data-font="3"]{ --disp-font:"Zen Kaku Gothic New",sans-serif; --disp-weight:700; --disp-ls:0.06em; --disp-scale:0.96; --body-disp:"Zen Kaku Gothic New",sans-serif; }

*{box-sizing:border-box;}
/* 2026-07-31 スクロール構造の変更(iOSステータスバー帯対策の根本解):
   document自体はスクロールさせず #root を内側スクローラーにする。
   documentが動かなければ、iPhoneノッチ機種でSafariがステータスバー帯に描くのは
   htmlの背景色(紙色)だけになり、本文の「突き抜け」が構造的に起きなくなる。 */
html{background:var(--paper);height:100%;}
body{margin:0;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:14px;font-feature-settings:"palt" 1;line-height:2.05;letter-spacing:0.04em;-webkit-font-smoothing:antialiased;}
#root{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4,p,figure,blockquote{margin:0;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;color:inherit;/* iOS Safari/Chromeはbuttonのデフォルト文字色が青のため明示的に継承(2026-07-31 FAQ青字対策) */}
::selection{background:var(--shu-soft);}

/* 和紙の粒子(ごく薄いノイズ)。modal(z200)より下、コンテンツより上 */
body::after{content:"";position:fixed;inset:0;z-index:140;pointer-events:none;opacity:0.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='260' height='260' filter='url(%23n)' opacity='0.6'/></svg>");
  background-size:260px 260px;}

.container{max-width:1120px;margin:0 auto;padding:0 56px;}

/* ---- placeholders (実写差し替え箇所) ---- */
.ph{position:relative;background:
  repeating-linear-gradient(135deg,var(--line) 0 1px,transparent 1px 18px),var(--paper-3);}
.ph-dark{position:relative;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,0.05) 0 1px,transparent 1px 19px),#191510;}
.ph-note{position:absolute;left:14px;bottom:12px;z-index:2;font-family:var(--mono);font-size:9.5px;letter-spacing:0.04em;color:var(--ink-3);background:rgba(255,255,255,0.72);padding:3px 7px;}
.ph-dark .ph-note{color:rgba(255,255,255,0.55);background:rgba(0,0,0,0.3);}

/* ---- 文節での改行(泣き別れ防止 / 対応ブラウザのみ) ---- */
.shead h2,.about .lead,.story__pull,.pcard .pull,.crow__tag,.entry__h,.faqitem__qtxt,.jobm__title,.career__intro,.taka__lead,.concept__story{word-break:auto-phrase;}

/* ---- 強調span(圏点=文字上の点は「不自然」とのレビューで全廃 2026-06-10。色・書体のみ) ---- */
.em{font-style:normal;}
.about .lead em{font-style:normal;}

/* ---- ヒーロー「宿・酒・食」の差し色(Shift+Dの検討ツールで切替 / 既定=金茶) ---- */
.hero__v .em{color:var(--em-c,#fff);}
.hero__v .em .em-dot{color:var(--em-dot-c,var(--em-c,#fff));}
body[data-emcolor="white"]{--em-c:#fff;}
body[data-emcolor="a"]{--em-c:#c98064;}
body[data-emcolor="b"]{--em-c:#d4683c;}
body[data-emcolor="c"]{--em-c:#fff;--em-dot-c:#d4683c;}
body[data-emcolor="d"]{--em-c:var(--kogane);}

/* ---- 見出し(共通) : 朱の角印 + 明朝 ---- */
.shead{display:flex;align-items:center;gap:22px;margin-bottom:48px;/* 2026-07-31 余白詰め(72→48) */}
.shead::before{content:"";width:10px;height:10px;background:var(--shu);flex:none;}
.shead h2{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:clamp(25px,2.5vw,34px);letter-spacing:0.14em;line-height:1.6;}
.shead.light h2{color:#fff;}
.shead.center{justify-content:center;}

/* ---- ボタン(使用は応募系のみに限定) ---- */
.btn{display:inline-flex;align-items:center;gap:14px;padding:17px 36px;font-weight:500;font-size:13.5px;letter-spacing:0.16em;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s;}
.btn .ar{font-family:var(--en);font-size:16px;transition:transform .25s;}
.btn:hover .ar{transform:translateX(4px);}
.btn-primary{background:var(--shu);color:#fff;}
.btn-primary:hover{background:var(--shu-deep);}
.btn-ghost{border-color:var(--line-2);color:var(--ink-2);}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink);}
.btn-ghost.lt{border-color:rgba(255,255,255,0.4);color:#fff;}
.btn-ghost.lt:hover{border-color:#fff;}

/* ---- 線のリンク(text link + 長い矢) ---- */
.tlink{display:inline-flex;align-items:center;gap:18px;font-size:13px;letter-spacing:0.2em;color:var(--ink);}
.tlink .ln{position:relative;width:64px;height:1px;background:currentColor;transition:width .45s cubic-bezier(.2,.7,.2,1);}
.tlink .ln::after{content:"";position:absolute;right:0;bottom:0;width:10px;height:1px;background:currentColor;transform:rotate(-35deg);transform-origin:right bottom;}
.tlink:hover .ln{width:96px;}
.tlink.lt{color:#fff;}
.tlink.sm{font-size:12px;letter-spacing:0.16em;}
.tlink.sm .ln{width:44px;}
.tlink.sm:hover .ln{width:68px;}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity 1.2s cubic-bezier(.16,.66,.2,1),transform 1.2s cubic-bezier(.16,.66,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.12s;} .reveal.d2{transition-delay:.24s;} .reveal.d3{transition-delay:.36s;} .reveal.d4{transition-delay:.48s;}
/* 写真ワイプ: clip-pathで全隠しの要素はIntersectionObserverが「非交差」と判定し発火しない。
   そのため自身ではなく、祖先の .reveal.in をトリガーにして開く */
.reveal-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.4s cubic-bezier(.22,.61,.21,1) .1s;}
.reveal.in .reveal-img,.reveal-img.in{clip-path:inset(0 0 0 0);}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-img{opacity:1;transform:none;clip-path:none;transition:none;}
}

/* ===================== NAV ===================== */
/* 2026-07-31 Safari対策: ①translateZ(0)で独自レイヤー化(スクロール中に固定要素が遅延描画されコンテンツが上に突き抜けて見えるiOS癖の緩和) ②ノッチ領域まで背景が届くようsafe-area分を上に伸ばす */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:calc(24px + env(safe-area-inset-top,0px)) 56px 24px;color:#fff;transition:background .4s,color .4s,border-color .4s,padding .4s,transform .45s cubic-bezier(.2,.7,.2,1);border-bottom:1px solid transparent;transform:translateZ(0);}
/* 2026-07-31: ステータスバー帯の突き抜けはCSSでは解決不可(Safariがビューポート外に描く領域)。
   index.html の <meta name="theme-color"> で帯を紙色に固定する方式に変更(シミュレータで検証) */
/* 2026-07-31: iOS透け対策(-webkit-プレフィックス)+馴染むデザインへ調整 —
   硬い罫線をやめ淡い影に・ぼかし強化で「すりガラスの紙」の質感・バーをスリムに(ユーザー指示「ブサイク、馴染ませて」) */
.nav.solid{background:rgba(247,244,238,0.86);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);color:var(--ink);box-shadow:0 1px 0 rgba(35,32,26,0.05),0 10px 28px rgba(35,32,26,0.06);padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:12px;}
/* solid時のCTAはベタ塗り赤→輪郭のみの上品な形(ヒーロー上では従来どおり塗り) */
.nav.solid .nav__cta{background:transparent;color:var(--shu);border-color:rgba(164,67,43,0.55);}
.nav.solid .nav__cta:hover{background:var(--shu);color:#fff;border-color:var(--shu);}
/* 2026-07-22: 桜スライド等の明るいヒーロー上でも白文字が読めるよう、透明時のみ見出しと同系の影を付与(solid=クリーム地では無効) */
.nav:not(.solid){text-shadow:0 1px 14px rgba(0,0,0,0.5),0 0 3px rgba(0,0,0,0.32);}
.nav:not(.solid) .nav__cta{text-shadow:none;}
.nav__brand{display:flex;align-items:center;gap:14px;}
.nav__seal{width:9px;height:9px;background:var(--shu);flex:none;}
.nav__brand b{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:16.5px;letter-spacing:0.26em;}
.nav__links{display:flex;gap:34px;font-size:12.5px;letter-spacing:0.12em;}
.nav__links a{position:relative;padding:4px 0;opacity:0.88;transition:opacity .25s;}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.nav__links a:hover{opacity:1;}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left;}
/* CTA: スクロール前から朱の塗りで常時目立たせる(2026-06-10 ユーザー指示) */
.nav__cta{background:var(--shu);border:1px solid var(--shu);color:#fff;padding:11px 30px;font-size:12.5px;letter-spacing:0.22em;transition:background .25s,border-color .25s;}
.nav__cta:hover{background:var(--shu-deep);border-color:var(--shu-deep);}

/* ===================== HERO ===================== */
.hero{position:relative;height:88vh;min-height:560px;max-height:880px;overflow:hidden;}
.hero__bg{position:absolute;inset:-8% 0;z-index:0;will-change:transform;}
.hero__bg .ph-dark{position:absolute;inset:0;}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;will-change:opacity,transform;animation:heroZoom 30s ease-in-out infinite alternate;filter:brightness(.8) saturate(.85);/* 縦書き見出しの可読性確保(案1: 写真トーン調整) */}
/* 3枚ローテーション(27s周期・各約9s): ①は常時ベース、②③が順に重なって戻る */
.hero__slide--2{opacity:0;animation:heroCrossB 36s ease-in-out infinite,heroZoom 30s ease-in-out infinite alternate;}
.hero__slide--3{opacity:0;animation:heroCrossC 36s ease-in-out infinite,heroZoom 30s ease-in-out infinite alternate;}
.hero__slide--4{opacity:0;animation:heroCrossD 36s ease-in-out infinite,heroZoom 30s ease-in-out infinite alternate;}
@keyframes heroCrossB{0%,25%{opacity:0;}29%,50%{opacity:1;}54%,100%{opacity:0;}}
@keyframes heroCrossC{0%,50%{opacity:0;}54%,75%{opacity:1;}79%,100%{opacity:0;}}
@keyframes heroCrossD{0%,75%{opacity:0;}79%,96%{opacity:1;}100%{opacity:0;}}
@keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.035);}}
@media (prefers-reduced-motion:reduce){.hero__slide{animation:none;}.hero__slide--2,.hero__slide--3,.hero__slide--4{animation:none;opacity:0;}}
.hero__scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(270deg,rgba(12,9,6,0.6),rgba(12,9,6,0.1) 56%),
  linear-gradient(180deg,rgba(12,9,6,0.18),rgba(12,9,6,0) 32%,rgba(12,9,6,0.5) 100%);}
/* 縦書きの見出し */
.hero__v{position:absolute;z-index:2;right:clamp(56px,9vw,150px);top:50%;margin-top:-4.6em;/* transformはrevealと衝突するためmarginで中央へ */
  writing-mode:vertical-rl;height:8.9em;/* 最長の段「宿・酒・食を」が折り返さない高さ(字送り込み) */
  font-family:var(--disp-font);font-weight:var(--disp-weight);
  font-size:calc(clamp(34px,4.5vw,58px)*var(--disp-scale));line-height:2.1;letter-spacing:0.22em;
  color:#fff;text-shadow:0 2px 20px rgba(0,0,0,0.55),0 0 3px rgba(0,0,0,0.3);font-feature-settings:normal;}
.hero__foot{position:absolute;z-index:2;left:56px;bottom:60px;}
.hero__cta{display:flex;align-items:center;gap:48px;}
.hero__scroll{position:absolute;right:64px;bottom:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:14px;color:rgba(255,255,255,0.75);font-family:var(--en);font-size:10.5px;letter-spacing:0.3em;}
.hero__scroll .line{width:1px;height:64px;background:rgba(255,255,255,0.55);overflow:hidden;position:relative;}
.hero__scroll .line::after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:cue 2.6s cubic-bezier(.65,0,.35,1) infinite;}
/* 高山市写真の必須クレジット(hero直下・秋スライド--3とheroCrossCで同期表示) */
.hero__credit{position:absolute;left:20px;bottom:14px;z-index:2;font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.62);font-family:var(--sans);opacity:0;animation:heroCrossC 36s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.hero__credit{animation:none;opacity:0;}}
@keyframes cue{0%{top:-100%;}55%,100%{top:100%;}}

/* ===================== CONCEPT ===================== */
.concept{position:relative;background:var(--night);color:#fff;overflow:hidden;padding:84px 0 100px;/* 2026-07-31 余白詰め第2弾(120/120→84/100) */}
.concept__bg{position:absolute;inset:0;z-index:0;}
/* 背景パターン(検討用・data-conceptbg で切替 / 既定=sumi-gold) ──────────────
   sumi-gold : 墨の縦グラデ + 縦書き見出し背後に控えめな金茶のソフト光
   plain     : 無地の墨(最小)
   washi     : 濃色地 + 極薄の縦罫線(和紙・便箋風)
   photo     : 元のぼかし写真(比較用) */
body[data-conceptbg="sumi-gold"] .concept__bg{
  background:
    radial-gradient(48% 42% at 42% 47%, rgba(201,162,94,0.16) 0%, rgba(201,162,94,0.055) 44%, transparent 72%),
    linear-gradient(168deg, var(--night-2) 0%, var(--night) 48%, #15120e 100%);}
body[data-conceptbg="plain"] .concept__bg{
  background:linear-gradient(168deg, var(--night-2) 0%, var(--night) 60%, #15120e 100%);}
body[data-conceptbg="washi"] .concept__bg{
  background:
    repeating-linear-gradient(90deg, rgba(201,162,94,0.05) 0 1px, transparent 1px 24px),
    linear-gradient(168deg, var(--night-2) 0%, var(--night) 55%, #15120e 100%);}
body[data-conceptbg="photo"] .concept__bg{opacity:0.6;
  background:url(assets/concept-alice.jpg) center/cover no-repeat;
  filter:blur(12px) grayscale(0.5) brightness(0.92);transform:scale(1.12);}
.concept__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(0,0,0,0.05) 0%,rgba(0,0,0,0.12) 36%,rgba(0,0,0,0.5) 60%,rgba(0,0,0,0.74) 100%);}
.concept .container{position:relative;z-index:2;}
.concept__eyebrow{display:flex;align-items:center;gap:24px;margin-bottom:96px;}
.concept__eyebrow .jp{font-size:11.5px;letter-spacing:0.42em;color:rgba(255,255,255,0.6);}
.concept__eyebrow .line{width:72px;height:1px;background:rgba(255,255,255,0.25);}
/* 2026-07-31: 3列(auto auto 1fr)だと余りが広がるほど見出しが左寄りに見えるため、2列にして見出しを残り空間の中央へ */
.concept__grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(36px,5vw,88px);align-items:start;}
.concept__v{justify-self:center;}
.concept__v{writing-mode:vertical-rl;font-family:var(--disp-font);font-weight:var(--disp-weight);
  font-size:calc(clamp(30px,3.3vw,44px)*var(--disp-scale));line-height:2.2;letter-spacing:0.2em;color:#fff;
  font-feature-settings:normal;min-height:0;align-self:center;/* 2026-07-31 ユーザー指示: 見出しは写真の縦中央に合わせる(旧: min-height確保で上端張り付き) */}
.concept__v .em{color:var(--kogane);}/* 暫定採用: 案A 金茶・「笑顔を担う。」全体(ヒーローと呼応) */
.concept__story{max-width:600px;font-family:var(--body-disp);font-size:15.5px;line-height:2.7;letter-spacing:0.04em;color:rgba(255,255,255,0.84);padding-top:8px;}
.concept__story p+p{margin-top:36px;}
.concept__story .alice{color:#fff;}
/* 2026-07-22 ユーザー指示: 冒頭文は1行で流す(680pxの枠を超えて右に伸ばす)。狭い画面ではmedia側で折り返しに戻す */
.concept__story p.clead{white-space:nowrap;max-width:none;}
/* 創業写真を「全体が見える一枚」として左に額装(合宿2026-06-18) */
.concept__story{grid-column:1/-1;max-width:680px;margin-top:20px;}
.concept__photo{margin:0;align-self:start;}
/* 2026-07-17決定: アリス食堂の創業写真をもう少し大きく出して全体のバランスをとる */
/* 2026-07-22 修正: 高さ固定+object-fit:contain だと横幅がmax-widthに当たる幅で箱と写真の比率がズレ、枠内に黒帯(letterbox)が出る。
   最大高さ・最大幅の指定に変えて枠が写真に密着するようにする(写真本来の縦横比のまま拡縮) */
.concept__photo img{display:block;width:auto;height:auto;max-width:46vw;max-height:clamp(560px,80vh,880px);border:1px solid rgba(201,162,94,0.45);box-shadow:0 24px 64px rgba(0,0,0,0.55);}
.concept__photo figcaption{margin-top:14px;font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.4);}

/* ===================== ABOUT (私たちについて) ===================== */
.about{padding:84px 0 0;/* 2026-07-31 余白詰め第2弾 */}
.about__head{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end;}
.about .lead{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:clamp(22px,2.15vw,29px);line-height:2.0;letter-spacing:0.1em;}
.about .sub{font-size:13.5px;color:var(--ink-2);line-height:2.2;padding-bottom:8px;}
.about__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat{padding:34px 8px 30px 36px;}
.stat+.stat{border-left:1px solid var(--line);}
.stat:first-child{padding-left:4px;}
.stat__label{font-size:10.5px;letter-spacing:0.24em;color:var(--ink-3);margin-bottom:14px;}
.stat__num{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:30px;line-height:1;letter-spacing:0.04em;}
.stat__num small{font-size:0.5em;margin-left:4px;color:var(--ink-2);font-weight:400;}
/* 4社 — 罫線の段組(カード廃止) */
.about__rows{margin-top:72px;}
.crow{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:center;padding:60px 0;border-top:1px solid var(--line);}
.crow:last-child{border-bottom:1px solid var(--line);}
.crow__img{position:relative;aspect-ratio:16/10;overflow:hidden;}
.crow__img .ph{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.crow:hover .crow__img .ph{transform:scale(1.03);}
.crow__cat{font-size:10.5px;letter-spacing:0.34em;color:var(--ink-3);margin-bottom:14px;}
.crow__name{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:24px;letter-spacing:0.12em;line-height:1.5;}
.crow__tag{font-size:13.5px;color:var(--ink-2);line-height:2.0;margin-top:14px;max-width:30em;}
.crow__since{font-size:11px;letter-spacing:0.14em;color:var(--ink-3);margin-top:14px;}
.crow__link{margin-top:24px;}
.crow__link .tlink{color:var(--shu);}

/* ===================== PEOPLE (人で見る) ===================== */
.people{padding:170px 0;}
.people__feature{display:grid;grid-template-columns:420px 1fr;gap:clamp(56px,7vw,104px);align-items:center;margin-bottom:120px;}
.people__feature .pic{position:relative;aspect-ratio:3/4;}
.people__feature .pic::after{content:"";position:absolute;inset:-14px;border:1px solid var(--line-2);pointer-events:none;}
.people__feature .pic .ph{position:absolute;inset:0;}
.people__feature .yrs{position:absolute;right:12px;bottom:12px;z-index:2;font-size:10px;letter-spacing:0.18em;color:#fff;background:rgba(18,14,9,0.5);padding:5px 12px;}
.story__no{font-family:var(--en);font-size:12px;letter-spacing:0.3em;color:var(--ink-3);margin-bottom:26px;display:flex;align-items:center;gap:16px;}
.story__no::after{content:"";width:40px;height:1px;background:var(--line-2);}
.story__pull{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:clamp(24px,2.5vw,32px);line-height:2.0;letter-spacing:0.1em;margin-bottom:30px;}
.story__txt{font-size:13.5px;color:var(--ink-2);line-height:2.2;max-width:32em;}
.story__meta{margin-top:34px;display:flex;align-items:baseline;gap:18px;}
.story__name{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:17px;letter-spacing:0.14em;}
.story__role{font-size:11.5px;color:var(--ink-3);letter-spacing:0.1em;padding-left:18px;border-left:1px solid var(--line-2);}
.story__tags{margin-top:16px;display:flex;gap:14px;flex-wrap:wrap;}
.story__tag{font-size:11px;letter-spacing:0.08em;color:var(--ink-3);}
.people__row{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.pcard .pic{position:relative;aspect-ratio:4/5;overflow:hidden;margin-bottom:24px;}
.pcard .pic .ph{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.2,.6,.2,1);}
.pcard:hover .pic .ph{transform:scale(1.03);}
.pcard .no{font-family:var(--en);font-size:11px;letter-spacing:0.3em;color:var(--ink-3);margin-bottom:12px;}
.pcard .pull{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:16.5px;line-height:1.95;letter-spacing:0.08em;margin-bottom:10px;}
.pcard .role{font-size:11px;color:var(--ink-3);letter-spacing:0.1em;}
.people__more{display:flex;align-items:center;gap:28px;margin-top:96px;}
.people__more .ln{flex:1;height:1px;background:var(--line);}
.people__more span{font-size:11px;letter-spacing:0.3em;color:var(--ink-3);}

/* ===================== JOBS (グループで働く) ===================== */
.jobs{padding:84px 0 104px;background:var(--paper-2);}
.jobs__top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:0;}
.jobs__tabs{display:flex;gap:36px;flex-wrap:wrap;}
.jobs__tab{padding:10px 2px 16px;font-size:13px;letter-spacing:0.1em;border:none;border-bottom:2px solid transparent;color:var(--ink-3);background:transparent;transition:color .25s,border-color .25s;margin-bottom:-1px;}
.jobs__tab:hover{color:var(--ink);}
.jobs__tab.on{color:var(--ink);border-bottom-color:var(--shu);}
.jobs__tab .n{font-family:var(--en);font-size:12px;margin-left:7px;opacity:0.55;}
.jobs__count{font-size:12px;color:var(--ink-3);letter-spacing:0.12em;padding-bottom:18px;}
.jobs__count b{font-family:var(--disp-font);font-weight:var(--disp-weight);color:var(--ink);font-size:21px;margin-right:5px;letter-spacing:0.02em;}
.joblist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2);}
.job{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:32px 8px;border-bottom:1px solid var(--line);transition:background .3s;cursor:pointer;}
.job:focus-visible{outline:2px solid var(--shu);outline-offset:-2px;}
.job:hover{background:var(--paper);}
.job__cat{font-size:10.5px;letter-spacing:0.26em;color:var(--ink-3);margin-bottom:10px;}
.job__title{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:19.5px;letter-spacing:0.1em;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.job__pill{font-size:10.5px;letter-spacing:0.1em;padding:3px 11px;border:1px solid var(--line-2);color:var(--ink-2);font-family:var(--sans);font-weight:400;}
.job__meta{margin-top:12px;display:flex;gap:26px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);}
.job__meta i{font-style:normal;color:var(--ink-4);font-size:10.5px;letter-spacing:0.16em;margin-right:8px;}
.job__r{display:flex;align-items:center;}
.job__go{font-family:var(--en);font-size:20px;color:var(--ink-4);transition:color .3s,transform .3s;padding:0 10px;}
.job:hover .job__go{color:var(--ink);transform:translateX(6px);}
.jobs__foot{display:flex;justify-content:space-between;align-items:center;margin-top:44px;flex-wrap:wrap;gap:20px;}
.jobs__more{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border:1px solid var(--line-2);font-size:12.5px;letter-spacing:0.14em;background:transparent;color:var(--ink-2);transition:border-color .25s,color .25s;}
.jobs__more:hover{border-color:var(--ink);color:var(--ink);}
.jobs__aside{font-size:12.5px;color:var(--ink-2);}
.jobs__aside a{color:var(--shu);border-bottom:1px solid currentColor;padding-bottom:2px;display:table;margin-top:10px;white-space:nowrap;/* 2026-07-31 ユーザー指示: 常に改行して独立表示 */}

/* ===== JOB DETAIL MODAL ===== */
.jobm{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px;background:rgba(18,14,9,0.6);backdrop-filter:blur(5px);overflow-y:auto;animation:jobmFade .3s ease;}
@keyframes jobmFade{from{opacity:0;}to{opacity:1;}}
.jobm__panel{position:relative;width:100%;max-width:680px;background:var(--paper);box-shadow:0 30px 90px rgba(20,14,8,0.4);padding:56px 56px 44px;animation:jobmRise .35s cubic-bezier(.2,.7,.3,1);}
@keyframes jobmRise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.jobm__close{position:absolute;top:18px;right:18px;width:38px;height:38px;border:1px solid var(--line-2);background:transparent;font-size:19px;line-height:1;color:var(--ink-3);cursor:pointer;transition:all .25s;}
.jobm__close:hover{border-color:var(--ink);color:var(--ink);}
.jobm__cat{font-size:10.5px;letter-spacing:0.26em;color:var(--ink-3);margin-bottom:12px;}
.jobm__title{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:27px;letter-spacing:0.12em;margin:0 0 16px;line-height:1.6;}
.jobm__pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.jobm__facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 34px;border-top:1px solid var(--line);}
.jobm__facts>div{display:flex;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line);}
.jobm__facts dt{flex-shrink:0;width:78px;font-size:10.5px;letter-spacing:0.18em;color:var(--ink-3);padding-top:3px;}
.jobm__facts dd{margin:0;font-size:13.5px;color:var(--ink);}
.jobm__sec{margin-bottom:30px;}
.jobm__sec h4{display:flex;align-items:center;gap:12px;font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:15px;letter-spacing:0.12em;margin:0 0 14px;}
.jobm__sec h4::before{content:"";width:7px;height:7px;background:var(--shu);flex:none;}
.jobm__sec p{margin:0;font-size:13.5px;line-height:2.1;color:var(--ink-2);}
.jobm__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.jobm__list li{position:relative;padding-left:20px;font-size:13px;color:var(--ink-2);}
.jobm__list li::before{content:"";position:absolute;left:2px;top:11px;width:5px;height:1px;background:var(--shu);}
.jobm__list--inline{flex-direction:row;flex-wrap:wrap;gap:10px;}
.jobm__list--inline li{padding:6px 14px;border:1px solid var(--line-2);}
.jobm__list--inline li::before{content:none;}
.jobm__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;padding-top:30px;border-top:1px solid var(--line);}
/* 2026-07-31: スマホの応募ボタンが2つ横並びで潰れて「変な大きさ」になるため縦積みに */
@media (max-width:600px){.jobm__panel{padding:44px 24px 32px;}.jobm__title{font-size:22px;}.jobm__facts{grid-template-columns:1fr;}.jobm__cta{flex-direction:column;}.jobm__cta .btn{width:100%;justify-content:center;}}

/* ===== APPLY / ENTRY FORM MODAL ===== */
.afm{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px;background:rgba(18,14,9,0.6);backdrop-filter:blur(5px);overflow-y:auto;animation:jobmFade .3s ease;}
.afm__panel{position:relative;width:100%;max-width:640px;background:var(--paper);box-shadow:0 30px 90px rgba(20,14,8,0.4);padding:56px 56px 40px;animation:jobmRise .35s cubic-bezier(.2,.7,.3,1);}
.afm__head{margin-bottom:10px;/* 2026-07-31 メール方式のモーダルはリード〜CTAの間延びを詰める */}
.afm__lead{margin:14px 0 0;font-size:13px;line-height:2.0;color:var(--ink-2);}
.afm__form{display:flex;flex-direction:column;gap:18px;}
.afm__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.afm__field{display:flex;flex-direction:column;gap:8px;}
.afm__label{font-size:11.5px;letter-spacing:0.14em;color:var(--ink-2);display:flex;align-items:center;gap:9px;}
.afm__req{font-style:normal;font-size:9.5px;letter-spacing:0.1em;color:var(--shu);border:1px solid var(--shu);padding:1px 6px;}
.afm__field input,.afm__field select,.afm__field textarea{width:100%;box-sizing:border-box;font-family:inherit;font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:13px 15px;transition:border-color .25s;border-radius:0;-webkit-appearance:none;}
.afm__field input:focus,.afm__field select:focus,.afm__field textarea:focus{outline:none;border-color:var(--ink);}
.afm__field textarea{resize:vertical;line-height:1.9;}
.afm__agree{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--ink-2);margin-top:4px;cursor:pointer;}
.afm__agree input{margin-top:5px;flex-shrink:0;accent-color:var(--shu);}
.afm__agree a{color:var(--shu);text-decoration:underline;text-underline-offset:3px;}
.afm__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;}
.afm__note{margin:8px 0 0;font-size:11px;color:var(--ink-3);letter-spacing:0.04em;line-height:2.0;}
/* メール応募の記入ガイド(2026-07-31 フォーム廃止→メール方式) */
.afm__mailguide{margin-top:22px;padding:18px 22px;border:1px solid var(--line);background:var(--paper-2);}
.afm__mailguide-h{font-size:11.5px;letter-spacing:0.14em;color:var(--ink-3);margin-bottom:8px;}
.afm__mailguide ul{list-style:none;margin:0;padding:0;}
.afm__mailguide li{font-size:12.5px;line-height:2.1;padding-left:1.1em;position:relative;}
.afm__mailguide li::before{content:"・";position:absolute;left:0;color:var(--shu);}
.afm__done{text-align:center;padding:28px 8px 8px;}
.afm__done-mark{width:60px;height:60px;margin:0 auto 22px;border:1px solid var(--shu);color:var(--shu);font-size:24px;display:flex;align-items:center;justify-content:center;}
.afm__done h3{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:23px;letter-spacing:0.14em;margin:0 0 14px;}
.afm__done p{font-size:13.5px;line-height:2.1;color:var(--ink-2);margin:0 0 28px;}
/* 2026-07-31: スマホで応募/キャンセルが1行に潰れるため縦積みに(求人詳細モーダルと同修正) */
@media (max-width:600px){.afm__panel{padding:44px 24px 32px;}.afm__row{grid-template-columns:1fr;}.afm__actions{flex-direction:column;}.afm__actions .btn{width:100%;justify-content:center;}}

/* ===================== CAREER (キャリア) ===================== */
.career{padding:160px 0;}
.career__intro{max-width:760px;font-size:14.5px;line-height:2.3;color:var(--ink-2);margin-bottom:88px;}
.career__intro em{font-style:normal;color:var(--ink);font-weight:500;}
.ladder{margin-bottom:96px;}
.ladder__label{font-size:11px;letter-spacing:0.3em;color:var(--ink-3);margin-bottom:0;}
.ladder__rail{display:grid;grid-template-columns:repeat(5,1fr);gap:0 28px;border-top:1px solid var(--line-2);margin-top:24px;}
.lstep{position:relative;padding:28px 8px 0 0;}
.lstep::before{content:"";position:absolute;left:0;top:-1px;width:32px;height:1px;background:var(--ink);}
.lstep__code{font-family:var(--en);font-size:26px;line-height:1;color:var(--ink);letter-spacing:0.06em;}
.lstep__jp{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:15px;letter-spacing:0.1em;margin-top:16px;}
.lstep__desc{font-size:12px;color:var(--ink-2);line-height:1.95;margin-top:10px;}
.diverse{display:grid;grid-template-columns:1fr 1fr;gap:0 72px;}
.dcard{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start;padding:44px 0;border-top:1px solid var(--line);}
.dcard__tag{font-size:10.5px;letter-spacing:0.28em;color:var(--ink-3);margin-bottom:14px;}
.dcard__jp{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:19px;letter-spacing:0.12em;margin-bottom:12px;}
.dcard__body{font-size:12.5px;color:var(--ink-2);line-height:2.05;max-width:24em;}
.dcard__stat{text-align:right;padding-left:28px;min-width:96px;}
.dcard__num{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--ink);letter-spacing:0.02em;}
.dcard__num span{font-size:0.5em;margin-left:3px;}
.dcard__slabel{font-size:10.5px;color:var(--ink-3);letter-spacing:0.14em;margin-top:10px;}

/* ===================== TAKAYAMA (飛騨という土地) ===================== */
.taka{position:relative;color:#fff;overflow:hidden;padding:84px 0 104px;background:var(--night);}
.taka__bg{position:absolute;inset:-10% 0;z-index:0;will-change:transform;}
.taka__bg .ph-dark{position:absolute;inset:0;}
.taka__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,8,5,0.66),rgba(10,8,5,0.5) 50%,rgba(10,8,5,0.74));}
.taka .container{position:relative;z-index:2;}
.taka__lead{max-width:680px;font-size:14.5px;line-height:2.3;color:rgba(255,255,255,0.86);margin-bottom:96px;}
.taka__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;} /* 合宿2026-06-18: カード4枚→3枚統合に合わせ3列に */
.tcard{border-top:1px solid rgba(255,255,255,0.3);padding-top:26px;}
.tcard__no{font-family:var(--en);font-size:12px;letter-spacing:0.3em;color:rgba(255,255,255,0.6);margin-bottom:18px;}
.tcard__jp{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:19px;letter-spacing:0.14em;margin-bottom:14px;}
.tcard p{font-size:12.5px;line-height:2.1;color:rgba(255,255,255,0.76);}

/* ===================== FLOW (採用フロー) ===================== */
.flow{padding:160px 0;}
.flow__rail{max-width:880px;border-top:1px solid var(--line-2);}
.fstep{display:grid;grid-template-columns:72px 220px 1fr 150px;gap:28px;align-items:baseline;padding:34px 4px;border-bottom:1px solid var(--line);}
.fstep__no{font-family:var(--en);font-size:15px;letter-spacing:0.2em;color:var(--ink-3);}
.fstep__jp{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:17.5px;letter-spacing:0.12em;}
.fstep__txt{font-size:12.5px;color:var(--ink-2);line-height:2.0;margin:0;}
.fstep__time{font-size:11.5px;color:var(--ink-2);letter-spacing:0.08em;text-align:right;}
.fstep__time i{font-style:normal;color:var(--ink-4);letter-spacing:0.16em;margin-right:8px;font-size:10.5px;}

/* ===================== FAQ ===================== */
.faq{padding:84px 0 104px;background:var(--paper-2);}
.faq__list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line-2);max-width:920px;}
.faqitem{border-bottom:1px solid var(--line);}
.faqitem__q{width:100%;display:flex;align-items:flex-start;gap:22px;padding:30px 4px;background:transparent;border:none;text-align:left;}
.faqitem__qmark{font-family:var(--en);font-size:15px;color:var(--shu);flex-shrink:0;letter-spacing:0.1em;padding-top:3px;}
.faqitem__qtxt{flex:1;font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:16.5px;letter-spacing:0.1em;line-height:1.9;}
.faqitem__toggle{font-family:var(--en);font-size:21px;font-weight:400;color:var(--ink-4);transition:transform .35s,color .35s;flex-shrink:0;line-height:1.4;}
.faqitem.open .faqitem__toggle{transform:rotate(45deg);color:var(--ink-2);}
.faqitem__a{max-height:0;overflow:hidden;transition:max-height .45s ease;}
.faqitem.open .faqitem__a{max-height:340px;}
.faqitem__a-in{display:flex;gap:22px;padding:0 4px 34px 4px;}
.faqitem__amark{font-family:var(--en);font-size:15px;color:var(--koke);flex-shrink:0;letter-spacing:0.1em;}
.faqitem__a p{font-size:13.5px;color:var(--ink-2);line-height:2.15;max-width:720px;}

/* ===================== ENTRY ===================== */
.entry{position:relative;background:var(--night-2);color:#fff;overflow:hidden;padding:96px 0 96px;text-align:center;}
.entry__bg{position:absolute;inset:0;z-index:0;opacity:0.14;}
.entry__bg .ph-dark{position:absolute;inset:0;}
.entry__veil{position:absolute;inset:0;z-index:1;background:radial-gradient(80% 90% at 50% 40%,rgba(0,0,0,0),rgba(0,0,0,0.5));}
.entry .container{position:relative;z-index:2;display:block;}
.entry__eyebrow{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:11.5px;letter-spacing:0.46em;color:rgba(255,255,255,0.65);margin-bottom:44px;}
.entry__eyebrow::before{content:"";width:9px;height:9px;background:var(--shu);}
.entry__h{font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:calc(clamp(28px,3.3vw,44px)*var(--disp-scale));letter-spacing:0.12em;line-height:2.0;}
.entry__h .em{color:var(--hi);}
.entry__body{margin:30px auto 0;font-size:14px;line-height:2.3;color:rgba(255,255,255,0.8);max-width:36em;}
.entry__cta{margin-top:48px;display:flex;gap:36px;flex-wrap:wrap;justify-content:center;align-items:center;}
.entry__side{margin-top:100px;padding-top:48px;border-top:1px solid rgba(255,255,255,0.16);display:flex;justify-content:center;gap:0;flex-wrap:wrap;}
.entry__side>div{padding:0 64px;}
.entry__side>div+div{border-left:1px solid rgba(255,255,255,0.16);}
.entry__clabel{font-size:10.5px;letter-spacing:0.3em;color:rgba(255,255,255,0.5);margin-bottom:12px;}
.entry__tel{font-family:var(--en);font-size:30px;letter-spacing:0.06em;line-height:1.3;}
.entry__hours{font-size:11px;color:rgba(255,255,255,0.55);margin-top:8px;letter-spacing:0.08em;}
.entry__mail{font-family:var(--en);font-size:18px;letter-spacing:0.04em;line-height:2.2;}

/* ===================== FOOTER (紙色) ===================== */
.footer{background:var(--paper);border-top:1px solid var(--line);color:var(--ink-2);padding:84px 0 44px;}
.footer__top{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;}
.footer__logo{display:flex;align-items:center;gap:13px;font-family:var(--disp-font);font-weight:var(--disp-weight);font-size:19px;letter-spacing:0.22em;color:var(--ink);}
/* 2026-07-22 ユーザー指示: フッターの赤四角印は削除(ナビの印削除と同方針・テキストのみ) */
.footer__addr{font-size:12px;line-height:2.2;margin-top:22px;color:var(--ink-3);}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.footer__col .h{font-size:10.5px;letter-spacing:0.3em;color:var(--ink-3);margin-bottom:18px;}
.footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.footer__col li{font-size:12.5px;}
.footer__col a{transition:color .25s;}
.footer__col a:hover{color:var(--ink);}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:64px;padding-top:26px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-3);letter-spacing:0.1em;}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1080px){
  .container{padding:0 36px;}
  .nav{padding-left:36px;padding-right:36px;}
  /* 2026-07-31: 中間幅(761-1080)は写真の右が大きく空くため、見出しを写真の右に配置して空間を使う。
     書字方向は本来のデザインどおり縦書きを維持(ユーザー指示) */
  .concept__grid{grid-template-columns:auto 1fr;gap:44px;align-items:center;}
  .concept__v{min-height:0;align-self:center;justify-self:center;}
  .concept__photo img{width:min(360px,72vw);height:auto;max-width:100%;}
  .concept__story{grid-column:1/-1;}
  .concept__story p.clead{white-space:normal;}
  .about__head{grid-template-columns:1fr;gap:28px;}
  .about__stats{grid-template-columns:repeat(2,1fr);border-bottom:none;}
  .stat{border-bottom:1px solid var(--line);}
  .stat:nth-child(odd){padding-left:4px;border-left:none;}
  .crow{grid-template-columns:1fr;gap:28px;}
  .people__feature{grid-template-columns:1fr;gap:56px;}
  .people__row{grid-template-columns:1fr;gap:48px;}
  .ladder__rail{grid-template-columns:repeat(2,1fr);gap:36px 24px;}
  .diverse{grid-template-columns:1fr;gap:0;}
  .taka__grid{grid-template-columns:repeat(2,1fr);gap:40px;}
  .fstep{grid-template-columns:56px 1fr;gap:10px 24px;}
  .fstep__txt{grid-column:2;}
  .fstep__time{grid-column:2;text-align:left;}
  .footer__top{grid-template-columns:1fr;gap:48px;}
  .hero__v{right:36px;}
  .hero__foot{left:36px;}
}
@media(max-width:760px){
  /* 2026-07-31 ユーザー指示: スマホも写真の横に縦書き見出しを並べる(中央にポツンと出るのはNG) */
  .concept__grid{grid-template-columns:auto 1fr;gap:14px;align-items:center;}
  .concept__photo img{width:min(56vw,240px);}
  .concept__v{font-size:calc(clamp(21px,6vw,26px)*var(--disp-scale));line-height:2.1;justify-self:center;}
  /* 2026-07-31 余白詰め(スマホはさらにコンパクトに) */
  .concept,.taka{padding:60px 0 72px;}
  .about{padding:60px 0 0;}
  .jobs,.faq{padding:60px 0 76px;}
  .entry{padding:72px 0 68px;}
  .shead{margin-bottom:32px;gap:14px;}
  /* 見出しがiPhone SE(375px)で不自然に折り返さないよう、サイズと字間をモバイル用に調整(2026-07-31) */
  .shead h2{font-size:clamp(20px,5.6vw,25px);letter-spacing:0.1em;}
  .container{padding:0 24px;}
  .about__stats{margin-top:36px;}
  .about__rows{margin-top:48px;}
  .nav__links{display:none;}
  /* 2026-07-31 ユーザー指示: スマホで「採用情報」ボタンが中央寄りに見えるため右端に寄せる+バー全体を小ぶりに馴染ませる */
  .nav{padding-left:20px;padding-right:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:16px;}
  .nav__brand b{font-size:14px;letter-spacing:0.22em;}
  .nav__cta{padding:9px 18px;font-size:11.5px;letter-spacing:0.18em;}
  .nav.solid{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:10px;}
  .jobs__top{flex-direction:column;align-items:flex-start;gap:8px;}
  .entry__side{flex-direction:column;gap:36px;}
  .entry__side>div{padding:0;}
  .entry__side>div+div{border-left:none;}
  .footer__cols{grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column;gap:14px;}
  .hero__v{font-size:calc(clamp(28px,8vw,40px)*var(--disp-scale));right:24px;}
  .hero__scroll{right:28px;}
}
