@charset "utf-8";

.sub_logo{
	display:none;
}

.main_vi_bg{
	background-color:#030b1e;
}

.main_vi{
	background:url(../image/home/main_img@2x.jpg)no-repeat center center;
	background-size:cover;
	min-height:625px;
	max-width:1440px;
	margin:auto;
}

.main_title{
	padding-top:100px;
	text-align:center;
	position:relative;
}

.sub_title{
	position:absolute;
	bottom:20px;
	left:55%;
}

ul.main_vi_company{
	justify-content:center;
	display:flex;
	flex-wrap:wrap;
	margin-top:60px;
}
/*
ul.main_vi_company li{
	width:100px;
	height:74px;
	background-color:#fff;
	border: 1px solid #DCDCDC;
	box-sizing: border-box;
	border-radius: 8px;
	justify-content:center;
	display:flex;
	align-items:center;
	margin-right:25px;
	margin-top:10px;
}
*/
ul.main_vi_company li{
	margin-right:25px;
	margin-top:10px;
}

ul.main_vi_company li:last-child{
	margin-right:0;
}

ul.main_vi_company li img{
	width:100px;
}


#tag{
	background-color:#212870;
}

#tag ul.tag_list{
	justify-content:center;
	display:flex;
	flex-wrap:wrap;
	max-width:800px;
	margin:auto;
	padding:30px 0 5px 0;
}

#tag ul.tag_list li span{
	display:block;
	color:#fff;
	background: #4C5EFD;
	border-radius: 200px;
	min-width:168px;
	padding:10px 0;
	text-align:center;
	margin-right:40px;
	margin-bottom:25px;
	font-weight: bold;
	font-size: 14px;
	line-height: 21px;
	letter-spacing: 0.05em;
	cursor: default;
}

#information{
	background-color:#000;
	color:#fff;
	padding:20px 0;
}

#information a{
	background-color:#000;
	color:#fff;
}

#information dl{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

#information dl dt{
	border-right:solid 1px #fff;
	width:120px;
	padding-bottom:15px;
	font-size: 16px;
	line-height: 23px;
}

#information dl dd{
	flex:1;
	padding-left:50px;
	padding-bottom:15px;
	font-size: 16px;
	line-height: 23px;
}

#information .info_area dl:last-child dt,
#information .info_area dl:last-child dd{
	padding-bottom:0;
}

.slider_bg{
/*	background:url(../image/home/pickup_bg@2x.jpg)no-repeat center center;*/
	background-size:cover;
	margin-top:18px;
	padding:50px 0 50px 0;
}

.bxslider{
	margin-left: 50%;
}
.bxslider li{
	margin-left: -310px; /* 320 / 2 */
	margin-right: 350px !important; /* 320 / 2 + 20 */
}
.bxslider li a{
	display:block;
}

#attend_area{
	background:url(../image/home/attend_bg@2x.jpg)no-repeat center center;
	background-size:cover;
	padding:75px 0;
	color:#fff;
	text-align:center;
}

#attend_area h2{
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.02em;
}

#attend_area p{
	font-weight: bold;
	font-size: 36px;
	line-height:1.3;
	text-align: center;
	letter-spacing: 0.02em;
	margin-top:25px;
}

#attend_area p span{
	color:#7583FF;
}

#special_event{
	background:url(../image/home/special_event_bg.jpg)no-repeat right top #4C5EFD;
	color:#fff;
}

#special_event .special_event_area{
	background-color:#4C5EFD;
	max-width:595px;
	padding-bottom:55px;
}

#special_event .special_event_area .date{
	font-size: 30px;
	line-height: 44px;
	letter-spacing: 0.05em;
	margin-top:30px;
}

#special_event .special_event_area .date span{
	font-size: 20px;
	line-height: 30px;
	padding:0 5px;
}

#special_event .special_event_area p{
	font-weight: 300;
	font-size: 15px;
	line-height: 180%;
	margin-top:5px;
}

#special_event .special_event_area h3{
	font-size: 50px;
	line-height: 73px;
	letter-spacing: 0.05em;
	color: #929CFF;
	margin-top:35px;
}

