@charset "utf-8";


html, body{
	margin:0;
	padding:0;
	width:100%;
	height:100%;
	background-color:#000000;
	color:#ffffff;
	overflow-y: scroll;
}
::selection
{
	background: rgba(120,120,120,0.5);
	/*color: #fff;*/
}
::-moz-selection
{
	background: rgba(0,0,0,0.2);
	/*color: #fff;*/
}

/*body{
	color:#000000;
	
	overflow-x:hidden;
	overflow-y:hidden;
}*/


div, p{
	margin:0;
	padding:0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}


a{
	text-decoration:none;
	color:#fff;
}
a:hover{
	text-decoration:none;
	color:#fff;
}
a:visited{
	text-decoration:none;
	color:#fff;
}


/*font-family: 'Playfair Display', serif;*/
.ja{
	font-family: 'Noto Sans JP';
	font-weight:400;
	letter-spacing:0.1em;
}
.ja-b{
	font-family: 'Noto Sans JP';
	font-weight:700;
	letter-spacing:0.1em;
}

.en{
	font-family:'Cormorant Garamond', serif;
	font-weight:400;
	letter-spacing:0.1em;
}
.en-m{
	font-family:'Cormorant Garamond', serif;
	font-weight:600;
	letter-spacing:0.1em;
}

.sp-br{ display:none; }
.pc-br{ display:inline-block; }
.high-pc{ display:inline; }
@media screen and (max-width:1000px){
	.sp-br{ display:inline-block; }
	.pc-br{ display:none; }
	.high-pc{ display:none; }
}


.world-wrapper{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
}
.world{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
}


.info-wrapper{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	overflow-y:hidden;
	overflow-x:hidden;
}
.info-in{
	position:absolute;
	width:100%; height:5000px;
	top:0; left:0;
	backface-visibility: hidden;
}

/* -- SCROLL -- */
.scroll-wrapp{
	position:absolute;
	width:1px; height:3000px;
}


/* -- cover -- */
.start-cover{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#000;
	backface-visibility: hidden;
}

/* -- TOP -- */
.top-copy{
	position:absolute;
	left:auto; right:210px;
	font-size:20px;
	line-height:34px;
	backface-visibility: hidden;
	opacity:0;
}
@media screen and (max-width:1000px){
	.top-copy{
		font-size:14px;
		line-height:24px;
		left:50%; right:auto;
		transform:translateX(-50%);
		white-space:nowrap;
		text-align:center;
	}
}

/* -- WORKS -- */
.works-btn{
	position:absolute;
	width:1020px; height:334px;
	top:0; left:50%;
	margin-left:-510px; margin-top:-167px;
	background-color:rgba(255, 0, 0, 0.0);
	backface-visibility: hidden;
	cursor:pointer;
}


/* -- OTHER -- */
.other-works{
	position:absolute;
	width:100%;
	top:0; left:0;
	backface-visibility: hidden;
}
.other-works-t{
	margin-left:auto; margin-right:auto;
	margin-bottom:54px;
	text-align:center;
	opacity:0.4;
	font-size:38px;
	letter-spacing:0;
	backface-visibility: hidden;
}
.other-works-set{
	position:relative;
	width:820px; height:380px;
	margin-left:auto; margin-right:auto;
	backface-visibility: hidden;
}
.other-works-set-in{
	position:absolute;
	width:100%;
}
.other-works-item{
	position:relative;
	display:inline-block;
	width:auto;
	max-width:800px;
	min-width:500px;
	margin-left:auto; margin-right:auto;
	margin-bottom:28px;
	text-align:left;
	font-size:34px;
	letter-spacing:0;
	white-space: nowrap;
	text-overflow: ellipsis;
	backface-visibility: hidden;
	cursor:pointer;
	transition:0.3s;
}
.other-works-item:hover{
	/*color:#878a2e;*/
	opacity:0.5;
}
@media screen and (max-width:1000px){
	.other-works-set{
		width:100%; height:380px;
	}
	.other-works-t{
		margin-bottom:34px;
		font-size:20px;
	}
	.other-works-item{
		display:block;
		width:80%;
		max-width:inherit;
		min-width:inherit;
		margin-left:10%; margin-right:10%;
		margin-bottom:20px;
		font-size:18px;
		white-space: normal;
		text-align:center;
	}
	.other-works-item:hover{
		opacity:1;
	}
}


