
section#itemDetail-wrap .cartArea table.variation{ display:block; }
section#itemDetail-wrap .cartArea table.variation tbody{
  display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity; padding:2px 2px 12px;
}
section#itemDetail-wrap .cartArea table.variation tr.t-variation{ display:none; }
section#itemDetail-wrap .cartArea table.variation tr{
  position:relative; flex:0 0 150px; min-height:160px;
  display:flex; flex-direction:column;
  border:1px solid #ddd; border-radius:10px; padding:12px; background:#fff;
  scroll-snap-align:start; box-sizing:border-box;
}
section#itemDetail-wrap .cartArea table.variation td{ display:block; border:none; padding:0; text-align:left; line-height:1.5; }
section#itemDetail-wrap .cartArea table.variation td:first-child{ font-size:13px; font-weight:bold; line-height:1.45; color:#222; }
section#itemDetail-wrap .cartArea table.variation td:nth-child(2){ margin-top:auto; }
section#itemDetail-wrap .cartArea table.variation td:nth-last-child(3):not(:first-child) .selling_price{ font-size:18px; font-weight:bold; }
section#itemDetail-wrap .cartArea table.variation td:nth-last-child(3):not(:first-child) .taxin{ font-size:10px; color:#777; font-weight:normal; margin-left:3px; }
section#itemDetail-wrap .cartArea table.variation td:nth-last-child(2){ font-size:12px; color:#2a8a2a; margin:2px 0 10px; }
section#itemDetail-wrap .cartArea table.variation td:last-child{ text-align:center; }

section#itemDetail-wrap .cartArea table.variation tbody,
#itemDetail-cont .itemThumb-wrap .itemThumb ul{ scrollbar-width:thin; scrollbar-color:#ccc transparent; }
section#itemDetail-wrap .cartArea table.variation tbody::-webkit-scrollbar,
#itemDetail-cont .itemThumb-wrap .itemThumb ul::-webkit-scrollbar{ height:6px; }
section#itemDetail-wrap .cartArea table.variation tbody::-webkit-scrollbar-thumb,
#itemDetail-cont .itemThumb-wrap .itemThumb ul::-webkit-scrollbar-thumb{ background:#ccc; border-radius:3px; }

