@charset "UTF-8";

@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");

#mainContents:after,
.clearfix:after{
	content : " ";
	display : block ;
	height : 0 ; 
	visibility : hidden ;
	clear : both ;
}
body #mainContents{
	font-family: ShinGoPro-Regular,sans-serif;
	font-size: 18px;
}
body #mainContents br{
	font-size: 0;
}
body #mainContents ul,
body #mainContents ol,
body #mainContents figure{
	margin: 0;
	padding: 0;
}
body #mainContents ul li,
body #mainContents ol li{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body #mainContents p,
body #mainContents li,
body #mainContents dt,
body #mainContents dd,
body #mainContents th,
body #mainContents td{
	margin: 0;
	line-height : 140% ;
}
body #mainContents h1,
body #mainContents h2,
body #mainContents h3,
body #mainContents h4{
	margin: 0;
	line-height : 120% ;
}
body #mainContents img{
	vertical-align: bottom;
}
body #mainContents a{
	color: #c3092f;
	text-decoration: underline;
	transition-duration: 0.3s ;
}

body #mainContents a:focus,
body #mainContents input:focus{
	outline: none;
}

body #mainContents a,
body #mainContents button,
body #mainContents input[type=submit],
body #mainContents input[type=button]{
	text-decoration : none ;
	transition-duration : 0.3s ;
}
body #mainContents a:hover,
body #mainContents button:hover,
body #mainContents input[type=submit]:hover,
body #mainContents input[type=button]:hover{
	opacity: 0.5;
}

body #mainContents h1,
body #mainContents h2,
body #mainContents h3,
body #mainContents h4{
	line-height: 140%;
	font-weight: normal;
}
body #mainContents p,
body #mainContents li,
body #mainContents dt,
body #mainContents dd,
body #mainContents th,
body #mainContents td{
	line-height: 180%;
}
body #mainContents strong,
body #mainContents b{
	font-weight: normal;
}

