@charset "UTF-8";
/*
 * VEXY Brand Review 1.7.0: 比較記事「仮想通貨詐欺の調査会社はどこがいい？おすすめ12社…」（slug crypto-research-osusume）の記事用 CSS。
 * 本文の体裁はこのファイル、共通部品は brand-review.css。
 * 投稿メタ vexy_brand_review_style が osusume の対象記事だけで、brand-review.css の後に読み込む（ハンドル vexy-brand-review-osusume）。
 * セレクターはすべて body.vx-osusume で始まる（body の vx-osusume はプラグインが同じ記事だけに足す）。
 * 元: law ワークスペースの work/vexy-osusume-article-20261020/preview/overrides.css
 *     （SHA-256 4ee2ab9432c2c3c04ee85a3ab24414d799d4d7304b312a95f031c635c4d49472）の block-01〜08 の区画（2026-10-22）。
 *     区画の目印のコメント（block-0N の start／end）と、block-07 の区画（開いた目次の高さの規則
 *     .toc-container.is-open .toc-body { max-height: none; }。テーマの assets/css/style.css に同じ規則がある）を除いた。
 *     ほかのセレクター・値・コメントはモックのまま。
 * 2026-10-22: 「…の口コミ・評判を見る ＞」の「＞」に下線を引かない（.vx-card__more a::after を inline-block・text-decoration none、間隔は margin-left 0.35em）。
 */

/* ---------------------------------------------------------------
 * Block 1 v3.1 (2026-10-21 JST), generated by scripts/apply_block01.py: PR label and lead parts.
 * Theme facts used (vexy-solutions assets/css/style.css): .single-post-meta is a flex row
 * (gap 16px, 14px, #666, font Outfit); the date is <time class="single-post-date">, the category
 * pill follows it. Body text 16px / 1.9, links #1176d4 underlined, ul/ol are gray boxes
 * (#f8f9fa, padding 32px 32px 32px 56px; 40px/24px sides under 769px), breakpoint 768px.
 * The 「見るべきポイントは3つだけ」 box of v1 moved to parts/points-box.css (block 3).
 * --------------------------------------------------------------- */

/* PR: text only from the pseudo-element (no border, no padding), right of the update date. */
body.vx-osusume .single-post-meta time.single-post-date::after {
  content: "PR";
  margin-left: 0.6em;
  color: #6b7280;
  font-size: 11px;
  font-weight: 400;
  white-space: nowrap;
}

/* こんな状態なら今すぐ相談: the live checklist (vexy-checklist), a little tighter so the podium comes
   sooner on phones; the line below sits close to it. */
