@charset "UTF-8";
/* top */
.top-mv {
  background: url(/en/sustainability/assets/images/bg_mv.webp) no-repeat center 0/cover;
  margin-bottom: -5.5rem;
  padding: 5rem 0 10.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-mv {
    background-image: url(/en/sustainability/assets/images/bg_mv_sp.jpg);
    margin-bottom: -5rem;
    padding: 2.5rem 0 0;
  }
}
.top-mv .ttl-wrap {
  color: #fff;
  line-height: 1.1;
}
.top-mv .ttl-wrap .en-ttl {
  font-size: 5rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .top-mv .ttl-wrap .en-ttl {
    font-size: 3rem;
  }
}
.top-mv .lead-box {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1.5rem;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 4rem;
  padding: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-mv .lead-box {
    border-radius: 0;
    flex-direction: column;
    margin: 2.5rem -1.25rem 0;
    padding: 1.875rem 1.25rem 6.875rem;
  }
}
.top-mv .lead-box .txt-wrap {
  color: #002A0F;
  flex: 1;
  min-width: 30.1875rem;
}
@media screen and (max-width: 767px) {
  .top-mv .lead-box .txt-wrap {
    min-width: unset;
  }
}
.top-mv .lead-box .txt-wrap .lead-txt {
  font-size: 1.5625rem;
  font-weight: 450;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .top-mv .lead-box .txt-wrap .lead-txt {
    font-size: 1.25rem;
    min-width: unset;
  }
}
.top-mv .lead-box .txt-wrap .txt {
  font-size: 1.125rem;
  margin: 1.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .top-mv .lead-box .txt-wrap .txt {
    font-size: 1rem;
    margin-top: 1.875rem;
  }
}
.top-mv .lead-box .img-wrap {
  aspect-ratio: 970/406;
  background: url(/en/sustainability/assets/images/img_mv_lead.jpg) no-repeat center center/cover;
  border: 1px solid #fff;
  border-radius: 1.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 1.875rem;
  width: 30.1875rem;
}
@media screen and (max-width: 767px) {
  .top-mv .lead-box .img-wrap {
    aspect-ratio: 335/203;
    background-image: url(/en/sustainability/assets/images/img_mv_lead_sp.jpg);
    margin: 0;
    width: 100%;
  }
}
.top-mv .lead-box .img-wrap .bdr-btn {
  justify-content: center;
  font-size: 0.75rem;
  width: 12.5rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0 2rem;
  text-align: center;
}

.top-message {
  background: #fff;
  border-radius: 2.5rem 2.5rem 0 0;
  overflow: hidden;
  padding-top: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-message {
    padding-top: 2.5rem;
  }
}
.top-message::before {
  background: #6FBA2B;
  border-radius: 50%;
  content: "";
  display: block;
  filter: blur(120px);
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  width: 480px;
  height: 480px;
  top: -2.25rem;
  right: -13.5rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-message::before {
    top: 8.625rem;
    right: -15.625rem;
  }
}
.top-message .inner-wrap {
  position: relative;
  z-index: 2;
}
.top-message .message-wrap {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap {
    flex-direction: column;
  }
}
.top-message .message-wrap .message-img {
  display: flex;
  border-radius: 1.5rem;
  overflow: hidden;
  width: 36.3125rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap .message-img {
    width: 100%;
  }
}
.top-message .message-wrap .message-img img {
  width: 100%;
}
.top-message .message-wrap .txt-wrap {
  color: #002A0F;
  flex: 1;
}
.top-message .message-wrap .txt-wrap .ttl {
  font-size: 1.125rem;
  font-weight: 450;
  line-height: 1.1;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  position: relative;
}
.top-message .message-wrap .txt-wrap .ttl::before {
  background: #6FBA2B;
  content: "";
  display: block;
  width: 1.5rem;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.top-message .message-wrap .txt-wrap .lead-txt {
  font-size: 1.5625rem;
  font-weight: 450;
}
.top-message .message-wrap .txt-wrap .signature-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap .txt-wrap .signature-wrap {
    display: block;
    margin-top: 1.25rem;
  }
}
.top-message .message-wrap .txt-wrap .signature-wrap .signature {
  font-size: 0.875rem;
}
.top-message .message-wrap .txt-wrap .signature-wrap .signature .name {
  font-size: 1.25rem;
  font-weight: 450;
  margin-left: 0.625rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap .txt-wrap .signature-wrap .signature .name {
    display: block;
    margin: 0.625rem 0 0;
  }
}
.top-message .message-wrap .txt-wrap .signature-wrap .cmn-btn {
  padding-right: 4.9375rem;
}
.top-message .message-wrap .txt-wrap .btn-wrap {
  border-top: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap .txt-wrap .btn-wrap {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }
}
.top-message .message-wrap .txt-wrap .btn-wrap .bdr-btn {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .top-message .message-wrap .txt-wrap .btn-wrap .bdr-btn {
    width: 100%;
  }
}

