/* v23（2026-08-09 恒久方針適用） */
/* 旧ルール（#positioning-grid 2列化・.ghost-list数字チップ）は該当マークアップ廃止に伴い削除 */

/* ---- CAREER: 年表バー（本文の数字だけを大きく見せる3分割ストリップ・1px罫線区切り） ---- */
.career-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; }
.career-stats .cs { padding: 6px 28px 2px; display: flex; flex-direction: column; justify-content: flex-end; }
.career-stats .cs:first-child { padding-left: 0; }
.career-stats .cs + .cs { border-left: 1px solid var(--kg-line); }
.cs-v { font-family: var(--font-num); font-size: clamp(42px, 4.6vw, 60px); font-weight: 600; color: var(--kg-blue); line-height: 1.15; display: flex; align-items: baseline; flex-wrap: wrap; }
.cs-v small { font-family: var(--font-jp); font-size: .32em; font-weight: 700; margin-left: 8px; letter-spacing: .06em; }
.cs-v small.en { font-family: var(--font-num); letter-spacing: .16em; }
.cs-from { font-family: var(--font-jp); font-size: 15px; font-weight: 700; color: var(--kg-body); letter-spacing: .03em; }
.cs-arw { font-family: var(--font-num); font-size: 22px; font-weight: 400; color: var(--kg-blue2); margin: 0 12px; }
.cs-l { font-size: 13.5px; color: var(--kg-body); margin-top: 12px; letter-spacing: .04em; }

/* ---- CAREER: 本文2列＋担当業務リスト（カード解除→整列する行） ---- */
.career-cols { align-items: start; }
.duty-rows { list-style: none; margin: 0; padding: 0; }
.duty-rows li { padding: 11px 2px; border-top: 1px solid var(--kg-line); font-size: 14.5px; line-height: 1.95; }
.duty-rows li:first-child { border-top: none; padding-top: 0; }

/* ---- POSITIONING: キャッチを特大コピーに・カード解除→罫線2列 ---- */
.sec-h--mega { font-size: clamp(30px, 4.3vw, 52px); line-height: 1.6; letter-spacing: .03em; }
.pos-duo { display: grid; grid-template-columns: 1fr 1fr; margin-top: 64px; }
.pos-item { padding: 0 44px; }
.pos-item:first-child { padding-left: 0; }
.pos-item + .pos-item { border-left: 1px solid var(--kg-line); }
.pos-t { font-size: 18.5px; font-weight: 700; color: var(--kg-ink); line-height: 1.75; }
.pos-d { font-size: 14.5px; margin-top: 14px; line-height: 1.95; }

/* ---- PROMISE: 番号＋大きな1行見出し＋下罫線＋本文の3行組（カード全廃） ---- */
.promise-rows { max-width: 860px; margin-top: 72px; }
.pm + .pm { margin-top: 64px; }
.pm-head { display: flex; align-items: baseline; gap: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--kg-line); }
.pm-no { font-family: var(--font-num); font-size: 30px; font-weight: 600; color: var(--kg-blue2); line-height: 1; flex: 0 0 auto; }
.pm-t { font-size: clamp(19px, 2.1vw, 23px); font-weight: 700; color: var(--kg-ink); line-height: 1.7; margin: 0; text-wrap: balance; }
.pm-d { font-size: 15px; margin-top: 18px; line-height: 1.95; max-width: 52em; }

/* ---- SP ---- */
@media (max-width: 749px) {
  .career-stats { grid-template-columns: 1fr; margin-top: 44px; }
  .career-stats .cs { padding: 20px 0; }
  .career-stats .cs:first-child { padding-top: 0; }
  .career-stats .cs + .cs { border-left: none; border-top: 1px solid var(--kg-line); }
  .cs-l { margin-top: 8px; }
  .pos-duo { grid-template-columns: 1fr; margin-top: 44px; }
  .pos-item { padding: 26px 0; }
  .pos-item:first-child { padding-top: 0; }
  .pos-item:last-child { padding-bottom: 0; }
  .pos-item + .pos-item { border-left: none; border-top: 1px solid var(--kg-line); }
  .promise-rows { margin-top: 48px; }
  .pm + .pm { margin-top: 44px; }
  .pm-head { gap: 14px; padding-bottom: 12px; }
  .pm-no { font-size: 22px; }
  .pm-d { margin-top: 14px; }
}

/* v25（2026-08-10 さき指示）: タブレット帯（750〜1023px） */
@media (min-width: 750px) and (max-width: 1023px) {
  /* CAREER本文2列（.cols継承）のgap縮小は mono.css のタブレット帯が担当（80px→44px）。
     ここで上書きすると house値と二重管理になるため触らない */

  /* POSITIONING罫線2列: 2列のまま。左右44pxの内側余白＝実効ギャップ88pxを
     28px（実効56px）に詰めて、右列の長文が縦長に痩せるのを防ぐ */
  .pos-duo { margin-top: 52px; }
  .pos-item { padding: 0 28px; }

  /* PROMISE: 章内の呼吸をPCの64pxから少し詰める（見出し→本文の近接は維持） */
  .promise-rows { margin-top: 56px; }
  .pm + .pm { margin-top: 52px; }
}

/* 同帯の狭い側だけ列を落とす。実測（2026-08-10）: 3列のままだと3つ目の
   「100点未満→1万点超」が829px以下で2行に折り返す。830px以上は1行に収まるため
   PCの3列を維持し、帯の上端で逆に間延びするのを避ける */
