@charset "UTF-8";

/* for new vision */

html, body{
	overflow:hidden;
	overflow-x:auto;
	height:100%;
}

.vision_section{
	position:absolute;
	overflow:hidden;
	width:100%;
	display:none;
/*	font-family: 'Noto Sans Japanese', sans-serif;*/
	line-height:1.6;
	letter-spacing:0.04em;
}
.vision_section *{
	box-sizing: border-box;
}
.vision_section img{
	max-width:100%;
	height:auto;
}
.vision_section::after{
	content:"";
	display:block;
	clear:both;
}

.vision_section_wrapper_owner{
	display:table;
	width:100%;
	height:100%;
	max-width: 1200px;
	min-width: 980px;
	margin:auto;
}

.vision_topsec .vision_section_wrapper_owner{
	max-width:100%;
	max-width:initial;
}

.vision_section_wrapper{
	display:table-cell;
	vertical-align:middle;
	width:100%;
	margin:auto;
	z-index:1;
	position:relative;
	height:100%;
}
.vision_section_wrapper::after{
	content:"";
	display:block;
	clear:both;
}
.vision_topsec_middle{
	position:relative;
	height:100%;
	min-height:500px;
	max-height:580px;
}

.visionMvBox{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	overflow:hidden;
}

.visionMvBox canvas{
	width:100%;
	height:100%;
}


.vision_topsec {
	background:#403D32;
	margin-top: 66px;
}

