/* default
-------------------------------------------------------------*/

/* common */

main table.default-table {
	border-collapse: collapse;
}
main table.default-table thead th {
	font-size: 14px;
}
main table.default-table thead th:first-child {
	border-left: solid 1px var(--textGray);
}
main table.default-table thead th:last-child {
	border-right: solid 1px var(--textGray);
}
main table.default-table tbody th {
	background: var(--bgGray_05);
}

main .border {
	border: solid 1px #ccc;
}
main figure img {
	width: 100%;
}
main figcaption {
	margin-top: 0.5em;
	line-height: 1.5;
}
main .flex_end {
	display: flex;
	justify-content: flex-end; 
}

main p.img {
	margin: 0 auto 32px;
}
main p.img img {
	width: 100%;
}
main p.copy {
	margin-bottom: 32px;
	font-size: 20px;
	font-weight: 700;
	line-height: 32px;
}

main ul.aster li {
	position: relative;
	padding-left: 1em;
	line-height: 1.6;
	font-size: 13px;
}
main ul.aster li::before {
	content: '*';
	position: absolute;
	top: 0;
	left: 0;
}
main .num_sym {
	padding-left: 0;
}
main .num_sym li {
	position: relative;
	padding-left: 2.2em;
}
main .num_sym.digi_2 li {
	position: relative;
	padding-left: 2.6em;
}
main .num_sym li span {
	position: absolute;
	top: 0;
	left: 0;
}
main dl.name {
	margin-top: 32px;
}
main dl.name div {
	display: flex;
	justify-content: flex-end; 
	font-size: 16px;
	font-weight: 700;
	line-height: 32px;
	text-align: right;
}
main dl.name dd {
	margin-left: 1em;
}

main .column-type-3-inner {
	padding: 0 6%;
}
main .column-type-3:before, .column-type-3:after {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.1;
	background-size: 100% auto;
}

/* materiality */

main.materiality table.TB01 dt {
	font-weight: 700;
}
main.materiality table.TB01 ul.sdgs {
	display: flex;
	flex-wrap: wrap;
	width: 150px;
	gap: 10px;
	margin: 0 auto;
}
main.materiality table.TB01 ul.sdgs li {
	width: 70px;
}
main.materiality table.TB02 tbody th {
	font-weight: 700;
	border-right: solid 1px #b3b3b3;
}
main.materiality dl.DL01 {
	margin: 24px 0 60px;
}
main.materiality dl.DL01 div {
	display: flex;
	margin-bottom: 30px;
	background: var(--bgGray_05);
	font-weight: 700;
	border-radius: 0 12px 12px 0;
}
main.materiality dl.DL01 dt,
main.materiality dl.DL01 dd {
	padding: 1.2em;
}
main.materiality dl.DL01 dt {
	position: relative;
	background: var(--primary);
	color: #fff;
	white-space: nowrap;
}
main.materiality dl.DL01 dt::after {
	content: '';
	position: absolute;
	bottom: -29px;
	left: 0;
	width: 100px;
	height: 100px;
	background: var(--primary);
	height: calc(tan(60deg) * 34px / 2);
	width: 100%;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* business */

main.business h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 80px 0 16px;
	font-size: 24px;
	font-weight: 700;
	color: var(--textRed);
}
main.business h2 + p {
	margin: 0 0 32px;
	font-size: 24px;
	font-weight: 700;
}

main.business table.default-table th {
	white-space: nowrap;
}
main.business table.default-table td {
	white-space: normal !important;
}

main.business img + figcaption {
	margin-top: 16px;
	line-height: 1.54;
}
main.business img + figcaption {
	margin-top: 16px;
	line-height: 1.54;
}

/* environment_management */

main.environment_management h3.h3-basic {
	margin-bottom: 32px;
}
main.environment_management table.TB01 {
	min-width: 100%;
}
main.environment_management table.TB01 thead th {
	text-align: center;
}

