@charset "utf-8";

/* スライダー
-------------------------------------------------- */
.top_center_banner {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.top_center_banner .banner_container,
.top_center_banner .thumb_container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.banner_container.slider_comipo {
  width: calc(100% - 90px);
  margin: 0 auto;
}

.top_center_banner .banner_container {
  height: 160px;
}

.top_center_banner .thumb_container {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 38px;
  margin: 8px 0 0;
  background: #f5f7fa;
  padding: 8px 0;
}

.top_center_banner .banner_container ul,
.top_center_banner .thumb_container ul {
  position: relative;
  left: 50%;
  width: 99999px;
  margin-left: -250px;
}

.top_center_banner .thumb_container ul {
  margin-left: -60px;
}

/* バナー
-------------------------------------------------- */
.top_center_banner .banner_container li {
  position: relative;
  display: inline-block;
  float: left;
  margin-right: 10px;
  width: 500px;
  height: 160px;
  background-color: #f5f5f5;
}

.top_center_banner .banner_container li img {
  display: inline-block;
  opacity: 0.4;
  width: 500px;
  height: 160px;
  transition: opacity 150ms ease;
}

.top_center_banner .banner_container li.current img {
  opacity: 1;
}

.top_center_banner .banner_container li.current .bottom_banner img {
  border: 0.5px solid #694800;
  box-sizing: border-box;
}

#hero_slider .main_area a::after,
.top_center_banner .banner_container li a::after {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 1px #ff5f96;
  box-sizing: border-box;
  content: "";
  transition: opacity 0.1s ease;
}

#hero_slider .main_area a:hover::after,
.top_center_banner .banner_container li a:hover::after {
  opacity: 1;
}

/* ページネーション
-------------------------------------------------- */
.top_center_banner .pagination {
  display: flex;
  justify-content: center;
  bottom: 0px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.top_center_banner .pagination a {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin: 0 4px;
  border-radius: 5px;
  background: #ddd;
}

.top_center_banner .pagination a:hover {
  background: #ccc;
}

.top_center_banner .pagination a.current {
  background: #ff5f96;
}

.top_center_banner .pagination a.current:hover {
  background: #f35188;
}

.pagenation_container {
  background: -moz-linear-gradient(top, transparent, rgba(0,0,0,.8));
  background: -webkit-linear-gradient(top, transparent, rgba(0,0,0,.8));
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.8));
  opacity:0;
  width: 500px;
  padding: 15px 0 7px;
  transition: opacity 0.15s ease;
}

.on.pagenation_container {
  opacity: 1;
}

.banner_container:hover .pagenation_container {
  opacity: 1;
}

/* 総合TOP専用 */
#hero_slider .main_area {
  padding-bottom: 43px;
}

#hero_slider .pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  bottom: 0px;
}

#hero_slider .pagination a {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin: 0 4px;
  border-radius: 5px;
  background: #ddd;
}

#hero_slider .pagination a:hover {
  background: #ccc;
}

#hero_slider .pagination a.current {
  background: #ff5f96;
}

#hero_slider .pagination a.current:hover {
  background: #f35188;
}

#hero_slider .pagenation_container {
  background: none;
  opacity:1;
  padding: 15px 0 7px;
  transition: opacity 0.15s ease;
}

@media screen and (max-width: 980px) {
  #hero_slider {
    width: 100%;
    height: auto;
    padding: 10px 0;
    justify-content: center;
    align-items: flex-start;
  }
  #hero_slider img{
    width: 100%;
    height: auto;
  }
  #hero_slider .main_area {
    width: 47%;
    margin: 0 5px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #hero_slider .sub_area {
    width: 47%;
    margin: 0 5px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #hero_slider .sub_area .top_center_banner .banner_container {
    height: auto;
  }
  #hero_slider .sub_area .top_center_banner .banner_container li, .sub_area .top_center_banner .banner_container li img{
    width: 100%;
    height: auto;
  }
  #hero_slider .sub_area .top_center_banner .banner_container ul, .top_center_banner .thumb_container ul {
    width: 100%;
  }
}

