.announcement-list-shell {
  min-height: 100vh;
  color: #414141;
  font-family: "Noto Sans JP", "Noto Sans", sans-serif;
}

.announcement-list-page {
  width: min(1120px, calc(100% - 48px));
  min-height: calc(100vh - 250px);
  margin: 0 auto;
  padding: 27px 0 72px;
}

.announcement-list-shell .list-filter { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1.2fr)) auto; }

.announcement-list-items { margin-top: 32px; border-top: 1px solid var(--public-warm-border); }
.announcement-list-item { border-bottom: 1px solid var(--public-warm-border); }
.announcement-list-item > a { display: block; color: inherit; padding: 24px 16px; text-decoration: none; transition: background-color .18s ease; }
.announcement-list-item > a:hover { background: #f7f7f7; }
.announcement-list-item__heading { display: flex; align-items: baseline; gap: 14px; }
.announcement-list-item time { flex: 0 0 auto; color: var(--public-warm-muted); font-size: 13px; }
.announcement-list-item h2 { margin: 0; color: #242424; font-size: 18px; font-weight: 700; line-height: 1.5; }
.announcement-list-item p { display: -webkit-box; overflow: hidden; margin: 8px 0 0; color: #737373; font-size: 14px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.announcement-list-item__taxonomy { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin-top: 11px; }

@media (max-width: 800px) { .announcement-list-shell .list-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .announcement-list-shell .public-breadcrumb { display: none; } .announcement-list-page { width: 100%; padding: 20px 15px 48px; } .announcement-list-item > a { padding: 20px 0; } .announcement-list-item__heading { align-items: flex-start; flex-direction: column; gap: 4px; } .announcement-list-item h2 { font-size: 16px; } }
