/* 2026-10-06：青をトップと同じブランドの濃紺 #113a95 に統一（再現元は汎用の明るい青 #2563ff）
   2026-10-05：旧ヘッダー・フッター用の指定を除去（共通ヘッダー・フッター renew-chrome.css と衝突するため） */
:root { --blue-primary:#113a95;--slate-900:#101c33;--slate-600:#52627a;--slate-200:#dce5f2;--bg-light:#f7f9fc;color:#101c33;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:105px }
* { box-sizing:border-box }
body { margin:0;background:#fff;line-height:1.8 }
a { color:inherit;text-decoration:none }
a:hover { color:var(--blue-primary) }
a:focus-visible,button:focus-visible { outline:3px solid #113a95;outline-offset:5px }
.wrap { width:min(1120px,calc(100% - 80px));margin:auto }
.page-header { height:84px;padding:16px max(40px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--slate-200);background:#fffffff5;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px) }
.page-header img { display:block;width:150px;height:auto }
.page-header nav { display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600 }
.button { display:inline-flex;align-items:center;justify-content:center;gap:30px;border-radius:50px;background:#113a95;color:#fff;padding:13px 25px;font-size:14px;font-weight:650;white-space:nowrap }
.button:hover { background:#1873b0;color:#fff }
.hero { padding-top:34px;padding-bottom:52px }
.breadcrumb { font-size:12px;color:#6a7890 }
.hero-grid { display:grid;grid-template-columns:1.05fr 1fr;align-items:start;gap:60px;margin:65px 0 48px }
.eyebrow { color:#113a95;font-size:11px;font-weight:750;letter-spacing:.16em;margin:0 0 16px }
h1 { font-size:clamp(36px,4.3vw,56px);letter-spacing:-.04em;line-height:1.25;margin:0 }
h2 { font-size:25px;line-height:1.55;letter-spacing:-.035em;margin:0 0 16px }
.hero-copy { padding-top:3px }
.hero-copy h2 { font-size:25px }
.hero-copy p { font-size:14px;color:#52627a;margin:0;line-height:2 }
.activity-index { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce5f2;border-left:1px solid #dce5f2;background:#f8faff }
.activity-index a { display:flex;align-items:center;gap:14px;padding:18px 20px;border-right:1px solid #dce5f2;border-bottom:1px solid #dce5f2;font-size:12px }
.activity-index a:hover { background:#edf3ff }
.activity-index span { color:#113a95;font-size:12px;font-weight:700 }
.activity-index b { margin-left:auto;font-weight:400;color:#113a95 }
.activities { padding-top:18px }
.activity { display:grid;grid-template-columns:170px 1fr;gap:44px;padding:40px 0;border-top:1px solid #dce5f2;scroll-margin-top:15px }
.activity-date { position:relative;padding-left:24px;border-left:2px solid #e2ebff }
.activity-date:before { content:'';position:absolute;left:-6px;top:19px;width:10px;height:10px;border-radius:50%;background:#113a95;box-shadow:0 0 0 5px #eff4ff }
.activity-date span { display:block;font-size:40px;letter-spacing:-.06em;line-height:1.3;font-weight:650;color:#113a95 }
.activity-date small { font-size:12px;color:#7787a0;letter-spacing:.12em }
.activity-meta { display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#113a95;margin:0 0 12px;gap:20px }
.activity-meta small { color:#8ea2c0;font-size:12px }
.activity-body h2 { font-size:26px }
.activity-body p { max-width:740px;font-size:14px;line-height:2;color:#52627a;margin:0 0 12px }
.sources { display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:23px }
.sources a { color:#113a95;font-size:12px;border-bottom:1px solid #b9c4de;padding-bottom:2px }
.sources a:hover { border-color:#113a95 }
.sources span { margin-left:6px }
.archive-note { font-size:11px;color:#7c899d;border-top:1px solid #dce5f2;padding-top:24px;margin:0 }
.closing { margin-top:60px;margin-bottom:70px;padding:32px 36px;background:#eff4ff;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:24px }
.closing h2 { font-size:25px;margin:0 }
.closing .eyebrow { margin-bottom:8px }
.skip { position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px }
.skip:focus { top:8px }
#contact-dialog { width:min(700px,calc(100% - 32px));height:min(850px,calc(100dvh - 48px));max-height:none;padding:0;border:1px solid #dae3ef;border-radius:24px;overflow:hidden;margin:auto;color:#14213b }
#contact-dialog::backdrop { background:#0c182b88;backdrop-filter:blur(5px) }
#contact-dialog iframe { display:block;width:100%;height:100%;border:0;padding-top:28px;background:white }
.contact-close { position:absolute;right:14px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:#eef4ff;color:#254771;font-size:25px;cursor:pointer;z-index:1 }
.contact-open { overflow:hidden }
@media(max-width:900px) {
  .wrap { width:calc(100% - 48px) }
  .page-header { padding:16px 24px }
  .hero-grid { gap:32px }
  .activity-index { grid-template-columns:repeat(2,1fr) }
  .activity { grid-template-columns:120px 1fr;gap:28px }
  .activity-body h2 { font-size:23px }
}
@media(max-width:600px) {
  :root { scroll-padding-top:85px }
  .wrap { width:calc(100% - 40px) }
  .page-header { height:72px;padding:14px 20px;gap:12px }
  .page-header img { width:125px }
  .page-header nav>a:first-child { display:none }
  .page-header .button { font-size:12px;padding:9px 15px }
  .hero { padding-top:24px;padding-bottom:30px }
  .hero-grid { grid-template-columns:1fr;gap:28px;margin:36px 0 30px }
  .hero-copy h2 { font-size:22px }
  .hero-copy p { font-size:13px }
  .activity-index { grid-template-columns:1fr }
  .activity-index a { padding:13px 16px }
  .activity { grid-template-columns:1fr;gap:17px;padding:28px 0 }
  .activity-date { display:flex;align-items:baseline;gap:12px;padding-left:18px }
  .activity-date span { font-size:28px }
  .activity-date:before { top:12px }
  .activity-body h2 { font-size:22px }
  .activity-body p { font-size:13px }
  .closing { padding:26px 24px;flex-direction:column;align-items:flex-start;margin-top:36px;margin-bottom:40px }
  .closing h2 { font-size:22px }
  .closing .button { width:100% }
  .sources { gap:12px 20px }
}
@media(prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto }
}
.activity-media { margin:26px 0 24px;max-width:800px }
.activity-photo { margin:0;min-width:0 }
.activity-photo a { display:block;border:1px solid #dce5f2;border-radius:12px;overflow:hidden;background:#f5f7fb }
.activity-photo img { display:block;width:100%;height:auto;transition:opacity .2s }
.activity-photo a:hover img { opacity:.9 }
.activity-media figcaption { display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;font-size:11px;color:#63738c;margin-top:9px;line-height:1.8 }
.activity-media figcaption span,.activity-media figcaption a { color:#113a95 }
.newspaper { max-width:480px }
.newspaper img { max-height:420px;object-fit:contain }
.yamaharu-media { display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start }
.yamaharu-media img { height:260px;object-fit:contain }
.activity-video video { display:block;width:100%;aspect-ratio:16/9;background:#101c33;border-radius:12px }
.activity-video { margin-left:0;margin-right:0 }
@media(max-width:600px) {
  .yamaharu-media { grid-template-columns:1fr;gap:24px }
  .yamaharu-media img { height:auto }
  .newspaper img { max-height:360px }
  .activity-media { margin-top:20px }
}
.youtube-video iframe { display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#101c33 }
.video-series { margin-top:30px }
.video-series h3 { font-size:17px;line-height:1.6;margin:0 0 16px }
.video-series>.activity-media { margin-top:0 }
.video-series-more { display:grid;grid-template-columns:1fr 1fr;gap:20px }
.video-series-more .activity-media { margin-top:0 }
.youtube-video { margin-left:0;margin-right:0 }
.youtube-video figcaption a { white-space:nowrap }
@media(max-width:600px) {
  .video-series-more { grid-template-columns:1fr;gap:0 }
}
