/* ====== 商品ビュー（pcan 名前空間・全クラス接頭） ====== */
.pcan_wrap {
  --w: 960px;
  --gap: 36px;
  --imgH: 520px;
  --dot: #d12aa0;
  --line: #e6e6e6;
}

/* レイアウト */
.pcan_wrap .pcan_box { background:#fff; padding:18px; border-radius:10px; }
.pcan_wrap .pcan_grid { display:grid; grid-template-columns:1fr 1fr; grid-gap:var(--gap); max-width:var(--w); margin:0 auto; }
@media (max-width:1100px){
  .pcan_wrap .pcan_grid { grid-template-columns:1fr; }
}

/* ===== スライダー ===== */
.pcan_wrap .pcan_slider { position:relative; }
.pcan_wrap .pcan_vp { position:relative; background:#fff; border-radius:10px; overflow:hidden; height:var(--imgH); }
.pcan_wrap .pcan_track { display:flex; align-items:stretch; height:100%; transform:translate3d(0,0,0); transition:transform .4s ease; list-style:none; margin:0; padding:0; }
.pcan_wrap .pcan_slide { min-width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-align:center; }
.pcan_wrap .pcan_slide a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.pcan_wrap .pcan_slide img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; object-position:center; margin:auto; }

.pcan_wrap .pcan_nav { position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:10px; background:rgba(0,0,0,.7); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10; border:0; }
.pcan_wrap .pcan_nav:hover { background:rgba(0,0,0,.85); }
.pcan_wrap .pcan_prev { left:12px; } 
.pcan_wrap .pcan_next { right:12px; }
.pcan_wrap .pcan_nav:before { content:""; display:block; width:0; height:0; border:10px solid transparent; }
.pcan_wrap .pcan_prev:before { border-right-color:#fff; margin-left:6px; }
.pcan_wrap .pcan_next:before { border-left-color:#fff; margin-right:6px; }

.pcan_wrap .pcan_dots { display:flex; gap:12px; justify-content:center; margin-top:12px; position:relative; z-index:9; }
.pcan_wrap .pcan_dot { width:14px; height:14px; border-radius:50%; background:color-mix(in srgb, var(--dot) 35%, #ccc); border:0; cursor:pointer; }
.pcan_wrap .pcan_dot.active { background:var(--dot); }

.pcan_wrap .pcan_soldout { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; z-index:4; }
.pcan_wrap .pcan_soldout span { display:inline-block; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#ff2a2a; font-size:clamp(25px, 4vw, 60px); text-shadow:0 2px 0 rgba(255,255,255,.6),0 0 8px rgba(0,0,0,.25),0 0 16px rgba(0,0,0,.25); transform:rotate(-12deg); background:rgba(255,255,255,.18); padding:.15em .35em; border:3px solid rgba(255,0,0,.65); border-radius:8px; }

/* ===== 表示部品 ===== */
.pcan_wrap .pcan_badges { display:inline-flex; gap:8px; flex-wrap:wrap; vertical-align:middle; }
.pcan_wrap .pcan_badge { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#333; padding:6px 8px; border-radius:999px; background:#f6f6ff; border:1px solid #f0e6f3; }
.pcan_wrap .pcan_b_ico { width:10px; height:10px; border-radius:50%; }
.pcan_wrap .pcan_date { font-size:13px; color:#666; margin-top:6px; }
.pcan_wrap .pcan_cta { margin-top:10px; }
.pcan_wrap .pcan_cta a { color:#d12aa0; font-weight:700; text-decoration:underline; }
.pcan_wrap .pcan_titleBig { font-size:26px; font-weight:900; color:#111; line-height:1.35; }
.pcan_wrap .pcan_section { margin-top:22px; border-top:2px solid #f3e0ee; padding-top:16px; }
.pcan_wrap .pcan_head { font-weight:800; color:#d12aa0; letter-spacing:.08em; margin-bottom:8px; }
.pcan_wrap .pcan_table { margin-top:10px; }
.pcan_wrap .pcan_li { display:flex; gap:18px; padding:8px 0; border-bottom:1px solid var(--line); }
.pcan_wrap .pcan_kv { width:140px; color:#666; font-weight:600; }
.pcan_wrap .pcan_val { flex:1; }
.pcan_wrap .pcan_note { color:#333; }
.pcan_wrap .pcan_table.pcan_spec_line,
.pcan_wrap .pcan_table.pcan_spec_line > * { border-top:0!important; }
.pcan_wrap .pcan_spec_line p { margin:0 0 6px 0; padding:0; line-height:1.6; color:#333; }
.pcan_wrap .pcan_cg { margin-top:8px; border:1px solid #eee; border-radius:8px; padding:8px; background:#fafafa; }
.pcan_wrap .pcan_cg .pcan_item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; border-top:1px dashed #e6e6e6; }
.pcan_wrap .pcan_cg .pcan_item:first-child { border-top:0; }
.pcan_wrap .pcan_cg .pcan_code { font-weight:700; min-width:170px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pcan_wrap .pcan_cg .pcan_ops a { font-size:12px; }

@media (max-width:600px){
  .pcan_wrap .pcan_titleBig { font-size:20px; }
  .pcan_wrap .pcan_badge { padding:5px 6px; font-size:12px; }
}

/* ===== アイコンサイズ固定（pcan 内のみ） ===== */
.pcan_wrap { --icon-badge: 16px; --icon-legend: 18px; }
.pcan_wrap .pcan_badge_img,
.pcan_wrap .pcan_legend_item img,
.pcan_wrap .pcan_takiconbox3 img,
.pcan_wrap .pcan_takIcon2 img {
  max-width:none!important;
  max-height:none!important;
  width:var(--icon-badge)!important;
  height:var(--icon-badge)!important;
  object-fit:contain;
  vertical-align:middle;
  image-rendering:auto;
}
.pcan_wrap .pcan_legend_item img {
  width:var(--icon-legend)!important;
  height:var(--icon-legend)!important;
}
.pcan_wrap .pcan_badge { line-height:1; }
.pcan_wrap .pcan_badge_label { line-height:1.2; }

@media (max-width:600px){
  .pcan_wrap { --icon-badge:14px; --icon-legend:16px; }
}
