/* よどみ受付簿。索引簿（index.html）と個票（r/NNN.html）の共通スタイル。
   書体は BIZ UDPMincho / BIZ UDPGothic ＝ モリサワが官公庁・自治体の文書向けに作ったUDフォント。
   この題材の現物が使っている書体なので、雰囲気で別のものに替えないこと。 */
:root{
  --paper:#EDEFEA; --field:#F7F8F5; --ink:#1C2321; --muted:#6E756F;
  --rule:#A8AFA6; --hair:#CBD0C7; --seal:#A6342B;
  --min:"BIZ UDPMincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --got:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#171A18; --field:#1E2220; --ink:#D8DCD6; --muted:#8A918B;
  --rule:#4A514C; --hair:#2E3431; --seal:#C4544A;
}}
:root[data-theme="dark"]{
  --paper:#171A18; --field:#1E2220; --ink:#D8DCD6; --muted:#8A918B;
  --rule:#4A514C; --hair:#2E3431; --seal:#C4544A;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--got);
  font-size:15px;line-height:1.7;margin:0;-webkit-text-size-adjust:100%}
.sheet{max-width:780px;margin:0 auto;padding-inline:16px;padding-block:28px 72px}
a{color:inherit}

.head{border:1px solid var(--rule)}
.head-t{border-bottom:1px solid var(--rule);padding:10px 13px;
  font-size:15px;font-weight:700;letter-spacing:.3em}
.head-t a{text-decoration:none}
.head-f{display:grid;grid-template-columns:repeat(4,1fr)}
.fld{border-right:1px solid var(--hair);padding:7px 13px}
.fld:last-child{border-right:0}
.fld dt{font-size:10.5px;letter-spacing:.12em;color:var(--muted);margin:0 0 1px}
.fld dd{margin:0;font-size:13.5px;font-variant-numeric:tabular-nums}

.idx{border:1px solid var(--rule);border-top:0;padding:8px 13px;
  font-size:12px;display:flex;flex-wrap:wrap;align-items:baseline}
.idx .lb{color:var(--muted);margin-right:10px;font-size:10.5px;letter-spacing:.12em}
.idx button{font:inherit;font-size:12px;background:none;border:0;padding:2px 9px;
  color:var(--muted);cursor:pointer;border-right:1px solid var(--hair)}
.idx button:last-child{border-right:0}
.idx button:hover{color:var(--ink)}
.idx button[aria-pressed="true"]{color:var(--ink);font-weight:700;text-decoration:underline;
  text-underline-offset:4px;text-decoration-thickness:1px}
.idx button:focus-visible{outline:1px solid var(--seal);outline-offset:2px}

/* 索引簿：1行1件。全文は載せず、個票へ送る */
.list{border:1px solid var(--rule);border-top:0}
.row{display:grid;grid-template-columns:52px 84px 1fr 60px;gap:0 12px;align-items:center;
  padding:11px 13px;border-bottom:1px solid var(--hair);text-decoration:none;color:inherit}
.row:last-child{border-bottom:0}
.row:hover{background:var(--field)}
.row:focus-visible{outline:2px solid var(--seal);outline-offset:-2px}
.row[hidden]{display:none}
.r-no{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--muted)}
.r-dt{font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--muted);white-space:nowrap}
.r-ti{font-family:var(--min);font-size:16px;display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;min-width:0}
.r-th{width:60px;height:34px;object-fit:cover;border:1px solid var(--hair);
  filter:saturate(.8) contrast(.95);display:block}

.seal{font-family:var(--got);font-size:9.5px;letter-spacing:.14em;color:var(--seal);
  border:1px solid var(--seal);padding:1px 5px;transform:rotate(-3deg);flex:none;line-height:1.5}

/* 個票 */
.card{border:1px solid var(--rule);border-top:0}
.card-h{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;
  padding:12px 13px;border-bottom:1px solid var(--hair);font-size:11.5px;
  letter-spacing:.09em;color:var(--muted);font-variant-numeric:tabular-nums}
