/* pet-mimamori. 基本スタイル（legacy.css の後に読み込む） */
:root{
  --ink:#2e2a26;--sub:#56514a;--paper:#fbf8f4;--white:#fff;--line:rgba(46,42,38,.12);
  --gold:#d4a24c;--gold-d:#805c1f;--terra:#9e5f47;--navy:#33394d;--sand:#e8dfd3;--cream:#f1ece3;
  --link:#8a5a12;--mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;letter-spacing:.02em;overflow-wrap:anywhere}
img{max-width:100%;height:auto}
a{color:var(--link)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 16px}

/* ヘッダー */
.site-header{background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-top:14px;padding-bottom:10px}
.site-title{font-family:var(--mincho);font-size:24px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.04em}
.site-tagline{margin:0;font-size:12px;color:var(--sub)}
.global-nav ul{list-style:none;display:flex;gap:4px;overflow-x:auto;padding-top:0;padding-bottom:6px;margin:0 auto;scrollbar-width:none}
.global-nav ul::-webkit-scrollbar{display:none}
.global-nav a{display:block;white-space:nowrap;padding:6px 12px;font-size:13.5px;color:var(--sub);text-decoration:none;border-radius:999px}
.global-nav a:hover,.global-nav a:focus-visible{background:var(--cream);color:var(--ink)}

.site-main{padding-bottom:56px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 6px;margin:14px auto 10px;padding:0;font-size:12px;color:var(--sub)}
.breadcrumb li+li::before{content:"›";margin-right:6px;color:#aaa}
.breadcrumb a{color:var(--sub)}

/* 記事 */
.post{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:24px 18px 32px}
.post-cat{display:inline-block;font-size:12px;color:var(--white);background:var(--terra);padding:1px 10px;border-radius:999px;text-decoration:none;margin-bottom:10px}
.post-title{font-family:var(--mincho);font-size:clamp(21px,5vw,28px);line-height:1.6;margin:0 0 10px;font-weight:700}
.post-dates{margin:0 0 18px;font-size:12.5px;color:var(--sub)}
.post-dates time+time{margin-left:12px}
.post-thumb{margin:0 0 24px}
.post-thumb img{display:block;width:100%;border-radius:4px}
.post-content>*:first-child{margin-top:0}
.post-content p{margin:0 0 1.5em}
.post-content h2{font-family:var(--mincho);font-size:clamp(19px,4.4vw,23px);line-height:1.6;margin:2.6em 0 1.1em;padding:.6em .8em;background:var(--cream);border-left:5px solid var(--gold);border-radius:2px}
.post-content h3{font-family:var(--mincho);font-size:clamp(17px,4vw,19px);line-height:1.6;margin:2.2em 0 .9em;padding:0 0 .35em;border-bottom:2px solid var(--sand)}
.post-content h4{font-size:16px;margin:1.8em 0 .6em}
.post-content ul,.post-content ol{margin:0 0 1.6em;padding-left:1.5em}
.post-content li{margin:.3em 0}
.post-content li::marker{color:var(--gold-d)}
.post-content blockquote{margin:0 0 1.6em;padding:12px 16px;border-left:4px solid var(--sand);background:var(--paper);color:var(--sub)}
.post-content blockquote p:last-child{margin-bottom:0}
.post-content figure{margin:0 0 1.6em}
.post-content .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.post-content table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7;min-width:480px}
.post-content th:first-child,.post-content td:first-child{min-width:5em}
.post-content th,.post-content td{border:1px solid #ddd5c9;padding:8px 10px;vertical-align:top;text-align:left}
.post-content thead th{background:var(--cream);color:#3f3a33;font-weight:700}
.post-content tbody tr:nth-child(even) td{background:#fdfbf8}
.post-content figcaption{font-size:12.5px;color:var(--sub);margin-top:6px}
.post-content a[rel~="sponsored"]{max-width:440px;margin-left:auto !important;margin-right:auto !important}

/* 目次 */
.toc{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px 18px;margin:0 0 2em}
.toc-h{font-family:var(--mincho);font-weight:700;margin:0 0 6px !important}
.toc ol{margin:0;padding-left:1.4em;font-size:14px;line-height:1.75}
.toc li{margin:.35em 0}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{text-decoration:underline}

/* 著者 */
.author-box{margin:40px 0 0;padding:18px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
.author-box-h{font-family:var(--mincho);font-weight:700;margin:0 0 10px}
.author-inner{display:flex;gap:14px;align-items:flex-start}
.author-inner img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-name{margin:0 0 6px;font-weight:700}
.author-desc{font-size:13.5px;color:var(--sub);line-height:1.85}
.author-desc p{margin:0 0 .6em}

/* カード */
.related{margin-top:40px}
.related-h,.section-h,.archive-title{font-family:var(--mincho);font-size:19px;margin:0 0 14px;font-weight:700}
.archive-title{font-size:24px;margin:8px 0 18px}
.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card a{display:flex;flex-direction:column;height:100%;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;color:var(--ink);text-decoration:none;transition:box-shadow .18s,border-color .18s}
.card a:hover,.card a:focus-visible{border-color:var(--terra);box-shadow:0 8px 18px -14px rgba(36,40,58,.6)}
.card-img{display:block;aspect-ratio:16/9;background:var(--sand)}
.card-img img{width:100%;height:100%;object-fit:cover;display:block}
.card-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}
.card-cat{font-size:11px;color:var(--terra)}
.card-title{font-family:var(--mincho);font-weight:600;font-size:15px;line-height:1.6}
.card time{font-size:11.5px;color:var(--sub)}
.home{padding-top:16px}
.home-new{margin-top:16px}

.notice{padding:14px 16px;background:var(--cream);border-radius:4px}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:12px 28px;border-radius:999px;text-decoration:none;font-weight:700}
.notfound{padding-top:32px}

/* フッター */
.site-footer{background:var(--navy);color:#c9c4b8;padding:28px 0 32px;font-size:13px}
.site-footer a{color:#f1ece3}
.footer-urgent{margin:0 0 14px}
.footer-links{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 18px}
.copyright{margin:0;font-size:12px}

@media (min-width:768px){
  .post{padding:40px 48px 44px}
  .site-main{padding-bottom:72px}
}

/* 市区町村のペット火葬制度 */
.muni-tool{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin:0 0 18px}
.muni-q-label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
#muni-q{width:100%;font-size:16px;padding:10px 12px;border:1px solid #cfc6b8;border-radius:4px;background:#fff}
.muni-filters{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:13.5px}
.muni-count{margin:8px 0 0 !important;font-size:12.5px;color:var(--sub)}
.muni-pref h3{margin:1.6em 0 .6em !important}
.muni{border:1px solid var(--line);border-radius:4px;background:#fff;margin:0 0 8px}
.muni summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.muni summary::-webkit-details-marker{display:none}
.muni summary::after{content:"＋";margin-left:auto;color:var(--sub)}
.muni[open] summary::after{content:"－"}
.muni-name{font-weight:700;font-size:16px}
.muni-badges{display:flex;flex-wrap:wrap;gap:4px}
.mb{font-size:11.5px;padding:1px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.mb-ok{background:#eaf3e6;color:#365a2c;border-color:#cfe2c6}
.mb-mid{background:#fbf1dc;color:#7a5512;border-color:#efdcb2}
.mb-ng{background:#f6e9e5;color:#8a3b28;border-color:#e9cfc6}
.mb-na{background:#f1efec;color:#5c574f;border-color:#e2ded8}
.muni-body{padding:0 12px 12px;font-size:14px;line-height:1.8}
.muni-body dl{display:grid;grid-template-columns:6.5em 1fr;gap:4px 10px;margin:0 0 8px}
.muni-body dt{color:var(--sub);font-size:12.5px;padding-top:2px}
.muni-body dd{margin:0}
.muni-src{margin:0 !important;font-size:12px;color:var(--sub)}
.muni-body ul{margin:4px 0 0;padding-left:1.2em;font-size:13px}
.cat-hub{max-width:720px;margin:0 0 34px}
.cat-hub h2{font-size:18px;margin:26px 0 10px}
.cat-hub .hub-list{list-style:none;padding:0;margin:0}
.cat-hub .hub-list li{list-style:none;margin:0;padding:10px 0;border-bottom:1px solid #e5e0d8;line-height:1.6}
.hub-list a{font-weight:700}
.hub-note{font-size:.88em;color:#7a6c60}
.city-table th{white-space:nowrap;vertical-align:top;text-align:left;width:7em}
.muni-more{margin:.8em 0}
.muni-more a{font-weight:700}
.muni-note{font-size:.88em;color:#7a6c60}
.post-content .city-table table{width:100%;table-layout:fixed}
.post-content .city-table td{word-break:break-all}
.city-dl{margin:0 0 1em;border-top:1px solid #e5e0d8}
.city-dl dt{font-weight:700;margin:0;padding:.7em 0 .2em}
.city-dl dd{margin:0;padding:0 0 .7em;border-bottom:1px solid #e5e0d8;line-height:1.75}
.post-content .fit table{width:100%;table-layout:fixed;min-width:0}
.post-content .fit th,.post-content .fit td{word-break:normal;overflow-wrap:anywhere;min-width:0}
