@charset "utf-8";
/* CSS Document */
/*--------------------
swiper_slider zoom
--------------------*/

#swiper-zoom{
    height: 100%;
    width: 100%;
    overflow: hidden;
}
#swiper-zoom .swiper-wrapper,
#swiper-zoom .swiper-slide>div{
    height: 100%;
    width: 100%;
}
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}
#swiper-zoom .swiper-slide-active .swiper-img, #swiper-zoom .swiper-slide-duplicate-active .swiper-img, #swiper-zoom .swiper-slide-prev .swiper-img {
    animation: zoomUp 10s linear 0s 1 normal both;
}
#swiper-zoom .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* Firefox対応 */
}
/* Chrome, Safari, Edge対応 */
#swiper-zoom .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

/*--------------------
swiper_slider count
--------------------*/

.swiper-wrapper {
    width: 100%;
    position: relative;

}

.swiper-slide img {
    display: block;
    width: 100%;
	height: auto;
    /*height: 100%;
    object-fit: cover;*/
    margin-bottom: 15px;
}
/* Swiperの矢印ボタンを縦中央に配置 */
.swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: 50%; /* 縦方向の中央 */
    transform: translateY(-50%); /* 中央揃えのための調整 */
    z-index: 10; /* 他の要素より前面に表示 */
    color: #fff;
    content: "";
    transition: opacity 0.5s;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
    opacity: 0.7;
}
/* ページネーション */
.swiper-pagination {
    bottom: initial !important;
    margin-top: 30px !important;
    position: relative !important;
    margin-top: 0;
    text-align: right;
}
.pagenation-wrapper {
    position: relative;
    letter-spacing: 2px;
    margin: 10px;
}
.swiper-pagination-current {
    position: absolute;
    bottom: 0;
    right: 50px;
    font-size: 2rem;
}
.divide {
    position: absolute;
    right: 35px;
    bottom: 5px;
    font-size: 1.5rem;
}
.swiper-pagination-total {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.8rem;
}
/*--------------------
swiper_slider full-screen
--------------------*/
.swiper-full .swiper-slide {
    transition: all ease-in-out .3s;
    opacity: .2; /* 左右のスライドを薄くする */
}
.swiper-full .swiper-slide-active {
    opacity: 1; /* 中央のスライドは薄くしない */
}
.swiper-full {
    position: relative;
    width: 100%;
    margin: 50px auto 0 auto;
    text-align: center;
}


/* Swiperの矢印ボタンを縦中央に配置 */
.swiper-full .swiper-button-next-1, .swiper-full .swiper-button-prev-1 {
    position: absolute;
    top: 50%; /* 縦方向の中央 */
    transform: translateY(-50%); /* 中央揃えのための調整 */
    z-index: 10; /* 他の要素より前面に表示 */
    content: "";
    color: #664343;
    transition: opacity 0.5s;
}
.swiper-full .swiper-button-next-1:hover, .swiper-full .swiper-button-prev-1:hover {
    opacity: 0.7;
}
.swiper-pagination-1{display: flex;
align-items: center;
justify-content: center;}
/* Swiperのドット色変更 */
.swiper-pagination-1 .swiper-pagination-bullet {
    bottom: initial !important;
    margin-top: 10px !important;
    margin-right: auto;
    margin-left: auto;
    width: 15px; /* ドットの幅 */
    height: 15px; /* ドットの高さ */
    border: 1px solid #664343; /* 線の色と太さ */
    background-color: transparent; /* 背景を透明に */
    border-radius: 50%; /* 丸くする */
    opacity: 1; /* 不透明度を設定 */
}
.swiper-pagination-1 .swiper-pagination-bullet-active {
    background-color: #664343; /* アクティブなドットの背景色 */
    border-color: #664343; /* アクティブなドットの線の色 */
}
.swiper-full .swiper-caption,.swiper-caption {
    width: 100%;
    font-size: 1.3rem;
    
    top: 100%;
    margin: 0;
    padding: 0;
    color: #433d3c;
}
.swiper-full .swiper-caption {
    text-align: center;
    
}
.swiper-caption {
    text-align: left;
    
}
.swiper-full .swiper-caption,.swiper-caption span {
    display: inline-block;
}

/* 画像にリンクがある場合 */
.swiper .item .swiper-slide {
  cursor: pointer;
}
.swiper .item .swiper-slide:hover {
  opacity: .7;
  
}
/*--------------------
slick_slider top
--------------------*/

.top-swiper .swiper-slide {
  height: auto !important;
}
.top-swiper h5{text-align: left;}
.spa-item {
	width: 100%;
    max-width: 580px;
  position: relative;
  overflow: hidden;
}

.spa-item:before {
  content: "";
  background-color:#000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: 0.3s all ease;
}


.spa-item img {
  transition: 0.5s all ease;
  transform: scale(1);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.spa-item .spa-item-contents {
  z-index: 9;
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  transition: 0.3s all ease;
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;

}

.spa-item .spa-item-contents .spa-item-en {
  color: #fff;
  text-transform: uppercase;
}

.spa-item .spa-item-contents .spa-item-title {
  color: #fff;
  margin-bottom: 0;
}

.spa-item:hover:before {
  opacity: 0.5;
  visibility: visible;
}

.spa-item:hover .spa-item-contents {
  transform: translateY(0%);
  opacity: 1;
  visibility: visible;
}

.spa-item:hover img {
  transform: scale(1.2);
}


/* モバイル向けのスタイル */
@media (max-width: 575.98px) {
	.swiper .swiper-button-next, .swiper .swiper-button-prev,.swiper-full .swiper-button-next-1, .swiper-full .swiper-button-prev-1  {
    width: 24px;
		height: 24px;
}
.swiper-pagination-current {
	position: absolute;
    bottom: 5px;
    right: 35px;
    font-size: 1.5rem;
}
	.divide {
		position: absolute;
    right: 25px;
    bottom: 10px;
    font-size: 1rem;
}
	.swiper-pagination-total {
		position: absolute;
    right: 0;
    bottom: 5px;
    font-size: 1.3rem;
}
 .swiper-full .swiper-caption,.swiper-caption {
        font-size: 1rem;
    }
    
    
    
}