@charset "UTF-8";
/* CSS Document */
:root {
  /* Swiperデフォルトの矢印サイズを無効化 */
  --swiper-navigation-size: 0px;
}

/* ---------------------------
   Swiper本体レイアウト
--------------------------- */
.swiper-container {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  overflow: visible;
  /* フェードインアニメーション */
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-animation: fadeInUp 1.2s ease-out 0.5s forwards;
          animation: fadeInUp 1.2s ease-out 0.5s forwards;
}

@media (min-width: 1024px) {
  .swiper-container {
    width: 100%;
    height: auto;
  }
}
/* スライドの親 */
.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 !important; /* 万が一の gap 対策 */
}

/* 各スライド */
.swiper-slide {
  width: 65vw;
  max-width: 800px;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  /* 初期非表示（フェード用） */
  opacity: 0;
  -webkit-transform: translateY(30px) scale(0.95);
          transform: translateY(30px) scale(0.95);
  pointer-events: none;
}

/* フェードイン適用時 */
.swiper-slide.fade-in {
  -webkit-animation: slideFadeIn 0.4s ease forwards;
          animation: slideFadeIn 0.4s ease forwards;
}

/* 画像スタイル */
.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
}

/* ---------------------------
   アニメーション定義
--------------------------- */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes slideFadeIn {
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    pointer-events: auto;
  }
}
@keyframes slideFadeIn {
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    pointer-events: auto;
  }
}
/* ✅ 矢印スタイル（改訂版） */
.swiper-button-next,
.swiper-button-prev {
  width: 50px;
  height: 50px;
  padding: 10px 15px; /* ← アイコンとの余白追加 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: -webkit-gradient(linear, left top, left bottom, from(#b3882d), to(#b3882d));
  background: linear-gradient(to bottom, #b3882d, #b3882d);
  color: #fff !important;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 10;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: -webkit-gradient(linear, left top, left bottom, from(#81611b), to(#81611b));
  background: linear-gradient(to bottom, #81611b, #81611b);
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.swiper-button-prev {
  left: 0 !important; /* ← 画面の左端に配置 */
}

.swiper-button-next {
  right: 0 !important; /* ← 画面の右端に配置 */
}

.swiper-button-next,
.swiper-button-prev {
  width: 50px !important;
  height: 50px !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 17px !important; /* ✅ 明示的に指定しておくのがベスト */
  line-height: 1;
}

.swiper-button-next::after {
  margin-left: 2px;
}

.swiper-button-prev::after {
  margin-left: -2px;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background-color: rgba(255, 255, 255, 0.85);
  color: #000;
}

/* ✅ フェードアニメーション定義 */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ✅ レスポンシブ対応 */
@media (max-width: 1024px) {
  .swiper-slide {
    width: 70vw;
  }
}
@media (max-width: 768px) {
  .swiper-slide {
    width: 85vw;
  }
  .swiper-button-next,
  .swiper-button-prev {
    width: 40px;
    height: 40px;
    padding: 5px;
  }
  .swiper-button-next::after,
  .swiper-button-prev::after {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .swiper-slide {
    width: 95vw;
  }
  .swiper-button-next,
  .swiper-button-prev {
    width: 36px;
    height: 36px;
    padding: 4px;
    border-radius: 0 !important;
  }
  .swiper-button-next::after,
  .swiper-button-prev::after {
    font-size: 12px;
  }
}/*# sourceMappingURL=detailslide.css.map */