/*
Theme Name: えすたく（estax）
Theme URI: https://es-tax.net
Author: 宍倉奎次郎
Description: 大家・不動産オーナーの書庫「えすたく」専用テーマ。悩みマップ（トップ）×工程ページ×解決記事×図書館。デザイン正本はテーマ_モックアップ_20260723.html（DESIGN SPEC v3）。明朝見出し×生成りの紙×深緑×金茶、ライトモード固定。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: estax
*/

:root{
  --bg:#f6f4ee; --card:#fdfcf9; --ink:#26241f; --sub:#6f6a5e; --line:#e0dbcd;
  --green:#1e6b4f; --green-deep:#17503c; --green-soft:#eaf0eb;
  --gold:#b8862b; --gold-soft:#f5ecd8;
  --serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","MS PMincho",serif;
  --sans:-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;letter-spacing:.05em}

/* ===== サイト共通ヘッダー ===== */
.siteheader{background:var(--card);border-bottom:1px solid var(--line)}
.sh-in{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.logo{display:flex;align-items:baseline;gap:12px;text-decoration:none}
.logo .nm{font-family:var(--serif);font-weight:700;font-size:1.5rem;letter-spacing:.14em}
.logo .tg{font-size:.68rem;color:var(--sub);letter-spacing:.1em}
nav.gnav{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap;align-items:center}
nav.gnav a{text-decoration:none;font-size:.86rem;font-weight:600;padding:7px 12px;color:var(--ink)}
nav.gnav a:hover{color:var(--green)}
nav.gnav a.now{color:var(--green);border-bottom:2px solid var(--green)}
nav.gnav a.libm{color:var(--sub);font-weight:500}
nav.gnav a.libm:hover{color:var(--green)}
.ext{border:1px solid var(--line);color:var(--sub);border-radius:3px;padding:7px 14px;
  font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;letter-spacing:.04em}
.ext:hover{border-color:var(--green);color:var(--green)}

/* ===== 共通パーツ ===== */
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.wrap-n{max-width:760px;margin:0 auto;padding:0 24px}
.kicker{color:var(--green);font-weight:700;font-size:.78rem;letter-spacing:.22em;font-family:var(--serif)}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:20px 22px}
.crumb{font-size:.78rem;color:var(--sub);padding:18px 0 0}
.crumb a{color:var(--sub)}
.sec-h{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 8px}
.sec-h::before,.sec-h::after{content:"";height:1px;width:56px;background:var(--green);opacity:.55}
.sec-h h2{margin:0;font-size:1.3rem;letter-spacing:.12em}
.sec-s{color:var(--sub);font-size:.86rem;text-align:center;margin:0 0 26px}

/* ===== トップ：ヒーロー ===== */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .deco-tr{position:absolute;top:-40px;right:-50px;width:300px;opacity:.9;transform:scaleX(-1)}
.hero .deco-bl{position:absolute;bottom:-70px;left:-70px;width:260px;opacity:.55;transform:rotate(180deg)}
.hero-in{position:relative;max-width:1120px;margin:0 auto;padding:72px 24px 64px;
  display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
@media(max-width:860px){.hero-in{grid-template-columns:1fr;padding-top:52px}}
.hero-tx{border-left:3px solid var(--green);padding-left:28px}
.hero-tx h1{font-size:2.15rem;line-height:1.55;margin:.4em 0 .5em;letter-spacing:.08em}
.hero-tx .lead{color:var(--sub);font-size:.98rem;max-width:520px;margin:0}
.hero-il{text-align:center;position:relative}
.hero-il::before{content:"";position:absolute;inset:12% 8% 8% 8%;background:#e9ebe2;border-radius:50%;z-index:0}
.hero-il img{position:relative;z-index:1;width:min(78%,300px)}

/* ===== トップ：工程カード ===== */
.sect{padding:56px 0 8px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:4px;
  padding:30px 26px 24px;text-align:center;display:flex;flex-direction:column;gap:8px}
.pillar .no{font-family:var(--serif);color:var(--green);font-size:1.05rem;letter-spacing:.2em}
.pillar .no::after{content:"";display:block;width:26px;height:1px;background:var(--green);margin:8px auto 0}
.pillar h3{margin:.2em 0 0;font-size:1.42rem;letter-spacing:.16em}
.pillar p{margin:0;color:var(--sub);font-size:.85rem;text-align:left}
.pillar img{height:104px;object-fit:contain;margin:10px auto 4px}
.flow{margin:0;color:var(--sub);font-size:.76rem;letter-spacing:.04em}
.pillar .go{margin-top:auto;padding-top:14px;color:var(--green);font-weight:700;
  font-size:.86rem;text-decoration:none;font-family:var(--serif);letter-spacing:.1em}
.pillar .go:hover{text-decoration:underline}

/* ===== トップ：記事リスト＋著者 ===== */
.grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;align-items:start}
@media(max-width:860px){.grid2{grid-template-columns:1fr}}
.plist{display:flex;flex-direction:column;padding:8px 22px}
.plist a{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--line);
  text-decoration:none}
