/* ============================================================
   CEATECの歩み ページ専用スタイル（来場者向けサイト 2026）
   /ja/about/history.html
   ※ 出展募集サイト /2026/app_asset/css/ceatec_history.css とほぼ同内容
   （実施報告書ボタンのみ各サイトのトンマナ準拠で別: 来場募集=.btn / 出展募集=.c_btn）
   ============================================================ */

/* テンプレート側の h4 装飾を打ち消し */
.results_list h4 {
  background: none;
  padding: 0;
}
/* カード見出し（共有CSSのh4装飾を受けないよう p タグ + クラスで完結させる） */
.history_detail_name {
  margin: 0;
  padding: 0;
  background: none;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}
/* ページ背景が白の場合に備えて実績カードに枠線 */
.results_list li {
  border: 1px solid #e5e9f0;
}

/* リセットCSSが strong を normal にするため、本文の年号強調用に太字を復元 */
.history strong {
  font-weight: 700;
}

/* ---- 詳細カード（前身イベント＋統合後の主要トピック） ---- */
.history_detail {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 30px 0 0;
  flex-wrap: wrap;
}
.history_detail_sources {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  min-width: 280px;
}
.history_detail_card {
  /* border: 1px solid #c8daf0; */
  border-radius: 8px;
  padding: 16px 18px;
  background: #fafbfd;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.history_detail_card--current {
  background: #f1f6fd;
  border-color: #4d79d3;
  flex: 1;
  min-width: 300px;
}
.history_detail_card--elec {
  background: #e9f6f4;
  border-color: #8fd0c8;
}
.history_detail_card--elec .history_detail_header {
  /* サイト共通トンマナのグリーン系グラデーション（暗→明、濃い側を左に。文字は白） */
  background: linear-gradient(90deg, #20a795 0%, #57c493 100%);
  border-bottom-color: #20a795;
}
.history_detail_card--elec .history_detail_name {
  color: #fff;
}
.history_detail_card--elec .history_detail_meta,
.history_detail_card--elec .history_detail_period,
.history_detail_card--elec .history_detail_organizer {
  color: #fff;
}
.history_detail_card--elec .history_detail_facts li {
  color: #222;
}
.history_detail_card--elec .history_detail_label {
  background: #17968b;
  color: #fff;
}
.history_detail_card--elec .history_detail_highlight {
  border-top-color: #8fd0c8;
  color: #0e7268;
}
.history_detail_card--elec .history_detail_highlight .history_detail_label {
  background: #0e7268;
  color: #ffffff;
}
.history_detail_card--elec .history_detail_highlight strong {
  color: #0e7268;
}
.history_detail_fact_org {
  display: block;
  font-size: 0.78rem;
  color: #777;
  line-height: 1.5;
}
.history_detail_header {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
  row-gap: 8px; /* 縦の行間は上下パディングと視覚的に揃うようやや詰める */
  margin: -16px -18px 14px;
  padding: 12px 18px;
  /* border-bottom: 2px solid #c8d8ee; */
  border-radius: 7px 7px 0 0;
  background: rgba(235, 243, 252, 0.6);
  flex-direction: column;
}
/* Webフォントの既定行高(normal)はブラウザ差が大きく、タイトルが行間の中央からずれるため明示する */
.history_detail_name,
.history_detail_meta {
  line-height: 1.4;
}
.history_detail_card--current .history_detail_header {
  /* 濃いめのブルーグラデーション（濃紺→ブルー。文字は白） */
  background: linear-gradient(90deg, #16377f 0%, #4a94d4 100%);
}
.history_name_change {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: middle;
  margin: 0 4px;
  line-height: 1;
}
.history_name_change_arrow {
  font-size: 1em;
  line-height: 1;
  font-weight: 600;
}
.history_name_change_label {
  font-size: 0.55em;
  font-weight: 600;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.history_detail_sources .history_detail_name {
  font-weight: bold;
  /* color: #005bac; */
  margin-top: 0 !important;
  line-height: 1.4;
  margin-bottom: 0;
}
.history_detail_card--current .history_detail_name {
  color: #fff;
  margin: 0;
  font-weight: 700;
}
.history_detail_meta {
  color: #666;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.history_detail_period {
  font-weight: bold;
  color: #fff;
}
.history_detail_organizer {
  color: #777;
}
/* 英語ページ：主催者名が長いためスポンサー表記を縮小（出展募集サイトと同サイズ） */
.en .history_detail_organizer {
  font-size: 0.8rem;
}
/* 主催表記内の注記マーカー（*1 等）はさらに小さく */
.history_detail_organizer sup {
  font-size: 0.85em;
}
.history_detail_facts,
.history_detail_timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* 統合後カードの年表はカード全高に広げ、余剰高さを各行スロットに均等配分して左列と下端を揃える */
.history_detail_timeline {
  gap: 0;
  flex: 1;
}
.history_detail_facts li,
.history_detail_timeline li {
  display: flex;
  gap: 10px;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #444;
  align-items: flex-start;
}
/* 各行はスロット内で上下中央に置き、テキストが区切り線どうしの中央に来るようにする。
   グリッド化で年号と本文の上揃えは維持（flexのwrapだと長文行で本文が年号の下に回り込む） */
.history_detail_timeline li {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: center;
  align-items: start;
  padding: 8px 0;
}
.history_detail_timeline li:not(:last-child) {
  border-bottom: 1px dashed #a8c4e0;
}
.history_detail_label {
  flex-shrink: 0;
  display: inline-block;
  min-width: 4.8em;
  font-size: 0.8rem;
  font-weight: bold;
  background: #e8eff8;
  color: #005bac;
  padding: 2px 6px;
  border-radius: 4px;
  text-align: center;
  margin-top: 2px;
}
.history_detail_highlight {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px dashed #d0d9e8;
  color: #E51384;
}
.history_detail_highlight .history_detail_label {
  background: #fce6ef;
  color: #E51384;
}
.history_detail_highlight strong {
  color: #E51384;
  font-weight: bold;
}
.history_detail_year {
  flex-shrink: 0;
  display: inline-block;
  min-width: 4.8em;
  font-weight: bold;
  font-size: 0.82rem;
  color: #4d79d3;
}
.history_detail_arrow {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  gap: 0;
  min-width: 90px;
}
.history_detail_arrow_label {
  position: absolute;
  top: 50%;
  left: 0;
  right: 10px;
  transform: translateY(-50%);
  text-align: center;
  z-index: 1;
  font-weight: bold;
  color: #464646;
  white-space: nowrap;
  pointer-events: none;
}
.history_detail_arrow_icon {
  flex: 1;
  width: 100px;
  min-height: 120px;
  background: #d9d9d9;
  /* 右向き矢印「→」（SVGマスク） — 太い角丸の軸＋三角形の矢じり（角丸控えめ）。色は background で変更 */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect x='14' y='32' width='58' height='56' rx='8' fill='%23000'/%3E%3Cpath d='M70 12 108 60 70 108Z' fill='%23000' stroke='%23000' stroke-width='7' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect x='14' y='32' width='58' height='56' rx='8' fill='%23000'/%3E%3Cpath d='M70 12 108 60 70 108Z' fill='%23000' stroke='%23000' stroke-width='7' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.2));
  align-self: flex-start;
}

@media screen and (max-width: 880px) {
  .history_detail {
    flex-direction: column;
  }
  .history_detail_sources {
    width: 100%;
  }
  .history_detail_arrow_icon {
    flex: none;
    width: 100%;
    height: 60px;
    transform: none;
    /* 下向き矢印（SVGマスク） — 太い角丸の軸＋三角形の矢じり（角丸控えめ） */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect x='24' y='14' width='72' height='58' rx='8' fill='%23000'/%3E%3Cpath d='M12 68 108 68 60 112Z' fill='%23000' stroke='%23000' stroke-width='7' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect x='24' y='14' width='72' height='58' rx='8' fill='%23000'/%3E%3Cpath d='M12 68 108 68 60 112Z' fill='%23000' stroke='%23000' stroke-width='7' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .history_detail_arrow_label {
    font-size: 1.3rem;
    right: 0;
    top: 45%;
  }
  .history_detail_card--current {
    width: 100%;
    min-width: 0;
  }
}

@media screen and (max-width: 480px) {
  .history_detail_arrow_icon {
    height: 70px;
    min-height: 0;
  }
  .history_detail_arrow_label {
    font-size: 1rem;
  }
}


/* ---- 主要沿革タイムライン ---- */
.timeline {
  position: relative;
  margin: 20px 0 0;
  padding-left: 160px;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 161px;
  top: 10px;
  bottom: 20px;
  width: 2px;
  background: #b8cfe8;
}
.timeline_item {
  position: relative;
  padding: 0 0 36px 24px;
  cursor: default;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.timeline_year {
  position: absolute;
  left: -160px;
  top: -2px;
  width: 136px;
  text-align: right;
  font-weight: bold;
  font-size: 1.8rem;
  color: #7aabda;
  line-height: 1.2;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}
.timeline_year.year--highlight {
  color: #7aabda;
}
.timeline_item::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #3e88c0;
  border: none;
  z-index: 1;
  transition: background 0.2s, transform 0.2s;
}
.timeline_item.item--highlight::before {
  background: #3e88c0;
  border-color: #3e88c0;
}
.timeline_title {
  font-weight: bold;
  margin: 0 0 4px;
  line-height: 1.4;
  transition: color 0.2s;
}
.timeline_desc {
  margin: 0;
  line-height: 1.7;
  transition: color 0.2s;
}

/* ホバー時のハイライト */
.timeline_item::after {
  content: '';
  position: absolute;
  left: 8px;
  right: -8px;
  /* 本文の上下に12pxずつ均等に広げ、ハイライト帯の上下中央に本文が来るようにする（下は padding-bottom 36px との差分） */
  top: -12px;
  bottom: 24px;
  background: rgba(0, 91, 172, 0.06);
  border-radius: 6px;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.timeline_item:hover::after {
  opacity: 1;
}
.timeline_item:hover .timeline_year {
  color: #005bac;
}
.timeline_item:hover .timeline_title {
  color: #005bac;
}
.timeline_item:hover .timeline_desc {
  color: #222;
}
.timeline_item:hover::before {
  background: #1a6ba8;
  transform: scale(1.5);
}

@media screen and (max-width: 640px) {
  .timeline {
    padding-left: 64px;
  }
  .timeline::before {
    left: 65px;
  }
  .timeline_year {
    left: -64px;
    width: 46px;
    top: 2px;
    font-size: 15px;
  }
}

/* 沿革下部の補足注釈 */
.spec_dl_note {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
}
.spec_dl_note li {
  font-size: 0.82rem;
  padding-left: 1.5em;
  text-indent: -1.5em;
  color: #777;
  line-height: 1.7;
}


/* ---- 過去の開催実績リスト（独立カード型グリッド） ---- */
.results_list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  background-color: transparent;
  border-top: none;
}
.results_list li {
  background: #fff;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  /* box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); */
  transition: box-shadow 0.2s, transform 0.2s;
}
.results_list li:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.results_list li h4 {
  margin: 0 0 10px;
  min-height: auto;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.25em;
  line-height: 1.2;
}
.results_event_brand {
  font-size: 0.9rem;
  font-weight: bold;
}
.results_event_year {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.5px;
}
.results_event_edition {
  font-size: 0.9rem;
  font-weight: normal;
}
.results_list li p {
  font-size: 0.95rem;
  margin: 0;
  line-height: 1.6;
  min-height: auto;
}
.results_list li .note {
  font-size: 0.78rem;
  color: #888;
  display: block;
}
/* サイト共通 .btn (add.css) 準拠。カード内サイズと左寄せのみ上書き */
.results_report_link {
  margin-top: 8px;
  margin-left: 0;
  margin-right: auto;
  font-size: 13px;
  padding: 8px 18px;
}
/* ページ遷移アイコンは余白のみ調整（縦位置は add.css 共通定義の middle に任せる） */
.results_report_link .material-icons-round {
  margin-left: 0.2rem;
}

/* ---- 会場アイコン ---- */
.venue_icon {
  font-size: 1rem;
  vertical-align: -0.2em;
  font-variation-settings: 'opsz' 20, 'wght' 400, 'FILL' 0, 'GRAD' 0;
  margin-right: 2px;
}

/* ---- 開催地ラベル ---- */
.venue_label {
  display: block;
  font-size: 0.68rem;
  font-weight: bold;
  color: #888;
  letter-spacing: 0.04em;
  /* margin-bottom: 2px; */
}
.venue_line {
  display: block;
}
.venue_line + .venue_line {
  /* margin-top: 6px; */
}

/* ---- 前身イベントセル（エレクトロニクスショー / COM JAPAN） ---- */
.results_list_legacy {
  background: #f8f8f8 !important;
  justify-content: center;
}
.results_list_legacy h4 {
  font-size: 0.95rem !important;
  font-weight: bold;
  margin: 0 0 8px !important;
  padding-bottom: 6px;
  color: #666 !important;
  min-height: auto !important;
  border-bottom: 1px solid #e0e0e0;
}
.legacy_events {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.legacy_event_name {
  font-size: 0.95rem !important;
  font-weight: bold;
  color: #555 !important;
  margin: 0 0 2px !important;
  line-height: 1.3 !important;
  min-height: auto !important;
}
.legacy_event_period {
  font-size: 0.78rem !important;
  color: #888 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  min-height: auto !important;
}

@media screen and (max-width: 1000px) {
  .results_list {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 640px) {
  .results_list {
    grid-template-columns: 1fr;
  }
}

/* ---- 開催実績カード内 統計エリア ---- */
.results_card_stats {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
}
.results_card_stat {
  flex: 1;
}
.results_card_stat .stat_label {
  display: inline-block;
  background: none;
  color: #4267B2;
  font-size: 0.8rem;
  font-weight: bold;
  padding: 0;
  border-radius: 0;
  line-height: 1.8;
  margin-bottom: 4px;
  width: 100%;
  border-bottom: 3px solid #4267B2;
}
.results_card_stat .stat_val {
  display: block;
  font-size: 1.9rem;
  font-weight: bold;
  font-style: italic;
  color: #4267B2;
  line-height: 1.2;
}
.results_card_stats .results_card_stat:last-child .stat_label {
  color: #1eb3a6;
  border-bottom-color: #1eb3a6;
}
.results_card_stats .results_card_stat:last-child .stat_val {
  color: #1eb3a6;
}
.results_card_stats .results_card_stat:last-child .stat_val small {
  color: #1eb3a6;
}
.results_card_stats .results_card_stat:last-child .stat_sub {
  color: #6dbdb5;
}
.results_card_stat .stat_val small {
  font-size: 1rem;
  margin-left: 4px;
  font-weight: bold;
  font-style: italic;
  color: #4267B2;
}
.stat_sub {
  display: block;
  font-size: 0.7rem;
  color: #888;
  font-weight: bold;
  font-style: normal;
  margin-top: .2rem;
}
