/* 2026/10/22 静的ページ化にあわせて、元のデザインのまま少しだけ今風に・スマホでも読めるように上書きする */
:root { --blue:#1277bf; --blue-dk:#0e64a1; --ink:#2b3036; --sub:#5f6b76; --line:#e2e7ed; --soft:#f6f8fb; }

html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  font-family:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
  color:var(--ink); background:#eef1f5; line-height:1.7; -webkit-font-smoothing:antialiased;
}
img { max-width:100%; height:auto; }
a { color:var(--blue); transition:color .15s, opacity .15s, background-color .15s; }
a:hover { color:var(--blue-dk); }
a:focus-visible, button:focus-visible { outline:2px solid #f5b300; outline-offset:2px; border-radius:2px; }

/* 幅は固定をやめて、最大 976px で画面に合わせる */
header#header > #header-container,
nav#gnav > .menu-gnav-container,
#breadcrumbs > #breadcrumbs-container,
#body #container,
#footer > #footer-container { width:auto; max-width:976px; box-sizing:border-box; padding-left:16px; padding-right:16px; }

/* ヘッダー */
header#header { background:linear-gradient(180deg, #1683d1 0%, #1277bf 100%); box-shadow:0 1px 0 rgba(0,0,0,.06); }
header#header > #header-container { background:transparent; padding-top:10px; padding-bottom:10px; }
header#header > #header-container > ul.button > li { border-radius:999px; border-color:rgba(255,255,255,.85); }
header#header > #header-container > ul.button > li:hover { opacity:1; background:rgba(255,255,255,.16); }

/* ナビゲーション */
nav#gnav { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
nav#gnav > .menu-gnav-container { padding-top:10px; padding-bottom:10px; }
nav#gnav > .menu-gnav-container > ul { font-size:.82em; }
nav#gnav > .menu-gnav-container > ul > li { border-left-color:var(--line); padding:0 14px; }
nav#gnav > .menu-gnav-container > ul > li > a { color:#4a535c; }
nav#gnav > .menu-gnav-container > ul > li > a:hover { color:var(--blue); text-decoration:none; }
nav#gnav li.current-menu-item > a { color:var(--blue); }

/* パンくず */
#breadcrumbs { background:transparent; }
#breadcrumbs > #breadcrumbs-container { background:transparent; height:auto; padding-top:12px; padding-bottom:4px; }
#breadcrumbs > #breadcrumbs-container > #breadcrumbs-content { float:none; width:auto; color:var(--sub); }

/* 本文とサイドバー：並びは元のまま（左に本文・右にサイドバー） */
#body { background:transparent; }
#body #container { background:transparent; display:flex; gap:32px; align-items:flex-start; padding-top:16px; }
#body #container::after { display:none; }
#body #container > #content { float:none; width:auto; flex:1 1 auto; min-width:0; }
#sidebar { float:none; width:250px; flex:0 0 250px; }

/* トップの一覧（お知らせ・メンテナンス情報・障害情報） */
#body #container > #content > section { margin:0; }
section.category { background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px 24px; margin-bottom:20px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
section.category > h2 { font-size:1.15em; margin:0 0 8px; }
section.category > h2 > a { color:var(--ink); }
section.category > article { margin:0; padding:10px 0; border-bottom:1px solid var(--line); display:flex; gap:16px; align-items:baseline; }
section.category > article:last-of-type { border-bottom:0; }
section.category > article > ul.datetime > li { float:none; width:auto; white-space:nowrap; color:var(--sub); font-size:.75em; }
section.category > article > h1 { float:none; width:auto; margin-left:0; font-size:.92em; font-weight:normal; }
section.category { display:flow-root; }
section.category > p.go-to-list { margin:10px 0 0; }

/* 記事・固定ページ */
#body #container > #content > article#news { margin:0; }
#body #container > #content > article#news > header > ul.datetime > li { color:var(--sub); }
#body #container > #content > article#news > header > h1 { font-size:1.4em; margin:6px 0 20px; }
#body #container > #content > article#news > section {
  border:1px solid var(--line); border-radius:10px; padding:28px 32px; margin:0 0 24px;
  font-size:.9em; line-height:1.9; box-shadow:0 1px 2px rgba(16,24,40,.04);
}
#body #container > #content > article#news > section h2 { font-size:1.12em; margin:28px 0 8px; padding-bottom:6px; border-bottom:2px solid var(--line); }
#body #container > #content > article#news > section ul li { margin:8px 0; text-align:left; }  /* 両端揃えだと英字の資料名の間が空きすぎるため */
#body #container > #content > article#news > section li a[href$=".pdf"],
#body #container > #content > article#news > section li a[href$=".xlsx"] { font-weight:bold; }
/* 種類の札：元からPDFアイコンがある行（li.pdf）には付けない */
#body #container > #content > article#news > section li:not(.pdf) a[href$=".pdf"]::after,
#body #container > #content > article#news > section li:not(.pdf) a[href$=".xlsx"]::after {
  content:attr(data-ext); display:inline-block; margin-left:6px; padding:0 6px; border-radius:4px; text-indent:0;
  font-size:.72em; font-weight:bold; color:#fff; background:#d64545; vertical-align:1px; line-height:1.6;
}
#body #container > #content > article#news > section li:not(.pdf) a[href$=".xlsx"]::after { background:#1d7a46; }
#body #container > #content > article#news > section table { border-radius:6px; overflow:hidden; }

