@charset "UTF-8";
/*-----------------------------------------------
 * Loading
 * First
 * Movie
 * Update
 * Intro
 * Story
-------------------------------------------------*/
/*-----------------------------------------------
 * Loading
-------------------------------------------------*/
#loading {
	position: fixed;
	z-index:50000;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background:#000;
}
#loading__clover {
	width:80px;
	height:81px;
	text-align: center;
	position: absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
#loading__clover .st0 {
	animation: loadings 1.5s linear infinite;
	stroke-dasharray: 600;
	stroke-dashoffset: 0;
	stroke-width:1;
}
@keyframes loadings {
	0% {
 stroke-dashoffset: 600;
}
50% {
	stroke-dashoffset:0;
}
100% {
	stroke-dashoffset:-600;
}
}
#loading.on #loading__clover .st0 {
	fill:#fff;
	transition:all 0.75s ease;
	stroke-width:0;
}


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

/**
 * visual
 */
.firstVisual {
	width: 50%;
}
.firstVisual__inner {
	background: url(../img/top/fv_visual.jpg) no-repeat 0 0 / 100%;
	padding-top: 141.33333%;
	filter:brightness(400%);
	transition:filter 1.5s ease;
}
.firstVisual__inner.on {
	filter:brightness(1);
}
@media screen and (max-width:767px){
	.firstVisual {
		width: 100%;
		order: 1;
	}
}

/**
 * firstTitleArea
 */
.firstTitleArea {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 50%;
	height: 100vh;
	max-height: 84vw;
    min-height: 49.25vw;
	position: sticky;
	top: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 2s;
}
.firstTitleArea.on {
	opacity: 1;
}
.fvTltleArea__inner {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 750px;
	position: relative;
	z-index: 1;
	order: 2;
}
@media screen and (max-width:767px){
	.firstTitleArea {
		display: block;
		width: 100%;
		height: auto !important;
		margin-top: -45.66666vw;
		max-height: inherit;
		min-height: auto;
		position: relative;
		order: 2;
	}
	.fvTltleArea__inner {
		max-width: 100%;
	}
}

/* staff */
.firstStaff {
	background: url(../img/top/fv_staff.svg) no-repeat 0 0 / 100%;
	width: 60.33333%;
	margin: 0 auto;
	padding-top: 8%;
}
@media screen and (max-width:767px){
	.firstStaff {
		background-image: url(../img/top/fv_staff_sp.png);
		width: 62.13333vw;
		height: 11.2vw;
		padding-top: 0;
	}
}

/* logo */
.firstLogo {
	background-color: #fff;
	-webkit-mask: url(../img/common/logo/logo.svg) no-repeat 0 0 / 100%;
	mask: url(../img/common/logo/logo.svg) no-repeat 0 0 / 100%;
	width: 73.33333%;
	padding-top: 32.9999997%;
	margin: 8.1082% auto 0;
}

/**
 * firstBottom
 */
.firstBottom {
	width: 200%;
	position: absolute;
	left: 0;
	bottom: 40px;
}
@media screen and (max-width:1200px){
	.firstBottom {
		bottom: 18px;
	}
}
@media screen and (max-width:767px){
	.firstBottom {
		width: 100%;
		margin-top: 7.722%;
		position: relative;
		left: auto;
		bottom: auto;
	}
}

/* start */
.firstStart {
	background-color: #fff;
	display: block;
	-webkit-mask: url(../img/top/fv_startdate_2.svg) no-repeat center / contain;
	mask: url(../img/top/fv_startdate_2.svg) no-repeat center / contain;
	width: 86.75%;
	max-width: 1600px;
	margin: 0 auto;
	padding-top: 2.75%;
}
@media screen and (max-width:767px){
	.firstStart {
		-webkit-mask-image: url(../img/top/fv_startdate_2_sp.svg);
		mask-image: url(../img/top/fv_startdate_2_sp.svg);
		width: 80.53333vw;
		height: 10.93333vw;
		max-width: 100%;
		padding-top: 0;
	}
}

/**
 * firstLinkLists
 */
.firstLinkLists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 60px;
	width: 85%;
	margin-top: 7.722%;
}
/* item */
.firstLinkLists__item {
	width: calc(50% - 30px);
}
.firstLinkLists__link {
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.01em;
	padding: 10px 0;
}
@media screen and (max-width: 1180px){
	.firstLinkLists {
		display: block;
	}
	.firstLinkLists__item {
		width: 100%;
	}
	.firstLinkLists__item:not(:first-child) {
		margin-top: 10px;
	}
}
@media screen and (max-width:767px){
	.firstLinkLists {
		width: 66.66666vw;
	}
	.firstLinkLists__link {
		font-size: 12px;
	}
}

/**
 * firstBnrLists
 */
