:root{
  --pink:#E4007F;        /* ブランドマゼンタ（貴社支給 2026-09-03） */
  --pink-deep:#A9005E;   /* hover・強調の濃マゼンタ */
  --pink-pale:#FDF0F7;   /* ペールマゼンタ面（背景切替用） */
  --ink:#17141A;         /* 黒面・本文の墨色 */
  --ink-soft:#57505C;    /* サブテキスト */
  --paper:#FFFFFF;
  --line:#E8DEE3;
  /* 和文=Zen Kaku Gothic New（本文〜見出しまで1書体・ウェイトで階層化）
     「宣言」の見出し（MV・Manifesto・Entry）は 900 ＋ ロゴと同角の斜体（--skew）で統一
     欧文=Jost（ラベル・番号・現行サイトと同じ） */
  --jp:"Zen Kaku Gothic New","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;
  --disp:"Jost","Helvetica Neue",Arial,sans-serif;  /* 旧 Anton（ディスプレイ英字）は廃止 */
  --en:"Jost","Helvetica Neue",Arial,sans-serif;   /* 現行サイトと同じ欧文 */
  --skew:-11deg;                                    /* ロゴと同じ傾き＝斜体の基準角 */
  --sec-y:clamp(96px,12vw,160px);
  --pad-x:clamp(20px,5vw,52px);
  --w:1160px;
  --ease:cubic-bezier(.16,1,.3,1);
  --hdr-h:clamp(60px,6vw,70px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 12px)}
body{
  font-family:var(--jp);color:var(--ink);background:var(--paper);
  font-size:clamp(0.9rem,1.3vw,1rem);line-height:1.85;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  overflow-wrap:break-word;line-break:strict;
}
h1,h2,h3,blockquote{text-wrap:balance}
p{text-wrap:pretty}
.nb{display:inline-block}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.on-pink :focus-visible{outline-color:#fff}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--pink);color:#fff;padding:10px 18px;font-weight:700}
.skip-link:focus{left:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad-x);position:relative;z-index:2}
.en{font-family:var(--en);letter-spacing:.12em}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
/* 和文の改行位置: 「レジェンドアス／リート対談」のような文節を割る改行を避ける（Chrome 119+）。
   未対応ブラウザは通常の禁則にフォールバック */
h1,h2,h3,.sec-head .jp,.sec-catch,.manifesto .big,.iv-card .catch,.join-card h3,.career-map .pcard b,.biz-row .bd b,.ceo-panel .catch,.recruit h2,.recruit .jp-lead,.recruit .cv-note b,.tl .bd b{
  word-break:auto-phrase;line-break:strict}

/* ---- ポートレート写真の背面に置くマゼンタのオフセット矩形（写真の"枠"はこれ1種類に統一） ---- */
.about-photo,.mf-photo,.ceo-photo,.ws-photo{position:relative} /* ::before の包含ブロック（SPで static に落ちても崩れない） */
.mf-photo::before{content:"";position:absolute;left:14px;top:14px;right:-14px;bottom:-14px;background:var(--pink);z-index:0} /* 署名装置はManifestoの1箇所のみ */
/* ---- 写真の器（実写＝トーン統一フィルター。読込失敗時もブランド面で成立） ---- */
.duo{position:relative;overflow:hidden;background:#F3E9EE} /* v21: 読込前の面を明色に（黒・暗紫の面を出さない） */
.duo::before{content:none;position:absolute;inset:0;z-index:0; /* v21: 斜線パターン廃止 */
  background-image:repeating-linear-gradient(-45deg,rgba(228,0,127,.14) 0 2px,transparent 2px 14px)}
.duo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;
  filter:none} /* v21: 色は JPEG 側で揃える。CSS では被せない */
.duo::after{content:none;position:absolute;inset:0;z-index:2;pointer-events:none; /* v21: ピンク multiply 廃止 */
  background:linear-gradient(160deg,rgba(228,0,127,.07) 0%,rgba(23,20,26,.02) 55%,rgba(23,20,26,.08) 100%);
  mix-blend-mode:multiply}
/* 全幅ブリード用ラッパ（スライダー等） */
.full-bleed{position:relative;z-index:2}

/* ---- スクロール出現 ---- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(2){transition-delay:.1s}
.stagger.in>*:nth-child(3){transition-delay:.2s}
.stagger.in>*:nth-child(4){transition-delay:.3s}

/* ---- 見出しユニット: 番号＋小さな英字ラベル → 日本語の主見出し ---- */
.sec-head{position:relative}
.sec-head .wm{display:none}
main{counter-reset:sec}
.sec-head{counter-increment:sec}
.sec-head .enh{position:relative;z-index:2;display:flex;align-items:center;gap:16px;
  font-family:var(--en);font-weight:600;font-size:.72rem;letter-spacing:.3em;line-height:1;
  text-transform:uppercase;color:var(--pink)}
