@charset "utf-8";



#top {
	overflow: hidden;
	position: relative;
	height: 1084px;
	margin-bottom: 55px;
}


#top_carousel {
	position: absolute;
	width: 100%;
	height: 1084px;
}

#top_carousel_inner {
	display: flex;
	position: relative;
	height: 1084px;
}

#top_carousel_inner>div {
	flex: 1;
	background-position: center;
	background-size: cover;
	height: 1084px;
}

#top_carousel_pager {
	position: absolute;
	bottom: 30px;
	width: 100%;
	height: 5px;
	text-align: center;
}
#top_carousel_pager>ul {
	display: flex;
	justify-content: center;
}
#top_carousel_pager>ul>li {
	width: 40px;
	height: 5px;
	background-color: #fff;
	margin: 0 10px;
	cursor: pointer;
}
#top_carousel_pager>ul>li.now {
	background-color: #898989;
	cursor: default;
}



#top_circle {
	position: absolute;
	width: 100%;
	height: 100%;
}

#top_circle_inner {
	background-color: rgba(2,86,167,.79);
	width: 600px;
	height: 600px;
	margin: 150px auto;
	border-radius: 300px;
	color: #fff;
	text-align: center;
	overflow: hidden;
}

#top_circle_catch {
	margin-top: 130px;
	font-size: 34px;
	line-height: 1.6;
}
#top_circle_catch em {
	font-size: 54px;
}
#top_circle_read {
	margin-top: 35px;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
}
#top_circle_read em {
	font-weight: bold;
	background: linear-gradient(transparent 50%, #05ACE7 50%);
	padding: 10px;
}
#top_sp_down {
	display: none;
}





h2 {
	text-align: center;
	font-size: 14px;
	color: #007DC5;
	font-weight: bold;
	margin-bottom: 38px;
}

h2 em {
	font-size: 40px;
	color: #292929;
	letter-spacing: 2px;
	line-height: 1.6;
	font-weight: bold;
}





#business_box {
	max-width: 1440px;
	margin: 0 auto 60px;
	height: 400px;
	background-image: url(../images/business_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

#business_box h3 {
	color: #fff;
	font-size: 30px;
	line-height: 1.7;
	text-align: center;
	margin-top: 133px;
	text-shadow: 0px 0px 3px rgba(0,0,0,.8), 0px 0px 5px rgba(0,0,0,.6);
}

#business_box a {
	position: relative;
	top: 46px;
	background-color: #007DC5;
	display: block;
	width: 200px;
	margin: auto;
	text-align: center;
	padding: 15px;
	color: #fff;
	font-size: 16px;
}

#business_box a:hover {
	background-color: #3397d1;
}






#works {
	background-color: #F0F0F0;
	padding: 55px 0 60px;
}

.works_unit {
	display:flex;
	min-height: 400px;
	max-width: 1440px;
	margin: 0 auto 40px;
	box-shadow: 0 1px 2px rgba(0,0,0,.16);
}
.works_unit>div {
	width: 50%;
	background-color: #fff;
	font-size: 16px;
}

.works_image {
	background-position: center;
	background-size: cover;
	cursor: pointer;
}

.works_text {
	padding: 54px 75px;
}

.works_text h3 {
	font-size: 30px;
	margin-bottom: 26px;
}

.works_text p {
	line-height: 1.9;
	margin-bottom: 26px;
}

.works_text a {
	padding: 2px 28px 0;
	color: #007DC5;
	background-image: url(/common/images/tri.png);
	background-repeat: no-repeat;
	background-position: left center;
}
.works_text a:hover {
	opacity: .8;
}

#works_box>.works_unit:nth-child(1)>.works_image {
	background-image: url(../images/works_1.jpg);
}
#works_box>.works_unit:nth-child(2)>.works_image {
	background-image: url(../images/works_2.jpg);
}
#works_box>.works_unit:nth-child(3)>.works_image {
	background-image: url(../images/works_3.jpg);
}
#works_box>.works_unit:nth-child(4)>.works_image {
	background-image: url(../images/works_4.jpg);
}
#works_box>.works_unit:nth-child(5)>.works_image {
	background-image: url(../images/works_5.jpg);
}

