.span1{
	display: inline-block;
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
.approach header {
	position: relative;
    padding: 0px;
}

.approach header h2{
	white-space: nowrap;
}

.approach header .block {
	position: relative;
	width        : 40%;
	height       : 350px;
	background   : linear-gradient(to left, #6091d3, #0059b3);
	z-index: 2;
}

.approach header img {
	position: relative;
	right: 0px;
	width: 60%;
	height: 350px;
    z-index: 1;
	filter: brightness(80%);
}

.approach header .block h2 {
	margin-top: 12%;
	margin-left: 25%;
	color: #ffffff;
	font-size: 300%;
	letter-spacing:1.5em;
}

.approach header .block h3 {
	margin-left: 25%;
	color: #ffffff;
	font-size: 100%;
	letter-spacing:2em;
}

.approach .pTitle {
	font-size: 160%;
	text-align:center;
}

.approach #contents .SubTitle {
	color: #2e8b57;
	font-size: 220%;
	font-weight: bold;
}

.absolute {
    position: absolute;
}

#approach {
	margin-top: 30px;
	margin-bottom: 30px;
}

#approach h2 {
	left: 0;
	right: 0;
	margin: auto;
	bottom: 25px;
	color:#ffffff;
	text-shadow: 0px 0px 5px #000000, 0px 0px 20px #000000, 0px 0px 40px #000000, 0px 0px 60px #000000, 0px 0px 80px #000000, 0px 0px 100px #000000;
}

#approach h2 .absolute {
	position: absolute;
}

#approach .relative img {
	margin: 0 auto;
	width: 100%;
	height: 150px;
	object-fit: cover;
}

.approach .box {
	position: relative;
	padding: 0.5em 1em;
	margin: 2em 0;
    font-weight: bold;
	background:#ffffff;
}

.approach #contents h3 {
    clear: both;
    margin-bottom: 20px;
    font-size: 150%; /*文字サイズ*/
    padding-left: 3%; /*左側に空ける余白*/
    letter-spacing: 0.1em; /*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}

.approach #contents #box1 h3 {
	font-weight: bold;
	font-size: 180%;
}

.approach #contents #box2 h3 {
    border-bottom: 3px solid #70b0eb;
    width: 30%;
}


.approach .graybox {
	position: relative;
	padding: 0.5em 1em;
	margin: 2em 0;
	font-weight: bold;
	background: #F5F5DC;
	color: #000;
}

.approach #contents .graybox h3 {
	text-align: center;
	font-weight: bold;
}

.approach #contents .graybox p {
	padding-bottom: 0;
}

/*taItem設定*/
.taItem {
	table-layout: auto;
}
.taItem, .taItem td {
	word-break: break-all;
	padding-right: 2%;
}
/*taItemの左側ボックス*/
.taItem th {
	width: 60%; /*幅*/
	text-align: left; /*左寄せ*/
	vertical-align: top;
}

.approach .imgCatalog {
	display: block;
	margin: auto;
	width: 70%;
	margin-top:2%;
}

.approach #Embodied ul li {
	color: #333333;
	font-size: 100%;
	font-weight: bold;
}
.pLink {
	display: inline-block;
	text-align: center;
	margin: 1% 0 3% 3%;
	width: 12rem;
	padding: 0.25em 0.5em;
	text-decoration: none;
	color: #6091d3;
	background: #ffffff;
	font-weight: bold;
	border: solid 2px #6091d3;
	user-select: none;
}
.pLink:hover {
	color: #ffffff;
	background: #6091d3; /*色*/
	border: solid 2px #6091d3; /*線色*/
	font-weight: bold;
}

#contents .relative img {
	height: 200px;
	filter: brightness(80%) blur(1px);
	width: 100%;
}

#contents h2 {
	left: 0;
	right: 0;
	margin: auto;
	bottom: 20%;
	color: #ffffff;
}

#contents .anchorF {
	padding-top: 20px;
	margin-top: 0px;
}

.imgF {
	object-position: 40% 0%;
}

#contents .pMes {
	padding: 30px 0 30px 3%;
}

.btnSDGs {
	position: relative;
	display: inline-block;
	text-align: center;
	padding: 0.25em 0.8em;
	text-decoration: none;
	color: #6091d3;
	background: #ffffff; /*色*/
	font-weight: bold;
	border: solid 2px #6091d3; /*線色*/
	font-size: 130%;
	letter-spacing: 0.2em;
	margin: 3%;
}

