@charset "utf-8";
html,
body {
	background-color: #fff;
	line-height: 1.75;
}
.csr .cms_block > *:last-child {
	margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
	.csrIndex + .footer > .footerNav {
		margin-top: 150px;
	}
	.pc_mb0 {
		margin-bottom: 0 !important;
	}
	.cms_block.pc_mb35 {
		margin-bottom: 35px;
	}
}
@media screen and (max-width: 767px) {
	.sp_mt5 {
		margin-top: 5px;
	}
	.cms_block.sp_mb20 {
		margin-bottom: 20px;
	}
}

/* ------------------------------
 CSR活動INDEX（PC）
------------------------------ */
.csrIndex {
	font-size: 1.8rem;
}
.csrIndex .heading {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 400px;
	margin-bottom: 80px;
	background: url(../img/csr_index_heading_bg.jpg) no-repeat center 0 / 1920px 400px;
}
.csrIndex .heading h1 {
	width: 100%;
	padding: 47px 0;
	background: url(../img/title_bg_csr.svg) no-repeat center 0 / 311px 128px;
	color: #fff;
	font-size: 3.4rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	letter-spacing: .3em;
}
.csrIndex h2 {
	color: #fff;
	font-size: 3.2rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	letter-spacing: .1em;
	white-space: nowrap;
}
.csrIndex h2 span {
	display: block;
	margin-top: 12px;
	font-size: 1.8rem;
	letter-spacing: 0;
}
/* 基本方針 */
.csrIndex .policyBlock h2 {
	margin-bottom: 112px;
	padding-top: 43px;
	background: url(../img/title_bg_policy.svg) no-repeat center 0 / 271px 62px;
	color: #003e86;
	font-size: 3rem;
	font-weight: 500;
	text-align: center;
}
.csrIndex .policyBlock h2::after {
	content: "";
	display: block;
	width: 70px;
	height: 4px;
	margin: 14px auto 0;
	background: url(../../img/icon_decoration.svg) no-repeat center 0;
}
.policyBlock div.cms_text:first-of-type {
	font-size: 2.4rem;
	font-weight: bold;
}
.cms_text p.policyText {
	margin: 1.2em 0;
	color: #003e86;
}
.cms_text p.policyText span {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 4rem;
	line-height: 1.3;
	font-weight: 700;
}
.lhWide {
	line-height: 1.78;
	text-align: justify
}
.policyList {
	color: #003e86;
	font-size: 2rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
}
.cms_text.policyList ul li {
	padding-left: 0;
	text-indent: 0;
}
/* 環境 */
.environmentBlock {
	padding-top: 85px;
	background: url(../img/environment_bg.jpg) no-repeat center 0 / 1600px 648px;
}
.cms_text.environmentMenu ul {
	margin-top: 75px;
}
.cms_text.environmentMenu ul li {
	padding-left: 0;
    text-indent: 0;
}
.environmentMenu ul li a {
	display: block;
	position: relative;
	height: 100%;
	border-radius: 8px;
	background-color: rgba(255,255,255,.9);
	color: #000;
	font-size: 1.8rem;
	line-height: 64px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.environmentMenu ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(../img/icon_arrow_r.png) no-repeat 0 0 / 24px 24px;
}
.environmentMenu ul li:last-child a {
	padding: 8px 8px 0;
}
.environmentMenu ul li:last-child a::after {
	top: auto;
	bottom: 20px;
	margin-top: 0;
}
.environmentMenu ul li:last-child div {
	position: relative;
}
.environmentMenu ul li:last-child div p {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: left;
	letter-spacing: .1em;
	white-space: nowrap;
	text-shadow: 1px 1px 3px rgba(0,0,0,.75);
	transform: translate(-50%, -50%);
}
/* メニュー */
.menuBlock::after {
	display: none;
}
.menuBlock .cms_image {
	position: relative;
}
.menuBlock .cms_image::after {
	content: "";
	position: absolute;
	bottom: 16px;
	right: 16px;
	width: 24px;
	height: 24px;
	background: url(../img/icon_arrow_r.png) no-repeat 0 0 / 24px 24px;
}
.menuBlock .cms_image a {
	display: block;
}
.menuBlock .cms_image .cms_caption_b {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: 0;
	transform: translate(-50%, -50%);
}
@media print, screen and (min-width: 768px) {
	.csrIndex .cms_block {
		width: 1000px;
		margin: 0 auto 110px;
	}
	.csrIndex .cms_block:last-child {
		margin-bottom: 0;
	}
	.csrIndex .cms_block.wide {
		width: 100%;
	}
	.csrIndex .cms_block .cms_text:not(:last-child) {
		margin-bottom: 45px;
	}
	.csrIndex .cms_block.wide .cms_text {
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	/* 基本方針 */
	.csrIndex .cms_block.policyBlock .cms_text.tac:not(:last-child) {
		margin-bottom: 105px;
	}
	/* 環境 */
	.csrIndex .cms_block.environmentBlock {
		height: 648px;
		margin-bottom: 17px;
	}
	.environmentMenu ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(4, 1fr);
		gap: 24px 64px;
	}
	.environmentMenu ul li {
		height: 64px;
	}
	.environmentMenu ul li:first-child {
		grid-area: 1 / 1 / 2 / 2;
	}
	.environmentMenu ul li:nth-child(2) {
		grid-area: 2 / 1 / 3 / 2;
	}
	.environmentMenu ul li:nth-child(3) {
		grid-area: 3 / 1 / 4 / 2;
	}
	.environmentMenu ul li:nth-child(4) {
		grid-area:  4 / 1 / 5 / 2;
	}
	.environmentMenu ul li:nth-child(5) {
		grid-area: 1 / 2 / 2 / 3;
	}
	.environmentMenu ul li:last-child {
		grid-area: 2 / 2 / 5 / 3;
		height: 240px;
	}
	.environmentMenu ul li a {
		transition: .3s ease-out;
	}
	.environmentMenu ul li a:hover {
		opacity: .85;
	}
	/* メニュー */
	.menuBlock {
		display: flex;
		column-gap: 17px;
		max-width: 1600px;
		margin: 0 auto;
	}
	.menuBlock .cms_image {
		width: calc((100% - 34px) / 3);
		margin-bottom: 0;
		transition: .3s ease-in-out;
	}
	.menuBlock .cms_image:hover {
		opacity: .7;
	}
}
/* ------------------------------
 CSR活動INDEX（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.csrIndex {
		font-size: 1.6rem;
	}
	.csrIndex .heading {
		height: 160px;
		margin-bottom: 60px;
		background: url(../img/csr_index_heading_bg.jpg) no-repeat center 0 / 768px 160px;
	}
	.csrIndex .heading h1 {
		padding: 19px 0;
		background: url(../img/title_bg_csr.svg) no-repeat center 0 / 158px 65px;
		font-size: 2.7rem;
		letter-spacing: .1em;
	}
	.csrIndex h2 {
		font-size: 2.6rem;
		white-space: nowrap;
	}
	.csrIndex h2 span {
		margin-top: 10px;
		font-size: 1.5rem;
	}
	.csrIndex .cms_block {
		width: 90%;
		margin: 0 auto 60px;
	}
	.csrIndex .cms_block.wide {
		width: 100%;
	}
	.csrIndex .cms_block .cms_text:not(:last-child) {
		margin-bottom: 40px;
	}
	/* 基本方針 */
	.csrIndex .policyBlock h2 {
		font-size: 2.5rem;
		margin-bottom: 55px;
		padding-top: 32px;
		background: url(../img/title_bg_policy.svg) no-repeat center 0 / 206px 47px;
	}
	.csrIndex .policyBlock h2::after {
		width: 53px;
		margin: 12px auto 0;
	}
	.policyBlock div.cms_text:first-of-type {
		font-size: 1.9rem;
	}
	.cms_text p.policyText span {
		margin-bottom: 10px;
		font-size: 3.4rem;
		line-height: 1.1;
	}
	.policyList {
		font-size: 1.8rem;
		line-height: 1.6;
		text-align: left;
	}
	.cms_text.policyList ul li {
		text-align: justify
	}
	.cms_text.policyList ul li:not(:last-child) {
		margin-bottom: 10px;
	}
	/* 環境 */
	.csrIndex .cms_block.environmentBlock {
		margin-bottom: 16px;
		padding: 60px 5%;
		background: url(../img/environment_bg.jpg) no-repeat center 0 / auto 100%;
	}
	.cms_text.environmentMenu ul {
		margin-top: 60px;
	}
	.environmentMenu ul li:not(:last-child) {
		margin-bottom: 16px;
	}
	.environmentMenu ul li a {
		font-size: 1.6rem;
		line-height: 56px;
	}
	.environmentMenu ul li a::after {
		right: 14px;
		width: 22px;
		height: 22px;
		margin-top: -11px;
		background: url(../img/icon_arrow_r.png) no-repeat 0 0 / 22px 22px;
	}
	.environmentMenu ul li:last-child div p {
		font-size: 1.4rem;
	}
	/* メニュー */
	.menuBlock .cms_image.cms_text:not(:last-child) {
		margin-bottom: 16px;
	}
	.menuBlock .cms_image.cms_text:last-child {
		margin-bottom: 0;
	}
	.menuBlock .cms_image::after {
		bottom: 14px;
		right: 14px;
		width: 22px;
		height: 22px;
		background: url(../img/icon_arrow_r.png) no-repeat 0 0 / 22px 22px;
	}
}

