@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;
}

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

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

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

/* title */
.fvTltle {
	background: url(../img/common/main_logo.svg) no-repeat 0 0 / 100%;
	width: 440px;
	height: 88px;
}
@media screen and (max-width:767px){
	.fvTltle {
		width: 260px;
		height: 52px;
	}
}

/* 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;
	}
}

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

/**
 * .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;
	}
}

/**
 * chengeBtnListsWrap
 */
.chengeBtnListsWrap {
	width: 24px;
	position: absolute;
	top: 40px;
	right: 28px;
	z-index: 100;
}
@media screen and (max-width:767px){
	.chengeBtnListsWrap {
		display: none;
	}
}

/* item */
.chengeBtnLists__item {
	width: 24px;
	height: 24px;
	position: relative;
}
.chengeBtnLists__item:not(:first-child) {
	margin-top: 24px;
}

/* bace circle */
.chengeBtnLists__item:before {
	content: "";
	border: 1px solid #fff;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .24;
}

/* link */
.chengeBtnLists__link {
	display: block;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	position: relative;
}

/* center dot */
.chengeBtnLists__link:before {
	content: "";
	background-color: #fff;
	border-radius: 50%;
	width: 4px;
	height: 4px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.chengeBtnLists__item.is-black .chengeBtnLists__link.is-active:before {
	background-color: rgb(var(--main-color-red));
}
.chengeBtnLists__item.is-white .chengeBtnLists__link.is-active:before {
	background-color: rgb(var(--main-color-lightblue));
}

/* circle */
.chengeBtnLists__circle {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* svg */
.chengeBtnLists__circle .svg {
	position: absolute;
	display: block;
	top: -5px;
	right: -5px;
	bottom: -5px;
	left: -5px;
	width: 26px;
	height: 26px;
	stroke: currentColor;
	stroke-width: 2px;
	stroke-dasharray: 78px 78px;
	stroke-dashoffset: 78px;
	fill: none;
	margin: auto;
	outline: none;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	z-index: 3;
}
.chengeBtnLists__link.is-active .chengeBtnLists__circle .svg {
	animation: circle 25s forwards;
}
@keyframes circle {
	0% { stroke-dashoffset: 78px; }
	100% { stroke-dashoffset: 0; }
}

.chengeBtnLists__circle .circle {
	stroke: #fff;
	stroke-width: 1;
}
/* .chengeBtnLists__circle .circle {
	fill: transparent;
	stroke: #fff;
	stroke-width: 1;
	animation: circle-out .8s forwards;
} */
/* .chengeBtnLists__link.is-active .chengeBtnLists__circle .circle {
	animation: circle 22s forwards;
}
@keyframes circle {
	0% { stroke-dasharray: 0 calc(var(--circle-svg) * 3.14); }
	99.9%,100% { stroke-dasharray: calc(var(--circle-svg) * 3.14) calc(var(--circle-svg) * 3.14); }
}
@keyframes circle-out {
	0%,100% {
		stroke-dasharray: 0 calc(var(--circle-svg) * 3.14);
	}
} */

/**
 * 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;
	}
}


/**
 * fvVisualListsWrap
 */
.fvVisualListsWrap {
	width: 50%;
	pointer-events: none;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	.fvVisualListsWrap {
		width: calc(100% - 40px);
		margin-top: 20px;
		z-index: 2;
	}
}

/* lists */
.fvVisualLists {
	width: 100%;
}

/* item */
.fvVisualLists__item {
	width: 100%;
	overflow: hidden;
	position: relative;
}

/* cover */
.fvVisualLists__item:after {
	content: "";
	-webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
	background-color: #000;
	width: 100%;
	height: 100%;
	opacity:1;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: opacity 1s ease,
	background-color .4s ease;
}
body.body.is-change .fvVisualLists__item:after {
	background-color: #fff;
}
.fvVisualLists__item.swiper-slide-active:after {
	transition-delay: .3s;
	opacity: 0;
}


/* img */
.fvVisualLists__item img {
	width: 100%;
	position: relative;
	z-index: 1;
	transform-origin:top center;
}
.fvVisualLists__item.swiper-slide-active img{
	animation: scaleUP 1.6s cubic-bezier(0.25, 1, 0.5, 1) 19s 1 normal both;
}

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


/*-----------------------------------------------
 * 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;
}


/*-----------------------------------------------
 * 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;
	}
}