/* =================================
	Videos Modal CSS
================================= */

/*	.tbs-videos-modal
============================== */
body.tbs-videos-modal-on {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	width:100%;
	height:100%;
}
@media all and (min-width: 992px) {
body.tbs-videos-modal-on {
	position:fixed;
}
}
@media all and (max-width: 991.98px) {
body.tbs-videos-modal-on {
	overflow:hidden;
}
}
div.tbs-videos-modal-overlay,
div.tbs-videos-modal-cover {
	position: fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	height:100vh;
	pointer-events: none;
}
div.tbs-videos-modal-overlay {
	/**/
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	/**/
	opacity: 0;
	/**/
	background-color:transparent;
	/**/
	z-index:161;
}
div.tbs-videos-modal-cover {
	display:none;
	z-index:162;
}
div.tbs-videos-modal {
	display:none;
}
body.tbs-videos-modal-on div.tbs-videos-modal-overlay {
	opacity: 0.95;
	pointer-events: auto;
}
body.tbs-videos-modal-on div.tbs-videos-modal-cover {
	display:block;
}
@media all and (max-width: 991.98px) {
body.tbs-videos-modal-on div.tbs-videos-modal-cover {
	overscroll-behavior-y: contain;
}
}
body.tbs-videos-modal-on div.tbs-videos-modal {
	display:block;
	pointer-events: auto;
	/**/
	width:320px;
	height:230px;
	/**/
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-player {
	width:320px;
	height:180px;
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-player iframe {
	width:100%;
	height:100%;
}


body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer {
	display:flex;
	justify-content:space-between;
	height:50px;
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-caption {
	color:#fff;
	text-align:left;
	line-height:50px;
	height:50px;
	width:-webkit-calc(100% - 60px);
	width:calc(100% - 60px);
	overflow:hidden;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
@media all and (min-width: 992px) {
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-caption {
	font-size:100%;
}
}
@media all and (max-width: 991.98px) {
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-caption {
	font-size:87.5%;
}
}


body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close {
	position:relative;
	cursor:pointer;
	width:50px;
	height:50px;
	border-radius:50%;
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close:before,
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close:after {
	content:"";
	display:inline-block;
	position:absolute;
	top: 50%;
	left: 50%;
	width:80%;
	height:3px;
	border-radius:2px;
	background-color:#fff;
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close:before {
	transform: translate(-50%, -50%) rotate(-45deg);
}
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close:after {
	transform: translate(-50%, -50%) rotate(45deg);
}


/*	モーダル内プレイリスト */
.yt-modal-playlist {
	display: flex;
	align-items: center;
	gap: 0.2rem;
	margin-top: 0.6rem;
	padding: 0 10px;
}
.yt-modal-playlist__track {
	display: flex;
	flex: 1;
	min-width: 0;
	gap: 0.4rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
	padding: 0;
	margin: 0;
}
.yt-modal-playlist__track::-webkit-scrollbar {
	display: none;
}
.yt-modal-playlist__item {
	flex: none;
	width: 18vw;
	max-width: 20rem;
	aspect-ratio: 16 / 9;
	scroll-snap-align: center;
	border-radius: 0.3rem;
	overflow: hidden;
	opacity: .8;
	transition: opacity 0.2s ease;
}
.yt-modal-playlist__item:hover {
	opacity: .6;
}
.yt-modal-playlist__item.is-active {
	opacity: 1;
	border: solid 2px white;
}
.yt-modal-playlist__item a {
	display: block;
	width: 100%;
	height: 100%;
}
.yt-modal-playlist__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.yt-modal-playlist__prev,
.yt-modal-playlist__next {
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0,0,0,0.6);
	border: none;
	padding: 0;
	cursor: pointer;
}
.yt-modal-playlist__prev:hover,
.yt-modal-playlist__next:hover,
body.tbs-videos-modal-on div.tbs-videos-modal div.tbs-videos-modal-footer div.tbs-videos-modal-close:hover {
	opacity: .8;
}
.yt-modal-playlist__prev.hidden,
.yt-modal-playlist__next.hidden {
	opacity: 0.25;
	pointer-events: none;
	cursor: default;
}
.yt-modal-playlist__prev span,
.yt-modal-playlist__next span {
	display: block;
	width: 30px;
	aspect-ratio: 1 / 1;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	border-top-right-radius: 3px;
	margin: auto;
}
.yt-modal-playlist__prev span {
	transform: rotate(-135deg);
}
.yt-modal-playlist__next span {
	transform: rotate(45deg);
}

@media(max-width: 991.98px) {
	.yt-modal-playlist__item {
		width: 25vw;
		min-width: 40px;
	}
	.yt-modal-playlist__prev span,
	.yt-modal-playlist__next span,
	.yt-modal-playlist__prev span, 
	.yt-modal-playlist__next span{
		width: 20px;
		height: 20px;
	}
}