@charset "UTF-8";
.tcfd-tnfd {
  margin-bottom: 12rem;
}
.tcfd-text-box {
  margin-bottom: 8rem;
}

.tcfd-text {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 4rem;
}

ul.tcfd-a-list {
  background-color: #f2f6f8;
  padding: 1rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8rem;
  min-height: 7.7rem;
}
ul.tcfd-a-list li {
  border-right: 1px solid #e9ecee;
}
ul.tcfd-a-list li:last-child {
  border-right: none;
}
ul.tcfd-a-list li a {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  padding: 0 4rem;
}
ul.tcfd-a-list li a::before {
  content: "";
  width: 0.7rem;
  margin-top: 0.5rem;
  display: inline-block;
  aspect-ratio: 1;
  border-bottom: 1px solid #0068b7;
  border-right: 1px solid #0068b7;
  transform-origin: right top;
  transform: rotate(45deg);
}
ul.tcfd-a-list li a.hover {
  color: #0068b7;
  text-decoration: underline;
}

ul.governance-list {
  margin-bottom: 6rem;
}
ul.governance-list.mb0 {
  margin-bottom: 0;
}
ul.governance-list.plan {
  background-color: #eff4f7;
  padding: 5rem 4rem;
}

ul.governance-list li {
  margin-bottom: 6rem;
}

ul.governance-list li:last-child {
  margin-bottom: 0;
}

.tcfd-title {
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 1px solid #e9ecee;
  padding-bottom: 2rem;
  margin-bottom: 3rem;
}

.tcfd-sub-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 2rem;
}

.tcfd-sub-title.orange {
  color: #f4881d;
}
.tcfd-sub-title.green {
  color: #77b94b;
}

ul.governance-list li p {
  font-size: 1.6rem;
  line-height: 2;
}
ul.governance-list li p.mb2 {
  margin-bottom: 2rem;
}
ul.governance-list li p.mb4 {
  margin-bottom: 4rem;
}

ul.governance-list li p span.title {
  font-weight: bold;
}

ol.tnfd-notes-list {
}
ol.tnfd-notes-list li {
  font-size: 1.2rem;
  line-height: 2;
  margin-bottom: 0;
}
ol.tnfd-notes-list li.ti25 {
  text-indent: -2.5rem;
  padding-left: 2.5rem;
}
ol.tnfd-notes-list li.ti325 {
  text-indent: -3.25rem;
  padding-left: 3.25rem;
}
ol.tnfd-notes-list li:last-child {
  margin-bottom: 0;
}

ul.governance-list li p.table-notes {
  text-align: right;
  font-size: 1.4rem;
}
ul.table-notes-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
ul.table-notes-list li {
  margin: 0 2rem 0 0;
  font-size: 1.4rem;
}
ul.table-notes-list li:last-child {
  margin: 0;
}
ul.table-notes-list li span.d-green,
ul.table-notes-list li span.m-green,
ul.table-notes-list li span.l-green {
  position: relative;
  z-index: 0;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
ul.table-notes-list li span.d-green::before,
ul.table-notes-list li span.m-green::before,
ul.table-notes-list li span.l-green::before {
  content: "";
  min-width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.5rem;
}

ul.table-notes-list li span.d-green::before {
  background-color: #4f7533;
}
ul.table-notes-list li span.m-green::before {
  background-color: #a3c986;
}
ul.table-notes-list li span.l-green::before {
  background-color: #dfecd6;
}

ul.governance-list li p.sub {
  font-weight: bold;
  margin-bottom: 1rem;
}

ul.governance-list li p.circle {
  position: relative;
  z-index: 0;
  padding-left: 1.75rem;
  text-indent: -1.75rem;
  margin-bottom: 3rem;
}

ul.governance-list li p.circle span.title {
  font-weight: bold;
}

ul.governance-list li p.circle::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #5b9bd5;
  border-radius: 50%;
  margin: -0.4rem 0.5rem 0 0;
}

.governance-img {
  max-width: 118rem;
  margin: 0 auto 8rem auto;
  background-color: #f4f8fb;
  min-height: 69rem;
  padding: 3rem 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tcfd-title-img {
  font-size: 2.7rem;
  text-align: center;
  font-weight: bold;
  color: #0068b7;
  line-height: 1.5;
  margin-bottom: 3rem;
}

.tcfd-table-lot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}

/************************** table */

