/* 研究者：サービスを探す（.ex の中だけに効く） */
.ex { --ex-ink: #10223f; --ex-sub: #5d6f87; --ex-line: #dce7f1; --ex-accent: #0a86c9; --ex-soft: #e6f3fb;
  max-width: 1040px; margin: 0 auto; padding: 16px 16px 48px; color: var(--ex-ink); line-height: 1.6; }
.ex *, .ex *::before, .ex *::after { box-sizing: border-box; }
.ex h1 { font-size: 1.5rem; margin: 8px 0 4px; }
.ex h2 { font-size: 1.15rem; margin: 0 0 12px; }
.ex h3 { font-size: 1rem; margin: 0 0 4px; }
.ex-lead, .ex-empty { color: var(--ex-sub); margin: 0 0 20px; }
.ex-section { margin: 0 0 28px; }
.ex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.ex-card, .ex-tree { background: #fff; border: 1px solid var(--ex-line); border-radius: 12px; padding: 14px 16px; }
.ex-tree { margin: 0 0 12px; }
.ex-question { color: var(--ex-sub); font-size: 0.88rem; margin: 0 0 8px; }
.ex-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ex-inline { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.ex-cat { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px;
  background: var(--ex-soft); color: var(--ex-accent); text-decoration: none; font-weight: 600; }
a.ex-cat:hover { background: #d7ecfb; }
.ex-cat-plain { background: #eef2f1; color: var(--ex-sub); font-weight: 400; }
.ex-count { font-size: 0.78rem; font-weight: 400; color: red; text-wrap: nowrap; }

/* やりたいことのカードの中は、1行に1件。幅をカードいっぱいに揃え、件数を右端に寄せる。
   「解析の種類から探す」側（.ex-inline）は横並びのままにしたいので、ここだけに効かせる */
.ex-card .ex-list .ex-cat { display: flex; width: 100%; justify-content: space-between; align-items: baseline; gap: 10px; }
.ex-card .ex-list .ex-count { white-space: nowrap; }
.ex-soon { font-size: 0.75rem; color: var(--ex-sub); }
.ex-middle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 0; border-top: 1px solid var(--ex-line); }
.ex-middle:first-of-type { border-top: none; }
.ex-middle-name { min-width: 8em; font-weight: 600; color: var(--ex-sub); font-size: 0.9rem; }
