/* ============================================================
  
  /features/
  このディレクトリのCSSは**演出・機能系＊**のスライダーやGSAPなど
  を格納ください。
  
  slider.css 内ルール
  
  1. BiNDup標準の機能で実装できないもののみ記述すること
  2. 使用箇所、追記時期が分かるようにコメントアウトで残すこと
  
============================================================ */
/* common */

/*** STORIES Carousel slider ***/
#stories-slider * {
  --swiper-navigation-size: 22px;
}
.b-plain:has(#stories-slider) {
  max-width: 100%;
}
.b-plain:has(#stories-slider) .column {
  position: relative;
}
#stories-slider .swiper-slide {
  display: flex;
}
#stories-slider .swiper-slide .c-none {
  width: 50%;
  padding-right: 0;
  flex-shrink: 0;
}
#stories-slider .swiper-slide .c-none img,
.swiper-slide .c-none source {
  width: 100%;
  display: block;
}
#stories-slider .swiper-slide .stories__slide_text {
  width: auto;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  /*padding: 40px 5% 40px 85px;*/
  padding: 40px 5% 40px;
}
#stories-slider .swiper-slide .stories__slide_text h3 {
  margin-bottom: 40px;
  letter-spacing: 0.2em;
  font-size: 25px;
}
#stories-slider .swiper-slide .stories__slide_text.textvolume_l p.c-body {
  line-height: 1.8em;
}
#stories-slider .swiper-slide .stories__slide_text .c-right {
  margin-bottom: 0;
  margin-top: auto;
}
#stories-slider .swiper-slide .stories__slide_text .c-body {
  line-height: 2em;
  letter-spacing: 0.4px;
}
#stories-slider .swiper-slide .stories__slide_text .c-right a.btn-default {
  margin-bottom: 0;
}
#stories-slider .swiper-button-next,
.swiper-button-prev {
  color: #000000;
  border-radius: 50%;
  width: 45px;
  height: 45px;
}
#stories-slider .swiper-button-prev,
.swiper-button-next {
  background-image: none;
}
#stories-slider .swiper-button-next {
  right: 10px;
  left: auto;
}
#stories-slider .swiper-button-prev {
  left: 10px;
  right: auto;
}
#stories-slider .swiper-button-next:after,
.swiper-button-prev:after {
  content: "";
  background-image: url(../../../_userdata/icon/slide_arrow.svg);
  width: 45px;
  height: 45px;
  right: 0;
  left: 0;
  transform: none;
}
#stories-slider .swiper-button-prev:after {
  transform: rotate(180deg);
}
#stories-slider .swiper-pagination {
  display: none;
}

/***carousel menu-KUBOTA STORIES****/
.carousel-split {
  display: flex;
  gap: 80px;
  margin: 0 auto 115px;
  width: 90%;
  max-width: 1550px;
  overflow: hidden;
}

.carousel-wrapp .c-small_headline {
  width: 100%;
  text-align: left;
  padding: 0;
  margin-bottom: 60px;
  font-size: 25px;
  border: none;
}
.carousel-wrapp {
  flex: 0 0 calc(40% - 40px);
  width: calc(40% - 40px);
}

.carousel-split > .c-body {
  flex: 0 0 calc(60% - 40px);
  width: calc(60% - 40px);
}

.carousel-split > .c-body .c-img img {
  width: 100%;
  height: auto;
  display: block;
}
.carousel-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.carousel-arrow svg {
  width: 24px;
  height: 24px;
}
.carousel-arrow svg polygon {
  fill: #000000 !important;
}
.carousel-prev {
  visibility: hidden !important;
}
.b-slide_carousel {
  animation-play-state: paused;
}

/***carousel menu-OUR PRODUCTS****/
#ourproducts a:hover {
  opacity: 1;
}
.category-title .c-none {
  width: 480px;
}

.products-wrapp {
  position: relative;
  background: #e1e1e1;
  width: 100%;
  height: 928px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  padding-top: 95px;
  /* padding-left: 120px; */
  padding-right: 0px;
}

.category-title {
  display: block;
  position: relative;
  max-width: 1680px;
  width: 90%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}

.title-jp {
  position: relative;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  /*margin-top: 1rem;*/
}
.products-title-jp {
  color: #000;
}
.product-title {
  color: #f7f6f5;
  text-align: left;
  font-size: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
}
.product-title.ls1 {
  letter-spacing: 0.1em;
}
.product-caption {
  color: #f7f6f5;
  text-align: left;
  font-size: 16.8px;
  line-height: 2;
  letter-spacing: 0.07em;
}
.dark-txt .product-title,
.dark-txt .product-caption {
  color: #000;
}
.product-txt-narrow {
  letter-spacing: 0.1em;
}
.product-txt-upper {
  position: absolute;
  top: 32px;
  left: 40px;
}
.product-txt-lower {
  position: absolute;
  top: 392px;
  left: 36px;
}
.asahiyama.product-txt-lower,
.esshu.product-txt-lower {
  top: 360px;
}

