/* home.css — トップページ固有（Figma 2:2 準拠）
   common.css に続けて読み込む。カード/グリッド系は common.css に集約。
   ヒーロー＝全幅画像＋オーバーレイ（上:白タイトル / 下:黒リード＋ボタン）。
   各帯＝マスク形状画像（mask.svg）。 */

/* ---------- Hero ---------- */
.c-Hero { position: relative; width: 100%; isolation: isolate; }
.c-Hero__bg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1882 / 1068;
  object-fit: cover;
}
.c-Hero__overlay { position: absolute; inset: 0; }
.c-Hero__overlayInner {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Figma 324:749: コピー群を縦センター（旧 space-between から是正） */
  max-width: 1280px; /* section-inner と統一（旧1180は130px auto-marginになりズレていた） */
  height: 100%;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 84px) 0 clamp(32px, 4vw, 72px);
}
.c-Hero__copy {
  display: flex;
  flex-direction: column;
  gap: 10px;                 /* Figma 324:751: 要素間 10px（旧 title mt42/lead mt32 で box 過大） */
  width: 942px;              /* Figma Frame133: 左80/右418 = 固定幅942（旧1280は全幅でズレ） */
  max-width: 100%;           /* 狭幅ではオーバーレイ内に収める */
  align-self: flex-start;    /* 左アンカー（80px） */
}

/* 上ブロック（白） */
.c-Hero__eyebrow {
  margin: 0;
  color: #fff;
  /* eyebrow＝YuMincho 16/800（研究 Figma 実測・weight 特例 2026-07-06） */
  font-family: var(--font-mincho);
  font-size: clamp(13px, 1.3vw, 16px);
  font-weight: 800;
  line-height: 1;            /* Figma lh16=100%（旧 1.7継承で 27.2px＝box 過大） */
  letter-spacing: 0.25em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.c-Hero__title {
  margin: 0;                 /* 間隔は .c-Hero__copy の gap:10px に集約 */
  color: #fff;
  font-family: var(--font-serif-en);
  /* Figma 324:751 実測（1440基準）: 96px / lh116px固定 / tracking -0.25px（旧 128/0.9/-0.01em を是正） */
  font-size: clamp(54px, 9vw, 96px);
  font-weight: 400;
  letter-spacing: -0.25px;
  line-height: 116px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.32);
}

/* lead（英字タイトルの下・同一コピー群内） */
.c-Hero__lead {
  margin: 0;                 /* 間隔は .c-Hero__copy の gap:10px に集約 */
  color: #fff; /* heroコピーは白で統一（leadも背景画像上＝白） */
  font-family: var(--font-mincho);
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1280px) {
  .c-Hero__overlayInner { padding-inline: 24px; } /* auto-margin消えるため側余白確保 */
}
@media (max-width: 860px) {
  .c-Hero__bg { aspect-ratio: 3 / 4; }
  .c-Hero__overlayInner { padding: 28px 18px 32px; }
}

/* ---------- TOP 非shared-band 帯の「小タイトル」（News / Company / M&A / AI / IR / Careers 共有） ----------
   Figma 小タイトル実測: YuMincho 48px / weight500 / lh64px(133.3%) / #000。
   旧実装は .c-HomeNews__head h2 と .c-HomeBand__body h2 に serif-en(Georgia)/400/1.15 を重複定義していた
   → 1つの scoped クラスに共通化。--font-serif-en トークンや Hero title・inner 見出しには波及させない（隔離）。
   size は clamp で desktop=48px 一致・狭幅のみ縮小（overflow 防止）。color は body 継承(--ink=#000)。 */
.c-HomeHeading {
  margin: 0;
  font-family: var(--font-mincho);
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 500;
  line-height: 1.333;
}

/* ---------- News（TOP ティザー / 現行Figma 2:2：見出し左・リスト右） ---------- */
.c-HomeNews {
  display: grid;
  /* home 帯(.c-HomeBand)と厳密に同一 grid＝リスト左端を帯画像の左端(600px)に揃える。
     旧 420px/1fr/64px はズレて list=564px だった → 428px/760px/92px で 600px に一致 */
  grid-template-columns: minmax(260px, 428px) minmax(0, 760px);
  gap: clamp(28px, 6.4vw, 92px);
  align-items: start;
}
.c-HomeNews__head { display: flex; flex-direction: column; gap: 30px; }
.c-HomeNews__list { min-width: 0; }
/* News の行デザインは /ir/ と共有（.c-Xj--news＝common.css）。home固有の整形は持たない。 */

@media (max-width: 900px) {
  .c-HomeNews { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- TOP 帯（Business Overview / M&A / Technology） ---------- */
.c-HomeBand__section { border-top: none; }
.c-HomeBand {
  display: grid;
  /* Figma 324:747: 左=テキスト428px / Gap=Auto(92px) / 右=画像760px（合計1280px）
     minmax(0, 760px) で右列を760pxに上限固定。gap=clamp(28,6.4vw,92px)で1440px時=92px */
  grid-template-columns: minmax(260px, 428px) minmax(0, 760px);
  align-items: start;
  gap: clamp(28px, 6.4vw, 92px);
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(56px, 7vw, 80px) 0;
}
.c-HomeBand__body p {
  max-width: 420px;
  margin: 24px 0 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.9;
}
.c-HomeBand__body .u-textLink { margin-top: 26px; }

/* 非shared-band帯の CTA テキストリンク（View All News / Read More ×5）
   Figma 実測: YuMincho 16px / weight500 / lh28px(175%) / 本文#000、矢印「→」は #C0A070(--accent)。
   共有 .u-textLink base(13px/600・inner card/grid と comma同居) や ir-stock のインライン用途には
   波及させず home スコープに隔離。font-family は body から --font-mincho 継承済＝据置。 */
.c-HomeNews__head .u-textLink,
.c-HomeBand__body .u-textLink {
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: normal;
}
.c-HomeNews__head .u-textLink::after,
.c-HomeBand__body .u-textLink::after {
  color: var(--accent);
}

.c-HomeBand__figure { margin: 0; min-width: 0; }

.c-HomeBand__figure--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 760 / 420;
  background: #e8e8e8;
  border-radius: 4px;
}
.c-HomeBand__placeholderLabel {
  font-size: 14px;
  color: #888;
  letter-spacing: 0.05em;
}

/* Figma のマスク形状（mask.svg, 760:420）を画像に適用 */
.c-HomeBand__figure img {
  display: block;
  width: 100%;
  aspect-ratio: 760 / 420;
  height: auto;
  object-fit: cover;
  -webkit-mask: url("/assets/img/home/mask.svg") center / 100% 100% no-repeat;
  mask: url("/assets/img/home/mask.svg") center / 100% 100% no-repeat;
}

@media (max-width: 1280px) {
  .c-HomeBand { padding-inline: 24px; } /* 1280px以下: auto-margin消えるため側余白を確保 */
}
@media (max-width: 900px) {
  .c-HomeBand { grid-template-columns: 1fr; gap: 24px; padding: clamp(44px, 8vw, 64px) 24px; }
  .c-HomeBand__figure { order: -1; }
  .c-HomeBand__body p { max-width: none; }
}
@media (max-width: 640px) {
  .c-HomeBand { padding: 40px 18px; }
}
