/* =========================================================
   Archive / 活動報告
   2-column archive + yearly/category filters
========================================================= */
.hm-archive-activity-report,
.hm-activity-archive-main { background:#f5f5f5; }
.hm-activity-archive-main { color:#273b53; }
.hm-activity-archive-shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.hm-activity-archive-kicker,
.hm-activity-archive-support-cta__kicker { margin:0; color:#b79b5b; font-family:var(--hm-en-serif); font-size:12px; font-weight:600; letter-spacing:.26em; }
.hm-activity-archive-heading-line { display:block; width:42px; height:2px; background:#b79b5b; }

.hm-activity-archive-hero { position:relative; height:326px; display:flex; align-items:center; overflow:hidden; background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 29%,rgba(255,255,255,.2) 58%,rgba(255,255,255,0) 100%),url("../images/top/top-activity-01.jpg") center 45% / cover no-repeat; }
.hm-activity-archive-hero__inner { position:relative; z-index:1; }
.hm-activity-archive-hero h1 { margin:11px 0 0; color:#0c315f; font-family:var(--hm-serif); font-size:43px; font-weight:600; line-height:1.35; letter-spacing:.06em; }
.hm-activity-archive-hero .hm-activity-archive-heading-line { margin-top:21px; }
.hm-activity-archive-hero__lead { margin:27px 0 0; color:#334b66; font-size:16px; font-weight:500; line-height:1.95; }

.hm-activity-archive-list-section { padding:100px 0 126px; }
.hm-activity-archive-section-heading { margin-bottom:48px; text-align:center; }
.hm-activity-archive-section-heading h2 { margin:11px 0 0; color:#173754; font-family:var(--hm-serif); font-size:38px; font-weight:600; line-height:1.5; letter-spacing:.06em; }
.hm-activity-archive-section-heading .hm-activity-archive-heading-line { margin:18px auto 0; }

.hm-activity-archive-layout { display:grid; grid-template-columns:minmax(0,1fr) 252px; gap:42px; align-items:start; }
.hm-activity-archive-content { min-width:0; }
.hm-activity-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 22px; }
.hm-activity-archive-card { min-width:0; }
.hm-activity-archive-card__link { height:100%; display:flex; flex-direction:column; overflow:hidden; border-radius:5px; background:#fff; box-shadow:0 12px 30px rgba(28,47,70,.045); transition:transform .2s ease,box-shadow .2s ease; }
.hm-activity-archive-card__link:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(28,47,70,.08); }
.hm-activity-archive-card__media { aspect-ratio:16 / 10; overflow:hidden; background:#e8edf1; }
body.hm-site-body .hm-activity-archive-card__image { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.hm-activity-archive-card__link:hover .hm-activity-archive-card__image { transform:scale(1.025); }
.hm-activity-archive-card__placeholder { width:100%; height:100%; background:linear-gradient(135deg,rgba(9,49,91,.08),rgba(183,155,91,.06)),#edf1f4; }
.hm-activity-archive-card__content { min-height:254px; padding:24px 25px 24px; display:flex; flex-direction:column; }
.hm-activity-archive-card__meta { min-height:24px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hm-activity-archive-card__meta time { color:#8b98a5; font-family:var(--hm-en-sans); font-size:12px; letter-spacing:.08em; }
.hm-activity-archive-card__category { display:inline-flex; align-items:center; min-height:22px; padding:3px 10px 4px; border:1px solid rgba(183,155,91,.55); border-radius:999px; color:#a68743; font-size:10px; font-weight:600; line-height:1.3; }
.hm-activity-archive-card__title { margin:14px 0 0; color:#173754; font-family:var(--hm-serif); font-size:22px; font-weight:900; line-height:1.62; letter-spacing:.025em; }
.hm-activity-archive-card__excerpt { margin:14px 0 0; color:#6d7b89; font-size:13px; line-height:1.9; }
.hm-activity-archive-card__more { margin-top:auto; padding-top:19px; border-top:1px solid #e6eaee; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#173754; font-size:12px; font-weight:700; }

.hm-activity-archive-sidebar { position:sticky; top:108px; display:grid; gap:24px; }
.hm-activity-archive-sidebox { padding:27px 24px 18px; background:#fff; border-top:3px solid #173754; box-shadow:0 10px 26px rgba(27,47,70,.04); }
.hm-activity-archive-sidebox__en { margin:0; color:#b79b5b; font-family:var(--hm-en-serif); font-size:10px; font-weight:600; letter-spacing:.24em; }
.hm-activity-archive-sidebox h2 { margin:6px 0 17px; color:#173754; font-family:var(--hm-serif); font-size:20px; font-weight:600; letter-spacing:.05em; }
.hm-activity-archive-sidebox ul { list-style:none; margin:0; padding:0; border-top:1px solid #e5e9ed; }
.hm-activity-archive-sidebox li { border-bottom:1px solid #e5e9ed; }
.hm-activity-archive-sidebox a { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#526274; font-size:13px; font-weight:500; }
.hm-activity-archive-sidebox small { color:#98a2ad; font-size:10px; }
.hm-activity-archive-sidebox li.is-current a { color:#0c315f; font-weight:700; }
.hm-activity-archive-sidebox li.is-current a > span:last-child { color:#b79b5b; }

.hm-activity-archive-filter-state { margin:0 0 24px; padding:13px 17px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#fff; border-left:3px solid #b79b5b; color:#71808e; font-size:12px; }
.hm-activity-archive-filter-state strong { color:#173754; font-size:13px; }
.hm-activity-archive-filter-state a { margin-left:auto; color:#173754; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.hm-activity-archive-pagination { margin-top:58px; display:flex; align-items:center; justify-content:center; gap:8px; }
.hm-activity-archive-pagination .page-numbers { width:42px; height:42px; display:inline-grid; place-items:center; border:1px solid #d9e0e7; background:#fff; color:#173754; font-size:13px; font-weight:600; }
.hm-activity-archive-pagination .page-numbers.current { border-color:#173754; background:#173754; color:#fff; }
.hm-activity-archive-empty { padding:60px 24px; background:#fff; text-align:center; color:#6d7b89; }

.hm-activity-archive-support-cta { background:#062b49; color:#fff; }
.hm-activity-archive-support-cta__inner { padding:72px 0 76px; text-align:center; }
.hm-activity-archive-support-cta h2 { margin:12px 0 0; font-family:var(--hm-serif); font-size:36px; font-weight:600; line-height:1.5; letter-spacing:.08em; }
.hm-activity-archive-support-cta__inner > p:not(.hm-activity-archive-support-cta__kicker) { margin:21px 0 0; color:rgba(255,255,255,.84); font-size:14px; line-height:1.9; }
.hm-activity-archive-support-cta__button { min-width:212px; min-height:49px; margin-top:34px; padding:0 20px 0 24px; display:inline-flex; align-items:center; justify-content:space-between; gap:22px; background:#fff; color:#173754 !important; font-size:13px; font-weight:700; }

@media (max-width:980px) {
  .hm-activity-archive-layout { grid-template-columns:1fr; gap:46px; }
  .hm-activity-archive-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .hm-activity-archive-shell { width:calc(100% - 40px); }
  .hm-activity-archive-hero { height:300px; background-position:62% center; }
  .hm-activity-archive-hero::before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.58); }
  .hm-activity-archive-hero h1 { font-size:36px; }
  .hm-activity-archive-list-section { padding:72px 0 90px; }
  .hm-activity-archive-section-heading h2 { font-size:31px; }
  .hm-activity-archive-grid { grid-template-columns:1fr; gap:22px; }
  .hm-activity-archive-card__content { min-height:0; padding:23px 22px 24px; }
  .hm-activity-archive-card__title { font-size:19px; }
  .hm-activity-archive-sidebar { grid-template-columns:1fr; gap:18px; }
  .hm-activity-archive-filter-state a { width:100%; margin-left:0; }
  .hm-activity-archive-pagination { margin-top:46px; gap:6px; }
  .hm-activity-archive-pagination .page-numbers { width:38px; height:38px; }
  .hm-activity-archive-support-cta__inner { padding:58px 0 62px; }
  .hm-activity-archive-support-cta h2 { font-size:30px; }
}