#special_event .special_event_area h4{
	font-weight: bold;
	font-size: 24px;
	line-height: 36px;
}

ul.pre_list{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	margin-top:75px;
}

ul.pre_list li{
	width:30.61%;
}

#schedule{
	margin-top:90px;
}

#campaign{
	background:url(../image/cp/cp_bg.jpg)no-repeat top center;
	background-size:cover;
	color:#fff;
	margin-top:100px;
	padding:100px 0 90px 0;
	text-align:center;
}

#campaign h2{
}

#campaign p{
	font-size: 24px;
	line-height: 153%;
	margin:30px 0;
	font-weight:600;
}

#campaign p span{
	font-size: 28px;
	line-height: 153%;
}

#campaign .image_area{
	margin-top:5px;
}

#campaign .attend{
	margin-top:5px;
	font-weight: 300;
	font-size: 14px;
	line-height: 153%;
}
#campaign .cp_area{
	position:relative;
}
#campaign .cp_num{
	position:absolute;
	top:0;
	right:50px;
	z-index:9;
}

#campaign ul{
	justify-content:center;
	display:flex;
	flex-wrap:wrap;
	padding-top:50px;
	background: rgba(0, 24, 84, 0.37);
	border: 1px solid #FFFFFF;
	box-sizing: border-box;
	border-radius: 26px;
	margin-top:15px;
	margin-bottom:15px;
	position:relative;
}

	#campaign ul li{
		max-width:42%;
	}

#campaign ul li:nth-child(1){
	padding-bottom:10px;
	padding-right:30px;
	font-size:20px;
	font-weight:600;
}

#campaign ul li:nth-child(2){
	font-weight: bold;
	font-size: 20px;
	align-self: flex-end;
}

#campaign ul li:nth-child(3){
	padding-bottom:10px;
	padding-left:30px;
	font-size:20px;
	font-weight:600;
}

.text_area{
	margin-top:30px;
	text-align: center;
}

.text_area .detail_area {
	text-align: left;
	display: inline-block;
}

.text_area .detail_area dl{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

.text_area .detail_area dl dt{
	width:90px;
	border-right:solid 1px #fff;
}

.text_area .detail_area dl dd{
	flex:1;
	padding-left:15px;
	font-size:16px;
}

.tw_frame{
	text-align:center;
}

.tw_frame iframe{
	max-width:500px !important;
	margin:30px auto 0 auto !important;
}

ul.pre_list li{
	position:relative;
}

ul.pre_list li.icon02:before{
	content:"";
	position:absolute;
	display:block;
	width:55px;
	height:53px;
	background:url(../image/common/event_icon02@2x.png)no-repeat left top;
	background-size:cover;
}

ul.pre_list li.icon03:before{
	content:"";
	position:absolute;
	display:block;
	width:55px;
	height:53px;
	background:url(../image/common/event_icon03@2x.png)no-repeat left top;
	background-size:cover;
}

@media only screen and (min-width: 1000px) {
	#tag ul.tag_list li:nth-child(4n) span{
		margin-right:0;
	}
}

@media only screen and (max-width: 1000px) {
	.main_vi{
		padding-bottom:50px;
	}

	.sub_title{
		display:block;
		position:unset;
		margin:auto;
	}

	ul.main_vi_company li:last-child{
		margin-right:25px;
	}



}


