/* ===== 商品カード 横スクロール（Swiper 代替） ===== */
.nonswiper__block {
  --cards-per-view: 2.5;
  --card-gap: 16px;   /* カード間の見た目の間隔 */
}

@media (min-width: 768px)  { .nonswiper__block.-col05 { --cards-per-view: 3.5; } }
@media (min-width: 1400px) { .nonswiper__block.-col05 { --cards-per-view: 5; } }

.nonswiper__block .c-card01__wrap {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* gap は使わない */
  /* 両端のはみ出しを打ち消す */
  margin-left: calc(var(--card-gap) / -2);
  margin-right: calc(var(--card-gap) / -2);
}
.nonswiper__block .c-card01__wrap::-webkit-scrollbar { display: none; }

.nonswiper__block .c-card01__wrap > .c-card01 {
  flex: 0 0 calc(100% / var(--cards-per-view));
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
  padding-left: calc(var(--card-gap) / 2);
  padding-right: calc(var(--card-gap) / 2);
}

/* 画像領域の確保（CLS 対策・必須） */
.nonswiper__block .c-card01__img { aspect-ratio: 1 / 1; }   /* 実比率に合わせて変更 */
.nonswiper__block .c-card01__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
    .nonswiper__block .c-card01 {
        padding-inline: 12px;
        border-right: 1px solid var(--clr_border_secondary);
    }
    .nonswiper__block .c-card01 .c-card01__price .-small {
        font-size: calc(12 / var(--base) * 1rem);
    }
    .nonswiper__block .c-card01:last-child {
        border-right: none;
    }
    .nonswiper__block .c-card01__wrap:not(:has(.swiper-slide)) {
        flex-wrap: nowrap;
        gap:0;
    }
    .nonswiper__block .c-card01__wrap { cursor: grab; }
    .nonswiper__block .c-card01__link { -webkit-user-drag: none; user-drag: none; }
    .nonswiper__block .c-card01__wrap img { pointer-events: none; }
    .nonswiper__block.-col05 .c-card01__price-num {
        font-size: calc(22 / var(--base) * 1rem);
    }
    .nonswiper__block.-col05 .c-card01__title {
        font-size: calc(13 / var(--base) * 1rem);
    }
    .nonswiper__block.-col05 .c-card01__price {
        margin: 10px 0 0 auto;
    }
    .nonswiper__block.-col05 .c-card01__textWrap {
        padding: 10px 0;
    }