.other-navi{
	position:absolute;
	width:244px; heght:44px;
	top:554px; right:24%; left:auto;
	backface-visibility: hidden;
}
.other-navi-left{
	position:absolute;
	width:82px; height:44px;
	top:0; left:0;
	cursor:pointer;
	backface-visibility: hidden;
}
.other-navi-left-in{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-image:url(../image/ui/other_left.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left center;
	backface-visibility: hidden;
}
.other-navi-right{
	position:absolute;
	width:82px; height:44px;
	top:0; right:0;
	cursor:pointer;
	backface-visibility: hidden;
}
.other-navi-right-in{
	position:absolute;
	width:100%; height:100%;
	top:0; right:0;
	background-image:url(../image/ui/other_right.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:left center;
	backface-visibility: hidden;
}
.other-navi-t{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	font-size:16px;
	line-height:44px;
	text-align:center;
	backface-visibility: hidden;
}
@media screen and (max-width:1000px){
	.other-navi{
		width:212px;
		top:554px; left:50%; right:auto;
		transform:translateX(-50%);
	}
	.other-navi-left{
		width:66px; height:35px;
	}
	.other-navi-right{
		width:66px; height:35px;
	}
	.other-navi-t{
		position:absolute;
		font-size:12px;
		line-height:36px;
	}	
}

/* -- OTHER IMAGE -- */
#other-stage{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	overflow:hidden;
}
.other-over{
	position:absolute;
	width:280px; height:280px;
	top:0; left:0;
	margin-top:-140px;
	border-radius:140px;
	overflow:hidden;
	backface-visibility: hidden;
	display:none;
	opacity:0;
}
.other-img{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-repeat:none;
	background-size:contain;
}



.about{
	position:absolute;
	width:1160px;
	left:50%;
	transform: translateX(-50%);
}
.about-t{
	margin-bottom:34px;
	opacity:0.4;
	font-size:38px;
	letter-spacing:0;
	backface-visibility: hidden;
}
.about-svg{
	width:100%;
}
.about-txtset{
	position:relative;
	width:100%; height:420px;
	margin-top:110px;
}
.about-concept{
	position:absolute;
	width:42%;
	text-align:right;
}
.about-concept-en{
	position:absolute;
	top:0; right:0;
	font-size:32px;
	line-height:50px;
	letter-spacing:0.04em;
}
.about-concept-ja{
	position:absolute;
	top:0; right:0;
	font-size:24px;
	line-height:50px;
	letter-spacing:0.05em;
	visibility:hidden;
}
.about-outline{
	position:relative;
	width:48%;
	margin-left:auto; margin-right:0;
}
.about-outline-en{
	position:absolute;
	width:100%;
	top:0; left:0;
	font-size:18px;
	line-height:40px;
}
.about-outline-ja{
	position:absolute;
	width:100%;
	top:0; left:0;
	font-size:16px;
	line-height:38px;
	visibility:hidden;
}
.about-lang{
	position:absolute;
	display:block;
	top:200px; right:0;
	font-size:0;
}
.about-lang-en{
	display:inline-block;
	width:54px; height:54px;
	margin-right:10px;
	border-radius:50%;
	border: solid 1px #fff;
	background-color:rgba(255,255,255,1);
	color:#000;
	box-sizing: border-box;
	font-family:sans-serif;
	font-size:14px;
	text-align:center;
	line-height:54px;
	cursor:pointer;
}
.about-lang-ja{
	display:inline-block;
	width:54px; height:54px;
	border-radius:50%;
	border: solid 1px #fff;
	background-color:rgba(255,255,255,0);
	color:#fff;
	box-sizing: border-box;
	font-family:sans-serif;
	font-size:14px;
	text-align:center;
	line-height:54px;
	cursor:pointer;
}
.about-sp-lang{
	margin-top:20px;
	display:none;
}
.about-sp-lang-sl{
	display:inline-block;
	margin-left:10px; margin-right:10px;
}
.about-sp-lang-a{
	border-bottom:solid 1px #fff;
}
.about-sp-lang-d{
	
}
@media screen and (max-width:1000px){
	.about{
		position:absolute;
		width:80%;
		left:50%;
		transform: translateX(-50%);
	}
	.about-t{
		margin-bottom:24px;
		font-size:20px;
	}
	.about-txtset{
		width:100%; height:420px;
		margin-top:40px;
	}
	.about-concept{
		position:relative;
		width:100%;
		text-align:left;
	}
	.about-concept-en{
		position:relative;
		font-size:20px;
		line-height:30px;
	}
	.about-concept-ja{
		position:absolute;
		top:0; right:auto;
		font-size:18px;
		line-height:30px;
		letter-spacing:0.05em;
		visibility:hidden;
		display:none;
	}
	.about-outline{
		width:100%;
		margin-top:26px;
	}
	.about-outline-en{
		position:relative;
		width:100%;
		font-size:14px;
		line-height:24px;
	}
	.about-outline-ja{
		position:absolute;
		width:100%;
		font-size:14px;
		line-height:24px;
	}
	.about-lang{
		display:none;
	}
	.about-sp-lang{
		display:block;
	}
}


.contact{
	position:absolute;
	left:50%;
	transform:translate(-50%);
	text-align:center;
}
.contact-t{
	font-size:90px;
	text-align:center;
	border-bottom:solid 1px #fff;
}
.contact-add{
	margin-top:24px;
	font-size:18px;
	line-height:32px;
	text-align:center;
}
.contact-map{
	position:relative;
	display:inline-block;
	padding:8px 32px;
	margin-top:24px;
	background-color:#fff;
	color:#000;
	font-size:18px;
	overflow:hidden;
	transition:0.2s;
}
.contact-map:hover{
	color:#fff;
	background-color:#222;
}
.contact-a{
	display:block;
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	pointer-events: auto;
}
@media screen and (max-width:1000px){
	.contact{
		width:80%;
	}
	.contact-t{
		display:inline-block;
		font-size:30px;
	}
	.contact-add{
		margin-top:16px;
		font-size:12px;
		line-height:20px;
	}
	.contact-map:hover{
		color:#000;
		background-color:#fff;
	}
}

/* DETAIL */
.detail{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	display:none;
	/*overflow:hidden;*/
}
.detail-in{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	backface-visibility: hidden;
	display:none;
}
.detail-title-set{
	position:relative;
	width:100%;
	top:0;
	transform:translateY(-50%);
	text-align:center;
	font-size:0;
	backface-visibility: hidden;
}
.detail-title-set span{
	opacity:0;
	backface-visibility: hidden;
}
.detail-client{
	font-size:82px;
	letter-spacing:0;
	line-height:70px;
	backface-visibility: hidden;
	cursor:default;
}
.detail-client span{
	opacity:0;
}
.detail-name{
	margin-top:8px;
	font-size:42px;
	line-height:42px;
	letter-spacing:0;
	backface-visibility: hidden;
	cursor:default;
}
.detail-name span{
	opacity:0;
}
.detail-credit{
	margin-top:10px;
	font-size:22px;
	letter-spacing:0;
	line-height:30px;
	opacity:0;
	backface-visibility: hidden;
	cursor:default;
}
.detail-img-wrapp{
	position:absolute;
	width:80%; height:auto;
	left:50%; top:2000px;
	transform:translateX(-50%);
}
.detail-imgSet{
	position:relative;
	margin-bottom:100px;
	width:100%; height:auto;
	opacity:0;
}
.detail-imgSet img{
	display:block;
	width:100%; height:auto;
}
.detail-back{
	position:fixed;
	display:none;
	top:44px; left:44px;
	cursor:pointer;
	transition:0.2s;
}
.detail-back-in{
	position:relative;
	padding-left:70px;
	font-size:16px;
	background-image:url(../image/ui/detail_back.png);
	background-repeat:no-repeat;
	background-size:50% auto;
	background-position:left center;
	opacity:0;
}
.detail-back:hover{
	opacity:0.6;
}
.detail-bar{
	position:absolute;
	width:1px; height:25%;
	left:50%; top:75%;
	overflow:hidden;
}
.detail-bar-in{
	position:absolute;
	width:1px; height:100%;
	left:0; top:0;
	background-color:#fff;
	opacity:0;
}
.detail-close{
	position:relative;
	width:50px; height:50px;
	margin-left:auto; margin-right:auto;
	background-image:url(../image/ui/detail_close.png);
	background-repeat:no-repeat;
	background-size:contain;
	cursor:pointer;
	transition:0.2s;
}
.detail-close:hover{
	opacity:0.5;
}
@media screen and (max-width:1000px){
	.detail-in{
		width:90%; height:100%;
		top:0; left:5%;
	}
	.detail-back{
		top:20px; left:20px;
		font-size:14px;
	}
	.detail-back-in{
		background-size:40% auto;
		padding-left:46px;
	}
	.detail-client{
		/*font-size:40px;
		line-height:38px;*/
		font-size:10.6666vw;
		line-height:10.1333vw;
	}
	.detail-name{
		margin-top:10px;
		/*font-size:26px;
		line-height:26px;*/
		font-size:6.9333vw;
		line-height:6.9333vw;
	}
	.detail-credit{
		margin-top:12px;
		/*font-size:14px;
		line-height:16px;*/
		font-size:3.7333vw;
		line-height:4.2666vw;
	}
	.detail-img-wrapp{
		position:absolute;
		width:100%;
	}
	.detail-imgSet{
		margin-bottom:40px;
	}
	.detail-close{
		width:30px; height:30px;
		margin-top:50px;
	}
}


/* movie player */
.movie-play{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	box-sizing:content-box;
	background-color:#000;
}
.movie-play-btn{
	position:absolute;
	width:140px; height:140px;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
}
.movie-play-btnBg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#fff;
	opacity:0.8;
	border-radius:50%;
}
.movie-play-txt{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-image:url(../image/ui/play.png);
	background-repeat:no-repeat;
	background-size:contain;
}
.detail-movie-wrapp{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	opacity:1;
}