/* ------------------------------
 CSR活動下層（PC）
------------------------------ */
.csr {
	font-size: 1.6rem;
}
.csr .heading {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 250px;
	margin-bottom: 80px;
	background: url(../img/csr_heading_bg.jpg) no-repeat center 0 / 1920px 250px;
}
.csr .heading h1 {
	width: 100%;
	margin-bottom: 14px;
	color: #fff;
	font-size: 3.4rem;
	line-height: 1.4;
	text-align: center;
	letter-spacing: .1em;
}
.csr .heading h1::after {
	content: "";
	display: block;
	width: 70px;
	height: 4px;
	margin: 8px auto 0;
	background: url(../../img/icon_decoration.svg) no-repeat center 0;
}
.csr .contentsWide {
	padding: 0;
}
.csr .cms_text {
	text-align: justify;
}
.csr .adobebox {
	background-color: #eef3f5;
}
/* サイドメニュー */
.contentsSide {
	line-height: 1.6;
}
.contentsSide .headTitle a {
    background: #f5f5f5 url(../img/headtitle_bg_csr.png) no-repeat center 0;
}
.sidemenu ul li a {
	background-color: #f5f5f5;
}
.sidemenu ul li a:hover {
	background-color: #205da6;
	border-top: solid 1px #205da6;
	border-bottom: solid 1px #205da6;
	color: #fff;
	text-decoration: none;
}
.sidemenu li.on a {
	border-top: solid 1px #205da6;
	border-bottom: solid 1px #205da6;
	background-color: #205da6;
	color: #fff;
}
.sidemenu li.on ul li a {
	border-top: none;
	border-bottom: none;
	background-color: #205da6;
	color: #fff;
}
/* ページ内リンク */
.csr .anchor {
	margin-bottom: 80px;
	padding: 20px 28px;
	background-color: #f5f5f5;
}
.csr .anchor ul li {
	font-size: 1.4rem;
}
.csr .anchor ul li:not(:last-child) {
	margin-right: 2em;
}
.csr .anchor ul li::after {
	content: none;
}
.csr .anchor a {
	padding-left: 22px;
	background: url(/shared/img/icon_arrow_bt.png) no-repeat 0 center / 16px 16px;
	color: #003e86;
	text-decoration: none;
	transition: .3s ease-in-out;
}
.csr .cms_block.anchor {
	margin-bottom: 80px;
}
.csr .cms_block.anchor .cms_text p {
	font-weight: bold;
}
.csr .cms_block.anchor .cms_text ul li {
	padding-left: 0;
	font-weight: normal;
}
.csr .cms_block.anchor .cms_text ul li::before {
	content: none;
}
/* 見出し */
.csr .contentsPage h2 {
	margin-bottom: 35px !important;
	padding: 13px 20px 12px;
	border-bottom: none;
	background-color: #205da6;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .1em;
}
.csr .contentsPage h3 {
	position: relative;
	margin-bottom: 25px !important;
	padding: 13px 20px 12px;
	border-left: none;
	background-color: #eef3f5;
	color: #003e86;
	font-size: 1.8rem;
	font-weight: bold;
}
.csr .contentsPage h3::before {
	content: "";
	display: block;
	position: absolute;
	top: 29%;
	left: 0;
	width: 6px;
	height: 42%;
	background-color: #205da6;
}
.csr .contentsPage h4 {
	margin-bottom: 25px !important;
	font-size: 2rem;
	font-weight: bold;
}
.csr .contentsPage h5 {
	position: relative;
	margin-bottom: 20px !important;
	padding-left: 63px;
	background-color: #f5f5f5;
	font-size: 1.8rem;
	line-height: 44px;
	font-weight: bold;
}
.csr .contentsPage h5 span {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 56px;
	height: 44px;
	padding-left: 12px;
	background-color: #205da6;
	color: #fff;
	font-size: 2rem;
	line-height: 44px;
	clip-path: polygon(0 0, 100% 0%, 71.5% 100%, 0% 100%);
}
/* ボックス */
.cms_block.flexBox::after {
	content: none;
}
.bgBox {
	padding: 80px;
	border-radius: 16px;
	background-color: #f5f5f5;
}
/* テーブル */
.csr .cms_text table {
	width: 100%;
	border-collapse: separate;
	border: 1px solid #d3e0e6;
	border-radius: 8px;
}
.csr .cms_text table th,
.csr .cms_text table td {
	padding: 10px 15px;
}
.csr .cms_text table th {
	background-color: #eef3f5;
	color: #3b6375;
}
.csr .cms_text table td {
	border-left: 1px solid #d3e0e6;
}
.csr .cms_text table tr:not(:last-child) > th,
.csr .cms_text table tr:not(:last-child) > td {
	border-bottom: 1px solid #d3e0e6;
}
.csr .cms_text table tr:first-child > th {
	border-radius: 8px 0 0 0;
}
.csr .cms_text table tr:last-child > th {
	border-radius: 0 0 0 8px;
}
.csr .cms_text table tr:first-child > td {
	border-radius: 0 8px 0 0;
}
.csr .cms_text table tr:last-child > td {
	border-radius: 0 0 8px 0;
}
/* リスト */
.csr .cms_text ul {
	font-weight: bold;
	text-align: left;
}
.csr .cms_text ul li {
	position: relative;
	padding-left: 1em;
	text-indent: 0;
}
.csr .cms_text ul li::before {
	content: "●";
	position: absolute;
	top: .8em;
	left: 0;
	width: auto;
	height: auto;
	background: transparent;
	color: #003e86;
	font-size: 50%;
}
/* 数字リスト */
.csr .cms_text ol.bold {
	font-weight: bold;
}
/* 丸数字リスト */
.csr .cms_text.circle ol {
	list-style-type: none;
	padding-left: 0;
	font-weight: normal;
}
.csr .cms_text.circle ol li {
	counter-increment: cnt;
	position: relative;
	padding-left: 1.25em;
}
.csr .cms_text.circle ol > li::before {
	content: counter(cnt);
	position: absolute;
	top: .25em;
	left: 0;
	width: 16px;
	height: 16px;
	border: 1px solid #000;
	border-radius: 50%;
	font-size: 1.2rem;
	line-height: 16px;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.csr .cms_block {
		margin-bottom: 75px;
	}
	.csr .cms_block:last-child {
		margin-bottom: 0;
	}
	.csr .cms_block.wide {
		width: 100%;
	}
	.csr .cms_block .cms_text:not(:last-child) {
		margin-bottom: 50px;
	}
	.csr .cms_block.wide .cms_text {
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	/* ページ内リンク */
	.csr .anchor a:hover {
		opacity: .7;
	}
	.csr .cms_block.anchor .cms_text {
		display: flex;
		align-items: flex-start;
		column-gap: 1.5em;
	}
	.csr .cms_block.anchor .cms_text p {
		white-space: nowrap;
	}
	.csr .cms_block.anchor .cms_text + .cms_text {
		margin-top: -35px;
	}
	/* ボックス */
	.flexBox.div2 {
		display: flex;
		flex-flow: row wrap;
		gap: 30px;
	}
	.flexBox.div3 {
		display: flex;
		flex-flow: row wrap;
		gap: 16px;
	}
	.cms_block.flexBox::after {
		content: none;
	}
	.flexBox.div2 > * {
		width: calc((100% - 30px) / 2);
	}
	.flexBox.div3 > * {
		width: calc((100% - 32px) / 3);
	}
	.w1-3 {
		width: 282px;
	}
	.w2-3 {
		width: 580px;
	}
	/* テーブル */
	.csr .cms_text table th {
		width: 20%;
	}
	/* リスト横並び */
	.csr .cms_text.inline ul li {
		display: inline-block;
		margin-right: 2em;
	}
}
/* ------------------------------
 CSR活動下層（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.csr .heading {
		height: 150px;
		margin-bottom: 60px;
		background: url(../img/csr_heading_bg.jpg) no-repeat center 0 / 1152px 150px;
	}
	.csr .heading h1 {
		width: 100%;
		margin-bottom: 8px;
		padding: 0 5%;
		font-size: 2.4rem;
		letter-spacing: 0;
		font-feature-settings: "palt";
	}
	.csr .heading h1::after {
		content: "";
		display: block;
		width: 53px;
		height: 4px;
		margin: 8px auto 0;
		background: url(../../img/icon_decoration.svg) no-repeat center 0;
	}
	.csr .cms_block {
		margin-bottom: 55px;
	}
	.csr .cms_block:last-child {
		margin-bottom: 0;
	}
	.csr .cms_block.wide {
		width: 100%;
	}
	.csr .cms_block .cms_text:not(:last-child) {
		margin-bottom: 30px;
	}
	/* 見出し */
	.csr .contentsPage h2 {
		margin-bottom: 25px !important;
		padding: 11px 18px 10px;
		font-size: 1.8rem;
		line-height: 1.4;
	}
	.csr .contentsPage h3 {
		margin-bottom: 20px !important;
		padding: 11px 18px 10px;
		font-size: 1.6rem;
		line-height: 1.3;
	}
	.csr .contentsPage h3::before {
		top: 22%;
		width: 5px;
		height: 56%;
	}
	.csr .contentsPage h4 {
		margin-bottom: 20px !important;
		font-size: 1.8rem;
	}
	.csr .contentsPage h5 {
		position: relative;
		margin-bottom: 20px !important;
		padding-left: 63px;
		background-color: #f5f5f5;
		font-size: 1.6rem;
		line-height: 39px;
		font-weight: bold;
	}
	.csr .contentsPage h5 span {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 50px;
		height: 39px;
		padding-left: 10px;
		background-color: #205da6;
		color: #fff;
		font-size: 1.8rem;
		line-height: 39px;
		clip-path: polygon(0 0, 100% 0%, 71.5% 100%, 0% 100%);
	}
	/* ページ内リンク */
	.csr .anchor {
		margin-bottom: 60px;
		padding: 15px 20px;
		background-color: #f5f5f5;
	}
	.csr .anchor ul li:not(:last-child) {
		margin-bottom: 5px;
	}
	.csr .cms_block.anchor .cms_text p {
		margin-bottom: 5px;
	}
	.csr .cms_block.anchor .cms_text + .cms_text {
		margin-top: -15px;
	}
	/* ボックス */
	.flexBox.div2 > .cms_text,
	.flexBox.div2 > .cms_image,
	.flexBox.div3 > .cms_text,
	.flexBox.div3 > .cms_image {
		margin-bottom: 20px;
	}
	.flexBox.div2 > .cms_text:last-child,
	.flexBox.div2 > .cms_image:last-child,
	.flexBox.div3 > .cms_text:last-child,
	.flexBox.div3 > .cms_image:last-child {
		margin-bottom: 0;
	}
	.bgBox {
		padding: 20px;
	}
	/* テーブル */
	.csr .cms_text table th,
	.csr .cms_text table td {
		padding: 10px;
	}
	/* レスポンシブ */
	.csr .cms_text.res table th,
	.csr .cms_text.res table td {
		display: block;
		width: auto !important;
	}
	.csr .cms_text.res table th {
		border-bottom: 1px solid #d3e0e6;
	}
	.csr .cms_text.res table td {
		border-left: none;
	}
	.csr .cms_text.res table tr:first-child > th {
		border-radius: 8px 8px 0 0;
	}
	.csr .cms_text.res table tr:last-child > th {
		border-radius: 0;
	}
	.csr .cms_text.res table tr:first-child > td {
		border-radius: 0;
	}
	.csr .cms_text.res table tr:last-child > td {
		border-radius: 0 0 8px 8px;
	}
	/* リスト */
	.csr .cms_text ul li:not(:last-child),
	.csr .cms_text ol li:not(:last-child) {
		margin-bottom: 5px;
	}
}

