/* ir-detail.css — 新IR詳細ページ共通（現行Figma 239:* / 240:* の統一デザイン）
   統一ヘッダ（大「IR」96px ＋ JP題48px ＋ EN14px）＋ IRサブナビ帯 ＋ 本文ブロック群。
   色/フォントは既存トークン（--ink/--accent/--line/--paper(-alt)/--muted）に準拠。
   出典: Figma cache 生ノード（名前=文字・style）。捏造なし。 */

/* ========== 統一ヘッダ ========== */
.c-PageHero.c-IrDetail__hero {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: clamp(40px, 5vw, 64px) 0 clamp(30px, 4vw, 52px);
}
.c-IrDetail__hero .c-Breadcrumb { margin: 0 0 22px; }
.c-IrDetail__head {
  display: flex;
  align-items: flex-start;
  gap: 0;
}
/* Figma: 「IR」(x=80) と 題(x=330) は固定座標＝IR左端から題左端まで一定250px。
   flex gap だと IR幅依存でズレる(=2ブロックが近接し一体化)ため、IR を固定幅の列にして
   題の開始xを 250px で一定化する（IR右端→題左端ギャップ≈147pxを再現）。 */
.c-IrDetail__mark {
  flex: 0 0 auto;
  width: clamp(150px, 17.4vw, 250px);
  margin: 0;
  font-family: var(--font-mincho);
  font-weight: 500;
  font-size: clamp(56px, 8vw, 96px);
  line-height: 1;
  color: var(--ink);
}
/* Figma: 「IR」の先頭「I」はアクセント金、「R」は黒の2色（レンダリング結果を正）。
   色は捏造せず既存ブランドトークン --accent(#c0a070)。IR top「IR News」と同じ扱い。 */
.c-IrDetail__mark .c-PageHero__titleAccent { color: var(--accent); }
.c-IrDetail__titles { padding-top: clamp(2px, 0.4vw, 5px); }
/* inner.css の汎用 `.c-PageHero h1`(0,1,1) を上書きするため .c-IrDetail__hero でスコープ（詳細度 0,2,0） */
.c-IrDetail__hero .c-IrDetail__title {
  margin: 0;
  font-family: var(--font-mincho);
  font-weight: 500;
  font-size: clamp(30px, 4.4vw, 48px);
  line-height: 1.33;
  letter-spacing: 0;
  color: var(--ink);
  white-space: nowrap;
}
.c-IrDetail__en {
  margin: 2px 0 0;
  font-family: var(--font-mincho);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 2;
  color: var(--ink);
}

/* ========== 本文コンテナ・汎用ブロック ========== */
/* Figma content 幅=1120px（frame1440 − 左右160）。section-inner の padding48 を足し戻して
   max-width 1168 とし content を 1120 に一致させる（旧1120だと content1072で見出しが折返した）。 */
.c-IrDetail__body {
  max-width: 1168px;
  font-family: var(--font-mincho);
}
.c-IrDetail__body .c-IrDetail__lead { margin: 0 0 clamp(28px, 4vw, 48px); font-size: 16px; line-height: 1.95; color: var(--ink-soft); }

/* セクション見出し（48px Mincho・Figma準拠） */
.c-IrDetail__h2 {
  margin: 0 0 clamp(24px, 3vw, 40px);
  font-family: var(--font-mincho);
  font-weight: 500;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.333; /* Figma H2 統一: 64/48=1.333（旧1.33を厳密化） */
  color: var(--ink);
}
.c-IrDetail__h3 {
  margin: 0 0 16px;
  font-family: var(--font-mincho);
  font-weight: 500;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.5;
  color: var(--ink);
}
/* セクション帯見出し（投資家情報の表区分）。Figma 239:1297 準拠＝淡灰#d9d9d9＋黒文字・游ゴシック。
   ※現行サイトは濃紺#14304b＋白文字だが、ユーザー指示によりFigma(更新版)を正とする。 */
