@charset "utf-8";
/*-----------------------------------------------
 * common
 * First view
 * Movie
 * Top section
 * News
-------------------------------------------------*/
/*-----------------------------------------------
 * common
-------------------------------------------------*/
:root {
	--circle-svg: 24px;
	--change-transition: .4s ease-in-out;
}

@keyframes scrollDown {
	0% { top: -100%; }
	70%, 100% { top: 100%; }
}

/**
 * mainTop
 */
.mainTop {
	padding-bottom: 240px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	.mainTop {
		padding-bottom: 120px;
	}
}

#loading{
	width: 100%;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
	background-color: #000;
}
#load{
	position: absolute;
	transform: rotate(30deg);
	top: calc(50% - 68px);
	left: 50%;
}
#loading_bar{
	width: 1px;
	height: 160px;
	background-color: rgba(255,255,255,0.2);
	position: relative;
}
#loading_barIn{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 80%;
	background-color: #fff;
	animation: loadbarAni 1.2s linear;
	animation-fill-mode: forwards;
	transition: 2s ease;
}
@keyframes loadbarAni {
	0%{
		bottom: 100%;
	}
	20%{
		bottom: 100%;
	}
	60%{
		bottom: 80%;
	}
	80%{
		bottom: 25%;
	}
	100%{
		bottom: 10%;
	}
}
#loading_barIn.js-loadfin{
	bottom: 0%;
	animation-fill-mode: none;
}

.js-load03{
	display: none;
}
.js-load04:before{
	opacity: 0;
	transition:opacity 3.6s ease!important;
	transition-delay : 0.1s!important;
}
.js-load04.js-loadon:before{
	opacity: 1;
}
.js-load05{
	position: absolute;
	opacity: 0;
	transition: 3.6s cubic-bezier(0.46, 0.32, 0.29, 1.02);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	transform: scale(0.98);
}
.js-load05.js-loadon{
	opacity: 1;
	transform: scale(1);
}

#logoWrap:before{
	top: 22px;
	bottom: 22px;
	right: 0;
	left: 0;
}
.js-load06, .js-load07{
	opacity: 0;
}
.js-load07.js-load07on{
	opacity: 1;
}
.js-load06.js-load06on{
	opacity: 0.2;
}
.js-load06{
	transition: 1s ease;
}
.js-load07{
	filter: blur(16px);
	transition: 1.8s ease-in-out;
}
.js-load07.js-load07on2{
	filter: blur(0);
	transition-delay: .4s;
}


/*-----------------------------------------------
 * First view
-------------------------------------------------*/
.firstview {
	position: relative;
	z-index: 1;
	background-color: #000;
}

/* inner */
.firstview__inner {
	display: flex;
	width: 100%;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	.firstview__inner {
		flex-direction: column;
		min-height: min(100vh, 183.2525vw);
		min-height: min(100svh, 183.2525vw);
	}
}

/**
 * fvTltleArea
 */
.fvTltleAreaWrap{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
}
.fvTltleArea {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	min-height: var(--common-min-height);
	position: sticky;
	top: 0;
	z-index: 2;
}
@media screen and (max-width:767px){
	.fvTltleAreaWrap{
		position: unset;
		order: 2;
		margin-top: auto;
	}
	.fvTltleArea {
		width: 100%;
		height: auto !important;
		position: unset;
		z-index: 1;
	}
}

/* inner */
.fvTltleArea__inner {
	width: 50%;
	margin-right:auto;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	.fvTltleArea__inner {
		width:100%;
		margin: 20px 0 80px;
	}
}

/* title */
.fvTltle {
	background: url(../img/common/main_logo.svg) no-repeat center / contain;
	width:60%;
	padding-top:12%;
}
@media screen and (max-width:767px){
	.fvTltle {
		width: 69.3334%; /* 260px */
		padding-top: 13.8667%;
		margin-top: 3.2%;
	}
}

/* ONAIR */
.fvTltle_onair{
	width: 60%;
	padding-top: 12%;
	margin-top: 30px;
	background: url(../img/top/tonair.svg) no-repeat center / contain;
}
@media screen and (max-width: 767px){
	.fvTltle_onair{
		width: 67.4667%; /* 178px*/
		padding-top: 7.5334%;
		margin-top: 3.2%;
	}
}