.vision_sec2::before{
	content:"";
	display:block;
	background:url(../img/back_vision_index_1.jpg) 50% 50%;
	background-size:cover;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.vision_sec2.on::before{
	transition: transform 10s ease-out;
	transform:scale(1.15, 1.15);
}

.vision_sec3::before{
	content:"";
	display:block;
	background:url(../img/back_vision_index_2.jpg) 50% 50%;
	background-size:cover;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}


.vision_sec3.on::before{
	transition: transform 10s ease-out;
	transform:scale(1.15, 1.15);
}

.boxLink{
	box-sizing:border-box;
	display:inline-block;
	text-align:center;
	position:relative;
	padding:8px 16px 8px 8px;
	font-size:13px;
	line-height:1em;
	letter-spacing:0.120em;
	text-decoration:none;
	width:180px;
	color:black;
	border:1px solid black;
	background:white;
	background:rgba(255,255,255,0.2);
	box-shadow:0px 0px 0px rgba(255,255,255,0.5);
	transition: box-shadow 1s ease, background-color 0.5s ease;
	font-weight:700;
}
.boxLink::after{
	content:url(../img/mark_vision_index_arrow04.png);
	position:absolute;
	right:8px;
	top:50%;
	transform: translate(0, -50%);
}

.boxLink.anchorLink::after{
	content:url(../img/mark_vision_index_arrow02.png);
}
.boxLink.anchorLink.whiteLink::after{
	content:url(../img/mark_vision_index_arrow01.png);
}
.boxLink.whiteLink{
	color:white;
	border:1px solid white;
	background:black;
	background:rgba(0,0,0,0.2);
	box-shadow:0px 0px 0px rgba(0,0,0,0.3);
}
.boxLink.whiteLink::after{
	content:url(../img/mark_vision_index_arrow03.png);
}
.boxLink:hover{
	background:rgba(236,1,123,0.2);
	box-shadow:0px 0px 12px rgba(255,255,255,0.5), 0px 0px 20px rgba(0,0,0,0.3);
}
.boxLink.whiteLink:hover{
	background:rgba(179,132,26,0.2);
}

.nextArrow{
	position:absolute;
	z-index:2;
	left:50%;
	bottom:10px;
	margin-left:-26px;
	background: url(../img/icn_vision_index_arrowd.png) no-repeat;
	width:52px;
	height:70px;
	animation-name: moveNextArrow;
	animation-duration: 3s;
	animation-iteration-count: infinite;
}


@keyframes moveNextArrow {
	0% {
		background-position:center -100%;
		background-size:52px 10px;
		animation-timing-function:ease-out
	}
	10% {
		background-position:center center;
		background-size:52px 37px;
	}
	90% {
		background-position:center center;
		background-size:52px 37px;
	}
	100% {
		background-position:center 200%;
		background-size:52px 10px;
		animation-timing-function:ease-in
	}
}

.topArrow{
	background: url(../img/ico_vision_index_totop.png) no-repeat;
	width:53px;
	height:53px;
	position:absolute;
	z-index:2;
	right:40px;
	bottom:40px;
	text-indent:-9999px;
	box-shadow:0px 0px 2px rgba(255,255,255,0.8);
}
.fToTop{
	position:relative;
}

.vision_topsec {
	text-align:center;
}
.vision_topsec h1{
}
.vision_topsec .top_c{
	position:absolute;
	width:100%;
	top:50%;
	transform: translate(0, -50%);
}
.vision_topsec .top_c h1 span{
	position:relative;
	display:inline-block;
	max-width:100%;
	transform: translateZ(0) scale(1.0, 1.0);;
}
.vision_topsec .top_c h1 img{
	position:relative;
	-webkit-backface-visibility: hidden;
	display: inline-block;
}
.vision_topsec .top_c h1 img:first-child{
	position:absolute;
	top:0;
	left:0;
}
.vision_topsec .top_c p{
	display:inline-block;
	text-align:left;
	margin-left:12em;
	font-size:15px;
	letter-spacing:0.04em;
	text-shadow: 1px 1px 5px white, 0px 0px 15px white;
}
.vision_topsec .top_c p span:first-child{
	padding-left:4em;
}
.vision_topsec .top_c p span{
	padding-left:2em;
}
.vision_topsec .top_c p span:last-child{
	padding-left:0;
}

.vision_topsec .top_l{
	position:absolute;
	top:0;
	left:0;
	width:50%;
	z-index:1;
	padding-top:5px;
}
.vision_topsec h2{
	-webkit-backface-visibility: hidden;
	transform: translateZ(0) scale(1.0, 1.0);;
}
.vision_topsec h2 img{
	width:250px;
	-webkit-backface-visibility: hidden;
}
.vision_topsec .top_r{
	position:absolute;
	bottom:50px;
	right:0;
	width:50%;
	z-index:1;
	padding-bottom:5px;
}

.vision_topsec .list_btn::after{
	content:"";
	display:block;
	clear:both;
}
.vision_topsec .list_btn{
	width:396px;
	margin:auto;
}
.vision_topsec .top_l .list_btn > li{
	float:left;
	margin:0 6px;
	padding:1px;
}
.vision_topsec .top_r .list_btn > li{
	float:right;
	margin:0 7px;
	padding:1px;
}

.vision_topsec .list_btn.full > li{
	float:none;
}
.vision_topsec .list_btn.full .boxLink{
	width:240px;
}

.vision_topsec h2{
	margin-bottom:1em;
}

.vision_section .box_title{
	text-align:center;
	width:375px;
	/*position:absolute;
	top:50%;
	transform: translate(0, -50%);*/
	margin-top:170px;
}
.vision_sec2 .box_title{
	margin-top:120px;
}
.vision_section .box_detail{
	width:705px;
	max-width:calc(100% - 380px);
}
.vision_section .box_detail p{
	font-size:16px;
	margin-bottom:3em;
}
.vision_section .box_detail h4{
	font-size:15px;
	margin-bottom:0.7em;
	position:relative;
	left:55px;
	min-height: 55px;
	padding-top: 15px;
}
.vision_section .box_detail h4.twoline{
	padding-top: 4px;
}
.vision_section .box_detail h4::before{
	content:"";
	position:absolute;
	left:-55px;
	top:0.4em;
	display:block;
	background:url(../img/icon_vision_index_scene1.png);
	background-size:100% 100%;
	width:45px;
	height:45px;

	
}
.vision_sec3 .box_detail h4::before{
	background-image:url(../img/icon_vision_index_scene2.png);
}

.vision_section .box_title .flList li{
	margin-right:4%;
	padding-bottom:4px;
}

.vision_section .box_detail .flList li{
	margin-right:14%;
}
.vision_section .box_title .flList li:last-child, .vision_section .box_detail .flList li:last-child{
	margin-right:0;
}

.vision_section .box_detail .flList li a{
	text-decoration:none;
	color:inherit;
}
.vision_section .box_detail .flList li a:hover{
	text-decoration:underline;
}

.vision_section .box_detail .flList li a figure{
	overflow:hidden;
	position:relative;
}
.vision_section .box_detail .flList li a figure img{
	transition:transform 0.5s ease;
}
.vision_section .box_detail .flList li a figure::after{
	content:"";
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	border:0px solid transparent;
	transition:border 0.5s ease;
	box-sizing:border-box;
}

.vision_section .box_detail .flList li a:hover figure::after{
	border:5px solid #e90000;
}
.vision_section .box_detail .flList li a:hover figure img{
	transform:scale(1.1);
	transition:transform 2s ease;
}

@media screen and (max-width: 1080px) {
	.vision_section .box_detail h4{
		font-size:14px;
	}
	.vision_section .box_detail h4::before{
		width:40px;
		height:40px;
	}
	.vision_section .box_detail .flList li{
		width:45%;
		margin-right:10%;
	}
}

@media screen and (min-width: 768px) and (max-height: 650px){
	.vision_topsec .top_l img{
		width:210px;
	}
	.vision_topsec .top_c img{
		width:700px;
	}
	.vision_topsec .top_r img{
		width:210px;
	}
	.vision_topsec_middle{
		min-height:450px;
	}
	
	.vision_section .box_detail p{
		margin-bottom:1em;
	}
	.vision_section .box_detail .flList figure img{
		width:250px;
	}
}

.vision_sec2 .box_title{
	float:left;
}
.vision_sec2 .box_detail{
	float:right;
	text-shadow:black 0 0 10px, black 0 0 50px;
}
.vision_sec3 .box_title{
	float:right;
}
.vision_sec3 .box_detail{
	float:left;
	text-shadow:white 0 0 1px, white 0 0 4px, white 0 0 10px, white 0 0 50px;
}

.vision_section .flList{
	margin:auto;
}
.vision_section .flList::after{
	content:"";
	display:block;
	overflow:hidden;
	clear:both;
}
.vision_section .flList li{
	float:left;
}

.vision_sec2{
	color:white;
}
.vision_sec3{
	color:black;
}

.vision_sec2 h3{
	margin-left:-7%;
	margin-right:-7%;
	margin-top:-5%;
	margin-bottom:-5%;
}
.vision_sec3 h3{
	margin-left:-8%;
	margin-right:-8%;
	margin-top:-5%;
	margin-bottom:-5%;
}

.visionMovieBox{
	position:relative;
	height:0;
	padding-bottom:56.25%;
}

.vision_movie_title{
	position:absolute;
	top:70%;
	transform: translate(0, -50%);
	width:100%;
	z-index:1;
	text-align:center;
}
.vision_movie_title .boxLink{
	border:1px solid #e90000;
}
.vision_movie_title .boxLink::after{
	content:url(../img/mark_vision_index_arrow05.png);
}
.vision_movie_title .boxLink:hover{
	background:rgba(233,0,0,0.3);
	box-shadow:0px 0px 10px rgba(233,0,0,0.3);
}

.vision_movie_title p{
	font-family: 'EB Garamond', serif;
	font-size:16px;
	font-weight:normal;
	text-shadow:2px 2px 1px #000000;
	color:white;
	margin-bottom:1em;
}

.visionVideoBox2{
	width:100%;
	height:0;
	padding-bottom:56.25%;
	position:absolute;
}

#visionVideo{
	width:100%;
	height:auto;
}