#works_box>.works_unit:nth-child(odd)>.works_image {
	order: 1;
}
#works_box>.works_unit:nth-child(odd)>.works_text {
	order: 2;
}
#works_box>.works_unit:nth-child(even)>.works_image {
	order: 2;
}
#works_box>.works_unit:nth-child(even)>.works_text {
	order: 1;
}






#greeting {
	background-color: #007DC5;
	background-image: url(/images/greeting_bg.png);
	background-position: center;
	background-size: cover;
	padding: 55px 50px 62px;
	font-size: 14px;
	color: #fff;
}

#greeting h2 {
	color: #fff !important;
}
#greeting h2>em {
	color: #fff !important;
}


#greeting p {
	max-width: 700px;
	line-height: 1.9;
	margin: auto;
	margin-bottom: 32px;
	padding: 15px;
}
#greeting div {
	text-align: center;
	line-height: 2;
	padding-left: 15px;

}




#news {
	padding: 100px 50px;
	background-color: #fff;
}

#news_list {
	max-width: 700px;
	margin: 0 auto;
}
#news_list>li {
	display: block;
	padding: 15px 20px;
	border-bottom: 1px dotted #C7C7C7;
	line-height: 1.9;
	font-size: 14px;
}

@media screen and (max-width: 765px) {

	#top {
		margin-top: -60px;
		padding-top: 0;
		height: 100vh;
		margin-bottom: 36px;
	}
	#top_circle_inner {
		background-color: rgba(2,86,167,.5);
		width: 100%;
		height: 100%;
		margin: 0;
		border-radius: 0;
		position: relative;
	}

	#top_circle_catch {
		margin-top: 35vh;
		font-size: 24px;
		line-height: 1.6;
	}
	#top_circle_catch em {
		font-size: 36px;
	}

	#top_carousel_pager {
		display: none;
	}

	#top_sp_down {
		display: block;
		position: absolute;
		width: 100%;
		bottom: 70px;
	}
	#top_sp_down img {
		width: 38px;
	}

	h2 {
		font-weight: normal;
		margin-bottom: 18px;
	}
	h2 em {
		font-size: 30px;
		letter-spacing: 1px;
		line-height: 1.4;
		font-weight: bold;
	}




	#business_box {
		margin: 0 auto 36px;
		height: 160px;
	}

	#business_box h3 {
		font-size: 18px;
		line-height: 2;
		margin-top: 20px;
		font-weight: bold;
		text-shadow: 0px 0px 3px rgba(0,0,0,.8), 0px 0px 5px rgba(0,0,0,.6);
	}

	#business_box a {
		top: 23px;
	}





	#works {
		background-color: #fff;
		padding: 0;
	}

	#works_box {
		background-color: #F0F0F0;
		padding-bottom: 13px;
	}

	.works_unit {
		display: block;
		min-height: 0;
		margin: 0 auto 27px;
		box-shadow: none;
		position: relative;
	}
	.works_unit>div {
		width: 100%;
		background-color: transparent;
		font-size: 15px;
		position: relative;
	}

	.works_image {
		height: 230px;
		background-position: center;
		background-size: cover;
		z-index: 1;
	}

	.works_text {
		background-color: #fff !important;
		width: 92% !important;
		padding: 25px 20px 25px;
		margin: -30px auto 27px;
		font-size: 14px;
		box-shadow: 0px 1px 2px rgba(0,0,0,.16);
		z-index: 2;
	}
	.works_text::before {
		background-color: #fff;
		content: " ";
		width: 24px;
		height: 24px;
		position: absolute;
		top: -12px;
		left: 0;
		right: 0;
		margin: auto;
		transform: rotate(225deg);
	}

	.works_text h3 {
		font-size: 24px;
		margin-bottom: 17px;
	}

	.works_text p {
		margin-bottom: 40px;
	}





	#greeting {
		padding: 36px 20px 60px;
		margin-bottom: -23px;
	}

	#greeting h2 {
		margin-bottom: 36px;
	}


	#greeting p {
		line-height: 1.9;
		margin: auto;
		margin-bottom: 17px;
	}
	#greeting div {
		text-align: left;
	}




	#news {
		padding: 50px 20px;
	}

	#news_list>li {
		padding: 15px 0 15px 15px;
	}
}