@media screen and (max-width: 768px) {
  .mzc-hscroll{ display:flex; flex-wrap:nowrap; align-items:flex-start; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; text-align:left; scrollbar-width:thin; scrollbar-color:#ccc transparent; }
  .mzc-hscroll img{ flex:0 0 auto; width:90vw !important; height:auto; margin:0; scroll-snap-align:start; scroll-snap-stop:always; }
  .mzc-hscroll::-webkit-scrollbar{ height:6px; }
  .mzc-hscroll::-webkit-scrollbar-thumb{ background:#ccc; border-radius:3px; }
}

#itemDetail-cont .itemThumb-wrap .itemThumb ul{
  display:flex; flex-wrap:nowrap; gap:8px;
  overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
#itemDetail-cont .itemThumb-wrap .itemThumb ul li{
  float:none; flex:0 0 auto; margin:0; scroll-snap-align:start;
}

#spsVarpriceStockDialog1 table.variation,
#spsVarpriceStockDialog1 table.variation tbody,
#spsVarpriceStockDialog1 table.variation tr,
#spsVarpriceStockDialog1 table.variation td{ display:revert; }
#spsVarpriceStockDialog1 table.variation tr.t-variation{ display:revert; }

.mzc-floatwrap{ position:fixed; left:50%; bottom:16px; z-index:9990; display:flex; align-items:center; gap:10px;
  opacity:0; pointer-events:none; transform:translateX(-50%) translateY(20px); transition:opacity .2s, transform .2s; }
.mzc-floatwrap.is-visible{ opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }

.mzc-floatcart{ display:inline-flex; align-items:center; gap:8px; background:#c00; color:#fff; font-weight:bold; font-size:15px; padding:13px 26px; border:none; border-radius:30px; box-shadow:0 3px 12px rgba(0,0,0,.28); cursor:pointer; white-space:nowrap; }
.mzc-floatcart:hover{ background:#a00; }
.mzc-cart-ic{ display:inline-flex; }
.mzc-cart-ic svg{ display:block; width:20px; height:20px; transform:scaleX(-1); }

.mzc-pagetop{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; border:none; background:#c00; color:#fff; box-shadow:0 3px 12px rgba(0,0,0,.28); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.mzc-pagetop:hover{ background:#a00; }
.mzc-pagetop svg{ display:block; width:22px; height:22px; }

.mzc-sheet{ position:fixed; inset:0; z-index:9991; background:rgba(0,0,0,.45); display:none; }
.mzc-sheet.is-open{ display:block; }
.mzc-sheet-panel{ position:absolute; left:0; right:0; bottom:0; max-height:78vh; overflow:auto; background:#fff; border-radius:14px 14px 0 0; padding:0 14px 22px; -webkit-overflow-scrolling:touch; }
.mzc-sheet-head{ position:sticky; top:0; background:#fff; display:flex; align-items:center; justify-content:space-between; font-weight:bold; font-size:15px; padding:14px 0 10px; border-bottom:1px solid #eee; }
.mzc-sheet-close{ border:none; background:none; font-size:24px; line-height:1; cursor:pointer; color:#888; padding:0 4px; }
.mzc-sheet-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; padding:15px 6px; border:none; border-bottom:1px solid #f0f0f0; background:#fff; cursor:pointer; }
.mzc-sheet-item:hover{ background:#fafafa; }
.mzc-sheet-name{ font-size:14px; font-weight:bold; line-height:1.4; color:#222; }
.mzc-sheet-price{ font-size:15px; font-weight:bold; color:#c00; white-space:nowrap; }
.mzc-sheet-item.is-out{ opacity:.5; cursor:default; }
.mzc-sheet-item.is-out .mzc-sheet-price{ color:#999; }

@media screen and (min-width: 769px) {
  .mzc-sheet.is-open{ display:flex; align-items:flex-end; justify-content:center; }
  .mzc-sheet-panel{
    position:relative; left:auto; right:auto; bottom:auto;
    width:420px; max-width:calc(100vw - 40px); max-height:80vh;
    border-radius:14px 14px 0 0; box-shadow:0 -4px 30px rgba(0,0,0,.25);
  }
}

.mzc-bulk-row th{ border:none; }
.mzc-bulk-row td{ padding:4px 0 12px; }
.mzc-bulk-confirm{ display:inline-block; background:#c00; color:#fff; font-weight:bold; font-size:13px; line-height:1.3; padding:10px 18px; border:none; border-radius:6px; cursor:pointer; transition:background .15s; }
.mzc-bulk-confirm:hover{ background:#a00; }
.mzc-bulk-confirm.is-done{ background:#2a8a2a; cursor:default; }

.option_parts.mzc-invalid{ border:2px solid #c00 !important; box-shadow:0 0 0 3px rgba(204,0,0,.15); border-radius:4px; outline:none; }
.mzc-select-msg{ display:inline-block; margin-left:8px; padding:1px 7px; background:#c00; color:#fff; font-size:11px; font-weight:bold; border-radius:3px; vertical-align:middle; }

#floating-menu{ display:none !important; }

/* 商品説明のタブ分け（LPを class="mzc-tab" で囲った商品だけ有効。スマホのみ切替、PCは全表示） */
@media screen and (max-width: 768px) {
  .description .mzc-tabbar{ display:flex; box-sizing:border-box; width:100%; margin:0 0 14px; border-bottom:2px solid #eee; }
  .description .mzc-tab-btn{
    flex:1 1 0; min-width:0; box-sizing:border-box;
    -webkit-appearance:none; appearance:none; border:none; background:none;
    padding:12px 4px; margin-bottom:-2px; font-size:13px; font-weight:bold; color:#888;
    border-bottom:2px solid transparent; white-space:nowrap; cursor:pointer;
  }
  .description .mzc-tab-btn.is-active{ color:#c00; border-bottom-color:#c00; }
  .mzc-tabpanel{ display:none; }
  .mzc-tabpanel.is-active{ display:block; }
}
@media screen and (min-width: 769px) {
  .mzc-tabbar{ display:none !important; }
  .mzc-tabpanel{ display:block !important; }
}

@media screen and (max-width: 768px) {
  .shop_header_block #header-nav-drawer,
  .shop_header_block #header-nav-drawer.spsDrawerOpen {
    -webkit-filter:
      drop-shadow(0 0 1.6px #fff) drop-shadow(0 0 1.6px #fff)
      drop-shadow(0 0 1.4px #fff) drop-shadow(0 0 1.2px #fff);
    filter:
      drop-shadow(0 0 1.6px #fff) drop-shadow(0 0 1.6px #fff)
      drop-shadow(0 0 1.4px #fff) drop-shadow(0 0 1.2px #fff);
  }
  div[aria-describedby='sps-cartaddModal'] {
    position: fixed !important;
    top: 50% !important;
    transform: translateY(-50%);
  }
}