body #mainContents .effect{
	transition-duration : 1s ;
	-webkit-transition : all 1s ease 0s ;
	-moz-transition : all 1s ease 0s ;
	-o-transition : all 1s ease 0s ;
	opacity: 0;
}
body #mainContents .effect.effectout{
	opacity: 1;
}
/*
sup{
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
}
sup{
	bottom: 1ex;
}
*/
/******************************************************************************
	common
******************************************************************************/
body #mainContents section{
	box-sizing: border-box;
	position: relative;
	max-width: 1300px;
	min-width: 980px;
	margin: 0 auto;
}
body #mainContents section ul.attention{
	margin: 15px 0 0;
}
body #mainContents section ul.attention li{
	font-size: 16px;
	color: #666;
}
body #mainContents .regist{
	margin: 0;
}
body #mainContents .regist ul{
	display: flex;
	justify-content: center;
	width: 910px;
	margin: 0 auto 15px;
}
body #mainContents .regist ul li{
	position: relative;
	width: 440px;
}
body #mainContents .regist ul li p.btn{
	width: 440px;
	margin: 0 auto;
}
body #mainContents .regist ul li p.btn a{
	padding: 20px 0;
	display: block;
	background: #c3092f url("../img/ico_arrow_white_12x18.png") right 30px center no-repeat;
	text-align: center;
	font-size: 22px;
	line-height: 140%;
	color: #fff;
}
body #mainContents .regist ul li p.before{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	line-height: 160%;
}
body #mainContents .regist ul li p.before strong{
	color: #c3092f;
	font-size: 22px;
}
body #mainContents .regist ul li p.after{
	margin: 5px 0 0;
	font-size: 14px;
	text-align: center;
}
body #mainContents .regist p.period{
	text-align: center;
	font-size: 20px;
}
body #mainContents .regist p.attention{
	margin: 0 0 30px;
	text-align: center;
	font-size: 20px;
}
body #mainContents .regist p.kiyaku{
	margin: 5px 0 0;
	text-align: center;
	font-size: 16px;
}
body #mainContents .regist p.before{
	margin: 0 0 5px;
	text-align: center;
	font-size: 16px;
}
body #mainContents .regist p.kiyaku a{
	text-decoration: underline;
}
body #mainContents div.error{
	margin: 30px;
	padding: 30px;
	background: #fff;
	border: #c3092f 2px solid;
	text-align: center;
	color: #c3092f;
}
/******************************************************************************
	.header
******************************************************************************/
body #mainContents section.header{
	box-sizing: border-box;
	padding: 90px 0 60px;
	background: #fff url("../img/bg_kv.jpg") center top no-repeat;
	text-align: center;
}
body #mainContents section.header h1{
	margin: 0 auto 400px;
}
body #mainContents section.header .regist{
	margin-top: 0;
	margin-bottom: 35px;
}
/******************************************************************************
	.present
******************************************************************************/
body #mainContents section.present{
	padding: 90px 0 120px;
	background: #112857;
}
body #mainContents section.present h2{
	margin: 0 0 30px;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 50px;
	color: #fff;
	text-align: center;
}
body #mainContents section.present h3{
	box-sizing: border-box;
	position: relative;
	width: 1000px;
	padding: 0 40px;
	margin: 0 auto;
	background: #8a94a1;
	color: #fff;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 18px;
	line-height: 50px;
}
body #mainContents section.present h3:after{
	content: " ";
	position: absolute;
	right: 0;
	top: 0;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 20px 0;
	border-color: transparent #112857 transparent transparent;
}
body #mainContents section.present .text{
	box-sizing: border-box;
	width: 1000px;
	padding: 25px 40px;
	margin: 0 auto 40px;
	background: #fff;
}
body #mainContents section.present .text p{
	font-size: 18px;
}
body #mainContents section.present .text p.strong{
	font-size: 24px;
}
body #mainContents section.present .text ul li{
	font-size: 18px;
}
body #mainContents section.present .text ul.attention{
	margin-top: 10px;
}
body #mainContents section.present .text ul.attention li{
	position: relative;
	padding: 0 0 0 1em;
	font-size: 12px;
	color: #666;
}
body #mainContents section.present .text ul.attention li span{
	position: absolute;
	left: 0;
}
body #mainContents section.present .text ul.attention.caution li{
	font-size: 14px;
	font-family: ShinGoPro-Bold,sans-serif;
	color: #c3092f;
}
body #mainContents section.present .regist p{
	color: #fff;
}
body #mainContents section.present .regist p a{
	color: #fff;
}
/******************************************************************************
	.needs
******************************************************************************/
body #mainContents section.needs{
	padding: 120px 0;
	background: url("../img/bg_needs.png") center top no-repeat;
	text-align: center;
}
body #mainContents section.needs h2{
	display: inline;
	background: linear-gradient(transparent 95%,#112857 0%);
	text-align: center;
	font-size: 48px;
	font-style: italic;
	font-family: ShinGoPro-Bold,sans-serif;
	color: #112857;
	line-height: 160%;
}
body #mainContents section.needs > p{
	margin: 15px 0 45px;
	font-size: 16px;
	color: #112857;
}
body #mainContents section.needs ul.tab{
	display: flex;
	justify-content: center;
	margin: 0 0 60px;
	border-bottom: #112857 2px solid;
}
body #mainContents section.needs ul.tab li{
	box-sizing: border-box;
	position: relative;
	width: 380px;
	margin: 0 10px;
	border: #112857 2px solid;
	border-bottom: none;
	border-radius: 10px 10px 0 0;
	background: #112857;
	line-height: 90px;
	font-size: 30px;
}
body #mainContents section.needs ul.tab li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #fff;
}
body #mainContents section.needs ul.tab li.current{
	background: #fff;
}
body #mainContents section.needs ul.tab li.current:after{
	content: " ";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 4px;
	background: #fff;
}
body #mainContents section.needs ul.tab li.current a{
	color: #112857;
}
body #mainContents section.needs .tabInner{
	display: none;
}
body #mainContents section.needs .tabInner.current{
	display: block;
}
body #mainContents section.needs .tabInner h3{
	margin: 0 0 30px;
	font-size: 42px;
	font-style: italic;
	text-align: center;
}
body #mainContents section.needs .tabInner .imgWrap{
	position: relative;
	margin: 0 0 60px;
}
body #mainContents section.needs .tabInner .imgWrap figure img{
	max-width: 100%;
}
body #mainContents section.needs .tabInner .imgWrap p.type01{
	position: absolute;
	right: 60px;
	bottom: 100px;
	font-size: 28px;
	font-style: italic;
	color: #fff;
	text-shadow: 0 0 22px rgba(0,0,0,1);
}
body #mainContents section.needs .tabInner .imgWrap p.type02{
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 0 60px 0 45px;
	background: #000;
	font-size: 42px;
	font-style: italic;
	color: #fff;
	line-height: 90px;
}
body #mainContents section.needs .tabInner .imgWrap p.type02:after{
	content: " ";
	position: absolute;
	left: -24.5px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 90px 25px;
	border-color: transparent transparent #000 transparent;
}
body #mainContents section.needs .tabInner .imgWrap p.type03{
	position: absolute;
	display: flex;
	align-items: center;
	left: 0;
	top: 0;
	padding: 0 30px 0 45px;
	background: #00a3e0;
	font-size: 52px;
	font-style: italic;
	color: #fff;
	height: 100px;
}
body #mainContents section.needs .tabInner .imgWrap p.type03:after{
	content: " ";
	position: absolute;
	right: -24.5px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 100px 25px 0 0;
	border-color: #00a3e0 transparent transparent transparent;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 b{
	display: block;
	height: 100px;
	transform: translateY(-10px);
	line-height: 100px;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 strong{
	font-family: ShinGoPro-Bold,sans-serif;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 span{
	font-size: 32px;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 sup{
	font-size: 32px;
}
body #mainContents section.needs .tabInner ul.content li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1170px;
	margin: 0 auto 45px;
	padding: 0 0 45px;
	border-bottom: #ddd 1px solid;
}
body #mainContents section.needs .tabInner ul.content li:last-child{
	margin: 0 auto;
	padding: 0;
	border-bottom: none;
}
body #mainContents section.needs .tabInner ul.content li figure{
	width: 605px;
}
body #mainContents section.needs .tabInner ul.content li figure img{
	max-width: 100%;
}
body #mainContents section.needs .tabInner ul.content li .text{
	width: calc(100% - 645px);
	text-align: left;
}
body #mainContents section.needs .tabInner ul.content li .text h4{
	padding: 0 0 15px;
	font-size: 32px;
	border-bottom: #00a3e0 4px solid;
	color: #00a3e0;
}
body #mainContents section.needs .tabInner ul.content li .text p{
	margin: 15px 0 0;
	font-size: 20px;
}
body #mainContents section.needs .tabInner ul.content li .text h4 sup,
body #mainContents section.needs .tabInner ul.content li .text p sup{
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	bottom: 1ex;
}
body #mainContents section.needs .tabInner ul.content li .text ul.attention{
	margin: 10px 0 0;
}
body #mainContents section.needs .tabInner ul.content li .text ul.attention li{
	display: block;
	color: #000;
}
body #mainContents section.needs .tabInner ul.content li:last-child figure{
	order: 2;
}
body #mainContents section.needs .tabInner p.attention{
	margin: 60px 0 0;
	text-align: center;
	font-size: 14px;
}
/******************************************************************************
	.regist.last
******************************************************************************/
body #mainContents .regist.last{
	max-width: 1500px;
	margin: 0 auto;
	padding: 120px 0;
	background: #c3092f;
	color: #fff;
}
body #mainContents .regist.last p.before{
	text-align: center;
}
body #mainContents .regist.last h2{
	margin: 0 0 30px;
	text-align: center;
	letter-spacing: 0.15em;
}
body #mainContents .regist.last ul li p.btn a{
	display: block;
	background-color: #fff;
	background-image: url("../img/ico_arrow_red_12x18.png");
	color: #c3092f;
}
body #mainContents .regist.last p.kiyaku a{
	color: #fff;
}
/******************************************************************************
	.kiyaku
******************************************************************************/
body section.kiyaku{
	max-width: 720px;
}
body section.kiyaku h2{
	margin: 0 0 20px;
	font-size: 18px;
	text-align: center;
}
body section.kiyaku h3{
	margin: 20px 0 5px;
	font-size: 14px;
	font-weight: bold;
}
body section.kiyaku p{
	margin: 0 0 20px;
	font-size: 12px;
	line-height: 160%;
}
body section.kiyaku p.hasBottom{
	margin: 0;
}
body section.kiyaku ul{
	margin: 0 0 20px;
	padding: 0;
	list-style-type: none;
}
body section.kiyaku p + ul{
	margin-top: -20px;
}
body section.kiyaku ul li{
	position: relative;
	margin: 0 0 0 2em;
	line-height: 160%;
	font-size: 12px;
	list-style-type: disc;
}
body section.kiyaku ul li ol{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body section.kiyaku ul li ol li{
	padding: 0 0 0 2em;
	margin: 0;
	list-style-type: none;
}
body section.kiyaku ul li ul{
	margin: 0;
}
body section.kiyaku ul li ul li{
	padding: 0;
	list-style-type: disc;
}
body section.kiyaku ol.maru{
	margin: 0 0 20px;
	padding: 0;
}
body section.kiyaku ol.maru li{
	position: relative;
	padding: 0 0 0 2em;
	list-style-type: none;
	line-height: 160%;
	font-size: 12px;
}
body section.kiyaku ol.maru li span{
	position: absolute;
	left: 0;
}
body section.kiyaku ol.maru li ol,
body section.kiyaku ol.maru li ol li ul{
	margin: 0;
	padding: 0;
}
body section.kiyaku ol.maru li ol li{
	margin: 0 0 0 2em;
	padding: 0;
	list-style-type: decimal;
}
body section.kiyaku ol.maru li ol li ul li{
	margin: 0 0 0 2em;
	padding: 0;
	list-style-type: disc;
}
body section.kiyaku ul.attention{
	margin-top: -15px;
}
body section.kiyaku ul li ul.attention{
	margin-top: 0;
	margin-bottom: 0;
}
body section.kiyaku ul.attention li{
	padding: 0 0 0 1em;
	margin: 0;
	list-style-type: none;
	color: #c3092f;
}
body section.kiyaku ul.attention li ul li{
	padding: 0;
	margin: 0 0 0 2em;
	list-style-type: disc;
}
body section.kiyaku ul li span{
	position: absolute;
	left: 0;
}
body section.kiyaku table{
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px;
	font-size: 12px;
	border-top: #ccc 1px solid;
	border-left: #ccc 1px solid;
}
body section.kiyaku table th,
body section.kiyaku table td{
	padding: 5px 10px;
	border-bottom: #ccc 1px solid;
	border-right: #ccc 1px solid;
	text-align: center;
}
body section.kiyaku table th{
	background: #fafafa;
}
body section.kiyaku a{
	color : #1897e0;
	text-decoration : underline ;
}
body section.kiyaku a:hover{
	color: #c3002f
}
/******************************************************************************
	#addLink
******************************************************************************/
body #addLink{
	max-width: 1500px;
	margin: 0 auto;
	padding-top: 30px;
	background: #1a1a1a;
	text-align: center;
	font-size: 16px;
}
body #addLink p{
	margin: 0;
}
body #addLink a{
	padding: 0 24px 0 0;
	background: url("../img/ico_addlink.png") right center no-repeat;
	color: #fff;
	text-decoration: none;
}
