@charset "utf-8";
/*-----------------------------------------------
 * COMMON
 * FV
 * INTRODUCTION
 * MOVIE
 * PROJECT
-------------------------------------------------*/
/*-----------------------------------------------
 * COMMON
-------------------------------------------------*/
.cont-tit {
	font-size: min(calc(60 / var(--vw-min) * 100vw),60px);
	color: #fff;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-wrap: nowrap;
}
@media screen and (max-width:768px){
	.cont-tit {
		font-size: calc(72 / var(--vw-min) * 100vw);
	}
}
.cont-tit span:nth-child(1) {
	color: var(--color-red);
}
.txt_red{
	color: var(--color-red);
}

.section__contents{
	opacity: 0;
	transform: translateY(min(calc(40 / var(--vw-min) * 100vw),40px));
	transition: all .6s cubic-bezier(.18,.91,.74,.79);;
}
.js-scrani.is-ani .section__contents{
	transition-delay: .8s;
	opacity: 1;
	transform: translateY(0);
	position: relative;
    z-index: 3;
}
/*-----------------------------------------------
 * FV
-------------------------------------------------*/
.fv {
	width: 100%;
	position: relative;
	background-color: #FFF;
}
.fv::before{
	content: "";
	width: 1px;
	background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
	height: 100%;
	position: absolute;
	top: 0;
	left: min(calc(40 / var(--vw-min) * 100vw),40px);
	z-index: 1;
}
@media screen and (max-width:768px){
	.fv {
		height: 100%;
		background-color: transparent;
	}
	.fv::before{
		display: none;
	}
}
/* logo */
.fv__logoWrap{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding-bottom: min(calc(280 / var(--vw-min) * 100vw),280px);
}
.fv__logo {
	width: min(calc(221 / var(--vw-min) * 100vw),221px);
	height: min(calc(449 / var(--vw-min) * 100vw),449px);
	/* background: url(../img/common/logo/logo.svg)no-repeat center/contain; */
	left:calc(270 / var(--vw-min) * 100vw);
	top: min(calc(120 / var(--vw-min) * 100vw),120px);
	opacity: 1;
	position: sticky;
}
.fv__logo img{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
	width: 100%;
	height: 100%;
	/* filter: drop-shadow(2px 4px 6px #FFF) drop-shadow(2px 4px 6px #FFF) drop-shadow(2px 4px 6px #FFF) drop-shadow(2px 4px 6px #FFF) drop-shadow(2px 4px 6px #FFF) drop-shadow(2px 4px 6px #FFF); */
}
@media screen and (max-width:768px){

.fv__logoWrap{
	position: absolute;
    top: 0;
	bottom: unset;
    width: 100%;
    height: min(calc(1060 / var(--vw-min) * 100vw), 1060px);
}

	.fv__logo {
		position: absolute;
        width: calc(231 / var(--vw-min) * 100vw);
        height: calc(472 / var(--vw-min) * 100vw);
        right: unset;
        bottom: unset;
        left: calc(85 / var(--vw-min) * 100vw);
        top: unset;
        margin: auto;
        bottom: min(calc(39 / var(--vw-min) * 100vw), 39px);
	}
}
/* fvBlockWrap */
.fvBlockWrap{
	display: flex;
	min-height: min(calc(640 / var(--vw-min) * 100vw),640px);
}
@media screen and (max-width:768px){
	.fvBlockWrap{
		flex-direction: column;
	}
}
/* leftBlock */
.leftBlock{
	width: 50%;
	position: relative;
}
.leftBlock__inner{
	position: sticky;
	top: 0;
	padding-bottom: min(calc(40 / var(--vw-min) * 100vw),40px);
}
@media screen and (max-width:768px){
	.leftBlock{
		width: 100%;
		position: relative;
	}
	.leftBlock__inner{
		position: relative;
		top: unset;
		padding-bottom: unset;
	}
}
/* visualBlock */
.visualBlock{
	width: 50%;
	height: 100%;
	order: 1;
}
.visualImg{
	width: 100%;
	display: flex;
}
.visualImg img{
	width: 100%;
	height: auto;
}
@media screen and (max-width:768px){
	.visualBlock{
		width: 100%;
		height: unset;
		order: 0;
	}
}

