
:root{--ink:#26241f;--paper:#fbfaf7;--shu:#b23a2f;--green:#3e6b4f;--line:#ddd8cc;--dim:#7a7568}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);
font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.95}
.band{background:#fff;border-bottom:3px double var(--line)}
.band .in{max-width:820px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.stamp{flex:none;border:2px solid var(--shu);color:var(--shu);font-weight:700;font-size:.78rem;
padding:4px 7px;line-height:1.35;writing-mode:vertical-rl;letter-spacing:.15em;border-radius:2px}
.band h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.2rem;margin:0;font-weight:600}
.band h1 a{color:inherit;text-decoration:none}
.band .sub{font-size:.78rem;color:var(--dim);margin-top:2px}
.gnav{max-width:820px;margin:0 auto;padding:0 20px 10px;font-size:.86rem;display:flex;gap:1.2em;flex-wrap:wrap}
.gnav a{color:var(--green);text-decoration:none}.gnav a:hover{color:var(--shu)}
main{max-width:820px;margin:0 auto;padding:28px 20px 60px}
h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:1.4rem;
border-bottom:1px solid var(--line);padding-bottom:.35em;margin:1.6em 0 .8em}
h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;font-size:1.08rem;
margin:1.8em 0 .5em;padding-left:.6em;border-left:4px solid var(--green)}
.meta{color:var(--dim);font-size:.85rem;margin-bottom:1.2em}
.badge{display:inline-block;font-size:.72rem;padding:1px 8px;border-radius:2px;margin-left:8px;vertical-align:1px}
.b-full{background:var(--green);color:#fff}.b-ex{background:#e8e3d6;color:#6c6656}
.b-map{background:#fff;border:1px solid var(--green);color:var(--green)}
.note{background:#f4efe4;border-left:4px solid var(--shu);padding:12px 16px;font-size:.88rem;margin:1.2em 0}
figure{margin:1.4em 0;text-align:center}figure img{max-width:100%;height:auto;border:1px solid var(--line)}
figcaption{font-size:.8rem;color:var(--dim);margin-top:.4em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:0;list-style:none}
.cards li{border:1px solid var(--line);background:#fff;padding:14px 16px;border-radius:3px}
.cards a{font-weight:600;color:var(--green);text-decoration:none}.cards a:hover{color:var(--shu)}
.cards p{font-size:.82rem;color:var(--dim);margin:.5em 0 0}
ul.idx{list-style:none;padding:0}ul.idx li{padding:.5em 0;border-bottom:1px dotted var(--line)}
ul.idx .d{color:var(--dim);font-size:.82rem;margin-right:.9em;font-variant-numeric:tabular-nums}
.tl{list-style:none;padding:0;margin:0}
.tl li{position:relative;padding:0 0 1.6em 1.6em;border-left:2px solid var(--line);margin-left:.4em}
.tl li::before{content:"";position:absolute;left:-6px;top:.45em;width:10px;height:10px;border-radius:50%;
background:var(--green)}
.tl .d{color:var(--shu);font-size:.82rem;font-weight:600;letter-spacing:.05em}
.tl .t{font-weight:600;margin:.1em 0 .2em}
.tl .tlthumb{float:right;width:120px;height:80px;object-fit:cover;border:1px solid var(--line);margin:0 0 6px 14px;border-radius:2px}
.tl p{margin:.2em 0 0;font-size:.92rem;color:#3c3a33}
.yr{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--shu);font-size:1.15rem;
letter-spacing:.2em;margin:2.4em 0 .8em}
a{color:var(--green)}a:hover{color:var(--shu)}
footer{max-width:820px;margin:0 auto;padding:24px 20px;color:var(--dim);font-size:.78rem;
border-top:1px solid var(--line);line-height:1.8}
nav.crumb{font-size:.82rem;margin-bottom:1.5em;color:var(--dim)}
figure.herofig{margin:0 0 1.6em;text-align:center}
figure.herofig img{width:100%;max-height:340px;object-fit:cover;border:1px solid var(--line);border-radius:3px}
figure.herofig figcaption{font-size:.8rem;color:var(--dim);margin-top:.5em}
.hero{background:#fff;border:1px solid var(--line);border-radius:3px;padding:22px 24px;margin-bottom:2em}
.hubsec{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start;margin:1em 0 2em}
.hubsec figure{margin:0;flex:0 0 250px}.hubsec figure img{width:250px;border:1px solid var(--line)}
.hubsec .bd{flex:1;min-width:260px}.hubsec .bd p{margin:.3em 0 .8em}
.hubsec .mn{font-size:.9rem;line-height:2}
ul.reports{list-style:none;padding:0;margin:.6em 0 1.6em}
ul.reports li{display:flex;gap:16px;align-items:flex-start;padding:.7em 0;border-bottom:1px dotted var(--line)}
ul.reports img{flex:0 0 170px;width:170px;border:1px solid var(--line)}
ul.reports .rc{flex:1;min-width:200px;font-size:.92rem;line-height:1.8}
figure.lead{float:left;margin:0 20px 10px 0;max-width:290px}
figure.lead img{width:290px}
figure.lead figcaption{background:#8a8a3a;color:#fff;padding:5px 8px;font-size:.8rem;margin-top:0;text-align:center}
.gallery{clear:both;display:flex;flex-wrap:wrap;gap:16px;margin:1.6em 0}
.gallery figure{margin:0;flex:0 0 210px;max-width:210px}
.gallery img{width:210px}.gallery figcaption{font-size:.8rem;color:var(--dim);margin-top:.4em;text-align:center}
table.histbl{border-collapse:collapse;margin:1.5em 0;width:100%;clear:both}
table.histbl caption{background:#555;color:#fff;padding:6px 10px;text-align:left;font-size:.9rem}
table.histbl th{background:#f0ece0;text-align:left;padding:6px 12px;border:1px solid var(--line);white-space:nowrap;vertical-align:top}
table.histbl td{padding:6px 12px;border:1px solid var(--line)}
article::after{content:"";display:block;clear:both}
ul.menugrid{list-style:none;padding:0;margin:1.2em 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
ul.menugrid li.menucard{display:flex;gap:14px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:12px;align-items:flex-start}
ul.menugrid .menucard img{flex:0 0 120px;width:120px;border:1px solid var(--line)}
ul.menugrid .mc{flex:1;min-width:150px}
ul.menugrid .mc a{font-weight:600;color:var(--green);text-decoration:none}
ul.menugrid .mc a:hover{color:var(--shu)}
ul.menugrid .mc p{font-size:.85rem;color:#4a463c;margin:.4em 0 0;line-height:1.7}
.hero p{margin:.5em 0}