.card-h .big{font-size:15px;color:var(--ink);letter-spacing:.1em}
.card-b{padding:18px 13px 22px}
.card-b h1{font-family:var(--min);font-size:23px;font-weight:400;letter-spacing:.05em;
  margin:0 0 4px;text-wrap:balance}
.tie{display:inline-block;font-size:11.5px;letter-spacing:.08em;color:var(--seal);
  margin:0 0 16px;text-decoration:none;border-bottom:1px solid currentColor}
.bd{font-family:var(--min);font-size:16.5px;line-height:2.05}
.bd p{margin:0 0 .5em}
.bd p:last-child{margin-bottom:0}
figure{margin:20px 0 0}
figure img{display:block;width:100%;height:auto;border:1px solid var(--hair);
  filter:saturate(.82) contrast(.96)}
figcaption{font-size:10.5px;letter-spacing:.12em;color:var(--muted);margin-top:5px}

/* 同一所在の相互参照。束がここで初めて一覧になる */
.rel{border:1px solid var(--rule);border-top:0;padding:13px}
.rel h2{font-size:10.5px;letter-spacing:.12em;color:var(--muted);font-weight:400;margin:0 0 9px}
.rel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.rel a,.rel .cur{font-size:13.5px;text-decoration:none;display:flex;gap:10px;align-items:baseline}
.rel a:hover .t{text-decoration:underline}
.rel .n{font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--muted);flex:none}
.rel .t{font-family:var(--min)}
.rel .cur .t{font-weight:700}

.nav{border:1px solid var(--rule);border-top:0;display:grid;grid-template-columns:1fr 1fr}
.nav a,.nav span{padding:12px 13px;font-size:12.5px;text-decoration:none;color:var(--muted);
  display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav a:hover{color:var(--ink);background:var(--field)}
.nav a+a,.nav span+a,.nav a+span{border-left:1px solid var(--hair)}
.nav .next{text-align:right}

.memo{border:1px solid var(--rule);border-top:0;padding:12px 13px;
  font-size:12.5px;line-height:1.95;color:var(--muted)}
.memo b{color:var(--ink);font-weight:700}
.none{padding:20px 13px;font-size:12.5px;color:var(--muted);border:1px solid var(--rule);border-top:0}
.none[hidden]{display:none}

/* 規約・ポリシーの本文。報告の明朝とは分け、事務文書としてゴシックで組む */
.doc{font-size:14.5px;line-height:1.95;max-width:38em}
.doc h2{font-size:13px;font-weight:700;letter-spacing:.08em;margin:26px 0 8px;
  padding-bottom:5px;border-bottom:1px solid var(--hair)}
.doc h2:first-child{margin-top:0}
.doc p{margin:0 0 .9em}
.doc ul{margin:0 0 .9em;padding-left:1.3em}
.doc li{margin-bottom:.3em}
.doc code{font-size:13px;background:var(--field);padding:1px 5px;border:1px solid var(--hair)}
.doc a{color:var(--seal)}

@media (max-width:640px){
  .sheet{padding-inline:12px;padding-block:18px 56px}
  .head-f{grid-template-columns:repeat(2,1fr)}
  .fld{border-bottom:1px solid var(--hair)}
  .fld:nth-child(2n){border-right:0}
  .fld:nth-last-child(-n+2){border-bottom:0}
  /* 索引簿は 番号／日付 を1行目、件名を2行目、サムネを右に回す */
  .row{grid-template-columns:1fr 54px;gap:3px 12px;padding:12px 13px;align-items:start}
  .r-no,.r-dt{grid-row:1;grid-column:1;display:inline;font-size:11.5px}
  .r-no::after{content:"／";margin:0 .4em;color:var(--hair)}
  .r-ti{grid-column:1;grid-row:2;font-size:16.5px}
  .r-th{grid-column:2;grid-row:1/3;width:54px;height:44px;align-self:center}
  .card-b h1{font-size:21px}
  .bd{font-size:16px;line-height:1.98}
  .nav{grid-template-columns:1fr}
  .nav a+a,.nav span+a,.nav a+span{border-left:0;border-top:1px solid var(--hair)}
  .nav .next{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
