/* とびらミュージアムの見た目。元の4目録（data/source/）の配色と書体を引き継ぐ */
:root{
  --bg:#ECEDEA; --paper:#F6F6F3; --ink:#1B1A17; --ink-2:#4A4842; --rule:#C9C8C1;
  --lapis:#25436F; --lapis-soft:#DCE3EF; --gilt:#9C7A2B; --gilt-soft:#F1E7CB;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#15171B; --paper:#1D2025; --ink:#EAE8E1; --ink-2:#B4B1A8; --rule:#3A3E45;
    --lapis:#9DB6DF; --lapis-soft:#26324A; --gilt:#D2B25F; --gilt-soft:#3B3220;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#15171B; --paper:#1D2025; --ink:#EAE8E1; --ink-2:#B4B1A8; --rule:#3A3E45;
  --lapis:#9DB6DF; --lapis-soft:#26324A; --gilt:#D2B25F; --gilt-soft:#3B3220;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:15px;line-height:1.85}
a{color:var(--lapis);text-decoration:none;border-bottom:1px solid var(--rule)}
a:hover{border-bottom-color:var(--lapis)}
a:focus-visible{outline:2px solid var(--gilt);outline-offset:2px}
.wrap{max-width:900px;margin:0 auto;padding:0 20px}

/* 頭と足 */
.site-head{border-bottom:1px solid var(--rule)}
.site-head .wrap{padding-top:14px;padding-bottom:10px}
.brand-line{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}
.site-nav{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:4px;font-size:.86rem}
.site-nav a{color:var(--ink-2);border-bottom:none}
.site-nav a:hover{color:var(--lapis)}
.site-nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.brand{color:var(--ink);font-weight:600;font-size:1.05rem;letter-spacing:.06em;border-bottom:none}
.tagline{color:var(--ink-2);font-size:.82rem}
.site-foot{margin-top:72px;border-top:1px solid var(--rule);padding:20px 0 48px;font-size:.84rem;color:var(--ink-2)}
.site-foot p{margin:0 0 6px}
.foot-links a{margin-right:18px}

/* 現在地 */
.crumbs{padding-top:18px;font-size:.82rem;color:var(--ink-2);line-height:1.7}
.crumbs a{border-bottom:none}
.crumbs .sep{margin:0 .45em;color:var(--rule)}

/* 見出しまわり */
.hero{padding:36px 0 24px;border-bottom:2px solid var(--ink)}
.latin{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--ink-2);margin:0 0 4px}
h1{font-size:clamp(1.55rem,4.5vw,2.35rem);line-height:1.35;margin:0 0 14px;font-weight:600;letter-spacing:.01em}
.hero > p{max-width:42em;margin:0 0 10px;color:var(--ink-2)}
.note{background:var(--gilt-soft);border-left:3px solid var(--gilt);padding:12px 16px;margin:20px 0 0;font-size:.86rem;line-height:1.75}
.note strong{font-weight:600}
.note ul{margin:4px 0 0;padding-left:1.2em}

/* 作品さがしの窓 */
.search-box{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;max-width:36em}
.search-box label{flex-basis:100%;font-size:.86rem;color:var(--ink-2)}
.search-box input{flex:1 1 220px;min-width:0;font:inherit;font-size:.95rem;padding:8px 12px;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.search-box input:focus{outline:2px solid var(--gilt);outline-offset:1px}
.search-box button{font:inherit;font-size:.92rem;padding:8px 18px;border:1px solid var(--lapis);border-radius:4px;background:var(--lapis);color:var(--paper);cursor:pointer}
.search-status{margin:24px 0 10px;font-size:.92rem;color:var(--ink-2)}
.notice{margin:20px 0 0;font-size:.92rem;color:var(--ink-2)}
[hidden]{display:none !important}

/* トップ */
.top-hero h1{font-size:clamp(1.9rem,6vw,2.8rem);margin-bottom:12px}
.cat{margin-top:52px}
.cat > h2{font-size:1.45rem;margin:0;font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--ink);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}
.cat > h2 a{color:var(--ink);border-bottom:none}
.cat > h2 a:hover{color:var(--lapis)}
.cat > h2 .meta{font-size:.8rem;font-weight:400;color:var(--ink-2)}
.cat > .latin{font-size:1.05rem;margin:6px 0 0}
.cat-sub{color:var(--ink-2);font-size:.92rem;margin:6px 0 0}
.hero .cat-sub{margin:-6px 0 12px}
.cat-parts{columns:250px 3;column-gap:32px;margin-top:16px}
.cat-part{break-inside:avoid;margin:0 0 18px}
.cat-part h3{font-size:.88rem;font-weight:600;margin:0 0 4px;color:var(--ink-2)}
.cat-part ul{list-style:none;margin:0;padding:0}
.cat-part li{padding:2px 0;font-size:.92rem;line-height:1.6}
.cat-part a{border-bottom:none}
.cat-part a:hover{border-bottom:1px solid var(--lapis)}

