/* report/event/event.css */

/* PAGE HERO */
.page-hero { background:linear-gradient(135deg,#0F1E38 0%,#1B2A4A 100%); padding:48px var(--gutter) 52px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:url('/images/oyakuni_top.jpg') center/cover no-repeat; opacity:.07; }
.page-hero-inner { max-width:var(--max-width); margin:0 auto; position:relative; z-index:1; }
.page-hero .breadcrumb { padding:0; margin-bottom:14px; color:rgba(255,255,255,0.38); }
.page-hero .breadcrumb a { color:rgba(255,255,255,0.38); }
.page-hero .breadcrumb a:hover { color:rgba(255,255,255,0.7); }
.art-meta { display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.art-cat { display:inline-block; background:rgba(26,111,232,0.4); color:#93C5FD; font-size:11px; font-weight:700; padding:4px 12px; border-radius:100px; letter-spacing:.05em; }
.art-tag { font-size:11px; color:rgba(255,255,255,0.5); background:rgba(255,255,255,0.1); padding:3px 10px; border-radius:6px; }
.page-hero h1 { font-size:clamp(20px,3vw,34px); font-weight:900; color:var(--white); line-height:1.3; letter-spacing:-.02em; margin-bottom:12px; }
.hero-sub { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.7; }

/* MAIN */
.report-main { max-width:var(--max-width); margin:0 auto; padding:36px var(--gutter) 80px; }

/* 注記 */
.report-note { display:flex; align-items:flex-start; gap:10px; background:#FFF7ED; border:1px solid #FED7AA; border-radius:8px; padding:12px 16px; margin-bottom:28px; }
.rn-icon { font-size:16px; flex-shrink:0; }
.rn-text { font-size:12.5px; color:#92400E; line-height:1.65; }

/* 一覧ページ：年セクション */
.year-section { margin-bottom:36px; }
.year-label { font-size:20px; font-weight:900; color:var(--navy); margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--blue); display:inline-block; }

/* レポートカード */
.report-cards { display:flex; flex-direction:column; gap:10px; }
.report-card { display:flex; align-items:center; gap:16px; background:var(--white); border:1px solid var(--gray-200); border-radius:10px; padding:16px 20px; text-decoration:none; transition:all .2s; }
.report-card:hover { border-color:var(--blue); box-shadow:var(--shadow); transform:translateX(4px); }
.rc-period { font-size:11px; font-weight:700; color:var(--blue); background:var(--blue-lt); padding:4px 10px; border-radius:100px; white-space:nowrap; flex-shrink:0; }
.rc-title { font-size:14px; font-weight:700; color:var(--navy); flex:1; }
.rc-meta { font-size:11px; color:var(--gray-400); white-space:nowrap; }
.rc-arrow { font-size:16px; color:var(--blue); flex-shrink:0; }

/* 記事ページ：データブロック */
.data-block { background:var(--white); border-radius:var(--radius); padding:32px 36px; margin-bottom:24px; box-shadow:var(--shadow); }
.data-block h2 { font-size:17px; font-weight:900; color:var(--navy); margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid var(--gray-100); }

/* データテーブル */
.data-table-wrap { overflow-x:auto; margin-bottom:10px; border:2px solid #64748B; border-radius:8px; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table thead th { padding:11px 14px; text-align:center; font-weight:700; font-size:12px; background:var(--navy); color:white; border-right:1px solid rgba(255,255,255,0.15); }
.data-table thead th:first-child { text-align:left; }
.data-table thead th:last-child { border-right:none; }
.data-table tbody td { padding:10px 13px; border-bottom:1px solid #94A3B8; border-right:1px solid #94A3B8; text-align:center; color:var(--gray-600); vertical-align:middle; }
.data-table tbody td:last-child { border-right:none; }
.data-table tbody td:first-child { text-align:left; white-space:nowrap; }
.data-table tbody tr.alt td { background:#F5F9FF; }
.data-table tbody tr:not(.alt) td { background:#FFFFFF; }
.data-table tbody tr:hover td { background:#EEF4FF !important; }
.data-table tbody td a { color:var(--blue); text-decoration:none; }
.data-table tbody td a:hover { text-decoration:underline; }
.data-table tbody td.col-name { text-align:left; font-weight:600; color:var(--navy); }
.data-table tfoot td { padding:11px 14px; background:var(--blue-lt); font-weight:700; text-align:center; border-top:2px solid var(--blue); }
.data-table tfoot td.total-label { text-align:left; color:var(--navy); }
.data-table tbody tr:last-child td { border-bottom:none; }
.num { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:var(--navy); }
.total { color:var(--blue); }
.yoy { font-weight:700; font-size:12px; }
.yoy-up   { color:#16A34A; }
.yoy-down { color:#DC2626; }
.yoy-flat { color:var(--gray-400); }
.data-source { font-size:11px; color:var(--gray-400); text-align:right; margin-top:8px; }

/* 関連記事 */
.related-block { margin-bottom:24px; }
.related-block h3 { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:12px; }
.related-links { display:flex; flex-direction:column; gap:8px; }
.related-link { display:flex; align-items:center; gap:12px; background:var(--gray-50); border:1px solid var(--gray-200); border-radius:8px; padding:12px 16px; text-decoration:none; transition:all .2s; }
.related-link:hover { border-color:var(--blue); background:var(--blue-lt); }
.rl-period { font-size:11px; font-weight:700; color:var(--blue); background:var(--blue-lt); padding:3px 10px; border-radius:100px; white-space:nowrap; flex-shrink:0; }
.rl-title { font-size:13px; font-weight:600; color:var(--navy); }
.related-link-all { justify-content:center; }
.related-link-all .rl-title { color:var(--blue); }

/* CTA */
.report-cta { background:linear-gradient(135deg,#0F1E38,#1B2A4A); border-radius:var(--radius); padding:32px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-top:8px; }
.rct-title { font-size:16px; font-weight:900; color:var(--white); margin-bottom:6px; }
.report-cta p { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.7; margin:0; }

/* 過去データDLブロック */
.dl-block { display:flex; align-items:center; gap:16px; background:#F0FDF4; border:1px solid #BBF7D0; border-radius:10px; padding:18px 20px; margin-bottom:24px; }
.dl-icon { font-size:28px; flex-shrink:0; }
.dl-title { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:10px; }
.dl-btn { display:inline-block; background:var(--blue); color:white; font-size:13px; font-weight:700; padding:8px 18px; border-radius:6px; text-decoration:none; }
.dl-btn:hover { opacity:.85; }

/* テーブル列幅調整 */
.data-table .col-date { white-space:nowrap; }
.data-table .col-org { font-size:11px; white-space:nowrap; }
.data-table .col-visitors2 { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; color:var(--navy); text-align:center; }

@media(max-width:860px) {
  .report-card { flex-wrap:wrap; }
  .rc-meta { display:none; }
  .data-block { padding:22px 18px; }
  .report-cta { flex-direction:column; text-align:center; }
}

/* Layout adjustment for exhibition data pages */
.page-hero-inner,
.report-main {
  max-width: 1100px;
}

/* Table font sizes: PC / Tablet */
.data-table,
.data-table th,
.data-table td,
.data-table a,
.data-table small,
.num,
.data-table .col-visitors2,
.data-table .col-org,
.yoy {
  font-size: 9px;
}

.data-table th,
.data-table td {
  padding: 6px 8px;
  line-height: 1.4;
}

/* 罫線を安定表示 */
.data-table {
  border-collapse: separate;
  border-spacing: 0;
}

.data-table th,
.data-table td {
  border-right: none;
  border-bottom: none;
  border-left: 1px solid #94A3B8;
  border-top: 1px solid #94A3B8;
}

.data-table thead th {
  border-top: none;
}

.data-table th:first-child,
.data-table td:first-child {
  border-left: none;
}

/* 展示会名称1・2を中央揃え */
.data-table th:nth-child(3),
.data-table th:nth-child(4),
.data-table td:nth-child(3),
.data-table td:nth-child(4),
.data-table td[colspan="2"] {
  text-align: center;
}

/* Smartphone */
@media (max-width: 768px) {
  .data-table,
  .data-table th,
  .data-table td,
  .data-table a,
  .data-table small,
  .num,
  .data-table .col-visitors2,
  .data-table .col-org,
  .yoy {
    font-size: 8px;
  }

  .data-table th,
  .data-table td {
    padding: 4px 5px;
    line-height: 1.3;
  }
}

/* Schedule table: no horizontal slider */
.schedule-table {
  table-layout: fixed;
  width: 100%;
}

.schedule-table th,
.schedule-table td {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* 1:日程 / 2:会場 / 3:展示会名称1 / 4:展示会名称2 / 5:前年来場者 / 6:主催 */
.schedule-table th:nth-child(1),
.schedule-table td:nth-child(1) {
  width: 9%;
}

.schedule-table th:nth-child(2),
.schedule-table td:nth-child(2) {
  width: 12%;
}

.schedule-table th:nth-child(3),
.schedule-table td:nth-child(3) {
  width: 24%;
  text-align: center;
}

.schedule-table th:nth-child(4),
.schedule-table td:nth-child(4) {
  width: 31%;
  text-align: center;
}

.schedule-table th:nth-child(5),
.schedule-table td:nth-child(5) {
  width: 8%;
  text-align: center;
}

.schedule-table th:nth-child(6),
.schedule-table td:nth-child(6) {
  width: 16%;
  text-align: center;
}

.schedule-table .col-org {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}