/* bnrLists */
.bnrListsBlock{
	/*position: absolute;
	top: min(calc(670 / var(--vw-min) * 100vw),670px);
	left: min(calc(80 / var(--vw-min) * 100vw),80px);*/
	z-index: 1;
	width: 100%;
    padding: 0 min(calc(80 / var(--vw-min) * 100vw),80px);
}
.bnrLists{
	display: flex;
}
.bnrItem{
	width: calc(98% / 2);
}
.bnrItem__link{
	position: relative;
	display: block;
	width: 100%;
	padding-top: 34%;
}
.bnrItem__link img{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
	width: 100%;
	height: 100%;
}
@media screen and (max-width:768px){
	.bnrListsBlock{
		position: relative;
		top: unset;
		left: unset;
		z-index: 1;
		width: calc(660 / var(--vw-min) * 100vw);
		margin: calc(48 / var(--vw-min) * 100vw) auto 0;
		padding:0 0 calc(48 / var(--vw-min) * 100vw);
	}
	.bnrItem__link{
		width: calc(316 / var(--vw-min) * 100vw);
		height: calc(105 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * INTRODUCTION
-------------------------------------------------*/
.introduction {
	position: relative;
	padding: min(calc(162 / var(--vw-min) * 100vw),162px) 0;
	background-color: #000;
	overflow: hidden;
}
.introduction::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin: auto;
	background-color: rgba(0,0,0,.6);
	transition: .4s ease;
}
.introduction::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin: auto;
	-webkit-mask: url(../img/common/bg/bg_ptn.svg)repeat center/min(calc(4 / var(--vw-min) * 100vw),4px) min(calc(4 / var(--vw-min) * 100vw),4px);
	mask: url(../img/common/bg/bg_ptn.svg)repeat center/min(calc(4 / var(--vw-min) * 100vw),4px) min(calc(4 / var(--vw-min) * 100vw),4px);
	background-color: #000;
}
@media screen and (max-width:768px){
	.introduction {
		padding: calc(142 / var(--vw-min) * 100vw) 0;
	}
}
.introWrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 3;
}
.introWrap .cont-tit{
	font-size: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
@media screen and (max-width:768px){
	.introWrap .cont-tit{
		font-size: calc(72 / var(--vw-min) * 100vw);
	}
	.introduction .cont-tit span:nth-child(26) {
		display: block;
	}
}
.introCont {
	font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
	color: #fff;
	line-height: 3;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	font-feature-settings:initial;
	text-orientation: upright;
	height: min(calc(488 / var(--vw-min) * 100vw),488px);
	position: relative;
	z-index: 1;
	margin-top: min(calc(80 / var(--vw-min) * 100vw),80px);
}
.intro__txt--catch{
	display: block;
	margin-left: 2em;
	width: min(calc(40 / var(--vw-min) * 100vw), 40px);
	line-height: 1;
}
.intro__txt--catch img{
	width: 100%;
}
.intro__txt--txt{
	display: inline-block;
}
.text_comp{
	text-combine-upright: all;
	-ms-text-combine-horizontal: all;
	display: inline-block;
	padding-top: 0.125em;
	padding-bottom: 0.25em;
}
.intro__txt--txt.-mb{
	margin-left: 1em;
}
@media screen and (max-width:768px){
	.introCont {
		font-size: calc(28 / var(--vw-min) * 100vw);
		line-height: 1.6;
		height: calc(720 / var(--vw-min) * 100vw);
		margin-top: calc(80 / var(--vw-min) * 100vw);
	}
	.intro__txt--catch{
		width: calc(48 / var(--vw-min) * 100vw);
		margin-left: 1.5em;
	}
	.intro__txt--txt.-mb{
		margin-left: 0.5em;
	}
}
.intro__logo {
	width: min(calc(300 / var(--vw-min) * 100vw),300px);
	height: min(calc(319 / var(--vw-min) * 100vw),319px);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	margin: auto;
	-webkit-mask: url(../img/common/deco/deco_logo.svg)no-repeat center/contain;
	mask: url(../img/common/deco/deco_logo.svg)no-repeat center/contain;
	background-color: rgba(199, 0, 10, .4);
}
@media screen and (max-width:768px){
	.intro__logo {
		width: calc(349 / var(--vw-min) * 100vw);
		height: calc(370 / var(--vw-min) * 100vw);
	}
}
.intro__sliderImg-l,
.intro__sliderImg-r {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.intro__sliderImgLists {
	width: min(calc(320 / var(--vw-min) * 100vw),320px);
	position: absolute;
	top: 0;
}
@media screen and (max-width:768px){
	.intro__sliderImgLists {
		width: 100%;
		height: calc(180 / var(--vw-min) * 100vw);
	}
}
.sliderImg-left {
	left: min(calc(40 / var(--vw-min) * 100vw),40px);
}
@media screen and (max-width:768px){
	.sliderImg-left {
		top: 0;
		left: 0;
	}
}
.sliderImg-right {
	right: min(calc(40 / var(--vw-min) * 100vw),40px);
}
@media screen and (max-width:768px){
	.sliderImg-right {
		top: unset;
		right: 0;
		bottom: 0;
	}
}
.intro__sliderImg-item {
	width: 100%;
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw),16px);
}
@media screen and (max-width:768px){
	.intro__sliderImg-item {
		width: calc(320 / var(--vw-min) * 100vw);
		margin: 0 calc(6 / var(--vw-min) * 100vw);
	}
}
.intro__sliderImg-item img {
	width: 100%;
	pointer-events: none;
}

