@font-face {
  font-display: auto;
  font-family: icon-font;
  font-style: normal;
  font-weight: 400;
  src: url(/en/assets_revamp2025/fonts/icon-font/icon-font.woff2) format("woff2"), url(/en/assets_revamp2025/fonts/icon-font/icon-font.woff) format("woff");
}

/* page header */
.c-ui-page-header {
  overflow: hidden;
}

@media (min-width: 640.02px) {
  .c-ui-page-header {
    padding-block: calc(clamp(8rem, calc(6rem + 5vw), 10rem) + (1em - 1lh) / 2) clamp(8rem, calc(6rem + 5vw), 10rem);
  }
}

@media (max-width: 640px) {
  .c-ui-page-header {
    min-height: clamp(13.173333333333334rem, calc(0rem + 65.86667vw), 15.4375rem);
    padding-block: calc(clamp(4.266666666666667rem, calc(0rem + 21.33333vw), 5rem) + (1em - 1lh) / 2) calc(clamp(3.4133333333333336rem, calc(0rem + 17.06667vw), 4rem) + (1em - 1lh) / 2);
  }
}

.c-ui-page-header__wrapper {
  display: flex;
  gap: clamp(2rem, calc(1.5rem + 1.25vw), 2.5rem);
}

@media (min-width: 640.02px) {
  .c-ui-page-header__wrapper {
    align-items: center;
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  .c-ui-page-header__wrapper {
    flex-direction: column;
    gap: calc(clamp(2.5rem, calc(1.875rem + 1.5625vw), 3.125rem) + (1em - 1lh) / 2);
  }
}

.c-ui-page-header__main {
  display: flex;
  flex-direction: column-reverse;
}

@media (min-width: 640.02px) {
  .c-ui-page-header__main {
    gap: clamp(2.4000000000000004rem, calc(1.8rem + 1.5vw), 3rem);
  }
}

@media (max-width: 640px) {
  .c-ui-page-header__main {
    gap: clamp(1.7066666666666668rem, calc(0rem + 8.53333vw), 2rem);
  }
}

.c-ui-page-header__en {
  display: block;
  margin-block: calc((1em - 1lh) / 2);
  font-family: SST W20 Ultra Light, SST Japanese W55 UltraLight, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 200;
  font-feature-settings: "palt" 1;
  line-height: 1.25;
  letter-spacing: .025em;
}

@media (min-width: 640.02px) {
  .c-ui-page-header__en {
    font-size: clamp(4rem, calc(3rem + 2.5vw), 5rem);
  }
}

@media (max-width: 640px) {
  .c-ui-page-header__en {
    font-size: clamp(1.9200000000000002rem, calc(0rem + 9.6vw), 2.25rem);
  }
}

.c-ui-heading {
  display: flex;
  flex-direction: column;
}

@media (min-width: 640.02px) {
  .c-ui-heading {
    gap: clamp(1.4000000000000001rem, calc(1.05rem + .875vw), 1.75rem);
  }
}

@media (max-width: 640px) {
  .c-ui-heading {
    gap: clamp(1.0666666666666667rem, calc(0rem + 5.33333vw), 1.25rem);
  }
}

.c-ui-heading__en {
  display: block;
  margin-block: calc((1em - 1lh) / 2);
  font-family: SST W20 Ultra Light, SST Japanese W55 UltraLight, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 200;
  font-feature-settings: "palt" 1;
  line-height: 1.25;
  letter-spacing: .025em;
}

@media (min-width: 640.02px) {
  .c-ui-heading__en {
    font-size: clamp(2.8000000000000003rem, calc(2.1rem + 1.75vw), 3.5rem);
  }

  .c-ui-heading__en>span:not(:first-child):not(:last-child) {
    padding-left: .22em;
  }
}

@media (max-width: 640px) {
  .c-ui-heading__en {
    font-size: clamp(1.9200000000000002rem, calc(0rem + 9.6vw), 2.25rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-heading--small .c-ui-heading__en {
    font-size: clamp(2rem, calc(1.5rem + 1.25vw), 2.5rem);
  }
}

@media (max-width: 640px) {
  .c-ui-heading--small .c-ui-heading__en {
    font-size: clamp(1.4933333333333334rem, calc(0rem + 7.46667vw), 1.75rem);
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability__section:not(:last-of-type) {
    padding-block-end: clamp(10rem, calc(7.5rem + 6.25vw), 12.5rem);
  }

  .cp-sustainability__section.cp-sustainability__section-small-space {
    padding-block-end: clamp(4.800000000000001rem, calc(3.6rem + 3vw), 6rem);
  }
}

@media (max-width: 640px) {
  .cp-sustainability__section:not(:last-of-type) {
    padding-block-end: clamp(4.266666666666667rem, calc(0rem + 21.33333vw), 5rem);
  }

  .cp-sustainability__section.cp-sustainability__section-small-space {
    padding-block-end: clamp(2.56rem, calc(0rem + 12.8vw), 3rem);
  }
}

.c-ui-icon-frame-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentcolor;
  background-color: #0000;
  backdrop-filter: blur(0);
  border: 1px solid currentcolor;
  border-radius: 50%;
  transition: background-color var(--animation-hover-duration) var(--animation-hover-timing-function);
}

.c-ui-icon-frame-button:focus-within,
.c-ui-icon-frame-button:hover {
  background-color: #ffffff1a;
}

@media (min-width: 640.02px) {
  .c-ui-icon-frame-button {
    width: clamp(3.2rem, calc(2.4rem + 2vw), 4rem);
    height: clamp(3.2rem, calc(2.4rem + 2vw), 4rem);
  }
}

@media (max-width: 640px) {
  .c-ui-icon-frame-button {
    width: clamp(2.56rem, calc(0rem + 12.8vw), 3rem);
    height: clamp(2.56rem, calc(0rem + 12.8vw), 3rem);
  }
}

.c-ui-icon-frame-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  height: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  line-height: 1;
}

.c-ui-icon-frame-button--icon-arrow-right:focus-within .c-ui-icon-frame-button__icon {
  animation: var(--animation-kf-icon-arrow-right);
}

.c-ui-icon-frame-button--icon-arrow-right:hover .c-ui-icon-frame-button__icon {
  animation: var(--animation-kf-icon-arrow-right);
}

.c-ui-icon-frame-button--icon-arrow-left:focus-within .c-ui-icon-frame-button__icon {
  animation: var(--animation-kf-icon-arrow-left);
}

.c-ui-icon-frame-button--icon-arrow-left:hover .c-ui-icon-frame-button__icon {
  animation: var(--animation-kf-icon-arrow-left);
}

.c-ui-progress-bar {
  position: relative;
}

.c-ui-progress-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-ui-progress-bar__bar {
  width: 88.39%;
  height: .125rem;
  background-color: #ffffff80;
}

.c-ui-progress-bar__bar-main {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.c-ui-progress-bar__count {
  font-size: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
  font-weight: 400;
  line-height: 1;
}

.c-ui-carousel {
  overflow: hidden;
}

@media (min-width: 640.02px) {
  .c-ui-carousel {
    padding-block: clamp(1rem, calc(.75rem + .625vw), 1.25rem);
  }
}

@media (max-width: 640px) {
  .c-ui-carousel {
    padding-block-start: clamp(1.0666666666666667rem, calc(0rem + 5.33333vw), 1.25rem);
  }
}

.c-ui-carousel__splide-container .splide__slide {
  will-change: filter, opacity;
}

.c-ui-carousel__splide-container .splide__track {
  overflow: visible;
}

.c-ui-carousel__splide-container .splide__arrows {
  display: flex;
}

@media (min-width: 640.02px) {
  .c-ui-carousel__splide-container .splide__arrows {
    gap: clamp(.4rem, calc(.3rem + .25vw), .5rem);
    margin-block-start: clamp(-2rem, calc(-1.2rem - 1vw), -1.6rem);
  }
}

@media (max-width: 640px) {
  .c-ui-carousel__splide-container .splide__arrows {
    gap: clamp(.4266666666666667rem, calc(0rem + 2.13333vw), .5rem);
  }
}

.c-ui-carousel__splide-container .splide__arrow {
  position: relative;
  top: revert;
  right: revert;
  left: revert;
  color: currentcolor;
  transform: revert;
}

.c-ui-carousel__splide-container .splide__arrow svg {
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transform: none;
}

@media (min-width: 640.02px) {
  .c-ui-carousel__track {
    padding-inline-start: clamp(18.95rem, calc(14.2125rem + 11.84375vw), 23.6875rem);
  }
}

@media (max-width: 640px) {
  .c-ui-carousel__track {
    padding-inline-start: clamp(2.986666666666667rem, calc(0rem + 14.93333vw), 3.5rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-carousel__parts {
    position: absolute;
    left: 0;
  }
}

@media (max-width: 640px) {
  .c-ui-carousel__parts {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    margin-block-start: calc(clamp(2.56rem, calc(0rem + 12.8vw), 3rem) + (1em - 1lh) / 2);
  }
}

.c-ui-carousel__progress-bar {
  line-height: 1;
}

@media (min-width: 640.02px) {
  .c-ui-carousel__progress-bar {
    width: clamp(13.350000000000001rem, calc(10.0125rem + 8.34375vw), 16.6875rem);
    margin-block-start: clamp(4rem, calc(3rem + 2.5vw), 5rem);
  }
}

@media (max-width: 640px) {
  .c-ui-carousel__progress-bar {
    width: clamp(8.106666666666667rem, calc(0rem + 40.53333vw), 9.5rem);
  }
}

.c-ui-pickup-card {
  all: revert;
  display: block;
  padding: 0;
  font-family: SST W20 Light, SST W55 Light, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  color: currentcolor;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  background: 0 0;
  border: none;
}

@media (min-width: 640.02px) {
  .c-ui-pickup-card {
    padding-block-end: calc(clamp(1.6rem, calc(1.2rem + 1vw), 2rem) + 1em - 1lh);
  }
}

@media (max-width: 640px) {
  .c-ui-pickup-card {
    padding-block-end: calc(clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem) + 1em - 1lh);
  }
}

.c-ui-pickup-card__inner {
  display: flex;
  flex-direction: column-reverse;
}

@media (min-width: 640.02px) {
  .c-ui-pickup-card__inner {
    gap: clamp(2rem, calc(1.5rem + 1.25vw), 2.5rem);
  }
}

@media (max-width: 640px) {
  .c-ui-pickup-card__inner {
    gap: clamp(1.7066666666666668rem, calc(0rem + 8.53333vw), 2rem);
  }
}

.c-ui-pickup-card__image {
  position: relative;
  display: block;
  overflow: hidden;
}

.c-ui-pickup-card__image-inner {
  position: relative;
  display: block;
  transition: transform var(--animation-hover-duration-xlong) var(--animation-hover-timing-function-strong);
}

.c-ui-pickup-card__caption {
  display: block;
  transition: opacity var(--animation-hover-duration-xlong) var(--animation-hover-timing-function-strong);
}

@media (min-width: 640.02px) {
  .c-ui-pickup-card__caption {
    padding-inline: clamp(2.4000000000000004rem, calc(1.8rem + 1.5vw), 3rem);
  }
}

.c-ui-pickup-card__title {
  display: block;
  margin-block: calc((1em - 1lh) / 2);
  font-family: SST W20 Roman, SST W55 Regular, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  line-height: 1.75;
  letter-spacing: .1em;
}

@media (min-width: 640.02px) {
  .c-ui-pickup-card__title {
    font-size: clamp(.9rem, calc(.675rem + .5625vw), 1.125rem);
  }
}

@media (max-width: 640px) {
  .c-ui-pickup-card__title {
    font-size: clamp(.7466666666666667rem, calc(0rem + 3.73333vw), .875rem);
  }
}

.c-ui-pickup-card__description {
  display: block;
  margin-block-end: calc((1em - 1lh) / 2);
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: .05em;
}

@media (min-width: 640.02px) {
  .c-ui-pickup-card__description {
    font-size: clamp(.7000000000000001rem, calc(.525rem + .4375vw), .875rem);
  }

  .c-ui-pickup-card__description:not(:first-child) {
    margin-block-start: calc(clamp(1.6rem, calc(1.2rem + 1vw), 2rem) + 1em - 1lh);
  }
}

@media (max-width: 640px) {
  .c-ui-pickup-card__description {
    font-size: clamp(.64rem, calc(0rem + 3.2vw), .75rem);
  }

  .c-ui-pickup-card__description:not(:first-child) {
    margin-block-start: calc(clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem) + 1em - 1lh);
  }
}

.c-ui-pickup-card:focus-within .c-ui-pickup-card__caption {
  opacity: .7;
}

.c-ui-pickup-card:hover .c-ui-pickup-card__caption {
  opacity: .7;
}

@media (hover: hover) and (pointer: fine) {
  .c-ui-pickup-card:focus-within .c-ui-pickup-card__image-inner {
    transform: scale(1.025);
  }

  .c-ui-pickup-card:hover .c-ui-pickup-card__image-inner {
    transform: scale(1.025);
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability-topics__contents {
    margin-block-start: calc(clamp(4.3rem, calc(3.225rem + 2.6875vw), 5.375rem) + (1em - 1lh) / 2);
  }
}

@media (max-width: 640px) {
  .cp-sustainability-topics__contents {
    margin-block-start: calc(clamp(1.9200000000000002rem, calc(0rem + 9.6vw), 2.25rem) + (1em - 1lh) / 2);
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability__button {
    flex-shrink: 0;
    padding-block-start: clamp(4rem, calc(3rem + 2.5vw), 5rem);
  }
}

@media (max-width: 640px) {
  .cp-sustainability__button {
    display: flex;
    justify-content: flex-end;
    padding-block-start: clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem);
  }
}

.cp-sustainability__button-inner {
  display: flex;
  justify-content: flex-end;
}

.c-ui-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

@media (min-width: 640.02px) {
  .c-ui-button {
    gap: clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem);
    font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width: 640px) {
  .c-ui-button {
    gap: clamp(.8533333333333334rem, calc(0rem + 4.26667vw), 1rem);
    font-size: clamp(.7466666666666667rem, calc(0rem + 3.73333vw), .875rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-button--gap-small {
    gap: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width: 640px) {
  .c-ui-button--gap-small {
    gap: clamp(.4266666666666667rem, calc(0rem + 2.13333vw), .5rem);
  }
}

.c-ui-button__text {
  font-weight: 300;
  font-feature-settings: "palt" 1;
  letter-spacing: .1em;
}

.c-ui-button__text--xsmall {
  font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
}

.c-ui-button__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff3;
  backdrop-filter: blur(16px);
  border-radius: 50%;
  transition: background-color var(--animation-hover-duration) var(--animation-hover-timing-function);
}

@media (min-width: 640.02px) {
  .c-ui-button__icon {
    width: clamp(4rem, calc(3rem + 2.5vw), 5rem);
    height: clamp(4rem, calc(3rem + 2.5vw), 5rem);
    font-size: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
  }
}

@media (max-width: 640px) {
  .c-ui-button__icon {
    width: clamp(2.56rem, calc(0rem + 12.8vw), 3rem);
    height: clamp(2.56rem, calc(0rem + 12.8vw), 3rem);
    font-size: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-button__icon--xxsmall {
    width: clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
    height: clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-button__icon--small {
    width: clamp(3.2rem, calc(2.4rem + 2vw), 4rem);
    height: clamp(3.2rem, calc(2.4rem + 2vw), 4rem);
  }
}

@media (max-width: 640px) {
  .c-ui-button__icon--xxsmall {
    width: clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem);
    height: clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem);
    font-size: clamp(.37333333333333335rem, calc(0rem + 1.86667vw), .4375rem);
  }

  .c-ui-button__icon--xxsmall .c-ui-button__icon-inner {
    width: clamp(.37333333333333335rem, calc(0rem + 1.86667vw), .4375rem);
    height: clamp(.37333333333333335rem, calc(0rem + 1.86667vw), .4375rem);
  }
}

.c-ui-button__icon-inner {
  display: inline-block;
}

@media (min-width: 640.02px) {
  .c-ui-button__icon-inner {
    width: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
    height: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
  }
}

@media (max-width: 640px) {
  .c-ui-button__icon-inner {
    width: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
    height: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

.c-ui-button:hover .c-ui-button__icon {
  background-color: #ffffff4d;
}

.c-ui-button--icon-arrow-right-top:hover .c-ui-button__icon-inner {
  animation: var(--animation-kf-icon-arrow-right-top);
}

.c-ui-label-button {
  position: relative;
  display: block;
  padding: calc(clamp(1.6rem, calc(1.2rem + 1vw), 2rem) + (1em - 1lh) / 2) clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
  font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  color: currentcolor;
  text-decoration: none;
  background-color: #ffffff1a;
  transition: background-color var(--animation-hover-duration) var(--animation-hover-timing-function);
}

.c-ui-label-button.is-current {
  pointer-events: none;
  background-color: #fff3;
}

@media (min-width: 640.02px) {
  .c-ui-label-button {
    padding: calc(clamp(1.6rem, calc(1.2rem + 1vw), 2rem) + (1em - 1lh) / 2) clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
    font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width: 640px) {
  .c-ui-label-button {
    padding: calc(clamp(1.1733333333333333rem, calc(0rem + 5.86667vw), 1.375rem) + (1em - 1lh) / 2) clamp(1.0666666666666667rem, calc(0rem + 5.33333vw), 1.25rem);
    font-size: clamp(.7466666666666667rem, calc(0rem + 3.73333vw), .875rem);
  }
}

.c-ui-label-button__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (min-width: 640.02px) {
  .c-ui-label-button__inner {
    gap: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width: 640px) {
  .c-ui-label-button__inner {
    gap: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

.c-ui-label-button__label {
  position: relative;
  top: -.1em;
  flex: 1;
  font-feature-settings: "palt" 1;
  text-align: left;
  letter-spacing: .05em;
}

.c-ui-label-button__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}

@media (min-width: 640.02px) {
  .c-ui-label-button__icon {
    font-size: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
  }
}

@media (max-width: 640px) {
  .c-ui-label-button__icon {
    font-size: clamp(.64rem, calc(0rem + 3.2vw), .75rem);
  }
}

@media (min-width: 640.02px) {
  .c-ui-label-button--product-card {
    padding: calc(clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem) + (1em - 1lh) / 2) clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem);
    font-size: clamp(.7000000000000001rem, calc(.525rem + .4375vw), .875rem);
  }
}

@media (max-width: 640px) {
  .c-ui-label-button--product-card {
    padding: calc(clamp(.8rem, calc(0rem + 4vw), .9375rem) + (1em - 1lh) / 2) clamp(.8533333333333334rem, calc(0rem + 4.26667vw), 1rem);
    font-size: clamp(.64rem, calc(0rem + 3.2vw), .75rem);
  }

  .c-ui-label-button--product-card .c-ui-label-button__icon {
    font-size: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

.c-ui-label-button:hover {
  background-color: #fff3;
}

.c-ui-label-button--icon-arrow-right-top:focus-within .c-ui-label-button__icon {
  animation: var(--animation-kf-icon-arrow-right-top);
}

.c-ui-label-button--icon-arrow-right-top:hover .c-ui-label-button__icon {
  animation: var(--animation-kf-icon-arrow-right-top);
}

.c-ui-hash-tag {
  display: inline-flex;
  align-items: center;
  font-feature-settings: "palt" 1;
  color: currentcolor;
  text-decoration: none;
  letter-spacing: .05em;
}

@media (min-width: 640.02px) {
  .c-ui-hash-tag {
    font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  }
}

@media (max-width: 640px) {
  .c-ui-hash-tag {
    font-size: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

.c-ui-hash-tags {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.2;
}

.c-ui-hash-tags__list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

@media (min-width: 640.02px) {
  .c-ui-hash-tags__list {
    gap: clamp(.4rem, calc(.3rem + .25vw), .5rem) clamp(.2rem, calc(.15rem + .125vw), .25rem);
  }
}

@media (max-width: 640px) {
  .c-ui-hash-tags__list {
    gap: clamp(.4266666666666667rem, calc(0rem + 2.13333vw), .5rem);
  }
}

.c-ui-hash-tags__item {
  display: block;
  margin-block: calc((1em - 1lh) / 2);
}

@media (min-width: 640.02px) {
  .c-ui-hash-tags--gap-medium .c-ui-hash-tags__list {
    gap: 0 clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  }
}

@media (max-width: 640px) {
  .c-ui-hash-tags--gap-medium .c-ui-hash-tags__list {
    gap: clamp(.32rem, calc(0rem + 1.6vw), .375rem) clamp(.4266666666666667rem, calc(0rem + 2.13333vw), .5rem);
  }
}

.c-ui-img {
  display: block;
  width: 100%;
  height: auto;
}

.c-ui-hero-img {
  width: 100%;
  margin-inline: auto;
}

@media (min-width: 640.02px) {
  .c-ui-back-link {
    padding-block-start: clamp(10rem, calc(7.5rem + 6.25vw), 12.5rem);
    font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  }
}

@media (max-width: 640px) {
  .c-ui-back-link {
    padding-block-start: clamp(4.266666666666667rem, calc(0rem + 21.33333vw), 5rem);
    font-size: clamp(.64rem, calc(0rem + 3.2vw), .75rem);
  }
}

.c-ui-back-link__inner {
  display: flex;
  justify-content: center;
}

.c-ui-back-link--align-center .c-ui-back-link__inner {
  justify-content: center;
}

.page-sustainability__lead {
  max-width: clamp(35.5rem, calc(26.625rem + 22.1875vw), 44.375rem);
  margin-inline: auto;
  font-weight: 300;
  line-height: 2.5;
  letter-spacing: .05em;
}

@media (min-width: 640.02px) {
  .page-sustainability__lead {
    font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
    padding-block: clamp(4rem, calc(3rem + 2.5vw), 5rem) clamp(4.800000000000001rem, calc(3.6rem + 3vw), 6rem);
  }
}

@media (max-width: 640px) {
  .page-sustainability__lead {
    font-size: clamp(.7466666666666667rem, calc(0rem + 3.73333vw), .875rem);
    padding-block: clamp(2.1333333333333333rem, calc(0rem + 10.66667vw), 2.5rem) clamp(3.2rem, calc(2.4rem + 2vw), 4rem);
  }
}

.page-sustainability__lead+.cp-sustainability-col {
  margin-block-start: 0;
}

@media (min-width: 640.02px) {
  .page-sustainability__lead+.cp-sustainability-col {
    padding-block-end: clamp(10rem, calc(7.5rem + 6.25vw), 12.5rem);
  }
}

@media (max-width: 640px) {
  .page-sustainability__lead+.cp-sustainability-col {
    padding-block-end: clamp(4.266666666666667rem, calc(0rem + 21.33333vw), 5rem);
  }
}

.page-sustainability__lead h2 {
  font-family: SST W20 Roman, SST W55 Regular, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-size: clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem);
  font-weight: 400;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  line-height: 1.75;
  letter-spacing: .1em;
}

@media (min-width: 640.02px) {
  .page-sustainability__lead h2:not(:last-child):not([class^=c-ui]):not([class^=col__]) {
    margin-block-end: calc(clamp(3.2rem, calc(2.4rem + 2vw), 4rem) + (1em - 1lh)/ 2);
  }

  .page-sustainability__lead p+p {
    margin-block-start: calc(clamp(3.2rem, calc(2.4rem + 2vw), 4rem) + (1em - 1lh)/ 2);
  }
}

@media (max-width: 640px) {
  .page-sustainability__lead h2:not(:last-child):not([class^=c-ui]):not([class^=col__]) {
    margin-block-end: calc(clamp(2.1333333333333333rem, calc(0rem + 10.66667vw), 2.5rem) + (1em - 1lh)/ 2);
  }

  .page-sustainability__lead p+p {
    margin-block-start: calc(clamp(2.1333333333333333rem, calc(0rem + 10.66667vw), 2.5rem) + (1em - 1lh)/ 2);
  }
}

@media (min-width: 640.02px) {
  .page-sustainability__lead .c-ui-label-button {
    max-width: clamp(26rem, calc(19.5rem + 16.25vw), 32.5rem);
    margin-block-start: calc(clamp(4rem, calc(3rem + 2.5vw), 5rem) + (1em - 1lh) / 2);
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .page-sustainability__lead .c-ui-label-button {
    margin-block-start: calc(clamp(3.4133333333333336rem, calc(0rem + 17.06667vw), 4rem) + (1em - 1lh) / 2);
  }
}

@media (min-width: 640.02px) {
  .page-sustainability__lead figure {
    margin-block-start: calc(clamp(3.2rem, calc(2.4rem + 2vw), 4rem) + (1em - 1lh) / 2);
  }

  .page-sustainability__lead figure:not([class^=c-ui]) figcaption {
    padding-inline: clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem);
    margin-block-start: calc(clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem) + (1em - 1lh)/ 2);
    font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
    text-align: center;
  }
}

@media (max-width: 640px) {
  .page-sustainability__lead figure {
    margin-block-start: calc(clamp(3.4133333333333336rem, calc(0rem + 17.06667vw), 4rem) + (1em - 1lh) / 2);
  }

  .page-sustainability__lead figure:not([class^=c-ui]) figcaption {
    margin-block-start: calc(clamp(1.0666666666666667rem, calc(0rem + 5.33333vw), 1.25rem) + (1em - 1lh)/ 2);
    font-size: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
    text-align: center;
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability-video {
    margin-block-start: calc(clamp(3.2rem, calc(2.4rem + 2vw), 4rem) + (1em - 1lh) / 2);
  }
}

@media (max-width: 640px) {
  .cp-sustainability-video {
    margin-block-start: calc(clamp(3.4133333333333336rem, calc(0rem + 17.06667vw), 4rem) + (1em - 1lh) / 2);
  }
}

.c-ui-video-thumb {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.c-ui-video-thumb__img {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background: 0 0;
  border: none;
}

.c-ui-video-thumb__play-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform var(--animation-hover-duration) var(--animation-hover-timing-function);
}

.c-ui-video-thumb__title {
  display: block;
  font-size: clamp(.6000000000000001rem, calc(.45rem + .375vw), .75rem);
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
}

@media (min-width: 640.02px) {
  .c-ui-video-thumb__title {
    margin-block-start: clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem);
  }
}

@media (max-width: 640px) {
  .c-ui-video-thumb__title {
    margin-block-start: clamp(.8533333333333334rem, calc(0rem + 4.26667vw), 1rem);
  }
}

.c-ui-video-thumb__title a {
  color: #fff;
}

.c-ui-video-thumb:focus-within .c-ui-video-thumb__play-icon {
  transform: var(--animation-hover-scale);
}

.c-ui-video-thumb:hover .c-ui-video-thumb__play-icon {
  transform: var(--animation-hover-scale);
}

.c-ui-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(4rem, calc(3rem + 2.5vw), 5rem);
  height: clamp(4rem, calc(3rem + 2.5vw), 5rem);
  background: rgba(0, 0, 0, .4);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.c-ui-play-icon__angle {
  position: absolute;
  width: clamp(1rem, calc(.75rem + .625vw), 1.25rem);
  height: clamp(.9rem, calc(.675rem + .5625vw), 1.125rem);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #fff;
  transform: translateX(12%);
}

.cp-sustainability-col {
  display: grid;
}

@media (min-width: 640.02px) {
  .cp-sustainability-col {
    margin-block-start: calc(clamp(4.3rem, calc(3.225rem + 2.6875vw), 5.375rem) + (1em - 1lh) / 2);
    gap: clamp(4.800000000000001rem, calc(3.6rem + 3vw), 6rem) clamp(2.4000000000000004rem, calc(1.8rem + 1.5vw), 3rem);
  }
}

@media (max-width: 640px) {
  .cp-sustainability-col {
    margin-block-start: calc(clamp(1.9200000000000002rem, calc(0rem + 9.6vw), 2.25rem) + (1em - 1lh) / 2);
    gap: clamp(2.56rem, calc(0rem + 12.8vw), 3rem) clamp(1.2266666666666668rem, calc(0rem + 6.13333vw), 1.4375rem);
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability-col.col-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .cp-sustainability-col.col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {

  .cp-sustainability-col.col-2,
  .cp-sustainability-col.col-3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-ui-card {
  display: flex;
  flex-direction: column-reverse;
  color: currentcolor;
  text-decoration: none;
}

@media (min-width: 640.02px) {
  .c-ui-card {
    gap: clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
  }
}

@media (max-width: 640px) {
  .c-ui-card {
    gap: clamp(1.4933333333333334rem, calc(0rem + 7.46667vw), 1.75rem);
  }
}

.c-ui-card__image {
  position: relative;
  overflow: hidden;
}

.c-ui-card__image-inner {
  position: relative;
  transition: transform var(--animation-hover-duration-xlong) var(--animation-hover-timing-function-strong);
}

.c-ui-card__caption {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 640.02px) {
  .c-ui-card__title {
    font-size: clamp(1rem, calc(.75rem + .625vw), 1.25rem);
  }
}

@media (max-width: 640px) {
  .c-ui-card__title {
    font-size: clamp(.8533333333333334rem, calc(0rem + 4.26667vw), 1rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  a.c-ui-card:focus-within .c-ui-card__image-inner {
    transform: var(--animation-hover-scale);
  }

  button.c-ui-card:focus-within .c-ui-card__image-inner {
    transform: var(--animation-hover-scale);
  }

  a.c-ui-card:hover .c-ui-card__image-inner,
  button.c-ui-card:hover .c-ui-card__image-inner {
    transform: var(--animation-hover-scale);
  }
}

.c-ui-product-card {
  display: flex;
  flex-direction: column-reverse;
  color: currentcolor;
  text-decoration: none;
}

@media (min-width: 640.02px) {
  .c-ui-product-card {
    gap: clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
  }
}

@media (max-width: 640px) {
  .c-ui-product-card {
    gap: clamp(1.4933333333333334rem, calc(0rem + 7.46667vw), 1.75rem);
  }
}

.c-ui-product-card__image {
  position: relative;
  overflow: hidden;
}

.c-ui-product-card__image-inner {
  position: relative;
  transition: transform var(--animation-hover-duration-xlong) var(--animation-hover-timing-function-strong);
}

.c-ui-product-card__caption {
  display: flex;
  flex-direction: column;
}

.c-ui-product-card__title {
  margin-block: calc((1em - 1lh) / 2);
  font-family: SST W20 Roman, SST W55 Regular, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  line-height: 1.75;
  letter-spacing: .1em;
}

@media (min-width: 640.02px) {
  .c-ui-product-card__title {
    font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width: 640px) {
  .c-ui-product-card__title {
    font-size: clamp(.7466666666666667rem, calc(0rem + 3.73333vw), .875rem);
  }
}

.c-ui-product-card__description {
  margin-block-end: calc((1em - 1lh) / 2);
}

@media (min-width: 640.02px) {
  .c-ui-product-card__description {
    margin-block-start: calc(clamp(1.2000000000000002rem, calc(.9rem + .75vw), 1.5rem) + (1em - 1lh) / 2);
    font-size: clamp(.7000000000000001rem, calc(.525rem + .4375vw), .875rem);
  }
}

@media (max-width: 640px) {
  .c-ui-product-card__description {
    margin-block-start: calc(clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem) + (1em - 1lh) / 2);
    font-size: clamp(.64rem, calc(0rem + 3.2vw), .75rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  a.c-ui-product-card:focus-within .c-ui-product-card__image-inner {
    transform: var(--animation-hover-scale);
  }

  button.c-ui-product-card:focus-within .c-ui-product-card__image-inner {
    transform: var(--animation-hover-scale);
  }

  a.c-ui-product-card:hover .c-ui-product-card__image-inner,
  button.c-ui-product-card:hover .c-ui-product-card__image-inner {
    transform: var(--animation-hover-scale);
  }
}

@media (min-width: 640.02px) {
  .cp-sustainability-news__content {
    width: 56.53%;
    margin-block-start: clamp(4rem, calc(3rem + 2.5vw), 5rem);
    margin-inline-start: auto;
  }
}

@media (max-width:640px) {
  .cp-sustainability-news__content {
    width: 100%;
    margin-block-start: clamp(2.8000000000000003rem, calc(2.1rem + 1.75vw), 3.5rem);
  }
}

.c-ui-divider-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0;
  margin-block: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.c-ui-divider-list>li {
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

@media (max-width:640px) {
  .c-ui-divider-list--sp-none {
    border: none;
  }

  .c-ui-divider-list--sp-none>li {
    border-bottom: none;
  }

  .c-ui-divider-list--sp-none>li+li {
    margin-block-start: calc(clamp(3.4133333333333336rem, calc(0rem + 17.06667vw), 4rem) + (1em - 1lh)/ 2);
  }
}

.c-ui-news-item {
  display: block;
  color: currentcolor;
  text-decoration: none;
}

@media (min-width:640.02px) {
  .c-ui-news-item {
    padding-block: calc(clamp(2rem, calc(1.5rem + 1.25vw), 2.5rem) + (1em - 1lh)/ 2);
    padding-inline: clamp(1.6rem, calc(1.2rem + 1vw), 2rem);
  }
}

@media (max-width:640px) {
  .c-ui-news-item {
    padding-block: calc(clamp(1.7066666666666668rem, calc(0rem + 8.53333vw), 2rem) + (1em - 1lh)/ 2);
  }
}

.c-ui-news-item__inner {
  display: -ms-flexbox;
  display: flex;
}

@media (min-width:640.02px) {
  .c-ui-news-item__inner {
    gap: clamp(2.4000000000000004rem, calc(1.8rem + 1.5vw), 3rem);
    align-items: center;
  }
}

@media (max-width:640px) {
  .c-ui-news-item__inner {
    flex-wrap: wrap;
    gap: clamp(1.4933333333333334rem, calc(0rem + 7.46667vw), 1.75rem) 0;
    align-items: center;
  }
}

.c-ui-news-item__main {
  flex: 1;
}

@media (max-width:640px) {
  .c-ui-news-item__main {
    width: calc(100% - clamp(1.0666666666666667rem, calc(0rem + 5.33333vw), 1.25rem));
    padding-right: clamp(1.28rem, calc(0rem + 6.4vw), 1.5rem);
  }
}

.c-ui-news-item__title {
  all: revert;
  padding: 0;
  margin-block: calc((1em - 1lh)/ 2);
  margin-inline: 0;
  font-family: SST W20 Light, SST W55 Light, Arial, Helvetica Neue, Meiryo, Hiragino Kaku Gothic ProN, sans-serif;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  line-height: 1.5;
  letter-spacing: .1em;
  transition: var(--transition-hover-opacity);
}

@media (min-width:640.02px) {
  .c-ui-news-item__title {
    font-size: clamp(.8rem, calc(.6rem + .5vw), 1rem);
  }
}

@media (max-width:640px) {
  .c-ui-news-item__title {
    font-size: clamp(.8533333333333334rem, calc(0rem + 4.26667vw), 1rem);
  }
}

@media (min-width:640.02px) {
  .c-ui-news-item__icon {
    width: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
    height: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
    font-size: clamp(.5rem, calc(.375rem + .3125vw), .625rem);
  }
}

@media (max-width:640px) {
  .c-ui-news-item__icon {
    width: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
    height: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
    font-size: clamp(.5333333333333333rem, calc(0rem + 2.66667vw), .625rem);
  }
}

.c-ui-news-item__icon-inner {
  position: relative;
}

.c-ui-news-item:hover .c-ui-news-item__title {
  opacity: var(--animation-hover-opacity);
}

/* initiatives */
.c-ui-news-items .c-ui-news-item:hover .c-ui-news-item__description,.c-ui-news-item:hover .c-ui-news-item__title {
     opacity: 1;
}
.c-ui-news-items .c-ui-news-item:hover .c-ui-news-item__image-inner {
     transform: none;
}
.c-ui-news-item__description_list {
      -webkit-margin-before: calc(clamp(2rem,calc(1.5rem + 1.25vw),2.5rem) + (1em - 1lh)/ 2);
        margin-block-start:calc(clamp(2rem,calc(1.5rem + 1.25vw),2.5rem) + (1em - 1lh)/ 2);
     list-style: none;
     padding-left: 0;
}
.c-ui-news-item__description_list li + li,
.c-ui-news-item__description p + p {
      -webkit-margin-before: calc(clamp(1rem, calc(0.75rem + 0.625vw), 1.25rem) + (1em - 1lh) / 4);
        margin-block-start: calc(clamp(1rem, calc(0.75rem + 0.625vw), 1.25rem) + (1em - 1lh) / 4);
}
.c-ui-icon-simple-link__icon {
      margin-left: .25rem;
}
.c-ui-news-item__description_list li a{
      color: #000;
}
.c-ui-news-item__description_list li a:hover{
      text-decoration: none;
}

.c-ui-news-item__description {
      font-size:14px;
}
[id] { scroll-margin-top: 70px; }