.sustCmn {
  margin-bottom: clamp(0px, 8.3333333333vw, 120px);
}

.sustCmn-title {
  margin-bottom: clamp(0px, 5.5555555556vw, 80px);
  font-weight: 700;
  font-size: clamp(0px, 2.7777777778vw, 40px);
  line-height: 1.4;
  text-align: center;
  color: #00437c;
  position: relative;
}
@media (max-width: 767px) {
  .sustCmn-title {
    margin-bottom: 10.2564102564vw;
    font-size: 5.641025641vw;
  }
}
.sustCmn-title span {
  position: relative;
  display: inline-block;
}
.sustCmn-title span::after {
  content: "";
  margin: clamp(0px, 1.7361111111vw, 25px) auto 0;
  display: block;
  width: 100%;
  height: clamp(0px, 0.1388888889vw, 2px);
  background-color: #00a0e9;
}
@media (max-width: 767px) {
  .sustCmn-title span::after {
    margin-top: 2.5641025641vw;
    height: 0.5128205128vw;
  }
}

.sustCmn-heading1 {
  position: relative;
  padding-left: clamp(0px, 1.3888888889vw, 20px);
  margin-bottom: clamp(0px, 2.7777777778vw, 40px);
  font-size: clamp(0px, 2.2222222222vw, 32px);
  font-weight: 700;
  color: #00437c;
  line-height: 1;
}
.sustCmn-heading1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: clamp(0px, 0.3472222222vw, 5px);
  height: clamp(0px, 2.2222222222vw, 32px);
  background-color: #00a0e9;
}
@media (max-width: 767px) {
  .sustCmn-heading1 {
    padding-left: 3.8461538462vw;
    margin-bottom: 3.8461538462vw;
    font-size: 5.1282051282vw;
  }
  .sustCmn-heading1::before {
    width: 1.0256410256vw;
    height: 5.1282051282vw;
  }
}

.sustCmn-heading2 {
  padding: 0.7em 1em;
  color: #fff;
  font-weight: 700;
  font-size: clamp(0px, 1.3888888889vw, 20px);
  line-height: 1.2;
  background-color: #00a0e9;
}
@media (max-width: 767px) {
  .sustCmn-heading2 {
    font-size: 4.1025641026vw;
  }
}

.sustCmn-heading3 {
  position: relative;
  color: #00a0e9;
  font-weight: 700;
  font-size: clamp(0px, 1.3888888889vw, 20px);
  padding-left: clamp(0px, 1.7361111111vw, 25px);
  line-height: 1;
}
@media (max-width: 767px) {
  .sustCmn-heading3 {
    font-size: 4.1025641026vw;
    padding-left: 3.8461538462vw;
    line-height: 1.5;
  }
}
.sustCmn-heading3:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
  width: clamp(0px, 0.6944444444vw, 10px);
  height: 2px;
  background: #00a0e9;
  -webkit-transform: rotate3d(1, 1, 1, 1deg);
  transform: rotate3d(1, 1, 1, 1deg);
}
@media (max-width: 767px) {
  .sustCmn-heading3:before {
    width: 2.0512820513vw;
  }
}

.sustCmn-heading4 {
  color: #00a0e9;
  font-weight: 700;
  font-size: clamp(0px, 1.3888888889vw, 20px);
  line-height: 1;
}
@media (max-width: 767px) {
  .sustCmn-heading4 {
    font-size: 4.1025641026vw;
    line-height: 1.5;
  }
}