/* img */
.intro__flowingWrap{
	position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
	padding: 0 calc(20 / var(--vw-min)* 100vw);
}
.intro__flowing{
    width: min(calc(320 / var(--vw-min) * 100vw),320px);
    height: 100%;
    overflow: hidden;
}
@media screen and (max-width:768px){
	.intro__flowingWrap{
		flex-direction: column;
		padding: calc(20 / var(--vw-min)* 100vw) 0;
	}
    .intro__flowing{
        width: 100%;
		height: calc(180 / var(--vw-min)* 100vw);
    }
}
.intro__flowing._left .flowing__item {
    width: 100%;
    height: 100%;
    content: '';
    background:  url(../img/top/ph_left.png) repeat-y 0 0;
    background-size: auto  min(calc(981 / var(--vw-min) * 100vw),981px);
    animation:  intro_flowing 15s linear infinite reverse;
}

.intro__flowing._right .flowing__item {
    width: 100%;
    height: 100%;
    content: '';
    background:  url(../img/top/ph_right.png) repeat-y 0 0;
    background-size:auto min(calc(981 / var(--vw-min) * 100vw),981px);
    animation:  intro_flowing 15s linear infinite;
}
.flowing__itemWrap{
    display: flex;
    flex-direction: column-reverse;
}
@media screen and (max-width:768px){
	.intro__flowing._left .flowing__item {
		width: 100%;
		height: 100%;
		content: '';
		background:  url(../img/top/ph_left_sp.png) repeat-x 0 0;
		background-size: auto 100%;
		animation:  intro_flowing 40s linear infinite reverse;
	}

	.intro__flowing._right .flowing__item {
		width: 100%;
		height: 100%;
		content: '';
		background:  url(../img/top/ph_right_sp.png) repeat-x 0 0;
		background-size: auto 100%;
		animation:  intro_flowing 40s linear infinite;
	}
}
@keyframes intro_flowing {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 0 min(calc(981 / var(--vw-min) * 100vw),981px);
	}
}
@media screen and (max-width:768px){
    @keyframes intro_flowing {
        0% {
            background-position: 0 0;
        }
        100% {
            background-position: calc(1696 / var(--vw-min) * 100vw) 0 ;
        }
    }
}