.tcfd-table-area {
  overflow-y: hidden !important;
  margin-bottom: 2rem;
}
.tcfd-table-area.mb3 {
  margin-bottom: 3rem;
}
.tcfd-table-area.mb4 {
  margin-bottom: 4rem;
}
.tcfd-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6rem 20rem 0 20rem;
  border-color: #fde194 transparent transparent transparent;
  margin: 0 auto 2rem auto;
}
.tcfd-table {
  width: 100%;
  border-left: 1px solid #e9ecee;
  border-top: 1px solid #e9ecee;
}

.tcfd-table th,
.tcfd-table td {
  min-width: auto;
  width: auto;
  border-bottom: 1px solid #e9ecee;
  border-right: 1px solid #e9ecee;
  font-size: 1.6rem;
  vertical-align: middle;
  line-height: 1.5;
  padding: 1.5rem;
}

.tcfd-table th {
  text-align: center;
  font-weight: bold;
  background-color: #fde194;
}

.tcfd-table th span.red,
.tcfd-table th span.green {
  position: relative;
  z-index: 0;
  display: inline-block;
}

.tcfd-table th span.red::before,
.tcfd-table th span.green::before {
  content: "";
  display: inline-block;
  min-width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
}

.tcfd-table th span.red::before {
  background-color: #e60020;
}

.tcfd-table th span.green::before {
  background-color: #77b94b;
}
.tcfd-table td {
  height: 7rem;
  padding: 1rem 1.5rem;
}
.tcfd-table td span.title {
  display: block;
  font-weight: bold;
}

/* .tcfd-table td.t-center {
  text-align: center;
} */
/* リスク・機会の抽出 */
.tcfd-table th.risk-1,
.tcfd-table td.risk-1 {
  min-width: 9rem;
  text-align: center;
}
.tcfd-table th.risk-2,
.tcfd-table td.risk-2 {
  min-width: 12rem;
  text-align: center;
}
.tcfd-table th.risk-3,
.tcfd-table td.risk-3 {
  min-width: 23rem;
}
.tcfd-table th.risk-4,
.tcfd-table td.risk-4 {
  min-width: 8rem;
  text-align: center;
}
.tcfd-table th.risk-5,
.tcfd-table td.risk-5 {
  min-width: auto;
}
/* リスク・機会の抽出 END */
/* 主な機会 */
/* 主な機会 END */
.tcfd-table th.t-1,
.tcfd-table td.t-1 {
  min-width: 9rem;
}
.tcfd-table th.t-2,
.tcfd-table td.t-2 {
  min-width: 12rem;
}
.tcfd-table th.t-3,
.tcfd-table td.t-3 {
  min-width: 23rem;
}
.tcfd-table th.t-4,
.tcfd-table td.t-4 {
  min-width: 8rem;
}
.tcfd-table th.t-5,
.tcfd-table td.t-5 {
  min-width: 30rem;
}

/* scenario color */

.tcfd-table.scenario th {
  background-color: #d0d5da;
  padding: 0.75rem 1.5rem;
}

.tcfd-table.scenario th,
.tcfd-table.scenario td {
  text-align: center;
}

.tcfd-table.scenario td:first-child {
  background-color: #f3f5f7;
}

/* 気候変動リスク・機会の特定・評価における時間的視点 */

.tcfd-table td.year-1 {
  min-width: 10rem;
  width: 10rem;
}
.tcfd-table td.year-2 {
  min-width: 14rem;
}
.tcfd-table td.year-3 {
  min-width: auto;
}
/* 気候変動リスク・機会の特定・評価における時間的視点 END */

/* 財務インパクト */
.tcfd-table td.finance-1 {
  min-width: 10rem;
  width: 10rem;
}
.tcfd-table td.finance-2 {
  min-width: auto;
}
/* 財務インパクト END */

/* scenario color END */

