@charset "utf-8";
/* CSS Document */

/* ==========================
   共通レイアウト
   ========================== */

.story_pic_wrap {
  position: relative;
}

.story_box {
   position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 20px;
}

/* メイン画像エリア */
.slider {
  position: relative;
  width: 100%;
  margin: 0 auto 10px;
  background-color: #fff;
  box-sizing: border-box;
}

/* 16:9 縦幅を確保する */
.slider::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16 / 9 * 100 = 56.25% */
}

/* スライド 1 枚分 */
.slider .slide-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
  border: rgba(237,227,253,1.00) 3px solid;
  aspect-ratio: 16 / 9;
  box-sizing: border-box;
  overflow: hidden;
}

/* 表示中のスライド */
.slider .slide-item.is-active {
  opacity: 1;
  z-index: 1;
}

.slide-item img {
  width: 100%;
  height: auto;
}

/* サムネイルリスト */
.thumbnail-list {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0;
}

@media screen and (max-width: 800px) {
  .thumbnail-list {
    display: none !important;
  }
}

.thumbnail-item {
  position: relative;
  width: 16% !important;
  margin-bottom: 10px;
  border: rgba(244,238,254,1.00) 2px solid;
  cursor: pointer;
  transition: all 0.3s;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  box-sizing: border-box;
}

@media screen and (max-width: 800px) {
  .thumbnail-item {
    width: 32% !important;
  }
}

@media screen and (max-width: 480px) {
  .thumbnail-item {
    width: 48% !important;
  }
}

/* サムネイルのオーバーレイ */
.thumbnail-item::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 0.3s linear;
}

/* 選択中サムネイル
   ※JS 側で .thumbnail-current と .slick-current を両方付けます */
.thumbnail-item.thumbnail-current,
.thumbnail-item.slick-current {
  border: rgba(237,227,253,1.00) 2px solid;
}

.thumbnail-item.thumbnail-current::after,
.thumbnail-item.slick-current::after {
  opacity: 0;
}

.thumbnail-item img {
  width: 100%;
  display: block;
  box-sizing: border-box;
}

/* ==========================
   スマホ用ナビゲーション矢印
   ========================== */

/* slick.css の矢印スタイルをほぼ流用しますが、
   「js で付けるボタン」に対して使うだけです */

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: none; /* PC では非表示 */
  width: 30px;
  height: 30px;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 101;
}

/* スマホサイズで表示 */
@media screen and (max-width: 800px) {
  .slick-prev,
  .slick-next {
    display: block;
  }
}

.slick-prev {
  left: -10px;
  background: url("../images/tmp/b_left.png") center/contain no-repeat;
}

.slick-next {
  right: -10px;
  background: url("../images/tmp/b_right.png") center/contain no-repeat;
}

@media screen and (max-width: 480px) {
  .slick-prev,
  .slick-next {
    width: 25px;
    height: 25px;
  }
}

/* 余計な文字を出さない */
.slick-prev::before,
.slick-next::before {
  content: "";
}

/* ==========================
   話数表示切り替え用
   ========================== */

.element {
  /* JS から display を書き換えるので、ここでは触らない */
}

.story_button_wrap li.selected img {
  /* 選択中ボタンのビジュアルが必要ならここに */
  
}