.firstBnrLists {
	order: 1;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 0 min(1.66666vw,20px);
	position: absolute;
	top: 5%;
	left: 0;
}
.firstBnrLists__item {
	width: min(20vw,240px);
}
.firstBnrLists__item img {
	width: 100%;
}
@media screen and (max-width:1200px){
	.firstBnrLists {
		position: relative;
		top: 0;
		margin-bottom: 2vw;
	}
	.firstBnrLists__item {
		width: 14vw;
	}
}
@media screen and (max-width:767px){
	.firstBnrLists {
		display: block;
	    padding: 0 6vw;
		margin-top: 8vw;
		margin-bottom: 0;
	}
	.firstBnrLists__item {
		width: 100%;
		padding: 0 10vw;
	}
	.firstBnrLists__item:not(:first-child) {
		margin-top: 4vw;
	}
}


/*-----------------------------------------------
 * Movie
-------------------------------------------------*/
.topPageIn{
	padding-top: 80px;
	position: relative;
}
@media screen and (max-width: 767px){
	.topPageIn{
		width: 100%;
		padding-top: 13.4454%;
	}
}

.tmovieWrap{
	width: 100%;
/*	max-width: 2560px;*/
	position: relative;
	margin: auto;
	margin-top: 334px;
	margin-top: 16.7vw;
	z-index: 1;
}
.tmovie{
	transform: skewY(30deg);
	width: 100%;
	height: 320px;
	/*height: min(26.6667vw, 512px);*/
	background-color: red;
	position: relative;
	overflow: hidden;
	z-index: 2;
}
.tmovieIn{
	transform: skewY(-30deg);
	width: 100%;
	height: 500%;
	position: absolute;
	top: -250%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.tmovieIn__movie {
	width: 100%;
	height: 150%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.tmovieIn__movie:after {
	content: "";
	background-color: #d32f2f;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	mix-blend-mode: multiply;
}
.tmovieIn__movie:before {
	content:'';
	position: absolute;
	right:-100px;
	top:-100px;
	width:calc(100% + 100px);
	bottom:-100px;
	background:#000;
	transition:all 0.3s ease;
	z-index:2;
}
.tmovie.skon .tmovieIn__movie:before {
	width: 0
}
.tmovieIn__movie--play {
	width: 200%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 0;
}

.tmovieIn--linkWrap{
	transform: skewY(30deg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	overflow: hidden;
	width: 100%;
	height: 320px;
	z-index: 1000;
}
.tmovieIn--linkIn{
	width: 100%;
	height: 100%;
}
.tmovieIn--linkIn a{
	display: block;
	width: 100%;
	height: 100%;
}
.tmovieIn--link__icon {
	transform: skewY(-30deg);
	margin: auto;
	width: 80px;
	height: 80px;
	-webkit-mask-image: url("../img/common/icon/icon_play.svg");
			mask-image: url("../img/common/icon/icon_play.svg");
	-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
	-webkit-mask-position: center;
			mask-position: center;
	-webkit-mask-size: 100%;
			mask-size: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: -40px;
	z-index: 3;
	transition: .3s ease;
}

.tmovieIn--linkIn a:hover .tmovieIn--link__icon {
	background-color: #fff;
	transform: scale(1.05) skewY(-30deg);
}




.topPageIn--top_skewWrap{
	width: 100%;
	height: 320px;
	position: absolute;
	top: -300px;
	left: 0;
}
.topPageIn--top_skew{
	transform: skewY(-30deg);
	background-color: #FFFF;
	mix-blend-mode: soft-light;
	width: 100%;
	height: 100%;
	position: relative;
}
.topPageIn--top_skewIn {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	bottom:0;
	background:#7a7a7a;
	transition:all 0.3s ease;
}
.topPageIn.skon .topPageIn--top_skewIn{
	width: 0
}
@media screen and (max-width: 767px){
	.tmovieWrap{
		margin-top: min(12.8vw, 96px);
	}
	.tmovie{
		height: min(42.6667vw, 320px);
	}
	.tmovieIn--linkWrap{
		height: min(42.6667vw, 320px);
	}
	.tmovieIn--link__icon {
		width: min(12.8vw, 96px);
		height: min(12.8vw, 96px);
		left: max(-6.4vw, -48px);
	}

	.topPageIn--top_skewWrap{
		height: min(42.6667vw, 320px);
		top: max(-46.6667vw,-350px);
	}
}


/*-----------------------------------------------
 * intro
-------------------------------------------------*/
.p-index-intro {
	position: relative;
	margin-bottom: 100px;
}

.p-index-intro__inner {
	position: relative;
    z-index: 101;
}

@media screen and (max-width: 767px) {
	.p-index-intro {
		margin-bottom: 0;
	}
}

.p-index-intro__in {
	padding: 0 20vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
			-ms-flex-direction: column;
					flex-direction: column;
	position: relative;
	z-index: 101;
}

@media screen and (max-width: 767px) {
	.p-index-intro__in {
		padding: 0 6.4vw;
	}
}
.p-index-intro__catch {
	margin-bottom: 60px;
}
.p-index-intro__catch > p {
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	line-height: 2;
	transform-origin: left;
    width: 83%;
}

@media screen and (max-width: 767px) {
	.p-index-intro__catch {
		margin-bottom: 5.33333vw;
	}
	.p-index-intro__catch > p {
		font-size: 14px;
		font-size: 3.73333vw;
		letter-spacing: 0.001em;
	}
}

.p-index-intro__catch.-red {
	margin-top: 60px;
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.p-index-intro__catch.-red {
		margin-top: 5.33333vw;
	}
}

.p-index-intro__catch.-red p {
	color: rgb(var(--color-red));
}

.p-index-intro__txts {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
			-ms-flex-direction: column;
					flex-direction: column;
	gap: 60px;
}
.p-index-intro__txts.is-textLast {
	margin-top: 60px;
}

@media screen and (max-width: 767px) {
	.p-index-intro__txts {
		gap: 5.33333vw;
	}
	.p-index-intro__txts.is-textLast {
		margin-top: 5.33333vw;
	}
}

.p-index-intro__txt {
	font-size: 16px;
	line-height: 3;
	font-weight: 400;
	color: #ccc;
}

@media screen and (max-width: 767px) {
	.p-index-intro__txt {
		font-size: 12px;
		font-size: 3.2vw;
		line-height: 2;
	}
}

.p-index-intro__deco {
	position: absolute;
	width: 100%;
	height: calc(100% - 260px);
	top: 260px;
	left: 0;
	mix-blend-mode: soft-light;
	z-index: 200;
}
@media screen and (max-width: 767px) {
	.p-index-intro__deco {
		height: calc(100% - 20vw);
		top: 20vw;
	}
}

.p-index-intro__deco--item {
	width: 13vw;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
}

.p-index-intro__deco--item.deco-right {
	right: 0;
	background: url("../img/top/intro_catch_right.svg") no-repeat center top/contain;
}

.p-index-intro__deco--item.deco-left {
	left: 0;
	background: url("../img/top/intro_catch_left.svg") no-repeat center top/contain;
}

/*-----------------------------------------------
 * update
-------------------------------------------------*/
.p-index-update {
	position: relative;
	margin-bottom: 240px;
	/* update__news */
	/* update__twitter */
}

@media screen and (max-width: 767px) {
	.p-index-update {
		margin-bottom: 120px;
	}
}

.p-index-update__wrap {
	position: relative;
	z-index: 99;
}

.p-index-update__in {
	padding: 0 6.66667vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 80px;
	position: relative;
	z-index: 101;
}

@media screen and (max-width: 767px) {
	.p-index-update__in {
		padding: 0 6.4vw;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
				-ms-flex-direction: column;
						flex-direction: column;
		gap: 12.8vw;
	}
}

@media screen and (min-width: 768px) {
	.p-index-update__box {
		width: calc(100% / 2);
	}
}

.p-index-update__news--list {
	margin-bottom: 62px;
}

@media screen and (max-width: 767px) {
	.p-index-update__news--list {
		margin-bottom: 23px;
	}
}

.p-index-update__news--item > a {
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
	position: relative;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.p-index-update__news--item > a {
		padding: 1.6vw 10px;
	}
}

.p-index-update__news--item > a::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background:transparent;
	top: 0;
	left: 0;
	z-index: -1;
	-webkit-transition: background .3s ease-out;
	transition: background .3s ease-out;
}

.p-index-update__news--item > a:hover::before {
	background: rgb(var(--color-red));
}

.p-index-update__news--item:last-child a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.p-index-update__news--item .news-date {
	min-width: 94px;
	height: 94px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
			-ms-flex-pack: center;
					justify-content: center;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
}

@media screen and (max-width: 767px) {
	.p-index-update__news--item .news-date {
		min-width: unset;
		height: unset;
		font-size: 3.2vw;
		line-height: 2;
		flex-shrink: 0;
		text-align: left;
		justify-content: flex-start;
	}
}

.p-index-update__news--item .news-date > time {
	width: 45px;
	text-align: center;
	font-family: "Cinzel", serif;
}
@media screen and (max-width: 767px){
	.p-index-update__news--item .news-date > time {
		width: auto;
	}
}

.p-index-update__news--item .news-txt {
	max-height: 70px;
	font-size: 16px;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	.p-index-update__news--item .news-txt {
		font-size: 12px;
		font-size: 3.2vw;
		line-height: 2;
		max-height: unset;
		padding-left: 10px;
	}
}

.p-index-update__twi--in {
	min-height: 288px;
	height: 288px;
	margin-bottom: 62px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	padding: 24px;
}

@media screen and (max-width: 767px) {
	.p-index-update__twi--in {
		margin-bottom: 23px;
		height: 48.5334vw;
	}
}

.p-index-update__twi{
	height: 100%;
	overflow-x: hidden;
}

.p-index-update__skews {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	margin-top: -30px;
	z-index: 1;
	/* 高さを持たせる */
}

.p-index-update__skews.-white {
	mix-blend-mode: soft-light;
}

.p-index-update__skews:before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 320px;
	position: absolute;
}

.p-index-update__skewBox {
	-webkit-transform: skewY(30deg);
					transform: skewY(30deg);
	height: 320px;
	width: 100%;
	overflow: hidden;
	position: absolute;
}

.p-index-update__skewBox.-reverse {
	-webkit-transform: scale(-1, 1) skew(0, 30deg);
					transform: scale(-1, 1) skew(0, 30deg);
}
.p-index-update__skewBox:before {
	content:'';
	position: absolute;
	right:0;
	top:0;
	width:100%;
	bottom:0;
	background:#7a7a7a;
	transition:all 0.3s ease;
	z-index:10;
}
.p-index-update__skewBox.-reverse:before {
	position: absolute;
    top: 0;
    width: 100%;
    bottom: 0;
    background: #f00;
    transition: all 0.3s ease;
    filter: brightness(0.2) grayscale(1);
}
.p-index-update__skewBox.skon:before {
	width:0;
}
.p-index-update__bgBox {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.p-index-update__bg {
	width: 100%;
	height: 320px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	/* play */
}

.p-index-update__bg:after {
	content: "";
	width: 100%;
	height: 320px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	mix-blend-mode: multiply;
}

.p-index-update__bg.-red:after {
	background-color: #d32f2f;
}

.p-index-update__bg.-white:after {
	background-color: #FFF;
}

.p-index-update__bg--play {
	width: 200%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
					transform: translate(-50%, -50%);
	z-index: 0;
}


@media screen and (max-width: 767px){
	.p-index-update__skews {
		margin-top: max(-10.6667vw, -80px);
	}
	.p-index-update__skews:before {
		padding-top: min(42.6667vw, 320px);
	}
	.p-index-update__bg {
		height: min(42.6667vw, 320px);
	}
	.p-index-update__bg {
		height: min(42.6667vw, 320px);
	}
	.p-index-update__bg:after {
		height: min(42.6667vw, 320px);
	}
}

.p-index-update__linkWrap {
	width: 26.66667vw;
	height: 64px;
    position: relative;
    margin: 0 auto;
}
@media screen and (max-width: 767px){
	.p-index-update__linkWrap {
		width: 66.66666vw;
		height: 40px;
	}
}

.p-index-update__link--tw {
	display: inline-flex;
	align-items: center;
}
.p-index-update__link--tw:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-color: #FFF;
	margin-right: 16px;
	-webkit-mask-size: 100%;
	mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-image: url(../../assets/img/common/icon/icon-tw.svg);
	mask-image: url(../../assets/img/common/icon/icon-tw.svg);
}
@media screen and (max-width: 767px){
	.p-index-update__link--tw:before {
		width: 16px;
		height: 16px;
		margin-right: 8px;
	}
}


/******
** MODAL COMMENT
******/
.commentWrap{
	display: flex;
	justify-content: space-between;
	width: 86.6667%;
	max-width: 1560px;
	margin: 0 auto;
}

.commnet_img{
	width: 38.4616%;
}
.commnet_img img{
	max-width: 100%;
}
.comment_txt{
	width: 57.6924%;
}
.commnet_name{
	color: #d32f2f;
	font-size: 20px;
	margin-bottom: 16px;
}
.comment_txt p{
	line-height: 3;
}

@media screen and (max-width: 767px){
	.commentWrap{
		width: 87.2%;
		max-width: 100%;
		display: block;
	}
	.commnet_img{
		width: 100%;
		text-align: center;
	}
	.comment_txt{
		width: 100%;
		padding-top: 6.1163%;
	}
	.commnet_name{
		font-size: min(3.7334vw, 28px);
		margin-bottom: 4.893%;
	}
	.comment_txt p{
		font-size: 3.2vw;
	}
}


/*-----------------------------------------------
 * Story
-------------------------------------------------*/
.story {
	padding-top: 80px;
}
.storyTitle {
	margin-bottom: 60px;
}
@media screen and (max-width: 767px){
	.story {
		padding-top: 8vw;
	}
	.storyTitle {
		margin-bottom: 5.33333vw;
	}
}
