/* 用途: BM2/BP1に沿ったブランドと記事の配置。トップと共通ページには適用しない。 */
.detail-page { background:#fff; }
.detail-page .top-name-unit { display:inline-block; white-space:nowrap; }
.detail-hero { background:#f1faf5; margin:0 0 0; border-block:1px solid #e5f0e9; }
.detail-hero-inner { width:calc(100% - 32px); max-width:1020px; margin:auto; padding:18px 0; }
.detail-hero h1 { font-size:24px; line-height:1.5; margin:0 0 8px; word-break:keep-all; word-break:auto-phrase; overflow-wrap:normal; text-wrap:balance; }
.detail-hero .hero-rating-line { display:flex; align-items:center; gap:10px; margin:0 0 8px; font-size:26px; }
.detail-hero .hero-rating-line strong { font-size:28px; font-weight:700; color:var(--brand); }
.detail-hero .hero-rating-line .stars { width:120px; height:24px; }
.detail-counts { font-size:14px; line-height:1.7; }
.detail-counts>span { display:block; }
.detail-store-count { display:flex; flex-wrap:wrap; gap:4px; }
.detail-store-count dt,.detail-store-count dd { margin:0; font-weight:400; }
.detail-fields { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.detail-fields a,.detail-fields>span,.detail-method-chip { display:flex; align-items:center; min-height:44px; padding:6px 12px; border-radius:999px; background:#e4f3eb; text-decoration:none; font-size:13px; color:var(--brand); }
.detail-hero .intro,.detail-hero-copy>.note { font-size:13px; line-height:1.65; color:var(--muted); margin:8px 0 0; }
.detail-hero-action>.apply { margin:14px 0 8px; border-radius:999px; }
.detail-hero-action>small { display:block; font-size:13px; color:var(--muted); }
.detail-page .rating-block { padding:0; margin:0 0 20px; }
.detail-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-bottom:12px; padding:12px; border-radius:12px; background:#f1faf5; }
.detail-rating,.detail-numbers { min-width:0; }
.detail-summary .detail-method-link { grid-column:2; }
@media(max-width:767px) { .detail-summary .detail-method-link { grid-column:1; } }
.detail-page .detail-summary .detail-box-title,.detail-information>.detail-box-title,.detail-toc>.detail-box-title { display:flex; align-items:center; gap:6px; font-size:15px; font-weight:500; margin:0 0 10px; }
.detail-page .detail-summary .rating { display:block; padding:10px 8px; background:white; border-radius:10px; margin:0; }
.detail-page .detail-summary .bar-row { grid-template-columns:26px minmax(0,1fr) 48px; gap:4px; margin:6px 0; }
.detail-summary .bar-label { font-size:13px; white-space:nowrap; }
.detail-summary .bar-label::first-letter { color:#a95a00; }
.detail-summary .bar-track { height:10px; border-radius:10px; background:#edf0f2; }
.detail-summary .bar-track>span { background:var(--brand)!important; border-radius:10px; }
.detail-summary .bar-value { font-size:12px; font-weight:400; }
.detail-metrics { display:grid; gap:8px; margin:0; }
.detail-page .detail-metrics .decision-row { display:block; padding:10px; border:0; border-radius:10px; background:white; }
.detail-page .detail-metrics dt { font-size:13px; line-height:1.5; color:var(--ink); }
.detail-page .detail-metrics dd { margin:6px 0 0; font-size:14px; font-weight:500; }
.detail-page .detail-metrics strong { font-size:28px; color:var(--brand); }
.detail-page .detail-metrics .metric-label { font-size:13px; font-weight:400; word-break:keep-all; }
.detail-page .detail-metrics small { font-size:12px; line-height:1.5; }
.detail-information { padding:12px; margin-top:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.detail-information .decision-row { display:flex; align-items:start; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.detail-information .decision-row:last-child { border:0; }
.detail-information dt { flex:0 0 65px; font-size:13px; color:var(--muted); }
.detail-information dd { font-size:14px; margin:0; min-width:0; }
.detail-information .gold-fees-row dd { word-break:auto-phrase; }
.detail-information .methods { display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.detail-information .method { display:flex; flex-direction:column-reverse; align-items:center; gap:4px; min-height:44px; padding:0; border:0; background:transparent; font-size:13px; color:var(--brand); }
.detail-information .method .line-icon { width:22px; height:22px; }
.detail-page .jump-nav { width:100%; max-width:none; margin:0; border-radius:0; background:#fff; border-block:1px solid var(--line); top:0; z-index:15; box-shadow:0 2px 5px #1c243005; }
.detail-page .jump-nav>div { max-width:1020px; margin:auto; }
.detail-page .jump-nav a { color:var(--ink); border-radius:6px; font-weight:500; padding:10px 12px; }
.detail-page .jump-nav a[aria-current=true] { background:var(--brand); color:#fff; font-weight:700; }
.detail-page .jump-nav a[aria-current=true] .line-icon { color:#fff; }
.detail-page .jump-nav.detail-tabs-suppressed { visibility:hidden; height:0; border:0; overflow:hidden; }
.detail-toc { border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:12px 0; background:#fff; }
.detail-toc>.detail-box-title { padding:10px 12px; background:#edf8f2; margin:0; }
.detail-toc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-toc-grid>a { display:flex; align-items:center; justify-content:space-between; gap:4px; min-height:48px; padding:8px 10px; font-size:13px; text-decoration:none; color:var(--ink); border-right:1px solid var(--line); border-top:1px solid var(--line); word-break:keep-all; }
.detail-toc-grid>a::after { content:'›'; color:var(--brand); margin-left:auto; }
.detail-toc-grid .line-icon,.detail-toc-grid .tab-count { display:none; }
.detail-page main>section { padding:0; border:0; background:#fff; border-radius:0; margin:24px 0; }
.detail-page h2 { font-size:19px; font-weight:700; background:#fff; color:var(--ink); padding:0 0 10px; border:0; border-bottom:1px solid var(--line); border-radius:0; margin-bottom:14px; }
.detail-page h2 .line-icon { color:var(--brand); width:22px; height:22px; }
.detail-page .answer,.detail-page .lead { border:1px solid #d8eadf; border-radius:12px; background:#f1faf5; box-shadow:0 2px 6px #1c243005; }
.detail-page .article-lead { padding:14px 16px; }
.detail-voice-groups { display:grid; gap:12px; }
.detail-voice-group { border-radius:12px; padding:12px; background:#edf8f2; border:1px solid #dceee3; }
.detail-negative { background:#fff0f2; border-color:#f5dce1; }
.detail-voice-group .voice-group-heading { margin:0 0 10px; }
.detail-voice-group .voice-group-heading { flex-wrap:wrap; }
.detail-voice-group .voice-group-heading .voice-topic { font-weight:400; white-space:nowrap; }
.detail-voice-group .voice-card { border:0; border-bottom:1px solid #dceee3; border-radius:0; background:#fff; padding:12px; margin:0; box-shadow:none; }
.detail-negative .voice-card { border-color:#f5dce1; }
.detail-voice-group .voice-bubble { border:0; background:transparent; padding:0; }
.detail-voice-group .voice-bubble::before,.detail-voice-group .voice-bubble::after { display:none; }
.detail-voice-group .voice-head { margin-bottom:6px; }
.detail-page .brand-bars .bar-row { display:grid; grid-template-columns:minmax(0,1fr) 70px; gap:8px; padding:8px; border-bottom:1px solid var(--line); border-radius:0; font-weight:400; }
.detail-page .brand-bars .bar-row[data-brand-current=true] { background:#e7f5ed; color:var(--brand); }
.detail-page .brand-bars .bar-value { font-weight:400; }
.detail-page .compare-count-note { display:block; font-size:13px; font-weight:400; }
.detail-page .brand-bars .compare-count-note { grid-column:1/-1; margin:0; }
.detail-page .brand-bars .bar-track { display:none; }
.detail-page .brand-bar-name { word-break:keep-all; overflow-wrap:normal; }
.detail-page .table-scroll { border:1px solid var(--line); border-radius:12px; }
.detail-page table { border:0; }
.detail-page table.official-examples { min-width:0; table-layout:fixed; }
.detail-page .official-examples th,.detail-page .official-examples td { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.detail-page .official-examples th:nth-child(2) { width:112px; }
.detail-page .official-examples th:nth-child(3) { width:90px; }
.detail-page .official-examples td:nth-child(2) { white-space:nowrap; }
.detail-page .official-examples td:not(:nth-child(2)) [data-fact] { white-space:normal; }
.detail-page thead th { background:#f0f2f4; }
.detail-page td,.detail-page th { border-color:var(--line); }
.detail-page .cta { border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 2px 6px #1c243005; }
.detail-page .cta-heading { word-break:keep-all; word-break:auto-phrase; text-wrap:balance; }
.detail-page .ugc-panel { border:1px solid var(--line); border-radius:12px; padding:16px; background:#fff; box-shadow:0 2px 6px #1c243005; }
.detail-page .ugc-field input,.detail-page .ugc-field textarea,.detail-page .ugc-field select { border-radius:10px; }
.detail-page .ugc-vote { margin:12px 0; }
.detail-page [data-ugc-question=comparison] .ugc-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.detail-page [data-ugc-question=comparison] .ugc-choice-button { display:flex; flex-direction:column; justify-content:center; gap:6px; min-height:96px; padding:8px 2px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:12px; line-height:1.5; }
.detail-page [data-ugc-question=comparison] .ugc-choice-button>span:last-child { white-space:nowrap; }
.detail-page [data-ugc-question=comparison] .ugc-choice-button .ugc-check { display:none; }
.detail-choice-icon { width:24px; height:24px; color:var(--brand); }
.detail-page [data-ugc-question=comparison] .ugc-choice-button[aria-pressed=true] { background:#e7f5ed; border-color:var(--brand); }
.detail-page .ugc-result-row { border:1px solid var(--line); background:#f1faf5; padding:8px; border-radius:8px; }
.detail-page .ugc-thanks { background:#f1faf5; border-radius:8px; padding:10px; }
.detail-invitation { background:#edf8f2; border:1px solid #dceee3; border-radius:12px; padding:16px; }
.detail-invitation .detail-invitation-title { display:flex; align-items:start; gap:8px; margin:0 0 10px; font-size:16px; font-weight:500; color:var(--brand); }
.detail-invitation p:not(.detail-invitation-title) { font-size:13px; color:var(--muted); margin:0 0 12px; }
.detail-write { display:flex; align-items:center; justify-content:center; min-height:48px; background:var(--brand); color:white; border-radius:999px; font-weight:700; text-decoration:none; }
.detail-sticky-identity { display:none; }
.detail-page #sticky-apply { border-top:1px solid var(--line); background:white; }
.detail-page #sticky-apply .apply,.detail-page #sticky-apply .sticky-review { border-radius:10px; }
.detail-page #sticky-apply .sticky-review { background:#fff; color:var(--brand); border:1px solid var(--brand); }
.detail-page #sticky-apply[hidden] { display:none!important; }
@media(max-width:1023px) {
 .detail-page main { padding-top:16px; }
 .detail-page .detail-hero .intro { display:block; overflow:visible; -webkit-line-clamp:unset; }
 .detail-page #sticky-apply { height:auto; min-height:68px; padding:10px 16px max(10px,env(safe-area-inset-bottom)); }
 .detail-page.sticky-enabled { padding-bottom:88px; }
}
@media(min-width:1024px) {
 .detail-page .row-table.review-comparison .row-meta { flex-wrap:wrap; }
 .detail-page .row-table.condition-comparison thead th:first-child { width:126px; }
 .detail-page .row-table.condition-comparison thead th:nth-child(n+2):not(.row-arrow) { width:calc((100% - 126px)/3); }
 .detail-page .row-table.condition-comparison .row-arrow { width:0; padding:0; font-size:0; }
 .detail-page .row-table.condition-comparison tbody .row-arrow::after { content:'›'; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:26px; }
 .detail-page .row-table.condition-comparison th,.detail-page .row-table.condition-comparison td { padding:16px 18px; }
 .detail-page .row-table.condition-comparison th:first-child { padding-left:12px; padding-right:0; }
 .detail-page .row-table.condition-comparison .row-meta { flex-wrap:wrap; gap:2px 6px; white-space:normal; }
 .detail-page .row-table.condition-comparison .row-meta .sampling-note { display:none; }
 .detail-page .row-table.condition-comparison .row-condition-value { display:block; position:relative; }
 .detail-page .row-table.condition-comparison .condition-value { display:inline; font-size:13px; }
 .detail-page .row-table.condition-comparison .row-condition-mark { position:absolute; left:-14px; top:0; margin:0; font-size:12px; }
 .detail-page .row-table.condition-comparison .top-name-unit { display:inline-block; word-break:keep-all; }
 .detail-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; padding:24px 0; }
 .detail-hero h1 { font-size:32px; }
 .detail-hero-action>.apply { margin-top:0; }
 .detail-page .page-layout { grid-template-columns:minmax(0,1fr) 340px; gap:24px; }
 .detail-page .page-layout main { padding-top:20px; }
 .detail-page .desktop-sidebar { top:68px; max-height:calc(100vh - 160px); overflow:auto; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; margin-top:20px; }
 .detail-page .detail-desktop-vote .ugc-panel { margin-top:12px; }
 .detail-page .detail-desktop-vote [data-ugc-question=comparison] .ugc-choices { grid-template-columns:1fr; }
 .detail-page .detail-desktop-vote [data-ugc-question=comparison] .ugc-choice-button { flex-direction:row; justify-content:start; padding:8px 12px; min-height:48px; gap:12px; font-size:13px; }
 .detail-page .detail-desktop-vote [data-ugc-question=comparison] .ugc-choice-button br { display:none; }
 .detail-page .detail-toc { display:none; }
 .detail-page .detail-summary { grid-template-columns:1fr 1fr; padding:16px; gap:16px; }
 .detail-page .detail-summary .detail-box-title { font-size:16px; }
 .detail-page .detail-summary .bar-row { margin:10px 0; }
 .detail-page .detail-metrics { grid-template-columns:1fr; }
 .detail-page .detail-voice-groups { grid-template-columns:1fr 1fr; }
 .detail-page #sticky-apply { display:flex!important; align-items:center; justify-content:flex-end; gap:12px; min-height:72px; height:auto; position:fixed; z-index:20; bottom:0; left:0; right:0; padding:10px max(32px,calc((100vw - 1020px)/2)); }
 .detail-page #sticky-apply[hidden] { display:none!important; }
 .detail-page #sticky-apply .apply { width:auto; padding:10px 16px; margin:0; min-height:48px; font-size:14px; }
 .detail-page #sticky-apply .sticky-review { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 16px; font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
 .detail-page #sticky-apply .sticky-review[hidden] { display:none; }
 .detail-sticky-identity { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:14px; margin-right:auto; word-break:keep-all; }
 .detail-sticky-identity .hero-rating-line { display:flex; align-items:center; gap:6px; margin:0; }
 .detail-sticky-identity .stars { width:80px; height:16px; }
 .detail-sticky-identity strong { font-weight:500; }
 .detail-page.sticky-enabled { padding-bottom:88px; }
}
@media(min-width:1024px) and (max-width:1199px) {
 .detail-page .row-table.condition-comparison .condition-value { font-size:12px; }
 .detail-page .page-layout { grid-template-columns:minmax(0,1fr) 300px; }
}
@media(max-width:1023px) {
 .detail-page .ugc-vote { padding:12px 8px; }
 .detail-page .ugc-vote .ugc-question-heading { padding:0 4px; }
}
.detail-mobile-application>.apply { margin:12px 0 8px; border-radius:999px; }
.detail-page .detail-mobile-information .detail-information { background:#f1faf5; margin-bottom:12px; }
.detail-page .detail-mobile-information .detail-information dd { font-weight:500; }
.detail-fields a { min-width:44px; }
.detail-page .detail-metrics .metric-label-tail { display:inline; }
.detail-page .detail-metrics .metric-value { display:block; }
.detail-page .detail-metrics .metric-value strong { display:block; }
.detail-summary .detail-box-title .line-icon,.detail-information .detail-box-title .line-icon,.detail-toc .detail-box-title .line-icon { color:var(--brand); }
.detail-page [data-ugc-question=comparison] .ugc-choice-button { letter-spacing:0; }
.detail-page [data-ugc-question=comparison] .ugc-choice-button>span:last-child { font-size:12px; line-height:1.5; }
@media(max-width:1023px) {
 .detail-page [data-ugc-question=comparison] .ugc-choice-button { padding:8px 0; }
}
.detail-brand-title,.detail-title-tail { display:inline-block; }
.detail-metrics { grid-template-columns:minmax(0,1fr); min-width:0; }
.detail-page .detail-metrics .decision-row { min-width:0; }
.detail-page .detail-metrics .metric-label-tail { display:inline-block; }
.detail-brand-title,.detail-title-tail { max-width:100%; }
.detail-title-tail { word-break:normal; word-break:auto-phrase; text-wrap:balance; overflow-wrap:normal; }
.detail-page .detail-numbers[hidden] { display:none; }
.detail-summary:has(.detail-numbers[hidden]) { grid-template-columns:1fr; }
.detail-hero h1 { display:block; }
.detail-page .ugc-result-row { grid-template-columns:minmax(0,1fr) 44px; }
.detail-page .ugc-result-label { grid-column:1 / -1; word-break:keep-all; overflow-wrap:normal; }
@media(max-width:380px) {
 .detail-page .detail-mobile-vote .ugc-panel { padding-inline:0; }
}
@media(max-width:767px) {
 .detail-page .detail-summary { grid-template-columns:minmax(0,1fr); }
 .detail-page .detail-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .detail-page .detail-metrics.detail-metrics-stack { grid-template-columns:minmax(0,1fr); }
}
.detail-page .detail-summary .rating,.detail-page .detail-metrics .decision-row { border:1px solid var(--line); border-radius:12px; box-shadow:0 2px 6px #1c243005; }
.detail-page [data-reader-metric] small { font-weight:400; }
@media(min-width:1024px) {
}
.detail-page h2 { margin-inline:0; }

/* 段階14c: CM1の条件行、CP2の左右配置。指定された赤と既存の線アイコンを使う。 */
.detail-page .apply,.detail-page #sticky-apply .apply,.detail-page #sticky-apply .sticky-review { border-radius:999px; }
.detail-page .cta-box { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:18px; container-type:inline-size; }
.detail-page .cta-box .cta-overview { min-width:0; text-align:center; padding:0 0 2px; }
.cta-name { font-size:32px; font-weight:700; line-height:1.5; text-wrap:balance; margin-bottom:8px; }
.cta-name .top-name-unit { white-space:nowrap; }
.cta-rating { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 0 4px; }
.cta-rating .stars { width:120px; height:24px; }
.cta-rating strong { font-size:28px; font-weight:700; color:var(--brand); line-height:1.4; }
.cta-review-count { font-size:14px; line-height:1.7; text-wrap:balance; }
.cta-review-count>span { white-space:nowrap; font-weight:700; }
.cta-conditions { min-width:0; padding:12px 8px 8px; border-radius:12px; background:#edf8f2; container-type:inline-size; }
.detail-page .cta-conditions .cta-conditions-title { display:flex; align-items:center; gap:8px; margin:0 4px 10px; font-size:15px; font-weight:700; line-height:1.5; color:var(--ink); text-wrap:balance; }
.cta-conditions .cta-conditions-title .line-icon { flex:none; width:22px; height:22px; color:var(--brand); }
.cta-conditions dl { display:grid; gap:4px; margin:0; }
.cta-condition-row { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:start; gap:8px 10px; padding:10px; text-align:left; border-radius:8px; background:#fff; font-size:14px; line-height:1.7; }
.cta-condition-row dt { display:flex; align-items:center; gap:6px; margin:0; font-weight:500; }
.cta-condition-row dt .line-icon { flex:none; color:var(--brand); width:20px; height:20px; margin-top:2px; }
.cta-condition-row dt>span { white-space:nowrap; }
.cta-condition-row dd { min-width:0; margin:0; font-weight:500; word-break:auto-phrase; overflow-wrap:normal; }
.cta-condition-row[data-cta-condition=gold_fees] { grid-template-columns:minmax(0,1fr); gap:6px; }
.cta-methods { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.cta-method { display:inline-flex; align-items:center; border-radius:999px; background:#e4f3eb; color:var(--brand); font-size:12px; padding:3px 8px; white-space:nowrap; }
/* 本文に何度も入るので、枠の幅いっぱいにせず中央に小さく置く。 */
.detail-page .cta-box>.apply { justify-self:center; width:auto; min-width:min(100%,320px); max-width:100%; min-height:44px; margin:0; padding:8px 20px; font-size:14px; line-height:1.5; }
.detail-page .cta-box>.cta-note { display:block; margin:-8px 0 0; font-size:12px; line-height:1.7; color:var(--muted); text-align:center; }
@media(min-width:1024px) {
 .detail-page .cta-box { grid-template-columns:minmax(0,34fr) minmax(0,66fr); align-items:center; gap:16px; padding:20px; }
 .detail-page .cta-box .cta-overview { padding:8px 14px 8px 0; border-right:1px solid var(--line); }
 /* 枠は2列の節の中で半分の幅になる。名前の大きさは、画面ではなく枠の幅に合わせる。 */
 .detail-page .cta-box .cta-name { font-size:clamp(22px,5.6cqi,36px); }
 .detail-page .cta-box .cta-name-long { font-size:clamp(18px,4.4cqi,28px); }
 .detail-page .cta-box .cta-rating strong { font-size:36px; }
 .detail-page .cta-box .cta-conditions .cta-conditions-title { color:var(--brand); }
 .detail-page .cta-box .cta-rating { flex-wrap:wrap; gap:4px 8px; }
 .detail-page .cta-box .cta-rating .stars { width:100px; height:20px; }
 .detail-page .cta-box .cta-review-count { font-size:13px; }
 .detail-page .cta-box>.apply,.detail-page .cta-box>.cta-note { grid-column:1/-1; }
 .detail-page .cta-box-sparse { grid-template-columns:minmax(0,1fr); }
 .detail-page .cta-box-sparse .cta-overview { padding:0; border:0; }
}
.cta-condition-short dd { color:var(--brand); font-size:18px; font-weight:700; }
/* 値の列に8文字入らない幅では、項目名の下へ値を置く。 */
@container (width < 286px) {
 .cta-condition-short { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@container (width < 254px) {
 .cta-condition-row:not([data-cta-condition=methods]) { grid-template-columns:minmax(0,1fr); gap:6px; }
}
.cta-value-part { display:block; }

/* 買取店詳細の紹介枠は、店名と評価、行き先だけをまとめる。記事用の枠は従来どおり。 */
.detail-page .cta-box-compact { gap:8px; padding:12px; }
.detail-page .cta-box-compact .cta-overview { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2px 10px; padding:0; border:0; }
.detail-page .cta-box-compact .cta-name { margin:0; font-size:20px; line-height:1.4; }
.detail-page .cta-box-compact .cta-rating { flex-wrap:nowrap; gap:6px; margin:0; }
.detail-page .cta-box-compact .cta-rating .stars { width:90px; height:18px; }
.detail-page .cta-box-compact .cta-rating strong { font-size:20px; line-height:1.2; }
.detail-page .cta-box-compact .cta-review-count { font-size:12px; line-height:1.5; }
.detail-page .cta-box-compact .cta-action { display:grid; min-width:0; gap:4px; }
.detail-page .cta-box-compact .cta-action>.apply { width:100%; min-width:0; max-width:100%; height:44px; min-height:44px; margin:0; padding:0 12px; font-size:14px; line-height:1.5; }
.detail-page .cta-box-compact .cta-note { margin:0; font-size:12px; line-height:1.7; text-align:center; }
@media(min-width:1024px) {
 .detail-page .cta-box-compact { grid-template-columns:minmax(0,1fr) max-content; align-items:center; gap:20px; padding:12px 16px; }
 .detail-page .cta-box-compact .cta-overview { justify-content:flex-start; }
 .detail-page .cta-box-compact .cta-name { flex-basis:100%; text-align:left; }
 .detail-page .cta-box-compact .cta-action>.apply { width:auto; min-width:320px; padding:8px 20px; white-space:nowrap; overflow-wrap:normal; }
}
/* 見出しから外した枠名も従来の行高と改行を保つ。 */
.detail-box-title { line-height:1.6; word-break:auto-phrase; text-wrap:balance; }

.detail-invitation .detail-invitation-title { line-height:1.6; word-break:auto-phrase; text-wrap:balance; }

.cta-conditions-title { word-break:auto-phrase; }

.article-official [data-fact] { white-space:normal; }
.article-official a,.cooling-off-note a { display:inline-flex; align-items:center; min-height:44px; }
/* 用途: 承認済みDM4/DP2に沿った結論・声・注意カード。集計ページだけに適用する。 */
.detail-rebuilt .page-layout { display:block; }
.detail-rebuilt .detail-word { display:inline-block; white-space:nowrap; }
.detail-rebuilt .detail-verdict .detail-word { display:inline; }
.detail-rebuilt .detail-text { min-width:0; }
.detail-rebuilt [data-fact] { white-space:nowrap; }
.detail-rebuilt .cta-condition-row dd [data-fact] { white-space:normal; }
.detail-rebuilt .detail-verdict { display:grid; gap:16px; padding:16px; border:1px solid #a8d9c3; border-radius:12px; background:#f5fbf8; }
.detail-rebuilt .detail-verdict h2 { display:flex; align-items:center; gap:8px; border:0; margin:0 0 8px; padding:0; color:var(--brand); }
.detail-rebuilt .verdict-answer { font-size:18px; font-weight:500; margin:0 0 8px; }
.detail-rebuilt .verdict-caution { font-size:14px; margin:0; }
.detail-rebuilt .verdict-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.detail-rebuilt .verdict-lists>div { min-width:0; border:1px solid #dceee3; border-radius:8px; background:white; }
.detail-rebuilt .verdict-lists>div:only-child { grid-column:1/-1; }
.detail-rebuilt .verdict-lists h3 { display:flex; align-items:center; gap:6px; background:#e9f7ef; color:var(--brand); padding:10px; margin:0; font-size:15px; font-weight:500; }
.detail-rebuilt .verdict-lists ul,.detail-rebuilt .verdict-lists ol { padding:12px; margin:0; list-style:none; font-size:14px; }
.detail-rebuilt .verdict-lists li { margin-bottom:10px; word-break:auto-phrase; overflow-wrap:normal; }
.detail-rebuilt .verdict-lists li:last-child { margin-bottom:0; }
.detail-rebuilt .verdict-suitable li { display:flex; align-items:start; gap:8px; }
.detail-rebuilt .verdict-suitable .line-icon { color:var(--brand); flex:0 0 20px; width:20px; height:20px; }
.detail-rebuilt .verdict-checks ol { counter-reset:checks; }
.detail-rebuilt .verdict-checks li { position:relative; padding-left:32px; counter-increment:checks; }
.detail-rebuilt .verdict-checks li::before { content:counter(checks); position:absolute; top:0; left:0; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--brand); color:white; font-size:14px; }
.detail-rebuilt .verdict-note { font-size:12px; margin:8px 0 12px; }
.detail-rebuilt .detail-voice-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-rebuilt .detail-voice-group { padding:10px; }
.detail-rebuilt .voice-group-heading { font-size:17px; }
.detail-rebuilt .voice-group-heading .voice-topic { font-size:12px; }
.detail-rebuilt .voices-note { font-size:12px; }
.detail-rebuilt .voice-entry { position:relative; min-width:0; }
.detail-rebuilt .voice-entry>span[id] { position:absolute; top:0; left:0; }
.detail-rebuilt .detail-voice-group .voice-card { display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:8px; align-items:start; padding:12px 8px; margin:8px 0; border:0; border-radius:8px; }
.detail-rebuilt .voice-card>.voice-icon { width:24px; height:24px; }
.detail-rebuilt .voice-card>.voice-topic { font-size:12px; font-weight:400; color:var(--brand); background:#e9f7ef; border-radius:6px; padding:4px 6px; word-break:keep-all; max-width:100%; }
.detail-rebuilt .detail-negative .voice-card>.voice-topic { color:#9a263b; background:#fff0f2; }
.detail-rebuilt .voice-bubble p { font-size:14px; word-break:auto-phrase; margin:0 0 6px; }
.detail-rebuilt .voice-meta { display:block; font-size:12px; line-height:1.6; }
.detail-rebuilt .voice-basis,.detail-rebuilt .voice-badge { font-size:12px; }
.detail-rebuilt .voice-badge { display:block; width:fit-content; margin-top:6px; }
.detail-rebuilt .caution-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; counter-reset:cautions; }
.detail-rebuilt .caution-card { min-width:0; overflow:hidden; border:1px solid #dceee3; border-radius:10px; background:#fff; }
.detail-rebuilt .caution-card h3 { display:flex; align-items:start; gap:8px; padding:12px; margin:0; font-size:15px; font-weight:500; counter-increment:cautions; word-break:auto-phrase; }
.detail-rebuilt .caution-card h3::before { content:counter(cautions); display:grid; flex:0 0 24px; place-items:center; width:24px; height:24px; background:var(--brand); color:white; border-radius:50%; font-size:14px; }
.detail-rebuilt .caution-card dl { margin:0; }
.detail-rebuilt .caution-card dl>div { border-top:1px solid #e5f0e9; padding:12px; }
.detail-rebuilt .caution-card dt { padding:5px 8px; margin:0 0 8px; background:#edf8f2; color:var(--brand); font-size:14px; font-weight:400; white-space:nowrap; }
.detail-rebuilt .caution-card dd { margin:0; font-size:14px; word-break:auto-phrase; }
.detail-rebuilt .caution-card[data-caution="pressure"][data-caution-metric="count"] dl>div:nth-child(2) dd>.detail-text { white-space:nowrap; }
.detail-rebuilt .caution-card dd p { margin:0; }
.detail-rebuilt .caution-ai-note { display:block; margin-top:6px; font-size:12px; }
/* 文と矢印を1つの行に置き、下線を途切れさせない。押せる高さは44pxを保つ。 */
.detail-rebuilt .caution-card .voice-topic-link { display:block; padding:12px; min-height:44px; line-height:20px; border-top:1px solid #e5f0e9; font-size:14px; }
.cooling-off-note [data-fact],.article-official [data-fact],.detail-rebuilt #conditions[data-official-additions-only="true"] [data-fact] { white-space:normal; }
.cooling-off-note a,.article-official a,.detail-rebuilt #conditions[data-official-additions-only="true"] a { display:inline-flex; align-items:center; min-height:44px; }
.detail-rebuilt .trust-years>summary { min-height:44px; font-size:14px; }
.detail-rebuilt .detail-mobile-vote #vote { margin:0 0 12px; }
@media(max-width:599px) {
 .detail-rebuilt .verdict-lists { grid-template-columns:minmax(0,1fr); }
 .detail-rebuilt .detail-voice-groups { grid-template-columns:minmax(0,1fr); }
 .detail-rebuilt .detail-voice-group .voice-card { grid-template-columns:24px minmax(0,1fr) auto; }
 .detail-rebuilt .voice-card>.voice-topic { grid-column:3; max-width:104px; word-break:auto-phrase; }
 .detail-rebuilt .verdict-answer { font-size:16px; }
}
@media(min-width:600px) {
 .detail-rebuilt .voice-card>.voice-topic { grid-column:2; grid-row:2; justify-self:end; }
 .detail-rebuilt .detail-voice-group .voice-card { grid-template-columns:24px minmax(0,1fr); }
}
@media(min-width:1024px) {
 .detail-rebuilt { --page-width:1180px; }
 .detail-rebuilt .page-layout,.detail-rebuilt .detail-hero-inner,.detail-rebuilt .jump-nav>div { max-width:1180px; }
 .detail-rebuilt .row-table .row-meta,.detail-rebuilt .row-table .row-meta .sampling-note { white-space:normal; word-break:auto-phrase; }
 .detail-rebuilt .voice-primary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .detail-rebuilt .voice-primary .voice-card { margin:0; height:100%; }
 .detail-rebuilt .detail-verdict { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); align-items:start; }
 .detail-rebuilt .page-layout main { display:grid; max-width:none; margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; align-items:start; }
 .detail-rebuilt .row-table.condition-comparison thead th:first-child { width:35%; }
 .detail-rebuilt .row-table.condition-comparison thead th:nth-child(n+2):not(.row-arrow) { width:calc(65% / 3); }
 .detail-rebuilt main>* { grid-column:1/-1; }
 .detail-rebuilt main>.detail-short-column { grid-column:auto; }
 .detail-rebuilt main>.detail-mobile-vote { margin:24px 0; }
 .detail-rebuilt .caution-cards { grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
 .detail-rebuilt .caution-card h3 { font-size:14px; padding:10px 8px; }
 .detail-rebuilt .caution-card:only-child { grid-column:span 2; }
 .detail-rebuilt .detail-mobile-vote [data-ugc-question=comparison] .ugc-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .detail-rebuilt .detail-mobile-vote [data-ugc-question=comparison] .ugc-choice-button { min-height:60px; flex-direction:row; padding:8px; font-size:14px; }
 .detail-rebuilt .detail-mobile-vote [data-ugc-question=comparison] .ugc-choice-button br { display:none; }
}