.fvTltle_visualNav {
	position: absolute;
	right:0;
	top:40px;
	z-index:5000;
	overflow: hidden;
	padding-left:20px;
}
@media screen and (max-width:768px){
	.fvTltle_visualNav {
		top:116vw;
	}
}
.fvTltle_visualNav li {
	width:calc(100% + 10px);
	margin-bottom:6px;
	transform:skewX(-20deg);
	transform-origin: left bottom;
	background:#666;
	transition:all 0.3s ease;
	font-size:12px;
	
}
@media screen and (max-width:767px){
	.fvTltle_visualNav li {
		width:calc(100% + 3vw);
		margin-bottom:2vw;
		font-size:2.8vw;
	}
}
.fvTltle_visualNav li.active {
	transform:skewX(-20deg) translateX(-10px);
}
@media screen and (max-width:767px){
	.fvTltle_visualNav li.active {
		transform:skewX(-20deg) translateX(-3vw);
	}
}
.fvTltle_visualNav li:hover,
.fvTltle_visualNav li.active {
	background:rgb(var(--main-color-red));
}
.fvTltle_visualNav li a {
	text-align: right;
	display: flex;
	align-items: center;
	padding:0 10px 0 16px;
	color:#000;
	text-decoration: none;
	transform:skewX(20deg);
}
@media screen and (max-width:767px){
	.fvTltle_visualNav li a {
		padding:0 3vw 0 2vw;
	}
}
/* start */
.fvTltle__start {
	background-color: #fff;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-image: url(../img/common/start_date.svg);
	mask-image: url(../img/common/start_date.svg);
	width: 302px;
	height: 122px;
	margin-top: 80px;
}
@media screen and (max-width:767px){
	.fvTltle__start {
		width: 210px;
		height: 83px;
		margin-top: 20px;
	}
}

/** 2nd **/
.fvTitle__2nd{
	margin-top: 64px;
	font-size: 68px;
	font-weight: 700;
	color: #FFF;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.05em;
	transition: .3s ease;
}
.fvTitle__2nd span{
	display: inline-block;
	-moz-transform: scale(0.7, 1);
	-webkit-transform: scale(0.7, 1);
	-ms-transform: scale(0.7, 1);
	transform: scale(0.7, 1);
	transform-origin: center center;
}
.body.is-change .fvTitle__2nd{
	color: #000;
}
@media screen and (max-width:767px){
	.fvTitle__2nd{
		font-size: 40px;
		margin-top: 26px;
	}
}

/** bannerLists **/
.fvTltleArea__bannerLists{
	position: absolute;
	top: 0;
	left: 0;
	width: 200px;
	z-index: 3;
	margin: 40px 0 0 40px;
}
.fvTltleArea__bannerList{
	width: 100%;
}
.fvTltleArea__bannerList a{
	display: block;
	width: 100%;
}
.fvTltleArea__bannerList img{
	width: 100%;
}
@media screen and (min-width: 768px){
	.fvTltleArea__bannerList a:hover{
		animation: .2s linear 0s flashAni;
		filter: brightness(125%);
	}
}
@media screen and (max-width: 767px){
	.fvTltleArea__bannerLists{
		width: 28.8%;
		z-index: 11;
		margin-top: 2.1334%;
		margin-left: 2.1334%;
	}
}


/**
 * fvTltleArea__cover
 */
