@charset "utf-8";
/*-----------------------------------------------
 * MOVIE
-------------------------------------------------*/
@media screen and (min-width:769px){
	.pMain{
		padding-top: min(calc(120 / var(--vw-min) * 100vw), calc(120px * var(--max-percent)));
	}
}
.pContents{
	max-width: 100%;
}

.pContent{
	width: min(calc(880 / var(--vw-min) * 100vw), calc(880px * var(--max-percent)));
	width: 100%;
	min-width: unset;
	position: relative;
}

.pContentTitle{
	width: min(calc(880 / var(--vw-min) * 100vw), calc(880px * var(--max-percent)));
	display: flex;
	justify-content: flex-end;
	margin: 0 auto;
	text-align: left;
	position: relative;
}
@media screen and (min-width:769px){
	.pContentTitle{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 2;
	}
}


.pContentIn{
	padding: 0;
}
.pContentIncont{
	width: 100%;
	padding-top: min(calc(48 / var(--vw-min) * 100vw), 48px);
}

@media screen and (max-width:768px){
	.pContent{
		width: 100%;
		min-width: 100%;
		padding-top: calc(20 / var(--vw-min) * 100vw);
	}
	.pContentIn{
		display: block;
		padding: 0;
	}
	.pContentTitle{
		width: 100%;
		justify-content: center;
		margin: 0 auto;
		text-align: center;
	}
	.pContentIncont{
		width: 100%;
		padding-top: calc(24 / var(--vw-min) * 100vw);
	}
}



.movieSwiper{
	position: relative;
	z-index: 1;
}
#character.--noSwiper .movieLists{
	justify-content: center;
}
.movieList{
	width: min(calc(880 / var(--vw-min) * 100vw), calc(880px * var(--max-percent)));
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}


.movieListCont{
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}
.movieThumb,
.movieThumb__img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	-webkit-mask: url(../img/movie/movieFrame.svg) no-repeat center / contain;
	mask: url(../img/movie/movieFrame.svg) no-repeat center / contain;
}
.movieThumb{
	background-color: #0D3FD6;
}


.movieThumb__line{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: url(../img/movie/movieLine.png) repeat 0 0;
}
.movieThumb__color{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: url(../img/movie/movieColor.png) no-repeat center / cover;
}
@supports (background-image: url(../img/movie/movieColor.webp)){
	.movieThumb__color{
		background-image:url(../img/movie/movieColor.webp);
	}
}
.movieThumb__overlay{
	position: absolute;
	top: -3.5556%;/* -16 */
	left: -1%;/* 8 */
	right: 0;
	bottom: 0;
	background: url(../img/movie/movieOverlay.png) no-repeat center / cover;
}
@supports (background-image: url(../img/movie/movieOverlay.webp)){
	.movieThumb__overlay{
		background-image:url(../img/movie/movieOverlay.webp);
	}
}


.movieLink{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
	overflow: hidden;
}


.moviePlay{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
	overflow: hidden;
}
.btn_moviePlay{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
}
.moviePlay__icon{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: min(calc(80 / var(--vw-min) * 100vw), calc(80px * var(--max-percent)));
	height: min(calc(80 / var(--vw-min) * 100vw), calc(80px * var(--max-percent)));
	background: url(../img/common/icon_play.svg) no-repeat center / contain;
	margin: auto;
}

@media screen and (max-width:768px){
	.movieList{
		width: calc(520 / var(--vw-min) * 100vw);
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}
	.moviePlay__icon{
		width: calc(64 / var(--vw-min) * 100vw);
		height: calc(64 / var(--vw-min) * 100vw);
	}
}


@media screen and (hover:hover) and (pointer: fine){
	.moviePlay__icon{
		transition: transform .3s ease;
	}
	.btn_moviePlay:hover .moviePlay__icon{
		transform: scale(105%);
	}
}

/**
* titleSlide
**/
.bg_titleSlide{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	z-index: 0;
}
.bg_titleSlideTxt{
	width: 100%;
	height: min(calc(160 / var(--vw-min) * 100vw), calc(160px * var(--max-percent)));
	animation: ani_titleSlideTxt 32.21s linear infinite;
	background: url(../img/movie/txt_slidemovie.svg) repeat-x;
	background-size: min(calc(3221 / var(--vw-min) * 100vw), calc(3221px * var(--max-percent)));
}
@keyframes ani_titleSlideTxt {
	0%{background-position-x: 0px;}
	100%{background-position-x: max(calc(-3221 / var(--vw-min) * 100vw), calc(-3221px * var(--max-percent)));}
}

@media screen and (max-width:768px){
	.bg_titleSlide{
		position: relative;
		bottom: unset;
		align-items: unset;
		margin-top: calc(-16 / var(--vw-min) * 100vw);
	}
	.bg_titleSlideTxt{
		height: calc(80 / var(--vw-min) * 100vw);
		background-size: calc(1611 / var(--vw-min) * 100vw);
	}
	@keyframes ani_titleSlideTxt {
		0%{background-position-x: 0px;}
		100%{background-position-x: calc(-1611 / var(--vw-min) * 100vw);}
	}
}


/**
* Arrow
**/
.movieSwiperArrowArea{
	width: min(calc(880 / var(--vw-min) * 100vw), calc(880px * var(--max-percent)));
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
}
.btn_swiperArrow{
	display: block;
	width: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	height: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	position: relative;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255, 50%);
}
.btn_swiperArrow:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 20%;
	height: 20%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;

	-webkit-mask-image: url(../img/common/arrow_l.svg);
	mask-image: url(../img/common/arrow_l.svg);

	background-color: #fff;
	margin: auto;
}

.btn_swiperArrow.-next:after{
	transform: rotate(225deg);
}
.btn_swiperArrow.-prev:after{
	transform: rotate(45deg);
}

@media screen and (max-width:768px){
	.movieSwiperArrowArea{
		width: 100%;
		padding: calc(12 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) 0;
	}
	.btn_swiperArrow{
		width: calc(32 / var(--vw-min) * 100vw);
		height: calc(32 / var(--vw-min) * 100vw);
	}
}


@media screen and (hover:hover) and (pointer: fine){
	.btn_swiperArrow:before{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(255, 255, 255, 60%);
		opacity: 0;
		transform: scale(88%);
		transition: .4s ease;
		border-radius: 50%;
		-webkit-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
	}

	.btn_swiperArrow:after{
		transition: transform .3s ease;
	}

	.btn_swiperArrow:hover::before{
		opacity: 60%;
		transform: scale(100%);
	}

	.btn_swiperArrow.-next:hover::after{
		transform: rotate(225deg) scale(110%);
	}
	.btn_swiperArrow.-prev:hover::after{
		transform: rotate(45deg) scale(110%);
	}
}



/**
* InPage - Loading
**/
/* ページの内容 */
.movieSwiperArrowArea,.bg_titleSlide{
	opacity: 0;
	filter: blur(4px);
	transition: opacity .45s ease, filter .8s cubic-bezier(.31,.57,.62,1) .2s;
}
.bg_titleSlide{
	filter: blur(8px);
}

.movieListCont{
	opacity: 0;
	filter: blur(4px);
	transform: scale(98%);
	transition: opacity .4s ease, filter .8s cubic-bezier(.31,.57,.62,1), transform .8s cubic-bezier(.31,.57,.62,1);
}


body.--load.--is-loaded .movieSwiperArrowArea,
body.--load.--is-loaded .bg_titleSlide{
	opacity: 1;
	filter: blur(0px);
}
body.--load.--is-loaded .movieListCont{
	opacity: 1;
	filter: blur(0px);
	transform: scale(100%);
}