@charset "UTF-8";
:root { color-scheme: light; --navy:#082b68; --ink:#16384b; --sky:#eaf5f8; --line:#b8d6df; --paper:#fff; --ochre:#8a6112; --muted:#47636f; --danger:#9d2f28; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { font-size:16px; }
body { margin:0; color:var(--ink); background:linear-gradient(180deg,var(--sky) 0 190px,#f8fcfd 190px); font:16px/1.7 "Yu Gothic UI","Yu Gothic",sans-serif; }
h1,h2,h3,button,input,select,th { font-family:"Meiryo UI","Meiryo","Yu Gothic UI","Yu Gothic",sans-serif; }
a { color:var(--navy); text-underline-offset:3px; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #d19019; outline-offset:3px; }
.site-header { background:#fff; border-bottom:2px solid #c9e4eb; }
.header-inner,.shell { width:min(1200px,calc(100% - 40px)); margin:auto; }
.header-inner { min-height:98px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand-mark { position:relative; width:260px; aspect-ratio:2112/745; flex:none; }
.brand-mark img { width:100%; height:100%; object-fit:contain; display:block; }
.brand-mark a { position:absolute; left:0; width:100%; } .brand-hks { top:0; height:48%; } .brand-service { bottom:0; height:52%; }
nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; } nav a { font-weight:700; }
.shell { padding:40px 0 70px; }
.page-heading { max-width:820px; margin-bottom:26px; }.page-heading p { margin:0; font-size:18px; }.eyebrow { letter-spacing:.09em; color:var(--ochre); font-weight:700; }h1 { margin:2px 0 6px; font-size:34px; line-height:1.35; color:var(--navy); }h2 { margin:0; font-size:23px; line-height:1.4; }
.filters { display:flex; align-items:end; gap:18px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:12px; }.filters label { display:grid; gap:6px; flex:1; font-weight:700; }.filters label:nth-child(2) { max-width:180px; }input,select,button { min-height:46px; border-radius:8px; font:inherit; } input,select { border:1px solid #7598a6; padding:8px 11px; color:var(--ink); background:#fff; }button,.detail-button { border:1px solid var(--navy); background:var(--navy); color:#fff; padding:8px 17px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }button:hover,.detail-button:hover { background:#10498f; }.detail-button { min-width:7rem; white-space:nowrap; border-radius:8px; }.result-info { margin:20px 0 10px; color:var(--muted); font-weight:700; }
.ledger { background:#fff; border:1px solid var(--line); border-radius:12px; }.ledger h2 { padding:18px 20px 4px; }.table-note { margin:0; padding:0 20px 14px; color:var(--muted); font-weight:700; border-bottom:1px solid var(--line); }.entry-list { display:grid; gap:14px; padding:16px; }.ledger-entry { border:1px solid #c6dfe6; border-radius:10px; padding:18px; background:#fff; }.entry-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:14px; border-bottom:1px solid #d6e5e9; }.entry-heading h3 { margin:0; color:var(--navy); font-size:22px; line-height:1.4; overflow-wrap:anywhere; }.entry-facts { margin:14px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px 18px; }.entry-facts > div { min-width:0; }.entry-facts dt { color:var(--muted); font-family:"Meiryo UI","Meiryo","Yu Gothic UI","Yu Gothic",sans-serif; font-weight:700; }.entry-facts dd { margin:3px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; }.entry-message { margin:0; padding:26px; text-align:center; color:var(--muted); }.detail-button { min-width:7rem; white-space:nowrap; border-radius:8px; }.pager,.detail-actions { display:flex; gap:14px; margin-top:22px; }.back-link { display:inline-block; margin-bottom:22px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.detail-section { background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; }.detail-section.wide { grid-column:1/-1; }.detail-section h2 { color:var(--navy); margin-bottom:14px; }.facts { margin:0; display:grid; grid-template-columns:minmax(120px, .35fr) 1fr; border-top:1px solid #d6e5e9; }.facts dt,.facts dd { margin:0; padding:10px 8px; border-bottom:1px solid #d6e5e9; }.facts dt { font-family:"Meiryo UI","Meiryo","Yu Gothic UI","Yu Gothic",sans-serif; font-weight:700; color:var(--muted); }.facts dd { overflow-wrap:anywhere; white-space:pre-wrap; }pre.document { margin:0; font:16px/1.8 "Yu Gothic UI","Yu Gothic",sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; }.answers details { border-top:1px solid #d6e5e9; padding:10px 0; }.answers summary { cursor:pointer; font-family:"Meiryo UI","Meiryo","Yu Gothic UI","Yu Gothic",sans-serif; font-weight:700; }.answers p { white-space:pre-wrap; overflow-wrap:anywhere; }.warning { color:#684900; background:#fff4d6; border:1px solid #e5ca79; border-radius:8px; padding:14px; }.error { color:var(--danger); background:#fff5f4; border:1px solid #e5aaa5; border-radius:8px; padding:16px; font-weight:700; }
@media (max-width:720px) { body { background:linear-gradient(180deg,var(--sky) 0 150px,#f8fcfd 150px); }.header-inner,.shell { width:min(100% - 28px,1200px); }.header-inner { min-height:0; padding:14px 0; align-items:flex-start; flex-direction:column; gap:12px; }.brand-mark { width:230px; }nav { justify-content:flex-start; gap:14px; }.shell { padding-top:28px; }h1 { font-size:29px; }.filters { display:grid; gap:14px; }.filters label:nth-child(2) { max-width:none; }.filters button { width:100%; }.ledger { border-radius:8px; }th,td { padding:12px; }.detail-grid { grid-template-columns:1fr; }.detail-section.wide { grid-column:auto; }.facts { grid-template-columns:1fr; }.facts dt { border-bottom:0; padding-bottom:0; }.facts dd { padding-top:3px; } }
@media print { .site-header,.back-link,.detail-actions { display:none!important; } body { background:#fff; }.shell { width:100%; padding:0; }.detail-section { break-inside:avoid; border-color:#aaa; } }

.skip-link { position:absolute; left:12px; top:-64px; z-index:10; background:#fff; color:var(--navy); padding:10px 14px; font-weight:700; } .skip-link:focus { top:12px; outline:3px solid #d19019; }

@media (max-width:1100px) { .entry-facts { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:620px) { .entry-list { padding:12px; gap:12px; }.ledger-entry { padding:14px; }.entry-heading { align-items:flex-start; flex-direction:column; gap:12px; }.entry-heading h3 { font-size:20px; }.entry-facts { grid-template-columns:1fr; gap:10px; }.entry-facts > div { display:grid; grid-template-columns:108px minmax(0,1fr); gap:8px; }.entry-facts dd { margin:0; } }
