@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/NotoSerifJP-700-headings.woff2") format("woff2");
}

:root {
  --lp-green: #42ba9e;
  --lp-ink-2: #4b554f;
  --lp-white: #ffffff;
  --lp-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif;
  --facts-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Hiragino Mincho", serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--lp-white);
  color: var(--lp-ink);
  font-family: var(--lp-sans);
  font-size: 16px;
  line-height: 1.75;
}

.facts-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 24px 64px;
  background: var(--lp-white);
}

.facts-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-items: end;
  padding: 12px 0 0;
  border-top: 4px solid #000;
  border-bottom: 4px solid #000;
  margin-bottom: 20px;
}
.facts-masthead h1 {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  margin: 0;
  font-family: var(--facts-serif);
  font-size: clamp(32px, 6vw, 64px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .04em;
  word-break: keep-all;
}
.facts-masthead time {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  justify-self: start;
  padding-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.facts-figure {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: end;
  justify-self: end;
  display: block;
  width: auto;
  height: 130px;
  margin: 0;
}
.facts-deck {
  margin: 0 0 28px;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--lp-yellow);
  font-family: var(--facts-serif);
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.4;
}

.facts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px 32px;
  align-items: start;
}
.facts-grid article,
.facts-span {
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}
.facts-span { grid-column: 1 / -1; border-bottom: 0; padding-bottom: 0; }

.facts-grid h2 {
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--lp-yellow);
  font-family: var(--facts-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}
