@charset "UTF-8";
/* 
Min:375px
Max:1200px
*/
:root {
  --color-white: #fff;
  --color-gray: #E1E1E1;
}

#ver2026 .ecobody__container img:not(.-reset) {
  width: 100%;
}
#ver2026 .ecobody__container.-index {
  margin: 0 auto;
}
#ver2026 .esg__block.-headline .-mark {
  right: 0;
  bottom: 0;
}
#ver2026 .esg__block.-headline .-mark img {
  width: 37px;
  height: 37px;
}

/* メインイメージ ========================================== */
.topmv_container {
  position: relative;
  overflow: hidden;
}

.topmv_wrapper {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
}

.topmv_wrapper .-photo {
  position: relative;
  z-index: 1;
  width: 100%;
}

/* メインイメージ for PC */
.topmv_container {
  background: url("/corporate/eco/images/index/poster-image.jpg") center center no-repeat;
  background-size: cover;
  min-height: 650px;
}
.topmv_container .pagenavi_item {
  padding-top: 16%;
  padding-left: 14%;
  color: var(--color-white);
  line-height: 1.2;
}
.topmv_container .pagenavi_item .-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(3.4rem, 2.455rem + 4.73vw, 6rem);
  font-weight: 700;
}
.topmv_container .pagenavi_item .-title::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: var(--sharp-red);
  border-radius: 50%;
  margin-right: 30px;
}

.topmv_wrapper {
  min-height: 650px;
}
.topmv_wrapper .-photo {
  aspect-ratio: 1.48/0.651;
}
.topmv_wrapper .-headline {
  position: absolute;
  left: 6%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  color: var(--color-white);
  text-shadow: 1px 2px 8px #000;
}
.topmv_wrapper .-report {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: static;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 100%;
  padding: 10px 0 0 0;
  background: none;
}
.topmv_wrapper .-report > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--sharp-red);
  color: var(--color-white);
  padding: 20px 36px;
  border-radius: 33.5px;
  font-size: clamp(1.8rem, 1.727rem + 0.36vw, 2rem);
  gap: 20px;
}
.topmv_wrapper .-report > a::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url("/corporate/eco/images/common/icon_white_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.topmv_wrapper .-report > a:hover {
  opacity: 0.85;
  text-decoration: none;
}

/* メインイメージ for SP */
@media only screen and (max-width: 767px) {
  .topmv_container {
    position: relative;
    width: 100%;
    background: url("/corporate/eco/images/index/poster-image_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top: 0;
    overflow: hidden;
    min-height: auto;
  }
  .topmv_container .pagenavi_item {
    padding-top: 60%;
    padding-left: 4%;
  }
  .topmv_container .pagenavi_item .-title::before {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-right: 10px;
  }
  .topmv_container .-report {
    max-width: 100%;
    padding: 20px 0 0 30px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .topmv_container .-report {
    padding: 10px 0 0 0;
  }
  .topmv_container .-report > a {
    max-width: 340px;
  }
}
@media only screen and (max-width: 767px) {
  .topmv_container:after {
    position: relative;
    z-index: 1;
    content: "";
    width: 100%;
    padding-top: 44%;
  }
  .topmv_wrapper .-photo {
    aspect-ratio: 3.75/1.65;
  }
  .topmv_wrapper .-headline {
    position: relative;
    width: 88%;
    margin: 1em auto 0;
    font-size: 1.071em;
  }
}
.message_outer {
  padding-top: 150px;
}
@media only screen and (max-width: 767px) {
  .message_outer {
    padding-top: 50px;
  }
}

.message_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  overflow: hidden;
  max-width: 1200px;
  aspect-ratio: 1200/443;
  min-height: 280px;
  padding: 0 5.2%;
  border-radius: 12px;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .message_inner {
    min-height: auto;
    margin: 50px 0 0;
    padding: 0 0 0 4%;
  }
}
@media only screen and (max-width: 767px) {
  .message_inner {
    display: block;
    aspect-ratio: auto;
    min-height: 0;
    padding: 0;
    background: var(--color-white);
  }
}
.message_inner > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .message_inner > img {
    position: static;
    height: auto;
    aspect-ratio: 242/155;
    -o-object-position: left center;
       object-position: left center;
  }
}
@media only screen and (max-width: 767px) {
  .message_inner .button {
    margin: 8% auto;
  }
}

