@charset "UTF-8";

/* ---------------------------------------
  environment
-----------------------------------------*/

#sec_environment {
	padding: 150px 0 230px;
	background-color: #eff8fd;
}

#sec_environment::before,
#sec_environment::after {
	content: "";
	position: absolute;
	height: 0;
}

#sec_environment::before {
	width: calc(50% + 579px);
	padding-top: 13.1935%;
	background: url(../img/environment/environment_bg01.png) no-repeat right top / auto 100%;
	left: 0;
	top: 0;
}

#sec_environment::after {
	width: calc(50% + 590px);
	height: 86px;
	background-color: #074a97;
	clip-path: polygon(20px 0%, 100% 0%, 100% 100%, 20px 100%, 0% 50%);
	right: -15px;
	transform: rotate(-5deg);
	transform-origin: left top;
	bottom: -2px;
}

#sec_environment .box {
	width: 1150px;
	background-color: #fff;
	padding: 52px 80px 54px;
	position: relative;
}

#sec_environment .box + .box {
	margin-top: 60px;
}

#sec_environment .box:nth-child(odd) {
	left: -75px;
}

#sec_environment .box:nth-child(even) {
	right: -75px;
}

#sec_environment .box .txtwrap .ttl {
	width: 430px;
	color: #074a97;
	font-style: italic;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.6;
	letter-spacing: 0.14em;
	display: inline-flex;
	align-items: flex-start;
}

#sec_environment .box .txtwrap .ttl .ico {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-right: 12px;
	height: 1.7em;
}

#sec_environment .box .txtwrap .txt {
	width: 550px;
}

#sec_environment .box .txtwrap .txt p {
	text-align: justify;
}

#sec_environment .box .txtwrap .txt .license {
	display: flex;
	border: 2px solid #074a97;
	margin-top: 20px;
	margin-bottom: 10px;
}

#sec_environment .box .txtwrap .txt .license dt {
	color: #fff;
	width: 7.2em;
	background-color: #074a97;
	text-align: center;
	padding: 10px .5em;
	display: flex;
	align-items: center;
}

#sec_environment .box .txtwrap .txt .license dd {
	width: calc(100% - 6em);
	padding: 10px 1.5em;
}

#sec_environment .box .training {
	margin-top: 30px;
}

#sec_environment .box .training .trainingttl {
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
	padding: 0.318em 1em;
	background-color: #074a97;
	-webkit-clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0 100%, 0% 25px);
	clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0 100%, 0% 25px);
	margin-bottom: 30px;
}

#sec_environment .box .training .item {
	width: 303px;
	padding-bottom: 12px;
	border-bottom: 1px solid #074a97
}

#sec_environment .box .training .item .ttlwrap {
	margin-bottom: 10px;
}

#sec_environment .box .training .item .ttlwrap .ttl {
	position: relative;
	color: #074a97;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.14em;
	padding-left: .8em;
	margin-bottom: .3em;
}

#sec_environment .box .training .item .ttlwrap .ttl::before {
	content: "";
	width: 4px;
	height: 62%;
	background-color: #074a97;
	position: absolute;
	left: 0;
	top: 22%;
}

#sec_environment .box .training .item .ttlwrap .cate {
	display: flex;
	justify-content: flex-end;
}

#sec_environment .box .training .item .ttlwrap .cate li {
	font-size: 1.2rem;
	line-height: 17px;
	padding: 0 0.5em;
	border: 1px solid #074a97;
	margin-left: 5px;
	color: #0b318f;
	background-color: #fff;
}

#sec_environment .box .training .item .ttlwrap .cate li.cate1 {
	color: #fff;
	background-color: #074a97;
}

#sec_environment .box .training .item .txt {
	font-size: 1.4rem;
	line-height: 1.85;
	text-align: justify;
}

#sec_environment .box .imgwrap {
	margin-top: 25px;
	position: relative;
}

#sec_environment .box .imgwrap .img{
	width: 485px;
}

#sec_environment .box .imgwrap .caption {
	width: 100%;
	text-align: right;
	font-size: 1.2rem;
	line-height: 1.66;
	letter-spacing: 0.065em;
	margin-top: 9px;
}

#sec_environment .box1 {
	padding-bottom: 0;
}

#sec_environment .box1 .message {
	color: #074a97;
	/*	font-style: italic;*/
	font-weight: 700;
	line-height: 1.8125;
	transform: rotate(-5deg);
	position: absolute;
	left: 50px;
	top: -62px;
}

#sec_environment .box1 .message span {
	border-bottom: 2px solid #074a97;
	display: inline-block;
	padding-bottom: .2em;
}

#sec_environment .box1 .message span:nth-of-type(2) {
	margin-left: 3em;
}

#sec_environment .box3 .txtwrap .txt p {
	letter-spacing: 0.08em;
}

#sec_environment .box2 .img.col-3,
#sec_environment .box7 .img.col-3 {
	width: 318px;
}

@media screen and (min-width: 769px) {
	#sec_environment .box .training .item + .item:not(:nth-child(3n + 1)) {
		margin-left: 25px;
	}

	#sec_environment .box .training .item:nth-child(n + 4) {
		margin-top: 40px;
	}
}

