@charset "UTF-8";
/* CSS Document */

/* ここからesg CSS */
.esg_philosophy {
	text-align: center;
	margin-bottom: 5em;
}

h1 {
	background-size: 40px;
	-moz-appearance: none;
	appearance: none;
	padding: 1% 2em;
}

.esg_philosophy h2,
.esg_policy  h2 {
    color: var(--news);
/*
    font-weight: bold;
    font-size: var(--bigBunsyo);
    padding: 0 55px;
*/
	border-left: 0;
}

.esg_philosophy p {
	width: 80%;
    font-size: var(--bunsyo);
    line-height: 3em;
    color: #7D7D7D;
	margin: 0 auto;
}

.esg_item {
	width: 80%;
	margin: 0 auto 10em;
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));
	gap:3em;
}




/*
span.linkimg {
	height: auto;
	max-height: auto;
}
*/


.esg_content img {
	width: 100%;
	vertical-align: top;
	object-fit: cover;
}

.esg_policy {
	text-align: center;
}

.esg_policy p {
	display: inline-block;
    text-align: left;
    font-size: var(--bunsyo);
    line-height: 2.5em;
    color: #7D7D7D;
}

.esg_content {
    overflow:hidden;
}

/* ここからホバー機能があるデバイスのみに適用 */
@media(hover: hover){
	.esg_item a:hover {
		opacity:0.5;
		transition:0.3s;
	}

	.esg_content a :hover {
		transform:scale(1.1,1.1);
		transition:1s all;
	}
}
/* ここまでホバー機能があるデバイスのみに適用 */


/* ここまでesg CSS */

/**********************
レスポンシブ対応
***********************/
@media screen and (max-width:786px)  {
	h2 {
		margin-bottom: 5vw;
	}
	
	.esg_philosophy h2,
	.esg_policy  h2 {
		font-size: 18px;
	}
	
	.esg_philosophy p {
		width: 90%;
		margin: 0 auto;
   	 	font-size: 15px;
		line-height:1.7;
		text-align: justify;
	}
	
	.esg_item {
		width: 85vw;
		gap:5vw;
		margin-bottom: 7em;
	}
	
	span.linkimg {
		height: 100%;
	}
	
	span.linkimg img {
		height: 100%;
		object-fit: cover;
	}
	
	.esg_title,
	.esg_title2,
	.esg_title3 {
		font-size: 16px;
	}
	
	.esg_title a {
		border-left: 8px solid  #0D9289;
	}

	.esg_title2 a {
		border-left: 8px solid  #0085D0;
	}

	.esg_title3 a {
		border-left: 8px solid  #f08a26;
	}
	
	.esg_policy p {
		margin: 0 auto;
		font-size: 15px;
		line-height: 1.7;
		white-space: inherit;
		
	}
	
	.esg_policy p span {
		width: 90%;
		margin: 0 auto;
		display: block;
		margin-bottom: 0.3em;
		text-indent: -1em;
  		padding-left: 1em;
	}
}