/**
 * グローバルネットワーク — Figma MF_Web Global Network
 * 1440 固定値は global-page-1440.css
 */

.global-page {
  --global-inner: min(100%, 77.5rem); /* Figma 1240px コンテンツ */
  --global-body-muted: var(--ink-500);
  --fs-global-teams-line: clamp(2.75rem, calc(1.5rem + 5.2vw), 4.5rem);
  --global-teams-line-gap: 0.3125rem;
}

/* グローバル変数フォールバック (継承漏れ対策) */
:root {
  --global-inner: min(100%, 77.5rem);
  --fs-global-teams-line: clamp(2.75rem, calc(1.5rem + 5.2vw), 4.5rem);
  --global-teams-line-gap: 0.3125rem;
}

/* ----- PageHero（理念・沿革・会社と同型 377.5px） ----- */
.page-hero--global .page-hero__overlay-v {
  background: linear-gradient(
    0deg,
    rgba(13, 13, 26, 0.7),
    rgba(0, 0, 0, 0) 50%,
    rgba(13, 13, 26, 0.2)
  );
}

.page-hero--global .page-hero__overlay-h {
  background: linear-gradient(
    90deg,
    rgba(13, 13, 26, 0.4),
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 0)
  );
}

.page-hero--global .page-hero__bottom-rule {
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--brand-accent-yellow) 50%, transparent) 50%,
    transparent
  );
}

.page-hero--global .page-hero__media-img--global {
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 48%; /* [Excel row37] クロップを下げ建物正面を見せる */
}

/* [row36] 1024px+ ヒーロー位置調整:
   旧来の負top・幅106%・height clampによる特殊クロップを廃止。
   基本ルール（inset:0 / width:100% / height:100% / object-position:center 58%）に
   フォールバックし、理念・沿革・会社ページと同型の収まりに統一する。 */

/* ----- サプライチェーン（Figma .supplychainsection） ----- */
.supply-chain-section--global {
  padding-top: var(--space-24);
  padding-bottom: var(--space-24);
  padding-left: var(--space-6);  /* ← 追加：React と同じ左右24px（<1024に適用） */
  padding-right: var(--space-6);
}

.supply-chain-section--global .supply-chain-section__inner {
  max-width: var(--global-inner);
  margin-left: auto;
  margin-right: auto;
  display: flex;        /* ヘッダーとステップを flex アイテム化＝重なり不可 */
  flex-direction: column;
  gap: 7rem;            /* 112px — Figma .supplychainsection gap（ヘッダー〜ステップ） */
}

/* gap で間隔を取るため、ヘッダーの margin-bottom は打ち消す */
.supply-chain-section--global .supply-chain-section__header {
  margin-bottom: 0;
}

.supply-chain-section__eyebrow {
  margin: 0 0 var(--space-8);
  padding: 0 var(--space-1);
  font-family: var(--font-en);
  font-size: 13px; /* React .supply-chain = 13px */
  font-weight: 900;
  line-height: 16.5px;
  letter-spacing: 0.171875rem;
  text-transform: uppercase;
  color: var(--brand-primary);
}

/* Figma .heading-2 — 装飾下線なし（h2-section は使わない） */
.supply-chain-section__title {
  margin: 0 0 var(--space-6);
  padding-bottom: 0;
  font-family: var(--font-jp);
  font-size: clamp(1.5rem, calc(1.5rem + 0.5vw), 2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--ink-900);
}

.supply-chain-section__title::after {
  display: none;
}

.supply-chain-section--global .supply-chain-section__header .body {
  max-width: 36rem;
}

.supply-chain-section {
  --supply-chain-node-size: 4rem; /* 64px · 01–04 バッジ */
}

.supply-chain-section__timeline {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  /* バッジ円の水平中心（Tailwind left-[23px] はずれのため CSS で統一） */
  left: calc(var(--supply-chain-node-size) / 2 - 0.5px);
  background-color: var(--line-border);
}