/* CONTACT */
.contact-wrapp{
	position:fixed;
	width:100%; height:100%;
	top:0; left:0;
	display:none;
	overflow:hidden;
}
.contact-bg{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-color:#000;
}
.contact-set{
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	text-align:center;
}
.contact-close{
	position:absolute;
	width:50px; height:50px;
	top:40px; right:40px;
	margin-left:auto; margin-right:auto;
	cursor:pointer;
	display:none;
	transition:0.2s;
}
.contact-close-in{
	position:absolute;
	width:100%; height:100%;
	top:0; left:0;
	background-image:url(../image/ui/detail_close.png);
	background-repeat:no-repeat;
	background-size:contain;
	opacity:0;
}
.contact-close:hover{
	opacity:0.6;
}
@media screen and (max-width:1000px){
	.contact-set{
		width:80%;
	}
	.contact-close{
		width:30px; height:30px;
		top:20px; right:20px;
	}
	.contact-close:hover{
		opacity:1;
	}
}

.menu-set{
	position:fixed;
	top:44px; right:44px;
	text-align:right;
}
.menu-contact{
	position:relative;
	font-size:16px;
	display:block;
	cursor:pointer;
}
.menu-contact::after{
	position: absolute;
	bottom: -8px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background:#fff;
	opacity: 0;
	transition:0.3s;
}
.menu-contact:hover::after{
	bottom: -4px;
	opacity: 1;
}
.menu-icons{
	display:inline-block;
	width:24px;
	margin-top:40px;
	font-size:0;
}
.menu-fb{
	display:block;
	width:24px; height:24px;
	background-image:url(../image/ui/menu_fb.png);
	background-repeat:no-repeat;
	background-size:contain;
	transition:0.2s;
}
.menu-vimeo{
	display:block;
	width:24px; height:24px;
	margin-top:18px;
	background-image:url(../image/ui/menu_vimeo.png);
	background-repeat:no-repeat;
	background-size:contain;
	transition:0.2s;
}
.menu-inst{
	display:block;
	width:24px; height:24px;
	margin-top:18px;
	background-image:url(../image/ui/menu_inst.png);
	background-repeat:no-repeat;
	background-size:contain;
	transition:0.2s;
}
.menu-fb:hover{
	opacity:0.4;
}
.menu-vimeo:hover{
	opacity:0.4;
}
.menu-inst:hover{
	opacity:0.4;
}
@media screen and (max-width:1000px){
	.menu-set{
		position:fixed;
		top:20px; right:20px;
		text-align:right;
	}
	.menu-contact{
		font-size:14px;
	}
	.menu-contact:hover::after{
		opacity: 0;
	}
	.menu-icons{
		display:none;
		width:20px;
		margin-top:30px;
	}
	.menu-fb{
		width:20px; height:20px;
	}
	.menu-vimeo{
		width:20px; height:20px;
	}
	.menu-inst{
		width:20px; height:20px;
	}
	.menu-fb:hover{
		opacity:1;
	}
	.menu-vimeo:hover{
		opacity:1;
	}
	.menu-inst:hover{
		opacity:1;
	}
}


.scroll{
	position:fixed;
	width:70px; height:175px;
	bottom:0; left:0;
	background-image:url(../image/ui/scroll.png);
	background-repeat:no-repeat;
	background-size:contain;
}
@media screen and (max-width:1000px){
	.scroll{
		display:none;
	}
}

.loader{
	position:absolute;
	width:60px; height:60px;
	top:50%; left:50%;
	margin-left:-30px; margin-top:-30px;
	background-image:url(../image/loading.png);
	background-repeat:no-repeat;
	background-size:contain;
	opacity:0.3;
	animation: spin 0.5s ease-out infinite;
	transform-origin: 50% 50%;
}
@keyframes spin{
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.sp-load{
	position:absolute;
	width:1px; height:70px;
	left:50%; bottom:0;
	overflow:hidden;
	display:none;
}
.sp-load-in{
	position:absolute;
	width:100%; height:600%;
	left:0; bottom:0;
	background-image:url(../image/loading_sp.png);
	background-repeat:no-repeat;
	background-size:100% 100%;
	opacity:0.6;
}
@media screen and (max-width:1000px){
	.sp-load{
		display:block;
	}
}



