/*scroll.css*/
.scroll{
	position:absolute;
	right:0;
	bottom:40px;
	left:0;
	z-index:2;
	color:#fff;
	text-align:center;
}
#contents .annCon .kvBox .scroll .line{
	display:block;
	overflow:hidden;
	position:relative;
	margin:5px auto 0;
	width:1px;
	height:100px;
}
#contents .annCon .kvBox .scroll .line:after,
#contents .annCon .kvBox .scroll .line:before{
	display:block;
	position:absolute;
	left:0;
	width:1px;
	content:"";
}
#contents .annCon .kvBox .scroll .line:before{
	top:0;
	z-index:2;
	height:100%;
	background:#fff;
}
#contents .annCon .kvBox .scroll .line:after{
	top:-120px;
	z-index:3;
	height:140px;
	background:#009c95;
	-webkit-animation:lineAnim 3s infinite ease;
	animation:lineAnim 3s infinite ease;
}
@-webkit-keyframes lineAnim{
	0%{
		-webkit-transform:translateY(-20px);
		transform:translateY(-20px);
	}
	100%{
		-webkit-transform:translateY(260px);
		transform:translateY(260px);
	}
}
@keyframes lineAnim{
	0%{
		-webkit-transform:translateY(-20px);
		transform:translateY(-20px)
	}
	100%{
		-webkit-transform:translateY(260px);
		transform:translateY(260px)
	}
}
/*common*/
.pc{
	display:block;
}
.wap{
	display: none;
}
.annCon{
	background:#fff;
}
#contents .mt_80{
	margin-top: -80px;
}
#contents .mt_55{
	margin-top: -55px;
}
#contents .mt_50{
	margin-top: -50px;
}
#contents .mt_30{
	margin-top: -30px;
}
#contents .mt_25{
	margin-top: -25px;
}
#contents .mt_20{
	margin-top: -20px;
}
.annCon {
	margin-top:-52px !important;
}
.annCon .kvBox{
	width:100%;
	height: 720px;
	background:url(../../images/kv.jpg) no-repeat;
	position: relative;
	background-size:cover;
}
.annCon .kvBox .logoCon{
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	position: absolute;
}
.annCon .kvBox .logoCon .logo > img{
	margin:20px auto;
}
#contents .annCon .kvBox .logoCon .kvTxt h1{
	font-size: 48px;
	color:#009c95;	
	letter-spacing: 5px;
}
.annCon .userCon{
	width:100%;
	height:780px;
	background:url(../../images/user.jpg) no-repeat;
	background-size:cover;
	position: relative;
}
.annCon .userCon .userTxt{
	position: absolute;
	margin:20px auto;
	text-align:center;
	left:50%;
	top:100px;
	transform: translateX(-50%);
}
#contents .annCon .userCon .userTxt h1{
	font-size: 48px;
	color:#fff;
	margin:20px 0;
	letter-spacing: 5px;
}
#contents .annCon .userCon .userTxt p{
	font-size: 20px;
	color:#fff;
	line-height: 2.2;
	letter-spacing: 5px;
}
#contents .challengeCon li{
	float:left;
	width:50%;
}
#contents .challengeCon li:nth-child(1){
	padding:59px;
	box-sizing: border-box;
}
#contents .challengeCon li h1{
	font-size: 36px;
	color:#037b96;
	margin-bottom: 30px;
	letter-spacing: 5px;
}
#contents .challengeCon li p{
	font-size: 16px;
	color:#037b96;
	line-height: 2.2;
	margin:30px 0;
	letter-spacing: 2px;
}
#contents .challengeCon li p:nth-child(2),
#contents .challengeCon li p:nth-child(3){
	margin:0;
}
#contents .challengeCon li p.name{
	text-align:right;
	margin:60px 0;
}
#contents .challengeCon li p.name > span{
	font-size: 18px;
	font-weight: bold;
} 
.annCon .timeCon{
	width:100%;
	height:5436px;
	background:url(../../images/timeKv.png) no-repeat;
	background-size:100% 100%;
	position: relative;
}
#contents .annCon .timeCon h1{
	font-size: 36px;
	padding:100px 0;
	text-align:center;
	color:#1169b9;
	letter-spacing: 5px;
}
#contents .annCon .timeCon .timeLine{
	/*width:100%;*/
	height:4292px;
	background:url(../../images/timeline.png) no-repeat center center;
	padding:52px 0;
	box-sizing: border-box;
}
#contents .annCon .timeCon .timeLine .lineBox{
	width:980px;
	/*max-width: 1100px;*/
	margin:0 auto;
}
#contents .annCon .timeCon .timeLine .lineBox .lineImg{
	margin-bottom: 10px;
	position: relative;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(1) .lineImg .yearIcon{
	/*display: block;*/
	background:url(../../images/yearBg.png) no-repeat;
	position: absolute;
	top:50%;
	left:33%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	background-position: 115px 2px;

}
#contents .annCon .timeCon .timeLine .lineBox .lineImg .yearIcon{
	/*display: block;*/
	background:url(../../images/yearBg01.png) no-repeat;
	position: absolute;
	top:50%;
	left:33%;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	background-position: 100px 0;
	padding:10px;

}

