/* ==========================================================================
   Cute Article Styles — データベース型TOP（規約・本人確認データベース）
   接頭辞: .cas-db-
   色は cute-article-styles.css のトークン（--cas-*）を使用
   ========================================================================== */

:root {
  /* 規約上の扱いの判定色 */
  --cas-db-ok: #3FA98A;          /* 認める */
  --cas-db-ok-pale: #E6F6F0;
  --cas-db-cond: #8A73C9;        /* 条件付き */
  --cas-db-cond-pale: #F1ECFB;
  --cas-db-nonrec: #C0861F;      /* 非推奨 */
  --cas-db-nonrec-pale: #FFF6DE;
  --cas-db-ban: #D2584C;         /* 禁止 */
  --cas-db-ban-pale: #FFECE9;
  --cas-db-line: #F3DCE5;
}

/* --------------------------------------------------------------------------
   要照合マーカー（公開前に0件にする）
   -------------------------------------------------------------------------- */
/* 訪問者には「確認中」と表示（未照合の値を中立に見せる） */
.cas-db-tbd {
  display: inline-block;
  padding: .1rem .55rem;
  border-radius: 6px;
  background: #F4EEF1;
  font-size: 0;
  line-height: 1.6;
  white-space: nowrap;
  vertical-align: middle;
}
.cas-db-tbd::after {
  content: "確認中";
  font-size: .78rem;
  font-weight: 700;
  color: var(--cas-muted);
}
/* ログイン中（管理者）だけ、作業用の「要照合」マーカーとして表示 */
body.logged-in .cas-db-tbd {
  border: 1.5px dashed #C9A227;
  background: #FFFBE6;
  color: #8A6D00;
  font-size: .82em;
  font-weight: 700;
  padding: .05em .6em;
}
body.logged-in .cas-db-tbd::after { content: none; }

/* --------------------------------------------------------------------------
   SWELL の .post_content 内のリスト・表の既定スタイルを打ち消す
   -------------------------------------------------------------------------- */
