/* 『鳴らずの鈴』共通：検索バー・進み具合・注意書き・画像の仮置き（作品の外の部品は今の見た目） */
* { box-sizing: border-box; }
html { overflow-x: clip; }
body { margin: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.top-nav { position: sticky; top: 0; z-index: 10; background: #e8e8e8; border-bottom: 1px solid #aaa; padding: 6px 16px; }
.top-nav__search { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; max-width: 960px; margin: 0 auto; font: 13px/1.4 "MS PGothic", "IPAMonaPGothic", sans-serif; }
.top-nav__search input { flex: 1 1 180px; min-width: 0; font-size: 16px; padding: 4px 6px; }
.top-nav__search button { font-size: 14px; padding: 4px 12px; }
.content { max-width: 960px; margin: 0 auto; padding: 16px; }
.site-footer { max-width: 960px; margin: 32px auto 64px; padding: 0 16px; font-size: 12px; color: #666; }
#page-counter { display: none; }
.narazu-progress { position: fixed; right: 8px; bottom: 8px; z-index: 20; background: rgba(30,30,30,.82); color: #fff; font: 12px/1 system-ui, sans-serif; padding: 6px 10px; border-radius: 4px; }
.photo { margin: 12px 0; padding: 28px 12px; background: #d9d6cf; color: #555; border: 1px solid #bbb; text-align: center; font-size: 13px; max-width: 480px; }
.ln, .h { white-space: pre-wrap; word-break: break-word; }
.h { font-weight: bold; margin-top: 6px; }
hr { border: 0; border-top: 1px solid #999; margin: 14px 0; }
.notice { position: fixed; inset: 0; z-index: 100; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; padding: 16px; }
.notice[hidden] { display: none; }
.notice__box { background: #fff; color: #222; max-width: 640px; width: 100%; padding: 20px; border-radius: 6px; font: 15px/1.7 system-ui, sans-serif; max-height: 90vh; overflow-y: auto; }
.notice__box button { display: block; margin: 16px auto 0; font-size: 16px; padding: 8px 24px; }
.search-modal__body p { margin: .5em 0; }
.tbl { white-space: pre; overflow-x: auto; word-break: normal; padding-bottom: 4px; }

/* 写真（画像が入ったもの） */
.photo.has-img { padding: 0; background: none; border: 0; }
.photo.has-img img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.photo.has-img .cap { display: block; margin-top: 4px; font-size: 12px; color: #666; }

/* 年・月日・金額が頭にくる行の並び（資料5・13・16・17）＝ 頭の列をそろえ、中身は折り返す */
table.kv { border-collapse: collapse; margin-top: 4px; margin-bottom: 4px; }
table.kv td { padding: 1px 0; vertical-align: top; }
table.kv td.k { white-space: nowrap; padding-right: 1em; }
