/* Shared notice pages and the selected, static Instagram photographs. */
:root { --line: var(--rule); --muted: #516d72; }
.theme-b { --muted: #435984; }
.theme-c { --muted: #536a82; }
.header nav { gap: 17px; }
.feed { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.post-image img { height: 410px; object-position: center 48%; }
.theme-b .post:nth-child(2) { margin-top: 45px; }
.news-home { padding-top: 75px; padding-bottom: 75px; }
.news-intro { color: var(--muted); margin: 20px 0 28px; font-size: 15px; }
.notice-list { border-top: 1px solid var(--line); }
.notice-row { display: grid; grid-template-columns: 112px 124px minmax(0, 1fr) 24px; align-items: center; gap: 22px; min-height: 100px; padding: 24px 8px; border-bottom: 1px solid var(--line); text-decoration: none; transition: background .2s, padding .2s; }
.notice-row:hover { background: rgba(35, 89, 110, .045); padding-left: 16px; }
.notice-row time { font-size: 14px; letter-spacing: .04em; color: var(--muted); font-variant-numeric: tabular-nums; }
.notice-category { font-size: 12px; border: 1px solid currentColor; border-radius: 20px; text-align: center; padding: 5px 9px; color: var(--accent); }
.notice-title { font-size: 17px; line-height: 1.65; font-weight: 600; }
.notice-arrow { font-size: 21px; color: var(--accent); }
.news-page { min-height: 65vh; }
.breadcrumb { font-size: 13px; color: var(--muted); padding-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.breadcrumb a { text-underline-offset: 4px; }
.news-page-heading { padding: 58px 0 40px; }
.news-page-heading h1 { font-size: clamp(32px, 4vw, 52px); line-height: 1.5; margin: 14px 0 20px; }
.news-page-heading p:last-child { max-width: 660px; font-size: 16px; color: var(--muted); line-height: 1.9; }
.sample-banner { background: rgba(31, 92, 121, .055); border-left: 3px solid var(--accent); padding: 15px 20px; font-size: 13px; line-height: 1.8; margin-bottom: 30px; }
.sample-banner strong { display: block; color: var(--accent); margin-bottom: 3px; }
.news-index { padding-bottom: 90px; }
.news-bottom { margin-top: 40px; }
.article-wrap { width: min(800px, 87%); margin: auto; padding-bottom: 85px; }
.article-meta { display: flex; align-items: center; gap: 18px; margin: 40px 0 20px; }
.article-meta time { font-size: 14px; color: var(--muted); letter-spacing: .05em; }
.article-meta .notice-category { min-width: 100px; }
.article-head h1 { font-size: clamp(27px, 3.5vw, 42px); line-height: 1.55; margin: 0 0 25px; letter-spacing: .02em; }
.article-lead { font-size: 17px; line-height: 1.9; color: var(--muted); margin-bottom: 35px; }
.article-image { margin: 36px 0; }
.article-image img { display: block; width: 100%; max-height: 530px; object-fit: cover; object-position: center 50%; border-radius: 8px; }
.article-image figcaption { font-size: 12px; color: var(--muted); margin-top: 12px; }
.article-body section { margin: 40px 0; }
.article-body h2 { font-size: 23px; line-height: 1.6; margin: 0 0 20px; }
.article-body p { font-size: 16px; line-height: 2; margin: 16px 0; }
.article-links { display: flex; flex-wrap: wrap; gap: 18px 28px; border-top: 1px solid var(--line); padding: 27px 0; }
.article-back { margin-top: 26px; }
.theme-b .news-home { border-bottom: 1px solid var(--line); }
.theme-b .notice-category { border-radius: 2px; }
.theme-c .news-home { background: #fff; }
@media (max-width: 1100px) { .header nav { gap: 12px; } }
@media (max-width: 800px) {
 .header nav { gap: 8px 6px; flex-wrap: wrap; justify-content: space-between; }
 .header nav a { font-size: 12px; padding: 3px 0; }
 .feed { grid-template-columns: 1fr; gap: 30px; }
 .theme-b .post:nth-child(2) { margin-top: 0; }
 .post-image img { height: 235px; }
 .news-home { padding-top: 52px; padding-bottom: 52px; }
 .news-home .feed-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
 .days .feed-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
 .notice-row { grid-template-columns: 96px minmax(0, 1fr) 22px; gap: 12px; min-height: 0; padding: 22px 0; }
 .notice-row time { font-size: 12px; }
 .notice-category { justify-self: start; font-size: 11px; padding: 3px 9px; }
 .notice-title { grid-row: 2; grid-column: 1 / 3; font-size: 15px; }
 .notice-arrow { grid-row: 2; grid-column: 3; }
 .news-page-heading { padding: 34px 0 25px; }
 .news-page-heading p:last-child { font-size: 14px; }
 .breadcrumb { padding-top: 24px; font-size: 11px; gap: 8px; }
 .sample-banner { padding: 13px 15px; font-size: 12px; }
 .news-index { padding-bottom: 60px; }
 .article-meta { margin-top: 30px; }
 .article-lead { font-size: 15px; }
 .article-body h2 { font-size: 20px; }
 .article-body p { font-size: 15px; }
 .article-image img { max-height: 440px; }
 .article-links { flex-direction: column; gap: 20px; }
}