.post_content .cas-db ul,
.post_content .cas-db ol,
.cas-db ul,
.cas-db ol {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.cas-db li::marker { content: none; }
.post_content .cas-db li { margin-top: 0; }
.post_content .cas-db .cas-db-table th,
.post_content .cas-db .cas-db-table td { border-left: 0; border-right: 0; border-top: 0; }
.post_content .cas-db p { margin-top: 0; }
.post_content .cas-db .cas-db-note,
.cas-db .cas-db-note { margin-top: .9em; }
.post_content .cas-db .cas-db-filter .cas-db-note { margin: 0; }
.post_content .cas-db .cas-db-filter__label { margin: 0 0 .7em; }
.post_content .cas-db .cas-db-hero__kicker { margin: 0 0 .7em; }
.post_content .cas-db .cas-db-hero__lead { margin: 0 0 1.4em; }

/* --------------------------------------------------------------------------
   ファーストビュー
   -------------------------------------------------------------------------- */
.cas-db-hero {
  margin: 0 0 3em;
  padding: 2em 1.5em 1.6em;
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 100%, rgba(185, 167, 227, .3) 0 120px, transparent 121px),
    var(--cas-pink-pale);
  border: 2px solid var(--cas-pink-line);
  color: var(--cas-text);
}
.cas-db-hero__kicker {
  margin: 0 0 .7em;
  font-size: .85em;
  font-weight: 700;
  color: var(--cas-pink-deep);
}
.cas-db-hero__title {
  margin: 0 0 .6em !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-family: var(--cas-font-heading);
  font-size: clamp(1.45rem, 4.6vw, 2.1rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .02em;
  color: var(--cas-text);
}

.cas-db-hero__lead {
  margin: 0 0 1.4em;
  max-width: 38em;
  line-height: 1.9;
}

/* 条件絞り込みパネル */
.cas-db-filter {
  padding: 1.1em 1.1em 1.2em;
  border-radius: 20px;
  background: var(--cas-white);
  box-shadow: 0 0 0 2px var(--cas-pink-line), 0 8px 20px rgba(224, 103, 143, .1);
}
.cas-db-filter__label {
  margin: 0 0 .7em;
  font-weight: 700;
  font-size: .95em;
}
.cas-db-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
  margin: 0 0 1em;
  padding: 0;
  list-style: none;
}
.cas-db-chip {
  appearance: none;
  cursor: pointer;
  padding: .5em 1em;
  border-radius: 999px;
  border: 2px solid var(--cas-pink-line);
  background: var(--cas-white);
  color: var(--cas-text);
  font: inherit;
  font-size: .9em;
  font-weight: 700;
  line-height: 1.4;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.cas-db-chip::before {
  content: "＋";
  margin-right: .3em;
  color: var(--cas-pink-deep);
}
.cas-db-chip[aria-pressed="true"] {
  background: var(--cas-pink-deep);
  border-color: var(--cas-pink-deep);
  color: var(--cas-white);
}
.cas-db-chip[aria-pressed="true"]::before { content: "✓"; color: var(--cas-white); }
.cas-db-chip:focus-visible,
.cas-db-reset:focus-visible,
.cas-db-go:focus-visible { outline: 3px solid var(--cas-lav); outline-offset: 2px; }

.cas-db-filter__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8em 1.2em;
  margin-bottom: 1.2em;
}
.cas-db-go {
  display: inline-block;
  padding: .85em 1.8em;
  border-radius: 999px;
  background: var(--cas-pink-deep);
  color: var(--cas-white) !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 4px 0 #C9557B;
}
.cas-db-go:hover { transform: translateY(2px); box-shadow: 0 2px 0 #C9557B; }
.cas-db-result {
  font-size: .9em;
  color: var(--cas-muted);
}
.cas-db-result b { color: var(--cas-pink-deep); font-size: 1.25em; }
.cas-db-reset {
  margin-left: .5em;
  padding: 0;
  border: 0;
  background: none;
  color: var(--cas-pink-deep);
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
.cas-db-note {
  margin: .9em 0 0;
  font-size: .8em;
  color: var(--cas-muted);
  line-height: 1.7;
}

/* 照合ログ（数字の並び） */
.cas-db-log {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 1.4em 0 0;
  padding: 0;
  list-style: none;
}
.cas-db-log li {
  padding: .4em .9em;
  border-left: 2px dotted var(--cas-pink);
  font-size: .82em;
  line-height: 1.5;
  color: var(--cas-muted);
}
.cas-db-log li:first-child { border-left: 0; padding-left: 0; }
.cas-db-log b {
  display: block;
  font-family: var(--cas-font-heading);
  font-size: 1.55em;
  color: var(--cas-text);
  line-height: 1.3;
}

/* --------------------------------------------------------------------------
   カード（データを探す・調査・目的別・安全ガイド）
   -------------------------------------------------------------------------- */
.cas-db-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
  margin: 1.6em 0 2.4em;
}
.cas-db-cards--2 { grid-template-columns: repeat(2, 1fr); }
.cas-db-cards--4 { grid-template-columns: repeat(2, 1fr); }

.cas-db-card {
  display: flex;
  flex-direction: column;
  padding: 1.2em 1.2em 1.1em;
  border-radius: 18px;
  border: 2px solid var(--cas-db-line);
  background: var(--cas-white);
  color: var(--cas-text) !important;
  text-decoration: none !important;
  line-height: 1.75;
}
a.cas-db-card:hover { border-color: var(--cas-pink); }
.cas-db-card__title,
.cas-db-card__text,
.cas-db-card__more { display: block; }
.cas-db-card__title {
  margin: 0 0 .35em;
  font-family: var(--cas-font-heading);
  font-weight: 700;
  font-size: 1.05em;
  line-height: 1.5;
}
.cas-db-card__text { margin: 0 0 .9em; font-size: .9em; }
.cas-db-card__more {
  margin-top: auto;
  font-size: .85em;
  font-weight: 700;
  color: var(--cas-pink-deep);
}
.cas-db-card--soon {
  border-style: dashed;
  background: transparent;
}
.cas-db-card--soon .cas-db-card__more { color: var(--cas-muted); }

/* 大カード（ランキング導線） */
.cas-db-feature {
  display: block;
  margin: 1.6em 0 1em;
  padding: 1.5em 1.4em;
  border-radius: 22px;
  background: linear-gradient(150deg, var(--cas-pink-pale), var(--cas-lav-pale));
  border: 2px solid var(--cas-pink-line);
  color: var(--cas-text) !important;
  text-decoration: none !important;
  line-height: 1.8;
}
.cas-db-feature:hover { border-color: var(--cas-pink); }
.cas-db-feature__title,
.cas-db-feature__text,
.cas-db-feature__more { display: block; }
.cas-db-feature__title {
  margin: 0 0 .3em;
  font-family: var(--cas-font-heading);
  font-size: 1.2em;
  font-weight: 700;
}
.cas-db-feature__text { margin: 0 0 .8em; font-size: .92em; }
.cas-db-feature__more { font-weight: 700; color: var(--cas-pink-deep); }

/* サービス別レポート（小カード2列×5段） */
.cas-db-svc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .7em;
  margin: 1.6em 0 1em;
  padding: 0;
  list-style: none;
}
.cas-db-svc-grid a {
  display: flex;
  align-items: center;
  gap: .8em;
  padding: .9em 1em;
  border-radius: 14px;
  border: 2px solid var(--cas-db-line);
  background: var(--cas-white);
  color: var(--cas-text) !important;
  text-decoration: none !important;
  line-height: 1.6;
}
.cas-db-svc-grid a:hover { border-color: var(--cas-pink); }
.cas-db-svc-grid b { display: block; font-size: 1em; }
.cas-db-svc-grid__text { display: block; min-width: 0; }
.cas-db-svc-grid__text > span { display: block; font-size: .8em; color: var(--cas-muted); }