/* ------------------------------
 資源循環　資源利用の取組（PC）
------------------------------ */
.resourceBox {
	padding: 32px 40px;
	border-radius: 16px;
	background-color: #fff;
	box-shadow: 5px 5px 20px 5px rgba(0,0,0,.1) ;
}
.csr .contentsPage .resourceBox h2 {
	margin-bottom: 20px;
	padding: 0;
	background: transparent;
	color: #003e86;
	text-align: center;
	letter-spacing: 0;
}
.resourceBox .cms_image {
	margin-bottom: 0;
}
.resourceBox .cms_image img {
	width: auto;
	height: 128px;
}
.resourceBox .cms_image .cms_caption_b {
	margin-top: 25px;
	font-size: 1.6rem;
	text-align: justify;
}
@media print, screen and (min-width: 768px) {
	.contentsPage:has(.resourceBox) {
		display: flex;
		flex-flow: row wrap;
		gap: 38px 30px;
	}
	.csr .cms_block.resourceBox {
		width: calc((100% - 30px) / 2);
		margin-bottom: 0;
	}
	.csr .contentsPage .resourceBox:first-of-type h2 {
		letter-spacing: -.01em;
	}
}
/* ------------------------------
 資源循環　資源利用の取組（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.resourceBox {
		padding: 22px 25px;
	}
	.csr .cms_block.resourceBox {
		margin-bottom: 30px;
	}
	.csr .cms_block.resourceBox:last-of-type {
		margin-bottom: 0;
	}
	.csr .contentsPage .resourceBox h2 {
		margin-bottom: 15px;
	}
	.csr .contentsPage .resourceBox h2 span {
		display: block;
	}
	.resourceBox .cms_image .cms_caption_b {
		margin-top: 15px;
	}
}

/* ------------------------------
 活動内容（PC）
------------------------------ */
.cms_block.activityBlock::after {
	content: none;
}
.activityBlock .cms_image {
	border-radius: 16px;
	background-color: #fff;
	box-shadow: 5px 5px 20px 5px rgba(0,0,0,.1) ;
}
.activityBlock .cms_image img {
	border-radius: 16px 16px 0 0;
}
.activityBlock .cms_image .cms_caption_b {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 24px;
	margin-top: 0;
	padding: 30px 32px 26px;
	text-align: left;
	font-size: 1.4rem;
	text-align: justify;
}
.activityBlock .cms_image .cms_caption_b img {
	width: 80px;
}
.activityBlock .cms_image .cms_caption_b h4 {
	margin-bottom: 10px !important;
	color: #003e86;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	.activityBlock {
		display: flex;
		flex-flow: row wrap;
		gap: 38px 30px;
	}
	.activityBlock .cms_image {
		width: calc((100% - 30px) / 2);
		margin-bottom: 0;
	}
}
/* ------------------------------
 活動内容（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.activityBlock .cms_image {
		margin-bottom: 30px;
	}
	.activityBlock .cms_image:last-child {
		margin-bottom: 0;
	}
	.activityBlock .cms_image .cms_caption_b {
		column-gap: 20px;
		padding: 24px 26px 20px;
	}
	.activityBlock .cms_image .cms_caption_b img {
		width: 64px;
	}
	.activityBlock .cms_image .cms_caption_b h4 {
		margin-bottom: 5px !important;
		font-size: 1.6rem;
	}
}

/* ------------------------------
 取り組み内容（PC）
------------------------------ */
.cms_block.initiativeBlock::after {
	content: none;
}
.initiativeBlock .cms_image {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 24px;
	padding: 30px 32px 26px;
	border-radius: 16px;
	background-color: #fff;
	box-shadow: 5px 5px 20px 5px rgba(0,0,0,.1) ;
}
.initiativeBlock .cms_image img {
	width: 80px;
}
.initiativeBlock .cms_image .cms_caption_b {
	margin-top: 0;
	font-size: 1.4rem;
	text-align: justify;
}
.initiativeBlock .cms_image .cms_caption_b h4 {
	margin-bottom: 10px !important;
	color: #003e86;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: -.01em;
}
@media print, screen and (min-width: 768px) {
	.initiativeBlock {
		display: flex;
		flex-flow: row wrap;
		gap: 25px 30px;
	}
	.initiativeBlock .cms_image {
		width: calc((100% - 30px) / 2);
		margin-bottom: 0;
	}
}
/* ------------------------------
 取り組み内容（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.initiativeBlock .cms_image {
		column-gap: 20px;
		padding: 24px 26px 20px;
	}
	.initiativeBlock .cms_image img {
		width: 64px;
	}
	.initiativeBlock .cms_image {
		margin-bottom: 20px;
	}
	.initiativeBlock .cms_image:last-child {
		margin-bottom: 0;
	}
	.initiativeBlock .cms_image .cms_caption_b h4 {
		margin-bottom: 5px !important;
		font-size: 1.6rem;
	}
}

/* ------------------------------
 地球温暖化防止　脱炭素活動（PC）
------------------------------ */
.solarBox .cms_caption_b {
	text-align: left;
}
.contents .solarBox table {
	border-collapse: separate;
	border: 1px solid #d3e0e6;
	border-radius: 8px;
}
.contents .solarBox table th {
	width: 120px;
	padding: 13px 10px 13px 13px;
	background-color: #eef3f5;
	color: #3b6375;
	font-weight: normal;
	text-align: left;
}
.contents .solarBox table tr:not(:last-child) > th {
	border-bottom: 1px solid #d3e0e6;
}
.contents .solarBox table td {
	padding: 13px 10px 13px 13px;
	border-left: 1px solid #d3e0e6;
}
.contents .solarBox table tr:not(:last-child) > td {
	border-bottom: 1px solid #d3e0e6;
}
.contents  .solarBox table:not(:has(thead)) tr:first-child > th {
	border-radius: 8px 0 0 0;
}
.contents .solarBox table tbody tr:last-child > th {
	border-radius: 0 0 0 8px;
}
.cms_block.flexBox.div2 .cms_text:has(h5) img {
	margin-bottom: 15px;
}
.cms_block.flexBox.div2 .cms_text:has(h5) ul {
	margin-top: 10px;
}
@media print, screen and (min-width: 768px) {
	.cms_block.flexBox.div2:has(h5) {
		gap: 50px 30px;
	}
	.cms_block.flexBox.div2 .cms_text:has(h5) {
		margin-bottom: 0;
	}
}
/* ------------------------------
 地球温暖化防止　脱炭素活動（PC）
------------------------------ */
@media screen and (max-width: 767px) {
	.flexBox.div3.solarBox > .cms_image {
        margin-bottom: 30px;
    }
}