@media screen and (max-width: 1800px) {
	#sec_environment::before {
		padding-top: 0;
		height: 195px;
	}
}


@media screen and (max-width: 768px) {
	#sec_environment {
		padding: 12vw 0 29vw;
	}

	#sec_environment::before {
		width: 92vw;
		height: 17.6vw;
		background: url(../img/environment/environment_bg01_sp.png) no-repeat right top / cover;
	}

	#sec_environment::after {
		width: 95vw;
		height: 12vw;
		clip-path: polygon(2vw 0%, 100% 0%, 100% 100%, 2vw 100%, 0% 50%);
		right: -3vw;
		transform: rotate(-5deg);
		transform-origin: left top;
		bottom: -6vw;
	}

	#sec_environment .box {
		width: 100%;
		padding: 6.7vw 8vw 7.2vw;
	}

	#sec_environment .box + .box {
		margin-top: 8vw;
	}

	#sec_environment .box:nth-child(odd) {
		left: 0;
	}

	#sec_environment .box:nth-child(even) {
		right: 0;
	}

	#sec_environment .box .txtwrap .ttl {
		width: 100%;
		font-size: 5.2vw;
		letter-spacing: 0.075em;
		margin-bottom: .5em;
	}

	#sec_environment .box .txtwrap .ttl .ico {
		margin-right: 2vw;
		height: 1.7em;
	}

	#sec_environment .box1 .txtwrap .ttl .ico {
		width: 6.27vw;
	}

	#sec_environment .box2 .txtwrap .ttl .ico {
		width: 5.33vw;
	}

	#sec_environment .box3 .txtwrap .ttl .ico {
		width: 8.8vw;
	}

	#sec_environment .box4 .txtwrap .ttl .ico {
		width: 6.13vw;
	}

	#sec_environment .box5 .txtwrap .ttl .ico {
		width: 5.2vw;
	}

	#sec_environment .box6 .txtwrap .ttl .ico {
		width: 6.93vw;
	}

	#sec_environment .box7 .txtwrap .ttl .ico {
		width: 8vw;
	}

	#sec_environment .box8 .txtwrap .ttl .ico {
		width: 6vw;
	}

	#sec_environment .box9 .txtwrap .ttl .ico {
		width: 5.9vw;
	}

	#sec_environment .box .txtwrap .txt {
		width: 100%;
	}

	#sec_environment .box .txtwrap .txt .license {
		display: block;
		border: .4vw solid #074a97;
		margin-top: 4vw;
		margin-bottom: 1vw;
	}

	#sec_environment .box .txtwrap .txt .license dt {
		width: 100%;
		padding: 1.3vw 2em;
	}

	#sec_environment .box .txtwrap .txt .license dd {
		width: 100%;
		padding: 1.3vw 1em;
	}

	#sec_environment .box .training {
		margin-top: 7vw;
	}

	#sec_environment .box .training .trainingttl {
		font-size: 4.26vw;
		padding: 0.5em 1em;
		-webkit-clip-path: polygon(4.8vw 0%, 100% 0%, 100% 100%, 0 100%, 0% 4.8vw);
		clip-path: polygon(4.8vw 0%, 100% 0%, 100% 100%, 0 100%, 0% 4.8vw);
		margin-bottom: 6vw;
	}

	#sec_environment .box .training .item {
		width: 100%;
		padding-bottom: 2.6vw;
	}

	#sec_environment .box .training .item + .item {
		margin-top: 8vw;
	}

	#sec_environment .box .training .item .ttlwrap {
		display: flex;
		justify-content: space-between;
		margin-bottom: 3vw;
	}

	#sec_environment .box .training .item .ttlwrap .ttl {
		font-size: 3.6vw;
		letter-spacing: 0.075em;
		margin-bottom: 0;
	}

	#sec_environment .box .training .item .ttlwrap .ttl::before {
		width: .8vw;
		height: 62%;
	}

	#sec_environment .box .training .item .ttlwrap .cate li {
		font-size: 2.4vw;
		line-height: calc(3.86vw - 2px);
		padding: 0 0.5em;
		margin-left: 1vw;
	}

	#sec_environment .box .training .item .txt {
		font-size: 2.8vw;
	}

	#sec_environment .box .imgwrap {
		margin-top: 5vw;
	}
	
	#sec_environment .box .imgwrap .img{
		width: 100%;
	}
	
	#sec_environment .box .imgwrap .img + .img {
		margin-top: 2vw;
	}

	#sec_environment .box .imgwrap .caption {
		text-align: left;
		font-size: 2.4vw;
		margin-top: 1.8vw;
	}

	#sec_environment .box1 {
		padding-bottom: 8vw;
	}

	#sec_environment .box1 .img {
		width: 64.67vw;
		margin: 0 auto;
	}

	#sec_environment .box1 .message {
		position: static;
		margin: 4vw auto;
	}

	#sec_environment .box1 .message span {
		border-bottom: .4vw solid #074a97;
		padding-bottom: .1em;
	}

	#sec_environment .box1 .message span:nth-of-type(2) {
		margin-left: 3em;
	}

	#sec_environment .box2 .img.col-3,
	#sec_environment .box7 .img.col-3 {
		width: 100%;
	}

}