/* gamingpcs.jp セールページ用CSS（.gpc-sale 配下にスコープ済み＝賢威の .entry-content 系に勝つ特異度） */
/* 比較表：1列目（モデル名）が潰れないように最小幅を確保 */
.gpc-sale .gp-table th[scope="row"]{
  min-width: 150px;
  white-space: nowrap;
}
.gpc-sale .gp-table th[scope="row"] .mname{
  white-space: nowrap;
}
.gpc-sale .gp-table th[scope="row"] .maker{
  white-space: nowrap;
}
.gpc-sale.gpc-sale p{ margin-bottom: 8px !important; }
.gpc-sale {
  --ink:#15181F; --ink-soft:#4A515F; --mute:#828A98;
  --paper:#FBFCFD; --surface:#FFFFFF; --line:#E7E9EF; --line-soft:#F0F2F6;
  --indigo:#1F2A55; --indigo-soft:#EEF1FB;
  --emerald:#0C8A66; --emerald-soft:#E6F4EE;
  --amber:#C57A06; --amber-bg:#FBF1DC;
  --red:#BE3526; --red-soft:#FBEBE8;
  --orange:#F26F12; --slate:#3A4661;
  --num:"Roboto Condensed","Noto Sans JP",system-ui,sans-serif;
  --jp:"Noto Sans JP",system-ui,sans-serif;
  --shadow:0 1px 2px rgba(20,24,32,.05),0 8px 24px -12px rgba(20,24,32,.14);
}
.gpc-sale * {box-sizing:border-box}
.gpc-sale .gp {font-family:var(--jp); color:var(--ink); background:var(--paper); line-height:1.72;
  -webkit-font-smoothing:antialiased; max-width:1080px; margin:0 auto; padding:0 18px 64px}