main.environment_management table.TB01 tr.header th {
	padding: 8px 16px;
	border-right: 1px solid #fff;
	background: var(--textGray);
	text-align: center;
	font-weight: 500;
	font-size: 14px;
	color: #fff;
}
main.environment_management table.TB01 tr.header th:first-child {
	border-left: 1px solid var(--textGray);
}
main.environment_management table.TB01 tr.header th:last-child {
	border-right: 1px solid var(--textGray);
}


main.environment_management table.TB01 td {
	text-align: right;
}
main.environment_management table.TB02 td {
	text-align: center;
}

/* environment_management_climate_change */

main.environment_management_climate_change table.TB01 th,
main.environment_management_climate_change table.TB01 th + td {
	text-align: center;
	vertical-align: middle;
}

main.environment_management_climate_change table.TB01 td {
	vertical-align: middle;
}

main.environment_management_climate_change table.TB01 th.TH01 {
	border-right: solid 1px #fff;
}
main.environment_management_climate_change table.TB01 td ul {
	width: 16em;
	white-space: normal;
}
main.environment_management_climate_change table.TB01 td:last-child {
	white-space: normal;
}
main.environment_management_climate_change table.TB01 span.vert {
	writing-mode: vertical-rl;
}
main.environment_management_climate_change table.TB01 td img {
	display: block;
	margin: 0 auto;
}


main.environment_management_climate_change div.table-scroll-wrap.TB02 {
	overflow-y: hidden !important;
}
main.environment_management_climate_change div.table-scroll-wrap.TB02 th,
main.environment_management_climate_change div.table-scroll-wrap.TB02 td {
	text-align: center;
}
main.environment_management_climate_change ul.UL01 li {
	position: relative;
	padding: 1em;
	text-align: center;
	background: var(--bgGray_05);
	font-weight: 700;
	border-radius: 12px;
}
main.environment_management_climate_change ul.UL01 li.arrow {
	padding: 0;
	background: none;
	font-weight: 700;
	font-size: 32px;
}

main.environment_management_climate_change p a.text-link.position-y-adjust {
	display: inline;
}

/* environment_plan */

main.environment_plan table.TB01 thead th {
	text-align: center;
}
main.environment_plan table.TB01 tbody th {
	border-right:solid 1px #fff !important;
}

/* environment_grow */

main.environment_grow table.TB01 th {
	vertical-align: middle;
	white-space: nowrap;
}

/* environment_eco_products */

main.environment_eco_products table.TB01 th,
main.environment_eco_products table.TB01 td {
	padding: 0.5em 1em;
	vertical-align: middle;
}
main.environment_eco_products table.TB01 th {
	text-align: center;
}

main.environment_eco_products h4 + div.table-scroll-wrap table th {
	text-align: center;
	vertical-align: middle;
}
main.environment_eco_products h4 + div.table-scroll-wrap table td:nth-child(2) {
	text-align: center;
}
main.environment_eco_products h4 + div.table-scroll-wrap table td:nth-child(4),
main.environment_eco_products h4 + div.table-scroll-wrap table td:nth-child(5) {
	text-align: right;
}

/* environment_biodiversity */

main.environment_biodiversity figure img {
	width: 100%;
}

main.environment_biodiversity figure img + img {
	margin-top: 10px;
}

/* social_partnership */

main.social_partnership ol.ordered-list li {
	margin-bottom: 8px;
	font-weight: 700;
}
main.social_partnership ol.ordered-list dd {
	font-weight: 400;
}

/* social_contribution_area */

main.social_contribution_area table.default-table th {
	white-space: nowrap;
	font-weight: 700;
}

/* social_contribution_industry */

main.social_contribution_industry table.default-table th:last-child {
	border-right: solid 1px var(--gray_02);
}

/* social_employees */

main.social_employees table.default-table td,
main.social_employees table.default-table th {
	vertical-align: middle;
}

main.social_employees div.table-scroll-wrap {
	overflow-y: hidden !important;
}