.sustCmn-visualHeader {
  margin-bottom: clamp(0px, 2.7777777778vw, 40px);
  padding: 0 clamp(0px, 4.1666666667vw, 60px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: clamp(0px, 18.75vw, 270px);
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}
@media (max-width: 767px) {
  .sustCmn-visualHeader {
    margin-bottom: 5.1282051282vw;
    padding: 7.6923076923vw;
    height: auto;
    aspect-ratio: 35/34;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    border-radius: 1.2820512821vw;
  }
}
.sustCmn-visualHeader.--tsukuba {
  background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_1.webp");
  background-position: center;
}
@media (max-width: 767px) {
  .sustCmn-visualHeader.--tsukuba {
    background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_1_sp.webp");
  }
}
.sustCmn-visualHeader.--tohoku {
  background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_2.webp");
  background-position: center;
}
@media (max-width: 767px) {
  .sustCmn-visualHeader.--tohoku {
    background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_2_sp.webp");
  }
}
.sustCmn-visualHeader.--osaka {
  background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_3.webp");
}
@media (max-width: 767px) {
  .sustCmn-visualHeader.--osaka {
    background-image: url("/ja/company/images/sustainability/climate-change/heading_bg_3_sp.webp");
    aspect-ratio: 350/594;
  }
}
.sustCmn-visualHeader__title {
  color: #00a0e9;
  font-size: clamp(0px, 2.2222222222vw, 32px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .sustCmn-visualHeader__title {
    font-size: 6.6666666667vw;
  }
}

.sustCmn-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: clamp(0px, 2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .sustCmn-anchor {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.sustCmn-anchor__item {
  width: clamp(0px, 22.2222222222vw, 320px);
  aspect-ratio: 32/6;
}
@media (max-width: 767px) {
  .sustCmn-anchor__item {
    width: 100%;
  }
}
.sustCmn-anchor__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 700;
  color: #00a0e9;
  background-color: #e1f6ff;
  border: 1px solid #c8c8c8;
  border-radius: clamp(0px, 0.3472222222vw, 5px);
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sustCmn-anchor__item a::after {
  content: "\f1e3";
  font-family: "Material Symbols Outlined";
  color: currentColor;
  line-height: 1;
  position: absolute;
  right: clamp(0px, 1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .sustCmn-anchor__item a::after {
    right: 5.1282051282vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .sustCmn-anchor__item a:hover {
    color: #fff;
    background-color: #00a0e9;
    border: 1px solid #00a0e9;
  }
}

.sustCmn-content {
  margin-bottom: clamp(0px, 5.5555555556vw, 80px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: clamp(0px, 5.5555555556vw, 80px);
}
@media (max-width: 767px) {
  .sustCmn-content {
    gap: 15.3846153846vw;
  }
}

.sustCmn-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.sustCmn-block.--gap20 {
  gap: clamp(0px, 1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .sustCmn-block.--gap20 {
    gap: 2.5641025641vw;
  }
}
.sustCmn-block.--gap40 {
  gap: clamp(0px, 2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .sustCmn-block.--gap40 {
    gap: 5.1282051282vw;
  }
}
.sustCmn-block.--gap80 {
  gap: clamp(0px, 5.5555555556vw, 80px);
}
@media (max-width: 767px) {
  .sustCmn-block.--gap80 {
    gap: 15.3846153846vw;
  }
}
.sustCmn-block.--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
@media (max-width: 767px) {
  .sustCmn-block.--row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.sustCmn-block.--bottomBorder {
  padding-bottom: clamp(0px, 5.5555555556vw, 80px);
  border-bottom: 1px solid #C8C8C8;
}
.sustCmn-block.--blue {
  padding: clamp(0px, 4.1666666667vw, 60px);
  background-color: #E1F6FF;
}
@media (max-width: 767px) {
  .sustCmn-block.--blue {
    padding: 5.1282051282vw;
  }
}

.sustCmn-date {
  width: 100%;
  font-size: clamp(0px, 0.9722222222vw, 14px);
  text-align: right;
}
@media (max-width: 767px) {
  .sustCmn-date {
    font-size: 3.0769230769vw;
  }
}

.sustCmn-date__green {
  width: 90%;
  font-size: clamp(0px, 0.9722222222vw, 14px);
  text-align: right;
}
@media (max-width: 767px) {
  .sustCmn-date__green {
    font-size: 3.0769230769vw;
  }
}
.sustCmn-backBtn {
  margin: 0 auto;
  width: clamp(0px, 15.9722222222vw, 230px);
  height: clamp(0px, 3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .sustCmn-backBtn {
    width: 51.2820512821vw;
    height: 10.2564102564vw;
  }
}

.sustCmn__documents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: clamp(0px, 5.5555555556vw, 80px);
  gap: clamp(0px, 2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .sustCmn__documents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 10.2564102564vw;
    gap: 5.1282051282vw;
  }
}
.sustCmn__documents__each {
  width: clamp(0px, 31.9444444444vw, 460px);
}
@media (max-width: 767px) {
  .sustCmn__documents__each {
    width: 100%;
  }
}
.sustCmn__documents__each a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: clamp(0px, 6.9444444444vw, 100px);
  background: #E1F6FF;
  border: 1px solid #C8C8C8;
  text-align: center;
  font-size: clamp(0px, 1.25vw, 18px);
  line-height: 1.5;
  color: #00A0E9;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 767px) {
  .sustCmn__documents__each a {
    height: 15.3846153846vw;
    font-size: 3.5897435897vw;
  }
}
.sustCmn__documents__each a:hover {
  background: #fff;
}
.sustCmn__documents__each a:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 25px;
  background: url(/ja/company/images/outline/icon_pdf.svg) no-repeat center center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .sustCmn__documents__each a:after {
    width: 15px;
    height: 18px;
    right: 10px;
  }
}

.sustCmn__documents__excel {
  width: clamp(0px, 31.9444444444vw, 460px);
}
@media (max-width: 767px) {
  .sustCmn__documents__excel {
    width: 100%;
  }
}
.sustCmn__documents__excel a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: clamp(0px, 6.9444444444vw, 100px);
  background: #E1F6FF;
  border: 1px solid #C8C8C8;
  text-align: center;
  font-size: clamp(0px, 1.25vw, 18px);
  line-height: 1.5;
  color: #00A0E9;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
@media (max-width: 767px) {
  .sustCmn__documents__excel a {
    height: 15.3846153846vw;
    font-size: 3.5897435897vw;
  }
}
.sustCmn__documents__excel a:hover {
  background: #fff;
}
.sustCmn__documents__excel a:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 25px;
  background: url(/ja/company/images/outline/icon_excel.svg) no-repeat center center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .sustCmn__documents__excel a:after {
    width: 15px;
    height: 18px;
    right: 10px;
  }
}


.sustCmn__linkbtn {
  position: relative;
  color: #00a0e9;
  text-align: left;
  font-size: clamp(0px, 1.1111111111vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 767px) {
  .sustCmn__linkbtn {
    display: block;
    font-size: 4.1025641026vw;
  }
}
.sustCmn__linkbtn svg {
  margin-left: clamp(0px, 0.6944444444vw, 10px);
  width: clamp(0px, 1.1111111111vw, 16px);
  height: clamp(0px, 1.1111111111vw, 16px);
}
@media (max-width: 767px) {
  .sustCmn__linkbtn svg {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}

.climate-img {
  margin: 0 auto;
  width: 100%;
}
.climate-img.--w900 {
  width: clamp(0px, 62.5vw, 900px);
}
@media (max-width: 767px) {
  .climate-img.--w900 {
    width: 100%;
  }
}
.climate-img.--w720 {
  width: clamp(0px, 50vw, 720px);
}
@media (max-width: 767px) {
  .climate-img.--w720 {
    width: 100%;
  }
}
.climate-img__img img {
  margin: 0 auto;
}
.climate-img__caption {
  font-size: clamp(0px, 0.9722222222vw, 14px);
}
@media (max-width: 767px) {
  .climate-img__caption {
    font-size: 3.0769230769vw;
  }
}
.climate-img__caption.--tar {
  text-align: right;
}

.climate-imgGrid1 {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: clamp(0px, 1.3888888889vw, 20px);
  width: clamp(0px, 48.6111111111vw, 700px);
}
@media (max-width: 767px) {
  .climate-imgGrid1 {
    width: 100%;
  }
}
.climate-imgGrid1__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .climate-imgGrid1__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.climate-imgGrid1__block img {
  width: auto;
  max-width: unset;
  height: clamp(0px, 19.7916666667vw, 285px);
}
@media (max-width: 767px) {
  .climate-imgGrid1__block img {
    width: 100%;
    height: auto;
  }
}
.climate-imgGrid1__block.--row2 img {
  width: 100%;
  height: auto;
}

.climate-imgGrid2 {
  margin: 0 auto;
  width: clamp(0px, 62.5vw, 900px);
}
@media (max-width: 767px) {
  .climate-imgGrid2 {
    width: 100%;
  }
}
.climate-imgGrid2__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .climate-imgGrid2__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.climate-imgGrid2__block img {
  width: auto;
  height: clamp(0px, 15.4166666667vw, 222px);
}
@media (max-width: 767px) {
  .climate-imgGrid2__block img {
    width: 100%;
    height: auto;
  }
}

.lightbox-image {
  display: block;
  cursor: pointer;
  position: relative;
}
.lightbox-image::before {
  content: "";
  width: clamp(0px, 3.125vw, 45px);
  aspect-ratio: 1;
  background: #00a0e9 url("/ja/company/images/sustainability/climate-change/icon_zoom.png") no-repeat center center;
  background-size: 50%;
  border-radius: 100vw;
  position: absolute;
  right: clamp(0px, 0.6944444444vw, 10px);
  bottom: clamp(0px, 0.6944444444vw, 10px);
  z-index: 1;
}
@media (max-width: 767px) {
  .lightbox-image::before {
    width: 7.6923076923vw;
    right: 2.5641025641vw;
    bottom: 2.5641025641vw;
  }
}

button:focus {
  outline: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

.modal-open {
  cursor: pointer;
}

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  padding: clamp(0px, 5.5555555556vw, 80px) clamp(0px, 1.3888888889vw, 20px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 101;
}

.modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.modal-container.active {
  opacity: 1;
  visibility: visible;
}

.modal-body {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: clamp(0px, 75vw, 1080px);
}
@media (max-width: 767px) {
  .modal-body {
    max-width: 95%;
  }
}

.modal-close {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  top: clamp(0px, 1.3888888889vw, 20px);
  right: clamp(0px, 1.3888888889vw, 20px);
  width: clamp(0px, 3.125vw, 45px);
  height: clamp(0px, 3.125vw, 45px);
  font-size: clamp(0px, 3.125vw, 45px);
  font-weight: 700;
  color: #00437c;
  cursor: pointer;
}
@media (max-width: 767px) {
  .modal-close {
    top: 2.5641025641vw;
    right: 2.5641025641vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    font-size: 7.6923076923vw;
  }
}

.modal-content {
  background: #fff;
  text-align: left;
  padding: clamp(0px, 5.5555555556vw, 80px);
  border-radius: 5px;
}
@media (max-width: 767px) {
  .modal-content {
    padding: 10.2564102564vw;
  }
}
/*# sourceMappingURL=sustainabilityCommon.css.map */