/* --------------------------------------------------------------------------
   比較表
   -------------------------------------------------------------------------- */
.cas-db-scroll-hint { display: none; margin: 1em 0 -.6em; font-size: .78em; color: var(--cas-muted); text-align: right; }
.cas-db-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.4em 0 .6em;
  scroll-margin-top: 80px;
}
.cas-db .cas-db-table {
  width: 100%;
  min-width: 620px;
  border-collapse: separate;
  border-spacing: 0;
  border: 2px solid var(--cas-pink-line);
  border-radius: var(--cas-radius);
  overflow: hidden;
  font-size: .9em;
  line-height: 1.55;
  margin: 0;
}
.cas-db .cas-db-table th,
.cas-db .cas-db-table td {
  padding: .75em .8em;
  border: 0;
  border-bottom: 1px solid var(--cas-db-line);
  text-align: left;
  vertical-align: middle;
  background: var(--cas-white);
}
.cas-db .cas-db-table thead th {
  background: var(--cas-pink-pale);
  color: var(--cas-text);
  font-size: .85em;
  font-weight: 700;
  white-space: nowrap;
  border-bottom: 2px solid var(--cas-pink-line);
}
.cas-db .cas-db-table tbody tr:last-child td,
.cas-db .cas-db-table tbody tr:last-child th { border-bottom: 0; }
.cas-db .cas-db-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 11.5em;
  font-weight: 700;
  box-shadow: 2px 0 0 var(--cas-db-line);
}
.cas-db .cas-db-table tbody th a { color: var(--cas-text); text-decoration: none; }
.cas-db .cas-db-table tbody th a:hover { color: var(--cas-pink-deep); }
.cas-db .cas-db-table tr[hidden] { display: none; }
.cas-db-sub {
  display: block;
  font-size: .82em;
  font-weight: 400;
  color: var(--cas-muted);
}
.cas-db-num { font-weight: 700; white-space: nowrap; }
.cas-db-none {
  display: inline-block;
  padding: .05em .6em;
  border-radius: 6px;
  background: #F4EEF1;
  color: var(--cas-muted);
  font-size: .85em;
  font-weight: 700;
  white-space: nowrap;
}
.cas-db-src {
  margin: .5em 0 0;
  font-size: .75em;
  color: var(--cas-muted);
  line-height: 1.7;
}
.cas-db-src a,
.cas-db .cas-table a { color: var(--cas-pink-deep); }
.cas-db-table__empty td {
  text-align: center;
  color: var(--cas-muted);
  padding: 1.4em;
}