.c-IrDetail__bandHead {
  margin: clamp(52px, 7vw, 80px) 0 18px; /* 区分の前に十分な余白（ユーザー指摘「スペース大きく」） */
  padding: 9px 16px;
  background: #d9d9d9;
  color: #000;
  font-family: var(--font-mincho);
  font-size: clamp(16px, 1.9vw, 19px);
  font-weight: 700;
  line-height: 1.5;
}
.c-IrDetail__bandHead:first-of-type { margin-top: clamp(20px, 3vw, 28px); }
/* 株式の分布状況の円グラフ＝全体を中央寄せ（ユーザー指摘「センタリング」） */
.c-IrDetail__distChart { margin: 0 auto 18px; text-align: center; }
/* 株式の分布状況の円グラフ＝Figmaエクスポート版SVG（円グラフ＋引き出し線＋ラベル一体）。 */
.c-IrDetail__distChart img { display: block; width: 100%; max-width: 620px; height: auto; margin: 0 auto; }
/* 円グラフのタイトル（Figma: YuMincho 500 / 16px / line-height 35px / #000 / 中央）。 */
.c-IrDetail__distTitle {
  margin: 4px 0 0; text-align: center; color: #000;
  font-family: var(--font-mincho);
  font-weight: 500; font-size: 16px; line-height: 35px;
}
/* 投資家情報「株式基本情報」の見出しはFigma 24px（.c-IrDetail__h2 の48pxは大きすぎ＝ユーザー指摘）。 */
.c-IrDetail__h2.c-IrDetail__h2Sm { font-size: clamp(20px, 2.4vw, 24px); margin-bottom: clamp(18px, 2.4vw, 28px); }
/* 本文（20px Mincho・Figma準拠） */
.c-IrDetail__text {
  margin: 0 0 1.6em;
  font-family: var(--font-mincho);
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.75;
  color: var(--ink);
}
.c-IrDetail__text:last-child { margin-bottom: 0; }

/* IR下部の注記＋「ご利用上の注意」ブロック（Figma 239:938 等／3財務ページ共通）。
   Figmaは全て均一サイズの明朝＝.c-IrDetail__text を使い、ご利用上の注意も大見出しにしない。
   文ごとに改行(<br>)・グループ間に段落余白・Figmaのスペースを反映。統一CSSで3ページ共通管理。 */
.c-IrDetail__noteBlock { margin-top: clamp(32px, 4.5vw, 56px); }
.c-IrDetail__noteBlock .c-IrDetail__text { margin-bottom: 1.5em; }
.c-IrDetail__noteBlock .c-IrDetail__text:last-child { margin-bottom: 0; }

/* メッセージ：本文＋ポートレート（左本文／右写真） */
.l-IrMsgGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(260px, 27vw, 376px);
  column-gap: clamp(28px, 3.2vw, 46px);
  /* Figma 239:576: 本文｜写真 の2列。署名は本文列の下(sign行)に置きメッセージ列幅に揃える。
     写真の下端は本文段落の下端に一致（align-items:end）。 */
  grid-template-areas:
    "body  photo"
    "sign  .";
  align-items: end;
}
.c-IrDetail__msgText { grid-area: body; }
.c-IrDetail__figure { grid-area: photo; margin: 0; }
.c-IrDetail__figure img { display: block; width: 100%; height: auto; }
.c-IrDetail__figure figcaption { margin-top: 10px; font-size: 13px; color: var(--muted); }
/* 署名：日付は右寄せ、役職＋署名画像ブロックは中央寄せ（Figma 239:576 準拠） */
/* Figma 239:576: 署名ブロック(日付/役職/署名画像)はメッセージ列の右端に右寄せ。
   役職『代表取締役社長』は署名画像の左端に左寄せ（中央寄せにしない）。 */
.c-IrSign { grid-area: sign; margin: clamp(18px, 2.4vw, 30px) 0 0; text-align: right; }
.c-IrSign .c-IrSign__date { margin: 0 0 18px; font-family: var(--font-mincho); font-size: 20px; color: var(--ink); }
.c-IrSign__nameBlock { display: inline-block; margin: 0; text-align: left; }
.c-IrSign__nameBlock .c-IrSign__role { margin: 0 0 8px; font-family: var(--font-mincho); font-size: 20px; color: var(--ink); }
.c-IrSign__img { display: block; width: clamp(220px, 26vw, 360px); height: auto; }