.supply-chain-section__timeline--global {
  background-color: var(--line-border);
}

.supply-chain-section__step-node-wrap {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  align-self: flex-start;   /* 行の高さに伸ばさず上端へ固定（Figma .container9 top:4px） */
  margin-top: 4px;          /* Figma: ノードは行上端から 4px */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: var(--supply-chain-node-size);
}

/* ステップ本文（テキスト+写真）を Figma .container6 の 996px に制限。
   これが無いと広い画面でテキスト列が伸び、写真だけ右端へ流れる（崩れの原因） */
.supply-chain-section--global .supply-chain-section__step-node-wrap + div {
  max-width: 996px;
}

.supply-chain-section__step-node {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--supply-chain-node-size);
  height: var(--supply-chain-node-size);
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid color-mix(in srgb, var(--brand-primary) 9%, transparent);
  box-sizing: border-box;
}

/* Figma .div2 / .div6 — 01〜04 バッジ内 */
.supply-chain-section__step-num {
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 900;
  line-height: 30px;
  letter-spacing: -0.03em; /* Figma -0.6px @ 20px */
  color: var(--brand-primary); /* Figma: 全番号 #283594 で統一（per-accent廃止） */
}

/* Figma .collect — COLLECT / SORT & PACK / PROCESS / DELIVER */
.supply-chain-section__step-label-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-2);
}

.supply-chain-section__step-en {
  margin: 0;
  font-family: var(--font-en);
  font-size: 13px; /* React .collect = 13px */
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 1.44px; /* React .collect */
  text-transform: uppercase;
  color: var(--brand-primary);
}

.supply-chain-section__step-en--default {
  color: var(--ink-900);
}

.supply-chain-section__step-location {
  font-size: 12px;
  color: color-mix(in srgb, var(--ink-500) 30%, transparent);
}

/* Figma .heading-3 / .b2 */
.supply-chain-section__step-title {
  margin: 0 0 var(--space-3);
  font-family: var(--font-jp);
  font-size: clamp(1.125rem, calc(1rem + 0.5vw), 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink-900);
}

.supply-chain-section__step-title::after {
  display: none;
}

/* Figma .paragraph2 / .motion.div */
.supply-chain-section__step-desc {
  margin: 0;
  max-width: 32rem;
  font-family: var(--font-jp);
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  color: var(--ink-500);
}

/* ----- Global Teams（背景フルブリード · テキストのみ layout-inset） ----- */
.global-page__teams {
  background-color: color-mix(in srgb, var(--surface-paper) 50%, #fafdff);
}

.global-page__teams-inner {
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.global-page__teams-inner.layout-inset {
  max-width: var(--layout-frame);
}

.global-page__teams-intro {
  margin-bottom: var(--space-16);
}

@media (min-width: 768px) {
  .global-page__teams-intro {
    margin-bottom: var(--space-24);
  }
}

.global-page__teams-eyebrow {
  margin: 0 0 var(--space-8);
  padding: 0 var(--space-1);
}

.global-page__teams-eyebrow-text {
  margin: 0;
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.171875rem;
  color: var(--brand-primary);
}

.global-page__teams-head-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: end;
}

@media (min-width: 1024px) {
  .global-page__teams-head-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    gap: var(--space-10);
    align-items: start;
  }

  .global-page__teams-lead {
    margin-left: auto;
    max-width: 24.2rem;
  }
}

.global-page__teams-title-block {
  display: flex;
  flex-direction: column;
  gap: var(--global-teams-line-gap);
}

.global-page__teams-title-en {
  margin: 0;
  font-family: var(--font-en);
  font-weight: 900;
  font-size: clamp(2.5rem, calc(1.5rem + 4vw), 4.5rem);
  line-height: 1;
  letter-spacing: -0.0167em;
  color: var(--brand-primary);
}

.global-page__teams-title-en-sub {
  margin: 0;
  font-family: var(--font-en);
  font-weight: 900;
  font-size: clamp(2.5rem, calc(1.5rem + 4vw), 4.5rem);
  line-height: 1;
  letter-spacing: -0.0167em;
  color: var(--ink-900);
}