.sec-head .enh::before{content:counter(sec,decimal-leading-zero);font-weight:600;letter-spacing:.2em}
.sec-head .enh::after{content:none}
.on-pink .sec-head .enh{color:#fff}
.sec-head .jp{position:relative;z-index:2;display:block;text-wrap:balance;margin-top:clamp(16px,2.2vw,26px);
  font-size:clamp(1.5rem,2.9vw,2.3rem);font-weight:900;line-height:1.5;letter-spacing:.01em}
.sec-head .jp::before{display:none}

/* ---- セクション共通リード・キャッチ ---- */
.sec-catch{position:relative;z-index:2;font-size:clamp(1.15rem,1.9vw,1.4rem);font-weight:900;
  line-height:1.75;letter-spacing:.02em;margin-top:clamp(30px,4.5vw,48px)}
.sec-lead{position:relative;z-index:2;font-size:.97rem;font-weight:500;line-height:1.95;
  margin-top:24px;max-width:38em;color:#3D3642}
.sec-lead strong,.sec-catch strong{font-weight:900;color:var(--ink)}

/* ============ ヘッダー ============ */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--hdr-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(24px,5vw,72px);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  transition:box-shadow .3s}
.hdr.scrolled{box-shadow:0 6px 28px rgba(23,20,26,.08)}
body.home .hdr{transition:background .35s,box-shadow .3s}
body.home .hdr:not(.scrolled){background:transparent;backdrop-filter:none}
body.home .hdr:not(.scrolled) nav a.g{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
body.home .hdr:not(.scrolled) .logo .logo-img{filter:brightness(0) invert(1)}
body.home .hdr:not(.scrolled) .logo span{color:rgba(255,255,255,.7)}
body.home .hdr:not(.scrolled) .menu-btn{color:#fff}
body.home .hdr:not(.scrolled) .btn-entry{background:#fff;color:var(--ink)} /* 最上部＝マゼンタの帯と重なるため白ボタン */
body.home .hdr:not(.scrolled) .btn-entry:hover{background:var(--ink);color:#fff}
body.home.nav-open .hdr{background:#fff} /* メニュー展開中は透過を解除（パネルと一体に） */
body.home.nav-open .hdr nav a.g{color:var(--ink);text-shadow:none}
.hdr .logo{color:var(--ink);line-height:1.2}
.hdr .logo .logo-img{display:block;height:clamp(24px,2.8vw,32px);width:auto;transition:filter .3s}
.hdr .logo span{display:block;font-family:var(--en);font-weight:600;font-size:.62rem;letter-spacing:.3em;color:var(--ink-soft);text-transform:uppercase;margin-top:3px}
.hdr nav{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px)}
.hdr nav a.g{color:var(--ink);font-size:.88rem;font-weight:500;letter-spacing:.06em;opacity:.95}
.hdr nav a.g:hover{opacity:1;text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--pink);text-decoration-thickness:2px}
.hdr nav a.ext{display:none}
.btn-entry{display:inline-block;background:var(--pink);color:#fff;
  font-family:var(--en);font-weight:700;font-size:.95rem;letter-spacing:.22em;
  padding:15px 30px;transform:skewX(-15deg);transition:background .2s}
.btn-entry span{display:inline-block;transform:skewX(15deg)}
.btn-entry i{font-style:normal;margin-left:6px}
.btn-entry:hover{background:var(--pink-deep)}
/* 右側グループ（PCナビ＋ENTRY＋SP用メニューボタン） */
.hdr-r{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.menu-btn{display:none;position:relative;width:44px;height:44px;margin-right:-6px;
  background:none;border:0;cursor:pointer;color:var(--ink);-webkit-tap-highlight-color:transparent}
.menu-btn span{position:absolute;left:10px;width:24px;height:2px;background:currentColor;
  transform:skewX(var(--skew));transition:transform .35s var(--ease),top .35s var(--ease),width .35s var(--ease)}
.menu-btn span:nth-child(1){top:16px}
.menu-btn span:nth-child(2){top:22px;width:16px}
.menu-btn span:nth-child(3){top:28px}
body.nav-open .menu-btn span:nth-child(1){top:22px;transform:rotate(45deg)}
body.nav-open .menu-btn span:nth-child(2){width:0}
body.nav-open .menu-btn span:nth-child(3){top:22px;transform:rotate(-45deg)}
@media (max-width:1279px){
  /* backdrop-filter は fixed 子要素の包含ブロックになり、全画面ナビがヘッダー内に潰れる → SPでは外す（背景は.9不透過で視認性は同等） */
  .hdr{backdrop-filter:none;background:rgba(255,255,255,.98)}
  .menu-btn{display:block}
  .btn-entry{padding:11px 20px;font-size:.78rem}
  /* SPナビ＝ヘッダー直下からの全画面パネル。宣言と同じ「900＋斜体」で章を並べる */
  .hdr nav{position:fixed;left:0;right:0;top:var(--hdr-h);bottom:0;z-index:98;
    display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;
    padding:0 clamp(24px,7vw,48px) calc(72px + env(safe-area-inset-bottom));
    background:#fff;
    counter-reset:nav;overflow-y:auto;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);
    transition:opacity .38s var(--ease),transform .38s var(--ease),visibility 0s linear .38s}
  body.nav-open .hdr nav{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s,0s,0s}
  .hdr nav a.g{position:relative;z-index:1;display:flex;align-items:baseline;gap:18px;
    padding:clamp(16px,3.4vh,26px) 0;border-bottom:1px solid rgba(23,20,26,.1);color:var(--ink);
    font-size:clamp(1.35rem,6.2vw,1.8rem);font-weight:900;letter-spacing:.02em;line-height:1.3;
    transform:translateX(-14px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
  .hdr nav a.g:first-child{border-top:1px solid rgba(23,20,26,.1)}
  .hdr nav a.g::before{counter-increment:nav;content:counter(nav,decimal-leading-zero);
    font-family:var(--en);font-weight:600;font-size:.72rem;letter-spacing:.24em;color:var(--pink);flex-shrink:0;min-width:2.2em}
  .hdr nav a.g>span{display:inline-block;transform:skewX(var(--skew))}
  .hdr nav a.g::after{content:"→";margin-left:auto;font-family:var(--en);font-weight:500;color:var(--pink)}
  .hdr nav a.g:hover{text-decoration:none}
  body.nav-open .hdr nav a.g{transform:none;opacity:1}
  body.nav-open .hdr nav a.g:nth-child(1){transition-delay:.08s}
  body.nav-open .hdr nav a.g:nth-child(2){transition-delay:.14s}
  body.nav-open .hdr nav a.g:nth-child(3){transition-delay:.20s}
  body.nav-open .hdr nav a.g:nth-child(4){transition-delay:.26s}
  body.nav-open .hdr nav a.g:nth-child(5){transition-delay:.32s}
  .hdr nav a.ext{position:relative;z-index:1;display:flex;align-items:baseline;gap:12px;margin-top:22px;
    font-family:var(--en);font-weight:600;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
  .hdr nav a.ext span{font-family:var(--jp);font-weight:700;letter-spacing:.06em;text-transform:none;font-size:.86rem}
  .hdr nav a.ext small{font-size:.66rem;color:var(--pink)}
  .hdr nav a.ext::after{content:"↗";margin-left:auto;color:var(--pink)}
  body.nav-open{overflow:hidden}
  body.nav-open .sp-cta-bar{visibility:hidden}
}

/* ============ FV（スポーツポスター型: カラー写真 × 3段の階段見出し（「挑んだ」をマゼンタの面で抜く） × 右下ENTRY） ============ */
.fv{position:relative;min-height:100svh;background:#0A0709;color:#fff;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:calc(var(--hdr-h) + 40px) 0 clamp(56px,8vh,88px)}
.fv-photo{position:absolute;inset:0;z-index:0}
.fv-photo .imgs{position:absolute;inset:0}
/* カラーのまま暗く締める。色はマゼンタの3箇所（「挑んだ」の面・CTA・罫）だけに */
.fv-photo img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;
  filter:contrast(1.02) saturate(1) brightness(var(--b,1));opacity:0;
  animation:kv-cross 24s cubic-bezier(.4,0,.2,1) infinite,kv-zoom 24s linear infinite;will-change:opacity,transform}
/* v20: 2枚を12秒ホールド・約1.4秒ディゾルブ。1枚ごとに寄り（--z/--tx/--ty）と露出（--b）を持つ */
.fv-photo img:nth-child(1){animation-delay:0s,0s}
.fv-photo img:nth-child(2){animation-delay:12s,12s}
@keyframes kv-cross{0%{opacity:0} 5.8%{opacity:1} 50%{opacity:1} 55.8%{opacity:0} 100%{opacity:0}}
@keyframes kv-zoom{0%{transform:translate(var(--tx,0),var(--ty,0)) scale(var(--z,1))} 55.8%{transform:translate(calc(var(--tx,0) + 1.2%),calc(var(--ty,0) - .8%)) scale(calc(var(--z,1) * 1.05))} 55.9%{transform:translate(var(--tx,0),var(--ty,0)) scale(var(--z,1))} 100%{transform:translate(var(--tx,0),var(--ty,0)) scale(var(--z,1))}}
/* 黒のみの階調: 下を潰して文字の台に、上は光を残す。左を少し沈める */
.fv-photo .imgs::after{content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse 56% 32% at 25% 34%,rgba(8,4,7,.50) 0%,rgba(8,4,7,.26) 34%,rgba(8,4,7,.09) 60%,rgba(8,4,7,.03) 82%,rgba(8,4,7,0) 100%),
    radial-gradient(ellipse 62% 46% at 26% 80%,rgba(8,4,7,.44) 0%,rgba(8,4,7,.22) 34%,rgba(8,4,7,.07) 60%,rgba(8,4,7,.02) 82%,rgba(8,4,7,0) 100%),
    linear-gradient(180deg,rgba(8,4,7,.38) 0px,rgba(8,4,7,.15) 88px,rgba(8,4,7,0) 168px),
    linear-gradient(0deg,rgba(8,4,7,.48) 0%,rgba(8,4,7,.32) 34%,rgba(8,4,7,.11) 62%,rgba(8,4,7,.06) 100%),
    linear-gradient(90deg,rgba(8,4,7,.18) 0%,rgba(8,4,7,0) 32%)} /* v25: 全体を明るく。台は左下だけに残し、上・右・中間は写真の明るさをそのまま出す */
.fv-photo .imgs::before{content:none;position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.035;mix-blend-mode:overlay; /* v21: 粒状オーバーレイ廃止 */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion: reduce){
  .fv-photo img{animation:none;opacity:0;transform:translate(var(--tx,0),var(--ty,0)) scale(var(--z,1))}
  .fv-photo img:nth-child(1){opacity:1}}
/* 粒状（Entryセクションで使用） */
.fv-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.fv-inner{position:relative;z-index:3;width:100%;padding:0 clamp(24px,5vw,72px)}
.fv-inner h1,.fv-inner .fv-bottom{position:relative;z-index:1}
/* 見出し: 斜体（ロゴ・帯・ENTRYと同角） */
.fv h1{margin:0;font-feature-settings:"palt" 1;
  text-shadow:0 3px 30px rgba(8,4,7,.52)} /* v25: スクリムを薄くした分、文字の足元だけを締める（面で暗くしない） */
.fv-m{display:block;font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-synthesis-weight:none; /* v25: 読み込みは wght@600 のみ。700 宣言のままだと webfont 未達時に合成太字になり明朝の太さ比が崩れる */
  text-shadow:0 2px 22px rgba(8,4,7,.52),0 8px 58px rgba(8,4,7,.42); /* v25: 明朝の足元。ぼかしの狭い層は「縁取り」に見えるので使わない */

  font-size:clamp(26px,4.2vw,68px);letter-spacing:.18em;line-height:1.25;margin-bottom:.2em;margin-left:0; /* 正体＝静。極太の斜体＝動、の対比 */
  clip-path:inset(0 100% 0 0);animation:wipe .6s cubic-bezier(.2,.8,.2,1) .5s forwards}
.fv-g{display:block;font-size:clamp(40px,8.9vw,160px);font-weight:900;letter-spacing:-.04em;line-height:1.04;
  transform:skewX(-8deg);transform-origin:left bottom; /* 行ごとにskew＝各行の左下が同じ縦線に着地 */
  clip-path:inset(0 100% 0 0);animation:wipe .7s cubic-bezier(.2,.8,.2,1) .65s forwards}
.fv-g.l3{margin-left:1.3em;animation-delay:.85s} /* 階段状に字下げ＝視線を右下（ENTRY）へ流す */
/* 核の動詞「挑んだ」＝マゼンタの面で抜く（ブランド色はここに集約）。面は左から伸びる */
.fv-g .hl{font-style:normal;display:inline-block;color:#fff;padding:.02em .1em .05em .1em;margin:0 .06em 0 0;
  background:linear-gradient(var(--pink),var(--pink)) no-repeat 0 0 / 0% 100%;
  animation:hl .5s cubic-bezier(.2,.8,.2,1) 1.15s forwards}
@keyframes hl{to{background-size:100% 100%}}
@keyframes wipe{to{clip-path:inset(0 -2% 0 0)}}
/* 下段: サブコピー（左）＋ ENTRY（右下）で重心を作る */
.fv-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:clamp(30px,4.6vh,54px)} /* v25: 縦罫が担っていた群の分離を空きに置き換える（字面間が行送りの1.7倍以上になるまで） */
/* v25: 左の縦罫を撤去。見出しと同じ左端に揃えるだけにして、テンプレート然とした印象を消す */
.fv-sub{margin:0;max-width:640px;
  font-size:clamp(13.5px,1.15vw,17px);font-weight:500;line-height:1.95;letter-spacing:.02em;color:rgba(255,255,255,.9);
  text-shadow:0 1px 3px rgba(8,4,7,.5),0 2px 18px rgba(8,4,7,.55);
  opacity:0;animation:fade-up .8s var(--ease) 1.1s forwards}
.fv-sub strong{font-weight:900;color:#fff}
.fv-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;width:clamp(220px,19vw,300px);height:clamp(60px,5vw,76px);
  background:var(--pink);color:#fff;font-family:var(--en);font-weight:700;font-size:clamp(.95rem,1.15vw,1.15rem);letter-spacing:.24em;
  transform:skewX(-11deg);transition:background .2s,transform .2s;opacity:0;animation:fade-up .8s var(--ease) 1.3s forwards}
.fv-cta span{display:inline-block;transform:skewX(11deg)}
.fv-cta i{font-style:normal;margin-left:.6em}
.fv-cta:hover{background:#fff;color:var(--ink)}
@keyframes fade-up{from{transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade-in{to{opacity:1}}
@media (max-width:768px){
  .fv{padding:calc(var(--hdr-h) + 24px) 0 clamp(44px,6vh,64px)} /* v21: 見出しブロックを少し下げ、顔との重なりを避ける */
  .fv-photo img:nth-child(1){--tx:0 !important;--ty:-6% !important;--z:1.12 !important;object-position:82% 15% !important} /* v21: 顔を見出しの上に（拡大1.12・上へ6%） */ /* v21: 発言者の頭が右端で切れないよう窓を右へ（顔中心74%→窓中央） */
  .fv-photo img:nth-child(2){--tx:0 !important;--ty:-14% !important;--z:1.3 !important;object-position:96% 40% !important} /* v21: 顔中心83%・頭の右端90%を窓内に */
  /* v25: SPもPCと同じ考え方に揃える。全幅の帯で暗くせず、ヘッダー・見出し・コピーの足元だけを締める。黒も #080407 に統一（旧 純黒 .80/.52/.22/.16） */
  .fv-photo .imgs::after{background:
    radial-gradient(ellipse 82% 28% at 26% 56%,rgba(8,4,7,.46) 0%,rgba(8,4,7,.24) 34%,rgba(8,4,7,.08) 60%,rgba(8,4,7,.03) 82%,rgba(8,4,7,0) 100%),
    radial-gradient(ellipse 78% 22% at 30% 84%,rgba(8,4,7,.42) 0%,rgba(8,4,7,.21) 34%,rgba(8,4,7,.07) 60%,rgba(8,4,7,.02) 82%,rgba(8,4,7,0) 100%),
    linear-gradient(180deg,rgba(8,4,7,.34) 0px,rgba(8,4,7,.12) 76px,rgba(8,4,7,0) 148px),
    linear-gradient(0deg,rgba(8,4,7,.52) 0%,rgba(8,4,7,.34) 34%,rgba(8,4,7,.12) 60%,rgba(8,4,7,.08) 100%)}
  .fv-g{transform:skewX(-6deg)}
  .fv-m{font-size:24px;letter-spacing:.14em}
  .fv-g{font-size:clamp(46px,14vw,60px);line-height:1.08;letter-spacing:-.03em}
  .fv-g.l3{margin-left:.9em}
  .fv-bottom{display:block;margin-top:38px} /* v25: SPも同様（20px＝行送りの0.73倍では群が分かれない） */
  .fv-sub{max-width:none;font-size:14px;line-height:1.95}
  .fv-cta{display:none} /* SPは固定バーに統合 */
}

/* overflow:clip = はみ出しは切るがスクロールコンテナにならない（子のposition:stickyを殺さない） */
section.blk{position:relative;overflow:clip;padding:var(--sec-y) 0}
.about,.profile,.books{padding:clamp(72px,9vw,112px) 0} /* 従属章は密、主要章は疎 */

/* ============ マニフェスト ============ */
.manifesto{background:var(--paper)}
.manifesto .eyebrow{display:inline-flex;align-items:center;gap:16px;
  font-family:var(--en);font-weight:600;font-size:.72rem;letter-spacing:.3em;color:var(--pink);
  text-transform:uppercase;margin-bottom:clamp(20px,3vw,30px)}
.manifesto .eyebrow::before{content:"00";font-weight:600;letter-spacing:.2em}
.manifesto .big{font-family:var(--jp);font-size:clamp(1.55rem,3.6vw,2.5rem);font-weight:900;line-height:1.55;letter-spacing:-.005em;margin-bottom:clamp(36px,5vw,56px)}
.manifesto .big em{font-style:normal;color:var(--pink)}
.manifesto p.mt{font-size:1rem;font-weight:500;line-height:2.0;margin-bottom:1.7em;max-width:36em;color:#2E2833}
.manifesto p.mt:last-child{margin-bottom:0}
.manifesto strong{font-weight:900;color:var(--ink)}

/* 右列＝写真（旧: 縦組み "Reborn" 透かし。余白が気になるとのFBで写真に置き換え） */
.mf-grid{display:grid;grid-template-columns:minmax(0,32em) 1fr;gap:clamp(40px,6vw,96px);align-items:start}
.mf-photo{position:sticky;top:calc(var(--hdr-h) + 32px);margin-top:clamp(8px,2vw,24px)}
.mf-photo .duo{aspect-ratio:1100/634;z-index:1} /* v22: 看板が枠の中央に来る横位置（書き出しと同比率＝cover で切れない） */
.mf-photo .duo img{object-position:50% 50%}
@media (max-width:980px){
  .mf-grid{grid-template-columns:1fr;gap:36px}
  .mf-photo{position:relative;max-width:560px}
  .mf-photo .duo{aspect-ratio:1100/634}
  .mf-photo .duo img{object-position:50% 50%}
}
/* 三連問いかけ＝このセクションの核。地の文から視覚階層を独立させる */
.manifesto .q{display:block;font-weight:900;font-size:1.12em;line-height:2.05;
  padding-left:18px;border-left:4px solid var(--pink);margin:16px 0}
/* 結びのプルクオート */
.manifesto .pull{display:block;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.9;
  letter-spacing:.04em;margin-bottom:10px;background:none}

/* ============ About ============ */
.about{background:var(--pink-pale)}
.about .wm{right:-2%;top:24px}
.about-grid{position:relative;z-index:2;display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,84px);align-items:start;margin-top:clamp(44px,6vw,72px)}
.about-photo{order:-1} /* Manifesto（文左・写右）と反転させる */
.about-grid h3{font-size:clamp(1.3rem,2.5vw,1.65rem);font-weight:900;line-height:1.95;margin-bottom:24px}
.about-grid .body{font-size:.96rem;font-weight:500;line-height:1.95;color:#3D3642}
.about-grid strong{font-weight:900;color:var(--ink)}
.about-photo .duo{aspect-ratio:1720/1164;z-index:1} /* v20: 2ショットを切らずに両名を左右対称に */
.about-photo .duo img{object-position:50% 50%}
@media (max-width:980px){.about-photo{order:0}}
.about-photo{margin-top:14px;position:sticky;top:calc(var(--hdr-h) + 32px);align-self:start}
@media (max-width:980px){.about-photo{position:relative;max-width:560px}}

/* ============ 事業 ============ */
.business{background:var(--paper)}
.business .wm{left:-2%;top:-14px}
.biz-slider{position:relative;z-index:2;margin:clamp(44px,6vw,68px) calc(-1 * var(--pad-x)) 0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.biz-track{display:flex;width:max-content;animation:biz-marquee 64s linear infinite}
@keyframes biz-marquee{to{transform:translateX(-50%)}}
.bs-item{position:relative;height:clamp(140px,16vw,200px);flex-shrink:0;margin-right:16px}
.bs-item.duo img{filter:grayscale(.10) contrast(1.02) brightness(1.06) saturate(1.06)}
.bs-item.duo::after{background:linear-gradient(160deg,rgba(228,0,127,.14) 0%,rgba(23,20,26,0) 55%,rgba(23,20,26,.10) 100%)}
.bs-item.w1{width:clamp(230px,25vw,320px)}
.bs-item.w2{width:clamp(190px,20vw,250px)}
.bs-item.w3{width:clamp(300px,34.5vw,433px)} /* v20: AthTAG アスリートバナー（2.16:1）用 */
.bs-item .cap{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(255,255,255,.92);color:var(--ink); /* v21: 写真上の黒い矩形をやめる */
  font-size:.68rem;font-weight:700;letter-spacing:.14em;line-height:1.5;padding:6px 12px;
  max-width:calc(100% - 24px)} /* 2026-10-02 省略（…）をやめ、狭いスライドでは折り返す */
@media (max-width:560px){.bs-item .cap{font-size:.6rem;letter-spacing:.08em}}
.bs-item .cap b{color:var(--pink);font-family:var(--en);font-weight:600;margin-right:8px}
.slider-note{position:relative;z-index:2;font-size:.72rem;color:var(--ink-soft);letter-spacing:.06em;margin-top:12px;text-align:right}
.biz-list{position:relative;z-index:2;margin-top:clamp(40px,6vw,64px);border-top:1px solid var(--ink)}
.biz-row{display:grid;grid-template-columns:90px minmax(240px,330px) 1fr;gap:clamp(20px,3.5vw,48px);
  border-bottom:1px solid var(--line);padding:clamp(30px,4.5vw,50px) clamp(8px,2vw,28px);
  align-items:start} /* 行はリンクではないためhover背景は持たせない（偽アフォーダンス回避） */
.biz-row .no{font-family:var(--en);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;color:var(--pink)}
.biz-row h3{font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:900;line-height:1.7}
.biz-row .bd b{display:block;font-size:1.03rem;font-weight:900;line-height:1.9;margin-bottom:8px}
.biz-row .bd p{font-size:.9rem;font-weight:500;line-height:1.85;color:#4A434F}
.biz-row .bd .bl{display:inline-block;margin-top:14px;font-size:.88rem;font-weight:800;color:var(--ink);border-bottom:2px solid var(--pink);padding-bottom:2px}

/* 事業行内フォトギャラリー: 対談は「どんな場か」を写真で見せる章。行の全幅に出し、対談の全景を大きく置く */
.biz-row .biz-gal{grid-column:1/-1;display:grid;grid-template-columns:1.85fr 1fr;grid-template-rows:1fr 1fr;gap:12px;margin-top:clamp(8px,1.5vw,16px)}
.biz-gal .duo{display:block;aspect-ratio:3/2;min-height:0}
.biz-gal .duo:nth-child(1){grid-row:span 2;aspect-ratio:auto}
.biz-gal .duo:nth-child(1) img{object-position:50% 45%}
.biz-gal .duo:nth-child(2) img{object-position:50% 50%}
.biz-gal .duo:nth-child(3) img{object-position:50% 45%}
@media (max-width:768px){
  .biz-row .biz-gal{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:8px}
  .biz-gal .duo{aspect-ratio:4/3}
  .biz-gal .duo:nth-child(1){grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
}

/* ============ Interview ============ */
.interview{background:var(--pink-pale)}
.interview .wm{left:50%;transform:translateX(-50%);top:-16px}
.iv-rail{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.5vw,40px);
  max-width:1100px;margin:clamp(48px,7vw,84px) auto 0}
.iv-card{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;transition:transform .35s var(--ease)}
.iv-card:hover{transform:translateY(-6px)}
.iv-card .duo{position:absolute;inset:0}
.iv-unit:nth-child(1) .iv-card .duo img{object-position:74% 34%;
  filter:brightness(1.04)} /* v21: 脱色を外す（ページ内で唯一の明るい自然色写真） */
.iv-unit:nth-child(2) .iv-card .duo img{object-position:center 30%}
.iv-card .shade{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(37,14,27,0) 0%,rgba(37,14,27,0) 52%,rgba(37,14,27,.50) 78%,rgba(30,10,20,.74) 100%)}
.iv-card .catch{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:26px clamp(18px,3vw,34px) 24px;
  color:#fff;font-size:clamp(1.02rem,1.9vw,1.3rem);font-weight:900;line-height:1.95;letter-spacing:.03em;
  text-wrap:balance}

.iv-card .open{position:absolute;right:14px;top:14px;z-index:4;background:var(--pink);color:#fff;
  font-family:var(--en);font-weight:600;font-size:.6rem;letter-spacing:.24em;padding:7px 14px;transform:skewX(-8deg)}
.iv-card .open span{display:inline-block;transform:skewX(8deg)}
/* 2人目=情報提供待ち。未完成に見せず「近日公開」としてデザインで成立させる */
.ph-soon{position:absolute;inset:0;background:var(--pink-pale);display:flex;align-items:center;justify-content:center}
.ph-soon .num{font-family:var(--en);font-weight:600;font-style:italic;font-size:clamp(6rem,12vw,10rem);line-height:1;color:rgba(228,0,127,.16);letter-spacing:-.02em;transform:skewX(var(--skew))}
.iv-unit.pending .iv-card .shade{display:none}
.iv-unit.pending .iv-card .catch{color:var(--ink)}
.iv-card .soon{position:absolute;left:14px;top:14px;z-index:4;white-space:nowrap;
  background:#fff;color:var(--ink);transform:skewX(-8deg);
  font-family:var(--en);font-weight:600;font-size:.6rem;letter-spacing:.24em;
  padding:7px 14px}
.iv-card .soon span{display:inline-block;transform:skewX(8deg)}
.iv-meta{padding:22px 6px 0;text-align:left}
.iv-meta .role{font-size:.8rem;font-weight:500;color:var(--ink-soft);letter-spacing:.03em}
.iv-meta .nm{font-size:1.3rem;font-weight:900;margin-top:2px;display:flex;align-items:baseline;gap:12px}
.iv-meta .rm{font-family:var(--en);font-weight:500;font-size:.66rem;color:var(--pink);letter-spacing:.22em;text-transform:uppercase}
.iv-meta .lead{font-size:.88rem;font-weight:500;line-height:1.9;color:#3D3642;margin-top:12px}
.iv-meta .lead strong{font-weight:900;color:var(--ink)}

/* ============ Work Style（ピンク全面。墨12%を重ねて白文字コントラスト4.5:1を確保） ============ */
.workstyle{background:#fff;color:var(--ink)}
/* 導入＝本文｜写真（右半分の空白を写真で埋める） */
.ws-intro{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,38em) 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.ws-photo{margin-top:clamp(30px,4.5vw,60px)} /* v24: 写真が短くなった分だけ下げ、天を見出しのキャップラインに合わせる */
.ws-photo .duo{aspect-ratio:400/200;z-index:1} /* v24: 会話する2人に寄せた横帯（右端の大きな後頭部を画角外へ） */
@media (max-width:980px){.ws-intro{grid-template-columns:1fr;gap:28px}.ws-photo{max-width:400px}} /* v24: 400px 素材が等倍を割らない上限 */
.workstyle .wm{left:-2%;top:6px}
.workstyle .sec-lead{color:#3D3642}
.workstyle .sec-lead strong{color:var(--ink)}

.career-map{position:relative;z-index:2;margin-top:clamp(40px,6vw,64px)}
.career-map .from{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;margin-bottom:26px;color:var(--ink);
  font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:900;letter-spacing:.02em}
.career-map .from b{font-weight:900}
.career-map .from .arw{font-family:var(--en);font-weight:500;color:var(--pink)}
.career-map .from .then{font-weight:700}
.career-map .to{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}
.career-map .path{display:block}
.career-map .pcard{background:none;color:var(--ink);padding:22px 0 0;border-top:1px solid var(--ink);height:100%;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.career-map .pcard .bd{flex:1}
.career-map .pcard .tag{display:block;font-family:var(--en);font-weight:600;font-size:.7rem;letter-spacing:.28em;color:var(--pink);margin-bottom:8px}
.career-map .pcard b{display:block;font-size:clamp(.98rem,1.25vw,1.1rem);font-weight:900;line-height:1.7}
.career-map .pcard p{font-size:.84rem;font-weight:500;color:#4A434F;margin-top:8px;line-height:1.9}
@media (max-width:1279px){.career-map .to{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.career-map .to{grid-template-columns:1fr}}

/* ============ 代表メッセージ ============ */
.ceo{background:var(--pink-pale)}
.ceo .wm{right:-2%;top:-10px}
.ceo .sec-head .jp{font-size:1.05rem;font-weight:700;margin-top:14px;color:var(--ink-soft)}
.ceo-panel{position:relative;z-index:2;margin-top:clamp(28px,4vw,44px);color:var(--ink)}
.ceo-panel .catch{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:900;line-height:1.6;letter-spacing:-.005em;margin-bottom:14px}
.ceo-panel .catch br{display:none}
.ceo-panel .name{font-size:.92rem;font-weight:700;color:var(--ink-soft);margin-bottom:clamp(32px,5vw,52px)}
.ceo-grid{display:grid;grid-template-columns:360px 1fr;gap:clamp(36px,5vw,72px);align-items:stretch}
.ceo-grid .body{font-size:.95rem;font-weight:500;line-height:2.0;color:#2E2833;max-width:40em}
.ceo-grid .body p{margin-bottom:1.6em}
.ceo-grid .body p:last-child{margin-bottom:0}
.ceo-grid .body strong{font-weight:900;color:var(--ink)}
.ceo-photo{position:relative} /* 本文の高さいっぱいに写真を伸ばす（下端を揃える） */
.ceo-photo .duo{position:absolute;inset:auto 0 0 0;height:min(100%,600px);aspect-ratio:auto} /* 元画像520×600のため600px超に拡大しない（下端揃えは維持） */

.ceo-panel .sign{text-align:right;font-size:1rem;font-weight:900;margin-top:clamp(28px,4vw,44px);letter-spacing:.08em}


/* ============ 代表プロフィール ============ */
/* 従属章（Profile/Books）は見出しスケールを1段落として主要章との階層を作る */
.profile{background:var(--paper)}
.profile .wm{left:-2%;right:auto;top:-14px}
.tl{position:relative;z-index:2;margin:clamp(44px,6vw,72px) 0 0;max-width:880px}
.tl .row{display:flex;gap:clamp(20px,4vw,44px);position:relative;padding-bottom:clamp(36px,5vw,54px)}
.tl .row::before{content:"";position:absolute;left:calc(clamp(96px,12vw,124px)/2);top:16px;bottom:0;width:2px;background:rgba(228,0,127,.35)}
.tl .row:last-child::before{display:none}
.tl .row:last-child{padding-bottom:0}
.tl .yr{width:clamp(96px,12vw,124px);flex-shrink:0;background:var(--pink);color:#fff;
  font-size:.82rem;font-weight:700;text-align:center;padding:9px 4px;height:fit-content;
  position:relative;z-index:2;letter-spacing:.08em}
.tl .row.turn .yr{background:var(--pink)}
.tl .bd{flex:1;padding-top:4px}
.tl .bd b{font-size:clamp(1rem,1.9vw,1.2rem);font-weight:900;display:block;margin-bottom:8px;line-height:1.8}
.tl .bd p{font-size:.88rem;font-weight:500;color:#4A434F;line-height:1.85}

/* ============ 著書 ============ */
.books{background:var(--pink-pale)}
.books .wm{left:-2%;top:-18px}
.book-card{position:relative;z-index:2;background:none;
  display:grid;grid-template-columns:1fr 360px;gap:clamp(36px,6vw,84px);align-items:center;
  padding:0;margin-top:clamp(40px,6vw,64px)}
.book-card .no{font-family:var(--en);font-weight:600;font-size:.95rem;letter-spacing:.1em;color:var(--pink)}
.book-card h3{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:900;line-height:1.7;margin:12px 0 18px}
.book-card p{font-size:.93rem;font-weight:500;line-height:1.95;color:#3D3642}
.book-card p + p{margin-top:1.4em}
.book-card .also{font-size:.85rem;color:var(--ink-soft)}
.book-card .pub{font-size:.85rem;color:var(--ink-soft);margin:-10px 0 18px} /* v21: 版元を h3 から出す */
.vm{display:inline-flex;align-items:center;gap:16px;font-size:.95rem;font-weight:900;letter-spacing:.05em;
  padding:0;margin-top:26px;transition:color .2s}
.vm .oval{width:48px;height:26px;background:var(--pink);color:#fff;transform:skewX(var(--skew));
  display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .2s}
.vm:hover{color:var(--pink-deep)}
.vm:hover .oval{background:var(--pink-deep)}
/* 実書影（公式サイトより。読込失敗時はモックへフォールバック） */
.book-cover{width:min(320px,90%);margin:0 auto;position:relative}
.book-cover>img{width:100%;height:auto;display:block;border:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(23,20,26,.35)}
.book-cover .book-mock{display:none}
.book-cover.failed>img{display:none}
.book-cover.failed .book-mock{display:flex;width:100%;margin:0;box-shadow:none}
.book-mock{width:min(240px,70%);aspect-ratio:24/33;margin:0 auto;background:var(--ink);position:relative;
  box-shadow:14px 14px 0 var(--pink-pale),14px 14px 0 1px var(--line);padding:26px 22px;
  display:flex;flex-direction:column;justify-content:space-between}
.book-mock::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.18)}
.book-mock .bt{color:#fff;font-weight:900;font-size:1.25rem;line-height:1.6;letter-spacing:.06em}
.book-mock .bt i{font-style:normal;color:var(--pink)}
.book-mock .obi{background:var(--pink);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.12em;
  padding:8px 10px;line-height:1.7}

/* ============ 参加の入口 ============ */
.join{background:var(--paper)}
.join .wm{right:-2%;top:-16px}
/* 導入＝左キャッチ／右リードの2カラムで行幅いっぱいに（左寄せ＋右余白の違和感を解消） */
.join-intro{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:start;margin-top:clamp(36px,5vw,56px)}
.join-intro .sec-catch{margin-top:0;line-height:1.7;font-size:clamp(1.25rem,2.1vw,1.55rem)}
.join-intro .sec-lead{margin-top:6px;max-width:none}
@media (max-width:820px){.join-intro{grid-template-columns:1fr;gap:12px}.join-intro .sec-catch br{display:none}}
.join-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px);margin-top:clamp(44px,6vw,72px)}
/* 非リンクの紹介パネル（カード個別リンク廃止はユーザー指示）。hover演出を持たせない＝疑似クリックを誘発しない */
.join-card{background:none;border-top:1px solid var(--ink);padding:22px 0 0;
  display:flex;flex-direction:column;text-align:left}
.join-card .tag{font-family:var(--en);font-weight:600;font-size:.66rem;letter-spacing:.34em;color:var(--pink)}
.join-card h3{font-size:clamp(1.05rem,1.9vw,1.25rem);font-weight:900;letter-spacing:.02em;margin-top:12px;line-height:1.7}
@media (min-width:821px){.join-card h3{display:flex;align-items:flex-start;min-height:3.4em}}
.join-card .csub{font-size:.86rem;font-weight:700;line-height:1.9;margin-top:8px;color:var(--pink)}
.join-card p.desc{font-size:.85rem;font-weight:500;line-height:1.85;color:#4A434F;margin-top:22px}
.join-guide{position:relative;z-index:2;text-align:center;margin-top:clamp(36px,5vw,52px);font-size:.95rem;font-weight:500;line-height:2.2}
.join-guide b{display:block;font-size:clamp(1.1rem,2vw,1.3rem);font-weight:900;margin-bottom:4px}
.join-cta{position:relative;z-index:2;display:flex;justify-content:center;margin-top:28px}
/* 行動色=ピンクに統一（最終CVより一回り小さく階層をつける） */
.join-cta a{display:flex;align-items:center;justify-content:space-between;gap:20px;
  width:min(440px,100%);background:var(--pink);color:#fff;padding:24px 32px;
  font-size:1rem;font-weight:900;letter-spacing:.06em;transition:background .25s}
.join-cta a:hover{background:var(--pink-deep)}
.join-cta a .arw{color:#fff;transition:transform .25s}
.join-cta a:hover .arw{transform:translateX(6px)}

/* ============ Recruit / Entry ============ */
.recruit{background:var(--pink);color:#fff}
.recruit-inner{position:relative;z-index:2;text-align:left;display:grid;grid-template-columns:minmax(0,12fr) minmax(0,12fr);gap:clamp(36px,5vw,72px);align-items:stretch} /* v20: 写真列を広げて 4:5 に近づける */
.recruit .rc-photo{position:relative;min-height:420px;overflow:hidden;background:var(--pink-deep);margin:0 calc(-1 * (var(--pad-x) + max(0px, (100vw - var(--w)) / 2))) 0 0} /* v20: 上下のブリードを止め、本文と同じ高さの枠に（右へは従来どおり画面端までブリード） */
.recruit .rc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.recruit .rc-photo::after{content:none} /* v23: 対談写真のスクリーンを沈める帯だった。乾杯の写真では不要 */
.recruit .enh{font-family:var(--en);font-weight:600;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;opacity:.9}
.recruit .jp-lead{font-size:.95rem;font-weight:700;margin-top:16px;letter-spacing:.04em}

.recruit h2{font-family:var(--jp);font-size:clamp(1.55rem,2.8vw,2.3rem);font-weight:900;letter-spacing:-.005em;line-height:1.5;margin:clamp(22px,3vw,34px) 0 26px;text-wrap:wrap}
.recruit .txt{font-size:.93rem;font-weight:500;line-height:2.1;color:rgba(255,255,255,.92);max-width:38em;margin:0}
.recruit .txt strong{color:#fff;font-weight:900}
.recruit .cv-note{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.92);margin:clamp(28px,3.4vw,44px) 0 22px;padding-top:clamp(22px,2.6vw,32px);border-top:1px solid rgba(255,255,255,.35);line-height:2.0;max-width:38em}
.recruit .cv-note b{display:block;color:#fff;font-weight:900;font-size:1.08rem;margin-bottom:2px}
.recruit .btns{display:flex;justify-content:flex-start}
.recruit .btns a.main{display:flex;align-items:center;justify-content:space-between;gap:22px;
  width:100%;background:#fff;color:var(--ink);padding:24px 30px;
  font-size:.98rem;font-weight:900;letter-spacing:.03em;white-space:nowrap;
  transition:background .25s,transform .25s}
.recruit .btns a.main:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}

/* ============ フッター ============ */
.ftr{background:#fff;color:var(--ink-soft);border-top:1px solid var(--line);padding:clamp(48px,7vw,72px) var(--pad-x) 32px}
.ftr-in{max-width:var(--w);margin:0 auto}
.ftr .top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;
  padding-bottom:36px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ftr .logo .logo-img{display:block;height:clamp(22px,2.6vw,28px);width:auto;margin-bottom:6px}
.ftr .logo span{display:block;font-family:var(--en);font-weight:500;font-size:.52rem;letter-spacing:.34em;color:var(--ink-soft);text-transform:uppercase}
.ftr nav{display:flex;flex-wrap:wrap;gap:12px 26px}
@media (min-width:1280px){.ftr nav{flex-wrap:nowrap}}
.ftr nav a{font-size:.82rem;color:var(--ink);display:inline-flex;align-items:center;gap:9px;transition:color .2s}
.ftr nav a:hover{color:var(--pink)}

.ftr nav a.ext{color:var(--pink);font-weight:700}
.ftr nav a.ext::after{content:"↗";margin-left:6px}
.ftr .btm{display:flex;justify-content:space-between;gap:16px;padding-top:22px;font-size:.72rem;color:var(--ink-soft);flex-wrap:wrap}

/* ---- スマホ固定エントリーバー ---- */
.sp-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;transform:translateY(110%);transition:transform .35s var(--ease);
  background:var(--pink);color:#fff;text-align:center;
  padding:14px 14px calc(14px + env(safe-area-inset-bottom));
  font-weight:900;font-size:.92rem;letter-spacing:.08em}
.sp-cta-bar span{font-family:var(--en);margin-left:10px}
body.scrolled-a-bit .sp-cta-bar{transform:none}
body.cv-hide .sp-cta-bar{transform:translateY(110%)} /* v21: Entry 面（同じマゼンタ）に重なる間は隠す。PC の .float-cta と同じ挙動 */

/* ---- PC用フローティングENTRY（FV通過後に出現・終盤の本命CVでは引っ込む） ---- */
.float-cta{position:fixed;right:26px;bottom:26px;z-index:99;display:none;align-items:center;
  background:var(--pink);color:#fff;font-family:var(--en);font-weight:700;
  font-size:.88rem;letter-spacing:.24em;padding:16px 32px;
  transform:skewX(-8deg) translateY(16px);opacity:0;pointer-events:none;
  box-shadow:0 14px 38px rgba(23,20,26,.32);
  transition:opacity .35s var(--ease),transform .35s var(--ease),background .2s}
.float-cta span{display:inline-block;transform:skewX(8deg)}
.float-cta:hover{background:var(--pink-deep)}
body.show-cv .float-cta{opacity:1;transform:skewX(-8deg) translateY(0);pointer-events:auto}
body.cv-hide .float-cta{opacity:0;transform:skewX(-8deg) translateY(12px);pointer-events:none}
@media (min-width:769px){.float-cta{display:inline-flex}}

/* ============ レスポンシブ ============ */
@media (max-width:980px){
  .recruit-inner{grid-template-columns:1fr;gap:32px}
  .recruit .rc-photo{order:-1;align-self:start;width:auto;min-height:0;aspect-ratio:4/3;margin:calc(-1 * var(--sec-y)) calc(-1 * var(--pad-x)) 0}
  .recruit .rc-photo img{object-position:50% 15%} /* v23: SPは4:3。拳と顔が窓に入る位置 */
  .about-grid{grid-template-columns:1fr}
  .ceo-grid{grid-template-columns:1fr}
  .ceo-grid .body{columns:1;max-width:none}
  .ceo-panel .catch{font-size:1.5rem}
  .ceo-photo{position:relative;max-width:420px}
  .ceo-photo .duo{position:relative;aspect-ratio:4/5}
  .biz-row{grid-template-columns:56px 1fr;grid-template-rows:auto auto}
  .biz-row .bd{grid-column:2}
}
@media (max-width:820px){
  .iv-rail{grid-template-columns:1fr;max-width:560px}
  .join-cards{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .book-card{grid-template-columns:1fr}
  .book-cover{margin:8px auto 0;width:min(240px,70%)}
  .book-mock{margin-top:8px}
}
@media (max-width:768px){
  .sp-cta-bar{display:block}
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}
  /* ピンク面×白長文の負荷を下げる: 行間を締め、核の一文を白パネルで引き抜く */
  .workstyle .sec-lead{line-height:2.05}
  .workstyle .sec-lead strong{display:block;margin:8px 0}
}
@media (max-width:560px){
  .ftr .btm{flex-direction:column}
  .ftr nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;width:100%}
}

/* ============ reduced motion ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .fv-m{clip-path:none !important;animation:none !important}
  .fv-g{clip-path:none !important;animation:none !important;transform:skewX(-8deg) !important}
  .fv-g .hl{animation:none !important;background-size:100% 100% !important}
  .rv,.stagger>*,.fv-label,.fv-sub,.fv-cta{
    opacity:1 !important;transform:none !important;transition:none !important;animation:none !important}
    .biz-track{animation:none !important}
  .hdr nav,.hdr nav a.g,.menu-btn span{transition:none !important}
}

/* ============================================================
   下層ページ共通（エントリー／確認／完了／インタビュー記事）
   ============================================================ */
/* ---- 下層ヒーロー ---- */
.page-hero{position:relative;background:var(--pink-pale);color:var(--ink);overflow:hidden;
  padding:calc(var(--hdr-h) + clamp(56px,8vw,96px)) 0 clamp(40px,6vw,72px)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 70% 90% at 90% 10%,rgba(228,0,127,.10) 0%,transparent 60%)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:12px;
  font-family:var(--en);font-weight:600;font-size:.72rem;letter-spacing:.4em;color:var(--pink);text-transform:uppercase}
.page-hero .eyebrow::before{display:none}
.page-hero h1{margin-top:clamp(14px,2vw,22px);font-weight:900;letter-spacing:-.005em;line-height:1.34;
  font-size:clamp(1.5rem,4.2vw,2.65rem)}
.page-hero .lead{margin-top:clamp(16px,2.4vw,26px);max-width:44em;
  font-size:.95rem;font-weight:500;line-height:2.1;color:#3D3642}
.page-hero .lead strong{font-weight:900;color:var(--ink)}
.page-hero .et{display:none}

/* ---- パンくず ---- */
.crumb{background:#fff;border-bottom:1px solid var(--line)}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  padding:14px 0;font-size:.76rem;font-weight:500;color:var(--ink-soft)}
.crumb li{display:flex;align-items:center;gap:10px}
.crumb li+li::before{content:"／";color:#C8B6BF}
.crumb a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.crumb a:hover{color:var(--pink)}
.crumb [aria-current]{font-weight:700;color:var(--ink)}

/* ---- 下層セクション ---- */
section.sub{background:var(--paper);padding:clamp(56px,8vw,96px) 0 clamp(72px,10vw,128px)}
.sub-inner{max-width:820px;margin:0 auto;padding:0 var(--pad-x)}

/* ---- フォーム ---- */
.form{margin-top:clamp(28px,4vw,44px)}
.frow{padding:clamp(22px,3vw,30px) 0;border-top:1px solid var(--line)}
.frow:last-of-type{border-bottom:1px solid var(--line)}
.flabel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;
  font-size:.94rem;font-weight:900;letter-spacing:.02em}
.badge{font-family:var(--en);font-weight:700;font-size:.6rem;letter-spacing:.2em;
  padding:4px 9px;border-radius:2px;transform:skewX(var(--skew))}
.badge span{display:inline-block;transform:skewX(calc(var(--skew) * -1))}
.badge.req{background:var(--pink);color:#fff}
.badge.any{background:#EDE6E9;color:var(--ink-soft)}
.fnote{font-size:.76rem;font-weight:500;color:var(--ink-soft);line-height:1.9;margin-bottom:10px}
.field{width:100%;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--ink);
  background:#FBF7F9;border:1.5px solid var(--line);border-radius:2px;padding:15px 16px;
  transition:border-color .2s,background .2s}
.field::placeholder{color:#B7A9B0}
.field:focus{outline:none;border-color:var(--pink);background:#fff;box-shadow:0 0 0 3px rgba(228,0,127,.14)}
textarea.field{min-height:150px;line-height:2;resize:vertical}
select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 21px) calc(50% + 1px),calc(100% - 16px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:44px}
.radios{display:flex;flex-direction:column;gap:10px}
.radios label{display:flex;align-items:center;gap:11px;font-size:.92rem;font-weight:500;cursor:pointer;
  border:1.5px solid var(--line);background:#FBF7F9;padding:13px 16px;transition:border-color .2s,background .2s}
.radios label:hover{border-color:#D9C6CF;background:#fff}
.radios input{accent-color:var(--pink);width:17px;height:17px;flex-shrink:0}
.radios input:checked+span{font-weight:900}
.radios label:has(input:checked){border-color:var(--pink);background:#fff}

/* ---- 個人情報 ---- */
.privacy{margin-top:clamp(34px,5vw,52px);background:var(--pink-pale);border:1px solid rgba(228,0,127,.13);
  padding:clamp(22px,3.2vw,34px)}
.privacy h2{font-size:1rem;font-weight:900;margin-bottom:14px;letter-spacing:.02em}
.privacy ol{margin:0;padding-left:1.35em;font-size:.83rem;font-weight:500;line-height:2.1;color:#4A434F}
.privacy ol li+li{margin-top:.6em}
.privacy a{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.agree{margin-top:clamp(24px,3.4vw,34px);text-align:center}
.agree label{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;font-weight:900;cursor:pointer}
.agree input{accent-color:var(--pink);width:19px;height:19px}
.agree .note{margin-top:12px;font-size:.78rem;font-weight:500;color:var(--ink-soft)}

/* ---- 送信ボタン群 ---- */
.actions{margin-top:clamp(30px,4.5vw,46px);display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;
  min-width:min(360px,100%);padding:22px 30px;font-size:1rem;font-weight:900;letter-spacing:.03em;
  border:2px solid var(--ink);transition:background .25s,color .25s,transform .25s}
.btn .ar{font-family:var(--en);font-weight:700}
.btn.primary{background:var(--pink);border-color:var(--pink);color:#fff}
.btn.primary:hover{background:var(--pink-deep);border-color:var(--pink-deep);transform:translateY(-3px)}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}

/* ---- 確認画面 ---- */
.cf-list{margin-top:clamp(28px,4vw,44px);border-top:2px solid var(--ink)}
.cf-row{display:grid;grid-template-columns:200px 1fr;gap:clamp(16px,3vw,36px);
  padding:clamp(18px,2.6vw,24px) clamp(6px,1.4vw,16px);border-bottom:1px solid var(--line)}
.cf-row dt{font-size:.86rem;font-weight:900;letter-spacing:.02em;color:var(--ink)}
.cf-row dd{font-size:.95rem;font-weight:500;line-height:2.05;color:#3B343F;word-break:break-word}

/* ---- 完了画面 ---- */
.done{text-align:center}
.done .mark{width:clamp(72px,10vw,96px);height:clamp(72px,10vw,96px);margin:0 auto clamp(24px,3.4vw,34px);
  border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;
  box-shadow:0 18px 44px -20px rgba(228,0,127,.6)}
.done h2{font-size:clamp(1.3rem,3.2vw,1.95rem);font-weight:900;line-height:1.6;letter-spacing:.01em}
.done .lead{margin-top:clamp(18px,2.6vw,26px);font-size:.95rem;font-weight:500;line-height:2.3;color:#3B343F}
.note-box{margin-top:clamp(38px,5vw,58px);text-align:left;border:1.5px solid var(--line);padding:clamp(22px,3.2vw,32px)}
.note-box h3{font-size:.95rem;font-weight:900;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.note-box h3::before{display:none}
.note-box p{font-size:.85rem;font-weight:500;line-height:2.1;color:#4A434F}
.note-box p+p{margin-top:1em}
.note-box a{color:var(--pink);font-weight:900;text-decoration:underline;text-underline-offset:3px}

/* ---- インタビュー記事 ---- */
.iv-hero{position:relative;background:#25101C;color:#fff;overflow:hidden;
  padding:calc(var(--hdr-h) + clamp(40px,6vw,72px)) 0 0}
.iv-hero .bg{position:absolute;inset:0;z-index:0}
.iv-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 50%;
  filter:grayscale(.16) contrast(1.03) brightness(.9);opacity:.5}
.iv-hero .bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 90% 80% at 80% 14%,rgba(228,0,127,.34) 0%,transparent 60%),
    linear-gradient(180deg,rgba(30,12,22,.72) 0%,rgba(30,12,22,.5) 40%,rgba(26,10,20,.92) 100%)}
.iv-hero .wrap{position:relative;z-index:2;padding-bottom:clamp(40px,6vw,72px)}
.iv-hero .no{display:inline-flex;align-items:center;gap:12px;
  font-family:var(--en);font-weight:700;font-size:.72rem;letter-spacing:.4em;color:#fff;text-transform:uppercase;
  text-shadow:0 1px 12px rgba(26,8,18,.7)}
.iv-hero .no::before{display:none}
.iv-hero h1{margin-top:14px;font-weight:900;line-height:1.42;letter-spacing:-.005em;
  font-size:clamp(1.45rem,4vw,2.6rem)}
.iv-hero .who{margin-top:clamp(22px,3.2vw,32px);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.iv-hero .who .nm{font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:900;letter-spacing:.04em}
.iv-hero .who .rm{font-family:var(--en);font-weight:600;font-size:.68rem;letter-spacing:.24em;color:var(--pink);text-transform:uppercase}
.iv-hero .role{margin-top:8px;font-size:.8rem;font-weight:500;line-height:2;color:rgba(255,255,255,.8)}
.iv-body{max-width:760px;margin:0 auto;padding:0 var(--pad-x)}
.qa{border-top:1px solid var(--line);padding:clamp(34px,5vw,54px) 0}
.qa:first-of-type{border-top:0;padding-top:clamp(20px,3vw,32px)}
.qa .q{display:flex;gap:clamp(12px,2vw,20px);align-items:flex-start;
  font-size:clamp(1.02rem,2.1vw,1.3rem);font-weight:900;line-height:1.85;letter-spacing:.01em}
.qa .q::before{content:"Q";flex-shrink:0;font-family:var(--en);font-weight:700;font-style:italic;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;color:var(--pink)}
.qa .a{margin-top:clamp(16px,2.4vw,22px);font-size:.95rem;font-weight:500;line-height:2.0;color:#3B343F}
.qa .a p+p{margin-top:1.7em}
.qa .a strong{font-weight:900;color:var(--ink)}
.qa .a .pull{display:block;margin:1.5em 0;padding-left:clamp(14px,2vw,20px);border-left:4px solid var(--pink);
  font-size:1.08em;font-weight:900;line-height:2;color:var(--ink)}
.iv-foot{margin-top:clamp(48px,7vw,80px);padding-top:clamp(34px,5vw,52px);border-top:2px solid var(--ink);text-align:center}
.iv-foot p{font-size:.95rem;font-weight:900;line-height:2}

/* ---- 準備中（インタビュー02） ---- */
.soon-box{text-align:center;max-width:640px;margin:0 auto}
.soon-box .tag{display:inline-block;font-family:var(--en);font-weight:700;font-size:.66rem;letter-spacing:.32em;
  background:var(--pink);color:#fff;padding:9px 20px;transform:skewX(var(--skew))}
.soon-box .tag span{display:inline-block;transform:skewX(calc(var(--skew) * -1))}
.soon-box h2{margin-top:clamp(24px,3.4vw,34px);font-size:clamp(1.25rem,3vw,1.85rem);font-weight:900;line-height:1.7}
.soon-box p{margin-top:clamp(18px,2.6vw,26px);font-size:.95rem;font-weight:500;line-height:2.3;color:#3B343F}

@media (max-width:640px){
  .cf-row{grid-template-columns:1fr;gap:8px}
  .btn{min-width:100%}
  .page-hero .et{display:none}
}

/* ============================================================
   社員インタビュー：ポップアップ（<dialog>）
   ============================================================ */
.iv-modal{width:min(100% - 2*var(--pad-x),880px);max-height:calc(100dvh - 48px);margin:auto;
  border:0;padding:0;background:#fff;color:var(--ink);overflow:hidden;
  box-shadow:0 40px 120px rgba(20,4,12,.5)}
.iv-modal::backdrop{background:rgba(24,6,16,.78);backdrop-filter:blur(3px)}
.iv-modal[open]{animation:ivm-in .4s var(--ease)}
@keyframes ivm-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.ivm-scroll{position:relative;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ivm-close{position:absolute;right:16px;top:16px;z-index:6;width:46px;height:46px;border:0;cursor:pointer;
  background:var(--pink);color:#fff;transform:skewX(var(--skew));transition:background .2s}
.ivm-close:hover{background:var(--pink-deep)}
.ivm-close span{position:absolute;left:13px;top:22px;width:20px;height:2px;background:#fff}
.ivm-close span:nth-child(1){transform:rotate(45deg)}
.ivm-close span:nth-child(2){transform:rotate(-45deg)}
.ivm-hero{position:relative;background:var(--pink-pale);color:var(--ink);overflow:hidden;padding:clamp(56px,7vw,72px) clamp(22px,5vw,56px) clamp(32px,5vw,44px);display:grid;grid-template-columns:1fr 200px;gap:clamp(24px,4vw,48px);align-items:center}
.ivm-hero .bg{position:relative;order:2;width:200px;height:200px;overflow:hidden}
.ivm-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 55% !important;transform:none !important;filter:none;opacity:1}
.ivm-hero .bg::after{display:none}
.ivm-hero-in{position:relative;z-index:2;padding:0}
.ivm-hero .no{display:inline-flex;align-items:center;gap:12px;font-family:var(--en);font-weight:700;font-size:.72rem;letter-spacing:.4em;color:var(--pink);text-transform:uppercase}
.ivm-hero .no::before{display:none}
.ivm-hero h2{margin-top:14px;font-weight:900;line-height:1.5;letter-spacing:-.005em;font-size:clamp(1.15rem,2.2vw,1.5rem);max-width:24em}
.ivm-hero .who{margin-top:clamp(18px,3vw,28px);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.ivm-hero .who .nm{font-size:clamp(1.1rem,2.2vw,1.35rem);font-weight:900;letter-spacing:.04em}
.ivm-hero .who .rm{font-family:var(--en);font-weight:600;font-size:.66rem;letter-spacing:.24em;color:var(--pink);text-transform:uppercase}
.ivm-hero .role{margin-top:6px;font-size:.8rem;font-weight:500;line-height:2;color:var(--ink-soft)}
.ivm-body{padding:clamp(8px,2vw,20px) clamp(22px,5vw,56px) clamp(40px,6vw,64px);max-width:calc(38em + 2*clamp(22px,5vw,56px));margin:0 auto}
.ivm-body .qa{padding:clamp(28px,4vw,42px) 0}
.ivm-body .qa:first-of-type{border-top:0;padding-top:clamp(16px,3vw,28px)}
.ivm-body .qa .q{font-size:clamp(1rem,1.9vw,1.2rem)}
.ivm-body .qa .a{font-size:.93rem;line-height:2.3}
.ivm-body .iv-foot{margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px)}
.ivm-body .soon-box{padding-top:clamp(24px,4vw,40px)}
.ivm-body .soon-box a{color:var(--pink);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.ivm-body .soon-box h3{margin-top:clamp(24px,3.4vw,34px);font-size:clamp(1.2rem,2.8vw,1.7rem);font-weight:900;line-height:1.7}
.ivm-body .btn.ghost{cursor:pointer;font-family:inherit}
html:has(dialog[open]),body.modal-open{overflow:hidden}
@media (max-width:640px){
  .iv-modal{width:100%;max-height:100dvh;margin:0}
  .ivm-scroll{max-height:100dvh}
  .iv-modal[open]{animation:ivm-in-sp .4s var(--ease)}
  @keyframes ivm-in-sp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .ivm-body .actions .btn{min-width:100%}
  .ivm-hero{grid-template-columns:1fr;padding-top:72px}
  .ivm-hero .bg{order:-1;width:120px;height:120px}
  .recruit .btns a.main,.join-cta a{font-size:.9rem;padding:20px 22px}
  .recruit-inner{grid-template-columns:1fr;gap:28px}
  .recruit .rc-photo{order:-1;min-height:0;aspect-ratio:16/10}
}
@media (prefers-reduced-motion: reduce){.iv-modal[open]{animation:none}}


/* ===== v21（2026-09-07）タイポグラフィ／仕上げの精度（批評反映。構造は変えない） ===== */
body{text-spacing-trim:trim-start}
.sec-lead strong,.sec-catch strong,.manifesto strong,.about-grid strong,.iv-meta .lead strong,.ceo-grid .body strong,.recruit .txt strong,.fv-sub strong,.page-hero .lead strong,.qa .a strong{font-weight:700} /* 900 は見出し級だけに */
.sec-catch{font-weight:700}
.biz-row .bd b,.career-map .pcard b,.tl .bd b,.join-card .csub{font-weight:700}
.about .enh,.interview .enh,.ceo .enh,.books .enh,.iv-meta .rm{color:var(--pink-deep)} /* ペールピンク面上の小さなピンク文字＝4.1:1 → 濃色で AA */
.recruit .txt,.recruit .cv-note{color:#fff}
.recruit .txt{line-height:1.95}
.fv-sub,.sec-lead,.manifesto .q,.iv-meta .lead,.book-card p,.join-guide{word-break:auto-phrase} /* 短いリードの文節割れ対策 */
.tl .bd{max-width:36em}
.book-card p{max-width:36em}
.ceo-grid .body{max-width:38em}
.about-grid h3{line-height:1.6}
.iv-card .catch{line-height:1.65}
.tl .bd b{line-height:1.7;text-wrap:balance}
.career-map .pcard b{text-wrap:balance}
@media (min-width:1280px){.join-card h3{min-height:0}}
.join-card .tag,.career-map .pcard .tag{font-size:.72rem;letter-spacing:.3em}
.book-card .no{letter-spacing:.2em}
.iv-card .open,.iv-card .soon{font-size:.66rem}
/* 斜体角度を「図形＝--skew(-11°)／文字＝-8°」の2値に */
.btn-entry{letter-spacing:.24em;transform:skewX(var(--skew))} .btn-entry span{transform:skewX(11deg)}
.iv-card .open,.iv-card .soon{transform:skewX(var(--skew))} .iv-card .open span,.iv-card .soon span{transform:skewX(11deg)}
.float-cta{transform:skewX(var(--skew)) translateY(16px)} .float-cta span{transform:skewX(11deg)}
body.show-cv .float-cta{transform:skewX(var(--skew)) translateY(0)}
body.cv-hide .float-cta{transform:skewX(var(--skew)) translateY(12px)}
.fv-g .hl{padding:0 .12em .09em .1em;margin-right:.03em;text-shadow:none} /* 「挑んだ」面と「ことが」の隙間を詰める。v25: h1の影が面の上に描画されて #E4007F が RGB(200,0,112) に濁っていたので面の中だけ影を切る */
.ftr .logo span{font-size:.62rem;letter-spacing:.3em}
.ftr .btm span:first-child{font-size:.78rem}
@media (max-width:768px){
  .workstyle .sec-lead strong + br{display:none} /* strong を block にした直後の br で空行が出ていた */
  .fv-g{transform:skewX(-8deg)}
  .sec-head .jp{font-size:clamp(1.65rem,2.9vw,2.3rem)}
}
@media (max-width:820px){.join-intro .sec-catch br{display:inline}} /* 意図した改行位置を SP でも生かす */


/* ===== v26（2026-09-30）先方支給写真の反映 ＋ ライトMV（白壁×墨文字。依頼書 型03 で先方にお願いした構図） ===== */
.fv.light{background:#fff;color:var(--ink)}
.fv.light .fv-photo img{filter:contrast(1.02) saturate(1.02) brightness(var(--b,1))}
.fv.light .fv-photo picture{position:absolute;inset:0;display:block}
.fv.light .fv-photo picture:nth-child(1) img{animation-delay:0s,0s}   /* v26.1: 2枚ローテ（<picture> 包みなので nth-child は picture 側で数える） */
.fv.light .fv-photo picture:nth-child(2) img{animation-delay:12s,12s}
@media (prefers-reduced-motion: reduce){.fv.light .fv-photo picture:nth-child(1) img{opacity:1}}
.fv.light .fv-photo .imgs::after{background:
  linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.9) 14%,rgba(255,255,255,.45) 28%,rgba(255,255,255,0) 40%), /* 批評反映: 左の延長部を白へつなぐ直線1本（膜を掛けない） */
  radial-gradient(ellipse 60% 46% at 20% 84%,rgba(255,255,255,.55) 0%,rgba(255,255,255,.25) 50%,rgba(255,255,255,0) 100%)} /* サブコピーの足元だけ薄く */
.fv.light h1,.fv.light .fv-m{color:var(--ink);text-shadow:none}
.fv.light .fv-g .hl{color:#fff}
.fv.light .fv-sub{color:var(--ink);text-shadow:none}
.fv.light .fv-sub strong{color:var(--ink)}
.fv.light .fv-bottom{justify-content:flex-start;gap:clamp(32px,4vw,64px)} /* 批評反映: ENTRY を組んだ腕の上から外し、コピー群の右隣（壁の上）へ */
.fv.light .fv-cta:hover{background:var(--ink);color:#fff}
body.home.light-fv .hdr:not(.scrolled) nav a.g{color:var(--ink);text-shadow:none}
body.home.light-fv .hdr:not(.scrolled) .logo .logo-img{filter:none}
body.home.light-fv .hdr:not(.scrolled) .logo span{color:var(--ink-soft)}
body.home.light-fv .hdr:not(.scrolled) .menu-btn{color:var(--ink)}
body.home.light-fv .hdr:not(.scrolled) .btn-entry{background:var(--pink);color:#fff}
body.home.light-fv .hdr:not(.scrolled) .btn-entry:hover{background:var(--ink);color:#fff}
@media (max-width:1100px){
  .fv.light .fv-g{font-size:clamp(40px,8vw,160px)} /* 批評反映: 1024 で「が」が襟に掛かるので一段小さく */
  .fv.light .fv-photo .imgs::after{background:
    linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.92) 16%,rgba(255,255,255,.5) 32%,rgba(255,255,255,0) 46%),
    radial-gradient(ellipse 66% 50% at 18% 84%,rgba(255,255,255,.6) 0%,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%)}
}
@media (max-width:768px){
  .fv.light .fv-photo picture img{--tx:0 !important;--ty:0 !important;--z:1 !important;object-position:70% 0% !important} /* 縦位置の専用画像（拡大なし）。顔は上部・幅の半分程度 */
  .fv.light .fv-photo picture:nth-child(2) img{object-position:50% 0% !important} /* 活動報告会（SP用 3:4 切り出し・足元の白は焼き込み済み） */
  .fv.light .fv-photo .imgs::after{background:
    linear-gradient(0deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.95) 34%,rgba(255,255,255,.7) 45%,rgba(255,255,255,.35) 53%,rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(255,255,255,.35) 0px,rgba(255,255,255,0) 80px)}
}
.ws-photo .duo{aspect-ratio:4/3} /* v26: 支給写真（受付準備の2人）は 4:3 で2人とも入れる。批評反映 */
@media (max-width:980px){
  .ws-photo{max-width:560px} /* v26: 支給写真は 1000px 級なので上限を戻す */
  .recruit .rc-photo img{object-position:50% 72%} /* v26: 集合写真は横断幕（下寄り）を窓に */
}

/* ===== v26.1（2026-09-30）琴屋さんFB: エントリー面の写真は「最前列全員＋横断幕」＝2.2:1 → PCも写真を全幅の帯にして本文の上へ ===== */
@media (min-width:981px){
  .recruit-inner{grid-template-columns:1fr;gap:clamp(40px,4.5vw,64px)}
  .recruit .rc-photo{order:-1;min-height:0;aspect-ratio:auto;height:calc(100vw / 2.2);max-height:none;margin:calc(-1 * var(--sec-y)) calc(-1 * (var(--pad-x) + max(0px,(100vw - var(--w)) / 2))) 0} /* v26.2: 幅いっぱい・写真を切らない高さ（aspect-ratio＋max-height だと幅が高さから逆算されて右が欠けた） */
  .recruit .rc-photo img{object-position:50% 100%} /* 横断幕と最前列を必ず窓に（切れるのは上の客席側） */
  /* (v26.6 で下の新ブロックに置き換え) */
}
@media (max-width:980px){
  .recruit .rc-photo{aspect-ratio:2.2/1} /* v26.1: SPも帯（全員が入る比率） */
  .recruit .rc-photo img{object-position:50% 100%}
}

/* ===== v26.6（2026-09-30）エントリー面の本文レイアウト: 孤立行・右カラムの浮きを解消 ===== */
.recruit .txt+.txt{margin-top:1.2em}                         /* 1文ずつ詰めず、意味の段落で分ける */
.recruit .txt,.recruit .cv-note{word-break:auto-phrase;text-wrap:pretty}
.recruit .rc-cta .btns{margin-top:0}
@media (min-width:1101px){
  .recruit .rc-l{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);column-gap:clamp(56px,7vw,112px);align-items:end}
  .recruit .rc-l>*:not(.rc-cta){grid-column:1}
  .recruit .rc-cta{grid-column:2;grid-row:1/span 7;align-self:end}   /* 案内文＋ボタンを1かたまりにし、左の本文と下端を揃える */
  .recruit .rc-cta .cv-note{margin:0 0 28px;padding:0 0 0 20px;border-top:0;border-left:1px solid rgba(255,255,255,.4)}   /* 宙に浮く上罫をやめ、左罫で本文と区切る */
  .recruit .rc-cta .btns a.main{padding:22px 26px}
}
@media (max-width:1100px){
  .recruit .rc-cta{margin-top:clamp(32px,5vw,44px);max-width:560px}   /* 区切り線・案内文・ボタンの幅を揃える */
  .recruit .rc-cta .cv-note{max-width:none}
  .recruit .rc-cta .cv-note{margin:0 0 22px}
}

/* 確認画面：送信エラー */
.send-err{margin:20px auto 0;max-width:560px;padding:14px 18px;border-left:3px solid var(--pink);background:var(--pink-pale);font-size:.9rem;font-weight:500;line-height:1.9;color:var(--ink)}
.send-err a{color:var(--pink);font-weight:900;text-decoration:underline;text-underline-offset:3px}

/* 確認画面：戻るボタン（矢印を左向き・文字の手前に） */
.btn.back{justify-content:flex-start;gap:14px}
.btn.back .ar{display:inline-block;transform:scaleX(-1)}

/* 2026-10-02 本文の文節割れ対策（Chrome/Edge は文節単位で改行。Safari は従来どおり） */
p,li,dd,.ftr .btm span{word-break:auto-phrase}
/* 2026-10-02 スライダーの事業名：狭い幅は字間を詰めて1行に。収まらないときは文節で折り返す */
.bs-item .cap{word-break:auto-phrase}
@media (max-width:1100px){.bs-item .cap{letter-spacing:.05em;padding:6px 10px}.bs-item .cap b{margin-right:6px}}