/* Swiper Setting*/
#ourproducts {
  margin-top: 1.5rem;
}
#ourproducts .swiper {
  max-width: 1680px;
  width: 90%;
  overflow: visible;
}
#ourproducts .swiper-wrapper {
  max-width: 1680px;
  width: 90%;
  margin: 0 auto;
}
#ourproducts .swiper-slide {
  position: relative;
  max-width: 344px;
  width: 100%;
  aspect-ratio: 5 / 8;
  overflow: hidden;
  transition: 0.5s;
}
#ourproducts .swiper-slide img {
  width: 376px;
  transition: 0.5s;
  display: block;
}
#ourproducts .swiper-slide-kubota:hover,
#ourproducts .swiper-slide-tsugu:hover {
  background-color: black;
}
#ourproducts .swiper-slide-asahiyama:hover {
  background-color: #6d2f00;
}
#ourproducts .swiper-slide-senshin:hover,
#ourproducts .swiper-slide-concept:hover {
  background-color: #c0e2e3;
}
#ourproducts .swiper-slide-esshu:hover,
#ourproducts .swiper-slide-kg:hover {
  background-color: white;
}
#ourproducts .swiper-slide-season:hover {
  background-color: #ffe2f8;
}
#ourproducts .swiper-slide:hover img {
  opacity: 0.5;
  scale: 1.05;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  display: none;
}
#ourproducts .swiper-button-prev::after,
.swiper-button-next::after {
  content: "" !important;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  height: 90px;
  width: 90px;
  margin: auto;
}
#ourproducts .swiper-button-next::after {
  background-image: url(../../../_userdata/swiper_img/next_arrow.svg);
  right: 10px;
  transform: translateX(20px);
}
#ourproducts .swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 34px);
}
#ourproducts .swiper-button-prev::after {
  background-image: url(../../../_userdata/swiper_img/prev_arrow.svg);
  left: 10px;
  transform: translateX(-20px);
}
#ourproducts .swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 34px);
}
@media (max-width: 641px) {
  /*** STORIES Carousel slider ***/
  #stories-slider .swiper-slide {
    flex-direction: column;
    justify-content: space-between;
    height: auto;
  }
  #stories-slider .swiper-slide .c-none {
    width: 100%;
  }
  #stories-slider .swiper-slide .modal__slide_text {
    height: 100%;
    width: 88%;
    padding: 0 0 50px 0;
    margin: 0 auto;
  }
  #a-main #stories-slider .swiper-slide .modal__slide_text h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  #a-main #tsugu-stories .swiper-slide .modal__slide_text .c-body {
    font-size: 14px;
  }
  #stories-slider .swiper-pagination {
    display: block;
    position: absolute;
    margin-bottom: 70vw;
  }
  #stories-slider .swiper-pagination-bullet-active {
    background-color: #000000;
  }
  #stories-slider .swiper-button-next,
  .swiper-button-prev {
    display: none;
  }

  /*** OUR PRODUCTS Carousel slider ***/
  .products-wrapp {
    padding-top: 54px;
    padding-bottom: 80px;
    margin-bottom: 0;
  }
  .product-txt-upper {
    top: 8px;
    left: 20px;
  }
  .product-txt-lower {
    top: 252px;
    left: 20px;
  }
  .asahiyama.product-txt-lower,
  .esshu.product-txt-lower {
    top: 222px;
  }
  .product-title {
    font-size: 1.78rem;
  }
  .product-caption {
    font-size: 1rem;
  }
  .category-title {
    max-width: none;
    margin: auto 30px 20px;
  }
  .category-title .c-none {
    width: 100%;
  }
  .category-title .c-none svg {
    height: 22px;
  }
  .title-jp {
    font-size: 1.15rem;
    margin-top: 0;
  }
  #ourproducts .swiper-button-next,
  #ourproducts .swiper-button-prev,
  #ourproducts .swiper-button-next::after,
  #ourproducts .swiper-button-prev::after {
    display: none;
  }
  .products-wrapp {
    height: auto;
  }
  #ourproducts .swiper-wrapper {
    max-width: calc(232px * 8);
    margin: 0 30px;
  }
  #ourproducts .swiper-slide {
    max-width: 232px;
    aspect-ratio: 29 / 47;
  }
}




