@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;
}
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,
.modal a{
	color: #000;
	text-decoration: underline;
	transition-duration: 0.3s ;
}

body #mainContents a:focus,
body #mainContents input:focus,
.modal a:focus{
	outline: none;
}

body #mainContents a,
.modal 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,
.modal 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 : 0.5s ;
	-webkit-transition : all 0.5s ease 0s ;
	-moz-transition : all 0.5s ease 0s ;
	-o-transition : all 0.5s ease 0s ;
	opacity: 0;
	transform: translateY(10px);
}
body #mainContents .effect.effectout{
	opacity: 1;
	transform: translateY(0);
}
/******************************************************************************
	common
******************************************************************************/
body #mainContents section{
	box-sizing: border-box;
	position: relative;
	max-width: 1300px;
	min-width: 1000px;
	margin: 0 auto;
}
body #mainContents .regist{
	margin: 30px auto;
}
body #mainContents .regist:last-of-type{
	margin-bottom: 0;
}
body #mainContents .regist p.btn,
.modal .regist p.btn{
	width: 640px;
	margin: 0 auto 30px;
}
body #mainContents .regist p.btn a,
.modal .regist p.btn a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 140px;
	background: linear-gradient(to bottom, #cf3a59, #c3092f);
	border-radius: 70px;
	text-align: center;
	font-size: 26px;
	color: #fff;
	line-height: 140%;
	box-shadow: 0px 8px 0px 0px rgba(0, 0, 0, 0.1);
}
body #mainContents .regist p.btn a span{
	display: block;
	font-size: 18px;
}
body #mainContents .regist p.btn a span.attention{
	font-size: 14px;
	opacity: 0.5;
}
body #mainContents .regist ul.attention{
	font-size: 14px;
	color: #c3092f;
	text-align: center;
}
body #mainContents .regist p.period,
.modal .regist p.period{
	text-align: center;
	font-size: 20px;
}
body #mainContents .regist p.text,
.modal .regist p.text{
	margin-bottom: 15px;
	text-align: center;
	font-size: 20px;
}
/******************************************************************************
	.header
******************************************************************************/
body #mainContents section.header h1 img{
	max-width: 100%;
}
body #mainContents section.header .inner{
	box-sizing: border-box;
	min-height: 1224px;
	padding: 75px 0;
	background: url("../img/bg_header.jpg") center bottom no-repeat;
	text-align: center;
}
body #mainContents section.header .inner div ul{
	display: flex;
	justify-content: center;
	margin: 0 0 70px;
}
body #mainContents section.header .inner div ul li{
	width: 240px;
	height: 142px;
	margin: 0 30px;
}
body #mainContents section.header .inner div ul li a,
body #mainContents section.header .inner div ul li span.wrap{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 15px 0 0;
	background: #909aa6;
	border-radius: 10px;
	color: #fff;
	font-size: 28px;
	line-height: 120%;
	font-family: ShinGoPro-Bold,sans-serif;
	box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.1);
}
body #mainContents section.header .inner div ul li:last-child a{
	background: transparent;
	background: url("../img/bg_localnav03.jpg") center top no-repeat;
	background-size: cover;
	border: #fff 2px solid;
}
body #mainContents section.header .inner div ul li b{
	position: absolute;
	box-sizing: border-box;
	left: 50%;
	top: -20px;
	width: 140px;
	height: 50px;
	padding: 5px 0 0;
	background: url("../img/bg_localnav_label.png") center center no-repeat;
	text-align: center;
	color: #00479d;
	font-size: 16px;
	font-family: ShinGoPro-Bold,sans-serif;
	transform: translateX(-50%);
}
body #mainContents section.header .inner div ul li b span{
	position: absolute;
	display: block;
	left: 50%;
	top: 12px;
	width: 80px;
	background: #c3092f;
	border-radius: 10px;
	line-height: 20px;
	font-size: 14px;
	font-family: ShinGoPro-Bold,sans-serif;
	transform: translateX(-50%);
	color: #fff;
}
body #mainContents section.header .inner div ul li b strong{
	display: inline-block;
	position: relative;
	margin: 0 2px;
	font-size: 24px;
	transform: translateY(2px);
}
/* anchor */
body #mainContents section.header .inner div ul li a{
	background: #00479d;
	font-size: 18px;
	line-height: 140%;
}
body #mainContents section.header .inner div p{
	margin: 0 0 20px;
	line-height: 200%;
	font-size: 25px;
	color: #fff;
}
body #mainContents section.header .inner div p.strong{
	font-size: 34px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body #mainContents section.header .inner div p:last-of-type{
	margin-bottom: 0;
}
/******************************************************************************
	.challenge
******************************************************************************/
body #mainContents .challenge h2{
	position: relative;
	padding: 100px 0 40px;
	background: url("../img/bg_challenge1_title.png") center center no-repeat;
	background-size: cover;
	color: #fff;
	text-align: center;
	font-size: 40px;
	font-family: ShinGoPro-Bold,sans-serif;
	line-height: 180%;
}
body #mainContents .challenge h2 strong{
	font-size: 50px;
}
body #mainContents .challenge h2 span{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	top: 0;
	left: calc(50% - 90px);
	display: inline-block;
	width: 180px;
	height: 60px;
	padding: 0 0 5px;
	background: #fff;
	font-size: 30px;
	color: #00479d;
}
body #mainContents .challenge h2 span b{
	display: inline-block;
	margin: 0 3px;
	font-size: 40px;
	transform: translateY(2px);
}
body #mainContents .challenge h2 span:after{
	content: " ";
	position: absolute;
	bottom: -30px;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 90px 0 90px;
	border-color: #fff transparent transparent transparent;
}
body #mainContents .challenge > figure img{
	max-width: 100%;
}
body #mainContents .challenge p.close{
	padding: 25px 0;
	line-height: 140%;
	background: #000;
	text-align: center;
	color: #fff;
	font-size: 46px;
	font-family: ShinGoPro-Bold,sans-serif;
	letter-spacing: 0.05em;
}
body #mainContents .challenge p.close a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 800px;
	max-width: 100%;
	height: 80px;
	margin: 15px auto 0;
	background: linear-gradient(to bottom, #cf3a59, #C3002F);
	border-radius: 40px;
	color: #fff;
	font-size: 26px;
}
/******************************************************************************
	#challenge3
******************************************************************************/
body #mainContents  #challenge3 h2{
	background-image: url("../img/bg_challenge3_title.jpg");
	background-position: center top;
	font-size: 28px;
}
body #mainContents #challenge3 > figure{
	margin: 0;
}
body #mainContents #challenge3 > figure img{
	max-width: 100%;
}
body #mainContents #challenge3 > h3{
	margin: 0 0 30px;
	font-size: 40px;
	font-family: ShinGoPro-Bold,sans-serif;
	color: #c3002f;
	text-align: center;
}
/******************************************************************************
	#floatingNav
******************************************************************************/
body #mainContents #floatingNav{
	display: none;
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
}
body #mainContents #floatingNav p a{
	display: block;
	width: 60px;
	padding: 20px 0 55px;
	background: #c3092f url("../img/ico_arrow_white_12x18.png") center bottom 20px no-repeat;
	text-align: center;
	color: #fff;
	line-height: 110%;
}
body #mainContents #floatingNav p a span{
	display: block;
}
body #mainContents #floatingNav p a span.rotate{
	transform:rotate(90deg) translateX(-1px);
}
/******************************************************************************
	#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;
}
/******************************************************************************
	.modal
******************************************************************************/
.fancybox-is-open .fancybox-bg{
	background: rgba(19,38,78,0.9);
}
.fancybox-content{
	box-sizing: border-box;
}
.fancybox-slide--html .fancybox-close-small{
	padding: 0;
	background: url("../img/btn_close.png") center center no-repeat;
	transition-duration : 0.3s ;
	opacity: 1;
}
.fancybox-slide--html .fancybox-close-small:hover{
	opacity: 0.7;
}
.fancybox-button svg{
	display: none;
}
.modal{
	box-sizing: border-box;
	padding: 60px 0 0;
	background: transparent;
}
.modal img{
	max-width: 100%;
	vertical-align: bottom;
}
.modal .inner{
	max-width: 1000px;
	background: #fff;
	border-radius: 15px;
	font-family: ShinGoPro-Regular,sans-serif;
}
.modal .inner h2{
	padding: 160px 0 0;
	margin: 0 0 20px;
	background: url("../img/logo_baystars.png") center top 25px no-repeat;
	background-size: 142px auto;
	font-size: 46px;
	font-family: ShinGoPro-Bold,sans-serif;
	color: #00448a;
	text-align: center;
}
.modal#marinos .inner h2{
	padding-top: 140px;
	background-image: url("../img/logo_marinos.png");
	background-size: 156px auto;
	background-position: center top 30px;
}
.modal#mermaids .inner h2{
	padding-top: 120px;
	background-image: url("../img/logo_mermaids.png");
	background-size: 224px auto;
	background-position: center top 30px;
}
.modal .inner > figure{
	margin: 0;
	padding: 0;
}
.modal .inner .overview{
	padding: 40px 60px;
	background: #f2f2f2;
}
.modal .inner .overview dl{
	margin: 0;
	padding: 0;
}
.modal .inner .overview dl dt{
	margin: 0 0 10px;
	font-size: 36px;
	font-family: ShinGoPro-Bold,sans-serif;
	color: #00448a;
	line-height: 140%;
}
.modal .inner .overview dl dt span{
	display: inline-block;
	padding: 0 10px;
	background: #00448a;
	font-size: 16px;
	color: #fff;
	line-height: 140%;
}
.modal .inner .overview dl dd{
	margin: 0;
	padding: 0;
	font-size: 20px;
}
.modal .inner .detail{
	padding: 40px 60px;
	color: #13264e;
}
.modal .inner .detail > dl{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 40px;
}
.modal .inner .detail > dl:last-of-type{
	margin: 0;
}
.modal .inner .detail > dl > dt{
	width: 160px;
	border: #13264e 2px solid;
	border-radius: 5px;
	font-size: 20px;
	font-family: ShinGoPro-Bold,sans-serif;
	text-align: center;
	line-height: 36px;
}
.modal .inner .detail > dl > dd{
	width: calc(100% - 200px);
	margin: 0;
	line-height: 40px;
	font-size: 20px;
	font-family: ShinGoPro-Bold,sans-serif;
}
.modal .inner .detail > dl.default > dd{
	font-size: 28px;
}
.modal .inner .detail > dl.date > dd > strong{
	font-size: 28px;
}
.modal .inner .detail > dl.default > dd span{
	margin: 0 0 0 10px;
	font-size: 16px;
}
.modal .inner .detail > dl.date > dd dl{
	display: flex;
	margin: 10px 0 0;
}
.modal .inner .detail > dl.date > dd dl dt{
	position: relative;
	background: #13264e;
	color: #fff;
	line-height: 24px;
	padding: 0 10px;
	font-size: 14px;
	font-family: ShinGoPro-Regular,sans-serif;
}
.modal .inner .detail > dl.date > dd dl dt:after{
	content: " ";
	position: absolute;
	right: -10px;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 10px;
	border-color: transparent transparent transparent #13264e;
}
.modal .inner .detail > dl.date > dd dl dd{
	margin: 0 0 0 20px;
	line-height: 24px;
}
.modal .inner .detail > dl.coach{
	flex-wrap: wrap;
}
.modal .inner .detail > dl.coach > dd{
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 10px 0 0;
}
.modal .inner .detail > dl.coach > dd div{
	max-width: 420px;
	width: 49%;
}
.modal .inner .detail > dl.coach > dd div figure{
	margin: 0 0 10px;
	
}
.modal .inner .detail > dl.coach > dd div dl{
	margin: 0;
}
.modal .inner .detail > dl.coach > dd div dl dt{
	margin: 0 0 10px;
	line-height: 160%;
}
.modal .inner .detail > dl.coach > dd div dl dd{
	margin: 0;
	font-family: ShinGoPro-Regular,sans-serif;
	font-size: 16px;
	line-height: 160%;
}
.modal .inner .detail > dl.coach > dd div.full{
	max-width: initial;
	width: 100%;
	text-align: center;
}
.modal .inner .detail > ul.attention{
	margin: 40px 0 0;
	padding: 0;
}
.modal .inner .detail > ul.attention li{
	margin: 0;
	padding: 0;
	font-size: 14px;
	text-align: center;
	list-style-type: none;
}

.modal .inner .regist{
	padding: 60px 0;
}