/* シナリオ分析による主要なリスク・機会と対応策 */
.tcfd-table th.analysis-1,
.tcfd-table td.analysis-1 {
  min-width: 12rem;
  text-align: center;
}
.tcfd-table th.analysis-2,
.tcfd-table td.analysis-2 {
  min-width: 12rem;
  text-align: center;
}
.tcfd-table th.analysis-3,
.tcfd-table td.analysis-3 {
  min-width: 23rem;
}
.tcfd-table th.analysis-4,
.tcfd-table td.analysis-4 {
  min-width: 8rem;
}
.tcfd-table th.analysis-5,
.tcfd-table td.analysis-5 {
  min-width: 30rem;
}
.tcfd-table th.analysis-6,
.tcfd-table td.analysis-6 {
  min-width: auto;
}
.tcfd-table td.analysis-6 {
  line-height: 2;
}
/* シナリオ分析による主要なリスク・機会と対応策 END */
/* heat-map color */
.tcfd-table.heat-map {
  border-left: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.tcfd-table.heat-map th,
.tcfd-table.heat-map td {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.tcfd-table.heat-map th {
  background-color: #f3f5f7;
  font-weight: normal;
}

.tcfd-table.heat-map th.rl {
  writing-mode: vertical-rl;
  text-align: left;
}
.tcfd-table.heat-map th.operation {
  min-width: 5rem;
  width: 8rem;
}
.tcfd-table.heat-map th.operation div {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  white-space: nowrap;
  white-space: pre;
}

.tcfd-table.heat-map th.operation span {
  text-orientation: upright;
}
.tcfd-table.heat-map th.rl span.vl {
  text-orientation: upright;
}
.tcfd-table.heat-map th.matter,
.tcfd-table.heat-map td.matter {
  min-width: 12rem;
}

.tcfd-table.heat-map td:first-child {
  text-align: center;
}

.tcfd-table.heat-map td.l-green {
  background-color: #dfecd6;
}

.tcfd-table.heat-map td.m-green {
  background-color: #a3c986;
}

.tcfd-table.heat-map td.d-green {
  background-color: #4f7533;
}
/* heat-map color END */
/* plan color */
.tcfd-table.plan-pc {
  table-layout: fixed;
}
.tcfd-table.plan-pc th {
  background-color: #d4e6f6;
}
.tcfd-table.plan-pc td {
  background-color: #fff;
  vertical-align: baseline;
}
.tcfd-table.plan-sp {
  display: none;
}

/* plan color END */
/************************** table END */

ul.tcfd-table-list {
}

ul.tcfd-table-list li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0;
  position: relative;
  z-index: 0;
}

ul.tcfd-table-list li.red,
ul.tcfd-table-list li.green {
  margin: 0 0 0.5rem 0;
}
ul.tcfd-table-list li.red:last-child,
ul.tcfd-table-list li.green:last-child {
  margin: 0;
}

ul.tcfd-table-list li::before {
  content: "・";
}

ul.tcfd-table-list li.red::before {
  content: "";
  min-width: 1.3rem;
  height: 1.3rem;
  background-color: #e60020;
  border-radius: 50%;
  margin: 0.6rem 0.5rem 0 0;
}

ul.tcfd-table-list li.green::before {
  content: "";
  min-width: 1.3rem;
  height: 1.3rem;
  background-color: #77b94b;
  border-radius: 50%;
  margin: 0.6rem 0.5rem 0 0;
}

.tcfd-link {
  max-width: 28rem;
  margin: 0 auto;
}
.tcfd-link a {
  min-height: 5rem;
  background-color: #eff4f7;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  border-radius: 10rem;
  color: #0068b7;
  position: relative;
  z-index: 0;
}
.tcfd-link a::after {
  content: "";
  width: 0.7rem;
  display: inline-block;
  aspect-ratio: 1;
  border-bottom: 1px solid #0068b7;
  border-right: 1px solid #0068b7;
  transform-origin: right top;
  transform: rotate(-45deg);
  position: absolute;
  right: 3rem;
}
.tcfd-link a.hover {
  background-color: #0068b7;
  color: #fff;
}
.tcfd-link a.hover::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

ol.plan-list {
  counter-reset: listnum;
  margin-bottom: 2rem;
}
ol.plan-list li {
  font-size: 1.6rem;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}
ol.plan-list li:last-child {
  margin-bottom: 0;
}
ol.plan-list li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  margin-right: 0.5rem;
}
.plan-title {
  font-size: 4.2rem;
  font-weight: bold;
  color: #29a739;
  margin-bottom: 2rem;
}

ol.scope-list {
}
ol.scope-list li {
  margin-bottom: 2rem;
  line-height: 2;
}
ol.scope-list li:first-child {
  min-height: 12.8rem;
}
ol.scope-list li:nth-child(2) {
  min-height: 12.8rem;
}
ol.scope-list li:last-child {
  min-height: 6.4rem;
  margin-bottom: 0;
}
/* ----------------------------------------
css animation
---------------------------------------- */

.js-fade {
  opacity: 0;
  transform: translateY(2rem);
}

.js-fadeUp {
  transition: all 0.5s ease-out;
  transition-delay: 0.1s;
  transform: translateY(0);
  opacity: 1;
}