.plist a:first-child{border-top:none}
.plist .th{flex-shrink:0;width:52px;height:52px;background:var(--green-soft);border-radius:4px;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.plist .th img{width:40px;height:40px;object-fit:contain}
.plist .ti{flex:1;font-weight:600;font-size:.92rem;line-height:1.6}
.plist .ct{display:block;font-size:.72rem;color:var(--green);font-weight:700;letter-spacing:.08em;margin-bottom:2px}
.plist a:hover .ti{color:var(--green)}
.author{display:flex;gap:16px;align-items:flex-start}
.author img{width:72px;height:72px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;object-fit:cover}
.author .an{font-family:var(--serif);font-weight:700;font-size:1.05rem;letter-spacing:.08em}
.author .aq{font-size:.76rem;color:var(--green);font-weight:700;margin-bottom:4px}
.author p{margin:6px 0 0;font-size:.84rem;color:var(--sub)}

/* ===== CTA帯 ===== */
.ctaband{position:relative;overflow:hidden;background:var(--green-deep);color:#f3efe6;
  border-radius:4px;padding:40px 30px;text-align:center;margin:52px 0 64px}
.ctaband .deco{position:absolute;right:-30px;bottom:-40px;width:190px;opacity:.16;filter:invert(1)}
.ctaband h3{margin:0 0 8px;font-size:1.4rem;letter-spacing:.14em}
.ctaband p{margin:0 auto 22px;font-size:.88rem;opacity:.85;max-width:520px}
.ctaband .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
.btn-w{background:#f3efe6;color:var(--green-deep);border-radius:3px;padding:12px 30px;
  font-weight:700;font-size:.9rem;text-decoration:none;letter-spacing:.06em}
.btn-o{border:1px solid #f3efe6;color:#f3efe6;border-radius:3px;padding:11px 26px;
  font-weight:600;font-size:.88rem;text-decoration:none;letter-spacing:.06em}

/* ===== 工程ページ（タイムライン） ===== */
.steps{position:relative;margin-top:30px}
.steps::before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:1px;background:var(--green);opacity:.35}
@media(max-width:560px){.steps::before{left:19px}}
.step{position:relative;padding-left:66px;margin:18px 0}
@media(max-width:560px){.step{padding-left:54px}}
.num{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;
  background:var(--card);border:1.5px solid var(--green);color:var(--green);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:700;font-size:1.15rem;box-shadow:0 0 0 6px var(--bg)}
@media(max-width:560px){.num{width:40px;height:40px;font-size:1rem}}
.phase{font-family:var(--serif);font-weight:700;font-size:1.12rem;margin:0 0 10px;letter-spacing:.1em}
ul.q{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
ul.q li{padding:10px 0;border-top:1px dashed var(--line)}
ul.q li:first-child{border-top:none;padding-top:0}
ul.q li:last-child{padding-bottom:0}
.qt a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem}
.qt a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.qt a::before{content:"›";color:var(--green);font-weight:700;margin-right:10px}

/* ===== 記事ページ ===== */
.art h1{font-size:1.68rem;line-height:1.7;margin:.7em 0 .35em;letter-spacing:.06em}
.art h2{font-size:1.3rem;margin:2.2em 0 .8em;padding:.3em 0 .3em .75em;
  border-left:4px solid var(--green);line-height:1.6;letter-spacing:.08em}