.global-page__teams-quote-title {
  margin: 0 0 var(--space-4);
  font-family: var(--font-jp);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 2;
  color: var(--ink-900);
}

.global-page__teams-quote-title b {
  font-weight: 700;
}

.global-page__teams-lead {
  margin: 0;
  max-width: 36rem;
}

/* ----- 横長ヒーロー写真2枚（IMG_1848 / DSC_7387）
   Figma .container2 / .globalpage3 — 1400フレーム内で 1305px・センタリング
   親 .global-page は左右 48px パディング → 1400 − 96 = 1304 ≈ 1305px
*/
.global-page__teams-spring-stage,
.global-page__teams-wide {
  width: 100%;
  max-width: var(--layout-frame); /* 1400px */
  margin-inline: auto;
  padding-inline: var(--layout-inline-sm); /* 24px モバイル */
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .global-page__teams-spring-stage,
  .global-page__teams-wide {
    padding-inline: var(--layout-inline-md); /* 48px タブレット以上 */
  }
}

@media (min-width: 1024px) {
  .global-page__teams-spring-stage,
  .global-page__teams-wide {
    padding-inline: var(--layout-inline-lg); /* 80px デスクトップ */
  }
}

/* Figma .container2 — 写真ビューポート（560px @ 1440） */
.global-page__teams-spring-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.global-page__teams-spring-pin {
  width: 100%;
  height: 100%;
  transform-origin: center top;
}

.global-page__teams-spring-frame,
.global-page__teams-wide__frame,
.scroll-rise-photo__frame.global-page__teams-wide__frame {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.scroll-rise-photo__frame.global-page__teams-wide__frame .scroll-rise-photo__zoom {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/*
 * 〜1023px — 1305×560 の超横長は高さが足りず他写真と不釣り合い
 * 同一セクションの aspect-[16/10] ギャラリーに合わせる（比率変更可）
 */
@media (max-width: 1023px) {
  .global-page__teams-spring-viewport,
  .global-page__teams-spring-frame,
  .global-page__teams-wide__frame,
  .scroll-rise-photo__frame.global-page__teams-wide__frame {
    aspect-ratio: 16 / 10;
    height: auto;
    min-height: 0;
    max-height: none;
  }

  .global-page__teams-wide__img--hero,
  .global-page__teams-spring-img.global-page__teams-wide__img--hero,
  .global-page__teams-wide__img--closing,
  .scroll-rise-photo__zoom .global-page__teams-wide__img--closing {
    inset: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}

/*
 * スマホ — 横長ヒーロー／クロージング（1305×560 相当）
 * 画面幅 MAX（100vw）・高さは 16/10 より大きく（3/2 + min-height）
 * 1280px+ の横長レイアウトは *-1440.css のまま
 */
@media (max-width: 767px) {
  .global-page__teams-spring-stage,
  .global-page__teams-wide {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: 0;
  }

  .global-page__teams-spring-viewport,
  .global-page__teams-spring-frame,
  .global-page__teams-wide__frame,
  .scroll-rise-photo__frame.global-page__teams-wide__frame,
  .global-page__teams-wide .scroll-rise-photo {
    width: 100%;
    max-width: 100%;
  }

  .global-page__teams-spring-viewport,
  .global-page__teams-spring-frame,
  .global-page__teams-wide__frame,
  .scroll-rise-photo__frame.global-page__teams-wide__frame {
    aspect-ratio: 3 / 2;
    min-height: clamp(15rem, 72vw, 26rem);
    height: auto;
    max-height: none;
  }

  .global-page__teams-wide--closing {
    margin-top: var(--space-12);
  }
  .supply-chain-section--global .tw-flex-shrink-0.tw-mt-5 { display: none; }
}

.global-page__teams-spring-img,
.global-page__teams-wide__img {
  display: block;
  object-fit: cover;
}

/* Figma .img-1848-2-icon — 1305×560 枠内の絶対配置トリミング */
.global-page__teams-wide__img--hero,
.global-page__teams-spring-img.global-page__teams-wide__img--hero {
  position: absolute;
  top: -31.96%;
  left: 0.31%;
  width: 99.69%;
  height: 174.29%;
  max-width: none;
}

/* Figma .dsc-7387-2-icon */
.global-page__teams-wide__img--closing,
.scroll-rise-photo__zoom .global-page__teams-wide__img--closing {
  position: absolute;
  top: -35.52%;
  left: -6.25%;
  width: 113.1%;
  height: 175.71%;
  max-width: none;
}

.global-page__teams-spring-caption-wrap {
  margin-top: var(--space-4);
}

.global-page__teams-wide--closing {
  margin-top: var(--space-16);
}

@media (min-width: 768px) {
  .global-page__teams-wide--closing {
    margin-top: var(--space-24);
  }
}

/* ----- 約390名 ----- */
.global-page__stat {
  display: flex;
  align-items: center;
  border-top: 1px solid color-mix(in srgb, var(--ink-900) 8%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ink-900) 8%, transparent);
  padding-block: var(--space-10);
}

@media (min-width: 768px) {
  .global-page__stat {
    padding-block: var(--space-12);
  }
}

/* Figma .container2 — 横一列・区切り線は数値ブロックと本文の間 */
.global-page__stat-body {
  position: relative;
  width: 100%;
}

@media (min-width: 768px) {
  .global-page__stat-body {
    min-height: 5.78125rem; /* 92.5px */
    height: 5.78125rem;
  }
}

/* Figma .container3 — 390: Source Sans 3 / 約・名: Noto Sans JP */
.global-page__stat-number-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-2);
}