/* 図版・素材待ちプレースホルダ（ガワ先行） */
.c-IrDetail__placeholder {
  display: flex; align-items: center; justify-content: center;
  min-height: clamp(180px, 24vw, 320px);
  margin: 0 0 clamp(20px, 3vw, 32px);
  border: 1px dashed var(--line);
  background: var(--paper-alt);
  color: var(--muted);
  font-size: 14px; line-height: 1.7; text-align: center; padding: 24px;
}
.c-IrDetail__placeholder:last-child { margin-bottom: 0; }

/* ガバナンス体制図（Figma 239:910 / 現行 governance.png と同一の図版） */
.c-IrDetail__govChart { margin: 0 0 clamp(24px, 3vw, 36px); }
.c-IrDetail__govChart img { display: block; width: 100%; max-width: 1120px; height: auto; }

/* 業績/財政/CF：現行サイトと同じ「タイトル帯＋グラフ＋データ表」を2列で並べる。
   グラフ=XJ public-graph の graph_ja.png（静的画像）、表=同hashの table_ja.js（document.write生成）。
   クラス名（xj-graph_系 と XJ生成テーブルの xj_chart_系）は現行サイトに合わせる。 */
.xj-graph_cont {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 44px) clamp(24px, 3vw, 40px);
  margin: 0 0 clamp(24px, 3vw, 40px);
}
/* 明朝フォントは .xj-graph_cont に付与する .c-Xj 基底(common.css)へ集約（命名統一リファクタ 2026-07-04）。
   配下の item/ttl/uint/table セルはそこから継承（旧 .xj-graph_item への font 直付けは廃止）。 */