/* 目録 */
.toc{padding:24px 0 4px}
.toc h2{font-size:.95rem;margin:0 0 8px;font-weight:600}
.toc ol{list-style:none;margin:0;padding:0;columns:260px 2;column-gap:32px}
.toc li{break-inside:avoid;padding:2px 0;font-size:.92rem}
.toc a{border-bottom:none}
.part{margin-top:48px}
.part > h2{font-size:1.4rem;margin:0 0 6px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.part > h2 .latin{display:block;font-size:1.05rem;font-weight:500;margin:2px 0 0}
.part > .lead{color:var(--ink-2);margin:10px 0 0;max-width:42em}
.themes{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.themes li{background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:14px 16px}
.themes a{font-weight:600;font-size:1.05rem;border-bottom:none}
.themes a:hover{border-bottom:1px solid var(--lapis)}
.themes .n{margin-left:10px;font-size:.8rem;color:var(--ink-2)}
.themes p{margin:4px 0 0;font-size:.9rem;color:var(--ink-2);line-height:1.7}
.cat-foot{margin-top:48px;padding-top:14px;border-top:1px solid var(--rule);font-size:.86rem;color:var(--ink-2)}
.cat-foot p{margin:0 0 8px;max-width:48em}

/* 主題 */
.theme-head{padding:28px 0 22px;border-bottom:2px solid var(--ink)}
.src{font-size:.85rem;color:var(--ink-2);margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.src .tag{background:var(--lapis-soft);color:var(--lapis);padding:0 8px;border-radius:2px}
.desc{margin:0;max-width:44em}
.works-h{font-size:1.15rem;font-weight:600;margin:32px 0 10px}
.works-h small{font-size:.8rem;font-weight:400;color:var(--ink-2);margin-left:10px}
.group{font-size:1rem;font-weight:600;margin:26px 0 8px}
.tablewrap{background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:4px 16px 8px;overflow-x:auto}
table.works{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.55}
table.works th{text-align:left;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--ink);padding:10px 8px 8px;white-space:nowrap}
table.works td{padding:9px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
table.works tr:last-child td{border-bottom:none}
/* 作者名・制作年・リンクは1行のまま。長い制作年（「1638／1647／1651」など）だけ、区切りの位置で折り返す。
   作品名と所蔵の列は、ほかの列に押されて数文字の幅に潰れないよう最低幅を持たせる */
table.works td.artist,table.works td.year,table.works td.links{white-space:nowrap}
table.works td.year.long{white-space:normal;word-break:keep-all;overflow-wrap:break-word;min-width:5.5em}
table.works td.artist.long{white-space:normal;word-break:keep-all;overflow-wrap:break-word;min-width:7em}
table.works td.work{min-width:8.5em}
table.works td.loc{min-width:7em}
table.works td.links a{margin-right:10px}
table.works td.links small{color:var(--ink-2);font-size:.8em}
.legend{margin-top:16px;font-size:.8rem;line-height:1.7;color:var(--ink-2)}
.legend strong{font-weight:600}
.legend ul{margin:2px 0 0;padding-left:1.2em}
.related{margin-top:36px;padding:16px 18px;background:var(--paper);border:1px solid var(--rule);border-radius:3px}
.related h2{font-size:.95rem;font-weight:600;margin:0 0 6px}
.related h2 a{color:var(--ink);border-bottom:none}
.related ul{list-style:none;margin:0;padding:0;columns:240px 2;column-gap:28px}
.related li{break-inside:avoid;padding:2px 0;font-size:.9rem;line-height:1.6}
.related a{border-bottom:none}
.related .here{font-weight:600}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:16px;border-top:1px solid var(--rule)}
.pager a{border-bottom:none;max-width:48%;line-height:1.5}
.pager small{display:block;color:var(--ink-2);font-size:.78rem;margin-bottom:2px}
.pager .next{text-align:right;margin-left:auto}

/* 運営者情報・クレジット・404 */
.doc{padding-top:28px;max-width:44em}
.doc h2{font-size:1.1rem;font-weight:600;margin:36px 0 10px;padding-top:16px;border-top:1px solid var(--rule)}
.doc h3{font-size:.95rem;font-weight:600;margin:18px 0 4px}
.doc p,.doc li{font-size:.94rem}
.doc ul{padding-left:1.3em}
.doc li{margin:4px 0}
table.facts{border-collapse:collapse;margin:8px 0}
table.facts th,table.facts td{border:1px solid var(--rule);padding:6px 14px;text-align:left;font-size:.92rem}
table.facts th{background:var(--paper);font-weight:600}
.dated{margin-top:32px;font-size:.85rem;color:var(--ink-2)}

/* 幅の狭い画面（スマホとタブレットの縦持ち）では、作品の表を1作品ずつの塊にする */
@media (max-width:900px){
  .tablewrap{padding:0 14px}
  table.works thead{display:none}
  table.works,table.works tbody,table.works tr,table.works td{display:block}
  table.works tr{padding:12px 0;border-bottom:1px solid var(--rule)}
  table.works tr:last-child{border-bottom:none}
  table.works td{border:none;padding:0}
  table.works td.artist{font-size:.84rem;color:var(--ink-2);white-space:normal}
  table.works td.work{font-weight:600;font-size:.95rem;min-width:0}
  table.works td.loc{min-width:0}
  table.works td.year,table.works td.loc{display:inline;font-size:.84rem;color:var(--ink-2);white-space:normal}
  table.works td.loc::before{content:"　"}
  table.works td.links{margin-top:4px}
  table.works td.theme{margin-top:2px;font-size:.88rem}
}