.btnSDGs:hover {
	color: #ffffff;
	background: #6091d3; /*色*/
}


/*画面幅1024px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px) {
	.span1 {
		display: inline;
	}

	.span2 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	.approach header .block {
		width: 40%;
		height: 250px;
	}

	.approach header img {
		width: 60%;
		height: 250px;
	}

	.approach header .block h2 {
		margin-top: 15%;
		margin-left: 10%;
		color: #ffffff;
		font-size: 300%;
		letter-spacing:0.7em;
	}

	.approach header .block h3 {
		margin-left: 15%;
		font-size: 100%;
		letter-spacing: 1.2em;
	}

    #approach .relative img {
		height: 100px;
	}
	
	#approach .relative h2 {
		font-size: 230%;
        bottom: 10%;
	}

	.approach .box h3 {
		margin-left: 1%;
	}

	.approach #contents .refine-teims h3:before {
		width: 50px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 42.5%;
		bottom: 0%; /*線の上下位置*/
	}

}


/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px) {
	.span2 {
		display: inline;
	}

	.span3 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	.approach header .block {
		width        : 40%;
		height       : 280px;
	}

	.approach header img {
		right: 0px;
		width: 60%;
		height: 280px;
	}

	.approach header .block h2 {
		margin-top: 27%;
		margin-left: 20%;
		font-size: 250%;
		letter-spacing:0.3em;
	}

	.approach header .block h3 {
		font-size: 100%;
		letter-spacing:1.0em;
	}

    #approach .relative img {
		height: 80px;
	}
	
	#approach .relative h2 {
		font-size: 230%;
        bottom: 5%;
	}

	.approach .box h3 {
		margin-left: 2%;
	}

	.approach #contents .refine-teims h3:before {
		width: 50px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 43.0%;
		bottom: 0%; /*線の上下位置*/
	}

	/*taItemの左側ボックス*/
	.taItem th {
		width: 100%; /*幅*/
	}

	table.row th {
		display: block;
	}

	table.row td {
		width: 100%;
		display: block;
	}

	.approach .imgCatalog {
		width: 70%;
	}

	#contents .pLink {
		width: 9rem;
		margin: 1% 0 3% 15px;
	}

	#contents #SDGs .relative img {
		height: 100px;
	}

	#contents #it-hojo .relative img {
		height: 100px;
	}

	#contents #shikaku .relative img {
		height: 100px;
	}

	#contents #SDGs .relative h2 {
		bottom: 8%;
	}

	#contents #it-hojo .relative h2 {
		bottom: 8%;
	}

	#contents #shikaku .relative h2 {
		bottom: 8%;
	}

	.btnFlow {
		font-size: 110%;
		margin: 2%;
	}

}

@media screen and (max-width:600px) {

	#contents .pLink {
		width: 7rem;
	}
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){
	.span3　{
		display: inline;
	}

	.span4 {
		display: inline-block;
	}

	/*ヘッダー
	---------------------------------------------------------------------------*/
	.approach header .block h3 {
		margin-left: 20%;
		font-size: 100%;
		letter-spacing: 0.5em;
	}

	.approach header .block {
		width: 40%;
		height: 150px;
	}

	.approach header img{
		right: 0px;
		width: 60%;
		height: 150px;
	}

	.approach header .block h2 {
		margin-top: 30%;
		margin-left: 20%;
		font-size: 180%;
	}

    #approach .relative img{
		height: 80px;
	}

    #approach .relative h2 {
        font-size: 230%;
        bottom: 18%;
    }

	.approach #contents  h3 {
		margin-bottom: 10px;
	}

	.approach .box h3{
		margin-left: 2%;
	}

	.approach #contents #box2 h3 {
		width: 50%;
	}

	#contents p {
		padding: 0 3% 3%;
	}

	.approach #contents .refine-teims h3:before {
		width: 30px; /*線の長さ*/
		height: 2px; /*線の太さ*/
		left: 46.0%;
		bottom: 0%; /*線の上下位置*/
	}

	table.row th {
		padding: 0 0 3% 3%;
	}

	.approach #contents .SubTitle {
		font-size: 150%;
	}

	.approach .imgCatalog {
		width: 90%;
	}

	#contents .pLink {
		width: 9rem;
	}

	#contents .anchorF {
		padding-top: 0px;
		margin-top: 30px;
	}

	.btnFlow {
		font-size: 100%;
		letter-spacing: 0;
		margin: 1%;
	}

}