#hero_slider .swiper-pagination {
 bottom: 10px;
}

#hero_slider .swiper-pagination-bullet {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin: 0 4px;
  border-radius: 5px;
  background: #ddd;
  opacity: 1;
}

#hero_slider .swiper-pagination-bullet-active {
  background: #ff5f96;
}

#hero_slider .swiper-slide img {
  width: 100%;
  height: auto;
}

/* サムネイル
-------------------------------------------------- */
.top_center_banner::after {
  display: none;
  position: absolute;
  top: 152px;
  left: 50%;
  z-index: 10;
  width: 0;
  height: 0;
  margin-left: -10px;
  border: solid 10px;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #ff5f96 rgba(0, 0, 0, 0);
  content: "";
}

.top_center_banner .thumb_container::after {
  display: block;
  position: absolute;
  top: 4px;
  left: 50%;
  width: 128px;
  height: 46px;
  margin-left: -64px;
  border: 3px solid #ff5f96;
  box-sizing: border-box;
  content: "";
}

.top_center_banner .thumb_container li {
  position: relative;
  display: inline-block;
  transition: opacity 333ms ease;
  margin-right: 10px;
  cursor: pointer;
  width: 120px;
  height: 38px;
  background-color: #e8e8e8;
}

.top_center_banner .thumb_container li:not(.current)::after {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 1px #ff5f96;
  box-sizing: border-box;
  content: "";
  transition: opacity 0.1s ease;
}

.top_center_banner .thumb_container li:not(.current):hover::after {
  opacity: 1;
}

.top_center_banner .thumb_container li img {
  width: 120px;
  height: 38px;
}

/* ページ送り・戻し
-------------------------------------------------- */
.top_center_banner .top_banner_prev,
.top_center_banner .top_banner_next {
  opacity: 0;
  position: absolute;
  top: 50%;
  width: 50%;
  height: 160px;
  margin-top: -80px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.banner_container:hover .top_banner_prev,
.banner_container:hover .top_banner_next {
  opacity: 0.7;
}

.top_center_banner .banner_container:hover .top_banner_prev:hover,
.top_center_banner .banner_container:hover .top_banner_next:hover {
  opacity: 0.9;
}

.top_center_banner .top_banner_prev i,
.top_center_banner .top_banner_next i {
  display: block;
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  border-radius: 2px;
  background: #000;
}

.top_center_banner .top_banner_prev_comipo i,
.top_center_banner .top_banner_next_comipo i {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  cursor: pointer;
}

.top_center_banner .top_banner_prev i { right: 10px; }
.top_center_banner .top_banner_next i { left: 10px; }

.top_center_banner .top_banner_prev i::after,
.top_center_banner .top_banner_next i::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  transition: border 0.1s ease;
  content: "";
}

.top_center_banner .top_banner_prev_comipo i { left: 0; }
.top_center_banner .top_banner_next_comipo i { right: 0; }

.top_center_banner .top_banner_prev_comipo i::after,
.top_center_banner .top_banner_next_comipo i::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  transition: border 0.1s ease;
  content: "";
  transition: .4s all;
}

.top_center_banner .top_banner_prev_comipo:hover i::after, .top_center_banner .top_banner_next_comipo:hover i::after {
  transition: .4s all;
  width: 22px;
  height: 22px;
  opacity: .7;
}

.top_center_banner .top_banner_prev i::after {
  transform: rotate(-45deg);
  left: 40%;
  margin-top: -7px;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
}

