@charset "utf-8";
/* ------------------------------------------------------------

	sustainability style

------------------------------------------------------------ */
/* main visual title */
.u-indexmv .u-title__page {
	color: #fff;
}
/* heading */
.u-index_head1 {
	color: #000;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.5;
	margin-top: 90px;
}
.u-title__page sub {
	font-size: 2.8rem;
}
.u-title__mid .small {
	font-size: 1.6rem;
	font-weight: normal;
}
/* image size auto */
img.img_auto {
	width: auto;
	max-width: 100%;
}
/* icon */
.u-text .u-icon__pdf:before {
	margin-top: 0.3em;
}
.icon_warranty_mark {
	width: 25px;
	vertical-align: middle;
}
/* table */
.u-table-corner table {
	border-bottom-width: 1px !important;
}
.u-table-cornerHead th.border_left,
th.border_left,
td.border_left {
	border-left: 1px solid #c2c7c7;
}
.u-table-cornerHead th.border_right,
th.border_right,
td.border_right {
	border-right: 1px solid #c2c7c7;
}
.noborder_left {
	border-left-style: none !important;
}
.va_top {
	vertical-align: top !important;
}
.va_middle {
	vertical-align: middle !important;
}
.cell_nowrap {
	white-space: nowrap !important;
}
.wm_rl {
	writing-mode: vertical-rl;
	text-orientation: upright;
	text-align: center;
}
table.sticky {
	position: relative;
}
table.sticky > tbody > .u-table-cornerHead > th {
	position: sticky;
	top: 59px;
	z-index: 10;
}
@media print {
	table.sticky {
		position: static;
	}
	table.sticky > tbody > .u-table-cornerHead > th {
		position: static;
		top: auto;
	}
}
/* flexbox */
.u-flex__column--1-2 > *:nth-child(1) {
	width: calc(100% / 3);
}
.u-flex__column--1-2 > *:nth-child(2) {
	width: calc((100% / 3) * 2);
}
.u-flex__column--5-1 > *:nth-child(1) {
	width: calc((100% / 5) * 4);
}
.u-flex__column--5-1 > *:nth-child(2) {
	width: calc(100% / 5);
}
/* ------------------------------------------------------------
	index style
------------------------------------------------------------ */
.u-indexcorner__child.full .u-indexcornerlist {
	margin-right: 10px;
	margin-left: 0;
}
.u-indexcorner__child.full .u-indexcornerlist__items {
	width: 100%;
}
.u-indexcorner__child.full .u-indexcornerlist__item a {
	padding-right: 4em;
	padding-left: 1.8em;
}
/* 項目表示 */
.u-indexcornerlist__wrap.grad-item {
	margin-bottom: 20px;
}
.grad-btn {
	margin-left: 30px;
	color: #DC000C;
	cursor: pointer;
}
.grad-btn::before {
	content: "さらに項目を表示する";
}
.grad-item {
	position: relative;
	overflow: hidden;
	height: 190px; /*隠した状態の高さ*/
}
.grad-trigger {
	display: none;
}
.grad-trigger:checked ~ .grad-btn::before {
	content: "閉じる";
}
.grad-trigger:checked ~ .grad-item {
	height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
	display: none;
}
/* ------------------------------------------------------------
	message style
------------------------------------------------------------ */
.c-messageCorner {
	max-width: 900px;
	margin: 0 auto;
}
.c-messageCorner__title {
	min-height: 6.25em;
	margin: 90px 0 0;
	position: relative;
}
.c-messageCorner__title:lang(en) {
	min-height: 9.25em;
}
.c-messageCorner__title h2 {
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.45;
	white-space: nowrap;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
}
.c-messageCorner .u-text {
	margin-top: 0;
}
.c-messageCorner__name {
	margin: 90px 0 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.c-messageCorner__name p:first-child {
	padding-right: 20px;
}
.c-messageCorner__name p:last-child {
	font-size: 2.6rem;
}
.c-messageCorner__name img {
	width: 145px;
}
/* ------------------------------------------------------------
	environment style
------------------------------------------------------------ */
/* ---------- management/manage ---------- */
table.manage_table img {
	width: auto !important;
}
table.manage_table tr th {
	border-left: 1px solid #c2c7c7;
	vertical-align: middle;
}
table.manage_table tr th.cell1 {
	border-left-style: none;
}
table.manage_table tr th.cell4 {
	background-color: #e3edeb;
	vertical-align: middle;
	font-weight: normal;
}
table.manage_table tr td {
	text-align: center;
	vertical-align: middle;
}
table.manage_table div.cell_icon {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
html:lang(en) img.img_1000 {
	width: 1000px;
}
/* ---------- management/plan ---------- */
table.plan_table th.cell1 {
	width: 50px;
}
table.plan_table th.cell2 {
	width: 220px;
}
table.plan_table td.cell3 {
	width: 50px;
}
table.plan_table td.cell4 {
	width: auto;
}
table.plan_table td.cell5 {
	width: 50px;
}
table.plan_table td.cell6 {
	width: auto;
}
table.plan_table td.cell7 {
	width: 130px;
}
table.plan_table td.cell8 {
	width: auto;
}
table.plan_table td.cell9 {
	width: 220px;
}
table.plan_table div.icon {
	width: 90px;
}
table.plan_table tr td:last-child div.icon {
	margin: auto;
}
/* ---------- management/tcfd ---------- */
article.tcfd table td.cell_item_head {
	width: 13%;
	background-color: #F4F4F4;
}
article.tcfd table tbody th {
	vertical-align: middle;
}
article.tcfd table td.cell_item {
	width: 47%;
	background-color: #F4F4F4;
}
article.tcfd table ul.ul_alpha li {
	margin-left: 1.3em;
	text-indent: -1.3em;
}
article.tcfd table .u-list__items {
	margin-top: 0;
}
article.tcfd table .u-list__item {
	margin-bottom: 0;
}
/* ---------- management/perform ---------- */
.tb_perform2 {
	border-right: 1px solid #c2c7c7;
}
.tb_perform2 .u-table-cornerHead > th:first-child {
	border-left: 1px solid #c2c7c7;
}
.tb_perform2 th, .tb_perform2 td {
	padding: 0.5em;
	font-size: 1.2rem;
}
.num_perform {
	display: block;
	margin-left: 1.3em;
	text-indent: -1.3em;
}
/* ---------- data/area ---------- */
article.area .u-title__low {
	margin-top: 3.605em;
}
article.area .u-title__mid + .u-title__low {
	margin-top: 1.525em;
}
article.area td {
	width: 40%;
}
/* ---------- data/office ---------- */
article.office .u-title__low {
	margin-top: 3.605em;
}
article.office .u-title__mid + .u-title__low {
	margin-top: 1.525em;
}
article.office table.office_table1 td {
	width: 40%;
}
article.office .u-table-cornerHead th {
	vertical-align: middle;
}
/* ---------- CO2 ---------- */
table.co2_table td {
	background-color: #fff;
	vertical-align: top;
}
/* ------------------------------------------------------------
	social style
------------------------------------------------------------ */
/* ---------- safety ---------- */
ul.ul_safety li {
	display: flex;
	align-items: flex-start;
	width: 100%;
}
ul.ul_safety li span:first-child {
	flex-basis: 7em;
}
/* ------------------------------------------------------------
	governance style
------------------------------------------------------------ */
/* ---------- corporate ---------- */
/* list */
ul.ul_num1 li {
	padding-left: 1em;
	text-indent: -1em;
}
/* cg_table1 */
table.cg_table1 tr.u-table-cornerHead th {
	vertical-align: middle;
}
table.cg_table1 tr td:first-child {
	border-left-style: none;
}
table.cg_table1 tr td:nth-child(3) {
	background-color: #E5F6F4;
}
table.cg_table1 .txt_rotation {
	display: block;
	transform: rotate(90deg);
}
/* cg_table2 */
table.cg_table2 tr.u-table-cornerHead th {
	vertical-align: middle;
}
table.cg_table2 tr td.cell1 {
	border-left-style: none;
	text-align: center;
	vertical-align: middle;
}
table.cg_table2 tr td.cell3 {
	background-color: #E5F6F4;
	text-align: center;
}
/* ------------------------------------------------------------
	data style
------------------------------------------------------------ */
/* ---------- guideline ---------- */
article.guideline td.cell_num {
	width: 6em;
	border-left-style: none;
	text-align: center
}
article.guideline td.cell_link {
	width: 25%;
}
article.guideline td.cell_link .u-icon__arrow-basic--small:before {
	top: .5em;
}
article.guideline td.cell_list {
	width: 40%;
}
article.guideline td.cell_list > ol {
	padding-left: 1em;
}
article.guideline td.cell_list > ol > li {
	list-style-type: lower-alpha;
	margin-left: 1em;
}
article.guideline td.cell_list > ol > li > ol {
	list-style-type: lower-roman;
	padding-left: 1em;
}
article.guideline td.cell_list > ol > li > ol > li {
	margin-left: 0;
}
/* ------------------------------------------------------------
	management style
------------------------------------------------------------ */
/* ---------- kpi ---------- */
.kpi_cate {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

/* ------------------------------------------------------------
html:lang(en)
------------------------------------------------------------ */

html:lang(en) .grad-btn::before {
	content: "SHOW MORE";
}
html:lang(en) .grad-trigger:checked ~ .grad-btn::before {
	content: "CLOSE";
}
html:lang(en) body.data table.js-mobileScrollInner td {
	word-break: break-word !important;
}
html:lang(en) body.management span.acronym {
	font-weight: bold;
	white-space: nowrap;
}
html:lang(en) body.management table span.acronym {
	margin-left: 0.2em;
}

html:lang(en) body.governance.corporate table.cg_table1 th,
html:lang(en) body.governance.corporate table.cg_table1 td {
	font-size: 1.15rem;
}
html:lang(en) body.governance.corporate table.cg_table1 td.u-align__center,
html:lang(en) body.governance.corporate table.cg_table2 td.cell3 {
	font-family: 'Noto Sans JP';
	font-size: 1.15rem;
}

html:lang(en) .c-messageCorner__name {
	margin: 30px 0 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
html:lang(en) .c-messageCorner__name img {
	width: 175px;
}
html:lang(en) .c-messageCorner__name figcaption {
	line-height: 1.5;
	margin: 1em 0 0;
	display: block;
}

/* 2022.02 - Sustainability News */
.c-sustainability-news {
}

.c-sustainability-news .u-newsList {
	margin-top: 1em;
}

.c-sustainability-news .u-newsList__item {
	align-items: flex-start;
}

.c-sustainability-news .u-newsList__data {
	width: 140px;
	padding-top: .25em;
}

.c-sustainability-news .u-newsList__text {
	width: calc(100% - 140px);
}

.c-sustainability-news .u-newsList__text a {
	position: relative;
}

.c-sustainability-news .u-newsList__text a:after {
	width: 18px;
	height: 18px;
	background-size: 4px 8px;
}

.c-sustainability-news .u-newsList__text--multiple a {
	padding-left: 1em;
}

.c-sustainability-news .u-newsList__text--multiple a:not(:first-of-type) {
	margin-top: .5em;
}

.c-sustainability-news .u-newsList__text--multiple a:before {
	content: '';
	width: 6px;
	height: 6px;
	background: #333;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: .45em;
	left: 0;
}

.u-note--kpi-list > * {
	color: #333;
	font-size: 1.6rem;
	padding-left: 1.5em;
}

.u-note--kpi-list > *:before {
	color: #333;
	font-weight: 700;
}


.l-tcfd-arrow {
	text-align: center;
}

.l-tcfd-arrow figcaption {
	font-size: 1.2rem;
	white-space: nowrap;
}

.l-tcfd-arrow img {
	max-width: 42px;
	transform: rotate(0deg);
}

.l-tcfd-arrow--6 img {
	transform: rotate(-10deg);
}

.l-tcfd-arrow--9 img {
	transform: rotate(-40deg);
}

.l-tcfd-title img {
	max-width: 32px;
	margin: 0 -.25em 0 0;
}

.l-tcfd__catch {
	color: #DC000C;
	font-size: 2.2rem;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0;
	margin: 40px 0 0;
}


/* 20231005 */
.environment_plan_image {
	width: 65%;
}


/* 2024.09 - Sustainability Top */
.sustainabilityTop .g-breadcrumb + * {
	margin-top: 100px;
}
.sustainabilityTop .u-title__page {
	font-size: 3.6rem;
}
.sustainabilityTop .u-indexmv .u-title__page {
	color: #333;
}
.sustainabilityTop .u-title__page span {
	font-size: 1.4rem;
	line-height: 1.78;
	margin-top: 1em;
	display: block;
}
.sustainabilityTop .c-indexMainTitle {
	display: none;
}
.sustainabilityTop .u-title__mid {
	font-size: 2rem;
	margin-top: 60px;
}
.sustainabilityTop .u-title__mid a {
	position: relative;
}
.sustainabilityTop .u-title__mid a:after {
	content: '';
	width: 32px;
	height: 32px;
	border: 1px solid #DC000C;
	background: url(/_assets/img/common/arrow-01@red.svg) no-repeat center / 6px 10px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.sustainabilityTop .u-title__mid a:hover:after {
	background-color: #DC000C;
	background-image: url(/_assets/img/common/arrow-01@white.svg);
}
.sustainabilityTop .u-title__mid  + * {
	margin-top: 15px;
}


/*c-sustainability-news*/
.sustainabilityTop .c-sustainability-news .u-newsList {
	margin-top: 10px;
}
.sustainabilityTop .c-sustainability-news .u-newsList__item {
	padding: 10px 0;
}
.sustainabilityTop .c-sustainability-news .u-newsList__text--multiple a:not(:first-of-type) {
	margin-top: .25em;
}


/*c-sustainability-corner*/
.c-sustainability-corner {
	margin: 65px 0 0;
}
.c-corner__childs {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: stretch;
}
.c-corner__child {
	background-color: #F9F9F9;
}
.c-corner__child.is-message {
	width: calc(100% / 3);
}
.c-corner__child.is-management {
	width: calc((100% / 3)* 2 - 20px);
}
.c-corner__childWrap {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.is-management .c-corner__childWrap > * {
	width: calc(100% / 2);
}
.c-corner__title {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	padding-top: 25px;
}
.c-corner__title p {
	width: 100%;
	padding: 0 25px;
}
.c-corner__title em {
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 500;
	display: block;
	position: relative;
}
.c-corner__title em:after {
	content: '';
	width: 32px;
	height: 32px;
	border: 1px solid #DC000C;
	background: url(/_assets/img/common/arrow-01@red.svg) no-repeat center / 6px 10px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-corner__title:hover em:after {
	background-color: #DC000C;
	background-image: url(/_assets/img/common/arrow-01@white.svg);
}
.c-corner__title small {
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0;
	font-weight: 400;
	display: block;
	margin-bottom: 0.25em;
}
.c-corner__title figure {
	position: relative;
	overflow: hidden;
	display: flex;
	/*align-items: end;*/
	margin-top: 15px;
}
.c-corner__title figure img {
	transition: .6s cubic-bezier(.75,0,.35,1);
}
.c-corner__title:hover figure img {
	transform: scale(1.05);
}
.c-cornerList {
	padding: 0 20px 0 30px;
}
.c-cornerList > * {
	padding: 20px 15px;
	border-bottom: 1px solid #E8E8E8;
}
.c-cornerList > *:last-child {
	border: none;
}
.c-cornerList__title {
	line-height: 1.3;
	letter-spacing: 0;
	position: relative;
	min-height: 50px;
	padding-right: 33px;
	padding-left: 65px;
	display: flex;
	width: 100%;
	align-items: center;
}
.c-cornerList__title:before {
	content: '';
	width: 50px;
	height: 50px;
	background: url(/_assets/img/sustainability/icon-01.svg) no-repeat center / 50px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-cornerList__title.is-management__02:before {
	background-image: url(/_assets/img/sustainability/icon-02.svg);
}
.c-cornerList__title.is-management__03:before {
	background-image: url(/_assets/img/sustainability/icon-03.svg);
}
.c-cornerList__title.is-management__04:before {
	background-image: url(/_assets/img/sustainability/icon-04.svg);
}
.c-cornerList__title:after {
	content: '';
	width: 18px;
	height: 18px;
	border: 1px solid #DC000C;
	background: url(/_assets/img/common/arrow-01@red.svg) no-repeat center / 4px 8px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-cornerList__title:hover:after {
	background-color: #DC000C;
	background-image: url(/_assets/img/common/arrow-01@white.svg);
}
.is-data.c-corner__child {
	width: 100%;
}
.is-data .c-corner__title {
	width: calc(100% / 3);
	height: auto;
}
.is-data .c-corner__title em:after {
}
.is-data .c-cornerList {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 20px;
	padding: 0 20px;
	position: relative;
}
.is-data .c-cornerList:before {
	content: "";
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	background: #E8E8E8;
	position: absolute;
}
.is-data .c-cornerList > * {
	border: none;
}
.c-cornerList__title.is-data__01:before {
	background-image: url(/_assets/img/sustainability/icon-05.svg);
}
.c-cornerList__title.is-data__02:before {
	background-image: url(/_assets/img/sustainability/icon-06.svg);
}
.c-cornerList__title.is-data__03:before {
	background-image: url(/_assets/img/sustainability/icon-07.svg);
}
.c-cornerList__title.is-data__04:before {
	background-image: url(/_assets/img/sustainability/icon-08.svg);
}


/*c-sustainability-menu*/
.c-sustainability-menu {
	margin: 60px auto 0;
}
.c-menu__childs {
	display: flex;
	gap: 30px;
}
.c-menu__childs > * {
	width: calc(100% / 3);
}
.c-menu__title {
	color: #fff !important;
	text-align: center;
	border-radius: 10px;
	display: block;
	padding: 0 0 35px;
	position: relative;
	z-index: 0;
}
.c-menu__title:before {
	content: "";
	display: block;
	width: 37%;
	max-width: 140px;
	height: 110px;
	background: url(/_assets/img/sustainability/menu-01.svg) no-repeat center / 100%;
	margin: 0 auto 10px;
}
.c-menu__title.is-social:before {
	background-image: url(/_assets/img/sustainability/menu-02.svg);
}
.c-menu__title.is-governance:before {
	background-image: url(/_assets/img/sustainability/menu-03.svg);
}
.c-menu__title:after {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 59px);
	background: #31B236;
	border-radius: 10px;
	position: absolute;
	top: 59px;
	z-index: -1;
}
.c-menu__title:hover:after {
	background: #25A229;
}
.c-menu__title.is-social:after {
	background: #E59B25;
}
.c-menu__title:hover.is-social:after {
	background: #DD891C;
}
.c-menu__title.is-governance:after {
	background: #436DBE;
}
.c-menu__title:hover.is-governance:after {
	background: #345AAF;
}
.c-menu__title p {
	letter-spacing: 0.02em;
}
.c-menu__title p > * {
	display: block;
}
.c-menu__title em {
	font-size: 2.6rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	margin-top: 0.5em;
	position: relative;
}
.c-menu__title em:after {
	content: '';
	width: 32px;
	height: 32px;
	border: 1px solid #fff;
	background: url(/_assets/img/common/arrow-01@white.svg) no-repeat center / 6px 10px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-menu__title span {
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-top: 0.75em;
	opacity: .7;
}
.c-menuList > * {
	border-bottom: 1px solid #E8E8E8;
	padding: 1em;
}
.c-menuList a {
	letter-spacing: 0;
	position: relative;
	display: block;
	padding-right: 18px;
}
.c-menuList a:after {
	content: '';
	width: 18px;
	height: 18px;
	border: 1px solid #DC000C;
	background: url(/_assets/img/common/arrow-01@red.svg) no-repeat center / 4px 6px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-menuList a:hover:after {
	background-color: #DC000C;
	background-image: url(/_assets/img/common/arrow-01@white.svg);
}


/* c-sustainability-library */
.c-libraryList {
	background: #F9F9F9;
	padding: 40px 30px;
}
.c-libraryList__items {
	display: flex;
	flex-wrap: wrap;
}
.c-libraryList__items > * {
	width: calc(100% / 2);
	padding: 20px 30px;
	display: flex;
}
.c-libraryList__text a {
	font-size: 1.8rem;
	line-height: 1.3;
	position: relative;
	display: block;
	padding-right: 28px;
}
.c-libraryList__text a:after {
	content: '';
	width: 18px;
	height: 18px;
	border: 1px solid #DC000C;
	background: url(/_assets/img/common/arrow-01@red.svg) no-repeat center / 4px 8px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0,-50%) rotate(.005deg);
	transition: .3s cubic-bezier(.75,0,.35,1);
}
.c-libraryList__text a:hover:after {
	background-color: #DC000C;
	background-image: url(/_assets/img/common/arrow-01@white.svg);
}
.c-libraryList__text p {
	line-height: 1.6;
}
.c-libraryList__image {
	max-width: 120px;
	margin-left: 5%;
	filter: drop-shadow(0 2px 4px rgb(0 0 0 / .12));
}


/*sustainability-evaluation*/
.c-evaluationList__items {
	border: 4px solid #F2F2F2;
}
.c-evaluationList__item {
	display: flex;
	border-bottom: dashed 1px #ccc;
}
.c-evaluationList__item:last-child {
	border: none;
}
.c-evaluationList__text {
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	background: #F2F2F2;
	min-width: 290px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-evaluationList__image {
	padding: 2.5em;
	margin: 0 auto;
}