.message_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 43%;
  min-height: 66%;
  padding: 24px 16px 24px 6.4%;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(8px);
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .message_link {
    width: 58%;
    min-height: 100%;
    padding: 12px 12px 12px 20px;
    border-radius: 0 12px 12px 0;
  }
}
@media only screen and (max-width: 767px) {
  .message_link {
    display: block;
    width: auto;
    min-height: 0;
    padding: 10px 16px 18px;
    border-radius: 0;
    background: none;
    backdrop-filter: none;
    text-align: center;
  }
}
.message_link dl {
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.message_link dt {
  font-size: clamp(1.6rem, 1.382rem + 1.09vw, 2.2rem);
}
.message_link dd {
  margin: 0;
  font-size: clamp(3.2rem, 3.127rem + 0.36vw, 3.4rem);
  font-weight: 700;
  line-height: 1.2;
}
.message_link .button {
  margin-top: 8px;
}

.sustaina_inner {
  margin-top: 114px;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .sustaina_inner {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .sustaina_inner {
    margin-top: 40px;
  }
}

.sustaina_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 32px;
  margin-top: 46px;
}
@media only screen and (max-width: 767px) {
  .sustaina_box {
    grid-template-columns: 1fr;
    gap: 20px 0;
    margin-top: 16px;
  }
}
.sustaina_box li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding: 270px 44px 48px;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .sustaina_box li {
    padding: 67px 20px 42px;
  }
}
.sustaina_box li:first-child {
  background: url("/corporate/eco/images/index/sustaina_sdgs.png") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .sustaina_box li:first-child {
    background-size: 100% auto;
    padding: 170px 0 35px 24px;
  }
}
.sustaina_box li:last-child {
  background: url("/corporate/eco/images/index/sustaina_management.png") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .sustaina_box li:last-child {
    background-size: 100% auto;
    padding: 129px 0 35px 24px;
  }
}
.sustaina_box dt {
  font-size: clamp(2.2rem, 1.909rem + 1.45vw, 3rem);
  color: var(--color-white);
  line-height: 1;
  font-weight: 700;
}
.sustaina_box dd {
  margin-top: 27px;
}
@media only screen and (max-width: 767px) {
  .sustaina_box dd {
    margin-top: 10px;
  }
}

.esg__block.-headline .esg_inner .-mark {
  right: 0;
  bottom: 0;
  width: 37px;
}

.esg_title {
  position: absolute;
  top: 73px;
  left: 33px;
  color: var(--color-white);
}
.esg_title .main_heading {
  font-size: clamp(2.6rem, 2.382rem + 1.09vw, 3.2rem);
  font-weight: normal;
  line-height: 1;
  font-weight: 700;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
}

.esg_box {
  width: 31.4%;
  background: var(--color-white);
  border-radius: 18px 18px 15px 15px;
}
.esg_box:not(:last-child) {
  margin-right: 2.5%;
}
@media only screen and (max-width: 767px) {
  .esg_box {
    width: 100%;
    margin-top: 35px;
  }
  .esg_box:not(:last-child) {
    margin-right: 0;
  }
}
.esg_box .esg__block {
  padding-bottom: 0;
}
.esg_box .eco_list {
  padding: 30px 24px;
}
.esg_box .eco_list li {
  position: relative;
  padding: 16px 0;
  border-top: 1px solid var(--color-gray);
  font-size: 1.6rem;
  padding-right: 25px;
  line-height: 1.2;
}
.esg_box .eco_list li:last-child {
  border-bottom: 1px solid var(--color-gray);
}
.esg_box .eco_list li a {
  display: block;
}
.esg_box .eco_list li a::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  background: url("/corporate/eco/images/common/yaji_right_black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.esg_box .eco_list li a:hover {
  color: var(--sharp-red);
}
.esg_box .eco_list li a:hover::after {
  background: url("/corporate/eco/images/common/yaji_right_red.svg");
}

.disclosure_container {
  margin-top: 100px;
  padding: 35px 80px 85px;
  background: var(--color-white);
  border-radius: 20px;
}
@media only screen and (max-width: 767px) {
  .disclosure_container {
    margin-top: 25px;
    padding: 24px 35px 20px;
  }
}
.disclosure_container .disclosure_wrapper {
  margin-top: 52px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 35px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .disclosure_container .disclosure_wrapper {
    grid-template-columns: 1fr;
  }
}
.disclosure_container .disclosure_wrapper li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 13px 25px 13px 0;
  border-top: 1px solid var(--color-gray);
}
.disclosure_container .disclosure_wrapper li:nth-of-type(4), .disclosure_container .disclosure_wrapper li:nth-of-type(5), .disclosure_container .disclosure_wrapper li:nth-of-type(6) {
  border-bottom: 1px solid var(--color-gray);
}
.disclosure_container .disclosure_wrapper li a {
  display: block;
}
.disclosure_container .disclosure_wrapper li a::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  background: url("/corporate/eco/images/common/yaji_right_black.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}
.disclosure_container .disclosure_wrapper li a:hover {
  color: var(--sharp-red);
  text-decoration: none;
}
.disclosure_container .disclosure_wrapper li a:hover::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  background: url("/corporate/eco/images/common/yaji_right_red.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}