.global-page__stat-prefix {
  margin: 0 0 0.35rem;
  font-family: var(--font-jp);
  font-size: clamp(1.125rem, calc(1rem + 0.5vw), 1.5rem);
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0.147em; /* Figma 3.52px @ 24px */
  color: color-mix(in srgb, var(--brand-primary) 72%, var(--ink-700)); /* ≈#3a4558 */
}

.global-page__stat-number {
  margin: 0 0.25rem;
  font-family: var(--font-num);
  font-size: clamp(3rem, calc(2.5rem + 4vw), 4.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em; /* Figma -1.44px @ 72px */
  color: var(--brand-primary);
}

.global-page__stat-suffix {
  margin: 0 0 0.35rem 0.25rem;
  font-family: var(--font-jp);
  font-size: clamp(1.125rem, calc(1rem + 0.5vw), 1.5rem);
  font-weight: 900;
  line-height: 30px;
  letter-spacing: 0.147em;
  color: var(--brand-primary);
}

.global-page__stat-divider {
  display: none;
}

.global-page__stat-desc {
  margin: var(--space-6) 0 0;
  max-width: 48.9375rem; /* Figma 783px */
  font-family: var(--font-jp);
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  color: var(--ink-900);
}

/* Figma .container2 — 768px+ 横並び（区切り線は数値ブロック右 17.76px・本文左 56.32px） */
@media (min-width: 768px) {
  .global-page__stat-body {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 0;
  }

  /* Figma .container3 */
  .global-page__stat-number-wrap {
    position: relative;
    flex: 0 0 12.11875rem; /* 193.9px */
    width: 12.11875rem;
    height: 5.9rem; /* 94.4px */
    display: block;
    margin: 0;
  }

  .global-page__stat-prefix {
    position: absolute;
    top: 1.75rem; /* 28px */
    left: 0.03125rem; /* 0.5px */
    margin: 0;
    width: 2.43125rem; /* 38.9px */
    height: 2.125rem; /* 34px */
    display: flex;
    align-items: center;
  }

  .global-page__stat-number {
    position: absolute;
    top: 0;
    left: 2.15625rem; /* 34.5px */
    margin: 0;
  }

  .global-page__stat-suffix {
    position: absolute;
    top: 1.75rem; /* 28px */
    left: 9.6875rem; /* 155px */
    margin: 0;
    width: 2.43125rem; /* 38.9px */
    height: 2.125rem; /* 34px */
    display: flex;
    align-items: center;
  }

  /* Figma .container4 — 211.66 − 193.9 = 17.76px */
  .global-page__stat-divider {
    flex: 0 0 1px;
    display: block;
    width: 1px;
    height: 3rem; /* 48px */
    margin: 0 3.52rem 0 1.11rem; /* 右 56.32px（268.98−212.66）· 左 17.76px */
    align-self: center;
    background-color: color-mix(in srgb, var(--ink-900) 8%, transparent);
  }

  /* Figma .paragraph2 */
  .global-page__stat-desc {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    max-width: 48.9375rem; /* 783px */
    align-self: center;
  }
}

/* 1280px+ — Figma 絶対座標どおり（有効幅 ≈1052px 以上） */
@media (min-width: 1280px) {
  .global-page__stat-body {
    display: block;
    position: relative;
  }

  .global-page__stat-number-wrap {
    position: absolute;
    top: -0.0625rem;
    left: -0.03125rem;
  }

  .global-page__stat-divider {
    position: absolute;
    top: 1.390625rem; /* 22.25px */
    left: 13.22875rem; /* 211.66px */
    margin: 0;
  }

  .global-page__stat-desc {
    position: absolute;
    top: 0.921875rem; /* 14.75px */
    left: 16.81125rem; /* 268.98px */
  }
}

/* ----- スタッフの声（装飾引用） ----- */
.global-page__voices {
  background-color: #fff;
}

.global-page__voices-inner {
  width: 100%;
  max-width: var(--global-inner);
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-24) var(--space-6);
}