.top-sec-ttl {
  color: #002A0F;
  font-size: 1.5625rem;
  font-weight: 450;
  margin-bottom: 1.25rem;
}

.top-management {
  padding-top: 6.25rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-management {
    padding-top: 3.75rem;
  }
  .top-management::after {
    background: #6FBA2B;
    border-radius: 50%;
    content: "";
    display: block;
    filter: blur(120px);
    opacity: 0.1;
    pointer-events: none;
    position: absolute;
    width: 480px;
    height: 480px;
    left: -13.75rem;
    bottom: -24.375rem;
  }
  .top-management .inner-wrap {
    position: relative;
    z-index: 2;
  }
}
.top-management .management-wrap {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-management .management-wrap {
    flex-direction: column;
    gap: 1.25rem;
  }
}
.top-management .management-wrap .message-img {
  border-radius: 1.5rem;
  flex: 1;
  overflow: hidden;
}
.top-management .management-wrap .message-img img {
  width: 100%;
}
.top-management .management-wrap .txt-wrap {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .top-management .management-wrap .txt-wrap {
    width: 100%;
  }
}
.top-management .management-wrap .txt-wrap .lead-txt {
  color: #002A0F;
  font-size: 1.625rem;
  font-weight: 450;
  line-height: 1.3;
  margin-bottom: 0;
}
.top-management .management-wrap .txt-wrap .btn-wrap {
  border-top: 1px solid #eee;
  display: flex;
  justify-content: flex-end;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-management .management-wrap .txt-wrap .btn-wrap {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
  }
}
.top-management .management-wrap .txt-wrap .btn-wrap .bdr-btn {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .top-management .management-wrap .txt-wrap .btn-wrap .bdr-btn {
    width: 100%;
  }
}