@media only screen and (min-width: 900px) {
}
@media only screen and (min-width: 768px) {

	#campaign ul li:nth-child(1) div,
	#campaign ul li:nth-child(3) div{
		margin-top:30px;
	}


}
@media only screen and (min-width: 769px) {

	.fix_content{
		max-width:1440px;
		margin:auto;
		padding-left:60px;
		box-sizing:border-box;
	}

	.fix_content nav.off{
		position:absolute;
		top:45px;
		z-index:9999;
	}

	.fix_content nav.off .logo{
		text-align:center;
	}

	.fix_content nav.off .nav_bg{
		background: rgba(73, 92, 255, 0.9);
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
		border-radius: 10px;
		padding:12px 8px 25px 18px;
		box-sizing:border-box;
		margin-top:30px;
		max-width:155px;
	}

	 nav.off ul.g_navi{
		font-weight: 500;
		font-size: 12px;
		color: #FFFFFF;
	}

	nav.off ul.g_navi a{
		font-weight: 500;
		font-size: 12px;
		color: #FFFFFF;
	}

	nav.off ul.g_navi > li{
		margin-bottom:15px;
		position:relative;
	}

	nav.off ul.g_navi > li.child ul{
		position:absolute;
		width:160px;
		left:140px;
		top:0;
		background: rgba(69, 88, 255, 0.78);
		border-radius: 10px;
		padding:15px 15px;
		box-sizing:border-box;
		display:none;
	}

	nav.off ul.g_navi > li.child ul li{
		margin-bottom:15px;
	}

	nav.off ul.g_navi > li.child a img{
		margin-left:5px;
	}

	nav.off ul.g_navi > li.child ul li:last-child{
		margin-bottom:0;
	}

	nav.off ul.sns_area{
		border-top: 1px solid #7884F1;
		display:flex;
		flex-direction: column-reverse;
		padding-top:10px;
	}

	nav.off ul.sns_area li.mypage_link a:first-child{
	}

	nav.off ul.sns_area li.mypage_link a{
		display:block;
		background: #2C2C2C;
		border-radius: 6px;
		width:123px;
		height:34px;
		line-height:34px;
		font-weight: bold;
		font-size: 12px;
		color: #FFFFFF;
		text-align:center;
		margin-right:10px;
		margin-top:10px;
	}

	nav.off ul.sns_area li.sns_list{
		text-align:center;
		margin-top:8px;
	}

	nav.off ul.sns_area li.sns_list a{
		margin-right:10px;
		margin-top:10px;
	}

	nav.off ul.sns_area li.sns_list a img{
		width:15px;
	}

	nav.off .sub_logo{
		display:none;
	}

	nav.off .home_logo{
		display:none;
	}

}

@media (max-width: 768px) {

	ul.main_vi_company li{
		margin-right:10px;
	}

	ul.main_vi_company li img{
		width:73px;
	}

	#special_event .title{
		padding-top:30px;
	}

	#special_event .special_event_area{
		max-width:450px;
		padding-right:20px;
	}

	#special_event .special_event_area h3{
		margin-top:15px;
	}

	#special_event .special_event_area .date{
		font-size:20px;
	}

	#special_event .special_event_area .date span{
		font-size:14px;
		padding-right:5px;
	}


}


@media (max-width: 767px) {

	#campaign ul{
		padding-top:70px;
	}

	#campaign ul li{
		font-size:12px !important;
	}

	#campaign ul li:nth-child(1){
		padding-right:5px;
	}

	#campaign ul li:nth-child(2){
		padding-bottom:10px;
	}

	#campaign ul li:nth-child(3){
		padding-left:5px;
	}

	#campaign .cp_num {
		right: 10px;
	}
	.main_vi{
		background-image:url(../image/home/sp_main_img@2x.png);
		background-position:center bottom;
/*		min-height:100vh;*/
		min-height:unset;
	}

	ul.main_vi_company{
		padding:0 15px;
		max-width: 300px;
		margin:auto;
	}


	ul.main_vi_company li:nth-child(3n){
		margin-right:0;
	}

	#tag ul.tag_list li span {
		min-width: 110px;
		padding: 5px 0;
		margin-right: 10px;
		font-size:10px;
	}

	#information h3{
		text-align:center;
		font-weight: bold;
		font-size: 12px;
		line-height: 18px;
		margin-bottom:5px;
	}

	#information dl{
		display:block;
	}

	#information dl dt{
		display:none;
	}

	#information dl dd{
		padding-left:0;
		font-size: 12px;
		line-height: 17px;
	}

	.bxslider{
		margin-left: 0;
	}

	.bxslider li{
		margin-left: 0; /* 320 / 2 */
		margin-right: 10px !important; /* 320 / 2 + 20 */
	}

	.bx-wrapper {
		margin: auto;
	}

	.bx-wrapper .bx-prev{
		left:-15px;
	}

	.bx-wrapper .bx-next{
		right:-15px;
	}


	#special_event .title{
		padding-top:60px;
	}

	#attend_area h2{
		font-size: 16px;
		line-height: 186%;
	}

	#attend_area p{
		font-size: 20px;
		line-height: 36px;
	}

	#special_event{
		background-image:unset;
	}

	#special_event .special_event_area p{
		font-size: 13px;
	}

	#special_event .special_event_area h3{
		font-size: 30px;
		line-height: 44px;
	}

	#special_event .special_event_area h4{
		font-size: 18px;
		line-height: 27px;
	}

	#special_event .image_area img{
		width:100%;
	}

	#tag{
		overflow:scroll;
		-webkit-overflow-scrolling: touch;
	}

	#tag ul.tag_list{
		width:900px;
		max-width:unset;
	}

	ul.pre_list{
		margin-top:30px;
	}

	ul.pre_list li{
		width:100%;
		margin-bottom:20px;
	}

	ul.pre_list li img{
		width:100%;
	}

	#campaign p{
		font-size: 14px;
	}

	#campaign p span{
		font-size: 18px;
	}

	#campaign .image_area{
		margin-top:20px;
	}

	#campaign .attend{
		font-size: 12px;
	}