.art h3{font-size:1.1rem;margin:1.8em 0 .6em;letter-spacing:.06em}
.art p{margin:1em 0;font-size:.95rem}
.art table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1.4em 0}
.art th,.art td{border:1px solid var(--line);padding:9px 14px;text-align:left}
.art th{background:var(--green-soft);font-size:.82rem;font-weight:700}
.art ul,.art ol{font-size:.95rem;padding-left:1.5em}
.art blockquote{border-left:3px solid var(--line);margin:1.4em 0;padding:.2em 0 .2em 1.2em;color:var(--sub)}
.art .wp-block-image{margin:1.6em 0}
.callout{border:1px solid var(--gold);background:var(--gold-soft);
  border-radius:4px;padding:14px 18px;font-size:.88rem;margin:1.4em 0}
.callout b{color:var(--gold)}
.ctabox{border:1px solid var(--green);border-radius:4px;padding:28px 24px;margin:2.4em 0;text-align:center;
  background:var(--card)}
.ctabox .ck{font-family:var(--serif);font-size:.76rem;font-weight:700;color:var(--green);letter-spacing:.24em}
.ctabox h3{margin:.5em 0 .5em;font-size:1.16rem;letter-spacing:.08em}
.ctabox p{font-size:.85rem;color:var(--sub);margin:0 0 18px}
.btn-a{background:var(--green);color:#f3efe6;border-radius:3px;padding:12px 32px;
  font-weight:700;font-size:.9rem;text-decoration:none;display:inline-block;letter-spacing:.06em}
.btn-l{display:inline-block;margin:14px 10px 0;font-size:.84rem;font-weight:600;color:var(--green)}

/* ===== 図書館（索引）共通 ===== */
.filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:26px 0 16px}
.filter a{border:1px solid var(--line);border-radius:3px;padding:6px 16px;font-size:.8rem;
  font-weight:600;text-decoration:none;color:var(--sub);background:var(--card)}
.filter a.on,.filter a:hover{border-color:var(--green);color:var(--green)}
.date{font-size:.76rem;color:var(--sub);white-space:nowrap;font-family:var(--serif)}
.pgnav{display:flex;justify-content:center;align-items:baseline;gap:28px;margin:28px 0 0;
  font-family:var(--serif);font-size:.9rem}
.pgnav a{text-decoration:none;color:var(--green)}
.pgnav span{color:var(--sub);font-size:.82rem;letter-spacing:.2em}

/* ===== 404・検索 ===== */
.p404{text-align:center;padding:70px 24px 30px}
.p404 img{width:110px;opacity:.9;margin-bottom:10px}
.p404 h1{font-size:1.7rem;letter-spacing:.14em;margin:.3em 0 .5em}
.p404 p{color:var(--sub);font-size:.92rem;max-width:480px;margin:0 auto 26px}
.searchbox{display:flex;max-width:430px;margin:0 auto 18px}
.searchbox input{flex:1;border:1px solid var(--line);border-right:none;border-radius:3px 0 0 3px;
  padding:12px 16px;font-size:.9rem;background:var(--card);color:var(--ink);outline:none;font-family:var(--sans)}
.searchbox input:focus{border-color:var(--green)}
.searchbox button{border:none;background:var(--green);color:#f3efe6;border-radius:0 3px 3px 0;
  padding:0 24px;font-weight:700;font-size:.88rem;cursor:pointer;letter-spacing:.1em}
.searchtitle{font-family:var(--serif);font-size:1.05rem;letter-spacing:.06em;margin:0 0 12px}

/* ===== このサイトについて・固定ページ ===== */
.about h2{font-size:1.24rem;margin:2.2em 0 .7em;padding:.3em 0 .3em .75em;
  border-left:4px solid var(--green);letter-spacing:.08em}
.about p{font-size:.95rem}
.layerdef{list-style:none;margin:1em 0;padding:0;display:flex;flex-direction:column;gap:10px}
.layerdef li{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:13px 18px;font-size:.9rem}
.layerdef b{font-family:var(--serif);letter-spacing:.1em;margin-right:10px}
.layerdef .g{color:var(--green)} .layerdef .o{color:var(--gold)}

