@charset "utf-8";
  /* STORYセクションの背景設定 */
#story_bg {
  background: url("../img/story/story_bg.webp") no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  min-height: 100vh;
}

#story_bg_append {
  background: url("../img/story/story_append_bg.webp") no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  min-height: 100vh;
}

  /* STORYセクションの全体レイアウト */
#story_area {
  padding: 60px 0 120px;
  padding: 5% 5px;
  position: relative;
  overscroll-behavior-x: none; /* 横方向のオーバースクロールを無効化 */
}
  /* STORYセクションの全体レイアウト */
#story_area img {
  margin-bottom: 2%;
}

  /* STORYのロゴ設定 */
.story_logo_group {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
  cursor: pointer;
}
  /* STORYのロゴ設定 */
.story_logo_btn {
  touch-action: manipulation; /* タップのみ許可 */
  pointer-events: auto; /* クリック/タップは有効 */
}
.story_logo_btn img {
  width: 330px;
  transition: opacity 0.3s;
}
.story_logo_btn_append img {
  width: 330px;
  transition: opacity 0.3s;
}
  /* STORYのロゴ設定 */
.story_logo_btn:hover img {
  opacity: 0.8;
}
.story_img {
  text-align: center;
}
  /* ストーリースライドのフェードアニメーション */
@keyframes story_test {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
  /* STORYのテストアニメーション指定 */
.story_test {
  animation-name: story_test;
  animation-duration: 1s;
  animation-direction: ease-out;
}
  /* スライド用ナビゲーションドット */
.dots {
  position: relative;
  text-align: center;
  margin: 0 auto;
  height: 50px;
  width: 80%;
  /* ドットナビゲーション部分はクリック可能にする */
  touch-action: manipulation; /* タップのみ許可 */
  pointer-events: auto; /* クリック/タップは有効 */
}
.slick-dots {
  height: 50px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
  /* スライド用ナビゲーションドット */
.dots.pc {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-top: 20px;
}
  /* append版（dots-slide-b）のドット用の特別な設定 */
.dots.pc.dots-slide-b {
  gap: 60px; /* gapを拡大 */
  width: auto;
  min-width: 380px; /* 2つの画像(160px each) + gap(30px) = 350px + margin */
}
  /* ドット画像の設定 */
.dots.pc img {
  width: 120px;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
  border-radius: 4px;
  position: relative;
}

/* PC版ドットのhover効果 */
.dots.pc img:hover {
  transform: scale(1.1);
  z-index: 10;
  opacity: 0.9;
}

/* PC版ドットのアクティブ（選択中）状態 */
.dots.pc img.active {
  transform: scale(1.15);
  z-index: 15;
  opacity: 1;
}

/* PC版ドットのクリック時の瞬間的な拡大効果 */
.dots.pc img:active {
  transform: scale(1.15);
  transition: transform 0.1s ease;
}

  /* append版（dots-slide-b）のドット画像設定 */
.dots.pc.dots-slide-b img {
  width: 260px; /* 画像サイズを拡大 */
  height: auto; /* 高さを自動調整 */
  cursor: pointer;
  /* 画像の圧縮を防ぐ */
  flex-shrink: 0;
  object-fit: contain; /* 画像の比率を保持 */
  transition: transform 0.3s ease, opacity 0.3s ease;
  border-radius: 6px;
  position: relative;
}

/* append版ドットのhover効果 */
.dots.pc.dots-slide-b img:hover {
  transform: scale(1.08);
  z-index: 10;
  opacity: 0.9;
}

/* append版ドットのアクティブ状態 */
.dots.pc.dots-slide-b img.active {
  transform: scale(1.12);
  z-index: 15;
  opacity: 1;
}

/* append版ドットのクリック時効果 */
.dots.pc.dots-slide-b img:active {
  transform: scale(1.12);
  transition: transform 0.1s ease;
}

.dots img {
  touch-action: manipulation;
  pointer-events: auto;
}
  /* append版（dots-slide-b）のスマート版画像設定 */
.dots.smart.dots-slide-b img {
  flex-shrink: 0; /* 画像の圧縮を防ぐ */
}
  /* ストーリースライドのフェードアニメーション */
@keyframes story {
  0% {
    opacity: 0.5;
    filter: blur(3px);
  }
  50% {
    filter: blur(0px);
  }
  100% {
    opacity: 1;
  }
}
  /* STORYセクションの全体レイアウト */
#story_area .story_slide2 {
  animation-name: story;
  animation-duration: 2s;
  animation-direction: linear;
}
  /* ストーリースライドエリアの設定 */
.story_slide2 {
  display: none;
  width: 60%;
  max-width: 650px;
  margin: 20px auto;
  height: 1000px;
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: contain; /* スクロールチェーンを防止 */
}

/* PC版ストーリースライドエリアの設定 - より詳細度の高いセレクター */
#story_area .story_slide2.pc {
  display: none;
  width: 45% !important;
  max-width: 480px !important;
  margin: 0px auto;
  height: 780px !important;
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

/* append版用も同様に調整 */
#story_bg_append #story_area .story_slide2.pc {
  display: none;
  width: 45% !important;
  max-width: 480px !important;
  margin: 0px auto;
  height: 780px !important;
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.story_img img.centered {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
  /* ストーリースライドエリアの設定 */
.story_slide2.active {
  display: block !important;
}
.story_img {
  display: block;
  text-align: center;
}
.story_img.animate {
  animation-duration: 2s;
  animation-direction: linear;
}
  /* STORY下部の装飾画像 */
.feather {
  position: absolute;
  width: 30%;
  bottom: 8%;
  left: 17%;
}
  /* slide_b コンテンツレイアウト */
#slide_b .story_img {
  text-align: center;
}
  /* slide_b コンテンツレイアウト */
#slide_b .story_img img {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
  /* slide_b コンテンツレイアウト */
#slide_b .story_img:first-child {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0;
  margin: auto;
}

/* 矢印ボタンの基本スタイル（PC・スマホ共通） */
.story-arrow {
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
  width: 40px;
  height: auto;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.story-arrow:hover {
  opacity: 1.0;
}

#story_area .slick-list {
  overflow: visible;
}

/* PC表示のとき、スライダーの外側に矢印を配置 */
/* 左矢印の位置 */
.story-arrow-prev {
  left: calc(17% - 60px); /* スライダーの左端からさらに外へ60px */
}

/* 右矢印の位置 */
.story-arrow-next {
  right: calc(17% - 60px); /* スライダーの右端からさらに外へ60px */
}

#story_bg_append #story_area .story-arrow {
  top: 65%;
  width: 30px;
}

#story_bg_append #story_area .story-arrow-prev {
  left: 5px;
}

#story_bg_append #story_area .story-arrow-next {
  right: 5px;
}

/* スライダーの親要素に position: relative を設定（矢印の位置の基準にするため） */
#story_area {
  position: relative;
}

/* 手動で無効化された矢印を非表示にする */
.story-arrow.manual-disabled {
  opacity: 0;
  pointer-events: none; /* 透明な矢印をクリックできないようにする */
  cursor: default;
}

/* より確実に縦スクロールのみを許可するための追加設定 */
body {
  overscroll-behavior-x: none; /* ページ全体で横方向のオーバースクロールを無効化 */
}

#story_area,
#story_area * {
  -webkit-overflow-scrolling: touch; /* iOS用のスムーズスクロール */
}
