@charset "utf-8";

.js_carousel_list {
position: relative;
padding: 0 0 10px 0;
/zoom: 1;
}

#productDetail .js_carousel_list {
position: relative;
padding: 10px 0 35px 0;
height: 100%;
/zoom: 1;
}


.js_carousel_list .js_carousel_contents {
clear: both;
height: auto;
margin: 0 40px;
position: relative;
}
.js_carousel_list .js_carousel_contents.owl-carousel-tall {
clear: both;
height: auto;
margin: 0 40px;
position: relative;
}

.js_carousel_list .js_carousel_prev,
.js_carousel_list .js_carousel_next {
position: absolute;
top: 0;
background: #FFF;
height: 100%;
/height: 300px;
}
.js_carousel_list .js_carousel_prev {
left: 0;
}
.js_carousel_list .js_carousel_next {
right: 0;
}

.js_carousel_list .js_carousel_prev .js_carousel_pb_box,
.js_carousel_list .js_carousel_next .js_carousel_pb_box {
position: relative;
width: 30px;
height: 100%;
}

.js_carousel_list .js_carousel_prev .js_carousel_pb_box .js_carousel_pb,
.js_carousel_list .js_carousel_next .js_carousel_pb_box .js_carousel_pb {
position: absolute;
top: 50%;
left: 0;
width: 30px;
height: 80px;
margin: -40px 0 0 0;
}
.js_carousel_list .js_carousel_prev .js_carousel_pb_box .js_carousel_pb {
background: url(../img/btnCarouselListPagn.png) no-repeat 0 0;
}
.js_carousel_list .js_carousel_prev:hover .js_carousel_pb_box .js_carousel_pb {
background-position: 0 -80px;
}
.js_carousel_list .js_carousel_next .js_carousel_pb_box .js_carousel_pb {
background: url(../img/btnCarouselListPagn.png) no-repeat -30px 0;
}

.js_carousel_list .js_carousel_next:hover .js_carousel_pb_box .js_carousel_pb {
background-position: -30px -80px;
}

.carouselList .owl-carousel-elem {
margin: 0 6px 0 0;
width: 196px;
}

.carouselList .owl-carousel-elem .inner {
padding: 10px;
}

.carouselList.selectableList .owl-carousel-elem .inner {
padding: 10px;
}

.carouselList .owl-carousel-elem .ppSlctr {
font-size: 11px;
position: absolute;
bottom: 10px;
left: 10px;
}

.carouselList .owl-carousel-elem .pImg {
height: 100px;
/height: auto;
margin: 0 0 10px 0;
}

.carouselList .owl-carousel-elem .pImg img {
max-width: 100px;
max-height: 100px;
}

.carouselList .owl-carousel-elem .pName {
font-size: 12px;
}

.carouselList .owl-carousel-elem .pName .brand {
overflow: hidden;
white-space: nowrap;
word-wrap: normal;
text-overflow: ellipsis;
}

.carouselList .owl-carousel-elem .pInfo {
font-size: 12px;
margin: 3px 0 0 0;
letter-spacing: .4px
}

.carouselList .owl-carousel-elem .avgCR {
margin: 3px 0 0 0;
}

.carouselList .owl-carousel-elem .iconLoading {
position: absolute;
top: 50%;
left: 50%;
margin: -8px 0 0 -8px;
}

/* 画像と商品名を同じリンクに含め、価格・レビューを右列に置く。 */
.criteoIabCard {
  height: 100%;
}

.criteoIabProduct {
  display: grid;
  grid-template-columns: max-content 60%;
  grid-template-rows: min-content 1fr;
  column-gap: 10px;
}

.criteoIabProductLink {
  display: contents;
}

.criteoIabProductLink .criteoImg {
  grid-column: 1;
  grid-row: 1 / 3;
}

.criteoIabProductLink .pName {
  grid-column: 2;
  grid-row: 1;
}

.criteoIabProductInfo {
  grid-column: 2;
  grid-row: 2;
  text-align: left;
}

/* バナー併設のカルーセルでもレビュー・専門店を表示する。 */
.productListCarouselSp .carouselList .js_criteoProduct .avgCR {
  display: block;
}

.carouselList .criteo-sponsored {
  font-style: normal;
  font-weight: 300;
  font-size: 10px;
  line-height: 15px;
  color: #999999;
  right: 35px;
  text-align: right;
}

/* PCでは商品情報の下端に広告表記を揃える。 */
@media screen and (min-width: 768px) {
  .criteoIabCarousel {
    min-height: var(--criteo-card-height);
  }

  .criteoIabProductLink .pName {
    text-decoration: underline;
  }

  /* IABには商品詳細の通常カルーセル用余白を付けない。 */
  #productDetail .criteoIabCarousel .js_carousel_list {
    padding: 0;
  }

  .criteoIabCard {
    height: var(--criteo-card-height);
    box-sizing: border-box;
  }

  .criteoIabCard .criteoIabProduct {
    height: 100%;
  }

  .criteoIabCard .criteoIabProductInfo {
    display: flex;
    flex-direction: column;
  }

  .criteoIabCard .criteo-sponsored {
    margin-top: auto;
    flex-shrink: 0;
  }
}

@media screen and (max-width: 767.9px) {
  .rm-cat-desktop.criteoIabCarousel .criteoIabProductLink .pName {
    text-decoration: underline;
  }
}

@media screen and (max-width: 767.9px){
.js_criteoProduct .js_ppPoint {
    margin-left: 10px !important;
}

}

.carouselList .owl-carousel-elem .criteoImg img {
	max-width: 180px;
	max-height: 180px;
}

.productCriteoCarousel .carouselList .owl-carousel-elem .criteoImg img {
	max-width: 100px;
	max-height: 100px;
}
