/* ===== 機関別資料ページ ===== */
.page-hero { background: linear-gradient(135deg, #3AAEDC 0%, #1A87C0 100%); padding: 28px 24px; }
.page-hero-inner { max-width: 1100px; margin: 0 auto; }
.page-hero h1 { color: #fff; font-size: 22px; margin-bottom: 8px; }
.page-hero p { color: #D8F0FB; font-size: 14px; }
.page-hero-sub { margin-top: 8px; font-size: 13px !important; }
.page-hero-sub a { color: #fff; text-decoration: underline; }

/* ジャンプナビ */
.inst-jumpnav {
  background: #fff;
  border: 1px solid #D0E8F5;
  border-radius: 10px;
  padding: 12px 18px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.inst-jumpnav-label { font-size: 12px; color: #888; margin-right: 4px; white-space: nowrap; }
.inst-jumpnav a {
  font-size: 13px;
  background: #E8F4FD;
  color: #1A87C0;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
}
.inst-jumpnav a:hover { background: #3AAEDC; color: #fff; }

/* 機関セクション */
.inst-section {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #E0EEF7;
  margin-bottom: 32px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.inst-header {
  background: #F0F7FC;
  border-bottom: 2px solid #D0E8F5;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.inst-header-left { display: flex; align-items: center; gap: 14px; }
.inst-icon { font-size: 30px; }
.inst-name { font-size: 17px; font-weight: 700; color: #1A4A6B; }
.inst-abbr { font-size: 11px; color: #999; margin-top: 2px; }

.inst-official-link {
  font-size: 12px;
  background: #1A87C0;
  color: #fff !important;
  padding: 6px 14px;
  border-radius: 20px;
  text-decoration: none !important;
  white-space: nowrap;
}
.inst-official-link:hover { background: #3AAEDC; }

.inst-body { padding: 20px; }

.inst-description {
  font-size: 14px;
  color: #555;
  margin-bottom: 16px;
  line-height: 1.7;
  background: #F7FBFF;
  border-left: 3px solid #3AAEDC;
  padding: 10px 14px;
  border-radius: 0 6px 6px 0;
}

.inst-latest { margin-bottom: 4px; }

.inst-section-label {
  font-size: 12px;
  font-weight: 700;
  color: #888;
  margin-bottom: 10px;
  letter-spacing: 0.04em;
}

/* 全資料リンクボタン */
.inst-archive-btn {
  display: inline-block;
  margin-top: 14px;
  font-size: 13px;
  color: #1A87C0;
  border: 1px solid #3AAEDC;
  padding: 6px 16px;
  border-radius: 20px;
  text-decoration: none;
  transition: background 0.15s;
}
.inst-archive-btn:hover { background: #E8F4FD; text-decoration: none; }

/* アコーディオン（分科会・小委員会） */
.committee-block {
  border: 1px solid #D0E8F5;
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}

.committee-block summary.committee-parent {
  list-style: none;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 700;
  color: #1A4A6B;
  background: #F0F7FC;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}
.committee-block summary.committee-parent::before {
  content: "▶";
  font-size: 11px;
  color: #3AAEDC;
  transition: transform 0.2s;
}
.committee-block[open] summary.committee-parent::before {
  transform: rotate(90deg);
}
.committee-block summary::-webkit-details-marker { display: none; }

.committee-children {
  padding: 12px 16px;
  background: #fff;
}

.committee-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.committee-list li {
  padding: 6px 0;
  border-bottom: 1px solid #F0F7FC;
  font-size: 13px;
}
.committee-list li:last-child { border-bottom: none; }
.committee-list li::before { content: "▷ "; color: #3AAEDC; font-size: 11px; }
.committee-list a { color: #1A87C0; }

.committee-child-note {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
}

.committee-archive-link {
  font-size: 12px;
  color: #1A87C0;
  display: inline-block;
  margin-top: 4px;
}