.facts-grid p { margin: 0 0 12px; }
.facts-grid ul { margin: 0 0 12px; padding-left: 1.2em; }
.facts-grid li { margin: 0 0 8px; }
.facts-grid ol { margin: 12px 0; padding-left: 1.4em; }
#facts-scenes li { font-size: 14px; line-height: 1.7; }
.facts-source {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.facts-source a { color: var(--lp-ink); }

.facts-table-wrap { overflow-x: auto; border: 1px solid #000; margin: 0 0 16px; }
.facts-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 13px;
}
.facts-matrix { min-width: 720px; }
.facts-table:not(.facts-matrix) { min-width: 880px; }
.facts-table caption {
  caption-side: top;
  text-align: left;
  padding: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
}
.facts-table th,
.facts-table td {
  border: 1px solid #000;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.facts-table th { background: var(--lp-white); font-weight: 700; }
.facts-table a { color: var(--lp-ink); }
.facts-table tr.is-baton td { background: #fbf3b3; }
.facts-table tr.is-baton td:first-child {
  position: relative;
  border-left: 4px solid #000;
  font-weight: 700;
}
.facts-baton-mark {
  display: inline-block;
  height: 14px;
  width: auto;
  margin-right: 6px;
  vertical-align: -2px;
}
.facts-baton-name {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.facts-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15em;
  font-weight: 700;
  line-height: 1;
}
.facts-mark-yes {
  width: 1.15em;
  height: 1.15em;
  border-radius: 50%;
  background: var(--lp-green);
  color: #fff;
  font-size: 11px;
}
.facts-mark-no { color: #9aa39d; }
.facts-mark-mid { color: var(--lp-ink); }
.facts-mark-na { color: #9aa39d; font-weight: 400; }
.facts-mark-note {
  display: inline;
  margin-left: 4px;
  font-size: 12px;
  font-weight: 400;
  color: var(--lp-ink-2);
}
.facts-matrix-legend {
  margin: 0 0 20px;
  font-size: 12px;
  color: var(--lp-ink-2);
}
.facts-span > p:not(.facts-source):not(.facts-matrix-legend) { margin: 12px 0 0; font-size: 14px; }

.facts-questions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0 0 28px;
  border-top: 3px solid var(--lp-yellow);
  border-bottom: 1px solid #000;
}
.facts-questions__label {
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  border-right: 1px solid #000;
}
.facts-questions a {
  padding: 10px 14px;
  border-right: 1px solid #000;
  color: inherit;
  text-decoration: none;
}
.facts-questions a[aria-current="page"] {
  box-shadow: inset 0 -3px 0 var(--lp-yellow);
}
.facts-tabs {
  display: flex;
  gap: 0;
  margin: 0 0 28px;
  padding: 0;
  border-bottom: 3px solid #000;
}
.facts-tabs a {
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -3px;
}
.facts-tabs a[aria-current="page"] {
  border-bottom-color: var(--lp-yellow);
}
.facts-tabs {
  display: flex;
  align-items: stretch;
  margin: 0 0 24px;
  border-bottom: 1px solid #000;
}
.facts-tabs a {
  flex: 1 1 0;
  padding: 10px 0;
  text-align: center;
  color: inherit;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
}
.facts-tabs a[aria-current="page"] {
  box-shadow: inset 0 -3px 0 var(--lp-yellow);
}

.facts-listing {
  list-style: none;
  margin: 0;
  padding: 0;
}
.facts-list-item {
  padding: 16px 0;
  border-bottom: 1px solid #000;
}
.facts-list-item h2 {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.facts-list-item h2 a {
  color: inherit;
  text-decoration: none;
}
.facts-list-item h2 a:hover { text-decoration: underline; }
.facts-list-item p {
  margin: 0;
  font-size: 14px;
  color: var(--lp-ink-2);
}
.facts-list-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  margin-bottom: 4px;
}
.facts-list-badge--corporate { background: #e8f5e9; color: #2e7d32; }
.facts-list-badge--personal { background: #e3f2fd; color: #1565c0; }

.facts-ask h2 {
  margin: 28px 0 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--lp-yellow);
  font-family: var(--facts-serif);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.facts-ask h3 {
  margin: 20px 0 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

.facts-baton-box {
  margin: 32px 0;
  padding: 20px;
  border: 2px solid var(--lp-green);
  border-radius: 8px;
}
.facts-baton-box h2 { border-bottom-color: var(--lp-green); }
.facts-baton-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.facts-baton-links a:not(.lp-btn-secondary) { font-size: 14px; }

.facts-faq { margin: 24px 0; }
.facts-faq h2 { margin-bottom: 8px; }
.facts-faq-item { margin: 0 0 8px; }
.facts-faq-item summary {
  cursor: pointer;
  font-weight: 700;
  padding: 8px 0;
}
.facts-faq-item p { margin: 4px 0 12px; font-size: 15px; }

.facts-summary { margin: 24px 0; }

.facts-qa-related { margin: 24px 0; }
.facts-qa-related ul { padding-left: 1.2em; }
.facts-qa-related li { margin: 0 0 6px; }

.facts-operator {
  margin: 24px 0 8px;
  font-size: 13px;
  font-weight: 700;
}
.facts-source-list {
  margin: 0;
  padding-left: 1.2em;
}
.facts-source-list li {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.facts-article-footer {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid #000;
}

.facts-ask blockquote {
  margin: 12px 0;
  padding: 12px 16px;
  border-left: 4px solid var(--lp-yellow);
  background: #fafafa;
  font-size: 15px;
}
.facts-ask blockquote p { margin: 0; }

.facts-crumb {
  margin: 0 0 12px;
  font-size: 13px;
}
.facts-crumb a { color: inherit; }
.facts-ask h1 {
  margin: 0 0 16px;
  font-family: var(--facts-serif);
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.35;
}
.facts-ask .facts-table,
.facts-ask .facts-table:not(.facts-matrix) { min-width: 0; }
.facts-ask h2 {
  margin: 32px 0 12px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--lp-yellow);
  font-family: var(--facts-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
}
.facts-ask h3 {
  margin: 24px 0 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}
.facts-ask h4 {
  margin: 20px 0 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.facts-ask p { margin: 0 0 12px; }
.facts-ask ul, .facts-ask ol { margin: 0 0 12px; padding-left: 1.4em; }
.facts-ask li { margin: 0 0 6px; }
.facts-ask blockquote {
  margin: 12px 0;
  padding: 12px 16px;
  border-left: 4px solid var(--lp-yellow);
  background: #f9f9f6;
  font-size: 15px;
}
.facts-ask blockquote p { margin: 0 0 6px; }
.facts-ask blockquote p:last-child { margin: 0; }
.facts-cta-box {
  margin: 28px 0;
  padding: 20px 24px;
  border: 2px solid #000;
  background: #fafaf7;
}
.facts-cta-box h2, .facts-cta-box h3 { border-bottom: 0; margin-top: 0; }
.facts-cta-box ul { margin: 0 0 16px; }
.facts-cta-box .facts-cta-links { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
.facts-cta-links .lp-btn-primary {
  display: inline-block;
  padding: 12px 24px;
  background: var(--lp-green);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 6px;
}
.facts-cta-links a:not(.lp-btn-primary) { color: inherit; }
.facts-faq dt { margin: 16px 0 4px; font-weight: 700; }
.facts-faq dd { margin: 0 0 12px; padding: 0; }
.facts-meta { margin: 24px 0 0; font-size: 13px; color: var(--lp-ink-2); }
/* P384（試作）: 記事の頭の広告の 1 行。背景・枠は付けない（印刷で墨を使わない） */
.facts-ad-note { margin: 0 0 1em; font-size: 0.85em; color: var(--lp-ink-2); }
/* ---------- P384 v4：退職代行の比較（カード・推し 3 枠・3 問・推し順）。点数と数字を主役に、字を大きく。白地・1px の薄いグレーの線 ---------- */
.facts-ask [hidden] { display: none !important; }
:root { --agency-line: #d6d6d0; --agency-soft: #f5f5f0; --agency-ink: var(--lp-ink, #232616); --agency-btn: #2f5d8a; --agency-btn-hover: #234868; }
.agency-answer { font-size: 18px; font-weight: 700; line-height: 1.7; }
.agency-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.agency-toc a { padding: 6px 14px; border: 1px solid var(--agency-line); border-radius: 999px; font-size: 15px; font-weight: 700; color: inherit; text-decoration: none; }
.agency-toc a:hover { box-shadow: inset 0 -3px 0 var(--lp-yellow); }
.agency-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* カード */
.agency-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 20px; }
.agency-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 0 20px; padding: 0; list-style: none; }
.facts-ask .agency-list > li { margin: 0; }
.agency-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 0 20px 20px; border: 1px solid var(--agency-line); border-radius: 12px; background: var(--lp-white); overflow: hidden; }
.facts-ask .agency-card__band { margin: 0 -20px; padding: 8px 20px; background: var(--agency-ink); color: #fff; font-size: 18px; font-weight: 800; letter-spacing: .04em; }
.facts-ask .agency-card__band--scene { background: var(--lp-yellow); color: var(--agency-ink); font-size: 20px; }
.agency-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.facts-ask .agency-score { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; margin: 0; }
.agency-score__num { font-family: Inter, var(--lp-sans); font-size: 52px; font-weight: 900; line-height: 1; color: var(--agency-ink); }
.agency-score__max { font-size: 18px; font-weight: 700; color: var(--lp-ink-2); }
.agency-score__rank { margin-left: 6px; font-size: 15px; font-weight: 700; color: var(--lp-ink-2); }
.agency-kind { padding: 4px 14px; border: 2px solid var(--agency-ink); border-radius: 999px; font-size: 15px; font-weight: 800; white-space: nowrap; }
.agency-card__title { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 14px; align-items: start; }
.facts-ask .agency-thumb { margin: 0; }
.agency-thumb__img { display: block; width: 100%; height: auto; border: 1px solid var(--agency-line); border-radius: 4px; }
.facts-ask .agency-thumb figcaption { margin: 4px 0 0; font-size: 12px; line-height: 1.5; color: var(--lp-ink-2); }
.facts-ask .agency-card__name { margin: 0; font-size: 23px; font-weight: 800; line-height: 1.35; }
.agency-boxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--agency-line); border-radius: 8px; overflow: hidden; }
.agency-box { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--agency-line); border-bottom: 1px solid var(--agency-line); }
.agency-box:nth-child(2n) { border-right: 0; }
.agency-box:nth-child(n+3) { border-bottom: 0; }
.facts-ask .agency-box__label { margin: 0 0 2px; font-size: 13px; font-weight: 700; color: var(--lp-ink-2); }
.facts-ask .agency-box__value { margin: 0; font-family: Inter, var(--lp-sans); font-size: 30px; font-weight: 900; line-height: 1.2; color: var(--agency-ink); white-space: nowrap; }
.agency-box__unit { margin-left: 3px; font-size: 16px; font-weight: 800; }
/* 推し 3 枠は PC で 3 列なので、数字を少しだけ小さく */
.facts-ask .agency-picks .agency-box__value { font-size: 25px; }
.agency-picks .agency-box { padding: 10px 10px; }
.facts-ask .agency-box__note { margin: 4px 0 0; font-size: 12px; line-height: 1.5; color: var(--lp-ink-2); }
.facts-ask .agency-points { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 12px 14px; list-style: none; background: var(--agency-soft); border-radius: 8px; font-size: 15px; color: #a3a69e; }
.facts-ask .agency-point { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.agency-point.is-on { color: var(--agency-ink); font-weight: 800; }
.agency-point__mark { display: inline-block; width: 18px; height: 18px; border: 2px solid #c4c6be; border-radius: 50%; }
.agency-point.is-on .agency-point__mark { border-color: var(--agency-btn); background: var(--agency-btn); }
.facts-ask .agency-card__h { margin: 0 0 -6px; font-size: 13px; font-weight: 700; color: var(--lp-ink-2); }
.facts-ask .agency-features, .facts-ask .agency-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.facts-ask .agency-features li, .facts-ask .agency-tags li { margin: 0; border-radius: 8px; white-space: nowrap; }
.facts-ask .agency-features li { padding: 4px 12px; background: #e8eef5; color: #234868; font-size: 16px; font-weight: 800; }
.facts-ask .agency-tags li { padding: 3px 10px; border: 1px solid var(--agency-line); color: var(--lp-ink-2); font-size: 15px; }
.facts-ask .agency-pick__base { margin: -4px 0 0; padding: 10px 12px; border-left: 4px solid var(--lp-yellow); background: var(--agency-soft); font-size: 14px; line-height: 1.6; }
.agency-more { font-size: 14px; }
.agency-more summary { cursor: pointer; font-weight: 700; }
.agency-more dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 10px; margin: 8px 0 0; }
.agency-more dt { font-weight: 700; color: var(--lp-ink-2); }
.agency-more dd { margin: 0; overflow-wrap: anywhere; }
.facts-ask .agency-card__go { margin: auto 0 0; }

/* ボタン（推し・一覧・3 問・推し順で同じ） */
.agency-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; padding: 10px 18px; border-radius: 12px; background: var(--agency-btn); color: #fff; font-size: 18px; font-weight: 800; line-height: 1.35; text-align: center; text-decoration: none; }
.facts-ask a.agency-btn { color: #fff; }
.agency-btn:hover, .agency-btn:focus-visible { background: var(--agency-btn-hover); }
.agency-btn:focus-visible { outline: 3px solid var(--lp-yellow); outline-offset: 2px; }
.agency-btn__arrow { font-size: 20px; }
.agency-btn--sm { min-height: 48px; font-size: 16px; white-space: nowrap; }

/* 3 問 */
.agency-quiz { margin: 0 0 20px; padding: 20px; border: 1px solid var(--agency-line); border-radius: 12px; }
.agency-quiz__q { margin: 0 0 16px; padding: 0; border: 0; }
.agency-quiz__q legend { margin: 0 0 8px; font-size: 17px; font-weight: 800; }
.agency-quiz__q label { display: inline-flex; align-items: center; gap: 8px; margin: 0 8px 8px 0; padding: 10px 16px; border: 1px solid var(--agency-line); border-radius: 999px; font-size: 16px; cursor: pointer; }
.agency-quiz__q label:has(input:checked) { border-color: var(--agency-ink); background: #fbf3b3; font-weight: 800; }
.agency-quiz__q input { margin: 0; accent-color: #000; width: 18px; height: 18px; }
.agency-quiz__result { display: grid; gap: 10px; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--agency-line); }
.facts-ask .agency-quiz__lead { margin: 0; font-size: 18px; font-weight: 800; }
.agency-quiz__card { max-width: 560px; }
.facts-ask .agency-quiz__steps, .facts-ask .agency-quiz__next, .facts-ask .agency-quiz__note, .facts-ask .agency-quiz__baton { margin: 0; font-size: 14px; color: var(--lp-ink-2); }
.agency-nojs { font-size: 14px; color: var(--lp-ink-2); }

/* 検索・絞り込み・並べ替え */
.agency-tools { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0 0 14px; padding: 16px; border: 1px solid var(--agency-line); border-radius: 12px; }
.agency-search { display: grid; gap: 6px; font-size: 15px; font-weight: 800; }
.agency-search input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--agency-line); border-radius: 8px; font: inherit; font-size: 16px; font-weight: 400; }
.agency-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.agency-chip { padding: 8px 14px; border: 1px solid var(--agency-line); border-radius: 999px; background: var(--lp-white); color: inherit; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.agency-chip[aria-pressed="true"] { border-color: var(--agency-ink); background: #fbf3b3; font-weight: 800; }
.agency-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; }
.agency-sort select { flex: 1 1 200px; min-width: 0; max-width: 100%; min-height: 44px; padding: 6px 10px; border: 1px solid var(--agency-line); border-radius: 8px; background: var(--lp-white); font: inherit; font-size: 15px; font-weight: 400; }
.facts-ask .agency-count { margin: 0; font-size: 14px; color: var(--lp-ink-2); }
.agency-legend { font-size: 14px; color: var(--lp-ink-2); }
.agency-empty { font-weight: 800; font-size: 16px; }

/* 総合の推し順 */
.facts-ask .agency-rank { font-size: 16px; }
.facts-ask .agency-rank td { vertical-align: middle; }
.agency-rank__no { font-size: 18px; font-weight: 900; white-space: nowrap; }
.agency-rank__name { font-size: 18px; font-weight: 800; }
.agency-rank__sub { display: block; font-size: 13px; font-weight: 400; color: var(--lp-ink-2); }
.agency-rank__score { white-space: nowrap; }
.agency-rank__score .agency-score__num { font-size: 40px; }
.agency-rank__go { width: 180px; }

/* P384 v6：帯の高さを固定（1 行・折り返さない。切れる字は出さないので、字を短くするか小さくする） */
.facts-ask .agency-card__band { display: flex; align-items: center; height: 56px; padding-top: 0; padding-bottom: 0; white-space: nowrap; }
.facts-ask .agency-card__band--scene { font-size: clamp(16px, 1.7vw, 20px); }
/* P384 v6：カードの段を横で揃える（subgrid。効かない環境は縦並びのまま） */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 744px) {
    .agency-picks, .agency-list { row-gap: 0; align-items: stretch; }
    .agency-picks > .agency-card, .agency-list > .agency-card { display: grid; grid-template-rows: subgrid; row-gap: 14px; align-content: start; margin-bottom: 20px; }
    .agency-picks > .agency-card { grid-row: span 12; }
    .agency-list > .agency-card { grid-row: span 11; }
    .facts-ask .agency-list > li.agency-card { margin: 0 0 20px; }
    .facts-ask .agency-card__name { min-height: calc(23px * 1.35 * 2); }
    .facts-ask .agency-pick__base { min-height: calc(14px * 1.6 * 4 + 20px); margin-top: 0; }
    .facts-ask .agency-card__h { margin: 0; align-self: end; }
    .facts-ask .agency-card__go { align-self: end; }
    .facts-ask .agency-features, .facts-ask .agency-tags { align-content: flex-start; align-items: flex-start; }
    .agency-more { align-self: start; }
  }
}
/* P384 v7：2 問の結果のカードは subgrid にしない（親が grid でないため。縦に並べる） */
.agency-quiz__result .agency-card { display: flex; flex-direction: column; grid-row: auto; grid-template-rows: none; margin-bottom: 0; }
.agency-quiz__result .agency-card > * { grid-row: auto; align-self: stretch; }

/* 公式サイトへ行く前のポップアップ（facts-agency.js が作る） */
.agency-gate { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.agency-gate[hidden] { display: none; }
.agency-gate__back { position: absolute; inset: 0; background: rgba(20, 22, 18, .45); }
.agency-gate__box { position: relative; display: grid; gap: 12px; width: 100%; max-width: 420px; padding: 24px 20px 20px; border-radius: 16px; background: #fff; box-shadow: 0 12px 40px rgba(0, 0, 0, .25); font-family: var(--lp-sans); color: var(--agency-ink); }
.agency-gate__close { justify-self: end; margin: -8px -4px 0 0; padding: 4px 8px; border: 0; background: none; color: var(--lp-ink-2); font: inherit; font-size: 13px; cursor: pointer; }
.agency-gate__title { margin: 0; font-size: 22px; font-weight: 800; line-height: 1.35; }
.agency-gate__body { margin: 0; font-size: 16px; line-height: 1.7; }
.agency-gate__primary, .agency-gate__secondary { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 10px 16px; border-radius: 12px; font-size: 17px; font-weight: 800; line-height: 1.4; text-align: center; text-decoration: none; }
.agency-gate__primary { background: var(--agency-btn); color: #fff; }
.agency-gate__primary:hover { background: var(--agency-btn-hover); }
.agency-gate__secondary { min-height: 52px; border: 1px solid var(--agency-ink); background: #fff; color: var(--agency-ink); font-size: 15px; }
.agency-gate__secondary:hover { background: #fbf3b3; }
.agency-gate__primary:focus-visible, .agency-gate__secondary:focus-visible, .agency-gate__close:focus-visible { outline: 3px solid var(--lp-yellow); outline-offset: 2px; }
.agency-gate__off { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lp-ink-2); cursor: pointer; }
.agency-gate__off input { width: 16px; height: 16px; margin: 0; }

@media (max-width: 999px) {
  .agency-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 743px) {
  .agency-gate { align-items: flex-end; padding: 0; }
  .agency-gate__box { max-width: none; border-radius: 16px 16px 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .agency-picks, .agency-list { grid-template-columns: 1fr; }
  .agency-card { padding: 0 16px 16px; }
  .facts-ask .agency-card__band { margin: 0 -16px; padding: 0 16px; height: 48px; }
  .agency-score__num { font-size: 48px; }
  .facts-ask .agency-card__name { font-size: 22px; }
  .agency-box { padding: 10px 12px; }
  .facts-ask .agency-box__value, .facts-ask .agency-picks .agency-box__value { font-size: 28px; letter-spacing: -.02em; }
  .agency-box, .agency-picks .agency-box { padding: 10px 8px; }
  /* 推し順の表は SP で 2 段に */
  .agency-rank-wrap { border: 0; overflow-x: visible; }
  .agency-rank thead { display: none; }
  .agency-rank, .agency-rank tbody { display: block; }
  .agency-rank tr { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; margin: 0 0 12px; padding: 12px; border: 1px solid var(--agency-line); border-radius: 12px; }
  .facts-ask .agency-rank td { display: block; padding: 0; border: 0; }
  .agency-rank__go { grid-column: 1 / -1; width: auto; }
  .agency-rank__score .agency-score__num { font-size: 36px; }
}
@media print {
  .agency-tools, .agency-quiz, .agency-toc { display: none; }
  .agency-card { break-inside: avoid; }
  .facts-ask .agency-card__band { background: #fff; color: #000; border-bottom: 2px solid #000; }
  .agency-btn { background: #fff; color: #000; border: 1px solid #000; }
}
.facts-sources { margin: 16px 0 0; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.facts-sources a { color: var(--lp-ink); }
.facts-listing {
  list-style: none;
  margin: 0;
  padding: 0;
}
.facts-listing li {
  border-bottom: 1px solid #e0e0e0;
}
.facts-listing a {
  display: block;
  padding: 16px 0;
  color: inherit;
  text-decoration: none;
}
.facts-listing a:hover { background: #fafaf7; }
.facts-listing strong { font-size: 17px; }
.facts-list-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid #000;
  border-radius: 3px;
  margin-right: 6px;
  vertical-align: 1px;
}

@media (max-width: 999px) {
  .facts-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 744px) {
  .facts-figure { height: 100px; }
}

@media (max-width: 743px) {
  .facts-nav, .facts-page { padding-inline: 16px; }
  .facts-grid { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 390px) {
  .facts-masthead { column-gap: 8px; }
  .facts-figure { height: 70px; }
  .facts-mark-note { display: none; }
}

.facts-lead {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: var(--lp-ink, #232616);
}
.facts-q {
  margin: 0 0 8px;
  font-size: 14px;
  color: #6f716a;
}
.facts-more {
  margin: 8px 0 0;
  font-size: 14px;
}
.facts-bg {
  margin: 8px 0 0;
  font-size: 14px;
}
.facts-ask figure {
  margin: 24px 0;
}
.facts-ask figcaption {
  margin: 8px 0 0;
  font-size: 14px;
  color: #6f716a;
}
.facts-ask img {
  max-width: 100%;
  height: auto;
}

@media print {
  body { background: #fff; color: #000; }
  .facts-nav { display: none; }
  .facts-page { max-width: none; padding: 0; }
  .facts-grid { grid-template-columns: 1fr 1fr 1fr; gap: 16px 20px; }
  a { color: #000; text-decoration: none; }
  .facts-source a::after { content: " " attr(href); }
}

/* ---------- P384 v7：色のテイスト（Personal の青＋黄色）。.agency-* の中だけ ---------- */
:root { --agency-blue: #2f5d8a; --agency-blue-dark: #234868; --agency-blue-bg: #e8eef5; --agency-yellow: #f5e149; --agency-gray: #8b999e; --agency-paper: #f6f6f6; --agency-line: #d9dad4; }
.agency-card { border: 1px solid var(--agency-line); }
.agency-card.is-pick, .agency-card.is-top { border: 2px solid var(--agency-blue); }
.facts-ask .agency-card__band { background: var(--agency-blue); color: #fff; }
.facts-ask .agency-card.is-top .agency-card__band, .facts-ask .agency-card__band--scene { background: var(--agency-yellow); color: var(--agency-ink); }
.agency-score__num { color: var(--agency-blue); }
.agency-kind { border-color: var(--agency-blue); color: var(--agency-blue-dark); }
.agency-boxes { border-color: #c9d6e4; background: var(--agency-blue-bg); }
.agency-box { border-color: #c9d6e4; }
.facts-ask .agency-box__label { color: var(--agency-blue-dark); }
.facts-ask .agency-points { color: var(--agency-gray); }
.agency-point__mark { border-color: var(--agency-gray); }
.agency-point.is-on .agency-point__mark { border-color: var(--agency-blue); background: var(--agency-blue); }
.facts-ask .agency-features li { background: var(--agency-blue-bg); color: var(--agency-blue-dark); }
.facts-ask .agency-pick__base { border-left: 4px solid var(--agency-yellow); background: var(--agency-paper); }
.agency-btn, .facts-ask a.agency-btn { background: var(--agency-blue); color: #fff; font-size: 18px; font-weight: 800; }
.agency-btn--sm, .facts-ask a.agency-btn--sm { font-size: 16px; }
.agency-btn:hover, .agency-btn:focus-visible { background: var(--agency-blue-dark); color: #fff; }
.agency-quiz__q label:has(input:checked), .agency-chip[aria-pressed="true"] { border-color: var(--agency-blue); background: var(--agency-yellow); }
.agency-gate__box { border-top: 4px solid var(--agency-yellow); }
.agency-gate__primary { background: var(--agency-blue); color: #fff; }
.agency-gate__primary:hover { background: var(--agency-blue-dark); color: #fff; }
.agency-gate__secondary { border: 2px solid var(--agency-blue); background: #fff; color: var(--agency-blue); }
.agency-gate__secondary:hover { background: var(--agency-blue-bg); }
@media print {
  .facts-ask .agency-card__band, .facts-ask .agency-card.is-top .agency-card__band, .facts-ask .agency-card__band--scene { background: #fff; color: #000; border-bottom: 2px solid #000; }
  .agency-btn, .facts-ask a.agency-btn { background: #fff; color: #000; border: 1px solid #000; }
  .agency-boxes { background: #fff; }
}
/* ポップアップは body の直下に置くので、サイト全体の a の色より強く指定する */
.agency-gate a.agency-gate__primary, .agency-gate a.agency-gate__primary:hover { color: #fff; }
.agency-gate a.agency-gate__secondary, .agency-gate a.agency-gate__secondary:hover { color: var(--agency-blue); }