@media (min-width: 750px) and (max-width: 859px) {
  /* CAREER年表バー: 上段2列＋下段1つを全幅に置く「2＋1」構成。
     一番横幅を食う3つ目に全幅を与え、区切りは縦罫→下段だけ横罫に切り替える */
  .career-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 48px; }
  .career-stats .cs { padding: 6px 24px 2px; }
  .career-stats .cs:nth-child(3) {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid var(--kg-line);
    margin-top: 26px;
    padding: 22px 0 2px;
  }
}


/* ============================================================
   v31（2026-08-11 第2次レビュー対応）会社案内
   ① POSITIONING のリード文が文章だけで硬い → 右に小さな補助図をCSSで描く
   ② PROMISE の 01/02/03・タイトル・本文の階層を強くする
   ③ 概要表のSP縦長を圧縮（項目名幅の固定・行間と上下paddingの圧縮）
   文言・リンクは未変更。色はサイトパレット内のみ（#fff と既存の青系rgbaシャドウを除く）
   ============================================================ */

/* ---- ① POSITIONING: リード文＋補助図（社内 ⇄ 外部のEC担当）---- */
/* 図は装飾（aria-hidden）。ph-motif と同じ語彙＝白い角丸パネル・細線・青ドットで描く */
.pos-intro { margin-top: 24px; }
.pos-intro .sec-p { margin-top: 0; }

.pos-fig { display: flex; align-items: center; width: 282px; }

.pf-card {
  flex: 0 0 auto;
  width: 112px;
  height: 96px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--kg-line);
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 左＝社内（控えめ）／右＝ミューコマース（主役ブルー） */
.pf-card--in { color: var(--kg-quiet); }
.pf-card--out {
  color: var(--kg-blue);
  border: 1.5px solid var(--kg-blue);
  box-shadow: 0 12px 30px rgba(22, 104, 220, .10);
}

/* 人のピクト（頭＋肩） */
.pf-ppl { display: flex; align-items: flex-end; gap: 11px; }
.pf-ppl i { position: relative; display: block; width: 22px; height: 31px; }
.pf-ppl i::before {
  content: "";
  position: absolute; left: 50%; top: 0;
  width: 13px; height: 13px; margin-left: -6.5px;
  border-radius: 50%;
  background: currentColor;
}
.pf-ppl i::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 22px; height: 15px;
  border-radius: 11px 11px 4px 4px;
  background: currentColor;
}

/* 双方向の線（ph-flow と同じく細線＋青ドット。矢羽は両端） */
.pf-link { position: relative; flex: 0 0 auto; width: 58px; height: 96px; }
.pf-link::before {
  content: "";
  position: absolute; left: 6px; right: 6px; top: 50%;
  height: 1px; margin-top: -.5px;
  background: rgba(22, 104, 220, .28); /* ph-flow の線と同値 */
}
.pf-link::after {
  content: "";
  position: absolute; left: 50%; top: 50%;
  width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px;
  border-radius: 50%;
  background: var(--kg-blue);
}
.pf-link i {
  position: absolute; top: 50%;
  width: 8px; height: 8px;
  border-top: 1.6px solid var(--kg-blue2);
  border-right: 1.6px solid var(--kg-blue2);
}
.pf-link i:first-child { right: 5px; transform: translateY(-50%) rotate(45deg); }
.pf-link i:last-child { left: 5px; transform: translateY(-50%) rotate(-135deg); }

@media (min-width: 750px) {
  /* 文章の右の余白に図を置く。縦は増やさない */
  .pos-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 48px;
  }
}
@media (min-width: 750px) and (max-width: 1023px) {
  /* 本文の1行文字数を確保するため図を一段小さく */
  .pos-intro { column-gap: 32px; }
  .pos-fig { width: 252px; }
  .pf-card { width: 100px; height: 88px; }
  .pf-link { width: 52px; height: 88px; }
}
@media (max-width: 749px) {
  .pos-fig { margin: 30px auto 0; }
}

/* ---- ② PROMISE: 番号は据え置き・タイトルを太く大きく・本文は一段落として字下げ ---- */
.pm-t { font-size: clamp(19px, 2.2vw, 24px); font-weight: 800; letter-spacing: .01em; line-height: 1.65; }
.pm-d { font-size: 14.5px; line-height: 1.9; margin-top: 16px; }
@media (min-width: 750px) {
  /* 番号の列（30px幅＋gap22px）をそのまま余白の柱にして、本文をタイトルの頭に揃える */
  .pm-d { padding-left: 60px; max-width: 46em; }
}
@media (max-width: 749px) {
  .pm-t { font-size: 19.5px; line-height: 1.6; }
  .pm-d { margin-top: 13px; }
}

/* ---- ③ 概要表: SPの縦長を圧縮 ---- */
@media (max-width: 749px) {
  .tb { table-layout: fixed; margin-top: 36px; }
  .tb th {
    width: 96px;
    font-size: 12.5px;
    line-height: 1.7;
    padding: 12px 10px 12px 14px;
    letter-spacing: .04em;
  }
  /* overflow-wrap は指定しない（anywhere だと「BtoB」が行末で分断される・実測 2026-08-11） */
  .tb td {
    font-size: 14px;
    line-height: 1.8;
    padding: 12px 4px 12px 14px;
  }
}
