/* sass */
/* layout */

.tbl-esg2{
	width: 100%;
	margin: auto;
	border-collapse: separate;
	border-spacing: 0;
	empty-cells: show;
	border: #ccc 2px solid;
	padding: 18px;
}
.tbl-esg2 td:nth-child(1){
	width: 58%;
}
.tbl-esg2 td:nth-child(2){
	width: 10%;
}
.tbl-esg2 td:nth-child(3){
	width: 32%;
}

.content-body .content-body-main .sustainability-policy .hdr-policy{
	background: #9dc814;
	color: #ffffff;
	font-size: 1.8rem;
	text-align: center;
}
.content-body .content-body-main .sustainability-policy .parent{
	padding: 1.0rem;
	background: #ffffff;
	border: solid 1px #9dc814;
}
.content-body .content-body-main .sustainability-policy .txt-esg-st{
	margin-right: 0px;
	margin-left: 2.0rem;
	width: 76%;
}
.content-body .content-body-main .sustainability-policy .child{
	width: 70rem;
	margin: 0 0 0 auto;
	padding: 2.0rem 0 0 3.0rem;
	border-left: solid 1px #9dc814;
}
.content-body .content-body-main .sustainability-policy .child:last-child{
	border-left: none;
}
.content-body .content-body-main .sustainability-policy .child .hdr-policy{
	position: relative;
}
.content-body .content-body-main .sustainability-policy .child .hdr-policy a:link,
.content-body .content-body-main .sustainability-policy .child .hdr-policy a:visited{
	color: #ffffff;
}
.content-body .content-body-main .sustainability-policy .child .hdr-policy::before{
	content: "";
	position: absolute;
	top: 50%;
	left: -3.0rem;
	width: 3.0rem;
	height: 1px;
	background: #9dc814;
}
.content-body .content-body-main .sustainability-policy .child:last-child .hdr-policy::after{
	content: "";
	position: absolute;
	top: -3.5rem;
	right: 69.9rem;
	width: 1px;
	height: 5.0rem;
	background: #9dc814;
	z-index: -1;
}
.content-body .content-body-main .sustainability-policy .child .txt-st{
	margin-top: 10px;
}
.content-body .content-body-main .sustainability-policy .child .list-link01 li a{
	word-break: break-all;
}
.content-body .content-body-main .tbl-sustainability th,
.content-body .content-body-main .tbl-sustainability td{
	padding: 10px;
	border-top: solid 10px #ffffff;
}
.content-body .content-body-main .tbl-sustainability th{
	background: #e3eff5;
	/*white-space: nowrap;*/
	text-align: center;
}

.content-body .content-body-main .tbl-sustainability.flow th{
	position: relative;
}
.content-body .content-body-main .tbl-sustainability.flow th::before{
	content: "";
	position: absolute;
	bottom: -0.5rem;
	left: calc(50% - 1.3rem);
	width: 2.6rem;
	height: 1.5rem;
	background: #426273;
	z-index: 1;
}
.content-body .content-body-main .tbl-sustainability.flow th::after{
	content: "";
	position: absolute;
	bottom: -3.5rem;
	left: calc(50% - 2.0rem);
	border-top: 1.5rem solid #426273;
	border-right: 2.0rem solid transparent;
	border-bottom: 1.5rem solid transparent;
	border-left: 2.0rem solid transparent;
	z-index: 1;
}
.content-body .content-body-main .tbl-sustainability.flow tr:last-child th::before,
.content-body .content-body-main .tbl-sustainability.flow tr:last-child th::after{
	content: none;
}

.content-body .content-body-main .citation{
	padding: 1.0rem;
	border: solid 1px #426273;
}
.content-body .content-body-main .citation .ttl{
	color: #426273;
	font-weight: bold;
}

table.font-s{
	font-size: 75%;
}
.content-body .content-body-main .tbl-type03.tbl-diversity tbody th{
	background: none;
	color: #333;
	font-weight: normal;
}
.content-body .content-body-main .tbl-type03.tbl-diversity tr.total th,
.content-body .content-body-main .tbl-type03.tbl-diversity tr.total td{
	background: #e3eff5;
	font-weight: normal;
}