/* 判定ラベル */
.cas-db-judge {
  display: inline-block;
  padding: .2em .75em .2em .6em;
  border-radius: 999px;
  font-size: .9em;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.cas-db-judge::before { margin-right: .3em; }
.cas-db-judge--ok     { background: var(--cas-db-ok-pale);     color: var(--cas-db-ok); }
.cas-db-judge--ok::before     { content: "●"; }
.cas-db-judge--cond   { background: var(--cas-db-cond-pale);   color: var(--cas-db-cond); }
.cas-db-judge--cond::before   { content: "◆"; }
.cas-db-judge--nonrec { background: var(--cas-db-nonrec-pale); color: var(--cas-db-nonrec); }
.cas-db-judge--nonrec::before { content: "▲"; }
.cas-db-judge--ban    { background: var(--cas-db-ban-pale);    color: var(--cas-db-ban); }
.cas-db-judge--ban::before    { content: "✕"; }

/* 凡例 */
.cas-db-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1em;
  margin: .4em 0 0;
  padding: 0;
  list-style: none;
  font-size: .82em;
  color: var(--cas-muted);
}

/* --------------------------------------------------------------------------
   グラフ（比較表から自動生成）
   -------------------------------------------------------------------------- */
.cas-db-charts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  margin: 1.6em 0 2.4em;
}
.cas-db-chart {
  margin: 0;
  padding: 1.1em 1.1em .9em;
  border-radius: 18px;
  border: 2px solid var(--cas-db-line);
  background: var(--cas-white);
}
.cas-db-chart[data-chart="mibare"] { grid-column: 1 / -1; }
.cas-db-chart--pct .cas-db-bar { grid-template-columns: 7.5em 1fr 3.6em; }
.cas-db-chart__title {
  margin: 0 0 .9em;
  font-weight: 700;
  font-size: .95em;
  line-height: 1.5;
}
.cas-db-chart__body { margin: 0; padding: 0; list-style: none; }
.cas-db-bar {
  display: grid;
  grid-template-columns: 8em 1fr 2.6em;
  align-items: center;
  gap: .5em;
  margin-bottom: .55em;
  font-size: .82em;
}
.cas-db-bar__track {
  height: 12px;
  border-radius: 999px;
  background: var(--cas-pink-pale);
  overflow: hidden;
}
.cas-db-bar__fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: var(--cas-pink);
}
.cas-db-bar__fill--ok     { background: var(--cas-db-ok); }
.cas-db-bar__fill--cond   { background: var(--cas-db-cond); }
.cas-db-bar__fill--nonrec { background: var(--cas-db-nonrec); }
.cas-db-bar__fill--ban    { background: var(--cas-db-ban); }
.cas-db-bar__fill--tbd    { background: #E2D9DE; }
.cas-db-bar__num { text-align: right; font-weight: 700; color: var(--cas-text); }
.cas-db-chart figcaption {
  margin-top: .6em;
  font-size: .75em;
  color: var(--cas-muted);
}
.cas-db-chart__fallback { font-size: .82em; color: var(--cas-muted); margin: 0; }

/* --------------------------------------------------------------------------
   規約ウォッチ
   -------------------------------------------------------------------------- */
.cas-db-watch {
  margin: 1.4em 0 1em;
  padding: 0;
  list-style: none;
  border-left: 3px dotted var(--cas-pink);
}
.cas-db-watch li {
  position: relative;
  margin: 0 0 1em;
  padding: 0 0 0 1.4em;
  line-height: 1.75;
}
.cas-db-watch li::before {
  content: "";
  position: absolute;
  left: -8px;
  top: .45em;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--cas-white);
  border: 3px solid var(--cas-pink-deep);
}
.cas-db-watch__when { display: block; font-size: .8em; color: var(--cas-muted); }
.cas-db-watch__what { display: block; font-weight: 700; }
.cas-db-watch__effect { display: block; font-size: .85em; color: var(--cas-muted); }

/* --------------------------------------------------------------------------
   相談窓口・理由・引用
   -------------------------------------------------------------------------- */