@media screen and (max-width: 767px) {

	.visionVideoBox2{
		display:none;
	}
}

.scrollSection{
	overflow:hidden;
	overflow-y:auto;
	height:100%;
	position:relative;
	-webkit-overflow-scrolling:touch;
}


@media screen and (max-width: 767px) {
	.vision_section_wrapper_owner{
		max-width:auto;
		max-width:initial;
		min-width:auto;
		min-width:initial;
	}
	.vision_section_wrapper{
		padding:10px;
	}
	.vision_topsec_middle{
		top:0;
		transform:none;
		height:auto;
		min-height:auto;
		min-height:initial;
		max-height:auto;
		max-height:initial;
	}
	
	.boxLink{
		padding-top:12px;
		padding-bottom:12px;
		width:100%;
		font-size:10px;
	}
	
	.vision_topsec{
		margin-top:0;
	}
	
	.vision_topsec h1{
		margin-top:0;
		margin-bottom:-5%;
	}
	
	.vision_topsec h2 img{
		width:80%;
	}
	.vision_topsec .top_l{
		position:relative;
		height:0;
		padding-bottom:50%;
	}
	.vision_topsec .top_r{
		position:relative;
		bottom:auto;
		left:50%;
		height:0;
		padding-bottom:50%;
	}
	.vision_topsec .top_l > div{
		position:absolute;
		bottom:0;
	}
	.vision_topsec .top_r > div{
		position:absolute;
	}
	
	.vision_topsec .list_btn{
		width:auto;
	}
	.vision_topsec .list_btn.full .boxLink{
		width:100%;
	}
	.vision_topsec .top_l .list_btn > li{
		float:none;
		margin:0;
		margin-bottom:2%;
	}
	.vision_topsec .top_r .list_btn > li{
		float:none;
		margin:0;
		margin-bottom:2%;
	}
	
	.vision_topsec .top_c{
		position:relative;
		top:auto;
		transform:none;
		margin-top:-3%;
		margin-bottom:3%;
	}
	.vision_topsec .top_c p{
		text-align:center;
		margin-left:auto;
		font-size:12px;
	}
	.vision_topsec .top_c p span{
		padding-left:0;
	}
	.vision_topsec .top_c p span:first-child{
		padding-left:0;
	}
	.visionMvBox{
		min-height:auto;
		min-height:initial;
	}
	
	.vision_section .box_title{
		width:auto;
		margin-top:0;
		margin-bottom:2%;
	}
	.vision_section .box_title h2{
		width:43%;
		margin:auto;
	}
	.vision_sec3 .box_title h2{
		margin-bottom:4%
	}
	.vision_section .box_title h3{
		margin-top:0%;
		margin-bottom:-2%;
	}
	.vision_section .box_detail {
		width:auto;
		max-width:auto;
		max-width:initial;
		float:none;
		margin-top:9%;
	}
	.vision_section .box_detail h4::before {
		content: "SCENE";
		display:block;
		position: static;
		color:white;
		background:#e90000;
		text-align:center;
		padding:0.2em;
		width:100%;
		height:auto;
		text-shadow:none;
		box-sizing:border-box;
		margin-bottom:2%;
		text-decoration:none !important;
	}
	.vision_sec3 .box_detail h4::before {
		background:none;
		border:1px solid #e90000;
		color:#e90000;
	}
	.vision_section .box_detail h4{
		position:static;
		text-align:center;
		font-size:11px;
		margin-bottom:2%;
		min-height: 75px;
	}
	.vision_section .box_detail h4.twoline{
		padding-top:15px;
	}
	
	.vision_section .box_title .flList li{
		width:48%;
		margin-right:4%;
	}
	
	.vision_section .box_detail .flList li{
		width:48%;
		margin-right:4%;
	}
	
	.visionMovieBox{
		padding-top: 38%;
		background: url(../img/back_vision_index_video_sp.jpg) no-repeat 50% 50%;
		background-size: auto auto;
		background-size: cover;	
	}
	.vision_movie_title p{
		font-size:13px;
	}
	.vision_movie_title .boxLink{
		width:60%;
	}
	
	.vision_topsec .nextArrow{
		bottom:0;
		margin-bottom:5%;
	}
	.topArrow{
		display:none;
	}




}

/* overfide old content */
.l-header{
	background:white;
	position:absolute;
	top:0;
	transition:top 0.5s ease-out;
}
@media screen and (min-width: 768px) {
	.l-header.hide{
		top:-66px;
	}
}

.l-main{
	margin-top:49.5px;
	height:100%;
	position:relative;
}