body.vx-osusume .single-post-content .vx-urgent .vexy-checklist__title {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-urgent .vexy-checklist__list {
  grid-template-columns: minmax(0, 1fr);   /* one column: the v2 items are up to 22 characters and broke badly in two */
  gap: 8px;
  margin-bottom: 12px;
  padding: 20px 24px;
}
body.vx-osusume .single-post-content .vx-urgent .vexy-checklist__item {
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-urgent__next {
  margin-bottom: 28px;
  color: var(--color-black);
  font-size: 17px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-urgent__why {
  display: block;
  margin-top: 4px;
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

/* 状況別のおすすめへ: four tap targets in the gray list box (4 columns on PC, 2 under 769px),
   each with a right arrow drawn by the pseudo-element. */
body.vx-osusume .single-post-content .vx-needs-jump__title {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-needs-jump__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-needs-jump__item {
  min-width: 0;
  margin: 0;
}
body.vx-osusume .single-post-content .vx-needs-jump__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #fff;
  color: #0b1a33;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
body.vx-osusume .single-post-content .vx-needs-jump__link::after {
  content: "\2192";
  flex: 0 0 auto;
  color: #0b1a33;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
body.vx-osusume .single-post-content .vx-needs-jump__link:hover,
body.vx-osusume .single-post-content .vx-needs-jump__link:focus-visible {
  border-color: #0b1a33;
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-urgent .vexy-checklist__list {
    gap: 4px;
    padding: 14px 12px;
  }
  body.vx-osusume .single-post-content .vx-urgent__next {
    font-size: 16px;
  }
  body.vx-osusume .single-post-content .vx-needs-jump__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
  }
  body.vx-osusume .single-post-content .vx-needs-jump__link {
    gap: 4px;
    padding: 8px 8px 8px 10px;
    font-size: 14px;
  }
  body.vx-osusume .single-post-content .vx-needs-jump__link::after {
    font-size: 14px;
  }
}

/* ---------------------------------------------------------------
 * Block 2 v1.3 (2026-10-20 JST), generated by scripts/apply_block02.py: podium (fvc type), link to the
 * table, 12-company checklist (tokai-sr type), inclusion criteria box. VEXY palette: black / white /
 * gray, navy #0b1a33, CTA green #06c755 (same button as the live vexy-ctabox), yellow marker.
 * --------------------------------------------------------------- */
body.vx-osusume .single-post-content .vx-b2 :where(p, dl, dt, dd) {
  margin: 0;
}
body.vx-osusume .single-post-content .vx-b2 :where(ul, ol) {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-b2 :where(li) {
  margin: 0;
}

/* podium */
body.vx-osusume .single-post-content .vx-podium__kicker {
  color: #666;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-podium__title {
  margin-top: 2px;
  color: #0b1a33;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-podium__cards {
  display: grid;
  gap: 16px;
  margin-top: 14px;
}
body.vx-osusume .single-post-content .vx-pcard {
  position: relative;   /* containing block for the visually hidden name */
  min-width: 0;
  padding: 18px 24px 16px;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-pcard--1 {
  border: 2px solid #0b1a33;
  box-shadow: 0 4px 16px rgba(11, 26, 51, 0.08);
}
body.vx-osusume .single-post-content .vx-pcard__head {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.4;
}
body.vx-osusume .single-post-content .vx-pcard__brand {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  min-width: 0;
}
body.vx-osusume .single-post-content .vx-pcard__logo {
  display: block;
  flex: none;
  width: auto;
  max-width: none;   /* a percentage max-width inside the wrapping flex row collapsed the logo to 0 width */
  height: 36px;      /* v1.3: word logos (name inside the logo) 36px on PC; AKURAS mark 36px everywhere */
  margin: 0;
  border-radius: 0;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-sr-only {   /* visually hidden, still read and indexed */
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
body.vx-osusume .single-post-content .vx-pcard__shot {
  margin: 12px 0 0;
}
body.vx-osusume .single-post-content .vx-pcard__shot img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
}
body.vx-osusume .single-post-content .vx-pcard__name {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--color-black);
  font-size: 19px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
body.vx-osusume .single-post-content .vx-pcard--1 .vx-pcard__name {
  font-size: 21px;
}
body.vx-osusume .single-post-content .vx-medal {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(150deg, #ffffff 0%, #d7dde4 50%, #aab4bf 100%);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6), 0 1px 3px rgba(11, 26, 51, 0.25);
  color: #2f3a47;
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
body.vx-osusume .single-post-content .vx-medal small {
  margin-left: 1px;
  font-size: 10px;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-medal--1 {
  width: 38px;
  height: 38px;
  background: linear-gradient(150deg, #fff1a8 0%, #f5c84c 45%, #d9a21b 100%);
  color: #5c3b00;
  font-size: 17px;
}
body.vx-osusume .single-post-content .vx-medal--3 {
  background: linear-gradient(150deg, #ffe0c2 0%, #e4a774 50%, #b8743f 100%);
  color: #4a2508;
}
body.vx-osusume .single-post-content .vx-pcard__label {
  margin-top: 10px;
  color: var(--color-black);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-mark {
  background: linear-gradient(transparent 60%, #fff27a 60%);
}
body.vx-osusume .single-post-content .vx-pcard__facts {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  margin-top: 10px;
  border-bottom: 1px solid #eef0f3;
}
body.vx-osusume .single-post-content .vx-pcard__facts dt,
body.vx-osusume .single-post-content .vx-pcard__facts dd {
  padding: 7px 0;
  border-top: 1px solid #eef0f3;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-pcard__facts dt {
  padding-right: 16px;
  color: #666;
  font-size: 15px;
  white-space: nowrap;
}
body.vx-osusume .single-post-content .vx-pcard__facts dd {
  min-width: 0;
  color: #333;
  font-size: 15px;
  word-break: auto-phrase;   /* no break inside 「24時間365日」「年中無休」 */
}
body.vx-osusume .single-post-content .vx-pcard__facts dd b {
  color: var(--color-black);
  font-size: inherit;        /* same size as the rest of the row: bold only (owner, v1.2) */
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-podium__button {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  display: block;
  width: 100%;
  max-width: 440px;
  margin: 16px auto 4px;
  padding: 14px 44px;
  box-sizing: border-box;
  border: 0;
  border-radius: 8px;
  background: #06c755;
  box-shadow: 0 4px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  word-break: auto-phrase;   /* when a label wraps, break between phrases (「…の / 公式サイトを見る」) */
  text-wrap: balance;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
body.vx-osusume .single-post-content .vx-podium__button:hover {
  background: #05b64d;
}
body.vx-osusume .single-post-content .vx-podium__button:active {
  box-shadow: 0 1px 0 #049a42;
  transform: translateY(3px);
}
body.vx-osusume .single-post-content .vx-podium__arrow {
  position: absolute;
  top: 50%;
  right: 14px;
  display: block;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  pointer-events: none;
}
body.vx-osusume .single-post-content .vx-podium__arrow svg {
  display: block;
  width: 20px;
  height: 20px;
}
/* ＞＞ 12社の比較表を見る */
body.vx-osusume .single-post-content .vx-to-table {
  margin-top: 16px;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-to-table a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  font-weight: 700;
}

/* 12-company checklist (names link to the cards in block 4) */
body.vx-osusume .single-post-content .vx-ranklist {
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-ranklist__title {
  padding: 10px 12px;
  background: #f6f7f9;
  color: #0b1a33;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-ranklist__items {
  padding: 8px 16px 10px;
}
body.vx-osusume .single-post-content .vx-ranklist__items li {
  break-inside: avoid;
}
body.vx-osusume .single-post-content .vx-ranklist__items a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 4px 0;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
}
body.vx-osusume .single-post-content .vx-ranklist__num {
  flex: 0 0 1.6em;
  color: #0b1a33;
  font-family: var(--font-en);
  font-weight: 700;
  text-align: right;
}
body.vx-osusume .single-post-content .vx-ranklist__name {
  flex: 1 1 auto;
  min-width: 0;
  text-decoration: underline;
}

/* inclusion criteria box (live vexy-conclusion-box) */
body.vx-osusume .single-post-content .vx-criteria {
  margin-top: 32px;
}
body.vx-osusume .single-post-content .vx-criteria__list {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-criteria__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-criteria__icon {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  color: #06c755;
}
body.vx-osusume .single-post-content .vx-criteria__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
body.vx-osusume .single-post-content .vx-criteria__nta {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}

@media (min-width: 769px) {
  body.vx-osusume .single-post-content .vx-pcard__shot {
    max-width: 560px;   /* PC: keep the screenshot smaller than the full card width */
    margin-left: auto;
    margin-right: auto;
  }
  body.vx-osusume .single-post-content .vx-ranklist__items {
    padding: 12px 24px 14px;
    columns: 2;
    column-gap: 32px;
  }
}
@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-podium__title {
    font-size: 20px;
  }
  body.vx-osusume .single-post-content .vx-pcard {
    padding: 16px;
  }
  body.vx-osusume .single-post-content .vx-pcard__name {
    font-size: 17px;
  }
  body.vx-osusume .single-post-content .vx-pcard--1 .vx-pcard__name {
    font-size: 19px;
  }
  body.vx-osusume .single-post-content .vx-pcard__label {
    font-size: 15px;
  }
  body.vx-osusume .single-post-content .vx-pcard__facts dt,
  body.vx-osusume .single-post-content .vx-pcard__facts dd {
    font-size: 14px;
  }
  body.vx-osusume .single-post-content .vx-pcard__facts dt {
    padding-right: 12px;
  }
  body.vx-osusume .single-post-content .vx-pcard__logo--word {
    height: 32px;
  }
  body.vx-osusume .single-post-content .vx-podium__button {
    padding: 14px 36px;
    font-size: 16px;
  }
}

/* ---------------------------------------------------------------
 * Block 3 v3.1 (2026-10-21 JST), generated by scripts/apply_block03.py: H2, 「見るべきポイントは3つだけ」 box,
 * filter, one comparison table (companies = rows, sticky first column, scrolls inside its frame, fold), button under
 * the table, 「どこでも同じこと／会社で違うこと」 (v3.1: no two-axis map).
 * Palette as block 2: black / white / grey, navy #0b1a33, CTA green #06c755. No ★, no ◎○△×.
 * --------------------------------------------------------------- */

/* 見るべきポイントは3つだけ (parts/points-box.css, v1 values) */
/* 見るべきポイントは3つだけ: the live black-framed box (vexy-conclusion-box), rows inside. */
body.vx-osusume .single-post-content .vx-points .vexy-conclusion-box__body {
  padding: 4px 32px;
}
body.vx-osusume .single-post-content .vx-points__list {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-points__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid var(--color-border);
}
body.vx-osusume .single-post-content .vx-points__item:first-child {
  border-top: 0;
}
body.vx-osusume .vx-points__num {
  display: grid;
  flex: 0 0 30px;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-top: 1px;
  border-radius: 50%;
  background: #0b1a33;           /* the navy of the live points / FAQ marks */
  color: #fff;
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
body.vx-osusume .vx-points__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
body.vx-osusume .vx-points__head {
  color: var(--color-black);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .vx-points__desc {
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-points .vexy-conclusion-box__body {
    padding: 0 16px;
  }
  body.vx-osusume .single-post-content .vx-points__item {
    gap: 12px;
    padding: 16px 0;
  }
  body.vx-osusume .vx-points__num {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    font-size: 15px;
  }
  body.vx-osusume .vx-points__head {
    font-size: 16px;
  }
}

body.vx-osusume .single-post-content .vx-b3 :where(p) {
  margin: 0;
}

/* filter */
body.vx-osusume .single-post-content .vx-filter {
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 8px;
  background: #f6f7f9;
}
body.vx-osusume .single-post-content .vx-filter[hidden] {
  display: none;
}
body.vx-osusume .single-post-content .vx-filter__title {
  margin-bottom: 8px;
  color: #0b1a33;
  font-size: 14px;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-filter__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.vx-osusume .single-post-content .vx-filter__chip {
  -webkit-appearance: none;
  appearance: none;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid #c9d0da;
  border-radius: 999px;
  background: #fff;
  color: #0b1a33;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-filter__chip[aria-pressed="true"] {
  border-color: #0b1a33;
  background: #0b1a33;
  color: #fff;
}
body.vx-osusume .single-post-content .vx-filter__count {
  margin-top: 10px;
  color: #333;
  font-size: 14px;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-filter__empty {
  margin-top: 4px;
  color: #666;
  font-size: 13px;
}
body.vx-osusume .single-post-content .vx-filter__empty[hidden] {
  display: none;
}
/* above the table: the scroll hint (fvc type; v3.6 without the intro line) */
body.vx-osusume .single-post-content .vx-ct__lead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 2px 12px;
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-ct__hint {
  margin-left: auto;
  color: #0b1a33;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  white-space: nowrap;
}

/* rows hidden by the filter, the fold (7th row and later) */
body.vx-osusume .single-post-content .vx-b3 tr.is-off {
  display: none;
}
body.vx-osusume .single-post-content .vx-b3:not(.is-filtering) .vx-fold.is-folded tr[data-fold-row] {
  display: none;
}
body.vx-osusume .single-post-content .vx-fold {
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-fold__btn {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 12px auto 0;
  padding: 10px 16px;
  border: 1px solid #0b1a33;
  border-radius: 999px;
  background: #fff;
  color: #0b1a33;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-fold__btn::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 0 3px 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
body.vx-osusume .single-post-content .vx-fold__btn[aria-expanded="true"]::after {
  margin-bottom: -1px;
  transform: rotate(-135deg);
}
body.vx-osusume .single-post-content .vx-fold__btn[hidden],
body.vx-osusume .single-post-content .vx-b3.is-filtering .vx-fold__btn {
  display: none;
}

/* comparison table: companies = rows, first column sticky, only the frame scrolls sideways */
body.vx-osusume .single-post-content .vx-ct__scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #d9dee5;
  border-radius: 8px;
}
body.vx-osusume .single-post-content .vx-ct__scroll:focus-visible {
  outline: 2px solid #0b1a33;
  outline-offset: 2px;
}
body.vx-osusume .single-post-content .vx-ct {
  width: 1150px;
  max-width: none;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 13.5px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-ct th,
body.vx-osusume .single-post-content .vx-ct td {
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid #d9dee5;
  border-bottom: 1px solid #d9dee5;
  background: #fff;
  text-align: left;
  vertical-align: top;
}
body.vx-osusume .single-post-content .vx-ct tr > :last-child {
  border-right: 0;
}
body.vx-osusume .single-post-content .vx-ct thead th {
  width: 150px;
  padding: 10px 12px;
  border-right-color: #333;
  border-bottom: 0;
  background: #111;
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: middle;
}
body.vx-osusume .single-post-content .vx-ct thead th:nth-child(6),
body.vx-osusume .single-post-content .vx-ct thead th:nth-child(8) {
  width: 140px;
}
body.vx-osusume .single-post-content .vx-ct .vx-ct__co {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 120px;
  padding: 10px;
  box-shadow: 4px 0 6px -4px rgba(11, 26, 51, 0.28);
}
body.vx-osusume .single-post-content .vx-ct thead .vx-ct__co {
  z-index: 3;
  background: #111;
}
body.vx-osusume .single-post-content .vx-ct tbody .vx-ct__co {
  background: #f6f7f9;
}
body.vx-osusume .single-post-content .vx-ct__rank {
  display: block;
  color: #0b1a33;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
body.vx-osusume .single-post-content .vx-ct__chip {
  display: inline-block;
  margin: 3px 0 2px;
  padding: 1px 6px;
  border-radius: 3px;
  background: #0b1a33;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
}
body.vx-osusume .single-post-content .vx-ct__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  text-decoration: none;
}
body.vx-osusume .single-post-content .vx-ct__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 20px;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: left center;
}
body.vx-osusume .single-post-content .vx-ct__logo--sq {
  height: 32px;
}
body.vx-osusume .single-post-content .vx-co-name {
  color: #0b1a33;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-color: #9aa4b2;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.vx-osusume .single-post-content .vx-ct__fit {
  color: #222;
  word-break: auto-phrase;
}
body.vx-osusume .single-post-content .vx-ct .vx-v {
  display: block;
  color: #111;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-ct .vx-note {
  display: block;
  margin-top: 2px;
  color: #555;
  font-size: 12px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-ct .vx-na {
  display: block;
  color: #8a8f98;
  font-size: 13px;
}
body.vx-osusume .single-post-content .vx-ct__site {
  vertical-align: middle;
}
body.vx-osusume .single-post-content .vx-ct__btn {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  padding: 9px 6px;
  border: 0;
  border-radius: 6px;
  background: #06c755;
  box-shadow: 0 3px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-ct__btn:hover {
  background: #05b64d;
}
body.vx-osusume .single-post-content .vx-ct__domain {
  color: #555;
  font-size: 12px;
  overflow-wrap: anywhere;
}

/* under the table */
body.vx-osusume .single-post-content .vx-below {
  margin: 20px 0 0;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-below__lead {
  margin-bottom: 8px;
  word-break: auto-phrase;
  text-wrap: balance;
  color: #0b1a33;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-below__button {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding: 14px 20px;
  border: 0;
  border-radius: 8px;
  background: #06c755;
  box-shadow: 0 4px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-below__button:hover {
  background: #05b64d;
}

/* どこでも同じこと／会社で違うこと */
body.vx-osusume .single-post-content .vx-same {
  margin: 40px 0;
}
body.vx-osusume .single-post-content .vx-same__table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
body.vx-osusume .single-post-content .vx-same__table th,
body.vx-osusume .single-post-content .vx-same__table td {
  padding: 14px 16px;
  border: 1px solid #d9dee5;
  text-align: left;
  vertical-align: top;
}
body.vx-osusume .single-post-content .vx-same__table th {
  width: 30%;
  background: #f6f7f9;
  color: #0b1a33;
  font-size: 15px;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-same__list {
  margin: 0;
  padding: 0 0 0 1.2em;
  border-radius: 0;
  background: none;
  list-style: disc;
  font-size: 15px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-same__list li {
  margin: 0 0 4px;
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-same__table th,
  body.vx-osusume .single-post-content .vx-same__table td {
    display: block;
    width: 100%;
    padding: 12px 14px;
  }
  body.vx-osusume .single-post-content .vx-same__table tr + tr th {
    border-top: 0;
  }
  body.vx-osusume .single-post-content .vx-same__table td {
    border-top: 0;
  }
  body.vx-osusume .single-post-content .vx-filter {
    padding: 12px;
  }

  /* comparison table: same columns, the frame scrolls; the sticky first column stays 120px */
  body.vx-osusume .single-post-content .vx-ct__lead {
    margin-bottom: 6px;
  }
  body.vx-osusume .single-post-content .vx-ct__hint {
    font-size: 12.5px;
  }
}

/* ---------------------------------------------------------------
 * Block 4 v2 (2026-10-21 JST), generated by scripts/apply_block04.py: H2, intro, 12 company cards (rank-1 rules since v1).
 * The card frame, checklists, steps, voices and the CTA box are the live brand-review parts (brand-review.css);
 * only the layout inside the card and the new parts (rank label, screenshot, button, quote, marker, △ list) are here.
 * --------------------------------------------------------------- */
body.vx-osusume .single-post-content .vx-card {
  margin: 32px 0 48px;
  scroll-margin-top: 80px;
}
body.vx-osusume .single-post-content .vx-card > :first-child {
  margin-top: 0;
}
body.vx-osusume .single-post-content .vx-card__title {
  margin: 0 0 20px;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-card__rank {
  display: inline-block;
  margin-right: 4px;
  padding: 1px 10px;
  border-radius: 4px;
  background: #0b1a33;
  color: #fff;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1.6;
  vertical-align: 0.1em;
}
body.vx-osusume .single-post-content .vx-card__shot {
  margin: 0 0 20px;
}
body.vx-osusume .single-post-content .vx-card__shot img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 1px solid #d9dee5;
  border-radius: 6px;
}
body.vx-osusume .single-post-content .vx-card__table td {
  vertical-align: top;
}
body.vx-osusume .single-post-content .vx-card__btn {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 20px auto 0;
  padding: 13px 20px;
  border: 0;
  border-radius: 8px;
  background: #06c755;
  box-shadow: 0 4px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-card__btn:hover {
  background: #05b64d;
}
body.vx-osusume .single-post-content .vx-card__quote {
  margin: 32px 0 24px;
}
body.vx-osusume .single-post-content .vx-card__quote p {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-card__quote cite {
  display: block;
  color: #666;
  font-size: 13px;
  font-style: normal;
}
body.vx-osusume .single-post-content .vx-card__intro {
  margin: 0 0 20px;
}
body.vx-osusume .single-post-content .vx-mark {
  background: linear-gradient(transparent 60%, #fff3a8 60%);
}
body.vx-osusume .single-post-content .vx-card .vexy-checklist {
  margin-top: 28px;
}
body.vx-osusume .single-post-content .vx-card .vexy-checklist__list {
  margin-bottom: 0;
}
body.vx-osusume .single-post-content .vx-caution .vexy-checklist__icon {
  color: #d97706;
}
body.vx-osusume .single-post-content .vx-card__label {
  margin: 32px 0 12px;
}
body.vx-osusume .single-post-content .vx-steps {
  margin-bottom: 0;
}
body.vx-osusume .single-post-content .vx-steps .vexy-steps__head {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-steps__text {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1.75;
}
body.vx-osusume .single-post-content .vx-card .vexy-review {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-card__cta {
  margin: 32px 0 0;
}

@media (min-width: 769px) {
  body.vx-osusume .single-post-content .vx-card__shot img {
    max-width: 560px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-card__btn {
    font-size: 15px;
  }
  body.vx-osusume .single-post-content .vx-card__label {
    margin-top: 28px;
  }
  /* the CTA box sits inside the card: keep the 14-character button label on one line at 375px */
  body.vx-osusume .single-post-content .vx-card .vexy-ctabox {
    padding: 20px 10px;
  }
  body.vx-osusume .single-post-content .vx-card .vexy-ctabox__button {
    padding-left: 28px;
    padding-right: 28px;
  }
  body.vx-osusume .single-post-content .vx-card .vexy-ctabox__arrow {
    right: 10px;
  }
}
/* ---------------------------------------------------------------
 * Block 4 v2 (2026-10-21 JST): parts used from rank 2 on. Voices with an attribute line / result tag are the live
 * vexy-review parts (brand-review.css). New here: the link to the review article, STEP with screen images.
 * --------------------------------------------------------------- */
body.vx-osusume .single-post-content .vx-card__more {
  margin: 20px 0 0;
  font-size: 15px;
  font-weight: 700;
  text-align: right;
}
body.vx-osusume .single-post-content .vx-card__more a {
  color: #0b1a33;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.vx-osusume .single-post-content .vx-card__more a::after {
  content: "＞";
  display: inline-block;
  margin-left: 0.35em;
  text-decoration: none;
}
body.vx-osusume .single-post-content .vx-steps__hint {
  display: none;
}
/* STEP with screen images (千羽リサーチ): three columns on PC, one row that scrolls sideways on phones */
body.vx-osusume .single-post-content .vx-steps--shots {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.vx-osusume .single-post-content .vx-steps--shots .vexy-steps__item {
  display: flex;
  flex-direction: column;
  padding: 16px;
}
body.vx-osusume .single-post-content .vx-steps--shots .vexy-steps__figure {
  margin: 0 0 12px;
}
body.vx-osusume .single-post-content .vx-steps--shots .vexy-steps__figure img {
  max-width: 240px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-steps__hint {
    display: block;
    margin: 0 0 8px;
    color: #666;
    font-size: 13px;
    text-align: right;
  }
  body.vx-osusume .single-post-content .vx-steps--shots {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  body.vx-osusume .single-post-content .vx-steps--shots .vexy-steps__item {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }
}

/* ---------------------------------------------------------------
 * Block 5 v1.5 (2026-10-21 JST), generated by scripts/apply_block05.py: 状況別 (H3 + mini table + button), とは・統計・仕組み,
 * 役割分担 (3-column table, stacked on phones), 費用 (case table + simulator), 選び方 (3 points + checklists), 流れ
 * (timeline + stepper). The checklist and the tables' black header row are the live parts (brand-review.css);
 * the theme's ul/ol box (grey ground, padding) is reset for the new lists. Palette: black #111 / navy #0b1a33 /
 * grey #f6f7f9 / border #d9dee5 / CTA green #06c755.
 * --------------------------------------------------------------- */
body.vx-osusume .single-post-content .vx-needs__title {
  scroll-margin-top: 80px;
}
/* mini tables (状況別) */
body.vx-osusume .single-post-content .vx-mini {
  margin: 0 0 16px;
}
body.vx-osusume .single-post-content .vx-mini table {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-mini td {
  vertical-align: top;
}
body.vx-osusume .single-post-content .vx-mini__rank {
  display: block;
  color: #0b1a33;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-mini__name {
  font-weight: 700;
  overflow-wrap: anywhere;
}
/* JS button under a mini table, after the cost table and after the flow */
body.vx-osusume .single-post-content .vx-b5cta {
  margin: 0 0 40px;
  padding: 16px;
  border-radius: 8px;
  background: #f6f7f9;
}
body.vx-osusume .single-post-content .vx-b5cta__lead {
  margin: 0 0 12px;
  color: #0b1a33;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-b5cta__btn {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 13px 20px;
  border: 0;
  border-radius: 8px;
  background: #06c755;
  box-shadow: 0 4px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-b5cta__btn:hover {
  background: #05b64d;
}
/* source line under a statistics figure (NPA terms: 出典 + 加工して作成) */
body.vx-osusume .single-post-content .vx-fig-source {
  margin: -8px 0 24px;
  color: #666;
  font-size: 12.5px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-fig-source a {
  color: #666;
}
/* mechanism (5 stages) and 相談する順番 (3 steps): the live vexy-steps part (number + title head, 1px box, 2 columns on PC,
   1 on phones; brand-review.css), as in the company cards' STEP. v1.10 (owner rule 2026-10-21): no thick left / top colour
   line, no arrows, no rounded box, no shadow. */
body.vx-osusume .single-post-content .vx-chain {
  margin: 0 0 32px;
  padding: 0;
  background: none;
}
body.vx-osusume .single-post-content .vx-order {
  margin: 0 0 32px;
  padding: 0;
  background: none;
}
body.vx-osusume .single-post-content .vx-chain .vexy-steps__head,
body.vx-osusume .single-post-content .vx-order .vexy-steps__head {
  margin-bottom: 8px;
}
body.vx-osusume .single-post-content .vx-chain__text,
body.vx-osusume .single-post-content .vx-order__text {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1.75;
}
/* v1.14: the two police categories as two boxes (1px frame, square corners, no coloured line, no shadow; PC 2 columns) */
body.vx-osusume .single-post-content .vx-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}
body.vx-osusume .single-post-content .vx-types__box {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #d9dee5;
  border-radius: 0;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-types__name {
  margin: 0 0 4px;
  color: #0b1a33;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-types__list {
  margin: 0;
}
body.vx-osusume .single-post-content .vx-types__list dt {
  margin: 10px 0 0;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-types__list dd {
  margin: 2px 0 0;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}
/* v1.12: the evidence table (live wp-block-table, bold first row; no coloured lines, no shadow) */
body.vx-osusume .single-post-content .vx-b5tbl__title {
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-b5tbl {
  margin: 0 0 24px;
}
body.vx-osusume .single-post-content .vx-b5tbl table {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}
body.vx-osusume .single-post-content .vx-b5tbl td {
  vertical-align: top;
}
/* 役割分担: 3 parties as columns */
body.vx-osusume .single-post-content .vx-roles {
  margin: 0 0 28px;
}
body.vx-osusume .single-post-content .vx-roles__table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-roles__table th,
body.vx-osusume .single-post-content .vx-roles__table td {
  padding: 10px 12px;
  border: 1px solid #d9dee5;
  text-align: left;
  vertical-align: top;
}
body.vx-osusume .single-post-content .vx-roles__table thead th {
  border-color: #333;
  background: #111;
  color: #fff;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-roles__table thead th:first-child {
  width: 19%;
}
body.vx-osusume .single-post-content .vx-roles__table tbody th {
  background: #f6f7f9;
  color: #0b1a33;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-roles__table tbody td:nth-of-type(1) {
  background: #f2f7f4;
}
/* 費用: case table and simulator */
body.vx-osusume .single-post-content .vx-costtable__title {
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-costtable {
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-costtable table {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-costtable td {
  vertical-align: middle;
}
body.vx-osusume .single-post-content .vx-costtable td:not(:first-child) {
  color: #111;
  font-weight: 700;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-costtable__type {
  display: block;
  color: #0b1a33;
}
body.vx-osusume .single-post-content .vx-costtable__cos {
  display: block;
  margin-top: 2px;
  color: #555;
  font-size: 12px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-costtable__note {
  margin: 0 0 24px;
  color: #555;
  font-size: 13px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-calc {
  margin: 0 0 24px;
  padding: 18px 16px 14px;
  border: 1px solid #0b1a33;   /* v1.11: was 2px */
  border-radius: 10px;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-calc[hidden] {
  display: none;
}
body.vx-osusume .single-post-content .vx-calc__title {
  margin: 0 0 12px;
  color: #0b1a33;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-calc__field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
}
body.vx-osusume .single-post-content .vx-calc__label {
  color: #111;
  font-weight: 700;
}
body.vx-osusume .single-post-content .vx-calc__input {
  width: 9em;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid #9aa4b2;
  border-radius: 6px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
  text-align: right;
}
body.vx-osusume .single-post-content .vx-calc__input:focus-visible {
  outline: 2px solid #0b1a33;
  outline-offset: 1px;
}
body.vx-osusume .single-post-content .vx-calc__list {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-calc__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 12px;
  margin: 0;
  padding: 9px 0;
  border-top: 1px solid #e6e9ee;
}
body.vx-osusume .single-post-content .vx-calc__co {
  color: #111;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-calc__rank {
  margin-right: 6px;
  color: #0b1a33;
  font-size: 12px;
}
body.vx-osusume .single-post-content .vx-calc__rate {
  grid-column: 1;
  color: #555;
  font-size: 12px;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-calc__fee {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: #0b1a33;
  font-size: 17px;
  font-weight: 700;
  white-space: nowrap;
}
body.vx-osusume .single-post-content .vx-calc__note {
  margin: 8px 0 0;
  color: #555;
  font-size: 12.5px;
  line-height: 1.6;
}
/* 選び方: 「ポイントN」 label before the H3, the live checklist in one column */
body.vx-osusume .single-post-content .vx-choose__title::before {
  content: "ポイント" attr(data-num);
  display: inline-block;
  margin-right: 8px;
  padding: 1px 10px;
  border-radius: 4px;
  background: #0b1a33;
  color: #fff;
  font-size: 0.75em;
  line-height: 1.6;
  vertical-align: 0.15em;
}
body.vx-osusume .single-post-content .vx-howto .vexy-checklist__list {
  grid-template-columns: minmax(0, 1fr);
}
body.vx-osusume .single-post-content .vx-choose__more {
  margin: -8px 0 0;
  font-size: 15px;
  font-weight: 700;
  text-align: right;
}
body.vx-osusume .single-post-content .vx-choose__more a {
  color: #0b1a33;
  text-underline-offset: 3px;
}
body.vx-osusume .single-post-content .vx-choose__more a::after {
  content: " ＞";
}
/* 流れ: timeline (3 periods) and stepper (5 stages on a rail) */
body.vx-osusume .single-post-content .vx-tl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 24px;
}
body.vx-osusume .single-post-content .vx-tl__col {
  min-width: 0;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
body.vx-osusume .single-post-content .vx-tl__when {
  margin: 0;
  padding: 8px 14px;
  background: #0b1a33;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-tl__col:first-child .vx-tl__when {
  background: #111;
}
body.vx-osusume .single-post-content .vx-tl__list {
  margin: 0;
  padding: 12px 14px 14px 32px;
  border-radius: 0;
  background: none;
  font-size: 14px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-tl__list li {
  margin-bottom: 6px;
}
body.vx-osusume .single-post-content .vx-stepper {
  margin: 0 0 28px;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-stepper__item {
  position: relative;
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 0 0 18px;
}
body.vx-osusume .single-post-content .vx-stepper__item:last-child {
  padding-bottom: 0;
}
body.vx-osusume .single-post-content .vx-stepper__item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 15px;
  width: 2px;
  background: #c9d0da;
}
body.vx-osusume .single-post-content .vx-stepper__num {
  display: grid;
  flex: 0 0 32px;
  place-items: center;
  height: 32px;
  box-sizing: border-box;
  border: 2px solid #0b1a33;
  border-radius: 50%;
  background: #fff;
  color: #0b1a33;
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
body.vx-osusume .single-post-content .vx-stepper__item:last-child .vx-stepper__num {
  border-color: #06c755;
  background: #06c755;
  color: #fff;
}
body.vx-osusume .single-post-content .vx-stepper__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding-top: 3px;
}
body.vx-osusume .single-post-content .vx-stepper__head {
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-stepper__text {
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}

@media (min-width: 769px) {
  body.vx-osusume .single-post-content .vx-b5cta__lead {
    text-align: center;
  }
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-mini table {
    font-size: 13px;
    line-height: 1.65;
  }
  body.vx-osusume .single-post-content .vx-mini td {
    padding: 8px 6px;
  }
  body.vx-osusume .single-post-content .vx-mini__name {
    font-size: 12.5px;
  }
  body.vx-osusume .single-post-content .vx-b5cta__btn {
    font-size: 15px;
  }
  /* 役割分担 on phones: one block per row, each cell labelled with its party */
  body.vx-osusume .single-post-content .vx-roles__table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  body.vx-osusume .single-post-content .vx-roles__table,
  body.vx-osusume .single-post-content .vx-roles__table tbody,
  body.vx-osusume .single-post-content .vx-roles__table tr,
  body.vx-osusume .single-post-content .vx-roles__table th,
  body.vx-osusume .single-post-content .vx-roles__table td {
    display: block;
    width: auto;
  }
  body.vx-osusume .single-post-content .vx-roles__table tr {
    margin: 0 0 12px;
    border: 1px solid #d9dee5;
    border-radius: 6px;
    overflow: hidden;
  }
  body.vx-osusume .single-post-content .vx-roles__table tbody th {
    padding: 8px 12px;
    border: 0;
    background: #111;
    color: #fff;
  }
  body.vx-osusume .single-post-content .vx-roles__table td {
    padding: 8px 12px 10px;
    border: 0;
    border-top: 1px solid #e6e9ee;
  }
  body.vx-osusume .single-post-content .vx-roles__table td::before {
    content: attr(data-col);
    display: block;
    color: #0b1a33;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
  }
  body.vx-osusume .single-post-content .vx-costtable table {
    font-size: 13px;
  }
  body.vx-osusume .single-post-content .vx-b5tbl table {
    font-size: 13px;
  }
  body.vx-osusume .single-post-content .vx-types {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  body.vx-osusume .single-post-content .vx-types__box {
    padding: 14px 16px;
  }
  body.vx-osusume .single-post-content .vx-b5tbl td {
    padding: 8px 6px;
  }
  body.vx-osusume .single-post-content .vx-costtable td {
    padding: 8px 5px;
  }
  body.vx-osusume .single-post-content .vx-calc {
    padding: 16px 12px 12px;
  }
  body.vx-osusume .single-post-content .vx-calc__fee {
    font-size: 16px;
  }
  body.vx-osusume .single-post-content .vx-tl {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------------------------------------------------------------
 * Block 6 v1.2 (2026-10-21 JST), generated by scripts/apply_block06.py: 見分け方 (the live checklist with a △ icon in one
 * column + five public window cards), よくある質問 (four H3 themes, the open Q/A of the live vexy-faq with H4 questions),
 * まとめ (needs grid, bring list, three cards with the summary_1/2/3 buttons, text link back to the table). The theme's
 * ul/ol box (grey ground, padding) is reset for the new lists. Palette: black #111 / navy #0b1a33 / grey #f6f7f9 /
 * border #d9dee5 / amber #d97706 / CTA green #06c755.
 * --------------------------------------------------------------- */
/* 見分け方: △ checklist (live vexy-checklist box) in one column */
body.vx-osusume .single-post-content .vx-warn .vexy-checklist__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}
body.vx-osusume .single-post-content .vx-warn .vexy-checklist__icon {
  color: #d97706;
}
body.vx-osusume .single-post-content .vx-warn .vexy-checklist__main {
  color: #111;
}
body.vx-osusume .single-post-content .vx-warn .vexy-checklist__note {
  margin-top: 4px;
  color: #444;
  line-height: 1.75;
}
/* public windows: cards, 2 columns on PC */
body.vx-osusume .single-post-content .vx-desk {
  margin: 0 0 40px;
}
body.vx-osusume .single-post-content .vx-desk__title {
  margin: 0 0 4px;
  color: #0b1a33;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-desk__lead {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-desk__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-desk__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 14px 16px 12px;
  border: 1px solid #d9dee5;   /* v1.4 (owner rule): no thick top colour line */
  border-radius: 8px;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-desk__item p {
  margin: 0;
}
body.vx-osusume .single-post-content .vx-desk__agency {
  align-self: flex-start;
  padding: 0 8px;
  border-radius: 4px;
  background: #eef1f5;
  color: #0b1a33;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}
body.vx-osusume .single-post-content .vx-desk__name {
  margin-top: 6px;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-desk__num {
  margin-top: 2px;
  color: #0b1a33;
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
}
body.vx-osusume .single-post-content .vx-desk__num--text {
  font-family: inherit;
  font-size: 18px;
  letter-spacing: 0;
}
body.vx-osusume .single-post-content .vx-desk__sub {
  color: #555;
  font-size: 12.5px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-desk__when {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #d9dee5;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}
body.vx-osusume .single-post-content .vx-desk__label {
  display: block;
  color: #0b1a33;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-desk__link {
  margin-top: auto;
  padding-top: 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-desk__link a::after {
  content: " ＞";
}
/* よくある質問: H3 themes, H4 questions with the live Q mark, answers open */
body.vx-osusume .single-post-content .vx-faq__theme,
body.vx-osusume .single-post-content .vx-faq .vexy-faq__q {
  scroll-margin-top: 80px;
}
body.vx-osusume .single-post-content .vx-faq {
  margin: 0 0 40px;
}
body.vx-osusume .single-post-content .vx-faq .vexy-faq__q {
  display: flex;
  align-items: flex-start;
  margin: 28px 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid #d9dee5;
  color: #111;
  font-size: 17px;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-faq .vexy-faq__q:first-child {
  margin-top: 0;
}
body.vx-osusume .single-post-content .vx-faq .vexy-faq__mark {
  flex: 0 0 auto;
  margin-top: 1px;
}
body.vx-osusume .single-post-content .vx-faq .vexy-faq__a p {
  margin: 0;
  line-height: 1.85;
}
/* まとめ: needs grid */
body.vx-osusume .single-post-content .vx-verdict {
  margin: 0 0 32px;
}
body.vx-osusume .single-post-content .vx-verdict__title {
  margin: 0 0 10px;
  color: #0b1a33;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
body.vx-osusume .single-post-content .vx-verdict__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  list-style: none;
}
body.vx-osusume .single-post-content .vx-verdict__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #d9dee5;
  border-radius: 8px;
  background: #f6f7f9;
}
body.vx-osusume .single-post-content .vx-verdict__when {
  color: #555;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.6;
}
body.vx-osusume .single-post-content .vx-verdict__to {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.vx-osusume .single-post-content .vx-verdict__name {
  color: #0b1a33;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-underline-offset: 3px;
}
body.vx-osusume .single-post-content .vx-verdict__why {
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}
/* まとめ: what to have at hand — v1.5: the live vexy-checklist (brand-review.css: green check, bold item + grey one line,
   2 columns on PC / 1 on phones, the theme's grey list box); only the closing sentence under the list is styled here */
body.vx-osusume .single-post-content .vx-bring .vexy-checklist__list {
  margin-bottom: 12px;
}
body.vx-osusume .single-post-content .vx-bring__note {
  margin: 0 0 32px;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
}
/* まとめ: three small cards side by side (phones: one column) */
body.vx-osusume .single-post-content .vx-final {
  margin: 0 0 16px;
}
body.vx-osusume .single-post-content .vx-final__title {
  margin: 0 0 12px;
  color: #111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-final__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.vx-osusume .single-post-content .vx-final__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 14px 14px 18px;
  border: 1px solid #d9dee5;   /* v1.4 (owner rule): no thick top colour line, no shadow */
  border-radius: 10px;
  background: #fff;
}
body.vx-osusume .single-post-content .vx-final__card p {
  margin: 0;
}
body.vx-osusume .single-post-content .vx-final__rank {
  align-self: flex-start;
  padding: 0 10px;
  border-radius: 999px;
  background: #0b1a33;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}
body.vx-osusume .single-post-content .vx-final__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 56px;
  margin: 8px 0 6px;
}
body.vx-osusume .single-post-content .vx-final__logo {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
}
body.vx-osusume .single-post-content .vx-final__logo--word {
  height: 30px;
}
body.vx-osusume .single-post-content .vx-final__logo--mark {
  height: 44px;
}
body.vx-osusume .single-post-content .vx-final__name {
  color: #111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
body.vx-osusume .single-post-content .vx-final__fact {
  flex: 1 1 auto;
  margin: 0 0 14px;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
body.vx-osusume .single-post-content .vx-final__btn {
  -webkit-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 10px;
  border: 0;
  border-radius: 8px;
  background: #06c755;
  box-shadow: 0 4px 0 #049a42;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  cursor: pointer;
}
body.vx-osusume .single-post-content .vx-final__btn:hover {
  background: #05b64d;
}
body.vx-osusume .single-post-content .vx-final__back {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  text-align: right;
}
body.vx-osusume .single-post-content .vx-final__back a {
  color: #0b1a33;
  text-underline-offset: 3px;
}
body.vx-osusume .single-post-content .vx-final__back a::after {
  content: " ＞";
}

@media (min-width: 769px) {
  /* the three buttons keep one height when a label wraps to two lines */
  body.vx-osusume .single-post-content .vx-final__btn {
    min-height: 64px;
  }
}

@media (max-width: 768px) {
  body.vx-osusume .single-post-content .vx-desk__list,
  body.vx-osusume .single-post-content .vx-verdict__list,
  body.vx-osusume .single-post-content .vx-final__cards {
    grid-template-columns: minmax(0, 1fr);
  }
  body.vx-osusume .single-post-content .vx-faq .vexy-faq__q {
    font-size: 16px;
  }
  body.vx-osusume .single-post-content .vx-final__card {
    padding: 14px 16px 18px;
  }
  body.vx-osusume .single-post-content .vx-final__btn {
    padding: 14px 10px;
    font-size: 16px;
  }
}

/* block 8: H2 summary figures and statistics charts (h2-images/, 1200px PNG shown at most 600px wide) */
body.vx-osusume .single-post-content .vx-h2fig {
  margin: 8px auto 24px;
  max-width: 600px;
}
body.vx-osusume .single-post-content .vx-h2fig img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
}
body.vx-osusume .single-post-content .vx-h2fig--chart {
  margin-bottom: 16px;
}