/*----------------------
FadeIn
----------------------*/
.section .cont-tit {
	opacity: 0;
}
.section.is-ani .cont-tit {
	animation: metalFadeIn .7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes metalFadeIn {
  0% { opacity: 0; letter-spacing: .9em; transform: scale(0.8); }
  100% { opacity: 1; letter-spacing: 0.03em; transform: scale(1); }
}

/* intro */
.section .intro__logo {
	opacity: 0;
	transition: opacity .3s ease-out;
}
.section.is-ani .intro__logo {
	opacity: 1;
	transition-delay: .4s;
}
.intro__txt {
	opacity: 0;
	filter: blur(10px);
	transform: scale(0.8);
	transition: filter .3s cubic-bezier(.18,.91,.74,.79), transform .3s cubic-bezier(.18,.91,.74,.79), opacity .3s cubic-bezier(.18,.91,.74,.79);
}
.intro__txt.is-ani {
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
	transition-delay: .2s;
}
.section .intro__sliderImg-l {
	opacity: 0;
	transform: translateY(50%);
	transition: transform .4s cubic-bezier(.18,.91,.74,.79),
	opacity .4s cubic-bezier(.18,.91,.74,.79);
}
.section .intro__sliderImg-r {
	opacity: 0;
	transform: translateY(-50%);
	transition: transform .4s cubic-bezier(.18,.91,.74,.79),
	opacity .4s cubic-bezier(.18,.91,.74,.79);
}
@media screen and (max-width:768px) {
	.section .intro__sliderImg-l {
		top:calc(20 / var(--vw-min) * 100vw);
	}
	.section .intro__sliderImg-r {
		bottom:calc(20 / var(--vw-min) * 100vw);
	}

}
.section.is-ani .intro__sliderImg-l,
.section.is-ani .intro__sliderImg-r {
	opacity: 1;
	transform: translateY(0);
}
/*---------------------------------
* MOVIE
----------------------------------*/
.movie {
	width: 100%;
	position: relative;
	padding:min(calc(160 / var(--vw-min) * 100vw),160px) 0 min(calc(48 / var(--vw-min) * 100vw),48px);
	clip-path: inset(0);
	overflow: hidden;
}
@media screen and (max-width:768px) {
	.movie {
		padding:calc(96 / var(--vw-min) * 100vw) 0 calc(48 / var(--vw-min) * 100vw);
	}
}
.movie .cont-tit {
	position: absolute;
	top: calc(160 / var(--vw-min) * 100vw);
	right: 0;
	left: 0;
	z-index: 3;
	margin: auto;
	pointer-events: none;
}
@media screen and (max-width:768px){
	.movie .cont-tit {
		top: calc(96 / var(--vw-min) * 100vw);
	}
}
.movie__content{
	pointer-events: none;
}
/*
.bg_ytplayer {
	margin: auto;
	position: absolute;
	top: -50%;
	left: 0;
	width: 100%;
	height: 200%;
}
*/

/*movieBg*/
.movieBg {
	position: fixed;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:#000;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}
.movieBg:before {
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    margin: auto;
    -webkit-mask: url(../img/common/bg/bg_ptn.svg) repeat center / min(calc(4 / var(--vw-min) * 100vw), 4px) min(calc(4 / var(--vw-min) * 100vw), 4px);
    mask: url(../img/common/bg/bg_ptn.svg) repeat center / min(calc(4 / var(--vw-min) * 100vw), 4px) min(calc(4 / var(--vw-min) * 100vw), 4px);
    background-color: #000;
}
.movieBg::after {
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    margin: auto;
	background:rgba(0,0,0,.4);
}

.movieBg__inner {
	display: block;
	width:100%;
	height:100%;
	position: relative;
}

/* activeMovieBtn */
.activeMovieBtn{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	z-index: 0;
}
/* movie bg */
.bgOver{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	transition: opacity .6s ease;
	transition-delay: .4s;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}
.bgOver.-view{
	opacity: 1;
	transition-delay: 0s;
}



.btn_moviePlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 2;
	transition: .4s cubic-bezier(.18,.91,.74,.79);
}

.btn_moviePlay-txt {
	font-size: min(calc(20 / var(--vw-min) * 100vw),20px);
	color: #fff;
	line-height: 1;
	width: min(calc(80 / var(--vw-min) * 100vw),80px);
	height: min(calc(80 / var(--vw-min) * 100vw),80px);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	pointer-events: none;
	border-radius: 50%;
	border: min(calc(1 / var(--vw-min) * 100vw),1px) solid #fff;
	margin: auto;
	transition: .3s cubic-bezier(.18,.91,.74,.79);
}
@media screen and (max-width:768px){
	.btn_moviePlay-txt {
		font-size: calc(22 / var(--vw-min) * 100vw);
		width: calc(96 / var(--vw-min) * 100vw);
		height: calc(96 / var(--vw-min) * 100vw);
		border-width: calc(2 / var(--vw-min) * 100vw);
		top: calc(190 / var(--vw-min) * 100vw);
		bottom: unset;
	}
}
@media (hover: hover) and (pointer: fine){
	.activeMovieBtn:hover .btn_moviePlay-txt{
		transform: scale(1.1);
	}
}
/* movie-swiper */
.movie-swiper{
	pointer-events: none;
}

/* slide */
.movie-swiper-slide {
	width:calc(100vw - min(calc(560 / var(--vw-min) * 100vw),560px));
	max-width:100vh;
	margin:0 min(calc(40 / var(--vw-min) * 100vw),40px);
	transition: all 0.3s ease;
}
@media screen and (max-width:768px) {
	.movie-swiper-slide {
		width:min(calc(558 / var(--vw-min) * 100vw),558px);
		margin:0 min(calc(24 / var(--vw-min) * 100vw),24px);
	}
}

.movie-swiper-slide:not(.swiper-slide-active) a{
	pointer-events: none;
}


.swiper-slide-next,
.swiper-slide-prev{
	pointer-events: all!important;
}

/* movie-swiper__thumb */
.movie-swiper__thumb {
	width:100%;
	padding-top:56.25%;
	position: relative;
	overflow: hidden;
}

.movie-swiper__title {
	font-size:min(calc(16 / var(--vw-min) * 100vw),16px);
	text-align: center;
	color:#fff;
	font-family: var(--main-font-family);
	position: absolute;
	top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(120 / var(--vw-min) * 100vw);
}
.movie-swiper-slide .movie-swiper__title{
	opacity: 0;
	transition: opacity .0s ease;
}
.movie-swiper-slide.swiper-slide-active .movie-swiper__title{
	opacity: 1;
	transition: opacity .6s cubic-bezier(.18,.91,.74,.79);
	transition-delay: 1.5s;

}

/* thumImg */
.thumImg{
	width: 100%;
	height: auto;
	/*opacity: 0;*/
	transition: opacity .6s ease .6s, transform .4s ease;

}
.swiper-slide-active .thumImg{
	opacity: 0;
	transition: opacity .6s ease .6s;
}
/*
.swiper-slide-prev .thumImg,
.swiper-slide-next .thumImg{
	opacity: 1;
	transition: transform .4s ease, opacity .6s ease;

	transition-delay: .0s ,.3s;
}*/
@media (hover: hover) and (pointer: fine){
	.movie-swiper__thumb:hover .thumImg{
		transform: scale(1.03);
	}
}
.fade-in {
  animation: fadeIn .8s ease-in;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* controlBlock */
.controlBlock._movieLists{
	pointer-events: all;
	padding:min(calc(40 / var(--vw-min) * 100vw),40px) 0;
}
.controlBlock._movieLists .arrowBtn__txt{
	font-weight: 500;
	font-size:min(calc(16 / var(--vw-min) * 100vw),16px)
}
@media screen and (max-width:768px) {
	.controlBlock._movieLists{
		padding:0;
		margin-top: calc(60 / var(--vw-min) * 100vw);
	}
	.controlBlock._movieLists .arrowBtn__txt{
		font-size:calc(24 / var(--vw-min) * 100vw);
	}
}

.movie__blockBox {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	grid-template-rows: repeat(6, 1fr);
	pointer-events: none;
}
.movie__blockPart {
	background-color: #000;
	opacity: 1;
	transition: opacity .3s cubic-bezier(.18,.91,.74,.79);
}


._fadeIn{
	opacity: 0;
	transition: opacity .6s cubic-bezier(.18,.91,.74,.79);
}
._fadeIn.-ani{
	opacity: 1;
}
/*-----------------------------------------------
 * NEWS
-------------------------------------------------*/
.news {
	position: relative;
	padding:min(calc(160 / var(--vw-min) * 100vw),160px) 0;
	min-height: min(calc(920 / var(--vw-min) * 100vw),920px);
}
@media screen and (max-width:768px){
	.news {
		padding: calc(96 / var(--vw-min) * 100vw) 0;
	}
}
.news .cont-tit {
	color: #000;
	text-align: left;
	margin-bottom:min(calc(40 / var(--vw-min) * 100vw),40px);
	line-height: 1;
}
.newsWrap{
	width: min(calc(1040 / var(--vw-min) * 100vw),1040px);
	margin: 0 auto;
}

.newsContIn{
	position: relative;
	width: min(calc(640 / var(--vw-min) * 100vw),640px);
}
@media screen and (max-width:768px){
	.newsWrap{
		width: 100%;
		padding: 0 calc(48 / var(--vw-min) * 100vw);
	}

	.newsContIn{
		width: 100%;
	}
}

/* newsLists */
.newsLists{
	width: min(calc(560 / var(--vw-min) * 100vw),560px);
	display: flex;
	flex-direction: column;
}
@media screen and (max-width:768px){
	.newsLists{
		width: 100%;
	}
}
/* newsLists > item */
.newsItem{
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw),16px);
}
.newsItem__link{
	display: flex;
	flex-direction: row;
	text-decoration: none;
}
.newsItem__img{
	width: min(calc(160 / var(--vw-min) * 100vw),160px);
	height: min(calc(160 / var(--vw-min) * 100vw),160px);
	overflow: hidden;
}
.newsItem__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
@media (hover: hover) and (pointer: fine){
	.newsItem__link:hover .newsItem__img img{
		transform: scale(1.06);
	}
}
.newsItem__ttlWrap{
	width: min(calc(400 / var(--vw-min) * 100vw),400px);
	padding: min(calc(20 / var(--vw-min) * 100vw),20px) min(calc(24 / var(--vw-min) * 100vw),24px);
	font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
}