/* ===== サイトフッター ===== */
.sitefooter{border-top:1px solid var(--line);margin-top:56px;padding:34px 24px 64px;
  color:var(--sub);font-size:.8rem;text-align:center}
.sitefooter .fl{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.sitefooter a{color:var(--sub);text-decoration:none}
.sitefooter a:hover{color:var(--green)}
.sitefooter .cp{font-family:var(--serif);letter-spacing:.2em;margin-top:6px}
.disclaimer{max-width:640px;margin:0 auto 10px}

/* ===== 下層ヒーロー（左テキスト＋右挿絵） ===== */
.phero2{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.phero2 .deco-tr{position:absolute;top:-40px;right:-50px;width:250px;opacity:.85;transform:scaleX(-1)}
.phero2-in{position:relative;max-width:1120px;margin:0 auto;padding:8px 24px 44px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
@media(max-width:860px){.phero2-in{grid-template-columns:1fr;padding-bottom:34px}}
.phero2 .h1rule{border-left:3px solid var(--green);padding-left:26px}
.phero2 h1{font-size:2.1rem;line-height:1.5;margin:.3em 0 .4em;letter-spacing:.2em}
.phero2 .lead{color:var(--sub);font-size:.95rem;margin:0;max-width:520px}
.phero2 .il{text-align:center;position:relative}
.phero2 .il img{width:min(86%,360px)}

/* ===== 工程カード：左＝解決記事／右＝補足の知識 ===== */
.stepgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}
@media(max-width:700px){.stepgrid{grid-template-columns:1fr}}
.pintro{margin:0 0 12px;color:var(--sub);font-size:.86rem}
.refbox{border:1px solid var(--green);border-radius:4px;padding:16px 18px;
  display:flex;flex-direction:column;gap:9px;font-size:.85rem}
.refbox .rt{display:flex;align-items:center;gap:9px;color:var(--green);
  font-family:var(--serif);font-weight:700;font-size:.88rem;letter-spacing:.16em}
.refbox a{color:var(--ink);text-decoration:none;font-weight:600;line-height:1.75}
.refbox a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.refbox img{height:78px;object-fit:contain;margin:2px auto 0}

/* ===== 相談CTA（隅飾り付きの枠） ===== */
.ornbox{position:relative;border:1px solid var(--gold);background:var(--card);margin:44px 0 10px;
  padding:30px 44px;display:flex;gap:30px;align-items:center;justify-content:center;flex-wrap:wrap;
  text-decoration:none}
.ornbox i{position:absolute;width:22px;height:22px;border:0 solid var(--gold)}
.ornbox .c1{top:5px;left:5px;border-top-width:2px;border-left-width:2px}
.ornbox .c2{top:5px;right:5px;border-top-width:2px;border-right-width:2px}
.ornbox .c3{bottom:5px;left:5px;border-bottom-width:2px;border-left-width:2px}
.ornbox .c4{bottom:5px;right:5px;border-bottom-width:2px;border-right-width:2px}
.ornbox .env{width:74px}
.ornbox .otx{max-width:460px;text-align:center}
.ornbox h3{margin:0 0 6px;font-size:1.3rem;letter-spacing:.18em}
.ornbox p{margin:0;color:var(--sub);font-size:.86rem}
.ornbox .obook{width:120px}
.ornbox .oar{font-family:var(--serif);color:var(--green);font-size:1.5rem;font-weight:700}
.ornbox:hover{border-color:var(--green)}

/* ===== 記事ページ v3 ===== */
.arthead{display:grid;grid-template-columns:1.45fr 1fr;gap:30px;align-items:end;
  padding-bottom:20px;border-bottom:1px solid var(--line)}
@media(max-width:860px){.arthead{grid-template-columns:1fr}.arthead .il{display:none}}
.arthead .il{text-align:center}
.arthead .il img{width:min(100%,330px)}
.meta2{display:flex;flex-wrap:wrap;align-items:baseline;color:var(--sub);font-size:.79rem;margin-top:14px}
.meta2 .dt{font-family:var(--serif);letter-spacing:.08em}
.meta2 .mc{color:var(--green);font-weight:700;padding:0 14px;margin:0 14px;
  border-left:1px solid var(--line);border-right:1px solid var(--line)}
.meta2 .mc a{text-decoration:none;color:inherit}
.pt2{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;margin:28px 0 6px;align-items:stretch}
@media(max-width:760px){.pt2{grid-template-columns:1fr}}
.pt2.single-col{grid-template-columns:1fr}
.premise2{border:1px solid var(--green);border-radius:4px;background:var(--card);padding:18px 22px;font-size:.87rem}
.premise2 .pk{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;
  color:var(--green);letter-spacing:.2em;font-size:.92rem;margin-bottom:10px}
.premise2 img{float:left;width:58px;margin:2px 14px 4px 0}
.premise2 p{margin:0;color:var(--sub)}
.toc2{border:1px solid var(--line);background:var(--card);border-radius:4px;padding:18px 24px 16px}
.toc2 .tt{display:flex;align-items:center;justify-content:center;gap:16px;
  font-family:var(--serif);font-weight:700;letter-spacing:.5em;text-indent:.5em;margin-bottom:10px}
.toc2 .tt::before,.toc2 .tt::after{content:"";width:52px;height:4px;
  border-top:2px solid var(--green);border-bottom:1px solid var(--green)}
.toc2 ol{list-style:none;margin:0;padding:0;font-size:.88rem}
.toc2 li{display:flex;align-items:baseline;gap:12px;padding:5px 0}
.toc2 .n{font-family:var(--serif);color:var(--green);font-weight:700;font-size:.82rem}
.toc2 a{text-decoration:none;font-weight:600}
.toc2 a:hover{color:var(--green)}
.toc2 .dots{flex:1;border-bottom:1px dotted #c9c2b0;transform:translateY(-4px)}
.pointbox{display:flex;gap:20px;align-items:center;border:1px solid var(--gold);border-radius:4px;
  background:var(--card);padding:18px 24px;margin:1.6em 0}
.pointbox .pl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  color:var(--gold);font-family:var(--serif);font-weight:700;letter-spacing:.24em;text-indent:.24em;
  font-size:.9rem;padding-right:20px;border-right:1px solid var(--gold);white-space:nowrap;align-self:stretch}
.pointbox ul{margin:0;padding:0;list-style:none;font-size:.88rem;flex:1}
.pointbox li{padding:3px 0}
.pointbox li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--gold);margin-right:12px;vertical-align:2px}
.pointbox>img{width:112px;flex-shrink:0}
@media(max-width:640px){.pointbox>img{display:none}}
.xlink2{display:flex;align-items:center;gap:16px;border:1px solid var(--green);border-radius:4px;
  background:var(--card);padding:14px 22px;margin:1.9em 0;font-size:.9rem;text-decoration:none}