.top-esg-effort {
  overflow: hidden;
  padding: 5rem 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-esg-effort {
    overflow: visible;
    padding: 3.75rem 0 1.25rem;
  }
}
.top-esg-effort::before {
  background: #6FBA2B;
  border-radius: 50%;
  content: "";
  display: block;
  filter: blur(120px);
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  width: 800px;
  height: 800px;
  top: 0.6875rem;
  left: -12.75rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-esg-effort::before {
    top: 46.25rem;
    left: unset;
    right: -17.9375rem;
  }
}
.top-esg-effort::after {
  background: #6FBA2B;
  border-radius: 50%;
  content: "";
  display: block;
  filter: blur(120px);
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  width: 480px;
  height: 480px;
  bottom: 16.4375rem;
  right: -14.75rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-esg-effort::after {
    bottom: 4.3125rem;
    right: unset;
    left: -13.75rem;
  }
}
.top-esg-effort .effort-list {
  border-bottom: 1px solid #eee;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, 1fr);
  padding-bottom: 3rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .effort-list {
    grid-template-columns: 1fr;
    padding-bottom: 1.25rem;
  }
}
.top-esg-effort .effort-list > li {
  border-radius: 1rem;
  box-shadow: 0 0 1.5rem rgba(111, 186, 43, 0.2);
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 4;
  overflow: hidden;
  padding: 1px;
}
.top-esg-effort .effort-list > li .ttl-wrap {
  padding: 1.9375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .effort-list > li .ttl-wrap {
    padding: 1.25rem;
  }
}
.top-esg-effort .effort-list > li .ttl-wrap .ttl {
  color: #fff;
  font-family: "futura-pt", sans-serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0;
  opacity: 0.5;
  word-break: break-all;
}
.top-esg-effort .effort-list > li .ttl-wrap .ttl::first-letter {
  font-size: 3.5rem;
}
.top-esg-effort .effort-list > li .ttl-wrap .link-wrap {
  margin-top: 1rem;
}
.top-esg-effort .effort-list > li .ttl-wrap .link-wrap .arrow-link {
  background-image: linear-gradient(180deg, transparent 0%, transparent calc(100% - 1px), rgb(255, 255, 255) 100%);
  color: #fff;
}
.top-esg-effort .effort-list > li .ttl-wrap .link-wrap .arrow-link:hover, .top-esg-effort .effort-list > li .ttl-wrap .link-wrap .arrow-link:focus, .top-esg-effort .effort-list > li .ttl-wrap .link-wrap .arrow-link:active {
  color: #fff;
}
.top-esg-effort .effort-list > li .ttl-wrap .link-wrap .arrow-link::after {
  background-image: url(/en/sustainability/assets/images/icn_arrow_white.svg);
}
.top-esg-effort .effort-list > li.enviroment {
  background: linear-gradient(to right, #009333 0%, #009333 70%, #6EB92B 100%);
}
.top-esg-effort .effort-list > li.social {
  background: linear-gradient(to right, #5BA318 0%, #71BB29 70%, #9FC90A 100%);
}
.top-esg-effort .effort-list > li.governance {
  background: linear-gradient(to right, #A1C101 0%, #ACCE02 70%, #CEE601 100%);
}
.top-esg-effort .effort-list > li .body-wrap {
  background: #fff;
  border-radius: 0 0 1rem 1rem;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 1.5rem;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .effort-list > li .body-wrap {
    gap: 1.25rem;
    padding: 1rem;
  }
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap {
  display: grid;
  gap: 1.5rem;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .link-list {
  margin-bottom: 0;
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .link-list > li:not(:last-child) {
  margin-bottom: 1rem;
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .banner-list {
  display: grid;
  gap: 0.5rem;
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .banner-list a {
  border-radius: 0.25rem;
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .effort-list > li .body-wrap .link-list-wrap .banner-list a {
    border-radius: 0.5rem;
  }
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .banner-list a img {
  width: 100%;
}
@media (any-hover: hover) {
  .top-esg-effort .effort-list > li .body-wrap .link-list-wrap .banner-list a:hover {
    opacity: 0.75;
  }
}
.top-esg-effort .effort-list > li .body-wrap .link-list-wrap .notes-list {
  margin-top: 0.5rem;
}
.top-esg-effort .effort-list > li .body-wrap .btn-wrap {
  width: 100%;
}
.top-esg-effort .effort-list > li .body-wrap .btn-wrap .cmn-btn {
  min-height: 3rem;
}
.top-esg-effort .supply-chain-wrap {
  background: #4CAD96;
  border-radius: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.5rem;
  padding: 2.5rem 1.875rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .supply-chain-wrap {
    display: block;
    margin-top: 1.25rem;
    padding: 1.25rem;
  }
}
.top-esg-effort .supply-chain-wrap .ttl-wrap .ttl {
  color: #fff;
}
.top-esg-effort .supply-chain-wrap .ttl-wrap .ttl .en-ttl {
  font-family: "futura-pt", sans-serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0;
  opacity: 0.5;
}
.top-esg-effort .supply-chain-wrap .ttl-wrap .ttl .en-ttl::first-letter {
  font-size: 3.5rem;
}
.top-esg-effort .supply-chain-wrap .ttl-wrap .ttl .jp-ttl {
  font-size: 1.25rem;
  font-weight: 450;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .top-esg-effort .supply-chain-wrap .btn-wrap {
    margin-top: 1.875rem;
  }
}
.top-esg-effort .supply-chain-wrap .btn-wrap .cmn-btn {
  min-height: 3rem;
}

.top-data {
  background: url(/en/sustainability/assets/images/bg_top_data.jpg) no-repeat center 0/cover;
  border-radius: 2.5rem 2.5rem 0 0;
  margin-bottom: -5rem;
  padding: 5rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .top-data {
    background-image: url(/en/sustainability/assets/images/bg_top_data_sp.jpg);
    padding: 2.5rem 0 7.5rem;
  }
}
.top-data .top-data-wrap {
  display: grid;
  grid-template-columns: 24.1875rem auto;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap {
    grid-template-columns: 1fr;
  }
}
.top-data .top-data-wrap .top-data-col {
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap .top-data-col {
    display: block;
  }
}
.top-data .top-data-wrap .top-data-col .data-ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.top-data .top-data-wrap .top-data-col .data-ttl-wrap .top-sec-ttl {
  margin-bottom: 0;
}
.top-data .top-data-wrap .data-list-wrap {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap .data-list-wrap {
    padding: 1.25rem;
  }
}
.top-data .top-data-wrap .data-list-wrap .data-list {
  display: grid;
  gap: 1rem 1.25rem;
  padding: 0;
}
.top-data .top-data-wrap .data-list-wrap .data-list.col-2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: unset;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap .data-list-wrap .data-list.col-2 {
    grid-template-columns: 1fr;
  }
}
.top-data .top-data-wrap .data-list-wrap .data-list.col-3 {
  grid-template-columns: repeat(3, 1fr);
  max-width: unset;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap .data-list-wrap .data-list.col-3 {
    grid-template-columns: 1fr;
  }
}
.top-data .top-data-wrap .data-list-wrap .data-list > li {
  margin: 0;
}
.top-data .top-data-wrap .data-list-wrap .data-list + .data-list {
  border-top: 1px solid #eee;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-data .top-data-wrap .btn-wrap {
    margin-top: 1.5rem;
  }
}

.top-topics {
  background: #fff;
  border-radius: 2.5rem 2.5rem 0 0;
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .top-topics {
    padding: 2.5rem 0;
  }
  .top-topics .btn-wrap {
    margin-top: 2.5rem;
  }
}
.top-topics .ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.top-topics .ttl-wrap .top-sec-ttl {
  margin-bottom: 0;
}

.topics-list > li {
  border-bottom: 1px solid #eee;
  display: flex;
  padding: 1.875rem 1.875rem 1.875rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .topics-list > li {
    display: block;
    padding: 1.25rem 0;
  }
}
.topics-list > li .topics-date {
  color: #545454;
  display: block;
  width: 10rem;
}
@media screen and (max-width: 767px) {
  .topics-list > li .topics-date {
    margin-bottom: 1rem;
    width: 100%;
  }
}
.topics-list > li .topics-ttl {
  color: #002A0F;
  display: block;
  flex: 1;
  font-weight: 450;
  margin: 0;
  padding-right: 1rem;
  position: relative;
}
.topics-list > li .topics-ttl::after {
  background: url(/en/sustainability/assets/images/icn_arrow_green.svg) no-repeat center center/contain;
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.75rem;
  vertical-align: middle;
  position: absolute;
  right: 0;
  top: calc(50% - 0.375rem);
}
.topics-list > li .topics-ttl a {
  background-image: linear-gradient(180deg, transparent 0%, transparent calc(100% - 1px), rgb(0, 42, 15) 100%);
  background-repeat: no-repeat;
  background-size: 0 100%;
  color: #002A0F;
}
@media (any-hover: hover) {
  .topics-list > li .topics-ttl a:hover {
    background-size: 100% 100%;
    color: #002A0F;
  }
}

.top-links {
  background: url(/en/sustainability/assets/images/bg_top_link.jpg) no-repeat center 0/cover;
  border-radius: 2.5rem 2.5rem 0 0;
  margin-bottom: 2.5rem;
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .top-links {
    background-image: url(/en/sustainability/assets/images/bg_top_link_sp.jpg);
    padding: 2.5rem 0;
  }
}
.top-links .link-list-wrap {
  background: #fff;
  border-radius: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 2.5rem;
}
@media screen and (max-width: 767px) {
  .top-links .link-list-wrap {
    display: block;
    padding: 1.25rem;
  }
}
.top-links .link-list-wrap .link-list {
  display: grid;
  gap: 1rem 1.25rem;
  flex: 1;
  margin-bottom: 0;
}
.top-links .link-list-wrap .link-list:first-child {
  border-right: 1px solid #eee;
}
@media screen and (max-width: 767px) {
  .top-links .link-list-wrap .link-list:first-child {
    border-bottom: 1px solid #eee;
    border-right: none;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
.top-links .link-list-wrap .link-list > li {
  margin-bottom: 0;
}

/* environment */
.environment-tile-wrap {
  display: grid;
  gap: 1.875rem;
  width: 100%;
}
.environment-tile-wrap.col-2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: unset;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .environment-tile-wrap.col-2 {
    grid-template-columns: 1fr;
  }
}
.environment-tile-wrap .environment-info {
  max-width: calc(100vw - 2.5rem);
}

/* /environment */
/* policy */
.policy-block {
  background: #F9FAED;
  border-radius: 1.5rem;
  padding: 2.25rem 3rem 3rem;
}
@media screen and (max-width: 767px) {
  .policy-block {
    padding: 1rem;
  }
}
.policy-block .policy-info {
  background: #E2F2D3;
  border-radius: 1rem 0 0 1rem;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 2.1875rem;
  padding: 1.5rem 3.5rem;
}
.policy-block .policy-info dt {
  font-size: 1.25rem;
  font-weight: bold;
}
.policy-block .policy-info dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-info {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
  }
  .policy-block .policy-info dt {
    font-size: 1.125rem;
  }
}
.policy-block .policy-ttl {
  border-left: 1px solid transparent;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 1.25rem;
  padding-left: 8px;
}
.policy-block .policy-ttl.challenge {
  border-left-color: #004097;
  color: #004097;
}
.policy-block .policy-ttl.effort {
  border-left-color: #D75F2A;
  color: #D75F2A;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-ttl {
    font-size: 1rem;
  }
}
.policy-block .policy-list {
  display: grid;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-list {
    gap: 1rem;
  }
}
.policy-block .policy-list:not(:last-child) {
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-list:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.policy-block .policy-list > li {
  padding-bottom: 1rem;
  border-bottom: 1px solid #E6E6E6;
}
.policy-block .policy-list > li dl {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-list > li dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.policy-block .policy-list > li dl dt {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: bold;
  width: 16rem;
}
.policy-block .policy-list > li dl dt .icn {
  width: 4rem;
}
.policy-block .policy-list > li dl dt .txt {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .policy-block .policy-list > li dl dt {
    width: 100%;
  }
}
.policy-block .policy-list > li dl dd {
  flex: 1;
}
.policy-block .policy-list.challenge > li dl dt {
  color: #004097;
}
.policy-block .policy-list.effort > li dl dt {
  color: #D75F2A;
}

.policy-task-force {
  margin: 0 auto 1.5rem;
  max-width: 47.5rem;
}
@media screen and (max-width: 767px) {
  .policy-task-force {
    max-width: unset;
  }
}
.policy-task-force .block-ttl {
  margin-bottom: 1.125rem;
  text-align: center;
}
.policy-task-force .block-ttl .sub {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 0.125rem;
}
.policy-task-force .block-ttl .ttl {
  color: #84B465;
  font-size: 1.625rem;
  font-weight: bold;
  line-height: 1.1;
}
@media screen and (max-width: 767px) {
  .policy-task-force .block-ttl {
    margin-bottom: 1rem;
  }
  .policy-task-force .block-ttl .sub {
    font-size: 0.75rem;
  }
  .policy-task-force .block-ttl .ttl {
    font-size: 1.25rem;
  }
}
.policy-task-force .task-force-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .policy-task-force .task-force-wrap {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.policy-task-force .task-force-wrap .box {
  border: 1px solid #597B69;
  border-radius: 0.5rem;
  overflow: hidden;
}
.policy-task-force .task-force-wrap .box.task-force-01 .box-body ul > li::before,
.policy-task-force .task-force-wrap .box.task-force-01 .box-ttl {
  background: #E5F2DA;
}
.policy-task-force .task-force-wrap .box.task-force-02 .box-body ul > li::before,
.policy-task-force .task-force-wrap .box.task-force-02 .box-ttl {
  background: #D1E6E8;
}
.policy-task-force .task-force-wrap .box.task-force-03 .box-body ul > li::before,
.policy-task-force .task-force-wrap .box.task-force-03 .box-ttl {
  background: #F0F0CC;
}
.policy-task-force .task-force-wrap .box .box-ttl {
  padding: 0.625rem;
  text-align: center;
}
.policy-task-force .task-force-wrap .box .box-ttl .ttl {
  font-size: 1rem;
  font-weight: bold;
}
.policy-task-force .task-force-wrap .box .box-body {
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.9375rem;
}
.policy-task-force .task-force-wrap .box .box-body ul > li {
  line-height: 1.5;
  margin-bottom: 0;
  padding-left: 0.75rem;
  position: relative;
}
.policy-task-force .task-force-wrap .box .box-body ul > li::before {
  border-radius: 50%;
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  position: absolute;
  left: 0;
  top: calc(50% - 0.1875rem);
}

/* /policy */
/* tnfd */
.cmn-table tbody .th-green-01 {
  background: #74A690;
}
.cmn-table tbody .th-green-02 {
  background: #ADAD68;
}
.cmn-table tbody .th-green-03 {
  background: #E3E3CC;
}
.cmn-table tbody .td-red-01 {
  background: #D99382;
}
.cmn-table tbody .td-red-02 {
  background: #E6C1B8;
}
.cmn-table tbody .td-red-03 {
  background: #F7EFED;
}
.cmn-table tbody .td-gray-01 {
  background: #E6E6E6;
}

.tnfd-img-03 {
  max-width: 1104px;
}
@media screen and (max-width: 767px) {
  .tnfd-img-03 {
    max-width: 100%;
  }
}

/* /tnfd */
/* society */
/* human-resources */
.work-balance-box {
  background: #F9FAED;
  border-radius: 1.5rem;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 2.5rem 3rem;
}
@media screen and (max-width: 767px) {
  .work-balance-box {
    flex-direction: column;
    padding: 1.5rem 1rem;
  }
}

.human-resources-img {
  max-width: 50.5625rem;
  margin-inline: auto;
}

/* /human-resources */
/* safety */
.safety-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .safety-list {
    grid-template-columns: 1fr;
  }
}
.safety-list > li {
  background: #F9FAED;
  border-radius: 1.5rem;
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .safety-list > li {
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
  }
}
.safety-list > li .num {
  color: #E2F2D3;
  font-family: "futura-pt", sans-serif;
  font-size: 5.625rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .safety-list > li .num {
    font-size: 3rem;
  }
}
.safety-list > li .txt-wrap {
  flex: 1;
}
.safety-list > li .txt-wrap .label {
  background: #fff;
  border: 1px solid #6FBA2B;
  border-radius: 0.9375rem;
  color: #6FBA2B;
  display: inline-flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: bold;
  min-height: 1.875rem;
  margin-bottom: 1rem;
  padding: 0 0.9375rem;
}
@media screen and (max-width: 767px) {
  .safety-list > li .txt-wrap .label {
    font-size: 1rem;
  }
}

/* /safety */
/* well-being */
.hows-design-wrap {
  background-color: #fff;
  padding: 4% 5%;
  border-radius: 1.5625rem;
}
.hows-design-wrap .img-wrap {
  padding-top: 0.9375rem;
  padding-right: 1.25rem;
}
.hows-design-wrap .caption-list {
  padding: 4%;
  background-color: #FBF7F8;
  border-radius: 0.9375rem;
}
.hows-design-wrap .caption-list li {
  position: relative;
  padding-left: 1.5rem;
}
.hows-design-wrap .caption-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.125rem;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/en/sustainability/assets/images/icn_society_well_being_case_01.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.hows-design-wrap .hows-design-url {
  background-color: #F6F6F6;
  padding: 0.9375rem;
  border-radius: 0.9375rem;
  display: inline-block;
  text-align: center;
}
.hows-design-wrap .hows-design-url a {
  overflow-wrap: break-word;
}

/* /well-being */
/* supply-chain */
.procurement-policy-list {
  display: grid;
  gap: 1rem 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .procurement-policy-list {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
}
.procurement-policy-list .bg-box {
  margin-bottom: 0;
}

.procurement-guideline-list .bg-box {
  margin-bottom: 0;
}
.procurement-guideline-list > li + li {
  margin-top: 1rem;
}
.procurement-guideline-list .guideline-h3-ttl {
  color: #002A0F;
  display: flex;
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .procurement-guideline-list .guideline-h3-ttl {
    font-size: 1.375rem;
    margin-bottom: 1.5rem;
  }
}
.procurement-guideline-list .guideline-h3-ttl .num {
  background: linear-gradient(to bottom, #009333 0%, #6fba2b 50%, #abcd02 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "futura-pt", sans-serif;
  margin-right: 0.625rem;
}
.procurement-guideline-list .guideline-h3-ttl .ttl {
  flex: 1;
}
.procurement-guideline-list .guideline-h4-ttl {
  color: #002A0F;
  display: flex;
  font-size: 1.3125rem;
  font-weight: bold;
  margin: 2rem 0 1rem;
}
@media screen and (max-width: 767px) {
  .procurement-guideline-list .guideline-h4-ttl {
    font-size: 1.125rem;
    margin: 1.5rem 0 1rem;
  }
}
.procurement-guideline-list .guideline-h4-ttl .num {
  color: #6FBA2B;
  display: inline-block;
  font-family: "futura-pt", sans-serif;
  width: 3rem;
}
@media screen and (max-width: 767px) {
  .procurement-guideline-list .guideline-h4-ttl .num {
    width: 2.5rem;
  }
}
.procurement-guideline-list .guideline-h4-ttl .ttl {
  flex: 1;
}
.procurement-guideline-list .guideline-h4-ttl + .cmn-txt {
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .procurement-guideline-list .guideline-h4-ttl + .cmn-txt {
    padding-left: 2.5rem;
  }
}

/* /supply-chain */
/* management */
/* targets */
.cmn-table .bdt-3 {
  border-top-color: #002A0F;
  border-top-width: 3px;
}
.cmn-table .bdr-3 {
  border-right-color: #002A0F;
  border-right-width: 3px;
}
.cmn-table .bdl-3 {
  border-left-color: #002A0F;
  border-left-width: 3px;
}
.cmn-table .bdb-3 {
  border-bottom-color: #002A0F;
  border-bottom-width: 3px;
}

.strategy-label {
  background: #fff;
  border: 1px solid #002A0F;
  border-radius: calc(infinity * 1px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
  width: 5rem;
  height: 1.5625rem;
}

.targets-img {
  display: block;
  width: 8.75rem;
}

.target-notes {
  font-size: 0.75rem;
}
.target-notes > li {
  display: flex;
}
.target-notes > li .unit {
  margin-right: 0.25rem;
}
.target-notes > li .list-inner {
  flex: 1;
}

.sdgs-list {
  text-align: center;
}
.sdgs-list > li {
  margin-bottom: 0.625rem;
}

/* /targets */
/* materiality */
.determining-process {
  margin-top: 2.5rem;
}
.determining-process .process-box .box-ttl-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.1875rem;
}
.determining-process .process-box .box-ttl-wrap .cmn-txt {
  flex: 1;
}
.determining-process .process-box .box-ttl {
  color: #002A0F;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  width: 5.5rem;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box .box-ttl {
    font-size: 0.875rem;
    width: 3.75rem;
  }
}
.determining-process .process-box.y-2020 {
  margin-bottom: 0.125rem;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2020 {
    margin-bottom: 0.375rem;
  }
}
.determining-process .process-box.y-2020 .process-list {
  padding-bottom: 2.25rem;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2020 .process-list {
    padding-bottom: 1.875rem;
  }
}
.determining-process .process-box.y-2020 .process-list::before {
  background: #597B69;
  content: "";
  display: block;
  width: 0.125rem;
  height: calc(100% - 0.25rem);
  position: absolute;
  left: 2.6875rem;
  top: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2020 .process-list::before {
    left: 1.8125rem;
  }
}
.determining-process .process-box.y-2020 .process-list::after {
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #597B69;
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5625rem;
  position: absolute;
  left: 2.5rem;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2020 .process-list::after {
    left: 1.625rem;
  }
}
.determining-process .process-box.y-2022 {
  margin-bottom: 0.125rem;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2022 {
    margin-bottom: 0;
  }
}
.determining-process .process-box.y-2022 .process-list {
  padding-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2022 .process-list {
    padding-bottom: 0.625rem;
  }
}
.determining-process .process-box.y-2022 .process-list::before {
  background: #597B69;
  content: "";
  display: block;
  width: 0.125rem;
  height: calc(100% - 0.25rem);
  position: absolute;
  left: 2.6875rem;
  top: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2022 .process-list::before {
    left: 1.8125rem;
  }
}
.determining-process .process-box.y-2022 .process-list::after {
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #597B69;
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5625rem;
  position: absolute;
  left: 2.5rem;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2022 .process-list::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .determining-process .process-box.y-2025 .process-list::before {
    background: #597B69;
    content: "";
    display: block;
    width: 0.125rem;
    height: calc(50% - 1.875rem);
    position: absolute;
    left: 1.8125rem;
    bottom: calc(50% + 2.3125rem);
    z-index: 1;
  }
  .determining-process .process-box.y-2025 .process-list::after {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #597B69;
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5625rem;
    position: absolute;
    left: 1.625rem;
    bottom: calc(50% + 2rem);
    z-index: 1;
  }
}

.process-list {
  position: relative;
}
.process-list > li {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .process-list > li {
    gap: 0.625rem;
  }
}
.y-2025 .process-list > li {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .y-2025 .process-list > li {
    align-items: center;
  }
}
.process-list > li + li {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .process-list > li + li {
    margin-top: 0.625rem;
  }
}
.process-list > li .step-label {
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "futura-pt", sans-serif;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  width: 5.5rem;
}
.process-list > li .step-label .num {
  display: block;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}
.y-2020 .process-list > li .step-label {
  background: #91BF73;
}
.y-2025 .process-list > li .step-label, .y-2022 .process-list > li .step-label {
  background: #6FBA2B;
}
.y-2025 .process-list > li .step-label {
  font-family: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Meiryo, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Osaka, MS PGothic, arial, helvetica, sans-serif;
}
@media screen and (max-width: 767px) {
  .process-list > li .step-label {
    font-size: 0.75rem;
    width: 3.75rem;
  }
  .process-list > li .step-label .num {
    font-size: 1.375rem;
  }
}
.process-list > li .process-detail {
  background: #F9FAED;
  border: 1px solid #6FBA2B;
  border-radius: 1rem;
  width: calc(100% - 6.5rem);
  padding: 1.5rem 2rem;
}
.process-list > li .process-detail .ttl {
  color: #002A0F;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0;
}
.process-list > li .process-detail .ttl:not(:last-child) {
  margin-bottom: 1rem;
}
.process-list > li .process-detail .cmn-img {
  max-width: 56.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .process-list > li .process-detail {
    padding: 1rem 1.5rem;
    width: calc(100% - 4.375rem);
  }
  .process-list > li .process-detail .ttl {
    font-size: 1rem;
  }
  .process-list > li .process-detail .ttl:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}

/* /materiality */
/* value-creation */
.cmn-table tbody .logic-model-a {
  background: #EBF2F5;
}
.cmn-table tbody .logic-model-b {
  background: #D5E4EB;
}
.cmn-table tbody .logic-model-c {
  background: #BFD5E0;
}
.cmn-table tbody tr:not(:last-child) .bdb-gray {
  border-bottom-color: #ddd;
}

/* /value-creation */
/* environment */
.environment-block {
  border: 1px solid #efeff0;
  padding: 15px;
  background: #efeff0;
  font-weight: bold;
  margin-left: auto;
}

.cmn-table tbody .environment-bdr-none {
  border-right: none;
}

.cmn-table tbody .environment-bdl-white {
  border-left: none;
}

/* /environment */
/* society */
.data-inline-fraction {
  display: inline-flex;
  flex-direction: column;
  vertical-align: middle;
  text-align: center;
}

.data-denominator {
  border-bottom: 1px solid #222222;
}

.data-numerator {
  display: block;
}

/* /society */
/* evaluation */
.hover-transparency:hover {
  opacity: 0.6;
}

/* evaluation */