@charset "utf-8";
/* CSS Document */

*{
	margin: 0;
	padding: 0;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
}

header{
	background-image: url("img/header-img.png");
	background-size: cover;
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	padding: 35px 0;
}
header::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(50,54,64,0.51);
	position: absolute;
	top: 0;
	left: 0;
}
header h2,header p{
	color: white;
	z-index: 20;
}
header h2{
	font-weight: bold;
	font-size: 40px;
	margin-left: 10%;
}
header p{
	width: 580px;
	margin-right: 10%;
	line-height: 35px;
}


main{
	width: 100%;
		
}
.box{
	max-width: 1170px;
	width: 100%;
	margin:20px auto;
}
.main1,.main2{
	padding: 0 100px;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.title{
	display: flex;
	align-items: center;
}

.title::before{
	content: "";
	width: 15px;
	height: 50px;
	display: block;
	position: relative;
	margin-right: 10px;
}
.main1 .title::before{
	background-color: #EA5904;
}

.main2 .title::before{
	background-color:  #3071B7;
}

.text{
	margin-bottom: 20px;
}
.text h2{
	font-weight: 400;
	font-size: 35px;
}

a{
	text-decoration: none;
	color: white;
}
a p{
	text-align: center;
}
a div{
	display: block;
	width: 100%;
	height: 27vh;
	position: relative;
	margin-bottom: 20px;
	transform:scale(1.03);
}
a div:hover::before{
	top: 0 !important;
	left: 0 !important;
	transition-duration: .2s;
}
.site1::before{
	content: "";
	display: block;
	position: absolute;
	background:url("img/site-img1.png");
	width: 100%;
	height: 100%;
	background-size: cover;
	top:-10px;
	left: -10px;
}
.site2::before{
	content: "";
	display: block;
	position: absolute;
	background:url("img/site-img2.png");
	width: 100%;
	height: 100%;
	background-size: cover;
	top:-10px;
	left: -10px;
}
.site3::before{
	content: "";
	display: block;
	position: absolute;
	background:url("img/site-img3.png");
	width: 100%;
	height: 100%;
	background-size: cover;
	top:-10px;
	left: -10px;
}
.site4::before{
	content: "";
	display: block;
	position: absolute;
	background:url("img/site-img4.png");
	width: 100%;
	height: 100%;
	background-size: cover;
	top:-10px;
	left: -10px;
}

.main1 a p{
	background-color: #EA5904;
	border: solid 3px #EA5904;
	padding: 15px 0;
	border-radius: 10px;
	margin-bottom: 10px;
}
.main2 a p{
	background-color: #3071B7;
	border: solid 3px #3071B7;
	padding: 15px 0;
	border-radius: 10px;
}
.main1 .button:hover p{
	background-color: white;
	color:  #EA5904;
} 
.main2 .button:hover p{
	background-color: white;
	color: #3071B7;
} 

.flex{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-items: top;
	
}
.card{
	width: 350px;
	margin-top: 30px;
	padding: 16px; 
}
.main2{
	background-color: #D8DDE3;
	padding: 10px 100px;
	position: relative;
	margin-top: 50px;
}


.back-color{
	background-color: #D8DDE3;
}
.back-color2{
	background-color: #C2C9D1;
}

@media screen and (max-width: 1370px){
	header{
		flex-flow: column;
		align-items: flex-start;
		padding-left: 100px;
		padding-right: 100px;
	}
	header h2,header p{
		margin: 0;
		width: 100%;
	}
	header p{
		font-size: 13px;
		line-height: 20px;
	}
	.card{
	width: calc(50% - 50px);
	margin-top: 30px;
	padding: 16px; 
	}
	a div{
		height: 40vh;
	}
}
@media screen and (max-width: 1000px){
	header{
		padding-left: 30px;
		padding-right: 30px;
	}
	.main1,.main2{
		padding: 0 30px !important;
	}
	a div{
		height: 30vh;
	}
	
}
@media screen and (max-width: 811px){
	.card{
	width: 100%;
	margin-top: 30px;
	padding: 16px; 
}
	
	a div{
		height: 40vh;
	}
	
}
@media screen and (max-width: 500px){
	a div{
		height: 30vh;
	}
	
}

