@charset "UTF-8";

/* 第42回全国城郭研究者セミナー開催記録専用 */
.seminar-archive {
  --program-time-column: 140px;
  --program-cell-padding-block: 12px;
  --program-cell-padding-inline: 14px;
}

.seminar-archive .subpage-container {
  /* 54px のパネル余白を含め、PC時の本文実効幅を約970pxにする */
  max-width: 1080px;
}

/*
 * 共通CSSの 72ch は欧文向けの行長で、日本語では約550～600pxに
 * 収まりやすい。開催記録ではパネルの有効幅を使い、日本語の
 * 1文字幅に近い ic（未対応環境向けに em）で長文の上限を定める。
 */
.seminar-archive .content-panel {
  min-width: 0;
  font-size: 1rem;
  line-height: 1.8;
  overflow-wrap: break-word;
}

.seminar-archive .content-panel p,
.seminar-archive .content-panel li {
  max-width: none;
}

.seminar-archive .seminar-longform > p,
.seminar-archive .seminar-longform > ol {
  width: 100%;
  max-width: 58em;
  max-width: 58ic;
}

.seminar-archive .archive-kicker {
  display: inline-block;
  margin: 0 0 12px;
  padding: .25em .75em;
  color: #fff;
  background: var(--green);
  border-radius: 999px;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.seminar-archive .archive-theme {
  margin: 12px 0 0;
  color: var(--brown);
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 600;
  line-height: 1.5;
}

.seminar-archive .archive-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.seminar-archive .archive-summary > div {
  padding: 16px 18px;
  background: #fff;
}

.seminar-archive .archive-summary dt {
  color: var(--brown);
  font-size: .88rem;
  font-weight: 700;
}

.seminar-archive .archive-summary dd {
  margin: 3px 0 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.seminar-archive .archive-message {
  margin: 22px 0 0;
  padding: 18px 20px;
  background: #f7f4ec;
  border-left: 5px solid var(--gold);
}

.seminar-archive .archive-message p:last-child { margin-bottom: 0; }

.seminar-archive .event-details {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--line);
}

.seminar-archive .event-details dt,
.seminar-archive .event-details dd {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.seminar-archive .event-details dt {
  color: var(--green-dark);
  background: #f7f4ec;
  font-weight: 700;
}

.seminar-archive .event-details dd { margin: 0; }

.seminar-archive .event-details dd,
.seminar-archive .resource-card,
.seminar-archive .survey-label > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.seminar-archive .event-photo {
  width: min(100%, 720px);
  margin-inline: auto;
}

.seminar-archive .event-photo img {
  width: 100%;
  border: 1px solid var(--line);
}

.seminar-archive .paper-reports-table { min-width: 690px; }

.seminar-archive .program-list-head,
.seminar-archive .program-item {
  display: grid;
  grid-template-columns: var(--program-time-column) minmax(0, 1fr);
}

.seminar-archive .program-list-head {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #fff;
  background: var(--green);
  border-right: 1px solid var(--green);
  border-left: 1px solid var(--green);
  font-weight: 700;
}

.seminar-archive .program-list-head span {
  padding: var(--program-cell-padding-block) var(--program-cell-padding-inline);
}

.seminar-archive .program-list-head span + span {
  border-left: 1px solid rgba(255,255,255,.28);
}

.seminar-archive .content-panel .program-list {
  width: 100%;
  margin: 0 0 32px;
  padding: 0;
  padding-inline: 0;
  list-style: none;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.seminar-archive .content-panel .program-list .program-item {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.seminar-archive .content-panel .program-list .program-item:first-child {
  border-top: 0;
}

.seminar-archive .program-time,
.seminar-archive .program-content {
  padding: var(--program-cell-padding-block) var(--program-cell-padding-inline);
}

.seminar-archive .program-time {
  color: var(--green-dark);
  background: #f7f4ec;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  white-space: nowrap;
}

.seminar-archive .program-content {
  min-width: 0;
  border-left: 1px solid var(--line);
  overflow-wrap: anywhere;
}

.seminar-archive .program-title {
  font-weight: 600;
}

.seminar-archive .program-report .program-title,
.seminar-archive .program-discussion .program-title {
  color: var(--green-dark);
  font-weight: 700;
}

.seminar-archive .program-presenter,
.seminar-archive .program-detail {
  margin: 5px 0 0;
  line-height: 1.65;
}

.seminar-archive .program-presenter .affiliation {
  display: block;
  margin-top: 2px;
}

.seminar-archive .report-code {
  display: inline-block;
  min-width: 2em;
  color: var(--brown);
  font-weight: 700;
}

.seminar-archive .report-title { font-weight: 700; }
.seminar-archive .report-subtitle { display: block; }
.seminar-archive .affiliation { color: var(--muted); font-size: .9em; }

.seminar-archive .working-definition {
  width: min(100%, 58em);
  width: min(100%, 58ic);
  margin: 24px 0;
  padding: 20px 22px;
  color: var(--green-dark);
  background: #f1eee5;
  border-left: 5px solid var(--green);
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 1.12rem;
  line-height: 1.9;
}

.seminar-archive .function-list li::marker {
  color: var(--brown);
  font-weight: 700;
}

.seminar-archive .resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.seminar-archive .resource-card {
  min-height: 100%;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
}

.seminar-archive .resource-card h3 { margin: 0 0 8px; }
.seminar-archive .resource-card p { margin-bottom: 12px; }

.seminar-archive .resource-card .button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.seminar-archive .survey-total {
  display: inline-block;
  padding: 8px 14px;
  background: #f1eee5;
  border-left: 4px solid var(--gold);
}

.seminar-archive .survey-group {
  margin-top: 26px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
}

.seminar-archive .survey-group h3 { margin-top: 0; }
.seminar-archive .survey-summary { font-weight: 700; }
.seminar-archive .survey-note { color: var(--muted); font-size: .9rem; }
.seminar-archive .survey-list { margin: 0; padding: 0; list-style: none; }
.seminar-archive .survey-list li + li { margin-top: 12px; }

.seminar-archive .survey-label {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  max-width: none;
  margin-bottom: 4px;
}

.seminar-archive .survey-value { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.seminar-archive .survey-track { height: 16px; overflow: hidden; background: #e7e2d7; }
.seminar-archive .survey-bar { display: block; height: 100%; background: var(--green); }

.seminar-archive .historical-note {
  padding: 14px 16px;
  color: #594817;
  background: #fff8df;
  border-left: 5px solid #9b7118;
  font-weight: 700;
}

.seminar-archive .related-list { columns: 2; column-gap: 32px; }
.seminar-archive .related-list li { break-inside: avoid; }

@media (max-width: 720px) {
  .seminar-archive .archive-summary,
  .seminar-archive .resource-grid { grid-template-columns: 1fr; }

  .seminar-archive .event-details { grid-template-columns: 1fr; }
  .seminar-archive .event-details dt { padding-bottom: 4px; border-bottom: 0; }
  .seminar-archive .event-details dd { padding-top: 4px; }
  .seminar-archive .related-list { columns: 1; }
}

@media (max-width: 640px) {
  .seminar-archive .seminar-longform > p,
  .seminar-archive .seminar-longform > ol,
  .seminar-archive .working-definition {
    width: 100%;
    max-width: none;
  }

  .seminar-archive .program-list-head {
    display: none;
  }

  .seminar-archive .program-item {
    display: block;
  }

  .seminar-archive .content-panel .program-list {
    border-top: 1px solid var(--line);
  }

  .seminar-archive .program-time {
    padding: 8px 12px;
    border-bottom: 1px solid var(--line);
  }

  .seminar-archive .program-content {
    padding: 11px 12px 14px;
    border-left: 0;
  }

  .seminar-archive .program-presenter,
  .seminar-archive .program-detail {
    margin-top: 7px;
  }
}

@media (max-width: 420px) {
  .seminar-archive .survey-group { padding: 16px 14px; }
  .seminar-archive .survey-label { display: block; }
  .seminar-archive .survey-value {
    display: block;
    margin-top: 2px;
    color: var(--muted);
  }
}

@media print {
  .seminar-archive .table-scroll { overflow: visible; }
  .seminar-archive .paper-reports-table { min-width: 0; }
  .seminar-archive .survey-bar { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
