/* 比較表マップ：表示側（build.py で生成。テーマより優先させるため全セレクタに :root:not(#cpcm) を付与） */
/* 比較表マップ：表示側 */
:root:not(#cpcm) .cpcm{
  --cp-main:#1b2a4a;--cp-accent:#a8842c;--cp-price:#c8102e;--cp-cta:#c8102e;
  --cp-line:#c9cdd3;--cp-line2:#e1e4e8;--cp-text:#1f2937;--cp-sub:#6b7280;--cp-bg2:#f6f7f9;
  --cp-soft:color-mix(in srgb,var(--cp-main) 5%,#fff);
  --cp-num:Georgia,"Times New Roman",serif;
  color:var(--cp-text);line-height:1.6;font-size:15px;margin:1.5em 0;container-type:inline-size;
}
:root:not(#cpcm) .cpcm *,:root:not(#cpcm) .cpcm *::before,:root:not(#cpcm) .cpcm *::after{box-sizing:border-box}
:root:not(#cpcm) .cpcm p,:root:not(#cpcm) .cpcm ul,:root:not(#cpcm) .cpcm dl,:root:not(#cpcm) .cpcm dd{margin:0;padding:0}
:root:not(#cpcm) .cpcm ul{list-style:none}
:root:not(#cpcm) .cpcm li::before,:root:not(#cpcm) .cpcm li::after{content:none!important}
:root:not(#cpcm) .cpcm img{display:block;max-width:none;height:auto;border-radius:0;box-shadow:none;margin:0}
:root:not(#cpcm) .cpcm a{box-shadow:none}
:root:not(#cpcm) .cpcm button{appearance:none;-webkit-appearance:none;font:inherit;font-size:13px;line-height:1.5;margin:0;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;width:auto;cursor:pointer;background:#fff;color:var(--cp-text);border:1px solid var(--cp-line);padding:5px 12px}
:root:not(#cpcm) .cpcm button:focus-visible,:root:not(#cpcm) .cpcm .cpcm-sum:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}
:root:not(#cpcm) .cpcm [hidden]{display:none!important}
:root:not(#cpcm) .cpcm-notice{border:1px dashed #d63638;padding:8px 12px;color:#d63638;font-size:13px}

/* ---------- ツールバー ---------- */
:root:not(#cpcm) .cpcm-bar{display:grid;gap:8px;margin-bottom:12px}
:root:not(#cpcm) .cpcm-row{display:flex;gap:8px;align-items:center;min-width:0}
:root:not(#cpcm) .cpcm-row-l{font-size:12px;color:var(--cp-sub);white-space:nowrap;min-width:64px}
:root:not(#cpcm) .cpcm-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px;min-width:0}
:root:not(#cpcm) .cpcm .cpcm-chips button{white-space:nowrap;flex:none}
:root:not(#cpcm) .cpcm .cpcm-chips button.is-on{background:var(--cp-main);border-color:var(--cp-main);color:#fff}
:root:not(#cpcm) .cpcm-view{display:flex;flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
:root:not(#cpcm) .cpcm .cpcm-view button{white-space:nowrap;flex:none}
:root:not(#cpcm) .cpcm .cpcm-view button{margin-left:-1px}
:root:not(#cpcm) .cpcm .cpcm-view button.is-on{background:var(--cp-text);border-color:var(--cp-text);color:#fff}
:root:not(#cpcm) .cpcm-formula{font-size:12px;color:var(--cp-sub);background:#fff;border:1px solid var(--cp-line2);border-left:3px solid var(--cp-main);padding:6px 10px}

/* ---------- カード共通 ---------- */
:root:not(#cpcm) .cpcm-item{border:1px solid var(--cp-line);background:#fff;scroll-margin-top:80px;min-width:0;max-width:100%}
:root:not(#cpcm) .cpcm-sum{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:4px solid var(--cp-main);border-bottom:1px solid var(--cp-line);background:#fff}
:root:not(#cpcm) .cpcm-rank{flex:none;min-width:40px;height:40px;background:var(--cp-main);color:#fff;display:grid;place-items:center;line-height:1;font-family:var(--cp-num);padding:0 4px}
:root:not(#cpcm) .cpcm-rank b{font-size:19px}
:root:not(#cpcm) .cpcm-rank small{font-size:10px;font-family:sans-serif}
:root:not(#cpcm) .cpcm-thumb{flex:none;width:64px;height:48px;object-fit:cover;display:block;background:var(--cp-bg2)}
:root:not(#cpcm) .cpcm-nm{flex:1 1 auto;min-width:7em;display:flex;flex-direction:column}
:root:not(#cpcm) .cpcm-name{font-weight:800;font-size:16px;line-height:1.35;letter-spacing:.02em}
:root:not(#cpcm) .cpcm-corp{font-size:11px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-catch-s{font-size:12px;color:var(--cp-sub);line-height:1.4}
:root:not(#cpcm) .cpcm-sum-price{text-align:right;flex:0 1 auto;max-width:40%;min-width:0}
:root:not(#cpcm) .cpcm-sum-price b{white-space:nowrap}
:root:not(#cpcm) .cpcm-sum-price .cpcm-sum-text{white-space:normal;font-size:13px;font-family:inherit;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:root:not(#cpcm) .cpcm-sum-price small{display:block;font-size:10px;color:var(--cp-sub);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root:not(#cpcm) .cpcm-sum-price b{font-size:19px;color:var(--cp-price);font-family:var(--cp-num)}
:root:not(#cpcm) .cpcm-total{flex:none;text-align:right;white-space:nowrap}
:root:not(#cpcm) .cpcm-total small{display:block;font-size:10px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-total b{font-size:24px;color:var(--cp-main);font-family:var(--cp-num);line-height:1}
:root:not(#cpcm) .cpcm-total span{font-size:12px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-chev{flex:none;width:24px;height:24px;border:1px solid var(--cp-line);position:relative}
:root:not(#cpcm) .cpcm-chev::after{content:"";position:absolute;left:7px;top:5px;width:8px;height:8px;border-right:2px solid var(--cp-main);border-bottom:2px solid var(--cp-main);transform:rotate(45deg);transition:transform .2s}
:root:not(#cpcm) .cpcm-item.is-open .cpcm-chev::after{transform:translateY(4px) rotate(-135deg)}
:root:not(#cpcm) .is-ranked .cpcm-item:first-child{border-color:var(--cp-accent)}
:root:not(#cpcm) .is-ranked .cpcm-item:first-child .cpcm-sum{border-top-color:var(--cp-accent);background:color-mix(in srgb,var(--cp-accent) 7%,#fff)}
:root:not(#cpcm) .is-ranked .cpcm-item:first-child .cpcm-rank{background:var(--cp-accent)}

:root:not(#cpcm) .cpcm-bd{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;padding:14px}
:root:not(#cpcm) .cpcm-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--cp-bg2)}
:root:not(#cpcm) .cpcm-noimg{background:linear-gradient(135deg,var(--cp-bg2),var(--cp-line2))}
:root:not(#cpcm) .cpcm-catch{font-weight:700;font-size:15px;margin:0 0 6px}
:root:not(#cpcm) .cpcm-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
:root:not(#cpcm) .cpcm-tags li{font-size:11px;border:1px solid #9aa3b2;color:var(--cp-main);background:var(--cp-bg2);padding:1px 6px;margin:0}
:root:not(#cpcm) .cpcm-price{border:1px solid color-mix(in srgb,var(--cp-price) 40%,#fff);border-left:4px solid var(--cp-price);padding:10px 12px;background:#fff}
:root:not(#cpcm) .cpcm-p-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
:root:not(#cpcm) .cpcm-p-pre{font-weight:700;font-size:14px;line-height:1.4}
:root:not(#cpcm) .cpcm-p-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:4px}
:root:not(#cpcm) .cpcm-p-post{font-size:12px;color:var(--cp-sub);margin:2px 0 0;line-height:1.5}
:root:not(#cpcm) .cpcm-p-text{font-size:15px;font-weight:700;color:var(--cp-price);line-height:1.5}
:root:not(#cpcm) .cpcm-p-lbl{font-size:12px;font-weight:700;background:var(--cp-price);color:#fff;padding:1px 6px}
:root:not(#cpcm) .cpcm-p-val{font-size:28px;font-weight:800;color:var(--cp-price);line-height:1.1;font-family:var(--cp-num);white-space:nowrap}
:root:not(#cpcm) .cpcm-p-val small{font-size:13px;font-family:sans-serif}
:root:not(#cpcm) .cpcm-p-val .cpcm-na{font-size:16px;font-family:sans-serif}
:root:not(#cpcm) .cpcm-p-tax{font-size:11px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-p-sub{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;margin-top:6px}
:root:not(#cpcm) .cpcm-p-sub .cpcm-num{font-size:15px}
:root:not(#cpcm) .cpcm-p-sub .cpcm-post,:root:not(#cpcm) .cpcm-post{font-size:11px;color:var(--cp-sub);margin-left:4px}
:root:not(#cpcm) .cpcm-camp{margin-top:8px;font-size:12px;background:#fff7ed;border-left:3px solid var(--cp-accent);padding:4px 8px}
:root:not(#cpcm) .cpcm-camp b{margin-right:10px}
:root:not(#cpcm) .cpcm-p-date{font-size:10px;color:var(--cp-sub);margin-top:4px;text-align:right}
:root:not(#cpcm) .cpcm-na{color:var(--cp-sub);font-weight:400}

:root:not(#cpcm) .cpcm-ft{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 14px 14px}
:root:not(#cpcm) .cpcm-scores{display:grid;gap:5px;align-content:start}
:root:not(#cpcm) .cpcm-sc{display:grid;grid-template-columns:96px 1fr 30px;gap:8px;align-items:center;font-size:12px}
:root:not(#cpcm) .cpcm-sc i{height:6px;background:var(--cp-line2);overflow:hidden;display:block}
:root:not(#cpcm) .cpcm-sc i::after{content:"";display:block;height:100%;width:var(--w);background:var(--cp-main)}
:root:not(#cpcm) .cpcm-sc b{text-align:right}
:root:not(#cpcm) .cpcm-store{font-size:12px;background:var(--cp-bg2);border:1px solid var(--cp-line2);padding:10px 12px}
:root:not(#cpcm) .cpcm-st-hd{display:flex;justify-content:space-between;gap:8px;font-weight:700;margin-bottom:6px;font-size:13px}
:root:not(#cpcm) .cpcm-st-hd span+span{font-weight:400;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-store dl{display:grid;grid-template-columns:auto 1fr;gap:3px 8px}
:root:not(#cpcm) .cpcm-store dt{color:var(--cp-sub);white-space:nowrap}
:root:not(#cpcm) .cpcm-store dd{font-weight:600}
:root:not(#cpcm) .cpcm-locate{display:inline-block;margin-top:4px;color:var(--cp-main);font-size:12px}
:root:not(#cpcm) .cpcm-st-more,:root:not(#cpcm) .cpcm-st-none{color:var(--cp-sub);margin-top:4px}
:root:not(#cpcm) .cpcm .cpcm-cta{display:block;margin:0 14px 14px;background:var(--cp-cta);color:#fff;text-align:center;text-decoration:none;font-weight:800;padding:12px;font-size:15px;letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--cp-cta) 75%,#000)}
:root:not(#cpcm) .cpcm .cpcm-cta:hover{filter:brightness(1.08);color:#fff}
:root:not(#cpcm) .cpcm .cpcm-cta.is-off{background:#d1d5db;border-color:#d1d5db;color:#6b7280}

/* ---------- スライド ---------- */
:root:not(#cpcm) .cpcm-slide-ui,:root:not(#cpcm) .cpcm-arw,:root:not(#cpcm) .cpcm-dots,:root:not(#cpcm) .cpcm-more,:root:not(#cpcm) .cpcm-table-wrap{display:none}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-slide-ui{display:block}
:root:not(#cpcm) .cpcm-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:700;color:var(--cp-main);border:1px solid var(--cp-line);padding:6px;margin-bottom:8px}
:root:not(#cpcm) .cpcm-hint span{display:inline-block;animation:cpcm-sw 1.4s ease-in-out infinite}
@keyframes cpcm-sw{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
:root:not(#cpcm) .cpcm-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px;scrollbar-width:thin}
:root:not(#cpcm) .cpcm .cpcm-nav button{flex:none;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12px;white-space:nowrap}
:root:not(#cpcm) .cpcm-nav img,:root:not(#cpcm) .cpcm-nav .cpcm-noimg{width:34px;height:26px;object-fit:cover;display:block}
:root:not(#cpcm) .cpcm .cpcm-nav button.is-on{border-color:var(--cp-main);box-shadow:inset 0 -3px 0 var(--cp-main);font-weight:700}
:root:not(#cpcm) .cpcm-stage{position:relative}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-items{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;align-items:stretch}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-items::-webkit-scrollbar{display:none}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-item{flex:0 0 min(86%,420px);scroll-snap-align:start;display:flex;flex-direction:column}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-body{flex:1;display:flex;flex-direction:column}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-ft{flex:1}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-thumb,:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-sum-price,:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-catch-s,:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-chev{display:none}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-sum{cursor:default}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-name{font-size:15px}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-bd{grid-template-columns:1fr;gap:10px}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-img{aspect-ratio:16/9}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-ft{grid-template-columns:1fr;align-content:start}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-arw{display:block}
:root:not(#cpcm) .cpcm .cpcm-arw{position:absolute;top:45%;z-index:3;width:40px;height:40px;padding:0;border:0;background:var(--cp-main);color:#fff;font-size:22px;line-height:40px;text-align:center;opacity:.92}
:root:not(#cpcm) .cpcm .cpcm-arw:disabled{opacity:.15;cursor:default}
:root:not(#cpcm) .cpcm .cpcm-prev{left:-8px}:root:not(#cpcm) .cpcm .cpcm-next{right:-8px}
:root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-dots i{width:8px;height:8px;background:var(--cp-line2);display:inline-block}
:root:not(#cpcm) .cpcm-dots i.is-on{background:var(--cp-main);width:20px}

/* ---------- アコーディオン ---------- */
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-items{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-corp{display:none}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum{cursor:pointer;border-top-width:1px;border-bottom:0}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item.is-open .cpcm-sum,:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item:first-child .cpcm-sum{border-bottom:1px solid var(--cp-line)}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-body{display:none}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item.is-open .cpcm-body,:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item:first-child .cpcm-body{display:block}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item:first-child .cpcm-sum{cursor:default;border-top-width:4px}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item:first-child .cpcm-chev{visibility:hidden}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-item.is-hidden{display:none}
:root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-more:not([hidden]){display:block;width:100%;margin-top:8px;border:1px dashed var(--cp-main);color:var(--cp-main);padding:8px}

/* ---------- 表 ---------- */
:root:not(#cpcm) .cpcm[data-view="table"] .cpcm-stage{display:none}
:root:not(#cpcm) .cpcm[data-view="table"] .cpcm-table-wrap{display:block;overflow-x:auto;border:1px solid var(--cp-line)}
:root:not(#cpcm) .cpcm-table{border-collapse:separate;border-spacing:0;min-width:760px;width:100%;font-size:13px;margin:0;border:0}
:root:not(#cpcm) .cpcm-table th{font-size:13px;text-align:center;background:var(--cp-main);color:#fff;font-weight:600;padding:8px;white-space:nowrap;border:0;text-align:center}
:root:not(#cpcm) .cpcm-table td{white-space:nowrap;padding:10px 8px;border:0;border-bottom:1px solid var(--cp-line2);text-align:center;background:#fff;vertical-align:middle}
:root:not(#cpcm) .cpcm-table th:first-child,:root:not(#cpcm) .cpcm-table td:first-child{position:sticky;left:0;z-index:2;text-align:left}
:root:not(#cpcm) .cpcm-table td:first-child{white-space:normal;width:auto;min-width:180px;color:var(--cp-text);box-shadow:2px 0 0 var(--cp-line2)}
:root:not(#cpcm) .cpcm-t-name{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center}
:root:not(#cpcm) .cpcm-t-name img,:root:not(#cpcm) .cpcm-t-name .cpcm-noimg{width:52px;height:40px;object-fit:cover;display:block}
:root:not(#cpcm) .cpcm-t-name small{display:block;color:var(--cp-sub);font-size:11px;line-height:1.4}
:root:not(#cpcm) .cpcm-t-rank{color:var(--cp-main)}
:root:not(#cpcm) .cpcm-t-total{font-size:18px;color:var(--cp-main);font-family:var(--cp-num)}
:root:not(#cpcm) .cpcm-t-price{font-size:17px;font-weight:800;color:var(--cp-price);white-space:nowrap;font-family:var(--cp-num)}
:root:not(#cpcm) .cpcm-t-num{font-weight:700;white-space:nowrap}
:root:not(#cpcm) .cpcm-table td.cpcm-t-pricecell{white-space:normal;min-width:120px;max-width:220px}
:root:not(#cpcm) .cpcm-t-sub{display:block;font-size:11px;color:var(--cp-sub);line-height:1.45;margin-top:2px}
:root:not(#cpcm) .cpcm-t-text{font-size:12px;line-height:1.5;display:block;min-width:140px}
:root:not(#cpcm) .cpcm-t-area{white-space:normal!important;font-size:12px;text-align:left!important;min-width:150px}
:root:not(#cpcm) .cpcm .cpcm-t-btn{display:inline-block;background:var(--cp-cta);color:#fff;text-decoration:none;font-weight:700;font-size:12px;padding:7px 10px;white-space:nowrap}
:root:not(#cpcm) .cpcm .cpcm-t-btn:hover{color:#fff;filter:brightness(1.08)}
:root:not(#cpcm) .cpcm .cpcm-t-btn.is-off{background:#d1d5db;color:#6b7280}

:root:not(#cpcm) .cpcm-flash{outline:3px solid var(--cp-accent);outline-offset:2px}

/* ---------- スマホ ---------- */
@container (max-width:700px){
  :root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-arw{display:none}
}
@container (max-width:600px){
  :root:not(#cpcm) .cpcm-bd{grid-template-columns:110px minmax(0,1fr);gap:10px;padding:12px}
  :root:not(#cpcm) .cpcm-bd>.cpcm-info{display:contents}
  :root:not(#cpcm) .cpcm-bd .cpcm-img{grid-row:1/3;align-self:start}
  :root:not(#cpcm) .cpcm-bd .cpcm-catch{grid-column:2;font-size:14px}
  :root:not(#cpcm) .cpcm-bd .cpcm-tags{grid-column:2;margin:0;align-self:start}
  :root:not(#cpcm) .cpcm-bd .cpcm-price{grid-column:1/3}
  :root:not(#cpcm) .cpcm[data-view="slide"] .cpcm-bd>.cpcm-info{display:block}
  :root:not(#cpcm) .cpcm-ft{grid-template-columns:1fr;padding:0 12px 12px}
  :root:not(#cpcm) .cpcm-p-val{font-size:24px}
  :root:not(#cpcm) .cpcm-name{font-size:15px}
  :root:not(#cpcm) .cpcm .cpcm-cta{margin:0 12px 12px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum{display:grid;grid-template-columns:34px 54px minmax(0,1fr) 24px;gap:6px 8px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-thumb{width:54px;height:42px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-rank{min-width:0;width:34px;height:34px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum-price{grid-column:1/-1;grid-row:2;justify-self:start;text-align:left;display:flex;gap:6px;align-items:baseline;max-width:calc(100% - 120px)}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum-price small{min-width:0;flex:0 1 auto}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum-price small{display:inline}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-total{grid-column:1/-1;grid-row:2;justify-self:end}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-total small{display:inline;margin-right:4px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-total b{font-size:18px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-chev{grid-column:4;grid-row:1}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum:not(:has(.cpcm-rank)){grid-template-columns:54px minmax(0,1fr) 24px}
  :root:not(#cpcm) .cpcm[data-view="acc"] .cpcm-sum:not(:has(.cpcm-rank)) .cpcm-chev{grid-column:3}
}

/* ---------- 地図 ---------- */
:root:not(#cpcm) .cpcm-m-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:10px}
:root:not(#cpcm) .cpcm-m-title{font-weight:800;font-size:17px;border-left:4px solid var(--cp-main);padding-left:10px;line-height:1.4}
:root:not(#cpcm) .cpcm-m-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px}
:root:not(#cpcm) .cpcm-m-canvas{height:var(--cp-map-h,460px);background:#e5e7eb;position:relative}
:root:not(#cpcm) .cpcm-m-gmap{position:absolute;inset:0}
:root:not(#cpcm) .cpcm-m-canvas iframe{width:100%;height:100%;border:0;display:block}
:root:not(#cpcm) .cpcm-m-list{max-height:var(--cp-map-h,460px);overflow:auto;display:grid;gap:8px;align-content:start}
:root:not(#cpcm) .cpcm-m-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;border:1px solid var(--cp-line);padding:8px;cursor:pointer;background:#fff;font-size:12px;line-height:1.5}
:root:not(#cpcm) .cpcm-m-item.is-on{border-color:var(--cp-main);box-shadow:inset 3px 0 0 var(--cp-main);background:var(--cp-soft)}
:root:not(#cpcm) .cpcm-m-left{display:grid;gap:5px;align-content:start}
:root:not(#cpcm) .cpcm-m-left img,:root:not(#cpcm) .cpcm-m-left .cpcm-noimg{width:64px;height:64px;object-fit:cover;display:block}
:root:not(#cpcm) .cpcm-m-item b{font-size:13px;display:block;line-height:1.35}
:root:not(#cpcm) .cpcm-m-item .cpcm-ma{color:var(--cp-sub);display:block}
:root:not(#cpcm) .cpcm-m-item .cpcm-mp{color:var(--cp-price);font-weight:800;font-size:13px;display:block}
:root:not(#cpcm) .cpcm .cpcm-m-link{display:block;font-size:11px;font-weight:700;text-align:center;background:var(--cp-main);color:#fff;text-decoration:none;padding:4px 0;line-height:1.3;letter-spacing:.03em}
:root:not(#cpcm) .cpcm .cpcm-m-link:hover{color:#fff;filter:brightness(1.25)}
:root:not(#cpcm) .cpcm-m-msg{position:absolute;inset:auto 8px 8px 8px;font-size:11px;background:rgba(255,255,255,.92);padding:4px 8px;color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-pin{width:28px;height:28px;background:var(--cp-main);border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.3);display:grid;place-items:center;position:relative;color:#fff;font-weight:800;font-size:13px;font-family:Georgia,serif}
:root:not(#cpcm) .cpcm-pin::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--cp-main)}
:root:not(#cpcm) .cpcm-pin.is-top{background:var(--cp-accent)}
:root:not(#cpcm) .cpcm-pin.is-top::after{border-top-color:var(--cp-accent)}
:root:not(#cpcm) .cpcm-pop{font-size:12px;width:220px;line-height:1.6;color:#1f2937}
:root:not(#cpcm) .cpcm-pop img{width:100%;height:90px;object-fit:cover;display:block}
:root:not(#cpcm) .cpcm-pop b{display:block;font-size:14px;margin-top:4px}
:root:not(#cpcm) .cpcm-pop .cpcm-mp{color:var(--cp-price,#c8102e);font-weight:800}
:root:not(#cpcm) .cpcm-pop a{display:block;text-align:center;text-decoration:none;font-weight:700;padding:5px;margin-top:6px;color:#fff}
:root:not(#cpcm) .cpcm-pop .cpcm-pop-d{background:var(--cp-main,#1b2a4a)}
:root:not(#cpcm) .cpcm-pop .cpcm-pop-o{background:var(--cp-cta,#c8102e)}
@container (max-width:680px){
  :root:not(#cpcm) .cpcm-m-grid{grid-template-columns:1fr}
  :root:not(#cpcm) .cpcm-m-canvas{height:min(var(--cp-map-h,460px),340px)}
  :root:not(#cpcm) .cpcm-m-list{max-height:none;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto}
}

/* ---------- 詳細ブロック [cp_spec] ---------- */
:root:not(#cpcm) .cpcm-sp{border:1px solid var(--cp-line);background:#fff;font-size:14px}
:root:not(#cpcm) .cpcm-sp-lead{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-top:4px solid var(--cp-main);border-bottom:1px solid var(--cp-line);background:var(--cp-soft)}
:root:not(#cpcm) .cpcm-sp-lead i{flex:none;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--cp-main);padding:2px 6px;margin-top:3px;line-height:1.5}
:root:not(#cpcm) .cpcm-sp-lead p{margin:0;font-weight:700;line-height:1.6;font-size:15px}
:root:not(#cpcm) .cpcm-sp-lead p b{color:var(--cp-price)}
:root:not(#cpcm) .cpcm-sp-tabs{display:flex;border-bottom:1px solid var(--cp-line)}
:root:not(#cpcm) .cpcm .cpcm-sp-tabs button{flex:1 1 0;min-width:0;border:0;border-right:1px solid var(--cp-line2);background:var(--cp-bg2);padding:10px 4px;font-size:13px;color:var(--cp-sub);line-height:1.4}
:root:not(#cpcm) .cpcm .cpcm-sp-tabs button:last-child{border-right:0}
:root:not(#cpcm) .cpcm .cpcm-sp-tabs button.is-on{background:#fff;color:var(--cp-text);font-weight:800;box-shadow:inset 0 3px 0 var(--cp-main)}
:root:not(#cpcm) .cpcm-sp-pane{display:none;padding:14px}
:root:not(#cpcm) .cpcm-sp-pane.is-on{display:block}
:root:not(#cpcm) .cpcm-sp-sec{padding:0 14px 14px}
:root:not(#cpcm) .cpcm-sp-sec:first-of-type{padding-top:14px}
:root:not(#cpcm) .cpcm-sp-hero{display:flex;flex-wrap:wrap;border:1px solid var(--cp-line2);margin-bottom:12px}
:root:not(#cpcm) .cpcm-sp-hero>div{flex:1 1 140px;padding:10px 12px;border-right:1px solid var(--cp-line2);border-bottom:1px solid var(--cp-line2);margin-bottom:-1px;min-width:0}
:root:not(#cpcm) .cpcm-sp-hero>div:last-child{border-right:0}
:root:not(#cpcm) .cpcm-sp-hero small{display:block;font-size:11px;color:var(--cp-sub);line-height:1.5}
:root:not(#cpcm) .cpcm-sp-hero em{font-style:normal;font-size:11px;color:var(--cp-sub);margin-left:4px}
:root:not(#cpcm) .cpcm-sp-hero .cpcm-num{font-size:24px}
:root:not(#cpcm) .cpcm-num{font-family:var(--cp-num);font-weight:800}
:root:not(#cpcm) .cpcm-yen{color:var(--cp-price)}
:root:not(#cpcm) .cpcm-sp-txt{font-size:14px}
:root:not(#cpcm) table.cpcm-sp-list{width:100%;min-width:0;border-collapse:collapse;font-size:13px;margin:0;border:0;table-layout:auto}
:root:not(#cpcm) .cpcm-sp-list th,:root:not(#cpcm) .cpcm-sp-list td{border:0;border-bottom:1px solid var(--cp-line2);padding:9px 6px;text-align:left;vertical-align:top;background:#fff;color:var(--cp-text);width:auto}
:root:not(#cpcm) .cpcm-sp-list th{width:40%;font-weight:600;color:var(--cp-sub);font-size:12px}
:root:not(#cpcm) .cpcm-sp-list th small{display:block;font-weight:400;font-size:11px}
:root:not(#cpcm) .cpcm-sp-list td small{display:block;font-size:11px;color:var(--cp-sub);line-height:1.5;margin-top:2px}
:root:not(#cpcm) .cpcm-sp-list td .cpcm-num{font-size:15px}
:root:not(#cpcm) .cpcm-sp-date{font-size:11px;color:var(--cp-sub);margin:6px 0 0;text-align:right}
:root:not(#cpcm) .cpcm-mark{display:inline-grid;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;margin-right:6px;vertical-align:-3px;line-height:1}
:root:not(#cpcm) .cpcm-mark.is-o{background:#0f766e;color:#fff}
:root:not(#cpcm) .cpcm-mark.is-t{background:#fff;border:1px solid var(--cp-accent);color:var(--cp-accent)}
:root:not(#cpcm) .cpcm-mark.is-x{background:#e5e7eb;color:#6b7280}
:root:not(#cpcm) .cpcm-sp-h{font-size:13px;font-weight:800;margin:0 0 8px;display:flex;align-items:center;gap:8px}
:root:not(#cpcm) .cpcm-sp-h::before{content:"";width:3px;height:14px;background:var(--cp-main)}
:root:not(#cpcm) .cpcm-sp-h small{font-weight:400;color:var(--cp-sub);font-size:11px;margin-left:auto}
:root:not(#cpcm) .cpcm-sp-area{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
:root:not(#cpcm) .cpcm-sp-area div{border:1px solid var(--cp-line2);padding:8px 10px;font-size:13px;display:flex;justify-content:space-between;gap:6px}
:root:not(#cpcm) .cpcm-sp-area b{font-family:var(--cp-num);white-space:nowrap}
:root:not(#cpcm) .cpcm-sp-pros{display:grid;grid-template-columns:1fr 1fr;gap:10px}
:root:not(#cpcm) .cpcm-sp-pros>div{border:1px solid var(--cp-line2);padding:10px 12px}
:root:not(#cpcm) .cpcm-sp-pros p{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.05em}
:root:not(#cpcm) .cpcm-sp-pros .is-good p{color:#0f766e}
:root:not(#cpcm) .cpcm-sp-pros .is-bad p{color:var(--cp-sub)}
:root:not(#cpcm) .cpcm-sp-pros ul{list-style:disc;margin:0;padding:0 0 0 1.2em;font-size:13px}
:root:not(#cpcm) .cpcm-sp-pros li{margin:2px 0;padding:0;list-style:disc}
:root:not(#cpcm) .cpcm-spec .cpcm-cta{margin:0}
@container (max-width:600px){
  :root:not(#cpcm) .cpcm-sp-pros{grid-template-columns:1fr}
  :root:not(#cpcm) .cpcm-sp-lead p{font-size:14px}
}