.xlink2 .xt{display:flex;align-items:center;gap:9px;color:var(--green);font-family:var(--serif);
  font-weight:700;letter-spacing:.14em;white-space:nowrap;padding-right:16px;border-right:1px solid var(--line)}
.xlink2 .xl{flex:1;font-weight:600}
.xlink2 .ar{color:var(--green);font-family:var(--serif);font-weight:700;font-size:1.2rem}
.xlink2:hover{background:var(--green-soft)}
@media(max-width:640px){.xlink2{flex-wrap:wrap}.xlink2 .xt{border-right:none;padding-right:0}}
.ctagreen{position:relative;overflow:hidden;display:flex;align-items:center;gap:26px;
  background:var(--green-deep);color:#f3efe6;border-radius:4px;padding:26px 32px;margin:2.4em 0;flex-wrap:wrap}
.ctagreen::after{content:"";position:absolute;right:0;top:18px;bottom:18px;width:56px;
  background:repeating-linear-gradient(to bottom,transparent 0 7px,rgba(184,134,43,.5) 7px 8px)}
.ctagreen img{width:92px;flex-shrink:0}
.ctagreen .tx{flex:1;min-width:230px;font-family:var(--serif);font-size:1.02rem;letter-spacing:.05em;line-height:2}
.ctagreen .bt{text-align:center;margin-right:44px;position:relative;z-index:1}
.btn-wb{display:inline-flex;align-items:center;gap:10px;border:1px solid #f3efe6;color:#f3efe6;
  border-radius:3px;padding:11px 26px;font-weight:700;font-size:.9rem;text-decoration:none;letter-spacing:.08em}
.btn-wb:hover{background:rgba(243,239,230,.12)}
.ctagreen .bs{font-size:.74rem;opacity:.85;margin-top:9px}
.ctagreen .bs a{color:inherit}
.stepnav2{display:grid;grid-template-columns:1fr 1fr;margin:38px 0 6px;border-top:1px solid var(--line);padding-top:24px}
@media(max-width:560px){.stepnav2{grid-template-columns:1fr;gap:14px}}
.stepnav2 a,.stepnav2 .empty{text-decoration:none;text-align:center;padding:4px 30px;position:relative}
.stepnav2 a+a,.stepnav2 .empty+a,.stepnav2 a+.empty{border-left:1px solid var(--line)}
.stepnav2 .dir{display:block;font-family:var(--serif);font-size:.72rem;color:var(--green);letter-spacing:.26em;margin-bottom:7px}
.stepnav2 .snt{font-weight:600;font-size:.87rem;line-height:1.7}
.stepnav2 a:hover .snt{color:var(--green)}
.stepnav2 .ch{position:absolute;top:50%;transform:translateY(-50%);color:var(--green);
  font-family:var(--serif);font-size:1.3rem;font-weight:700}
.stepnav2 .chl{left:4px}.stepnav2 .chr{right:4px}

/* ===== 図書館 v3（棚型索引） ===== */
.searchshelf{border:1px solid var(--line);background:var(--card);border-radius:4px;
  padding:18px 24px;margin:34px 0 0;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.searchshelf .sbk{color:var(--green);flex-shrink:0;display:flex}
.searchshelf .si{display:flex;align-items:center;gap:10px;flex:1;min-width:230px;
  border-bottom:1px solid var(--line);padding-bottom:6px}
.searchshelf input{flex:1;border:none;background:transparent;font-size:.9rem;outline:none;
  color:var(--ink);font-family:var(--sans)}
.searchshelf button{border:none;background:transparent;color:var(--green);cursor:pointer;display:flex;padding:0}
.searchshelf .filter{margin:0}
.searchshelf .searchbox{margin:0;flex:1;min-width:230px;max-width:none}
.shelf{margin:46px 0 0}
.shelf-h{display:flex;align-items:baseline;gap:18px}
.shelf-h h2{margin:0;font-size:1.42rem;letter-spacing:.22em}
.shelf-h .all{margin-left:auto;font-size:.8rem;color:var(--sub);text-decoration:none;font-weight:600}
.shelf-h .all:hover{color:var(--green)}
.shelf-rail{display:block;width:100%;height:13px;margin:16px 0 18px}
.shelfgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:960px){.shelfgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.shelfgrid{grid-template-columns:1fr}}
.scard{background:var(--card);border:1px solid var(--line);border-radius:4px;
  padding:15px 16px 11px;display:flex;flex-direction:column;gap:7px;text-decoration:none}
.scard .sc{font-size:.7rem;color:var(--green);font-weight:700;letter-spacing:.12em}
.scard .st{font-weight:600;font-size:.86rem;line-height:1.7;flex:1}
.scard img{height:82px;object-fit:contain;margin:4px auto 0}
.scard .go2{align-self:flex-end;color:var(--green);font-family:var(--serif);font-weight:700;line-height:1}
.scard:hover{border-color:var(--green)}
.scard:hover .st{color:var(--green)}
.libclose{text-align:center;margin:56px 0 0;padding:36px 24px 0;border-top:1px solid var(--line)}
.libclose img{width:150px}
.libclose .lm{font-family:var(--serif);font-weight:700;font-size:1.18rem;letter-spacing:.2em;margin:12px 0 8px}
.libclose p{color:var(--sub);font-size:.85rem;margin:0}

/* ===== WordPress標準クラス ===== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.wp-caption{max-width:100%}
.wp-caption-text,.wp-block-image figcaption{font-size:.78rem;color:var(--sub);text-align:center;margin-top:6px}
.sticky{}
.gallery-caption{}
.bypostauthor{}