/*
	#campaign ul li:nth-child(1),
	#campaign ul li:nth-child(3){
		background: rgba(0, 24, 84, 0.37);
		border: 1px solid #FFFFFF;
		box-sizing: border-box;
		border-radius: 26px;
		padding:0 7px 10px 7px;
		font-size:12px;
	}

	#campaign ul li:nth-child(2){
		font-size:30px;
	}
*/
	#campaign dl{
		font-weight: bold;
		font-size: 12px;
		line-height: 180%;
		letter-spacing: 0.05em;
	}

	.tw_frame iframe{
		width:80% !important;
	}

	.text_area .detail_area dl dd{
		font-size:14px;
		font-weight:600;
	}

}



@media only screen and (min-width: 1300px) {

	nav.on .g_navi_area ul.g_navi{
		max-width:970px;
		margin:auto;
		padding-left:0 !important;
	}

}

@media only screen and (min-width: 769px) {

	nav.on .logo{
		position:fixed;
		top:20px;
		left:35px;
		z-index:99999;
	}

	nav.on .logo img{
		width:157px;
	}

	nav.on .g_navi_area{
		position:fixed;
		top:20px;
		left:0;
		width:100%;
		z-index:99998;
	}

	nav.on .g_navi_area ul.g_navi{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		padding-left:160px;
	}

	nav.on .g_navi_area ul.g_navi li{
		margin-right:35px;
		position:relative;
	}

	nav.on .g_navi_area ul.g_navi li.child img{
		position: absolute;
		left: 38px;
		top: 21px;
		transform: rotate(90deg);
	}

	nav.on .g_navi_area ul.g_navi li.child ul{
		background: rgba(20, 20, 20, 0.59);
		border-radius: 10px;
		padding:0 7px 10px 7px;
		position: absolute;
		box-sizing: border-box;
		width: 190px;
		margin-top:10px;
		display:none;
	}

	nav.on .g_navi_area ul.g_navi li.child ul li{
		margin-top:15px;
	}


	nav.on ul.sns_area{
		position:fixed;
		top:15px;
		right:35px;
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		z-index:99999;
	}

	nav.on ul.sns_area li.mypage_link{
	}

	nav.on ul.sns_area li.mypage_link a:first-child{
		color:#35E3E3;
	}

	nav.on ul.sns_area li.mypage_link a{
		margin-right:15px;
	}

	nav.on ul.sns_area li.sns_list{
		margin-right:15px;
	}

	nav.on ul.sns_area li.sns_list a{
		margin-right:10px;
	}

	nav.on ul.sns_area li.sns_list a img{
		width:15px;
	}

	nav.on .sub_logo{
		display:none;
	}

	nav.on .home_logo{
		display:none;
	}

}