.content-body .content-body-main .esg-block{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 1.0rem;
}
.content-body .content-body-main .esg-block > div{
	flex: 1;
	padding: 1.0rem;
	border: solid 1px #426273;
}
.content-body .content-body-main .esg-block > div .hdr-esg{
	margin-top: 0;
}

.content-body .content-body-main .tbl-materiality th,
.content-body .content-body-main .tbl-materiality td{
	padding: 8px;
	word-break: break-all!important;
}

.content-body .content-body-main .tbl-materiality .upright{
	writing-mode: sideways-lr;
	text-orientation: upright;
	text-align: center;
	font-weight: bold;
}
.content-body .content-body-main .tbl-materiality .bg-business1{ background: #425e6b; color: #fff; }
.content-body .content-body-main .tbl-materiality .bg-business2{ background: #6c9ab0; color: #fff; }
.content-body .content-body-main .tbl-materiality .bg-management1{ background: #f6ad3b; color: #333; }
.content-body .content-body-main .tbl-materiality .bg-management2{ background: #fcd7a1; font-weight: bold; }

.content-body .content-body-main .tbl-materiality .box-business{
	padding: 1.0rem 0.5rem;
	background: #fff;
	border: solid 2px #63800c;
	border-radius: 0.5rem;
	text-align: center;
	font-weight: bold;
}
.content-body .content-body-main .tbl-materiality .box-business > div:first-child{
	position: relative;
	margin-bottom: 2.0rem;
}
.content-body .content-body-main .tbl-materiality .box-business > div:first-child::after{
	content: "";
	position: absolute;
	top: calc(100% + 0.5rem);
	left: calc(50%);
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-top: 10px solid #63800c;
	border-bottom: 0;
}
.content-body .content-body-main .tbl-materiality .box-business > div:last-child{
	position: relative;
	color: #63800c;
}

.content-body .content-body-main .tbl-materiality .box-management{
	padding: 1.0rem 0.5rem;
	background: #fff;
	border: solid 2px #ed6d34;
	border-radius: 0.5rem;
}
.content-body .content-body-main .tbl-materiality .box-management > div{
	padding: 0.5rem 0;
	border-bottom: dashed 1px #ed6d34;
}
.content-body .content-body-main .tbl-materiality .box-management > div:last-child{
	border-bottom: none;
}

.content-body .content-body-main .tbl-type03.tbl-data thead th{
	word-break: break-all!important;
}
.content-body .content-body-main .tbl-type03.tbl-data tbody th{
	background: none;
	color: #333;
	font-weight: normal;
	word-break: break-all!important;
}
.content-body .content-body-main .tbl-type03.tbl-data tbody th.bld{
	font-weight: bold;
}

.content-body .content-body-main .heatmap1{ background: #d3edfb; }
.content-body .content-body-main .heatmap1::first-letter{ font-weight: bold; color: #0055a2; }
.content-body .content-body-main .heatmap2{ background: #eef4d9; }
.content-body .content-body-main .heatmap2::first-letter{ font-weight: bold; color: #9cc813;}
.content-body .content-body-main .heatmap3{ background: #fbded6; }
.content-body .content-body-main .heatmap3::first-letter{ font-weight: bold; color: #e83344; }

.content-body .content-body-main .heatmap-degree{
	display: flex;
	align-items: stretch;
	gap: 0.5rem;
}
.content-body .content-body-main .heatmap-degree > div{
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.8;
}
.content-body .content-body-main .heatmap-degree .degree1,
.content-body .content-body-main .heatmap-degree .degree2{
	padding: 1.0rem 0;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 1.4rem;
}
.content-body .content-body-main .heatmap-degree .degree1{
	background: #c9c9ca;
}
.content-body .content-body-main .heatmap-degree .degree2{
	background: #bdddee;
}
.content-body .content-body-main .heatmap-degree .degree-vh{
	display: inline-block;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0.3rem 0 0 0;
	background: #00784f;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}
.content-body .content-body-main .heatmap-degree .degree-h{
	display: inline-block;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0.3rem 0 0 0;
	background: #07a33e;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}

.content-body .content-body-main .hdr-type03 .hdr-link{
	text-decoration: none;
}
.content-body .content-body-main .revitalization-block{
	display: flex;
	justify-content: space-between;
	gap: 1.0rem;
}
.content-body .content-body-main .revitalization-block > div{
	width: calc(50% - 1.5rem);
}

.content-body .content-body-main .diversity-block{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1.0rem;
}
.content-body .content-body-main .diversity-block > div{
	width: calc(50% - 1.5rem);
}
.content-body .content-body-main .tbl-type03.tbl-diversity thead th{
	word-break: break-all!important;
}
.content-body .content-body-main .tbl-type01.tbl-diversity-b tbody th{
	background: #e3eff5;
	word-break: break-all!important;
}
.content-body .content-body-main .digital-block{
	position: relative;
	margin-bottom: 5.0rem;
	padding: 2.0rem;
	background: #e6f2d3;
}
.content-body .content-body-main .digital-block::after{
	content: "";
	position: absolute;
	display: inline-block;
	top: calc(100% + 1.0rem);
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(0 5%, 1% 0, 50% 50%, 99% 0, 100% 5%, 50% 57%, 0 5%);
	width: 40%;
	height: 5.5rem;
	background-color: #c4e1ed;
}
.content-body .content-body-main .digital-block .digital-txt-block{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2.0rem;
}
.content-body .content-body-main .digital-block .digital-txt-block > div{
	width: calc((100% - 2.0rem) / 2);
	padding: 1.5rem;
	background: #8dcc25;
}
.content-body .content-body-main .digital-block .digital-txt-block .digital-ttl{
	background: #fff;
	padding: 0.5rem 1.0rem;
}
.content-body .content-body-main .digital-block .digital-img-block{
	position: relative;
	display: flex;
	justify-content: center;
	gap: 2.0rem;
	margin-top: 5.0rem;
	text-align: center;
	font-size: 1.4rem;
}
.content-body .content-body-main .digital-block .digital-img-block > div{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc((100% - 4.0rem) / 3);
}
.content-body .content-body-main .digital-block .digital-img-block > div::before{
	content: "";
	position: absolute;
	left: 50%;
	top: -3.5rem;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-left: 2.0rem solid transparent;
	border-right: 2.0rem solid transparent;
	border-top: 2.0rem solid #8dcc25;
	border-bottom: 0;
}
.content-body .content-body-main .digital-block2{
	display: flex;
	gap: 3.0rem;
}
.content-body .content-body-main .digital-block2 > div{
	flex: 1;
}
.content-body .eng-col01 {
	color: #c00;
	text-decoration: underline;
}
.content-body .content-body-main .tbl-digital th{
	word-break: break-all!important;
}
.content-body .content-body-main .tbl-digital .bg-category1{ background: #bdddee; color: #333; }
.content-body .content-body-main .tbl-digital .bg-category2{ background: #fbd28b; color: #333; }
.content-body .content-body-main .tbl-digital .bg-category3{ background: #d2e498; color: #333; }

.content-body .content-body-main .digital-tab{
	font-size: 0;
}

/* news release */
.content-body .list-news-tab.digital-tab{
	display: flex;
	align-items: stretch;
}
.content-body .list-news-tab.digital-tab li{
	display: flex;
	height: 4.5rem;
}
.content-body .list-news-tab.digital-tab li a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	padding: 0;
}
.content-body .list-news .irp-item{
	display: flex;
	gap: 1.0rem;
}
dt.irp-date{
	float: none!important;
	flex-shrink: 0;
	width: 120px;
}
dd.irp-mebuki{
	display: inline-block;
	flex-shrink: 0;
	width: 8em;
	height: 1.8rem;
	padding: 3px 1px!important;
	border: #4279b5 1px solid;
	color: #4279b5;
	text-align: center;
	font-size: 1.0rem!important;
	font-weight: bold;
	line-height: 1;
}
dd.irp-joyo{
	display: inline-block;
	flex-shrink: 0;
	width: 8em;
	height: 1.8rem;
	padding: 3px 1px!important;
	border: #427f51 1px solid;
	color: #427f51;
	text-align: center;
	font-size: 1.0rem!important;
	font-weight: bold;
	line-height: 1;
}
dd.irp-ashikaga{
	display: inline-block;
	flex-shrink: 0;
	width: 8em;
	height: 1.8rem;
	padding: 3px 1px!important;
	border: #bd5931 1px solid;
	color: #bd5931;
	text-align: center;
	font-size: 1.0rem!important;
	font-weight: bold;
	line-height: 1;
}
dt.irp-date span:after{
	margin-left:5px;
}
#irp-imp-top dd.irp-title-block{
	padding: 5px 0 0 2em;
	flex: 1;
}
#irp-imp-top dd:before{
	background-size: 16px 15px;
}
#irp-imp-top span.irp-item.newsCol:first-child{
	padding-top: 10px;
}
#irp-imp-top{
	padding:0 10px;
	box-sizing:border-box;
}

span.irp-icon.irp-icon-pdf{
	background-image: url(/common/image/icon_pdf.png);
	background-repeat: no-repeat;
	width: 17px;
	height: 20px;
	display: inline-block;
	background-size: 100%;
	margin: 0 5px;
	vertical-align: bottom;
}
#irp-news-top .irp-icon.irp-icon-pdf{
	margin: 0 5px 0 0;
}
a.iconlink{
	text-decoration: none;
}

/* layout_sp */
@media screen and (max-width: 767px){
	/* 2023.6追加 */
	.tbl-esg2{
		width: 100%;
		margin: auto;
		border-collapse: separate;
		border-spacing: 0;
		empty-cells: show;
		border: #ccc 2px solid;
    	padding: 18px;
	}
	.tbl-esg2 td{
		display: block;
		width: 100% !important;
	}
	.tbl-esg2 td:nth-child(2){
		padding: 20px 0;
	}
	/* 2023.6追加end */

	.content-body .content-body-main .sustainability-policy .hdr-policy{
		background: #9dc814;
		color: #ffffff;
		font-size: 1.5rem;
		text-align: center;
	}
	.content-body .content-body-main .sustainability-policy .txt-esg-st{
		margin-right: 0px;
		margin-left: 0px;
		width: 100%;
	}
	.content-body .content-body-main .sustainability-policy .child{
		width: calc(100% - 2.0rem);
		margin: 0 0 0 auto;
		padding: 2.0rem 0 0 2.0rem;
		border-left: solid 1px #9dc814;
	}
	.content-body .content-body-main .sustainability-policy .child .hdr-policy::before{
		content: "";
		position: absolute;
		top: 50%;
		left: -2.0rem;
		width: 2.0rem;
		height: 1px;
		background: #9dc814;
	}
	.content-body .content-body-main .sustainability-policy .child:last-child .hdr-policy::after{
		content: "";
		position: absolute;
		top: -3.8rem;
		right: auto;
		left: -2.0rem;
		width: 1px;
		height: 5.0rem;
		background: #9dc814;
		z-index: -1;
	}

	.content-body .content-body-main .tbl-sustainability th.sp-normal{
		white-space: normal;
	}

	.content-body .content-body-main .outline{
		width: 100%;
	}
	.content-body .content-body-main .outline tr th:nth-child(2),
	.content-body .content-body-main .outline tr th:nth-child(3),
	.content-body .content-body-main .outline tr td:nth-child(2),
	.content-body .content-body-main .outline tr td:nth-child(3){
		display: none;
	}
	.content-body .content-body-main .outline tr th,
	.content-body .content-body-main .outline tr td{
		width: 50%;
	}

	.content-body .content-body-main .esg-block{
		display: flex;
		flex-direction: column;
		gap: 1.0rem;
	}
	.content-body .content-body-main .esg-block > div{
		padding: 1.0rem;
		border: solid 1px #426273;
	}
	.content-body .content-body-main .esg-block > div .hdr-esg{
		margin-top: 0;
	}

	.content-body .content-body-main .tbl-materiality th,
	.content-body .content-body-main .tbl-materiality td{
		padding: 8px;
	}

	.content-body .content-body-main .tbl-materiality .upright{
		writing-mode: vertical-rl;
		text-orientation: upright;
		text-align: center;
		font-weight: bold;
	}
	.content-body .content-body-main .tbl-materiality .bg-business1{ background: #425e6b; color: #fff; }
	.content-body .content-body-main .tbl-materiality .bg-business2{ background: #6c9ab0; color: #fff; }
	.content-body .content-body-main .tbl-materiality .bg-management1{ background: #f6ad3b; color: #333; }
	.content-body .content-body-main .tbl-materiality .bg-management2{ background: #fcd7a1; font-weight: bold; }

	.content-body .content-body-main .tbl-materiality .box-business{
		padding: 1.0rem 0.5rem;
		background: #fff;
		border: solid 2px #63800c;
		border-radius: 0.5rem;
		text-align: center;
		font-weight: bold;
	}
	.content-body .content-body-main .tbl-materiality .box-business > div:first-child{
		position: relative;
		margin-bottom: 2.0rem;
	}
	.content-body .content-body-main .tbl-materiality .box-business > div:first-child::after{
		content: "";
		position: absolute;
		top: calc(100% + 0.5rem);
		left: calc(50%);
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 10px solid transparent;
		border-left: 10px solid transparent;
		border-top: 10px solid #63800c;
		border-bottom: 0;
	}
	.content-body .content-body-main .tbl-materiality .box-business > div:last-child{
		position: relative;
		color: #63800c;
	}
	.content-body .content-body-main .tbl-materiality .box-management{
		padding: 1.0rem 0.5rem;
		background: #fff;
		border: solid 2px #ed6d34;
		border-radius: 0.5rem;
	}
	.content-body .content-body-main .tbl-materiality .box-management > div{
		padding: 0.5rem 0;
		border-bottom: dashed 1px #ed6d34;
	}
	.content-body .content-body-main .tbl-materiality .box-management > div:last-child{
		border-bottom: none;
	}
	
	.content-body .content-body-main .tbl-type03.tbl-data tbody th{
		background: none;
		color: #333;
		font-weight: normal;
	}
	.content-body .content-body-main .tbl-type03.tbl-data tbody th.bld{
		font-weight: bold;
	}

	.content-body .content-body-main .heatmap1{ background: #d3edfb; }
	.content-body .content-body-main .heatmap1::first-letter{ font-weight: bold; color: #0055a2; }
	.content-body .content-body-main .heatmap2{ background: #eef4d9; }
	.content-body .content-body-main .heatmap2::first-letter{ font-weight: bold; color: #9cc813;}
	.content-body .content-body-main .heatmap3{ background: #fbded6; }
	.content-body .content-body-main .heatmap3::first-letter{ font-weight: bold; color: #e83344; }

	.content-body .content-body-main .heatmap-degree{
		display: flex;
		align-items: stretch;
		gap: 0.5rem;
	}
	.content-body .content-body-main .heatmap-degree > div{
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1.8;
	}
	.content-body .content-body-main .heatmap-degree .degree1,
	.content-body .content-body-main .heatmap-degree .degree2{
		padding: 1.0rem 0;
		writing-mode: vertical-rl;
		text-orientation: upright;
		font-size: 1.4rem;
	}
	.content-body .content-body-main .heatmap-degree .degree1{
		background: #c9c9ca;
	}
	.content-body .content-body-main .heatmap-degree .degree2{
		background: #bdddee;
	}
	.content-body .content-body-main .heatmap-degree .degree-vh{
		display: inline-block;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0.3rem 0 0 0;
		background: #00784f;
		color: #fff;
		text-align: center;
		font-size: 1.2rem;
	}
	.content-body .content-body-main .heatmap-degree .degree-h{
		display: inline-block;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0.3rem 0 0 0;
		background: #07a33e;
		color: #fff;
		text-align: center;
		font-size: 1.2rem;
	}
	
	.content-body .content-body-main .hdr-type03 .hdr-link{
		text-decoration: none;
	}
	.content-body .content-body-main .revitalization-block{
		display: flex;
		justify-content: space-between;
		gap: 1.0rem;
	}
	.content-body .content-body-main .revitalization-block > div{
		width: calc(50% - 1.5rem);
	}

	.content-body .content-body-main .diversity-block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.content-body .content-body-main .diversity-block > div{
		width: 100%;
	}

	.content-body .content-body-main .tbl-type01.tbl-diversity-b tbody th{
		background: #e3eff5;
	}

	.content-body .content-body-main .digital-block{
		position: relative;
		margin-bottom: 5.0rem;
		padding: 1.5rem 1.0rem;
		background: #e6f2d3;
	}
	.content-body .content-body-main .digital-block::after{
		content: "";
		position: absolute;
		display: inline-block;
		top: calc(100% + 1.0rem);
		left: 50%;
		transform: translateX(-50%);
		clip-path: polygon(0 5%, 1% 0, 50% 50%, 99% 0, 100% 5%, 50% 57%, 0 5%);
		width: 40%;
		height: 5.5rem;
		background-color: #c4e1ed;
	}
	.content-body .content-body-main .digital-block .digital-txt-block{
		display: flex;
		justify-content: center;
		gap: 1.5rem;
	}
	.content-body .content-body-main .digital-block .digital-txt-block > div{
		width: calc((100% - 2.0rem) / 2);
		padding: 1.5rem 1.0rem;
		background: #8dcc25;
	}
	.content-body .content-body-main .digital-block .digital-txt-block .digital-ttl{
		background: #fff;
		padding: 0.5rem 0.7rem;
	}
	.content-body .content-body-main .digital-block .digital-img-block{
		position: relative;
		display: flex;
		justify-content: center;
		gap: 1.5rem;
		margin-top: 4.0rem;
		text-align: center;
		font-size: 1.4rem;
	}
	.content-body .content-body-main .digital-block .digital-img-block > div{
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: calc((100% - 4.0rem) / 3);
	}
	.content-body .content-body-main .digital-block .digital-img-block > div::before{
		content: "";
		position: absolute;
		left: 50%;
		top: -2.5rem;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-left: 1.5rem solid transparent;
		border-right: 1.5rem solid transparent;
		border-top: 1.5rem solid #8dcc25;
		border-bottom: 0;
	}
	.content-body .content-body-main .digital-block2{
		display: flex;
		flex-direction: column;
		gap: 2.0rem;
	}
	.content-body .content-body-main .digital-block2 > div{
		flex: 1;
	}
	.content-body .content-body-main .tbl-digital .bg-category1{ background: #bdddee; color: #333; }
	.content-body .content-body-main .tbl-digital .bg-category2{ background: #fbd28b; color: #333; }
	.content-body .content-body-main .tbl-digital .bg-category3{ background: #d2e498; color: #333; }
	
	.content-body .content-body-main .digital-tab{
		font-size: 0;
	}

	/* news release */
	.content-body .list-news .irp-item{
		display: block;
		flex-wrap: wrap;
		gap: 0 0.5rem;
	}
	dt.irp-date{
		display: inline-block;
		width: auto;
	}
	dd.irp-mebuki,
	dd.irp-joyo,
	dd.irp-ashikaga{
		display: inline-block;
		margin-top: 1.6rem!important;
	}
	#irp-imp-top dd.irp-title-block{
		padding: 5px 0 0 2em;
		width: 100%;
	}
}
