@charset "utf-8";

:root{
  --ground:#F5F5F3;
  --surface:#FFFFFF;
  --rule:#DCDCD6;
  --rule-soft:#EBEBE7;
  --ink:#1A1A18;
  --ink-mid:#5A5A54;
  --ink-faint:#8A8A82;

  --brand:#1E3A1C;
  --brand-mid:#2C5424;
  --link:#1E5B2A;

  --sow:#C0392B;
  --plant:#1E7A32;
  --harvest:#C9922B;

  --ok:#1E7A32;
  --ng:#A32334;

  --lv-easy:#1E6FA8;
  --lv-mid:#B8952F;
  --lv-hard:#8B3A1E;

  --cat-fruit:#A32334;
  --cat-leaf:#2F7D31;
  --cat-root:#6B3FA0;
  --cat-bean:#7A4A1E;
  --cat-herb:#C4631A;

  --font:"Hiragino Kaku Gothic ProN","Yu Gothic Medium",YuGothic,Meiryo,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Consolas,"Courier New",monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--ground);
  color:var(--ink);
  font-family:var(--font);
  font-size:14px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--link);outline-offset:2px;
}
img{max-width:100%;display:block}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.unit{color:var(--ink-faint);font-size:.85em}

/* ───── ヘッダー ───── */
.site-head{background:var(--brand);color:#fff}
.site-head .inner{
  max-width:1440px;margin:0 auto;padding:10px 20px;
  display:flex;align-items:center;gap:24px;
}
.logo{font-size:20px;font-weight:700;letter-spacing:.02em;color:#fff;white-space:nowrap}
.logo:hover{text-decoration:none}
.head-search{margin-left:auto;display:flex}
.head-search input{
  width:280px;height:32px;padding:0 10px;font-size:13px;font-family:var(--font);
  border:1px solid var(--brand-mid);border-right:0;background:#fff;color:var(--ink);
}
.head-search button{
  height:32px;padding:0 16px;font-size:13px;font-family:var(--font);
  background:#fff;color:var(--brand);border:1px solid var(--brand-mid);
  border-left:1px solid var(--rule);cursor:pointer;
}
.gnav{display:flex;gap:22px;font-size:14px}
.gnav a{color:#fff;padding:4px 0;white-space:nowrap}

/* ───── 骨格 ───── */
.wrap{max-width:1440px;margin:0 auto;padding:18px 20px 40px;display:grid;
  grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
main{display:flex;flex-direction:column;gap:22px}
aside{display:flex;flex-direction:column;gap:16px}

.panel{background:var(--surface);border:1px solid var(--rule)}
.panel-b{padding:12px 14px}

h1{font-size:30px;font-weight:700;line-height:1.3}
h2{font-size:19px;font-weight:700;padding-bottom:6px;border-bottom:2px solid var(--brand);
  margin-bottom:10px;display:flex;align-items:baseline;gap:10px}
h2 .cnt{font-size:13px;font-weight:400;color:var(--ink-mid);font-family:var(--mono)}
h3{font-size:15px;font-weight:700}
aside h3{font-size:14px;padding-bottom:5px;border-bottom:1px solid var(--rule);margin-bottom:8px}

.breadcrumb{font-size:12px;color:var(--ink-mid);padding:8px 0}
.breadcrumb a{color:var(--ink-mid)}

/* ───── 分類ドット ───── */
.cat{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-mid)}
.cat::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ink-faint)}
.cat.fruit::before{background:var(--cat-fruit)}
.cat.leaf::before{background:var(--cat-leaf)}
.cat.root::before{background:var(--cat-root)}
.cat.bean::before{background:var(--cat-bean)}
.cat.herb::before{background:var(--cat-herb)}

/* ───── 難易度（やさしい／ふつう／むずかしい） ───── */
.lv{display:inline-block;font-size:12px;padding:0 8px;border:1px solid;line-height:1.7;
  white-space:nowrap}
.lv.easy{color:var(--lv-easy);border-color:var(--lv-easy)}
/* 生成側は mid を出す。normal は前に書いた名前で、まだ残してある */
.lv.normal,.lv.mid{color:var(--lv-mid);border-color:var(--lv-mid)}
.lv.hard{color:var(--lv-hard);border-color:var(--lv-hard)}
/* 難易度が品種で分かれるときの、品種名 */
.dvn{display:inline-block;min-width:6.5em;color:var(--ink-mid);font-size:12px}

/* ───── 栽培カレンダー ───── */
.cal{display:grid;grid-template-columns:76px repeat(12,1fr);grid-auto-rows:26px;
  border:1px solid var(--rule);background:#fff}
.cal .v{grid-row:1/-1;border-left:1px solid var(--rule-soft);pointer-events:none}
.cal .m{grid-row:1;font-size:11px;color:var(--ink-mid);text-align:center;
  padding:3px 0;border-bottom:1px solid var(--rule);font-family:var(--mono)}
.cal .corner{grid-row:1;grid-column:1;border-bottom:1px solid var(--rule)}
.cal .lab{grid-column:1;font-size:12px;padding:0 8px;display:flex;align-items:center;
  justify-content:flex-end;border-right:1px solid var(--rule);white-space:nowrap}
.cal .lab.sow{color:var(--sow)}
.cal .lab.plant{color:var(--plant)}
.cal .lab.harvest{color:var(--harvest)}
.cal .bar{height:11px;align-self:center;margin:5px 2px;border-radius:2px}
.cal .bar.sow{background:var(--sow)}
.cal .bar.plant{background:var(--plant)}
.cal .bar.harvest{background:var(--harvest)}
.cal .row{grid-column:1/-1;border-top:1px solid var(--rule-soft);height:0}

/* ───── 今月の野菜（一覧行） ───── */
.veg-row{display:grid;grid-template-columns:118px 250px minmax(0,1fr);gap:14px;
  background:var(--surface);border:1px solid var(--rule);padding:12px;align-items:center}
.veg-row + .veg-row{border-top:0}
.veg-fig{aspect-ratio:1/1;background:var(--rule-soft);border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-faint);
  text-align:center;line-height:1.4}
.veg-name{font-size:22px;font-weight:700;line-height:1.25}
.veg-name a{color:var(--ink)}
.veg-note{font-size:12px;color:var(--ink-mid);margin:2px 0 7px}
.veg-meta{display:flex;flex-direction:column;gap:6px}

/* ───── 記録カード ───── */
.rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.rec{background:var(--surface);border:1px solid var(--rule);display:flex;flex-direction:column}
.rec-fig{aspect-ratio:16/9;background:var(--rule-soft);display:flex;align-items:center;
  justify-content:center;font-size:11px;color:var(--ink-faint);border-bottom:1px solid var(--rule)}
.rec-b{padding:9px 11px;display:flex;flex-direction:column;gap:6px}
.rec-t{font-size:14px;font-weight:700;line-height:1.45}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-size:11px;padding:1px 6px;border:1px solid var(--rule);color:var(--ink-mid);
  background:#fff;white-space:nowrap}
.rec-where{font-size:12px;color:var(--ink-mid);font-family:var(--mono)}
.rec-foot{display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--rule-soft);padding-top:6px;font-size:12px;color:var(--ink-faint)}
.res{font-weight:700;font-size:12px;padding:1px 8px;color:#fff}
.res.ok{background:var(--ok)}
.res.ng{background:var(--ng)}

/* ───── 表 ───── */
.spec{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
.spec th,.spec td{border:1px solid var(--rule);padding:6px 10px;text-align:left;vertical-align:top}
.spec th{background:#FAFAF8;font-weight:400;color:var(--ink-mid);white-space:nowrap;width:110px}
.spec td{font-family:var(--mono)}
.spec td.ja{font-family:var(--font)}

/* ───── 手順 ───── */
.steps{display:flex;flex-direction:column;gap:10px}
.step{display:grid;grid-template-columns:34px minmax(0,1fr) 240px;gap:14px;
  background:var(--surface);border:1px solid var(--rule);padding:12px}
.step-n{font-family:var(--mono);font-size:20px;color:var(--brand);text-align:center;line-height:1.2}
.step h3{margin-bottom:3px}
.step p{font-size:13px;color:var(--ink-mid)}
.step-fig{aspect-ratio:4/3;background:var(--rule-soft);border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;font-size:11px;
  color:var(--ink-faint);text-align:center;padding:6px}

/* ───── 発信者 ───── */
.creator{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule-soft)}
.creator:last-child{border-bottom:0}
.creator-av{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--rule-soft);
  border:1px solid var(--rule)}
.creator-n{font-size:13px;font-weight:700}
.creator-w{font-size:11px;color:var(--ink-mid);font-family:var(--mono)}

/* ───── ランキング ───── */
.rank{display:flex;align-items:center;gap:10px;padding:6px 0;
  border-bottom:1px solid var(--rule-soft);font-size:13px}
.rank:last-child{border-bottom:0}
.rank-n{font-family:var(--mono);font-size:17px;width:18px;color:var(--ink-faint)}
.rank:nth-child(1) .rank-n,.rank:nth-child(2) .rank-n,.rank:nth-child(3) .rank-n{color:var(--harvest)}
.rank-name{flex:1}
.rank-c{font-family:var(--mono);color:var(--link)}

/* ───── ボタン・そのほか ───── */
.btn{display:inline-block;padding:7px 16px;background:var(--brand);color:#fff;
  font-size:13px;border:0;cursor:pointer;font-family:var(--font)}
.btn:hover{background:var(--brand-mid);text-decoration:none}
.btn-o{display:inline-block;padding:6px 14px;border:1px solid var(--link);
  color:var(--link);font-size:13px;background:#fff}
.btn-o:hover{text-decoration:none;background:#F3F7F3}
.more{text-align:right;font-size:13px;padding-top:8px}
.tabs{display:flex;border:1px solid var(--rule);background:#fff;width:fit-content}
.tabs a{padding:5px 14px;font-size:13px;color:var(--ink-mid);border-right:1px solid var(--rule)}
.tabs a:last-child{border-right:0}
.tabs a.on{background:var(--brand);color:#fff}
.tabs a:hover{text-decoration:none}
.months{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.months a{flex:1;text-align:center;padding:7px 0;background:#fff;font-family:var(--mono);
  font-size:13px;min-width:56px}
.months a.on{background:var(--brand);color:#fff}
.months a:hover{text-decoration:none;background:#F3F7F3}
.months a.on:hover{background:var(--brand)}
.list-v{font-size:13px}
.list-v a{display:flex;align-items:center;gap:8px;padding:5px 0;
  border-bottom:1px solid var(--rule-soft);color:var(--ink)}
.list-v a:last-child{border-bottom:0}
.list-v .fam{margin-left:auto;font-size:11px;color:var(--ink-faint)}

.site-foot{border-top:1px solid var(--rule);background:#fff;margin-top:10px}
.site-foot .inner{max-width:1440px;margin:0 auto;padding:14px 20px;
  font-size:12px;color:var(--ink-mid);display:flex;gap:18px;flex-wrap:wrap}

/* ───── 運営・方針ページ（既存の .panel .panel-b .spec に乗せる） ───── */
.wrap.solo{grid-template-columns:minmax(0,1fr);max-width:1000px}
.doc p+p,.doc ul{margin-top:10px}
.doc ul,.doc ol{padding-left:1.5em}
.doc li+li{margin-top:5px}
.doc>header{padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:18px}
.doc section+section{margin-top:22px}
.draft-note{border-left:4px solid var(--ng);padding:8px 12px;background:var(--ground);
  color:var(--ink-mid);margin-bottom:18px}

/* ───── スマホ ───── */
@media (max-width:900px){
  .wrap{grid-template-columns:minmax(0,1fr);padding:12px 12px 30px}
  .site-head .inner{flex-wrap:wrap;gap:10px}
  .head-search{margin-left:0;width:calc(100vw - 40px);max-width:100%;min-width:0}
  .head-search input{flex:1 1 0;width:0;min-width:0}
  .head-search button{flex:0 0 auto}
  .gnav{width:100%;overflow-x:auto;gap:16px;padding-bottom:2px}
  .veg-row{grid-template-columns:84px minmax(0,1fr);gap:10px}
  .veg-row .cal-wrap{grid-column:1/-1;overflow-x:auto}
  .veg-row .cal{min-width:520px}
  .veg-name{font-size:19px}
  .step{grid-template-columns:28px minmax(0,1fr)}
  .step-fig{grid-column:1/-1;aspect-ratio:16/9}
  h1{font-size:24px}
  .cal-scroll{overflow-x:auto}
  .cal-scroll .cal{min-width:560px}
}

/* 野菜ページ追加分 */
.wrap.one{grid-template-columns:minmax(0,1fr);max-width:820px}
.wrap.one main{min-width:0}
.veg-with-finder{max-width:1180px;grid-template-columns:minmax(0,820px) 300px;
  grid-template-areas:"head side" "main side";justify-content:center}
.veg-page-head{grid-area:head;min-width:0}
.veg-with-finder>main{grid-area:main;min-width:0}
.veg-finder-side{grid-area:side;position:sticky;top:16px;min-width:0}
ol.pt{margin:12px 0 0;padding-left:1.7em}
ol.pt li{margin-bottom:11px;line-height:1.8}
.src-note{margin:14px 0 0;padding-top:9px;border-top:1px solid var(--rule-soft);
  font-size:12px;line-height:1.7;color:var(--ink-faint)}
.src-note a{color:var(--ink-faint)}
.spec .na{color:var(--ink-faint)}
main>section{margin-top:32px}
.list-v a .fam{color:var(--ink-faint)}
.lead{color:var(--ink-mid);max-width:52em;line-height:1.85}

/* 野菜名から別の詳細ページへ移るための共通索引。 */
.veg-finder{padding:13px 14px;background:var(--surface);border:1px solid var(--rule)}
.veg-finder h2{font-size:16px;margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--rule)}
.veg-finder-label{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:var(--ink-mid)}
.veg-finder-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.veg-finder-control input{min-width:0;width:100%;height:40px;padding:0 9px;border:1px solid var(--rule);
  border-radius:2px;background:var(--surface);color:var(--ink);font:14px var(--font)}
.veg-finder-control button{height:40px;padding:0 11px;border:1px solid var(--brand);border-radius:2px;
  background:var(--brand);color:#fff;font:13px var(--font);cursor:pointer;white-space:nowrap}
.veg-finder-control button:hover{background:var(--brand-mid)}
.veg-finder-status{min-height:1.7em;margin:6px 0 0;color:var(--ink-faint);font-size:11px}
.veg-finder-results{list-style:none;margin:2px 0 0;padding:0;border-top:1px solid var(--rule)}
.veg-finder-results li{margin:0;padding:0;border-bottom:1px solid var(--rule-soft)}
.veg-finder-option{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;
  min-height:50px;padding:6px 4px;color:var(--ink)}
.veg-finder-option:hover{background:var(--rule-soft);text-decoration:none}
.veg-finder-option b{display:block;font-size:14px}
.veg-finder-option small{display:block;color:var(--ink-faint);font-size:11px}
.veg-finder-all{margin:8px 0 0;padding-top:7px;border-top:1px solid var(--rule-soft);font-size:12px}
.home-tool.veg-finder{padding:0 0 22px;margin:0 0 22px;border:0;border-bottom:1px solid var(--rule);
  background:transparent}

/* 野菜詳細。段階、やり方、補足をCSVの構造のまま見せる。 */
.veg-stage-heading{display:flex;align-items:center;gap:9px;margin:24px 0 8px;
  padding-bottom:6px;border-bottom:1px solid var(--rule);font-size:15px}
.veg-stage-heading img{width:40px;height:40px;object-fit:contain;flex:0 0 40px}
.veg-steps{display:flex;flex-direction:column;gap:7px}
.veg-step{padding:9px 11px;border-left:3px solid var(--rule);background:var(--surface)}
.veg-step-title{margin:0;font-weight:700;line-height:1.7}
.veg-step-detail{margin:5px 0 0;color:var(--ink-mid);line-height:1.8}
.veg-conventional{margin:6px 0 0;color:var(--ink-mid);font-size:12px;line-height:1.7}
.veg-conventional span{display:inline-block;margin-right:7px;padding:0 4px;border:1px solid var(--rule);
  border-radius:2px;color:var(--ink-faint);font-size:10px}
.veg-variant{margin:2px 0 4px;padding:0 0 0 11px;border-left:3px solid var(--brand)}
.veg-variant-name{margin:0 0 5px;color:var(--brand);font-size:13px;font-weight:700}
.veg-variant>.veg-step{padding-left:0;border-left:0}

/* 地域だけを切り替え、作型は縦に並べる。二重タブにしない。 */
.veg-region-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 10px}
.veg-region-tabs button{padding:5px 13px;border:1px solid var(--rule);border-right:0;
  border-radius:0;background:var(--surface);color:var(--ink-mid);font:13px var(--font);cursor:pointer}
.veg-region-tabs button:last-child{border-right:1px solid var(--rule)}
.veg-region-tabs button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.veg-region-tabs button:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.veg-region-panel[hidden]{display:none}
.veg-crop-type{margin:14px 0 6px;font-size:13px}
.veg-cal-grid{--veg-cal-label:58px;margin:0 0 8px;padding:0 9px 4px;border:1px solid var(--rule);
  background:var(--surface);min-width:560px}
.veg-cal-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  margin-left:var(--veg-cal-label);border-bottom:1px solid var(--rule)}
.veg-cal-months span{text-align:center;color:var(--ink-faint);font:11px var(--mono)}
.veg-cal-row{display:grid;grid-template-columns:var(--veg-cal-label) minmax(0,1fr);
  min-height:25px;border-bottom:1px solid var(--rule-soft)}
.veg-cal-row:last-child{border-bottom:0}
.veg-cal-row>b{align-self:center;font-size:11px;font-weight:600}
.veg-cal-track{position:relative}
.veg-cal-rules{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
.veg-cal-rules i{border-right:1px solid var(--rule-soft)}
.veg-cal-bar{position:absolute;top:7px;height:11px;border-radius:2px}
.veg-cal-bar.sow{background:var(--sow)}
.veg-cal-bar.plant{background:var(--plant)}
.veg-cal-bar.harvest{background:var(--harvest)}
.veg-cal-bar.cross-right{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%)}
.veg-cal-bar.cross-left{clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%)}
.veg-cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin:7px 0 0;color:var(--ink-mid);font-size:11px}
.veg-cal-legend span{display:flex;align-items:center;gap:4px}
.veg-cal-legend i{width:18px;height:4px;border-radius:2px}
.veg-cal-legend i.sow{background:var(--sow)}
.veg-cal-legend i.plant{background:var(--plant)}
.veg-cal-legend i.harvest{background:var(--harvest)}
.veg-cal-note{margin:5px 0 0;color:var(--ink-faint);font-size:11px;line-height:1.7}
.veg-calendar-text{margin-top:12px;border-top:1px solid var(--rule);padding-top:8px;font-size:14px}
.veg-calendar-text summary{cursor:pointer;color:var(--link);line-height:1.7}
.veg-calendar-text table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:8px}
.veg-calendar-text caption{text-align:left;margin-bottom:6px;color:var(--ink-mid)}
.veg-calendar-text th,.veg-calendar-text td{border-bottom:1px solid var(--rule);padding:6px 3px;text-align:left;vertical-align:top;overflow-wrap:anywhere;line-height:1.7}
.veg-calendar-text th{font-weight:400}
.veg-calendar-text th:nth-child(1){width:17%}
.veg-calendar-text th:nth-child(2){width:20%}
.veg-calendar-text th:nth-child(3){width:20%}

@media (max-width:620px){
  .veg-calendar{overflow-x:hidden}
  .veg-region-panel{overflow-x:auto;padding-bottom:3px}
  .veg-stage-heading{margin-top:20px}
  .veg-step{padding:8px 9px}
}

/* トップ。PCは本文と補助欄、スマホは導入→補助欄→本文の順に読む。 */
main.home{display:block;max-width:1120px;margin:0 auto;padding:22px 20px 64px}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;
  grid-template-areas:"intro tools" "sections tools";column-gap:34px;align-items:start}
.home-intro{grid-area:intro}
.home-intro .lead p{margin-top:10px}
.home-sections{grid-area:sections;min-width:0}
.home-sections section{margin-top:34px}
.home-tools{grid-area:tools;display:block;background:var(--surface);border-left:1px solid var(--rule);
  padding-left:24px;min-width:0}
.home-tool{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--rule)}
.home-tool:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.home-tool h2{font-size:16px;border-bottom:1px solid var(--rule);padding-bottom:7px;margin-bottom:10px}
.home-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.home-search input,.veg-filter input{min-width:0;width:100%;padding:8px 9px;border:1px solid var(--rule);
  border-radius:2px;background:var(--surface);color:var(--ink);font:13px var(--font)}
.home-search button,.veg-filter button{padding:8px 11px;border:1px solid var(--brand);border-radius:2px;
  background:var(--brand);color:#fff;font:13px var(--font);cursor:pointer}
.home-search button:hover,.veg-filter button:hover{background:var(--brand-mid)}
.home-picks,.home-links{border-top:1px solid var(--rule)}
.home-pick{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;
  padding:9px 0;border-bottom:1px solid var(--rule-soft);color:var(--ink)}
.home-pick:hover,.home-links a:hover{text-decoration:none;background:var(--rule-soft)}
.home-pick img{width:48px;height:48px;object-fit:contain}
.home-pick b{display:block;font-size:14px}
.home-pick small{display:block;color:var(--ink-faint);font-size:11px;line-height:1.55}
.home-links a{display:block;padding:9px 4px;border-bottom:1px solid var(--rule-soft)}
.home-side-note{margin:8px 0 0;color:var(--ink-faint);font-size:11px;line-height:1.7}
.history{margin-top:15px;border-top:1px solid var(--rule)}
.history-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;
  padding:11px 0;border-bottom:1px solid var(--rule-soft)}
.history-period{font-family:var(--mono);font-size:12px;color:var(--ink-mid)}
.history-row p{margin:0;line-height:1.8}
.history-row b{display:block;margin-bottom:2px}

/* 野菜図鑑の検索 */
.veg-filter{margin-top:16px;padding:12px 14px;border:1px solid var(--rule);background:var(--surface)}
.veg-filter>label{display:block;margin-bottom:6px;font-size:13px;font-weight:700}
.veg-filter-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.veg-group[hidden],.list-v a[hidden]{display:none}
.empty{color:var(--ink-faint);padding:20px 0}

@media (max-width:820px){
  main.home{max-width:820px;padding:18px 12px 44px}
  .home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "tools" "sections";
    row-gap:0}
  .home-tools{margin-top:25px;padding:16px 14px;border:1px solid var(--rule)}
  .home-tool{padding-bottom:17px;margin-bottom:17px}
}
@media (max-width:900px){
  .veg-with-finder{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "side" "main"}
  .veg-finder-side{position:static;margin:0 0 2px}
}
@media (max-width:440px){
  .history-row{grid-template-columns:88px minmax(0,1fr);gap:10px}
  .home-search,.veg-filter-control{grid-template-columns:minmax(0,1fr)}
  .home-search button,.veg-filter button{width:100%}
  .veg-finder-control{grid-template-columns:minmax(0,1fr)}
  .veg-finder-control input,.veg-finder-control button{height:44px;width:100%}
}

/* WordPress 用の追加分 */
.comments{margin-top:36px;padding-top:22px;border-top:1px solid var(--rule)}
.comments h2{margin:0 0 14px}
.comment-list{list-style:none;margin:0 0 24px;padding:0}
.comment-list li{padding:14px 0;border-bottom:1px solid var(--rule-soft)}
.comment-list .children{list-style:none;margin:12px 0 0 20px;padding:0 0 0 14px;border-left:2px solid var(--rule-soft)}
.comment-meta{font-size:12px;color:var(--ink-faint);margin-bottom:6px}
.comment-meta a{color:var(--ink-faint)}
.comment-body p{margin:0 0 8px;line-height:1.85}
.comment-reply-link{font-size:12px}
.comment-form p{margin:0 0 12px}
.comment-form label{display:block;font-size:13px;margin-bottom:4px;color:var(--ink-mid)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;max-width:38em;padding:8px 10px;border:1px solid var(--rule);border-radius:2px;
  font-family:var(--font);font-size:14px;background:var(--surface);color:var(--ink)}
.comment-form textarea{max-width:100%;line-height:1.8}
.comment-form input[type=submit]{padding:9px 20px;border:1px solid var(--brand);border-radius:2px;
  background:var(--brand);color:#fff;font-family:var(--font);font-size:14px;cursor:pointer}
.comment-form input[type=submit]:hover{background:var(--brand-mid);border-color:var(--brand-mid)}
.comment-form .comment-form-cookies-consent label{display:inline;margin-left:6px}
main.doc h2{margin-top:28px}
main.doc p,main.doc li{line-height:1.9}
.pagination,.comments-pagination{margin-top:20px;font-size:14px}
.pagination .page-numbers,.comments-pagination .page-numbers{
  display:inline-block;padding:5px 11px;margin-right:5px;border:1px solid var(--rule);border-radius:2px}
.pagination .current,.comments-pagination .current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* wp_nav_menu は <ul><li><a> を出す。親が flex なので ul も flex にして揃える */
.site-foot ul{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.site-foot li{margin:0;padding:0}
.gnav ul{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.gnav li{margin:0;padding:0}

/* 発信者の比較表。名前の列を広く取り、本文は等幅にしない */
.spec.compare th{width:190px;font-weight:600;color:var(--ink);white-space:normal}
.spec.compare th a{color:var(--ink)}
.spec.compare td{font-family:var(--font);line-height:1.7}
@media (max-width:520px){
  .spec.compare th{width:auto}
}

/* 問い合わせフォーム */
.contact-form{margin-top:14px;max-width:38em}
.contact-form p{margin:0 0 14px}
.contact-form label{display:block;font-size:13px;margin-bottom:4px;color:var(--ink-mid)}
.contact-form .req{margin-left:8px;padding:1px 6px;border:1px solid var(--sow);border-radius:2px;
  font-size:11px;color:var(--sow)}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{
  width:100%;padding:8px 10px;border:1px solid var(--rule);border-radius:2px;
  font-family:var(--font);font-size:14px;background:var(--surface);color:var(--ink)}
.contact-form textarea{line-height:1.8}
.contact-form input[type=submit]{padding:9px 22px;border:1px solid var(--brand);border-radius:2px;
  background:var(--brand);color:#fff;font-family:var(--font);font-size:14px;cursor:pointer}
.contact-form input[type=submit]:hover{background:var(--brand-mid);border-color:var(--brand-mid)}
/* 人には見せない欄。機械だけが埋める */
.shizennou-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin:14px 0;padding:10px 12px;border:1px solid var(--rule);border-radius:2px;font-size:14px}
.form-note.ok{border-color:var(--ok);color:var(--ok)}
.form-note.ng{border-color:var(--ng);color:var(--ng)}

/* 月別の季節導線 */
.month-links{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--surface)}
.month-links a{display:flex;gap:14px;align-items:baseline;padding:12px 14px;color:var(--ink);border-bottom:1px solid var(--rule-soft)}
.month-links a:last-child{border-bottom:0}
.month-links a:hover{background:var(--rule-soft);text-decoration:none}
.month-links b{font-size:15px}
.month-links span{margin-left:auto;color:var(--ink-faint);font-size:12px;font-family:var(--mono)}
.filters{display:flex;gap:8px;margin:0 0 10px}
.filters button{border:1px solid var(--rule);background:#fff;color:var(--ink-mid);padding:6px 12px;font:13px var(--font);cursor:pointer}
.filters button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.season-list{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--surface)}
.season-item{padding:12px 14px;border-bottom:1px solid var(--rule-soft)}
.season-item:last-child{border-bottom:0}
.season-item[hidden]{display:none}
.season-main{display:flex;align-items:center;gap:10px;color:var(--ink)}
.season-main:hover{text-decoration:none}
.season-main .dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--cat-leaf)}
.season-main .dot.fruit{background:var(--cat-fruit)}
.season-main .dot.root{background:var(--cat-root)}
.season-main .dot.bean{background:var(--cat-bean)}
.season-main .dot.herb{background:var(--cat-herb)}
.season-main .vname{font-weight:700}
.season-main .task{font-size:11px;color:var(--ink-mid);border:1px solid var(--rule);padding:1px 5px}
.season-main .place{margin-left:auto;font-size:11px;color:var(--ink-faint)}
.season-schedule{margin:9px 0 0 20px;padding-top:8px;border-top:1px solid var(--rule-soft)}
.season-schedule h3{margin:0 0 6px;font-size:12px;color:var(--ink-mid)}
.region-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.region-timing{min-width:0;font-size:11px}
.region-timing .region-name{display:block;margin-bottom:3px;font-weight:700;color:var(--ink-mid)}
.region-timing>strong{font-weight:600;color:var(--ink-mid)}
.region-timing p{display:flex;justify-content:space-between;gap:6px;margin:0;padding:3px 0;border-top:1px solid var(--rule-soft);line-height:1.55}
.region-timing p span{min-width:0}
.region-timing p b{font-weight:600;color:var(--ink-mid)}
.region-state strong{flex:0 0 auto;font-weight:600;color:var(--ink-mid)}
.region-state strong.now{color:var(--link)}
.region-state strong.end{color:var(--cat-fruit)}
.region-timing .harvest-time{display:block;color:var(--ink-faint)}
.region-timing .unverified-time{display:block;color:var(--cat-fruit)}
.region-guide{margin:14px 0;padding:9px 12px;border:1px solid var(--rule);background:var(--surface)}
.region-guide summary{cursor:pointer;font-weight:600;color:var(--link)}
.region-guide p{margin:8px 0 0;max-width:64ch;font-size:12px;line-height:1.8;color:var(--ink-mid)}
.shizennou-ad{margin:32px 0;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0}
.shizennou-ad[hidden]{display:none}
.shizennou-ad-label{margin:0 0 6px;color:var(--ink-faint);font-size:11px;line-height:1.4}
.shizennou-ad-frame{display:grid;place-items:center;width:100%;min-height:180px;overflow:hidden;background:var(--surface)}
.shizennou-ad .adsbygoogle{width:100%;min-height:180px}
.shizennou-ad-preview{display:grid;gap:5px;text-align:center;color:var(--ink-mid);font-size:12px}
.shizennou-ad-preview b{color:var(--ink);font-size:14px}
.shizennou-ad-home_end{margin-top:34px}
.shizennou-ad-vegetable_list_after_fruit{margin:0 0 54px}
.shizennou-ad-device-mobile{display:none}
@media (max-width:900px){
  .shizennou-ad-device-desktop{display:none}
  .shizennou-ad-device-mobile{display:block}
  .shizennou-ad-frame,.shizennou-ad .adsbygoogle{min-height:250px}
}
.issues{margin:0;padding-left:1.4em}
.issues li{margin-bottom:8px;line-height:1.8}
.note{font-size:12px;color:var(--ink-mid);line-height:1.7;margin-top:9px}
@media (max-width:520px){
  .season-main{flex-wrap:wrap}
  .season-main .place{width:100%;margin-left:20px}
  .season-schedule{margin-left:20px}
  .region-state{grid-template-columns:1fr}
  .region-timing{max-width:100%}
}