.xj-graph_item { margin: 0; min-width: 0; }
.xj-graph_ttl { margin: 0; padding: 4px 8px; background: #777; color: #fff; font-size: 18px; font-weight: 400; line-height: 1.8; }
.xj-graph_figure { margin: 6px 0 10px; }
.xj-graph_uint { margin: 0; font-size: 13px; color: #000; font-weight: 400; line-height: 1.8; }
.xj-graph_figure img { display: block; width: 100%; height: auto; }
.xj-graph_table { overflow-x: auto; }
/* 表＝現行サイトと同一：黒1px罫線・セルpadding 0 2px・font13px・色#333・ヘッダ背景#dce3eb */
.xj_chart_table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.6; color: #333; }
.xj_chart_table td { border: 1px solid #000; padding: 0 2px; }
.xj_chart_header_first,
.xj_chart_header { background: #dce3eb; color: #333; font-weight: 400; text-align: center; }
.xj_chart_value { color: #333; text-align: right; }
.xj_chart_no_value { color: #333; text-align: right; }
@media (max-width: 760px) { .xj-graph_cont { grid-template-columns: 1fr; } }

/* IRライブラリ ハブ：6区分の2列カード（Figma 240:1793） */
.c-IrLibIndex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(40px, 6vw, 90px);
}
.c-IrLibIndex__item {
  padding: clamp(24px, 3vw, 34px) 0;
  border-top: 1px solid var(--line);
}
/* ir-library カード構造（Figma 240:1793：flex-col / gap-27px / 区切り線+右寄せリンク） */
.c-IrLibIndex__item {
  display: flex;
  flex-direction: column;
  gap: 27px;
  padding: 35px 0 10px;
  border-top: 1px solid var(--line);
}
.c-IrLibIndex__body { flex: 1; display: flex; flex-direction: column; gap: 9px; }
.c-IrLibIndex__foot {
  border-top: 1px solid #d9d9d9;
  padding-top: 10px;
  display: flex;
  justify-content: flex-end;
}
/* ir-library ボディ構成テキスト（Figma 240:1793 実測値） */
.c-IrLibIndex__item .c-IrDetail__h3 { margin-bottom: 0; font-size: 20px; line-height: 30px; }
/* 英字サブ: 10px / line-height:10px（Figma実測） */
.c-IrLibIndex__item .c-IrDetail__en { margin: 0; font-size: 10px; line-height: 10px; letter-spacing: 0.02em; }
.c-IrLibIndex__item .c-IrDetail__text { margin: 0; }
/* XJ最新1件のコンテナ（描画は XjStorageLoaderlibrary.js＝#xj-mainlist-* / 表示は .c-Xj 系で共通スタイル）。
   ※旧 .c-IrLibIndex__date / __latest（自作JSで流し込む日付/タイトル）は専用ローダー化で不要になり撤去（2026-07-07）。 */
.c-IrLibIndex__xj { margin-top: 5px; }
/* 「過去の資料→」: Figma = Inter Regular 14px/28px（旧 Georgia clamp(20-24px)→是正） */
.c-IrLibIndex__archive {
  display: inline-block;
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 28px;
  color: var(--ink);
  text-decoration: none;
}
.c-IrLibIndex__archive::after { content: "→"; margin-left: 2px; color: var(--accent); }
.c-IrLibIndex__archive:hover { color: var(--accent); }
@media (max-width: 720px) {
  .c-IrLibIndex { grid-template-columns: 1fr; gap: 0; }
}

/* 定義リスト（会社概要・株主メモ等） */
.c-IrTable { width: 100%; border-collapse: collapse; }
.c-IrTable th, .c-IrTable td {
  padding: 16px 18px; border-bottom: 1px solid var(--line);
  font-family: var(--font-mincho);
  font-size: 15px; line-height: 1.7; text-align: left; vertical-align: top;
}
.c-IrTable th { width: 32%; font-weight: 700; color: var(--ink); background: var(--paper-alt); white-space: nowrap; }
.c-IrTable td { color: var(--ink); }
/* 見出し行（thead）で使う場合は列幅を均す */
.c-IrTable thead th { width: auto; white-space: normal; }
/* 株式の分布状況の表＝ヘッダー行は白背景（Figma準拠）。1列目は空セル（タイトルは円グラフ上へ移設）。 */
.c-IrTable--dist thead th { background: #fff; }
/* 注記（小・灰） */
.c-IrDetail__note { margin: 0 0 1.2em; font-family: var(--font-mincho); font-size: 13px; line-height: 1.8; color: var(--muted); }
.c-IrDetail__note:last-child { margin-bottom: 0; }

/* 書類一覧（決算短信等・XJ流用 or 静的） */
.c-IrDocList { margin: 0; list-style: none; padding: 0; }
.c-IrDocList li {
  display: grid; grid-template-columns: minmax(110px, 160px) minmax(0, 1fr) auto;
  gap: 8px 24px; align-items: center;
  padding: 18px 0; border-bottom: 1px solid var(--line);
}
.c-IrDocList li:first-child { border-top: 1px solid var(--line); }
.c-IrDocList .c-IrDocList__date { font-size: 14px; color: var(--muted); }
.c-IrDocList .c-IrDocList__name { font-size: 15px; color: var(--ink); }
.c-IrDocList a { color: var(--accent); text-decoration: none; font-weight: 600; font-size: 14px; }
.c-IrDocList a:hover { text-decoration: underline; }
/* ===== IRライブラリ カテゴリ別ページ：XJ ライブラリローダー(library0N) の年フィルタ＋書類一覧 ===== */
.c-IrLibYear { margin: 0 0 clamp(20px, 3vw, 32px); }
.c-IrLibYear select {
  appearance: none; -webkit-appearance: none;
  min-width: 200px; padding: 10px 40px 10px 14px;
  border: 1px solid var(--line); border-radius: 0; background-color: #fff;
  font-size: 15px; color: var(--ink); line-height: 1.4; cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.c-IrLibYear select:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
/* XJ ローダーが各 .c-Xj--list(旧 .ir-list) に描画する <dl>(date / txt a[pdf]) を当サイト体裁に整形。
   library01/02/05/06 は単一 #xj-mainlist、library03/04 はサブ見出し＋複数の名前付きリスト(#xj-mainlist-*)。 */
.c-IrDetail__body .c-Xj--list { margin: 0; }
.c-IrDetail__body .c-Xj--list dl {
  display: grid; grid-template-columns: minmax(92px, 124px) minmax(0, 1fr);
  gap: 4px 24px; align-items: baseline;
  margin: 0; padding: 18px 0; border-bottom: 1px solid var(--line);
}
.c-IrDetail__body .c-Xj--list dl:first-child { border-top: 1px solid var(--line); }
.c-IrDetail__body .c-Xj--list dt, .c-IrDetail__body .c-Xj--list dd { margin: 0; }
.c-IrDetail__body .c-Xj--list .date { margin: 0; font-size: 14px; color: var(--muted); line-height: 1.7; }
.c-IrDetail__body .c-Xj--list .txt { margin: 0; }
.c-IrDetail__body .c-Xj--list .txt a { color: var(--ink); text-decoration: none; font-size: 15px; line-height: 1.7; }
.c-IrDetail__body .c-Xj--list .txt a:hover { color: var(--accent); text-decoration: underline; }
.c-IrDetail__body .c-Xj--list .txt a span { color: var(--muted); font-size: 13px; }
.c-IrDetail__body .c-Xj--list .txt img { vertical-align: middle; margin: 0 4px -2px; }
/* 空表示（ローダーが <dl><dd class="no-date">…</dd></dl> を出す）は日付列に潰さず全幅で */
.c-IrDetail__body .c-Xj--list dd.no-date { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
/* library03/04 のサブセクション（招集通知/決議通知/有報・四半期 等の見出し＋リスト） */
.c-IrLibGroup { margin: 0 0 clamp(28px, 4vw, 44px); }
.c-IrLibGroup:last-of-type { margin-bottom: 0; }
/* 書類が無いサブセクション（例: 添付資料・株主通信が無い年）は見出しごと非表示（現行サイト同様）。
   ローダーは空サブリストに <dl> を入れないため :has(dl) で判定。Chrome/Safari 対応。 */
.c-IrLibGroup:not(:has(.c-Xj--list dl)) { display: none; }
.c-IrLibGroup__subhead { margin: 0 0 6px; font-family: var(--font-mincho); font-size: clamp(18px, 2vw, 24px); font-weight: 500; letter-spacing: 0.08em; color: var(--ink); }
/* Adobe Acrobat Reader 案内バナー。Figma node 240:2014 実測値：icon=162×42px / font=14px/28px / gap=25px / YuMincho Medium。 */
.c-IrDetail__pdfNotice { margin: clamp(48px, 8vw, 80px) 0 0; text-align: center; }
.c-IrDetail__pdfNotice a { display: inline-flex; align-items: center; gap: 25px; color: var(--ink); text-decoration: none; text-align: left; }
.c-IrDetail__pdfNotice img { flex: 0 0 auto; width: 162px; height: 42px; }
.c-IrDetail__pdfNotice p { margin: 0; font-family: var(--font-mincho); font-size: 14px; font-weight: 500; line-height: 28px; color: var(--ink); }
@media (max-width: 600px) {
  .c-IrDetail__pdfNotice a { flex-direction: column; gap: 12px; text-align: center; }
  .c-IrDetail__pdfNotice p { font-size: 13px; }
}
@media (max-width: 560px) { .c-IrDetail__body .c-Xj--list dl { grid-template-columns: 1fr; gap: 2px; } }

/* ========== IRサブナビ帯（兄弟ページへの導線） ========== */
.c-IrSubnav {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: clamp(14px, 2.2vw, 34px);
  padding: clamp(30px, 4vw, 52px) 0;
  border-top: 1px solid var(--line);
}
.c-IrSubnav a {
  font-family: var(--font-mincho);
  font-size: 14px; color: var(--ink); text-decoration: none; line-height: 1.6;
}
.c-IrSubnav a:hover { color: var(--accent); }
.c-IrSubnav a[aria-current="page"] { color: var(--accent); font-weight: 700; }

/* ========== レスポンシブ ========== */
@media (max-width: 860px) {
  .l-IrMsgGrid { grid-template-columns: 1fr; grid-template-areas: "body" "photo" "sign"; }
  .c-IrDetail__figure { max-width: 360px; }
  .c-IrTable th { width: 38%; }
}
@media (max-width: 560px) {
  .c-IrDetail__head { gap: 16px; }
  .c-IrDetail__mark { width: auto; }
  .c-IrDetail__hero .c-IrDetail__title { white-space: normal; }
  .c-IrTable th { display: block; width: auto; white-space: normal; }
  .c-IrDocList li { grid-template-columns: 1fr; gap: 4px; }
}
