/* トップの「メディア」欄と、お知らせの詳細ページ（site.css の上に重ねる） */

/* ---------- メディアの新着カード ---------- */
.sa-mcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); }
.sa-mcard__link { display: flex; flex-direction: column; gap: 14px; height: 100%; }
.sa-mcard__img { display: block; aspect-ratio: 8 / 5; overflow: hidden; border-radius: var(--sa-radius); background: var(--sa-white); }
.sa-mcard__photo { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--sa-ease-out); }
.sa-mcard__link:hover .sa-mcard__photo { transform: scale(1.04); }
.sa-mcard__ph { display: block; width: 100%; height: 100%; background: var(--sa-grad); opacity: .5; }
.sa-mcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-family: var(--sa-font-en); font-size: 14px; letter-spacing: .04em; }
.sa-mcard__meta .sa-news__cat { font-family: var(--sa-font); }
.sa-mcard__title { font-weight: 500; line-height: 1.7; transition: color var(--sa-hover) var(--sa-ease); }
.sa-mcard__link:hover .sa-mcard__title { color: var(--sa-green); }
.sa-mcard__link .sa-arrow { margin-top: auto; }
@media (max-width: 1023px) { .sa-mcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sa-mcards { grid-template-columns: 1fr; } .sa-mcard__link .sa-arrow { display: none; } }

/* ---------- お知らせ：ページ送りと空の表示 ---------- */
.sa-paging { display: flex; justify-content: center; gap: 10px; margin-top: var(--sa-space-2); font-family: var(--sa-font-en); }
.sa-paging a, .sa-paging span { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--sa-ink); border-radius: var(--sa-radius); }
.sa-paging span[aria-current] { background: var(--sa-ink); color: var(--sa-white); }
.sa-paging a:hover { background: var(--sa-green); border-color: var(--sa-green); color: var(--sa-white); }
.sa-empty { padding: 40px 4px; color: var(--sa-mute); }

/* ---------- お知らせの詳細 ---------- */
.sa-article { max-width: 880px; margin: 0 auto; }
.sa-article__meta { display: flex; align-items: center; gap: 16px; }
.sa-article__title { margin-top: 18px; padding-bottom: 28px; border-bottom: 1px solid var(--sa-ink); font-size: clamp(22px, 2.2vw, 32px); font-weight: 700; line-height: 1.6; }
.sa-article__body { padding: 36px 0 12px; overflow-wrap: anywhere; }
.sa-article__body > * + * { margin-top: 1.4em; }
.sa-article__body h2 { font-size: 1.35em; line-height: 1.6; padding-left: 14px; border-left: 4px solid var(--sa-green); }
.sa-article__body h3 { font-size: 1.15em; line-height: 1.6; }
.sa-article__body ul { list-style: disc; padding-left: 1.4em; }
.sa-article__body ol { list-style: decimal; padding-left: 1.4em; }
.sa-article__body a { color: var(--sa-green-deep); text-decoration: underline; }
.sa-article__body img { border-radius: var(--sa-radius); }
.sa-article__body table { width: 100%; border-collapse: collapse; }
.sa-article__body th, .sa-article__body td { padding: 10px 12px; border: 1px solid var(--sa-line); text-align: left; }
.sa-article__back { margin-top: var(--sa-space-2); padding-top: 28px; border-top: 1px solid var(--sa-line); text-align: center; }
