/* 健康診断 検査項目辞典（/kensa-jiten/）専用。archive-kensa.php / single-kensa.php でだけ読み込む */
.kj-wrap{max-width:1100px;margin:0 auto;padding-left:40px;padding-right:40px}
.kj-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kj-eyebrow{display:inline-block;background:var(--primary-light);color:var(--primary);font-weight:700;font-size:14px;padding:3px 12px;border-radius:20px;letter-spacing:.06em;margin:0}
.kj-h1{font-size:34px;font-weight:900;line-height:1.45;margin:12px 0 10px}
.kj-lead{margin:0 0 22px;color:var(--gray);font-size:16px;line-height:1.9;max-width:44em}
/* 絞り込みで隠す要素（display指定より優先させる） */
.kj-card[hidden],.kj-group[hidden],.kj-empty[hidden],.kj-snip[hidden],.kj-clear[hidden]{display:none!important}
mark{background:#FFE7C2;color:inherit;border-radius:3px;padding:0 1px}

/* 一覧: 見出し帯と検索 */
.kj-hero{background:linear-gradient(160deg,var(--primary-pale) 0%,#fff 70%);border-bottom:1px solid var(--light-gray)}
.kj-hero .kj-wrap{padding-top:28px;padding-bottom:30px}
.kj-search{position:relative;max-width:720px}
.kj-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--primary);pointer-events:none}
.kj-search input{width:100%;font:inherit;font-size:18px;padding:15px 96px 15px 52px;border:2px solid var(--primary);border-radius:14px;background:#fff;color:var(--dark);box-shadow:0 6px 20px rgba(11,110,79,.08);-webkit-appearance:none;appearance:none}
.kj-search input::placeholder{color:#8A989E}
.kj-search input:focus{outline:none;box-shadow:0 0 0 4px rgba(255,140,66,.35)}
.kj-search input::-webkit-search-cancel-button{display:none}
.kj-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:var(--primary-light);color:var(--primary);font:inherit;font-size:14px;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer}
.kj-hints{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font-size:14px;color:var(--gray)}
.kj-hints button{font:inherit;font-size:14px;border:1px solid var(--light-gray);background:#fff;color:var(--dark);padding:3px 12px;border-radius:20px;cursor:pointer}
.kj-hints button:hover{border-color:var(--primary);color:var(--primary)}
html:not(.kj-js) .kj-search,html:not(.kj-js) .kj-hints,html:not(.kj-js) .kj-side{display:none}

/* 一覧: 2カラム */
.kj-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;padding-top:32px;padding-bottom:64px}
html:not(.kj-js) .kj-grid{grid-template-columns:minmax(0,1fr)}
.kj-side{position:sticky;top:90px;align-self:start}
.kj-side-h{font-size:14px;letter-spacing:.08em;color:var(--gray);margin:0 0 8px;font-weight:700}
.kj-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.kj-cats button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:none;color:var(--dark);font:inherit;font-size:15px;padding:8px 12px;border-radius:8px;cursor:pointer;line-height:1.5}
.kj-cats button:hover{background:var(--primary-pale)}
.kj-cats button[aria-pressed="true"]{background:var(--primary);color:#fff;font-weight:700}
.kj-cats button:disabled{opacity:.35;cursor:default;background:none}
.kj-n{font-family:'Outfit',sans-serif;font-variant-numeric:tabular-nums;opacity:.75}
.kj-cats button[aria-pressed="true"] .kj-n{opacity:1}
/* 検索中の並べ替えに使う（JSで order を付ける） */
.kj-main{display:flex;flex-direction:column;min-width:0}
.kj-main > .kj-status{order:-1}
.kj-main > .kj-empty{order:2000}
.kj-main > .kj-guides{order:2001}
.kj-main > .kj-notice{order:2002}
.kj-status{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--light-gray)}
.kj-count{font-family:'Outfit',sans-serif;font-size:28px;color:var(--primary);font-variant-numeric:tabular-nums}
.kj-q-label{color:var(--gray);font-size:15px}
.kj-group{margin-bottom:36px}
.kj-group h2{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;margin:0 0 14px}
.kj-group h2::before{content:"";width:6px;height:22px;background:var(--primary);border-radius:3px;flex-shrink:0}
.kj-group h2 .kj-n{font-size:15px;color:var(--gray);font-weight:500}
.kj-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.kj-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--light-gray);background:#fff;border-radius:12px;padding:16px 18px;color:var(--dark);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.kj-card:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(11,110,79,.1)}
.kj-t{font-size:18px;font-weight:700;line-height:1.4}
.kj-a{font-size:14px;color:var(--gray);line-height:1.5}
.kj-d{font-size:15px;line-height:1.7}
.kj-snip{font-size:14px;color:var(--gray);background:var(--primary-pale);border-radius:6px;padding:6px 8px;line-height:1.6}
.kj-u{margin-top:auto;padding-top:4px;font-size:13px;color:var(--primary)}
.kj-empty{border:1px dashed var(--light-gray);border-radius:12px;padding:28px;text-align:center;color:var(--gray);margin-bottom:36px}
.kj-empty p{margin:0 0 10px}
.kj-guides{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.kj-guide{background:var(--primary-pale);border-radius:12px;padding:20px 22px}
.kj-guide h2{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--primary)}
.kj-guide p{margin:0 0 .8em;font-size:15px;line-height:1.85}
.kj-guide p:last-child{margin-bottom:0}
.kj-notice{border-left:4px solid var(--gray);background:#F6F8F9;padding:14px 18px;border-radius:0 8px 8px 0;font-size:14px;color:var(--gray);line-height:1.8;margin:24px 0 0}

/* 個別ページ */
.kj-detail{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding-top:28px;padding-bottom:64px}
.kj-article .kj-h1{margin-top:12px}
.kj-facts{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;background:var(--primary-pale);border:1px solid rgba(11,110,79,.12);border-radius:12px;padding:18px 22px;margin:20px 0 32px}
.kj-facts dt{font-weight:700;color:var(--primary);font-size:15px;white-space:nowrap}
.kj-facts dd{margin:0}
.kj-chips{display:flex;flex-wrap:wrap;gap:8px}
.kj-chip{display:inline-block;border:1px solid var(--primary);color:var(--primary);background:#fff;border-radius:20px;padding:2px 12px;font:inherit;font-size:14px;font-weight:500;line-height:1.7;text-decoration:none;cursor:pointer}
.kj-chip:hover{background:var(--primary-light)}
.kj-h2{font-size:21px;font-weight:700;margin:0 0 12px;padding-left:12px;border-left:4px solid var(--primary);line-height:1.5}
.kj-body{font-size:16px;line-height:1.95;max-width:42em}
.kj-body p{margin:0 0 1.2em}
.kj-article .kj-notice{max-width:46em;margin:8px 0 28px}
.kj-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kj-pager a{border:1px solid var(--light-gray);border-radius:10px;padding:10px 16px;font-size:15px;color:var(--dark);text-decoration:none;max-width:48%}
.kj-pager a:hover{border-color:var(--primary);color:var(--primary)}
.kj-aside{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:18px}
.kj-back{color:var(--primary);font-weight:700;font-size:15px;text-decoration:none}
.kj-back:hover{text-decoration:underline}
.kj-samecat-h{font-size:14px;margin:0 0 8px;color:var(--gray);font-weight:700}
.kj-samecat ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--light-gray)}
.kj-samecat li a{display:block;border-bottom:1px solid var(--light-gray);padding:9px 4px;font-size:15px;color:var(--dark);text-decoration:none}
.kj-samecat li a:hover{color:var(--primary)}
.kj-samecat li a[aria-current="page"]{color:var(--primary);font-weight:700}

@media(max-width:900px){
  .kj-grid,.kj-detail{grid-template-columns:minmax(0,1fr);gap:20px}
  .kj-aside{position:static}
  .kj-guides{grid-template-columns:1fr}
}
@media(max-width:768px){
  .kj-wrap{padding-left:20px;padding-right:20px}
  .kj-h1{font-size:26px}
  .kj-search input{font-size:17px}
  /* 分類は上部に横スクロールで並べる */
  .kj-side{position:sticky;top:60px;z-index:5;background:#fff;margin:0 -20px;padding:10px 20px;border-bottom:1px solid var(--light-gray)}
  .kj-side-h{display:none}
  .kj-cats{flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:none}
  .kj-cats::-webkit-scrollbar{display:none}
  .kj-cats button{white-space:nowrap;border:1px solid var(--light-gray);border-radius:20px;padding:5px 12px;font-size:14px}
  .kj-facts{grid-template-columns:1fr;gap:4px}
  .kj-facts dd{margin-bottom:8px}
  .kj-pager a{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.kj-card,.kj-cats button{transition:none}}