.gpc-sale .gp :focus-visible {outline:3px solid var(--indigo); outline-offset:2px; border-radius:4px}
.gpc-sale /* masthead */
.gp-mast {padding:30px 0 8px}
.gpc-sale .gp-update {display:inline-flex; align-items:center; gap:8px; font-family:var(--num); font-weight:700; font-size:13px;
  color:#fff; background:var(--emerald); padding:7px 15px; border-radius:999px; letter-spacing:.02em}
.gpc-sale .gp-update::before {content:""; width:7px;height:7px;border-radius:50%; background:#fff; animation:gp-pulse 2.4s infinite}
@keyframes gp-pulse {
  0% { box-shadow:0 0 0 0 rgba(255,255,255,.6) }
  70% { box-shadow:0 0 0 7px rgba(255,255,255,0) }
  100% { box-shadow:0 0 0 0 rgba(255,255,255,0) }
}
.gpc-sale .gp-mast__title {font-size:clamp(26px,5.4vw,38px); font-weight:900; line-height:1.22; margin:15px 0 6px}
.gpc-sale .gp-mast__title b {color:var(--indigo)}
.gpc-sale .gp-mast__meta {font-size:13px; color:var(--mute); font-family:var(--num)}
.gpc-sale /* verdict */
.gp-verdict {position:relative; margin:22px 0 8px; padding:24px; background:var(--surface);
  border:1px solid var(--line); border-left:5px solid var(--indigo); border-radius:14px; box-shadow:var(--shadow)}
.gpc-sale .gp-verdict__tag {font-size:12px; font-weight:700; letter-spacing:.1em; color:var(--indigo)}
.gpc-sale .gp-verdict__lead {font-size:clamp(18px,3.3vw,22px); font-weight:700; line-height:1.55; margin:8px 0 14px}
.gpc-sale .gp-verdict__lead mark {background:linear-gradient(transparent 62%,#FCE7A8 62%); padding:0 1px}
.gpc-sale .gp-verdict__points {list-style:none; margin:0; padding:0; display:grid; gap:9px}
.gpc-sale .gp-verdict__points li {position:relative; padding-left:26px; font-size:14.5px; color:var(--ink-soft)}
.gpc-sale .gp-verdict__points li::before {content:""; position:absolute; left:4px; top:9px; width:9px;height:9px; border:2px solid var(--emerald); border-radius:50%}
.gpc-sale /* h2 */
.gp-h2 {display:flex; align-items:center; gap:12px; margin:46px 0 6px; font-size:22px; font-weight:900}
.gpc-sale .gp-h2 .n {font-family:var(--num); font-weight:700; font-size:15px; color:#fff; background:var(--indigo);
  width:30px;height:30px; border-radius:8px; display:grid; place-items:center; flex:none}
.gpc-sale .gp-h2 .tx {display:flex; flex-direction:column}
.gpc-sale .gp-h2 .tx small {font-size:12.5px; font-weight:500; color:var(--mute)}
.gpc-sale /* best buys */
.gp-picks {display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px}
.gpc-sale .gp-pick {background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px;
  box-shadow:var(--shadow); display:flex; flex-direction:column; position:relative; transition:transform .18s,box-shadow .18s}
.gpc-sale .gp-pick:hover {transform:translateY(-3px); box-shadow:0 14px 34px -16px rgba(20,24,32,.28)}
.gpc-sale .gp-pick--hero {border-color:#F3CBA6; background:linear-gradient(180deg,#FFF7EF,#fff 60%)}
.gpc-sale .gp-pick__tier {font-size:11.5px; font-weight:700; letter-spacing:.08em; color:var(--mute)}
.gpc-sale .gp-pick__price {font-family:var(--num); font-weight:700; font-size:25px; margin:2px 0; line-height:1.1}
.gpc-sale .gp-pick__price small {font-size:14px; font-weight:500}
.gpc-sale .gp-pick__name {font-size:13.5px; font-weight:700; line-height:1.4; margin:6px 0 10px; min-height:38px}
.gpc-sale .gp-pick__name span {display:block; font-size:11px; font-weight:500; color:var(--mute)}
.gpc-sale .gp-pick__spec {font-size:12px; color:var(--ink-soft); border-top:1px dashed var(--line); padding-top:9px; margin-top:auto}
.gpc-sale .gp-pick__spec b {color:var(--ink)}
.gpc-sale .gp-pick__stamp {position:absolute; top:-9px; right:12px; font-size:11px; font-weight:700; color:#fff;
  background:var(--orange); padding:4px 10px; border-radius:999px; box-shadow:0 4px 10px -3px rgba(242,111,18,.55)}
.gpc-sale .gp-pick__cta {display:grid; gap:8px; margin-top:12px}
.gpc-sale .gp-pick__cta a {text-align:center; font-size:13px; font-weight:700; padding:11px 10px; border-radius:999px; text-decoration:none; line-height:1.3}
.gpc-sale .gp-pick__cta .main {background:linear-gradient(180deg,#F89B3C,#F26F12); color:#fff; box-shadow:0 6px 14px -5px rgba(242,111,18,.55)}
.gpc-sale .gp-pick__cta .main:hover {filter:brightness(1.05)}
.gpc-sale .gp-pick__cta .sub {background:#fff; color:#2C6FD0; border:1.5px solid #BFD6F2}
.gpc-sale /* controls + table */
.gp-controls {display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin:18px 0 12px}
.gpc-sale .gp-chips {display:flex; flex-wrap:wrap; gap:7px}
.gpc-sale .gp-chip {font-size:13px; font-weight:700; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line);
  padding:7px 13px; border-radius:999px; cursor:pointer; transition:.15s; font-family:var(--jp)}
.gpc-sale .gp-chip:hover {border-color:var(--indigo); color:var(--indigo)}
.gpc-sale .gp-chip[aria-pressed="true"] {background:var(--indigo); border-color:var(--indigo); color:#fff}
.gpc-sale .gp-sort {margin-left:auto; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--mute)}
.gpc-sale .gp-sort select {font-family:var(--jp); font-size:13px; font-weight:700; color:var(--ink); border:1px solid var(--line);
  background:var(--surface); padding:7px 10px; border-radius:9px; cursor:pointer}
.gpc-sale .gp-tablewrap {overflow-x:auto; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); background:var(--surface)}
.gpc-sale table.gp-table {width:100%; min-width:700px; border-collapse:collapse; font-size:13.5px}
.gpc-sale .gp-table thead th {font-size:11.5px; font-weight:700; color:var(--mute); text-align:left; padding:12px; border-bottom:2px solid var(--line); background:#FAFBFD; white-space:nowrap}
.gpc-sale .gp-table tbody td, .gpc-sale .gp-table tbody th {padding:13px 12px; border-bottom:1px solid var(--line-soft); vertical-align:middle; text-align:left}
.gpc-sale .gp-table tbody tr:hover {background:#FAFBFE}
.gpc-sale .gp-table .maker {font-size:11px; font-weight:700; color:var(--indigo); display:block}
.gpc-sale .gp-table .mname {font-weight:700; font-size:13px; line-height:1.35; display:block}
.gpc-sale .gp-table .price {font-family:var(--num); font-weight:700; font-size:18px; white-space:nowrap}
.gpc-sale .gp-table .spec {font-family:var(--num); font-weight:500; white-space:nowrap}
.gpc-sale .gp-table .spec b {font-weight:700}
.gpc-sale tr.is-expired {opacity:.5}
.gpc-sale tr.is-expired .price, .gpc-sale tr.is-expired .mname {text-decoration:line-through; text-decoration-color:var(--mute)}
.gpc-sale .gp-meter {min-width:128px}
.gpc-sale .gp-meter__top {display:flex; align-items:baseline; gap:6px; margin-bottom:5px}
.gpc-sale .gp-meter__num {font-family:var(--num); font-weight:700; font-size:18px; line-height:1}
.gpc-sale .gp-meter__track {position:relative; height:7px; border-radius:4px; background:linear-gradient(90deg,#F4D9D4 0 22%,#FBEFD4 22% 60%,#DDF1E9 60% 100%)}
.gpc-sale .gp-meter__fill {position:absolute; top:0; left:0; height:100%; border-radius:4px}
.gpc-sale .gp-meter__pin {position:absolute; top:-3px; width:3px;height:13px; border-radius:2px; background:var(--ink); transform:translateX(-50%); box-shadow:0 0 0 2px #fff}
.gpc-sale .gp-table__foot {font-size:11.5px; color:var(--mute); padding:11px 14px}
.gpc-sale .gp-empty {padding:34px 16px; text-align:center; color:var(--mute)}
.gpc-sale /* shared state + verdict badges */
.st {font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:999px; white-space:nowrap}
.gpc-sale .st--live {color:var(--emerald); background:var(--emerald-soft)}
.gpc-sale .st--soon {color:var(--amber); background:var(--amber-bg)}
.gpc-sale .st--end {color:var(--red); background:var(--red-soft)}
.gpc-sale .vd {font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:5px}
.gpc-sale .v-buy {color:var(--emerald); background:var(--emerald-soft)}
.gpc-sale .v-mid {color:var(--amber); background:var(--amber-bg)}
.gpc-sale .v-low {color:var(--red); background:var(--red-soft)}
.gpc-sale .v-na {color:var(--mute); background:var(--line-soft)}
.gpc-sale /* shop nav */
.gp-shopnav {display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 8px}
.gpc-sale .gp-shopnav a {font-size:13px; font-weight:700; text-decoration:none; color:var(--ink-soft); border:1px solid var(--line);
  background:var(--surface); padding:8px 13px; border-radius:10px; display:inline-flex; gap:7px; align-items:center}
.gpc-sale .gp-shopnav a:hover {border-color:var(--indigo); color:var(--indigo)}
.gpc-sale .gp-shopnav .cnt {font-family:var(--num); font-size:11px; color:#fff; background:var(--indigo); border-radius:999px; padding:1px 7px}
.gpc-sale .gp-shopnav .cnt.end {background:var(--red)}
.gpc-sale .gp-shopnav .cnt.soon {background:var(--amber)}
.gpc-sale /* shop section */
.gp-shop {margin-top:30px; scroll-margin-top:14px}
.gpc-sale .gp-shop__head {display:flex; align-items:center; gap:11px; margin:0 0 6px; font-size:19px; font-weight:900}
.gpc-sale .gp-shop__head .badge {font-size:11px; font-weight:700; color:#fff; padding:4px 10px; border-radius:7px; background:var(--indigo)}
.gpc-sale .gp-shop__campaign {font-size:13px; color:var(--ink-soft); margin:0 0 16px; display:flex; align-items:center; gap:9px; flex-wrap:wrap}
.gpc-sale .gp-shop__campaign .period {font-family:var(--num); font-weight:700; color:var(--ink)}
.gpc-sale .gp-shop__campaign + .gp-shop__campaign {margin-top:-10px}
.gpc-sale /* ===== HYBRID CARD ===== */
.hy {background:#EDF1F6; border:1px solid #E1E6EE; border-radius:16px; padding:16px; margin-bottom:14px; position:relative; overflow:hidden}
.gpc-sale .hy.is-expired {filter:grayscale(.7); opacity:.58}
.gpc-sale .hy.is-expired::after {content:"終了"; position:absolute; top:14px; right:-26px; transform:rotate(34deg);
  background:var(--red); color:#fff; font-size:11px; font-weight:700; padding:4px 34px; letter-spacing:.1em}
.gpc-sale .hy__head {display:flex; align-items:center; gap:9px; margin:0 0 12px; flex-wrap:wrap}
.gpc-sale .hy__name {font-size:15px; font-weight:900}
.gpc-sale .hy__tier {font-size:11px; font-weight:700; color:#fff; padding:3px 11px; border-radius:999px}
.gpc-sale .hy__grid {display:grid; grid-template-columns:128px 1fr; gap:14px}
.gpc-sale .hy__media {display:flex; flex-direction:column; align-items:center; gap:8px}
.gpc-sale .hy__img {width:128px;height:128px; border-radius:10px; background:linear-gradient(135deg,#2a2f3a,#454c5b);
  display:grid; place-items:center; color:#aeb6c4; font-size:11px; position:relative; flex:none}
.gpc-sale .hy__ribbon {position:absolute; top:8px; left:8px; background:#E23B4E; color:#fff; font-size:11px; font-weight:700; padding:3px 12px; border-radius:6px}
.gpc-sale .hy__cospa {display:flex; align-items:center; background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 11px; white-space:nowrap}
.gpc-sale .hy__cospa .lbl {font-size:10px; color:var(--mute); font-weight:700}
.gpc-sale .hy__stars {position:relative; display:inline-block; font-size:12px; line-height:1; font-family:Arial,sans-serif}
.gpc-sale .hy__stars::before {content:"★★★★★"; color:#DDE2E9; letter-spacing:1px}
.gpc-sale .hy__stars i {position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; color:#F5A623; letter-spacing:1px}
.gpc-sale .hy__cospa .n {font-family:var(--num); font-weight:700; font-size:14px}
.gpc-sale .hy__body {min-width:0}
.gpc-sale .hy__bar {display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:9px}
.gpc-sale .hy__camp {display:flex; align-items:stretch; border-radius:8px; overflow:hidden; margin-bottom:11px; font-size:11.5px}
.gpc-sale .hy__camp .name {background:var(--slate); color:#fff; font-weight:700; padding:6px 11px}
.gpc-sale .hy__camp .per {background:#E6E9F0; color:var(--ink-soft); font-weight:700; padding:6px 11px; font-family:var(--num)}
.gpc-sale .hy__price {background:#fff; border-radius:9px; padding:10px 13px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:11px}
.gpc-sale .hy__price .badge {font-size:11px; font-weight:700; color:#5B6472; background:#E7ECF2; padding:2px 9px; border-radius:6px}
.gpc-sale .hy__price .big {font-family:var(--num); font-weight:700; font-size:26px}
.gpc-sale .hy__price .big s {color:var(--mute); font-size:15px; font-weight:400; margin-right:6px}
.gpc-sale .hy__price .off {font-size:11px; font-weight:700; color:#fff; background:var(--red); padding:2px 8px; border-radius:6px}
.gpc-sale .hy__price .sm {font-size:11px; color:var(--ink-soft)}
.gpc-sale .hy__price .ship {font-size:12px; color:var(--mute); white-space:nowrap}
.gpc-sale .hy__price .ship.free {color:var(--emerald); font-weight:700}
.gpc-sale .hy__spec {background:#fff; border-radius:9px; padding:4px 13px; margin-bottom:11px}
.gpc-sale .hy__specrow {display:grid; grid-template-columns:1fr 1fr; gap:0 16px}
.gpc-sale .hy__cell {display:flex; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid var(--line-soft); min-width:0}
.gpc-sale .hy__cell svg {width:18px;height:18px; color:#3B7DD8; flex:none}
.gpc-sale .hy__cell .k {font-size:11px; color:var(--mute); width:36px; flex:none}
.gpc-sale .hy__cell .v {font-size:12.5px; font-weight:700; font-family:var(--num); overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gpc-sale .hy__pnc {display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:11px}
.gpc-sale .hy__pro, .gpc-sale .hy__con {border-radius:9px; padding:9px 11px}
.gpc-sale .hy__pro {background:#E9F7EF}
.gpc-sale .hy__con {background:#FDEEF0}
.gpc-sale .hy__pnc h5 {margin:0 0 5px; font-size:11.5px; font-weight:700}
.gpc-sale .hy__pro h5 {color:var(--emerald)}
.gpc-sale .hy__con h5 {color:var(--red)}
.gpc-sale .hy__pnc ul {list-style:none; margin:0; padding:0; font-size:11.5px}
.gpc-sale .hy__pnc li {position:relative; padding-left:15px; margin-bottom:3px; line-height:1.5; color:var(--ink-soft)}
.gpc-sale .hy__pro li::before {content:"＋"; position:absolute; left:0; color:var(--emerald); font-weight:700}
.gpc-sale .hy__con li::before {content:"−"; position:absolute; left:1px; color:var(--red); font-weight:700}
.gpc-sale .hy__acc {background:#fff; border:1px solid var(--line); border-radius:9px; margin-bottom:13px}
.gpc-sale .hy__acc summary {list-style:none; cursor:pointer; font-size:12.5px; font-weight:700; color:var(--indigo); padding:11px 14px; display:flex; justify-content:space-between}
.gpc-sale .hy__acc summary::-webkit-details-marker {display:none}
.gpc-sale .hy__acc summary::after {content:"＋"; color:var(--mute)}
.gpc-sale .hy__acc[open] summary::after {content:"−"}
.gpc-sale .hy__acc .bd {padding:12px 14px 14px; display:flex; gap:11px; border-top:1px solid var(--line-soft)}
.gpc-sale .hy__acc .ic {width:34px;height:34px; border-radius:50%; background:var(--indigo); color:#fff; display:grid; place-items:center; font-size:12px; font-weight:700; flex:none}
.gpc-sale .hy__acc .tx {font-size:12px; color:var(--ink-soft); line-height:1.78}
.gpc-sale .hy__acc .by {display:block; font-size:11px; font-weight:700; color:var(--mute); margin-bottom:2px}
.gpc-sale .hy__cta {display:grid; grid-template-columns:1.3fr 1fr; gap:10px}
.gpc-sale .hy__cta a {text-align:center; font-size:14px; font-weight:700; padding:14px 10px; border-radius:999px; text-decoration:none}
.gpc-sale .hy__cta .main {background:linear-gradient(180deg,#F89B3C,#F26F12); color:#fff; box-shadow:0 6px 14px -5px rgba(242,111,18,.55)}
.gpc-sale .hy__cta .main:hover {filter:brightness(1.05)}
.gpc-sale .hy__cta .sub {background:#fff; color:#2C6FD0; border:1.5px solid #BFD6F2}
.gpc-sale .gp-totop {display:inline-block; font-size:12.5px; font-weight:700; color:var(--mute); text-decoration:none; margin:2px 0 4px}
.gpc-sale .gp-totop:hover {color:var(--indigo)}
.gpc-sale .gp-coupon {display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:4px 0 16px; padding:14px 16px; border:2px dashed var(--amber); border-radius:12px; background:var(--amber-bg)}
.gpc-sale .gp-coupon__t {font-size:13px; font-weight:700; color:#8a5a00}
.gpc-sale .gp-coupon__code {font-family:var(--num); font-weight:700; font-size:18px; letter-spacing:.08em; background:#fff; border:1px solid var(--line); border-radius:8px; padding:5px 14px}
.gpc-sale .gp-coupon button {font-family:var(--jp); font-size:12px; font-weight:700; color:#fff; background:var(--amber); border:0; border-radius:8px; padding:8px 14px; cursor:pointer}
.gpc-sale .gp-banner {position:relative; display:block; margin:0 0 14px; border-radius:12px; overflow:hidden; border:1px solid var(--line); background:#EDF1F6; aspect-ratio:600/176}
.gpc-sale .gp-banner img {width:100%; height:100%; object-fit:contain; display:block}
.gpc-sale .gp-banner__pr {position:absolute; top:8px; right:8px; font-size:10px; font-weight:700; color:#fff; background:rgba(20,24,32,.5); padding:2px 8px; border-radius:5px}
.gpc-sale .gp-banner__ph {display:none; position:absolute; inset:0; align-items:center; justify-content:center; color:var(--mute); font-size:13px; font-weight:700}
.gpc-sale .gp-banner.is-broken img {display:none}
.gpc-sale .gp-banner.is-broken .gp-banner__ph {display:flex}
.gpc-sale .gp-banner.is-expired {filter:grayscale(1); opacity:.5}
.gpc-sale .gp-banner__end {position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--red); color:#fff; font-size:12px; font-weight:700; padding:6px 14px; border-radius:8px; white-space:nowrap}
.gpc-sale .gp-note {margin-top:46px; padding:20px 22px; background:var(--indigo-soft); border-radius:14px; font-size:13.5px; color:var(--ink-soft)}
.gpc-sale .gp-note b {color:var(--indigo)}
@media(max-width:680px) {
  .gpc-sale .gp-picks {grid-template-columns:1fr}
  .gpc-sale .hy__grid {grid-template-columns:1fr}
  .gpc-sale .hy__media {flex-direction:row; align-items:center; gap:14px}
  .gpc-sale .hy__img {width:92px;height:92px}
  .gpc-sale .hy__specrow {grid-template-columns:1fr}
  .gpc-sale .hy__pnc {grid-template-columns:1fr}
  .gpc-sale .hy__cta {grid-template-columns:1fr}
  .gpc-sale .gp-sort {margin-left:0; width:100%}
}
@media(prefers-reduced-motion:reduce) {
  .gpc-sale * {animation:none!important; transition:none!important}
}

/* 賢威の .entry-content 系を打ち消す軽リセット（このCSSは賢威スタイルの後に読み込むこと） */
.gpc-sale a {text-decoration:none}
.gpc-sale ul {margin:0; padding:0; list-style:none}
.gpc-sale li {margin:0}
.gpc-sale p {margin:0}
.gpc-sale img {margin:0; max-width:100%; height:auto}
.gpc-sale table {margin:0}
.gpc-sale .gp-table tbody tr.is-hidden {display:none}

/* ショップ説明文（バナーとキャンペーンの間） */
.gpc-sale.gpc-sale .gp-shop__note{
  margin: 14px 0 4px;
  padding: 12px 14px;
  background: var(--paper, #faf9f6);
  border-left: 3px solid var(--indigo, #1F2A55);
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--ink, #2a2a2a);
}
.gpc-sale .gp-shop__note b{ color: var(--indigo, #1F2A55); }
/* 比較表の価格：左=現在価格、右=元価格（取り消し線） */
.gpc-sale .gp-table .price{ display:inline-flex; align-items:baseline; gap:6px; white-space:nowrap }
.gpc-sale .gp-table .price .now{ font-family:var(--num); font-weight:700; font-size:18px }
.gpc-sale .gp-table .price .list{ color:var(--mute); font-size:11px; font-weight:400; font-family:var(--num); text-decoration:line-through }
/* === コスパ：狭い列に収める（ラベル上段／星+数値を下段） === */
.gpc-sale .hy__cospa{
  display:flex;
  flex-wrap:wrap;            /* 折り返し許可 */
  justify-content:center;
  align-items:center;
  gap:2px 6px;              /* 行間2px / 横6px */
  width:100%;
  white-space:nowrap;
  padding:6px 8px;          /* 横の余白を少し詰めて幅を稼ぐ */
}
.gpc-sale .hy__cospa .lbl{
  flex-basis:100%;          /* ★ラベルだけ独立した1行に */
  text-align:center;
}
.gpc-sale .hy__cospa .hy__stars{
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  line-height:1;
}
.gpc-sale .hy__cospa .hy__stars::before{
  content:"★★★★★";
  color:#dfe3e8;
  letter-spacing:1px;
}
.gpc-sale .hy__cospa .hy__stars i{
  position:absolute;
  left:0; top:0;
  overflow:hidden;
  white-space:nowrap;
  color:#f5a623;
  letter-spacing:1px;       /* ↑の::beforeと必ず同値 */
}
.gpc-sale .hy__cospa .n{
  flex:0 0 auto;
  font-weight:800;
}
.gpc-sale .hy__cospa .n{ flex:0 0 auto; font-weight:800; }
/* === 目次 === */
.gp-toc{
  margin:24px 0;
  padding:18px 20px;
  background:#f7fafc;
  border:1px solid #dce3ea;
  border-radius:12px;
}
.gp-toc__title{ margin:0 0 10px; font-weight:800; font-size:1.5rem; color:#1f2937; }
.gp-toc__list{ margin:0; padding-left:1.5em; list-style:decimal; }
.gp-toc__sub{ margin:6px 0 10px; padding-left:1.3em; list-style:disc; }
.gp-toc__sub:empty{ display:none; }          /* h3が無いh2の空サブリストを隠す */
.gp-toc li{ margin:4px 0; line-height:1.6; }
.gp-toc a{ color:#2f5f70; text-decoration:none; border-bottom:1px dotted #9bb7c2; }
.gp-toc a:hover{ color:#244a58; border-bottom-style:solid; }
@media (max-width:768px){ .gp-toc{ padding:14px 16px; } }
.gpc-sale .hy__acc .ic{
  overflow:hidden;     /* はみ出した画像を丸く切る */
  padding:0;           /* 文字用の余白があれば除去 */
}
.gpc-sale .hy__acc .ic img{
  width:100%;
  height:100%;
  object-fit:cover;    /* 縦横比を保ったまま丸を埋める */
  display:block;
  border-radius:inherit; /* 親が border-radius:50% なら円形に */
}
/* 比較表：公式 / 詳細ボタン */
.gp-table th:nth-child(2),
.gp-table td.gp-cta-cell{ text-align:center; white-space:nowrap; }
.gp-table .gp-cta-cell{
  display:flex; flex-direction:column; gap:6px; align-items:stretch;
}
.gp-table .gp-cta,
.gp-table .gp-detail{
  display:inline-flex; align-items:center; justify-content:center; gap:3px;
  font-size:12px; font-weight:700; line-height:1; white-space:nowrap;
  border-radius:9px; text-decoration:none !important;
  transition:filter .15s, background .15s, transform .15s;
}
/* プライマリ：公式で見る（塗り） */
.gp-table .gp-cta{
  padding:7px 12px;
  background:var(--accent,#2563eb); color:#fff !important;
  border:1.5px solid var(--accent,#2563eb);
  box-shadow:0 4px 12px rgba(37,99,235,.18);
}
.gp-table .gp-cta:hover{ filter:brightness(.93); transform:translateY(-1px); color:#fff !important; }
/* セカンダリ：詳細（ゴースト） */
.gp-table .gp-detail{
  padding:6px 11px;
  background:#fff; color:var(--accent,#2563eb) !important;
  border:1.5px solid var(--accent,#2563eb);
}
.gp-table .gp-detail:hover{ background:rgba(37,99,235,.07); transform:translateY(-1px); color:var(--accent,#2563eb) !important; }
.gp-table .gp-cta span,
.gp-table .gp-detail span{ font-size:14px; }
/* 終了セールはトーンダウン */
.gp-table tr.is-expired .gp-cta{ background:var(--mute,#8a8f9a); border-color:var(--mute,#8a8f9a); box-shadow:none; }
.gp-table tr.is-expired .gp-detail{ color:var(--mute,#8a8f9a) !important; border-color:var(--mute,#8a8f9a); }
/* ボタンの外部リンクアイコンを消す */
.gp-table .gp-cta::after,
.gp-table .gp-cta::before,
.gp-table .gp-detail::after,
.gp-table .gp-detail::before{
  content:none !important;
  display:none !important;
  background:none !important;
  margin:0 !important;
  padding:0 !important;
}
/* スマホ：比較表の文字を小さく */
@media (max-width:600px){
  .gp-table{ font-size:12px; }
  .gp-table th,
  .gp-table td{ padding:7px 6px; }
  .gp-table .mname{ font-size:12px; }
  .gp-table .maker{ font-size:10.5px; }
  .gp-table .price .now{ font-size:13px; }
  .gp-table .spec{ font-size:11px; }
  .gp-table .gp-cta{ padding:6px 9px; font-size:11px; }
  .gp-table .gp-detail{ padding:5px 8px; font-size:11px; }
  .gp-table .st,
  .gp-table .vd{ font-size:10.5px; }
}
.hy{ scroll-margin-top:80px; }
.gp-table .note{display:block;margin-top:4px;font-size:11px;color:#6b7280;line-height:1.35}
/* ノート一覧表：価格セル（最安バッジ↑／価格／納期↓） */
.gp-table .gp-price-cell{white-space:normal}
.gp-table .gp-price-cell .tag-min{display:inline-block;margin:0 0 3px;padding:1px 7px;font-size:10px;font-weight:700;color:#fff;background:#e8511d;border-radius:3px;line-height:1.5}
.gp-table .gp-price-cell .price{display:block}
.gp-table .gp-price-cell .price .now{font-weight:700}
.gp-table .gp-price-cell .ship{display:block;margin-top:3px;font-size:10px;font-weight:400;color:#6b7280;line-height:1.3}
/* モデル名下の一言 */
.gp-table .note{display:block;margin-top:4px;font-size:11px;color:#6b7280;line-height:1.35}
/* スマホ時：ノート一覧表の文字を小さく */
@media (max-width: 600px) {
  .gpc-ranking-note .gp-table { font-size: 12px; }
  .gpc-ranking-note .gp-table thead th { font-size: 10px; }
  .gpc-ranking-note .gp-table th,
  .gpc-ranking-note .gp-table td { padding: 6px 8px; }
  .gpc-ranking-note .gp-table .maker { font-size: 10px; }
  .gpc-ranking-note .gp-table .mname { font-size: 12px; }
  .gpc-ranking-note .gp-table .note { font-size: 10px; }
  .gpc-ranking-note .gp-table .spec { font-size: 11px; }
  .gpc-ranking-note .gp-table .gp-price-cell .now { font-size: 13px; }
  .gpc-ranking-note .gp-table .gp-price-cell .ship { font-size: 9px; }
  .gpc-ranking-note .gp-table .gp-price-cell .tag-min { font-size: 9px; }
  .gpc-ranking-note .gp-table .gp-cta,
  .gpc-ranking-note .gp-table .gp-detail { font-size: 11px; }
}
/* スマホ時：管理人の評価コメントを縦並び（アイコン上→本文フル幅）＋小さめ文字 */
@media (max-width: 600px) {
  .gpc-sale .hy__acc .bd { display: flex; flex-direction: column; }
  .gpc-sale .hy__acc .ic { margin: 0 0 8px; }
  .gpc-sale .hy__acc .ic img { width: 44px; height: 44px; }
  .gpc-sale .hy__acc .tx { width: 100%; }
  .gpc-sale .hy__acc .tx,
  .gpc-sale .hy__acc .tx p { font-size: 12.5px; line-height: 1.75; }
}
/* ランキング絞り込みチップ */
.gpc-ranking .gp-rank-ctrl{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:10px 0 14px}
.gpc-ranking .gp-rank-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gpc-ranking .gp-rank-lbl{font-size:12px;font-weight:700;color:#444;margin-right:2px}
.gpc-ranking .gp-chip{font-size:12px;line-height:1;padding:6px 11px;border:1px solid #cfd6dd;border-radius:999px;background:#fff;color:#333;cursor:pointer}
.gpc-ranking .gp-chip:hover{border-color:#1f6fb2}
.gpc-ranking .gp-chip.is-on{background:#1f6fb2;border-color:#1f6fb2;color:#fff}
.gpc-ranking .gp-rank-sort{margin-left:auto;font-size:12px}
.gpc-ranking .gp-rank-sortsel{font-size:12px;padding:5px 6px}
.gpc-ranking .gp-rank-count{width:100%;margin:2px 0 0;font-size:11px;color:#6b7280}
.gpc-ranking .gp-table tr.is-hidden{display:none}
@media(max-width:600px){
  .gpc-ranking .gp-rank-sort{margin-left:0;width:100%}
  .gpc-ranking .gp-chip{font-size:11px;padding:5px 9px}
  .gpc-ranking .gp-rank-lbl{width:100%}
}