/* social_human_rights */
main.social_human_rights table.default-table th {
    font-weight: 500;
    background: #767676 !important;
    color: #fff;
	min-width: 118px;
	vertical-align: middle;
}
@media (max-width: 768px) {
	main.social_human_rights .mobile-br {
		display: block;
		width: 0;
		height: 0;
	}
}



/* social_human_capital */

main.social_human_capital table.default-table td,
main.social_human_capital table.default-table th {
	vertical-align: middle;
}

/* social_healthmanagement */

main.social_healthmanagement table.TB02 {
	width: 100%;
}
main.social_healthmanagement table.TB02 th,
main.social_healthmanagement table.TB02 td:nth-child(1) {
	white-space: nowrap;
}
main.social_healthmanagement table.TB02 td:nth-child(1) strong {
	display: inline;
}
main.social_healthmanagement table.TB02 td:nth-child(3),
main.social_healthmanagement table.TB02 td:nth-child(4) {
	text-align: right;
}

/* social_training */

main.social_training div.table-scroll-wrap {
	overflow-y: hidden !important;
}

/* gri */

main.gri table.default-table thead th {
	vertical-align: middle;
}

main.gri table.default-table thead th:nth-child(1),
main.gri table.default-table tbody td:nth-child(1) {
	width: 9em;
}
main.gri table.default-table thead th:nth-child(3),
main.gri table.default-table tbody td:nth-child(3) {
	width: 9em;
}

/* esg */

main.esg div.table-scroll-wrap {
	overflow-y: hidden !important;
}
main.esg table.default-table {
	width: 100% !important;
}
main.esg table.default-table th,
main.esg table.default-table td {
	padding-left: 6px;
	padding-right: 6px;
	vertical-align: middle;
	word-break: normal; 
}
main.esg table.default-table th {
	text-align: center;
}
main.esg table.default-table th.index {
	text-align: left;
}

main.esg table.default-table td {
	text-align: right;
}
main.esg table.default-table th.nowrap,
main.esg table.default-table td.nowrap {
	white-space: nowrap;
}

main.esg table.default-table tbody.td_left td {
	text-align: left;
}
main.esg table.default-table tbody.board th {
	text-align: left;
	white-space: nowrap !important;
}
main.esg table.default-table th.b_r_w {
	border-right: solid 1px #fff;
}
main.esg table.default-table tbody.board td {
	text-align: center;
}
main.esg table.default-table tbody.env_data_co2 th {
	white-space: nowrap !important;
}
main.esg table.default-table tfoot {
	display: none;
}

main.esg table.default-table tbody tr.sum th,
main.esg table.default-table tbody tr.sum td {
	font-weight: bold;
}

main.esg a.underline {
	text-decoration: underline;
}


main.esg .num_sym li {
	padding-left: 1.8em;
}


/* debug */

/* 
main.esg table.default-table th,
main.esg table.default-table td {
	padding: 1px !important;
	font-size: 12px !important;
}
 */


/* pc
-------------------------------------------------------------*/