/* サイドバー */
#sidebar > .widget-sidebar { background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
#sidebar > .widget-sidebar h2 { border-bottom:2px solid var(--line); font-size:.85em; }
#sidebar > .widget-sidebar p { font-size:.8em; }
.svc-status { font-weight:bold; }
.svc-status .ok { color:#0b7a3b; }
.svc-status .ok::before, .svc-status .ng::before { content:""; display:inline-block; width:.6em; height:.6em; border-radius:50%; margin-right:.45em; vertical-align:.05em; background:currentColor; }
.svc-status .ng { color:#d64545; }
.svc-status small { display:block; font-weight:normal; color:var(--sub); }

/* ページネーション */
div#content #pagenavi > .wp-pagenavi > span.current,
div#content #pagenavi > .wp-pagenavi > a.page,
div#content #pagenavi > .wp-pagenavi > a.previouspostslink,
div#content #pagenavi > .wp-pagenavi > a.nextpostslink { border-radius:8px; }

/* フッター */
#footer { color:var(--sub); }
#footer > #footer-container > #footer-nav > ul > li > a { color:var(--sub); }

/* ページ先頭へ */
.to-top { position:fixed; right:16px; bottom:16px; width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:var(--blue); color:#fff; font-size:18px; box-shadow:0 4px 12px rgba(0,0,0,.18); opacity:0; pointer-events:none; transition:opacity .2s; }
.to-top.show { opacity:.9; pointer-events:auto; }
.to-top:hover { opacity:1; }

/* スマホ・タブレット：サイドバーを本文の下へ */
@media (max-width: 900px) {
  #body #container { flex-direction:column; gap:20px; }
  #sidebar { width:auto; flex:none; align-self:stretch; }
  header#header > #header-container > h1 img { width:240px; }
  header#header > #header-container > ul.button { margin-top:4px; }
  header#header > #header-container > ul.button > li { width:auto; padding:0 14px; }
  nav#gnav > .menu-gnav-container { overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
  nav#gnav > .menu-gnav-container > ul > li { padding:0 10px; }
  section.category { padding:16px; }
  section.category > article { flex-direction:column; gap:2px; }
  #body #container > #content > article#news > section { padding:20px 18px; }
  #footer > #footer-container > #footer-nav > ul, #footer > #footer-container > #footer-copy { text-align:center; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