@media (min-width: 768px) {
  .global-page__voices-inner {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }
}

.global-page__voices-header {
  margin-bottom: var(--space-12);
}

.global-page__voices-eyebrow {
  margin: 0 0 var(--space-8);
}

.global-page__voices-eyebrow-text {
  margin: 0;
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-primary);
}

/* Figma — 装飾下線なし（.h2-section は使わない） */
.global-page__voices-title {
  margin: 0;
  padding-bottom: 0;
  font-family: var(--font-jp);
  font-size: clamp(1.5rem, calc(1.5rem + 0.5vw), 2rem);
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink-900);
}

.global-page__voice-card {
  position: relative;
}

.global-page__voice-quote-mark {
  position: absolute;
  top: -1.5rem;
  left: -0.25rem;
  font-family: var(--font-en);
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 900;
  line-height: 1;
  color: color-mix(in srgb, var(--ink-900) 6%, transparent);
  pointer-events: none;
}

.global-page__voice-body {
  position: relative;
  z-index: 1;
  padding-top: var(--space-8);
}

.global-page__voice-footer {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding-top: var(--space-6);
  margin-top: var(--space-8);
  border-top: 1px solid color-mix(in srgb, var(--ink-900) 6%, transparent);
}

.global-page__voice-role {
  margin: 0;
  font-family: var(--font-en);
  font-size: var(--fs-body);
  font-weight: 700;
  color: var(--ink-900);
}

/* Partnership CTA（Figma .contactctaphoto · 656.9px · overlay 55%） */
.global-page__partnership-cta.surface-photo::after {
  display: none;
}

.global-page__partnership-cta__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: color-mix(in srgb, var(--ink-900) 55%, transparent);
  pointer-events: none;
}

.global-page__partnership-cta__inner {
  position: relative;
  z-index: 2;
  max-width: 45rem;
  margin-inline: auto;
  padding-block: var(--space-24);
  text-align: center;
}

.global-page__partnership-cta__eyebrow {
  margin: 0 0 var(--space-6);
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 900;
  line-height: 16.5px;
  letter-spacing: 0.25em; /* Figma 2.75px @ 11px */
  text-transform: uppercase;
  color: var(--brand-accent-yellow);
}

