/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 21 2025 | 03:32:43 */
/* ==============================
   キャンペーンバナー スライダー
============================== */

.omc-banner-slider{
  max-width:1120px;
  margin:0 auto;
  position:relative;
  padding:0 80px 26px;
  box-sizing:border-box;
}

/* 表示エリア */
.omc-banner-slider__viewport{
  position:relative;
  overflow:hidden;
}

/* レール（スライド間の余白） */
.omc-banner-slider__track{
  display:flex;
  gap:16px;
  will-change:transform;
  transform:translate3d(0,0,0); /* 実機描画安定 */
}

/* スライド */
.omc-banner-slider__slide{
  flex:0 0 auto;
  box-sizing:border-box;
  max-width:100%;
}

.omc-banner-slider__link{
  display:block;
  line-height:0;
}

.omc-banner-slider__slide picture{
  display:block;
  width:100%;
}

.omc-banner-slider__slide img{
  display:block;
  width:100%;
  height:auto;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translate3d(0,0,0);
}

/* ==============================
   矢印ボタン
============================== */

.omc-banner-slider__arrow{
  position:absolute;
  top:38%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:2px solid #e60012;
  background:#ffffff;
  box-sizing:border-box;
  cursor:pointer;
  padding:0;
  outline:none;
  z-index:1;
}

.omc-banner-slider__arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:11px;
  height:11px;
  border-top:2px solid #e60012;
  border-right:2px solid #e60012;
  transform-origin:center;
}

.omc-banner-slider__arrow--prev{ left:16px; }
.omc-banner-slider__arrow--prev::before{
  transform:translate(-40%,-50%) rotate(-135deg);
}

.omc-banner-slider__arrow--next{ right:16px; }
.omc-banner-slider__arrow--next::before{
  transform:translate(-60%,-50%) rotate(45deg);
}

.omc-banner-slider__arrow:hover{
  background:#e60012;
  border-color:#e60012;
}
.omc-banner-slider__arrow:hover::before{
  border-top-color:#ffffff;
  border-right-color:#ffffff;
}

/* ==============================
   ● ナビ（正円固定）
============================== */

.omc-banner-slider__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:12px;
}

.omc-banner-slider__dot{
  width:10px;
  height:10px;
  aspect-ratio:1 / 1;
  border-radius:50%;
  border:none;
  padding:0;
  background:#e0e0e0;
  cursor:pointer;
  flex-shrink:0;
}

.omc-banner-slider__dot.is-active{
  background:#e60012;
}

/* ========== SP ========== */
@media (max-width:767px){
  .omc-banner-slider{
    max-width:100%;
    padding:0 20px 20px;
    margin:20px auto;
  }

  .omc-banner-slider__arrow{
    width:34px;
    height:34px;
  }

  .omc-banner-slider__arrow--prev{ left:8px; }
  .omc-banner-slider__arrow--next{ right:8px; }

  .omc-banner-slider__dots{ margin-top:10px; }

  .omc-banner-slider__track{
    gap:12px;
  }
}

/* ==============================
   SWELL高さ系 打ち消し
============================== */

.omc-banner-slider,
.omc-banner-slider__viewport,
.omc-banner-slider__track,
.omc-banner-slider__slide{
  height:auto !important;
  min-height:0 !important;
}

/* PC時の上限（必要なら残す） */
@media (min-width:1024px){
  .omc-banner-slider__viewport{
    max-height:165px;
  }
}
