/* DXプランのスライド用の修正 */
.dx #Topslide .swiper,
.dx #Topslide .swiper-wrapper,
.dx #Topslide .swiper-slide {
  height: auto;
}

.dx #Topslide .swiper-slide {
  width: 100%;
  display: block;
}

.dx #Topslide .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.style-dx.top .gallery .shopcont_area .box {
			padding: 0;
	}
	.style-dx #contents .gallery.cont_block::before {
		-webkit-mask-image: linear-gradient(to bottom,
			black 0%,
			black 0px,
			transparent 0px,
			transparent 210px,
			black 210px,
			black 0%
		);
		mask-image: linear-gradient(to bottom,
			black 0%,
			black 0px,
			transparent 0px,
			transparent 210px,
			black 210px,
			black 0%
		);
	}
	.style-dx #contents #waiting_area.gallery .wrapper {
		height: auto;
	}
	.gallery-slider {
		width: 100%;
		margin: 0px auto;
		padding-top: 50px;
		position: relative;
	}
	.gallery-slider .swiper-slide {
		margin: 0;
		padding: 0;
		text-align: center;
		opacity: 1;
		max-width: 680px;
	}
.gallery-slider .swiper-slide .thumb-wrapper {
		transform: scale(0.8);
		margin-top: 40px;
}

.gallery-slider .swiper-slide-active .thumb-wrapper {
		transform: scale(1);
		margin-top: 0;
	}
	.gallery-slider .swiper-slide-active {
		opacity: 1;
		width: 680px;
	}

	/* 非active */
.movie-slider .swiper-slide .thumb-wrapper {
  width: 544px;
  height: 306px;
	margin: 80px auto 0;
	transform: scale(1);
}

/* active */
.movie-slider .swiper-slide-active .thumb-wrapper {
	width: 680px;
  height: 382.5px;
	margin-inline: auto;
}

@media screen and (max-width: 849px) {
	.movie-slider .swiper-slide .thumb-wrapper {
    width: 100%;
    max-width: 680px;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
  }
}

.style-dx .movie_events {
  transition: opacity 0.3s ease;
}

/* modal表示中 */
.modal-open .style-dx .movie_events {
  pointer-events: none;
  opacity: 0.3;
}

	.gallery-slider .thumb-wrapper,
	.gallery-slider .img-wrapper {
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		cursor: pointer;
	}
	.gallery-slider .thumb-wrapper {
		width: 100%;
		aspect-ratio: 1020/437;
		background: var(--gray);
		display: flex;
  	align-items: center; /* 縦中央 */
  	justify-content: center; /* 横中央 */
		overflow: hidden;
	}
	.gallery-slider .thumb-wrapper img {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		display: block;
	}
	.movie-slider .thumb-wrapper img,
	.movie-slider .thumb-wrapper video {
		object-fit: cover;
	}
	.gallery-slider.movie .thumb-wrapper::after {
		content: '▶';
		opacity: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 40px;
		line-height: 90px;
		width: 90px;
		height: 90px;
		color: rgba(255, 255, 255, 0.8);
		background-color: rgba(0, 0, 0, 0.6);
		pointer-events: none;
		border-radius: 8px;
		transition: transform 0.3s ease;
	}
	.gallery-slider .swiper-slide-active .thumb-wrapper {
		margin-top: 0;
	}
	.gallery-slider.movie .swiper-slide-active .thumb-wrapper::after {
		opacity: 1;
	}
	.gallery-slider.movie .swiper-slide-active .thumb-wrapper:hover::after {
		transform: translate(-50%, -50%) scale(1.1);
		color: #fff;
	}
	.gallery-slider .slide-caption {
		display: none;
		padding: 10px 0 20px;
	}
	.gallery-slider .swiper-slide-active .slide-caption {
		display: block;
	}
	.gallery-slider .slide-title {
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 1; /* 最大2行に制限 */
		-webkit-box-orient: vertical;
		font-size: 16px;
		font-weight: 700;
		color: var(--pink);
		text-align: left;
		margin-bottom: 10px;
	}
	.gallery-slider .slide-desc {
		height: 4.5em; /* 説明文の高さも固定 */
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 3; /* 最大3行に制限 */
		-webkit-box-orient: vertical;
		font-size: 14px;
		text-align: left;
	}
	.movie-slider .slide-desc {
		overflow: initial;
		text-overflow: initial;
		display: block;
		-webkit-line-clamp: initial;
		-webkit-box-orient: initial;
	}

	#videoModal.modal {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,0.8);
		justify-content: center;
		align-items: center;
		z-index: 9990;
	}
	#videoModal .modal-content {
		position: relative;
		width: 90%;
		max-width: 800px;
		border-radius: 10px;
	}
	#videoModal .modal-content video {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}
	.ulizahtml5.uliza-skin-skin2 {
    border-radius: 10px !important;
	}
	#videoModal .close {
		position: absolute;
		top: 10px;
		right: 15px;
		font-size: 30px;
		color: #fff;
		cursor: pointer;
		z-index: 10000;
	}

@media screen and (max-width: 849px) {
	.gallery-slider .swiper-slide, .gallery-slider .swiper-slide.swiper-slide-active {
		width: 80vw !important;
		margin-top: 0 !important;
	}
	.gallery-slider {
		padding-top: 30px;
	}
	.gallery-slider .swiper-slide {
		opacity: 1;
	}
	.gallery-slider .swiper-slide .thumb-wrapper {
		transform: scale(1);
		margin-top: 0;
	}
	.gallery-slider.movie .thumb-wrapper::after {
		font-size: 30px;
		line-height: 50px;
		width: 50px;
		height: 50px;
	}
	.gallery-slider .slide-caption {
		opacity: 0;
		display: block;
	}
	.gallery-slider .swiper-slide-active .slide-caption {
		opacity: 1;
		display: block;
	}

	.gallery-slider .slide-desc {
		height: auto;
		-webkit-line-clamp: none;
	}
	.gallery-slider .slide-caption {
		padding: 10px 0 30px;
	}
	#waiting_area .gallery-slider { margin-bottom: 20px !important;}
	#waiting_area .gallery-slider .slide-caption { padding: 10px 0 0;}
	#waiting_area .free_blk {
		margin: 0 40px 15px;
	}
	#waiting_area .note {
		margin: 0 40px 0;
		padding-bottom: 30px;
	}
}