.newsItem_time{
	color: var(--color-red);
	font-family: var(--en-font-family);
	letter-spacing: 0;
	line-height: 1;
	display: block;
	margin-bottom: min(calc(12 / var(--vw-min) * 100vw),12px);
}
.newsItem__ttl{
	display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
	line-height: 1.7;
}
@media screen and (max-width:768px){
	.newsItem{
		margin-bottom:calc(24 / var(--vw-min) * 100vw);
		border-top:calc(2 / var(--vw-min) * 100vw) solid #000;
		border-bottom:calc(2 / var(--vw-min) * 100vw) solid #000;
	}
	.newsItem__img{
		width: calc(200 / var(--vw-min) * 100vw);
		height: calc(200 / var(--vw-min) * 100vw);
		overflow: hidden;
	}
	.newsItem__ttlWrap{
		width: calc(450 / var(--vw-min) * 100vw);
		height: calc(200 / var(--vw-min) * 100vw);
		padding: calc(20 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw) 0;
		font-size: calc(24 / var(--vw-min) * 100vw);
		line-height: 1;
	}
}
/* btn */
.news_moreBtn{
	position: absolute;
	right: min(calc(42 / var(--vw-min) * 100vw),42px);
	top: 0;
	margin-bottom: 0;
	opacity: 0;
	transform: translateY(min(calc(40 / var(--vw-min) * 100vw),40px));
	transition: all .6s cubic-bezier(.18,.91,.74,.79);;
}
.js-scrani.is-ani .news_moreBtn{
	transition-delay: .8s;
	opacity: 1;
	transform: translateY(0);
}
.news_moreBtn .linkA{
	width:min(calc(200 / var(--vw-min) * 100vw),200px);
}
@media screen and (max-width:768px){
	.news_moreBtn{
		position: relative;
		right:unset;
		top: unset;
		margin-top: min(calc(80 / var(--vw-min) * 100vw),80px);
	}
	.news_moreBtn .linkA{
		width: calc(462 / var(--vw-min) * 100vw);
		height: calc(72 / var(--vw-min) * 100vw);
	}
}
@media screen and (max-width:768px){
	.news .bg__img{
		display: none;
	}
}
/*-----------------------------------------------
 * About
-------------------------------------------------*/
.about {
	position: relative;
	padding:min(calc(160 / var(--vw-min) * 100vw),160px) 0;
}
.about .cont-tit {
	color: #000;
	text-align: left;
	line-height: 1;
	margin-bottom: min(calc(80 / var(--vw-min) * 100vw), 80px);
}
@media screen and (max-width:768px){
	.about {
		padding: calc(96 / var(--vw-min) * 100vw) 0;
	}
	.about .cont-tit {
		font-size: calc(72 / var(--vw-min) * 100vw)
	}
}
.aboutWrap{
	width: min(calc(1040 / var(--vw-min) * 100vw), 1040px);
    margin: 0 auto;
}
.aboutWrap{
	width: min(calc(1120 / var(--vw-min) * 100vw),1120px);
	margin: 0 auto;
}
.aboutTxtWrap{
	margin-bottom: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.aboutTxt{
	line-height: 3;
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	letter-spacing: 0;
}
.aboutContIn{
	position: relative;
	width: min(calc(640 / var(--vw-min) * 100vw),640px);
}

@media screen and (max-width:768px){
	.aboutWrap{
		width: 100%;
	}
	.aboutCont {
		padding: 0 calc(48 / var(--vw-min) * 100vw);
	}
	.aboutContIn{
		width: 100%;
	}
	.aboutTxtWrap{
		margin-bottom: calc(96 / var(--vw-min) * 100vw);
	}
	.aboutTxt{
		line-height: calc(58/ 28);
		font-size:calc(28 / var(--vw-min) * 100vw);
	}
}

/* aboutBnrLists */
.aboutBnrLists{
	width: min(calc(600 / var(--vw-min) * 100vw),600px);
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}
.aboutBnrItem{
	width: min(calc(288 / var(--vw-min) * 100vw),288px);
	height: min(calc(102 / var(--vw-min) * 100vw),102px);
	margin-bottom:min(calc(20 / var(--vw-min) * 100vw),20px);
}
.aboutBnrItem:last-child{
	margin-bottom:0;
}
.aboutBnrItem._full{
	width: 100%;
}
.aboutBnrItem img{
	width:100%;
	height: 100%;
	object-fit: contain;
}
@media screen and (max-width:768px){
	.aboutBnrLists{
		width: 100%;
	}
	.aboutBnrItem{
		width: calc((100% - calc(24 / var(--vw-min) * 100vw))/ 2);
		height: calc(105 / var(--vw-min) * 100vw);
		margin-bottom:calc(24 / var(--vw-min) * 100vw);
	}
}
.bg_w{
	position: absolute;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: min(calc(80 / var(--vw-min) * 100vw),80px);
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (max-width:768px){
	.about .bg__img,
	.bg_w{
		display: none;
	}
}

/*-----------------------------------------------
 * PROJECT
-------------------------------------------------*/
.project {
	background-color: #000;
	position: relative;
	padding: min(calc(162 / var(--vw-min) * 100vw),162px) 0 0;
}
@media screen and (max-width:768px){
	.project {
		padding: calc(20 / var(--vw-min) * 100vw) 0 0;
	}
	.projectWrap{
		position: relative;
	}
}
.project .cont-tit {
	width: min(calc(523 / var(--vw-min) * 100vw), 523px);
    height: min(calc(192 / var(--vw-min) * 100vw), 192px);
	/* width: calc(523 / var(--vw-min) * 100vw);
    height: calc(192 / var(--vw-min) * 100vw); */
	background: url(../img/top/ttl_projects.png) no-repeat left center / contain;
}
.projectCont {
	padding: 0 0 0 calc(200 / var(--vw-min) * 100vw);
	margin-top: calc(-30/ var(--vw-min) * 100vw);
}
@media screen and (max-width:768px){
	:root{
		--projectitem: 8;/* 総数 / 2 をした数字を入れる (ex:9の場合は 4）*/
	}

	.project .cont-tit {
		position: sticky;
		top: 0;
	}

	.projectContWrap{
		width: 100%;
		/*min-height: calc(((48 / var(--vw-min) * 100vw) * 2) + ((460 / var(--vw-min) * 100vw) * var(--projectitem)) + 50vh);*/
		min-height: calc(((48 / var(--vw-min) * 100vw) * 2) + ((640 / var(--vw-min) * 100vw) * var(--projectitem)) + 50vh);
		position: relative;
	}
	.projectCont {
		/*padding: calc(160 / var(--vw-min) * 100vw) 0 calc(120 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);*/
		padding: calc(400 / var(--vw-min) * 100vw) 0 calc(120 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);
		margin-top: calc(-24 / var(--vw-min) * 100vw);
		overflow: hidden;
		position: sticky;
		top: 0;
		height: 100vh;
	}
}
/* PC */
@media screen and (min-width:769px){
	.projectContIn{
		display: flex;
        justify-content: flex-end;
	}
}
.projectLists{
	display: flex;
	width: calc(960 / var(--vw-min) * 100vw);
	flex-wrap: wrap;
}
@media screen and (max-width:768px){
	.projectContIn{
		width: 100%;
		/*height: calc(1032 / var(--vw-min) * 100vw);*/
		height: calc(590 / var(--vw-min) * 100vw);
		position: relative;
	}
	.projectLists{
		position: absolute;
		top: 0;
		left: 0;
		width: auto;
		/*min-width: calc((460 / var(--vw-min) * 100vw) * var(--projectitem));*/
		min-width: calc((600 / var(--vw-min) * 100vw) * var(--projectitem));
		height: 100%;
		flex-direction: column;
	}
}
/* item */
.projectItem{
	margin-right: calc(40 / var(--vw-min) * 100vw);
}
.projectItem:nth-child(n+4){
	margin-top: min(calc(30 / var(--vw-min) * 100vw),30px);
}
.projectItem__link{
	display: block;
	width:min(calc(280 / var(--vw-min) * 100vw),280px);
	width:calc(280 / var(--vw-min) * 100vw);
	padding-right:min(calc(40 / var(--vw-min) * 100vw),40px);
	padding-right:calc(40 / var(--vw-min) * 100vw);
	position: relative;
	text-decoration: none;
}
.projectItem__ttl{
	line-height:0.75;
	color: #FFF;
	writing-mode: vertical-rl;
	position: absolute;
	right: 0;
	top: 0;
	font-size:calc(60 / var(--vw-min) * 100vw);
	font-weight: 500;
	z-index: 1;
	/*filter: drop-shadow(0px 0 4px rgba(0,0,0,1));*/
}
.projectItem__img{
	width: calc(240 / var(--vw-min) * 100vw);
	height: calc(240 / var(--vw-min) * 100vw);
	position: relative;
	margin-bottom: calc(10 / var(--vw-min) * 100vw);
	overflow: hidden;
}
.projectItem__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.projectItem__txt{
	color: #FFF;
	width: calc(240 / var(--vw-min) * 100vw);
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}
@media screen and (max-width:768px){
	.projectItem:nth-child(n+4){
		margin-top:unset;
	}
	.projectItem:nth-child(2n){
		/*margin-top:calc(30 / var(--vw-min) * 100vw);*/
	}
	.projectItem__link{
		/*width:calc(420 / var(--vw-min) * 100vw);*/
		width:calc(556 / var(--vw-min) * 100vw);
	}
	.projectItem__img{
		/*width: calc(360 / var(--vw-min) * 100vw);
		height: calc(360 / var(--vw-min) * 100vw);*/
		width: calc(496 / var(--vw-min) * 100vw);
		height: calc(496 / var(--vw-min) * 100vw);
	}
	.projectItem__ttl{
		font-size:calc(90 / var(--vw-min) * 100vw);
	}
	.projectItem__txt{
		font-size: calc(24 / var(--vw-min) * 100vw);
		width: calc(496 / var(--vw-min) * 100vw);
		-webkit-line-clamp: 3;
		height: calc(130 / var(--vw-min) * 100vw);
	}
}
@media (hover: hover) and (pointer: fine){
	.projectItem__link:hover .projectItem__img img{
		transform: scale(1.06);
	}
}
/* number */
.numberWrap{
	position: sticky;
    bottom: 0;
    left: 0;
    background: url(../img/top/projects/number_line.svg) no-repeat center center;
    background-size: auto calc(124 / var(--vw-min) * 100vw);
    display: flex;
    align-items: flex-end;
    line-height: .7;
    width: min(calc(260 / var(--vw-min) * 100vw), 260px);
}
.nowNumListsWrap{
	font-size: min(calc(180 / var(--vw-min) * 100vw), 180px);
	height: 0.7em;
	font-family: var(--en-font-family);
	color: #FFF;
	margin-right: min(calc(40 / var(--vw-min) * 100vw), 40px);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, #000 2%, #000 98%, rgba(0, 0, 0, 0.1) 100%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, #000 2%, #000 98%, rgba(0, 0, 0, 0.1) 100%);
}
.nowNumLists{
	transition: transform .2s linear;
}

/* animation */
.numberWrap[data-no="1"] .nowNumLists{
	transform: translateY(0em);
}
.numberWrap[data-no="2"] .nowNumLists{
	transform: translateY(-0.7em);
}
.numberWrap[data-no="3"] .nowNumLists{
	transform: translateY(-1.4em);
}
.numberWrap[data-no="4"] .nowNumLists{
	transform: translateY(-2.1em);
}
.numberWrap[data-no="5"] .nowNumLists{
	transform: translateY(-2.8em);
}
.numberWrap[data-no="6"] .nowNumLists{
	transform: translateY(-3.5em);
}
.numberWrap[data-no="7"] .nowNumLists{
	transform: translateY(-4.2em);
}
.numberWrap[data-no="8"] .nowNumLists{
	transform: translateY(-4.9em);
}
.numberWrap[data-no="9"] .nowNumLists{
	transform: translateY(-5.6em);
}



.allNum{
	margin-left: min(calc(40 / var(--vw-min) * 100vw), 40px);
	width: min(calc(82 / var(--vw-min) * 100vw), 82px);
	height: min(calc(121 / var(--vw-min) * 100vw), 121px);
	background: url(../img/top/projects/num8.svg) no-repeat center bottom;
	background-size: 100% auto;
}
@media screen and (max-width:768px) {
	.numberWrap{
		width: unset;
		flex-direction: row;
		background: url(../img/top/projects/number_line.svg) no-repeat center left calc(64 / var(--vw-min) * 100vw);
		background-size: auto calc(120 / var(--vw-min) * 100vw);
	}
	.nowNumListsWrap{
		font-size:calc(180 / var(--vw-min) * 100vw);
		margin-right: calc(40 / var(--vw-min) * 100vw);
	}
	.allNum{
		margin-left: calc(40 / var(--vw-min) * 100vw);
		background: url(../img/top/projects/num8.svg) no-repeat center center / contain;
	}
}
/*-----------------------------------------------
 * LOADING
-------------------------------------------------*/
.tLoading{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,100%);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
}
.tLoadingIn{
	width: min(calc(220 / var(--vw-min) * 100vw), 220px);
	height: min(calc(449 / var(--vw-min) * 100vw), 449px);
	position: relative;
}

@media screen and (max-width:768px){
	.tLoading{
		height: calc(1297 / var(--vw-min) * 100vw);
	}
	.tLoading:before{
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: #fff;
	}
	.tLoadingIn{
		width: calc(280 / var(--vw-min) * 100vw);
        height: calc(572 / var(--vw-min) * 100vw);
		margin-bottom: 0;
	}
}

.loadingLogoImg{
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}


/**
* LOADING - LOGO
**/
.tLoading__logo,
.loading__logo--imgArea{
	width: 100%;
	height: 100%;
	position: relative;
}
.loadingLogoImg.-logoImg{
	width: 100%;
	height: 100%;
	background-image: url(../img/common/logo/logo.svg);
}
@keyframes ani_loading_logo_opacity {
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes ani_loading_logo_filter {
	0%{
		filter: blur(8px);
	}
	100%{
		filter: blur(0px);
	}
}
@keyframes ani_loading_logo_scale {
	0%{
		transform: scale(110%) rotate(0deg);
	}
	100%{
		transform: scale(100%) rotate(0deg);
	}
}

/* animation */
.tLoading__logo{
	opacity: 0;
	animation: ani_loading_logo_opacity .8s cubic-bezier(.77,.31,.51,1);
	animation-delay: .3s;
	animation-fill-mode: forwards;
}
.loading__logo--imgArea{
	filter: blur(8px);
	animation: ani_loading_logo_filter 1s cubic-bezier(.77,.31,.51,1);
	animation-delay: .3s;
	animation-fill-mode: forwards;
}
.loadingLogoImg.-logoImg{
	transform: scale(60%) rotate(0deg);
	animation: ani_loading_logo_scale .8s cubic-bezier(.77,.31,.51,1);
	animation-delay: .3s;
	animation-fill-mode: forwards;
}