@media print,screen and (min-width: 768px) {

	main .sp {
		display: none !important;
	}

	main .img_right,
	main .img_left {
		display: flex;
		gap: 30px;
	}
	main .img_left {
		flex-direction: row-reverse;
	}
	main .img_right img,
	main .img_left img,
	main .img_right .img,
	main .img_left .img {
		flex-shrink: 0;
		height: fit-content;
	}

/* index_sub */

	main.index_sub nav {
		margin-top: 58px;
	}
	main.index_sub nav li a {
		min-width: 100%;
	}

/* materiality */

	main.materiality p + div.table-scroll-wrap {
		display: inline;
	}

	main.materiality table.TB01 td {
		white-space: normal;
	}
	main.materiality table.TB01 tbody th {
		white-space: normal;
	}
	main.materiality table.TB02 td {
		white-space: normal;
	}
	main.materiality table.TB02 td:nth-of-type(1) {
		min-width: 9em;
	}

/* business */

	main.business table.default-table td:last-child {
		white-space: nowrap;
	}

/* environment_eco_products */

	main.environment_eco_products h4 + div.table-scroll-wrap {
		display: inline;
	}
	main.environment_eco_products h4 + div.table-scroll-wrap table {
		width: 100%;
	}
	main.environment_eco_products h4 + div.table-scroll-wrap table th,
	main.environment_eco_products h4 + div.table-scroll-wrap table td {
		white-space: normal;
	}

/* environment_plan */

	main.environment_plan div.img_right div.img {
		width: 40%;
	}
	main.environment_plan table.TB01 {
		table-layout: fixed;
		width: 100%;
	}
	main.environment_plan table.TB01 th,
	main.environment_plan table.TB01 td {
		white-space: normal;
	}

/* environment_management_climate_change */

	main.environment_management_climate_change table.TB01 {
		width: 180%;
	}

	main.environment_management_climate_change table.TB01 th {
		white-space: normal;
	}
	main.environment_management_climate_change table.TB01 thead th {
		white-space: nowrap;
	}

	main.environment_management_climate_change table.TB01 td ul {
		width: auto;
	}
	main.environment_management_climate_change div.table-scroll-wrap.TB02 table {
		width: 100%;
	}
	main.environment_management_climate_change div.table-scroll-wrap.TB02 th,
	main.environment_management_climate_change div.table-scroll-wrap.TB02 td {
		white-space: normal !important;
		text-align: center;
	}

/* social_contribution_area */

	main.social_contribution_area .grid {
		row-gap: 0px;
	}
	main.social_contribution_area .grid .w_2 {
		grid-column: span 2;
	}
	main.social_contribution_area .grid .w_3 {
		grid-column: span 3;
	}
	main.social_contribution_area .grid figcaption {
		text-align: center;
	}

/* social_healthmanagement */

	main.social_healthmanagement table.TB02 td:nth-child(1) {
		white-space: normal !important;
	}
	main.social_healthmanagement table.TB02 td:nth-child(2) {
		white-space: normal !important;
	}
	main.social_healthmanagement figure.healthmanagement_img {
		padding-right: 40px;
		scale: 0.76;
		translate: 7% 4%;
		transform-origin: left top;
	}
	main.social_healthmanagement sup.reg {
		position: relative;
		top: 0.15em;
	}

/* social_human_capital */

	main.social_human_capital table.default-table td,
	main.social_human_capital table.default-table th {
		white-space: normal !important;
	}

/* social_training */

	main.social_training table.default-table td,
	main.social_training table.default-table th {
		white-space: normal !important;
	}

/* social_employees */

	main.social_employees table.default-table td,
	main.social_employees table.default-table th {
		white-space: normal !important;
	}

/* esg */

	main.esg table.default-table th,
	main.esg table.default-table td {
		white-space: normal;
	}


} /* @media */


/* sp
-------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	main .pc {
		display: none !important;
	}

	main .img_right img,
	main .img_left img,
	main .img_right .img,
	main .img_left .img {
		display: block;
		margin: 24px auto 0;
	}

	main dl.name div {
		display: block;
	}
	main dl.name div:first-child {
		margin-bottom: 1em;
	}

/* index_sub */

	main.index_sub nav {
		margin-top: 40px;
	}
	main.index_sub nav ul {
		gap: 12px;
	}

/* social_contribution_area */

	main.social_contribution_area .w_2,
	main.social_contribution_area .w_3 {
		margin-top: -26px;
	}

/* environment_management_climate_change */


} /* @media */


/* misc
-------------------------------------------------------------*/

@media screen and (min-width: 1024px) {
} /* @media */


@media screen and (max-width: 1023px) {
} /* @media */


/* print
-------------------------------------------------------------*/

@media print {

	main.esg table.default-table th,
	main.esg table.default-table td {
		padding: 5px 5px;
		font-size: 10px !important;
	}

	main.esg div.table-scroll-wrap {
		background: none !important;
		overflow: visible !important;
	}

	main.esg span.scroll-hint-icon {
		display: none !important;
	}

} /* @media */