.cas-db-help {
  margin: 1.6em 0 2em;
  padding: 1.3em 1.3em 1em;
  border-radius: 18px;
  background: var(--cas-coral-pale);
  border: 2px solid #F8D2CD;
}
.cas-db-help__title { margin: 0 0 .7em; font-weight: 700; }
.cas-db-help dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .5em 1em;
  margin: 0;
}
.cas-db-help dt {
  font-family: var(--cas-font-heading);
  font-weight: 700;
  font-size: 1.15em;
  color: var(--cas-db-ban);
  white-space: nowrap;
}
.cas-db-help dd { margin: 0; line-height: 1.7; }
.cas-db-help__src { margin: .9em 0 0; font-size: .78em; color: var(--cas-muted); line-height: 1.7; }
.cas-db-note a,
.cas-db-help__src a,
.cas-db-cite a { color: var(--cas-pink-deep); }

.cas-db-why {
  margin: 1.4em 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.cas-db-why li {
  margin: 0 0 1em;
  padding: 1em 1.1em;
  border-radius: 16px;
  background: var(--cas-lav-pale);
  line-height: 1.8;
}
.cas-db-why li > b { display: block; margin-bottom: .2em; }

.cas-db-cite {
  margin: 1.4em 0 2em;
  padding: 1.2em 1.2em 1em;
  border-radius: 18px;
  border: 2px dashed var(--cas-lav);
  background: var(--cas-white);
}
.cas-db-cite__text {
  margin: .6em 0;
  padding: .9em 1em;
  border-radius: 12px;
  background: var(--cas-lav-pale);
  font-size: .9em;
  line-height: 1.8;
  user-select: all;
}

/* --------------------------------------------------------------------------
   スマホ
   -------------------------------------------------------------------------- */
@media (max-width: 782px) {
  .cas-db-cards,
  .cas-db-charts { grid-template-columns: 1fr; }
}
@media (max-width: 599px) {
  .cas-db-hero { padding: 1.5em 1.05em 1.3em; border-radius: 22px; }
  .cas-db-filter { padding: 1em .9em; }
  .cas-db-chip { font-size: .85em; padding: .45em .85em; }
  .cas-db-go { display: block; text-align: center; width: 100%; box-sizing: border-box; }
  .cas-db-log { grid-template-columns: repeat(2, 1fr); row-gap: .8em; }
  .cas-db-log li:nth-child(3) { border-left: 0; padding-left: 0; }
  .cas-db-cards--2,
  .cas-db-cards--4,
  .cas-db-svc-grid { grid-template-columns: 1fr; }
  .cas-db-table { font-size: .84em; }
  .cas-db-scroll-hint { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .cas-db-chip { transition: none; }
}

/* --------------------------------------------------------------------------
   おすすめアプリ診断
   -------------------------------------------------------------------------- */
.cas-db-quiz {
  margin: 1.4em 0 2.4em;
  padding: 1.4em 1.3em 1.3em;
  border-radius: 24px;
  background: var(--cas-white);
  box-shadow: 0 0 0 2px var(--cas-pink-line), 0 10px 24px rgba(224, 103, 143, .1);
  color: var(--cas-text);
}
.cas-db-quiz__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1em;
  flex-wrap: wrap;
}
.cas-db-quiz__title {
  margin: 0 !important;
  font-family: var(--cas-font-heading);
  font-size: 1.15em;
  font-weight: 700;
}
.cas-db-quiz__progress { margin: 0 !important; font-size: .85em; color: var(--cas-muted); }
.cas-db-quiz.is-done .cas-db-quiz__progress { visibility: hidden; }
.cas-db-quiz__progress b { color: var(--cas-pink-deep); font-size: 1.15em; }
.cas-db-quiz__bar {
  height: 6px;
  margin: .8em 0 1.3em;
  border-radius: 999px;
  background: var(--cas-pink-pale);
  overflow: hidden;
}
.cas-db-quiz__bar span {
  display: block;
  height: 100%;
  width: 33.3%;
  border-radius: 999px;
  background: var(--cas-pink-deep);
  transition: width .25s ease;
}
.cas-db-quiz__q {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.cas-db-quiz__q[hidden],
.cas-db-quiz__result[hidden],
.cas-db-quiz__back[hidden] { display: none !important; }
.cas-db-quiz__ask {
  display: block;
  margin: 0 0 .9em;
  padding: 0;
  font-weight: 700;
  font-size: 1.05em;
  line-height: 1.6;
}
.cas-db-quiz__opts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .6em;
}
.cas-db-quiz__opts button {
  appearance: none;
  cursor: pointer;
  padding: .95em 1em;
  border-radius: 16px;
  border: 2px solid var(--cas-pink-line);
  background: var(--cas-pink-pale);
  color: var(--cas-text);
  font: inherit;
  font-weight: 700;
  font-size: .95em;
  line-height: 1.5;
  text-align: left;
  transition: border-color .15s ease, background-color .15s ease;
}
.cas-db-quiz__opts button:hover { border-color: var(--cas-pink); background: var(--cas-white); }
.cas-db-quiz__opts button:focus-visible,
.cas-db-quiz__back:focus-visible { outline: 3px solid var(--cas-lav); outline-offset: 2px; }
.cas-db-quiz__nav { margin-top: .8em; min-height: 1.5em; }
.cas-db-quiz__back {
  padding: 0;
  border: 0;
  background: none;
  color: var(--cas-muted);
  font: inherit;
  font-size: .85em;
  text-decoration: underline;
  cursor: pointer;
}
.cas-db-quiz__rtitle {
  margin: 0 0 .8em !important;
  font-family: var(--cas-font-heading);
  font-size: 1.1em;
  font-weight: 700;
  color: var(--cas-pink-deep);
}
.cas-db .cas-db-quiz__list { counter-reset: cas-quiz; margin: 0 0 1em; }
.cas-db-quiz__item {
  position: relative;
  margin: 0 0 .7em;
  padding: 1em 1em 1em 3.4em;
  border-radius: 16px;
  border: 2px solid var(--cas-db-line);
  background: var(--cas-white);
  counter-increment: cas-quiz;
}
.cas-db-quiz__item:first-child { border-color: var(--cas-pink); background: var(--cas-pink-pale); }
.cas-db-quiz__item::before {
  content: counter(cas-quiz);
  position: absolute;
  left: 1em;
  top: 1em;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background: var(--cas-pink-deep);
  color: var(--cas-white);
  font-weight: 700;
  line-height: 1.8em;
  text-align: center;
}
.cas-db-quiz__name { display: block; font-weight: 700; font-size: 1.05em; }
.cas-db-quiz__name a { color: var(--cas-text) !important; }
.cas-db-quiz__law { display: inline-block; margin: .3em 0 .5em; }
.cas-db-quiz__law .cas-db-judge { font-size: .8em; }
.cas-db-quiz__law-tbd {
  display: inline-block;
  padding: .15em .7em;
  border-radius: 999px;
  background: #F4EEF1;
  color: var(--cas-muted);
  font-size: .8em;
  font-weight: 700;
}
.cas-db-quiz__reasons {
  display: flex;
  flex-wrap: wrap;
  gap: .35em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cas-db-quiz__reasons li {
  padding: .2em .7em;
  border-radius: 999px;
  background: var(--cas-mint-pale);
  color: #2F7F69;
  font-size: .8em;
  font-weight: 700;
}
.cas-db-quiz__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8em 1.2em;
  margin-top: 1em;
}
@media (max-width: 599px) {
  .cas-db-quiz { padding: 1.2em 1em 1.1em; }
  .cas-db-quiz__opts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cas-db-quiz__bar span,
  .cas-db-quiz__opts button { transition: none; }
}

/* --------------------------------------------------------------------------
   サービスロゴ
   -------------------------------------------------------------------------- */
.cas-db-logo {
  flex: 0 0 auto;
  display: block;
  width: 40px;
  height: 40px;
  max-width: none;
  margin: 0;
  padding: 3px;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid var(--cas-db-line);
  background: var(--cas-white);
  object-fit: contain;
}
.cas-db-logo--md { width: 44px; height: 44px; border-radius: 12px; }
.cas-db-logo--sm { width: 28px; height: 28px; padding: 2px; border-radius: 8px; }
.cas-db-svc {
  display: flex;
  align-items: center;
  gap: .6em;
}
.cas-db-svc__text { display: block; line-height: 1.4; }
.cas-db-svc--sm { gap: .5em; white-space: nowrap; }
.cas-db-svc--sm .cas-db-logo { width: 28px; height: 28px; padding: 2px; border-radius: 8px; }
.cas-db-quiz__head-row {
  display: flex;
  align-items: center;
  gap: .7em;
}
.cas-db-quiz__item .cas-db-logo { width: 48px; height: 48px; border-radius: 12px; }