.global-page__partnership-cta__title {
  margin: 0 0 var(--space-6);
  padding-bottom: 0;
  font-family: var(--font-jp);
  font-size: var(--fs-h2-md);
  font-weight: 700;
  line-height: 1.6;
  color: var(--ink-inv-900);
}

.global-page__partnership-cta__title::after {
  display: none;
}

.global-page__partnership-cta__lead {
  margin: 0 auto var(--space-10);
  max-width: 32rem;
  font-family: var(--font-jp);
  font-size: 15px;
  font-weight: 400;
  line-height: 2.14;
  color: var(--ink-inv-700);
}

.global-page__partnership-cta__rule {
  width: 2.5rem;
  height: 1px;
  margin: 0 auto var(--space-5);
  background-color: color-mix(in srgb, #fff 20%, transparent);
}

.global-page__partnership-cta__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
  margin-top: var(--space-12);
}

@media (min-width: 640px) {
  .global-page__partnership-cta__meta {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-10);
  }
}

.global-page__partnership-cta__meta-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.global-page__partnership-cta__meta-label {
  font-family: var(--font-jp);
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink-inv-500);
}

.global-page__partnership-cta__meta-value {
  font-family: var(--font-jp);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-inv-700);
}

.global-page__partnership-cta .cta--ghost-light {
  border-color: var(--brand-accent-yellow);
  font-family: var(--font-jp);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* ===== 1024px+ Figma 1400 固定値 ===== */
/**
 * グローバルネットワーク — Figma 1400（1024px+）
 */
@media (min-width: 1024px) {
  .supply-chain-section--global {
    padding: var(--space-32) var(--layout-inline-lg) var(--space-24);
  }

  .supply-chain-section__title {
    font-size: 32px;
    line-height: 48px;
    margin-bottom: var(--space-5);
  }

  .supply-chain-section__eyebrow {
    margin-bottom: var(--space-8);
    font-size: 13px;
    letter-spacing: 2.75px;
    line-height: 16.5px;
  }

  .supply-chain-section__step-title {
    font-size: 24px;
    line-height: 36px;
  }

  .supply-chain-section__step-desc {
    max-width: 32rem; /* Figma 504〜512px */
  }

  .global-page__teams {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }

  /* Figma .globalpage3 / .globalpage17 — 560px 横長（1305px 相当は 100% フルブリード） */
  .global-page__teams-spring-viewport,
  .global-page__teams-spring-frame,
  .global-page__teams-wide__frame,
  .scroll-rise-photo__frame.global-page__teams-wide__frame {
    height: 35rem;
    min-height: 35rem;
    aspect-ratio: auto;
  }

  .global-page__stat {
    padding-block: 3.5625rem; /* 57px — 上下ボーダー間でコンテンツを中央寄せ */
  }

  .global-page__stat-prefix,
  .global-page__stat-suffix {
    font-size: 24px;
    letter-spacing: 3.52px;
    line-height: 30px;
  }

  .global-page__stat-number {
    font-size: 72px;
    line-height: 72px;
    letter-spacing: -1.44px;
  }

  .global-page__voices-inner {
    padding: var(--space-32) 9.375rem;
  }

  .global-page__partnership-cta {
    min-height: 656.9px;
  }

  .global-page__partnership-cta__inner {
    padding-block: 112px;
  }

  .global-page__partnership-cta__title {
    font-size: 28px;
    line-height: 44.8px;
  }

  .global-page__partnership-cta__lead {
    font-size: 15px;
    line-height: 32.1px;
    max-width: 32rem;
  }
}


/* ===========================================
   PHP実装向け追加 - ワイド集合写真の単純表示
   React版 GlobalTeamsSpringPhoto (絶対配置の絡んだ
   特殊コンポーネント) は使わず、普通の img で実装
   =========================================== */

/* 親コンテナに明示的なアスペクト比を与える */
.global-page__teams-wide:not(.global-page__teams-wide--closing) > .global-page__teams-wide__frame {
  width: 100%;
  aspect-ratio: 21 / 9;
  height: auto;
}

.global-page__teams-wide--closing > .global-page__teams-wide__frame {
  width: 100%;
  aspect-ratio: 21 / 7;
  height: auto;
}

/* img はフレーム内で position:static のフル表示（zoom 層を挟んでも効くよう子孫結合子） */
.global-page__teams-wide__frame .global-page__teams-wide__img {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: none;
  inset: auto;
}

/* --hero / --closing モディファイアも上書きで普通の表示に */
.global-page__teams-wide__frame .global-page__teams-wide__img--hero,
.global-page__teams-wide__frame .global-page__teams-wide__img--closing {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

/* figure 要素のブラウザデフォルト margin をリセット */
figure.global-page__teams-wide,
.global-page__teams-wide {
  margin-block: 0;
  margin-inline: auto !important;
}

/* ==========================================================
   [Excel指摘 / グローバルページ]
   ========================================================== */

/* row16: PARTNERSHIP & COLLABORATION の CTA を中央寄せ
   （インラインstyleで左寄せ指定されているため !important で上書き） */
.global-page__partnership-inner { text-align: center !important; }
.global-page__partnership-desc {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* ボタン上の黄色ライン(divider)を中央に */
.global-page__partnership-inner > div[style*="height:2px"] {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 対象/内容例メタを中央に */
.global-page__partnership-inner > div[class*="tw-flex-row"] {
  align-items: center !important;
}



/* =====================================================
   [row15] STAFF VOICES レイアウト（React recruit-page__staff 準拠）
   React は中央寄せではなく「枠を中央／中身は左寄せ」。
   ≤1023=1列, ≥1024=2列(repeat(2,1fr))・左寄せ。
   ===================================================== */
.global-page__voices-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .global-page__voices-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-12);
  }
}
.global-page__voice-col { width: 100%; }
/* React 同様、見出し・英字ラベルは左寄せ（旧・中央寄せ指定を打ち消し） */
.global-page__voices-header { text-align: left; }
.global-page__voices-eyebrow { display: block; }

/* =====================================================
   [row51] Global Teams 写真（ワイド＋ギャラリー全て）— せり上がり＋ホバーズーム
   rise : .scroll-rise-photo を JS(main.js) が translateY/opacity 制御。
   hover: 内側 __zoom を scale 1.04（React whileHover 相当 / 0.6s ease）。
   ※ teams-wide の __zoom は専用ルール(position:relative ほか)が優先される。
   ===================================================== */
.global-page__teams .scroll-rise-photo__zoom {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.global-page__teams .scroll-rise-photo:hover .scroll-rise-photo__zoom {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .global-page__teams .scroll-rise-photo:hover .scroll-rise-photo__zoom {
    transform: none;
  }
}

/* ==========================================================
   [追加修正 2026-06] global 指摘 row53 / row66
   ※ 1023/767 境界は .98px でサブピクセルのすき間を塞ぐ
   ========================================================== */

/* row53: supply-chain の左右パディングが 768–1023 で他セクション(48px)と食い違う(24pxのまま)。
   ビジネス標準の中間段48pxを補い 24/48/80 に揃える。 */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .supply-chain-section--global {
    padding-left: var(--layout-inline-md);   /* 48px */
    padding-right: var(--layout-inline-md);
  }
}

/* row66: ≤767 で teams-wide はフルブリード(padding-inline:0)のため、内側のキャプション
   「マレーシア工場 — 選別・加工ライン」も端に張り付く。写真は全幅のまま、キャプションの
   テキストだけ他テキストと同じ左右24pxにインセットして揃える。 */
@media (max-width: 767.98px) {
  .global-page__teams-wide__caption {
    padding-left: var(--layout-inline-sm);    /* 24px */
    padding-right: var(--layout-inline-sm);
  }
}
