@charset "utf-8";

.right{
	font-family: Arial, Helvetica, "sans-serif";
}

/*トップ*/
h2{
	position: absolute;
	top: 40px;
	left: 320px;
	
	width: 450px;
	height: 150px;
	
	color: #3361AC;
	background-color: rgba(255,255,255,.8);
	font-size: 36px;
	line-height: 150px;
	padding-left: 50px;
}
.h2_br{
	display: none;
}
.top-img img{
	width: 100%;
	height: 250px;
	object-fit: cover;
}
.top-img-sp{
	display: none;
}

/*メイン*/
.achive-main{
	max-width: 1200px;
	width: 80%;
	margin: 60px auto 0 auto;
}

.about{
	text-align: center;
}
.about p{
	font-size:18px;
	line-height: 30px;
}

hr{
	margin: 60px 0;
	height: 1px;
	border: none;
	background-color: #AAA;
}
h3{
	text-align: center;
	color: #3361AC;
	font-size: 26px;
	position: relative;
	margin-bottom: 60px;
	overflow: visible;
}
h3::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	width: 200px;
	height: 2px;
	margin: 5px auto;
	background: linear-gradient(135deg, #3361AC, #0085AE);
	transform: translateX(-50%);
}

.contents01-text{
	width: 80%;
	margin: 40px auto 0 auto;
}
.box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 40px;
}
.box-in{
	width: 48%;
	border: 1px solid #DDD;
	text-align: center;
	margin-bottom: 25px;
	box-sizing: border-box;
}
.box-in p img{
	width: 90%;
	height: auto;
	padding: 20px 0;
}
h4 {
	width: 90%;
	margin: 0 auto;
}
.h4-nolink{
	font-size: 130%;
	color: #000;
	margin: 0 auto 20px auto;
}
h4 a{
	font-size: 130%;
	text-decoration: underline;
	text-align: center;
	color: #000;
	margin: 0 auto 20px auto;
	position: relative;
	display: inline-block;
	padding-right: 35px;
}
.h4_br {
	display: block;
}
.window-icon03{
	position: absolute;
	top: 50%;
	right: 0;
	width: auto;
	height: 22px;
	transform: translateY(-50%);
}
h4 a:hover{
	color: #3361AC;
}
a:hover .window-icon03 {
	opacity: .7;
}
.h4_span{
	font-size: 80%;
}
.box-in p:nth-of-type(2){
	margin: 0 auto 25px auto;
	width: 90%;
}

.contents04{
	padding-bottom: 20%;
}
.coverage-box{
	width: 550px;
	margin: 40px auto;
	border: 1px solid #CCC;
	padding: 20px;
	background-color: #fff;
	box-sizing: border-box;
}
dl{
	display: flex;
	padding: 0 5px;
}
dt{
	width: 35%;
	font-weight: bold;
	padding-right: 20px;
}
.coverage_hr{
	margin: 10px 0;
}

.right{
	background: url("../image/bg_achievement.jpg");
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: 0 100%;
}

/*==========レスポンシブ==========*/
@media screen and (max-width: 1287px){
	.h4_br {
		display: none;
	}
}
@media screen and (max-width: 1100px){
	h2{
		left: 10%;
		top: 100px;
		width: 400px;
		z-index: 99;
	}
	.right{
		background-position: 0 100%;
		padding-bottom: 60px;
	}
	
	.achive-main{
		width: 100%;
		padding: 0 50px;
		box-sizing: border-box;
	}
	.box{
		padding: 0 10px;
		box-sizing: border-box;
	}
	.h4_br {
		display: block;
	}
	.coverage-box {
		width: 80%;
	}
	
}
@media screen and (max-width: 956px){
	.h4_br {
		display: none;
	}
}
@media screen and (max-width: 801px){
	.top-img{
		display: none;
	}
	.top-img-sp{
		display: block;
	}
	.top-img-sp img{
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	h2{
		left: 0;
		right: 0;
		margin: auto;
		width: 330px;
		height: 120px;
		text-align: center;
		line-height: 120px;
		padding: 0;
		font-size: 30px;
	}
	
	.contents01-text {
		width: 90%;
	}
	
	.box{
		flex-direction: column;
		align-items: center;
		padding: 0;
	}
	.box-in{
		width: 95%;
		padding: 30px 30px 5px;
	}
	.box-in p img{
		width: 100%;
		padding: 0;
	}
	.box-in p:nth-of-type(2) {
		width: 100%;
	}
	h4 {
		width: 100%;
	}
	.h4-nolink {
		margin-top: 15px;
	}
	.h4_br {
		display: block;
	}
	
	.coverage-box{
		width: 95%;
	}
	
	.right{
		background-size: 70%;
	}
}
@media screen and (max-width: 601px){
	.achive-main {
		padding: 0 7.5%;
	}
	.box-in {
		width: 100%;
	}
}
@media screen and (max-width: 501px){
	h2{
		width: 80%;
		height: 100px;
		line-height: 40px;
		padding-top: 20px;
	}
	.h2_br{
		display: block;
	}
	h3{
		font-size: 22px;
	}
	
	.about p{
		text-align: left;
		font-size: 16px;
	}
	.about_br{
		display: none;
	}
	
	
	.contents01-text{
		width: 100%;
	}
	
	.coverage-box{
		width: 100%;
	}
	dl{
		flex-direction: column;
		align-items: center;
	}
	dt{
		width: 100%;
		text-align: center;
		padding: 0;
	}
	
	.right{
		background-size: 85%;
	}
}
@media screen and (max-width: 481px){
	.h4_br {
		display: none;
	}
}