﻿
@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Light/woff/ShinGoPro-Light.css");
@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Bold/woff/ShinGoPro-Bold.css");
@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Regular/woff/ShinGoPro-Regular.css");

body{
	overflow-y: scroll;
}
body main{
	max-width: 1500px;
	margin: 0 auto;
	background: #0098d1;
	font-family: ShinGoPro-Regular,sans-serif;
	font-size: 18px;
	color: #fff;
	letter-spacing: 0.24em;
}
body br{
	font-size: 0;
}
body ul,
body ol,
body figure{
	margin: 0;
	padding: 0;
}
body ul li,
body ol li{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body p,
body li,
body dt,
body dd,
body th,
body td{
	margin: 0;
	line-height : 140% ;
}
body h1,
body h2,
body h3,
body h4{
	margin: 0;
	line-height : 120% ;
}
body img{
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
}
body a{
	color: #676767;
	text-decoration: none;
	transition-duration: 0.3s ;
}

body a:focus,
body input:focus{
	outline: none;
}

body button,
body input[type=submit],
body input[type=button]{
	text-decoration : none ;
	transition-duration : 0.3s ;
}
body a:hover,
body button:hover,
body input[type=submit]:hover,
body input[type=button]:hover{
	opacity: 0.5;
	text-decoration: underline;
}

body h1,
body h2,
body h3,
body h4{
	line-height: 140%;
	font-weight: normal;
}
body p,
body li,
body dt,
body dd,
body th,
body td{
	line-height: 180%;
}
body strong,
body b{
	font-weight: normal;
}
/******************************************************************************
	header
******************************************************************************/
header{
	position: relative;
	max-width: 1500px;
	height: 100vh;
	margin: 0 auto;
	overflow: hidden;
}
header video{
	position: absolute;
	left: 50%;
	top: 0;
	height: 100%;
	aspect-ratio: 16 / 9;
	transform: translateX(-50%);
}
header > p{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background: rgba(0,0,0,0.5);
}
header > p img{
	width: 290px;
}
header .txt{
	position: absolute;
	right: 0;
	bottom: 65px;
	padding: 30px 60px;
	background: rgba(255,255,255,0.7);
	opacity: 1;
	transition-duration : 1s;
}
header .txt p{
	margin: 20px 0 0;
	color: #0098d1;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 24px;
}
header .txt p.label{
	display: inline-block;
	margin: 20px 0 0 -60px;
	padding: 5px 60px calc(0.2em + 5px);
	background: #0098d1;
	color: #fff;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 20px;
	line-height: 100%;
}
header.init .txt{
	opacity: 0;
}
/******************************************************************************
	.movie
******************************************************************************/
section.movie{
	position: relative;
}
section.movie .txt{
	position: absolute;
	right: 0;
	top: 0;
	padding: 90px 50px;
	background: #0098d1;
	opacity: 1;
	transition-duration : 1s;
}
section.movie .txt p{
	margin: 30px 0 0;
	padding: 10px 0;
	border: #fff 2px solid;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.1em;
}
section.movie p.start{
	position: absolute;
	left: calc(50% - 85px);
	top: calc(50% - 85px);
	width: 170px;
	height: 170px;
	opacity: 1;
	transition-duration : 1s;
}
section.movie p.start a{
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/btn_movie.png") center center no-repeat;
	background-size: contain;
}
section.movie p.start a img{
	display: none;
}
section.movie.init .txt,
section.movie.init p.start{
	opacity: 0;
}
/******************************************************************************
	.nav
******************************************************************************/
section.nav{
}
section.nav ul li{
	position: relative;
}
section.nav ul li a{
	display: block;
}
section.nav ul li span{
	position: absolute;
	left: 0;
	top: 0;
	background: #0098d1;
}
section.nav ul li span{
	max-width: 59%;
}
section.nav ul li span img{
	width: auto;
}
section.nav ul li:nth-of-type(2) span{
	max-width: 59%;
}
section.nav ul li:nth-of-type(3) span{
	max-width: 77%;
}
/******************************************************************************
	.interview
******************************************************************************/
section.interview{
	padding: 190px 0 0;
	background: #000;
}
section.interview h2{
	max-width: 60%;
}
section.interview h2 img{
	width: auto;
}
section.interview ul{
	display: flex;
	justify-content: space-between;
}
section.interview ul li{
	box-sizing: border-box;
	position: relative;
	width: 25%;
	padding: 0 50px 45px;
	background: #fff;
}
section.interview ul li:before,
section.interview ul li:after{
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: #000;
}
section.interview ul li:after{
	left: auto;
	right: 0;
}
section.interview ul li:first-of-type:before,
section.interview ul li:last-of-type:after{
	display: none;
}
section.interview ul li picture{
	display: block;
	margin: 0 -50px 45px;
}
section.interview ul li p{
	font-size: 14px;
	color: #000;
	line-height: 140%;
	letter-spacing: 0.1em;
}
section.interview ul li p.post{
	margin: 0 0 10px;
	color: #0098d1;
	font-size: 16px;
}
section.interview ul li p.enName{
	margin: 0 0 10px;
	color: #0098d1;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 36px;
	line-height: 110%;
}
section.interview ul li p.jpName{
	margin: 0 0 15px;
	color: #0098d1;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 28px;
}
/******************************************************************************
	.content
******************************************************************************/
section.content h2{
	position: relative;
}
section.content h2 picture{
	position: relative;
	display: block;
}
section.content h2 span{
	position: absolute;
	left: 0;
	bottom: 0;
}
section.content h2 span img{
	width: auto;
}
section.content div.set{
	position: relative;
	width: 100%;
	overflow: hidden;
}
section.content div.set:before{
	content: " ";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 40px;
	background: #0098d1;
	z-index: 2;
}
section.content div.set:nth-of-type(1):before{
	display: none;
}
section.content div.set picture{
	opacity: 1;
	transition-duration : 1s;
}
section.content div.set .txt{
	box-sizing: border-box;
	position: absolute;
	width: 1068px;
	max-width: 71.2%;
	padding: 40px 40px 0;
	background: #0098d1;
	transition-duration : 3s;
}
section.content div.set.left .txt{
	left: 0;
}
section.content div.set.right .txt{
	right: 0;
}
section.content div.set.top .txt{
	top: 0;
	padding-bottom: 40px;
}
section.content div.set.bottom .txt{
	bottom: 0;
}
section.content div.set.max .txt{
	top: 0;
	height: 100%;
}
section.content div.set:last-of-type .txt{
	padding-bottom: 40px;
}
section.content div.set .txt h3{
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 36px;
	letter-spacing: 0.1em;
}
section.content div.set .txt h3 strong{
	font-size: 44px;
}
section.content div.set .txt p{
	margin: 30px 0 0;
	letter-spacing: 0.1em;
	text-align:justify;
	line-height: 170%;
}
section.content div.set .txt p.grade{
	width: 140px;
	margin: 0 0 0 auto;
	border: #fff 1px solid;
	padding: 5px 0;
	line-height: 110%;
	text-align: center;
	font-size: 16px;
}
section.content#exterior div.set:nth-of-type(1) .txt{
	width: 830px;
	max-width: 56%;
}
section.content#exterior div.set:nth-of-type(2) .txt{
	width: 604px;
	max-width: 41%;
}
section.content#exterior div.set:nth-of-type(3) .txt{
	width: 640px;
	max-width: 42.7%;
}
section.content#exterior div.set:nth-of-type(4) .txt{
	width: 750px;
	max-width: 50%;
}
section.content#interior div.set:nth-of-type(1) .txt{
	width: 830px;
	max-width: 56%;
}
section.content#interior div.set:nth-of-type(2) .txt{
	width: 640px;
	max-width: 42.7%;
}
section.content#interior div.set:nth-of-type(3) .txt{
	width: 740px;
	max-width: 50%;
}
section.content#philosophy div.set:nth-of-type(1) .txt{
	width: 674px;
	max-width: 45%;
}
/***** .init *****/
section.content div.set.init picture{
	opacity: 0;
}
section.content div.set .txt.init2{
	opacity: 0;
}
/******************************************************************************
	.links
******************************************************************************/
section.links{
	padding: 0 70px 70px;
}
section.links h2{
	padding: 60px 0 0;
	margin: 0 -70px 70px;
	background: #fff;
}
section.links h2 img{
	width: 768px;
	max-width: 51.2%;
	transform: translate(-5px,2px);
}
section.links ul.links{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 100px;
}
section.links ul.links li{
	width: calc(50% - 20px);
	margin: 0 0 40px;
}
section.links ul.links li a{
	display: block;
	border-radius: 20px;
	overflow: hidden;
}
section.links ul.links li:nth-last-of-type(1),
section.links ul.links li:nth-last-of-type(2){
	margin-bottom: 0;
}
section.links ul.sitemap{
	display: flex;
	justify-content: space-between;
	margin: 0 -70px;
	background: #fff;
}
section.links ul.sitemap li{
	width: 33.3333%;
}
section.links ul.sitemap li a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	padding: 50px 0;
	background: #fff;
	font-size: 24px;
	letter-spacing: 0em;
}
section.links ul.sitemap li a:hover{
	text-decoration: none;
}
section.links ul.sitemap li a span{
	display: block;
	width: 66px;
	height: 64px;
	margin: 0 0 10px;
	background: url("../img/ico_sitemap01.png") center center no-repeat;
	background-size: contain;
}
section.links ul.sitemap li:nth-of-type(2) a span{
	background-image: url("../img/ico_sitemap02.png");
}
section.links ul.sitemap li:nth-of-type(3) a span{
	background-image: url("../img/ico_sitemap03.png");
}

/******************************************************************************
	.loading
******************************************************************************/
body main,
body #gn_footer{
	display: none;
}
body #loading{
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 0;
	height: 0;
	width: 100%;
	height: 100%;
	background: #0098d1;
}
body #loading p{
	display: none;
}