.top_center_banner .top_banner_next i::after {
  transform: rotate(45deg);
  right: 40%;
  margin-top: -7px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.top_center_banner .top_banner_prev_comipo i::after {
  transform: rotate(-45deg);
  left: 40%;
  margin-top: -7px;
  border-top: 3px solid #1a96ff;
  border-left: 3px solid #1a96ff;
}

.top_center_banner .top_banner_next_comipo i::after {
  transform: rotate(45deg);
  right: 40%;
  margin-top: -7px;
  border-top: 3px solid #1a96ff;
  border-right: 3px solid #1a96ff;
}



.top_center_banner .banner_container:hover .top_banner_prev:hover i::after {
  border-color: #ff5f96 transparent transparent #ff5f96;
}

.top_center_banner .banner_container:hover .top_banner_next:hover i::after {
  border-color: #ff5f96 #ff5f96 transparent transparent;
}

/* ミニバナー
-------------------------------------------------- */
.top_mini_banner {
  height: 80px;
  width: 100%;
  position: relative;
  text-align: center;
  margin-bottom: 10px;
}

.top_mini_banner img {
  height: 80px;
  width: 250px;
}

ul.mini_banner_list {
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
}

ul.mini_banner_list li {
  min-width: 260px;
  text-align: center;
  vertical-align: top;
  box-sizing: border-box;
}

.mini_banner_container {
  display: inline-block;
  height: 80px;
  padding: 0 25px;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.mini_banner_inner {
  width: 520px;
  overflow: hidden;
}
.mini_banner_inner.type_comipo{
  width: calc(260px * 2);
}

@media screen and (min-width:1080px) {
  .mini_banner_container {
    padding: 0 35px;
  }
}

@media screen and (min-width: 1090px) {
  .mini_banner_inner {
    width: calc(260px * 3);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が3件に満たない場合も考慮 */
  .mini_banner_inner.type1 { width: 260px;}
  .mini_banner_inner.type2 { width: calc(260px * 2); }

  .mini_banner_inner.type_comipo {
    width: calc(260px * 3);
  }
}

@media screen and (min-width: 1350px) {
  .mini_banner_inner {
    width: calc(260px * 4);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が4件に満たない場合も考慮 */
  .mini_banner_inner.type1 { width: 260px; }
  .mini_banner_inner.type2 { width: calc(260px * 2); }
  .mini_banner_inner.type3 { width: calc(260px * 3); }
}

@media screen and (min-width: 1800px) {
  .mini_banner_inner {
    width: calc(260px * 4);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が4件に満たない場合も考慮 */
  .mini_banner_inner.type1 { width: 260px; }
  .mini_banner_inner.type2 { width: calc(260px * 2); }
  .mini_banner_inner.type3 { width: calc(260px * 3); }
  .mini_banner_inner.type4 { width: calc(260px * 4); }
}

/*2カラム時バナー最大5件調整（home、maniax、pro、soft、booksのみ）*/
@media screen and (min-width: 1610px) {

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が5件に満たない場合も考慮 */
  .mini_banner_inner.type1 { width: 260px; }
  .mini_banner_inner.type2 { width: calc(260px * 2); }
  .mini_banner_inner.type3 { width: calc(260px * 3); }
  .mini_banner_inner.type4 { width: calc(260px * 4); }
  .mini_banner_inner.type5 { width: calc(260px * 5); }

  .mini_banner_inner.type_comipo {
    width: calc(260px * 4);
  }
}

/* 送り戻しボタン */
.mini_banner_prev,
.mini_banner_next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30px;
  cursor: pointer;
  background: url(../images/icon_mini_banner_push.png) no-repeat 0 center #fff;
}

.mini_banner_prev.type_comipo,
.mini_banner_next.type_comipo {
  background: none;
}

.mini_banner_prev.type_comipo::after,
.mini_banner_next.type_comipo::after {
  cursor: pointer;
  background: none;
  display: block;
  position: absolute;
  top: 50%;
  width: 17px;
  height: 17px;
  content: "";
  margin-top: -7px;
  border-top: 3px solid #1a96ff;
  transition: .4s all;
}

.mini_banner_prev.type_comipo::after {
  left: 30%;
  transform: rotate(-45deg);
  border-left: 3px solid #1a96ff;
}

.mini_banner_next.type_comipo::after {
  right: 30%;
  transform: rotate(45deg);
  border-right: 3px solid #1a96ff;
}

.mini_banner_prev {
  left: 0;
  border-radius: 5px 0 0 5px;
  background-position: -5px center;
}

.mini_banner_prev.type_comipo.disable::after, .mini_banner_prev.type_comipo.disabled::after {
  border-top: 3px solid #ddd;
  border-left: 3px solid #ddd;
}

.mini_banner_next {
  right: 0;
  border-radius: 0 5px 5px 0;
  background-position: -45px center;
}

.mini_banner_prev:hover,
.mini_banner_next:hover {
  background-color: #f0f2f7;
}

.mini_banner_prev.type_comipo:hover,
.mini_banner_next.type_comipo:hover {
  background: none;
}

.mini_banner_prev.type_comipo:hover::after,
.mini_banner_next.type_comipo:hover::after {
  transition: .4s all;
  width: 22px;
  height: 22px;
  opacity: .7;
}

.mini_banner_prev.type_comipo.disable:hover::after,
.mini_banner_next.type_comipo.disable:hover::after {
  transition: none;
  width: 17px;
  height: 17px;
  opacity: 1;
}

.mini_banner_prev.disable { background-position: -165px center; }
.mini_banner_next.disable { background-position: -205px center; }

.mini_banner_prev.disable,
.mini_banner_next.disable {
  opacity: 0.3;
}

.mini_banner_prev.disable:hover,
.mini_banner_next.disable:hover {
  background-color: #fff;
  cursor: default;
}

.mini_banner_prev.swiper-button-disabled { background-position: -165px center; }
.mini_banner_next.swiper-button-disabled { background-position: -205px center; }

.mini_banner_prev.swiper-button-disabled:hover,
.mini_banner_next.swiper-button-disabled:hover {
  background-color: #fff;
  cursor: default;
}

/* セール用ミニバナー
-------------------------------------------------- */
.top_sale_mini_banner {
  height: 80px;
  width: 100%;
  position: relative;
  text-align: center;
  margin: 10px 0;
}

.top_sale_mini_banner img {
  height: 80px;
  width: 250px;
}

ul.sale_mini_banner_list {
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
}

ul.sale_mini_banner_list li {
  min-width: 260px;
  text-align: center;
  vertical-align: top;
  box-sizing: border-box;
}

.sale_mini_banner_container {
  display: inline-block;
  height: 80px;
  padding: 0 25px;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.sale_mini_banner_inner {
  width: 520px;
  overflow: hidden;
}

.sale_mini_banner_inner.type_comipo{
  width: calc(260px * 2);
}

@media screen and (min-width:1080px) {
  .sale_mini_banner_container {
    padding: 0 35px;
  }
}

@media screen and (min-width: 1090px) {
  .sale_mini_banner_inner {
    width: calc(260px * 3);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が3件に満たない場合も考慮 */
  .sale_mini_banner_inner.type1 { width: 260px;}
  .sale_mini_banner_inner.type2 { width: calc(260px * 2); }

  .sale_mini_banner_inner.type_comipo {
    width: calc(260px * 3);
  }
}

@media screen and (min-width: 1350px) {
  .sale_mini_banner_inner {
    width: calc(260px * 4);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が4件に満たない場合も考慮 */
  .sale_mini_banner_inner.type1 { width: 260px; }
  .sale_mini_banner_inner.type2 { width: calc(260px * 2); }
  .sale_mini_banner_inner.type3 { width: calc(260px * 3); }
}

@media screen and (min-width: 1800px) {
  .sale_mini_banner_inner {
    width: calc(260px * 4);
  }

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が4件に満たない場合も考慮 */
  .sale_mini_banner_inner.type1 { width: 260px; }
  .sale_mini_banner_inner.type2 { width: calc(260px * 2); }
  .sale_mini_banner_inner.type3 { width: calc(260px * 3); }
  .sale_mini_banner_inner.type4 { width: calc(260px * 4); }
}

/*2カラム時バナー最大5件調整（home、maniax、pro、soft、booksのみ）*/
@media screen and (min-width: 1610px) {

  /* 最大5件表示の場合はtype1~5がJSから割り当てられる バナーの登録件数が5件に満たない場合も考慮 */
  .sale_mini_banner_inner.type1 { width: 260px; }
  .sale_mini_banner_inner.type2 { width: calc(260px * 2); }
  .sale_mini_banner_inner.type3 { width: calc(260px * 3); }
  .sale_mini_banner_inner.type4 { width: calc(260px * 4); }
  .sale_mini_banner_inner.type5 { width: calc(260px * 5); }

  .sale_mini_banner_inner.type_comipo {
    width: calc(260px * 4);
  }
}

/* 送り戻しボタン */
.sale_mini_banner_prev,
.sale_mini_banner_next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30px;
  cursor: pointer;
  background: url(../images/icon_mini_banner_push.png) no-repeat 0 center #fff;
}

.sale_mini_banner_prev.type_comipo,
.sale_mini_banner_next.type_comipo {
  background: none;
}

.sale_mini_banner_prev.type_comipo::after,
.sale_mini_banner_next.type_comipo::after {
  cursor: pointer;
  background: none;
  display: block;
  position: absolute;
  top: 50%;
  width: 17px;
  height: 17px;
  content: "";
  margin-top: -7px;
  border-top: 3px solid #1a96ff;
  transition: .4s all;
}

.sale_mini_banner_prev.type_comipo::after {
  left: 30%;
  transform: rotate(-45deg);
  border-left: 3px solid #1a96ff;
}

.sale_mini_banner_next.type_comipo::after {
  right: 30%;
  transform: rotate(45deg);
  border-right: 3px solid #1a96ff;
}

.sale_mini_banner_prev {
  left: 0;
  border-radius: 5px 0 0 5px;
  background-position: -5px center;
}

.sale_mini_banner_prev.type_comipo.disable::after, .sale_mini_banner_prev.type_comipo.disabled::after {
  border-top: 3px solid #ddd;
  border-left: 3px solid #ddd;
}

.sale_mini_banner_next {
  right: 0;
  border-radius: 0 5px 5px 0;
  background-position: -45px center;
}

.sale_mini_banner_prev:hover,
.sale_mini_banner_next:hover {
  background-color: #f0f2f7;
}

.sale_mini_banner_prev.type_comipo:hover,
.sale_mini_banner_next.type_comipo:hover {
  background: none;
}

.sale_mini_banner_prev.type_comipo:hover::after,
.sale_mini_banner_next.type_comipo:hover::after {
  transition: .4s all;
  width: 22px;
  height: 22px;
  opacity: .7;
}

.sale_mini_banner_prev.type_comipo.disable:hover::after,
.sale_mini_banner_next.type_comipo.disable:hover::after {
  transition: none;
  width: 17px;
  height: 17px;
  opacity: 1;
}

.sale_mini_banner_prev.disable { background-position: -165px center; }
.sale_mini_banner_next.disable { background-position: -205px center; }

.sale_mini_banner_prev.disable,
.sale_mini_banner_next.disable {
  opacity: 0.3;
}

.sale_mini_banner_prev.disable:hover,
.sale_mini_banner_next.disable:hover {
  background-color: #fff;
  cursor: default;
}

.sale_mini_banner_prev.swiper-button-disabled { background-position: -165px center; }
.sale_mini_banner_next.swiper-button-disabled { background-position: -205px center; }

.sale_mini_banner_prev.swiper-button-disabled:hover,
.sale_mini_banner_next.swiper-button-disabled:hover {
  background-color: #fff;
  cursor: default;
}

/* 白透過なし */
.top_center_banner .banner_container li img {
  opacity: 1;
}


.top_center_banner .top_banner_prev,
.top_center_banner .top_banner_next {
  width: 40px;
}

.top_center_banner .top_banner_prev {
  left: 1.5%;
}

.top_center_banner .top_banner_next {
  right: 1.5%;
}