.fvTltleArea__cover {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
@media screen and (max-width:767px){
	.fvTltleArea__cover {
		width: 100%;
		z-index: unset;
	}
}

/**
 * .fvTltleArea__corner
 */
.fvTltleArea__corner {
	width: 100%;
	height: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.fvTltleArea__corner.is-sp {
	display: none;
}
@media screen and (max-width:767px){
	.fvTltleArea__corner {
		display: none;
	}
	.fvTltleArea__corner.is-sp {
		display: block;
		z-index: 100;
		pointer-events: none;
	}
}

/* img */
.fvTltleArea__corner:before,
.fvTltleArea__corner:after {
	content: "";
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
	position: absolute;
	width: 80px;
	height: 136px;
	overflow: hidden;
	z-index: 1;
}
@media screen and (max-width:767px){
	.fvTltleArea__corner:before,
	.fvTltleArea__corner:after {
		width: 40px;
    	height: 70px;
	}
}

.fvTltleArea__corner:before {
	background-image: url(../img/common/corner_l.svg);
	top: 0;
	left: 0;
}
.fvTltleArea__corner:after {
	background-image: url(../img/common/corner_r.svg);
	bottom: 0;
	right: 0;
}


/**
 * fvTltleArea__en
 */
.fvTltleArea__en {
	width: 100%;
	height: 136px;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	left: 0;
	z-index: 9;
}
@media screen and (max-width:767px){
	.fvTltleArea__en {
		height: 70px;
	}
}

.fvTltleArea__en.is-top {top: 0;}
.fvTltleArea__en.is-bottom { bottom: 0;}

/* mask */
.fvTltleArea__en.is-top {
	clip-path: polygon(80px 0, 100% 0, 100% 100%, 0% 100%);
}
.fvTltleArea__en.is-bottom {
	clip-path: polygon(0 0, 100% 0, calc(100% - 80px) 100%, 0% 100%);
}
@media screen and (max-width:767px){
	.fvTltleArea__en.is-top {
		clip-path: polygon(40px 0, 100% 0, 100% 100%, 0% 100%);
	}
	.fvTltleArea__en.is-bottom {
		clip-path: polygon(0 0, 100% 0, calc(100% - 40px) 100%, 0% 100%);
	}
}

/* img */
.fvTltleArea__en:after {
	content: '';
	background-image: url(../img/common/ttl_eng.svg);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: cover;
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
}
.fvTltleArea__en.is-top:after {
	top: -76px;
	animation: Topslideeng 160s linear infinite;
}
.fvTltleArea__en.is-bottom:after {
	bottom: -44px;
	animation: Bottomslideeng 160s linear infinite;
}
@media screen and (max-width:767px){
	.fvTltleArea__en.is-top:after {
		top: -38px;
	}
	.fvTltleArea__en.is-bottom:after {
		bottom: -22px;
	}
}

/**
 * fvTltleArea__enText
 */
.fvTltleArea__enText {
	font-size: 10px;
	line-height: 2;
	opacity: 0.2;
	color: #fff;
	font-weight: 700;
	pointer-events: none;
	position: absolute;
	bottom: 40px;
	left: 40px;
	z-index: 8;
}
@media screen and (max-width:767px){
	.fvTltleArea__enText {
		width: 100%;
		padding: 0 10px;
		bottom: 60px;
		left: 0;
		opacity: 0.1;
	}
}



/**
 * fvTltleArea__scrBtnWrap
 */
.fvTltleArea__scrBtnWrap {
	position: absolute;
	width: 80px;
	padding-top: 240px;
	right: 0;
	bottom: 40px;
	z-index: 10;
	display: flex;
	justify-content: center;
	z-index: 11;
}
@media screen and (max-width:767px){
	.fvTltleArea__scrBtnWrap {
		width: 40px;
		padding-top: 150px;
		bottom: 20px;
	}
}

/**
 * fvTltleArea__visuals
 */
.fvTltleArea__visualWrap{
	position: relative;
	width: 50%;
	margin: 0 0 0 auto;
/*	filter: brightness(3) contrast(3);*/
	transition: filter 2s cubic-bezier(.39,.25,.26,1) .5s;
}
body.--loaded .fvTltleArea__visualWrap{
	/*filter: brightness(100%) contrast(100%);*/
	/* animation: flashAni .2s linear 3.4s; */
}
body.--noloadani .fvTltleArea__visualWrap{
	transition: unset;
	filter: unset;
}
.fvTitleArea__visualLists {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
}
.fvTltleArea__visualIn{
	width: 100%;
	padding-top: 140.9091%;
	position: relative;
}
.fvTltleArea__visualIn img{
	width:100%;
	height:100%;
	display: block;
	object-fit: contain;
	-webkit-touch-callout: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-moz-touch-callout: none;
	touch-callout: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	user-drag: none;
}
.v2e {
	position: absolute;
	left:0;
	top:0;
	opacity:0;
}
.v2e.e {
	animation:flash 0.24s linear forwards;
}
@keyframes flash {
	0%,20%,40%,60%,80%,99% {
		opacity:0;
	}
	10%,30%,50%,70%,90%,100% {
		opacity:1;
	}
}
@media screen and (max-width: 767px){
	.fvTltleArea__visualWrap{
		width: calc(100% - 40px);
		margin-top: 20px;
		z-index: 10;
/*		filter: brightness(4) contrast(4) opacity(1) saturate(1);*/
		/*transition: filter 1.7s linear .4s;*/
	}
	body.--loaded .fvTltleArea__visualWrap{
		/*filter: brightness(1) contrast(1) opacity(1) saturate(1);*/
		/* animation: flashAni .2s linear 2.2s; */
	}
}


@keyframes scaleUP {
	0% {
		opacity: 1;
		transform: scale(1);
	}
	60%,100% { transform: scale(1.6);opacity: 0; }
}

.--tlani_op{
	opacity: 0;
	filter: blur(20px);
}
body.--noloadani .--tlani_op{
	filter: unset;
	opacity: unset;
}
body.--loaded .--tlani_op{
	opacity: 1;
	filter: blur(0px);
	transition: opacity 1s cubic-bezier(.54,.14,.39,.99) 3.9s,  filter 1.8s cubic-bezier(.54,.14,.39,.99) 4s;
}
@media screen and (max-width:767px){
	::-webkit-full-page-media, :future, :root .--tlani_op{
		filter: unset;
	}
	body.--loaded .--tlani_op{
		transition-delay: 2.3s, 2.4s;
	}
}



/*-----------------------------------------------
 * Movie
-------------------------------------------------*/
.movie {
	width: 100%;
	height: 100vh;
	min-height: var(--common-min-height);
	position: relative;
	z-index: 2;
}
@media screen and (max-width:767px){
	.movie {
		height: auto;
		padding-top: 56.25%;
	}
}

/**
 * movieLinkWrap
 */
.movieLinkWrap {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* link */
.movieLink {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* icon */
.movieLink__icon {
	background-color: rgba(255,255,255,.4);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	width: 120px;
	height: 80px;
	-webkit-mask-image: url(../img/common/icon_play.svg);
	mask-image: url(../img/common/icon_play.svg);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: -40px;
}

/**
 * movie__bg
 */
.movie__bg {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

/* cover */
.movie__bg:after {
	content: "";
	background-color: rgba(0,0,0,.5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* inner */
.movie__bg__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 0;
}
@media screen and (max-width: 767px){
	.movie__bg__inner {
		width: 100%;
		height: 100vh!important;
	}
}

/*-----------------------------------------------
 * News
-------------------------------------------------*/
/**
 * newsLists
 */
/* wrap */
.newsListsWrap {
	padding: 80px;
}
@media screen and (max-width:767px){
	.newsListsWrap {
		padding: 20px;
	}
}

/* item */
.newsLists__item:not(:first-child) {
	margin-top: 40px;
}
@media screen and (max-width:767px){
	.newsLists__item:not(:first-child) {
		margin-top: 12px;
	}
}

/* link */
.newsLists__link {
	background-color: rgba(0,0,0,.6);
	display: block;
	width: 100%;
	position: relative;
	padding: 40px;
	text-decoration: none;
	transition: background-color .2s ease;
}
.newsLists__link:hover {
	background-color: rgba(0,0,0,1);
	animation: flashAni .2s linear;
}
@media screen and (max-width:767px){
	.newsLists__link {
		padding: 12px;
	}
	.newsLists__link:hover {
		animation: none;
	}
}

/* date */
.newsLists__date {
	color: rgb(var(--main-color-red));
	font-size: 16px;
	line-height: 1;
	margin-bottom: 10px;
}
@media screen and (max-width:767px){
	.newsLists__date {
		font-size: 12px;
		margin-bottom: 6px;
	}
}

/* title */
.newsLists__title {
	color: #fff;
	font-size: 16px;
	line-height: 1.8;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
@media screen and (max-width:767px){
	.newsLists__title {
		font-size: 12px;
		-webkit-line-clamp: 3;
	}
}

/* more btn */
.newsLists__more {
	width: 400px;
	margin: 40px auto 0;
}
@media screen and (max-width:767px){
	.newsLists__more {
		width: calc(100% - 40px);
		margin: 20px auto 0;
	}
}


/*-----------------------------------------------
 * Twitter
-------------------------------------------------*/
/**
 * twitterwjCont
 */
.twitterwjCont {
	padding: 80px;
}
@media screen and (max-width:767px){
	.twitterwjCont {
		padding: 20px;
	}
}

/* twitter-timelineWrap */
.twitter-timelineWrap {
	background-color: #000;
	width: 100%;
	height: 560px;
	position: relative;
}
@media screen and (max-width:767px){
	.twitter-timelineWrap {
		height: auto;
		padding-top: 100%;
	}
}

/* twitter-timeline */
.twitter-timelineWrap .twitter-timeline {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	position: absolute;
	top: 0;
	left: 0;
}

/* more btn */
.twitterwj__more {
	width: 400px;
	margin: 40px auto 0;
}
@media screen and (max-width:767px){
	.twitterwj__more {
		width: calc(100% - 40px);
		margin: 20px auto 0;
	}
}


#accessModal .oneModalIn__cont{
	width: 100%;
}
.accessModal__img {
	width: 56.6667%;
	margin: 0 auto;
	max-width: 1400px;
}
.accessModal__img img{
	max-width: 100%;
	-webkit-touch-callout: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-moz-touch-callout: none;
	touch-callout: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	user-drag: none;
}
@media screen and (max-width:767px){
	.accessModal__img {
		width: 100%;
	}
}


@media screen and (min-width: 767px){
	#accessModal_b .oneModalIn__cont{
		padding: 0;
	}
	#accessModal_b .accessModal__img{
		max-height: 100vh;
	}
	#accessModal_b .accessModal__img img{
		height: 100vh;
		object-fit: contain;
	}
}