/* =========================================================
   トップページ：スライドショー
   ========================================================= */
.top-slideshow { overflow: hidden; }
#slider { position: relative; }
#slider .slick-list { margin: 0 -5px; }
#slider .slick-slide { margin: 0 !important; padding: 0 5px; box-sizing: border-box; text-align: center; opacity: .4; transition: opacity 300ms ease; }
#slider .slick-slide.slick-center { opacity: 1; }
#slider img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.top-slideshow .slick-prev, .top-slideshow .slick-next { display: block !important; position: absolute !important; top: 45% !important; z-index: 999 !important; width: 22px !important; height: 36px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: transparent !important; font-size: 0 !important; line-height: 0 !important; opacity: 1 !important; visibility: visible !important; transform: translateY(-50%); cursor: pointer; }
.top-slideshow .slick-prev::before, .top-slideshow .slick-next::before { display: block !important; width: 22px; height: 36px; background-repeat: no-repeat; background-position: center; background-size: 22px 36px; opacity: 1 !important; content: "" !important; }
.top-slideshow .slick-prev::before { background-image: url("https://img07.shop-pro.jp/PA01418/933/etc_base64/c2xpZGVhcnJvd19wcmV2.png"); }
.top-slideshow .slick-next::before { background-image: url("https://img07.shop-pro.jp/PA01418/933/etc_base64/c2xpZGVhcnJvd19uZXh0.png"); }

@media screen and (min-width: 861px) {
  .top-slideshow .slick-prev { left: 30% !important; }
  .top-slideshow .slick-next { right: 30% !important; }
}

@media screen and (max-width: 860px) {
  .top-slideshow .slick-prev { left: 5% !important; }
  .top-slideshow .slick-next { right: 5% !important; }
}

/* =========================================================
   トップページ：スライドショーのCLS対策
   読み込み前から画像領域を確保
   ========================================================= */
#slider:not(.slick-initialized) { display: flex; overflow: hidden; padding: 0 50px; box-sizing: border-box; }
#slider:not(.slick-initialized) > * { display: block; flex: 0 0 calc((100% - 100px) / 3); min-width: 0; }

@media screen and (max-width: 860px) {
  #slider:not(.slick-initialized) > * { flex-basis: calc(100% - 100px); }
}

/* =========================================================
   トップページ：ランキング・おすすめ商品
   商品名を最大2行に統一
   ========================================================= */
#top.tmpl .sec_04 li .item_name, #top.tmpl .sec_05 li .item_name { display: -webkit-box !important; height: 3.1em !important; min-height: 3.1em !important; max-height: 3.1em !important; margin: 0 !important; overflow: hidden !important; line-height: 1.55 !important; text-overflow: ellipsis; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }

/* =========================================================
   トップページ：休業日・価格改定のお知らせ
   ========================================================= */
@media screen and (min-width: 767px) {
  .holiday { margin: 0 0 20px; }
  .holiday img { width: 100%; }
  .holiday .sp, .kakakukaitei .sp { display: none; }
  .kakakukaitei { margin: 0 0 30px; text-align: center; }
  .kakakukaitei img { max-width: 100%; }
}

@media screen and (max-width: 766px) {
  .holiday { margin: 0 0 30px; }
  .holiday .sp { padding: 0; color: #ff005f; border: 1px solid #1b1f46; }
  .holiday dt { margin: 0; padding: 10px 15px; color: #fff; text-align: center; background: #1b1f46; }
  .holiday dd { margin: 0; padding: 15px; font-size: 14px; line-height: 1.2; text-align: center; }
  .holiday p { margin: 0 0 10px; font-size: 20px; font-weight: 700; }
  .holiday .pc, .kakakukaitei .pc { display: none; }
  .kakakukaitei { width: 95%; margin: 0 auto 30px; text-align: center; }
  .kakakukaitei img { max-width: 100%; }
}