#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n){
	text-align:right;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n+1){
	text-align:left;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem{
	position: relative;
	z-index: 2;
}
/*#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n+1) .lineImg:before,
#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n+1) .lineImg:after{
	display:block;
	position:absolute;
	left:300px;
	width:100px;
	content:"";
}*/
#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n) .lineImg .yearIcon{
	position: absolute;
	top:50%;
	right:34%;
	left:unset;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	background-position: 100px 0;
	padding:10px 0;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n) .lineImg .yearIcon{
	background-position:0px 0;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem .lineImg:after{
	top:53%;
	z-index:-1;
	height:1px;
	background:#0a62bb;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem .lineImg.posLine:after{
	top:48%;
}
#contents .annCon .timeCon .timeLine .lineBox .lineItem .txt{
	text-align:left;
	display: inline-block;
	padding:0 20px;
	box-sizing: border-box;
	width:324px;
	letter-spacing: 1px;
}
#contents .annCon .timeCon .timetxtCon{
	position: absolute;
	bottom:100px;
	left:50%;
	transform: translateX(-50%);
}
#contents .annCon .timeCon .timetxtCon a > img:hover{
	opacity: 0.8;
	transition: .2s;
}
#contents .annCon .timeCon .timetxtCon p{
	text-align:center;
	color:#fff;
	font-size: 24px;
	letter-spacing: 5px;
}
#contents .annCon .timeCon .timetxtCon img{
	display: block;
	margin:70px auto 0;
}
@media (max-width: 768px){
	body,html{
		overflow-x: hidden !important;
	}
	.pc{
		display: none;
	}
	.wap{
		display: block;
	}
	#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n):before{
		display: none;
	}
	#contents .annCon .timeCon .timeLine .lineBox .lineItem:nth-child(2n+1):after{
		display: none;
	}
	#contents .year{
		font-size: 32px;
		color:#1169b9;
		width:100%;
		text-align:center;
	}
	#contents .year:after,
	#contents .year:before{
		display:block;
		position:absolute;
		left:0;
		width:2px;
		content:"";
	}
	#contents .year:before{
		height:70px;
		background:#0a62bb;
		top:-10px;
		left:50%;
	}
	#contents .annCon .timeCon .timeLine .lineBox .lineItem{
		padding:60px 0 30px 0;
		margin-top: 0;
	}
	.annCon .kvBox{
		width:100%;
		background:url(../../images/kv_sp.jpg) no-repeat;
		background-size:100% 100%;
	}
	#contents .annCon .kvBox .logoCon .kvTxt h1{
		font-size: 28px;
	}
	.annCon .kvBox .logoCon{
		width:100%;
		top:40%;
		text-align:center;
	}
	.annCon .kvBox .logoCon .logo > img{
		width:50%;
		margin:0 auto;
	}
	.annCon .userCon{
		width:100%;
		background:url(../../images/user_sp.jpg) no-repeat;
		background-size:100% 100%;
	}
	#contents .annCon .userCon .userTxt{
		width:100%;
	}
	#contents .challengeCon li{
		float:none;
		width:100%;	
	}
	#contents .challengeCon li:nth-child(1){
		padding:30px;
	}
	#contents .annCon .timeCon .timeLine{
		background:none;
		height:unset;
		padding:0;
	}
	.annCon .timeCon{
		width:100%;
		height:auto;
		background:url(../../images/timeKv_sp.png) no-repeat;
		background-size: 100% 100%;
	}
	#contents .annCon .timeCon h1{
		padding:40px 0 0 0;
	}
	#contents .annCon .timeCon .timeLine .lineBox .lineItem .txt{
		font-size: 16px;
		width:100%;
	}
	#contents .annCon .timetxtCon{
		width:100%;
		height:700px;
		background:url(../../images/timeKv_sp02.png) no-repeat;
		background-size:100% 100%;
		position: relative;
	}
	#contents .annCon .timetxtCon p{
		font-size: 20px;
		color:#fff;
		font-weight: bold;
		text-align:center;
	}
	#contents .annCon .timetxtCon .timetxtWrap{
		width:100%;
		position: absolute;
		bottom:100px;
		left:50%;
		transform:translateX(-50%);
	}
	#contents .annCon .timetxtCon .timetxtWrap a > img{
		width:70%;
		margin:50px auto 0 auto;
		display: block;
	}
	#contents .annCon .timetxtCon:after,
	#contents .annCon .timetxtCon:before{
		display:block;
		position:absolute;
		left:0;
		width:2px;
		content:"";
	}
	#contents .annCon .timetxtCon:before{
		height:70px;
		background:#0a62bb;
		top:-35px;
		left:50%;
	}
	#contents .annCon .timeCon .timeLine .lineBox{
		width:100%;
	}
.annCon {
	margin-top:-30px !important;
}
}