@charset "UTF-8";

/*===============================================
共通
===============================================*/
:root {
  --hover-opacity: .7;
  --hover-transition: opacity .3s ease;


  --support-bg: #a8cce0;
  --support-bg-gradient: linear-gradient(160deg, #b8d8ed 0%, #8bb8d4 100%);
  --support-text-color: #fff;
  --support-bg-text-color: rgba(255, 255, 255, 0.25);
  --support-image-bg: #1a3f5c;
  --support-image-text: #fff;
  --support-logo-bg: #fff;
  --support-logo-border: #e0e0e0;
  --support-btn-bg: #d9262c;
  --support-btn-text: #fff;
  --support-btn-hover-bg: #b81e23;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }
}


.ice-value {

  @media (max-width: 767px) {
    .breadcrumb {
      overflow-x: auto;
      white-space: nowrap;
    }
  }


  main {

    a,
    a:link {
      color: #0D486E;
    }

    a.link-blank::after {
      content: "";
      display: inline-block;
      width: 2rem;
      height: 2rem;
      margin-left: 0.25em;
      vertical-align: -0.5em;
      background-color: currentColor;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Crect x='6' y='14' width='22' height='22' rx='3' fill='none' stroke='black' stroke-width='3'/%3E%3Cline x1='16' y1='28' x2='36' y2='8' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpolyline points='28%2C8 36%2C8 36%2C16' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Crect x='6' y='14' width='22' height='22' rx='3' fill='none' stroke='black' stroke-width='3'/%3E%3Cline x1='16' y1='28' x2='36' y2='8' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpolyline points='28%2C8 36%2C8 36%2C16' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
      position: relative;
      top: -2px;
    }
  }



  .u-text-center-sp {
    @media (max-width: 767px) {
      text-align: center;
    }
  }

  .u-center-pc {
    text-align: center;

    @media (max-width: 767px) {
      text-align: left;
    }
  }

  /* 1. アニメーションが始まる前の位置（50px下に配置） */
  [data-aos^="fade"][data-aos^="fade"] {
    transform: translateY(20px);
  }

  /* 2. 【重要】スクロールされてアニメーションが始まったら元の位置（0）に戻す */
  [data-aos^="fade"][data-aos^="fade"].aos-animate {
    transform: translateY(0);
  }


  main {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
  }

  .pctb_none {
    @media (min-width: 768px) {
      display: none !important;
    }

  }


  .gnav {
    display: flex;
    gap: 2rem;
    position: relative;
    z-index: 2;

    @media (max-width: 767px) {
      flex-wrap: wrap;
    }


    a {
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1 0 auto;
      color: #FFF !important;
      height: 6.4rem;
      text-align: center;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.5;
      background: url(/images/ice-value/btn-bg.webp) lightgray -5.418px -31.814px / 119.249% 198.205% no-repeat;
      text-decoration: none;
      opacity: 1;
      transition: var(--hover-transition);

      @media (max-width: 767px) {
        background: url(/images/ice-value/btn-bg-sp.webp) lightgray -5.8px -81.909px / 104.716% 461.441% no-repeat;
        width: calc(50% - 1rem);
        height: 4.5rem;
        font-size: 1.4rem;

        &:first-child {
          width: 100%;
        }
      }

      @media (hover: hover) {
        &:hover {
          opacity: var(--hover-opacity);
        }
      }
    }
  }

  .child-heading01 {
    background: url(/images/ice-value/bg-heading01.webp)no-repeat;
    background-size: cover;
    min-height: 50rem;
    overflow: hidden;
  }

  .child-heading01__inner {
    position: relative;
    padding: 5rem 1.6rem 7rem;

    @media (max-width: 767px) {
      padding-top: 4rem;
      padding-bottom: 0;
      height: 70vw;
      min-height: 340px;
    }

    &::before,
    &::after {
      content: "";
      position: absolute;
    }

    &::before {
      top: -100px;
      right: -4vw;
      background: url(/images/ice-value/bg-heading01-splash.webp) no-repeat;
      background-size: cover;
      width: 80rem;
      height: 58rem;
      mix-blend-mode: screen;




      @media (max-width: 767px) {
        background: url(/images/ice-value/bg-heading01-splash-sp.webp)no-repeat;
        background-size: cover;
        width: 44rem;
        height: 39rem;
        top: 3vw;
      }
    }

    &::after {
      bottom: -13rem;
      right: -25%;
      background: url(/images/ice-value/bg-heading01-ice.webp)no-repeat;
      background-size: cover;
      width: 150%;
      height: 45rem;

      @media (max-width: 767px) {
        top: auto;
        bottom: -53vw;
        right: -30vw;
        height: 106vh;
        background: url(/images/ice-value/bg-heading01-ice-sp.webp)no-repeat;
        background-size: 140%;
        background-position: bottom 0 right 8vw;
      }
    }


  }

  .child-heading02-wrap {
    background: url(/images/ice-value/bg-heading02-ice.webp)no-repeat;
    background-size: 90rem;
    background-position: center;
    margin-top: -19rem;
    margin-bottom: -19.5rem;

    @media (max-width: 767px) {
      background: url(/images/ice-value/bg-heading02-ice-sp.webp)no-repeat;
      background-size: min(100%, 398px) auto;
      background-position: center;
      margin-top: 3rem;
      margin-bottom: -2rem;

    }
  }

  .child-heading02-wrap--pad {
    @media (max-width: 767px) {
      margin-bottom: 2rem;
    }

  }

  .child-heading02 {
    position: relative;
    height: 76rem;
    display: flex;
    justify-content: center;
    align-items: center;

    @media (max-width: 767px) {
      height: 22rem;
    }

    span {
      position: relative;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 4rem;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: 0.8px;

      @media (max-width: 767px) {
        height: 22rem;
        text-align: center;
        font-size: 2.4rem;
        letter-spacing: 0.48px;
        top: 0;
      }
    }

  }

  .child-heading03 {
    position: relative;
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.64px;
    margin-bottom: 5rem;
    color: #0D486E;

    @media (max-width: 767px) {
      font-size: 2.4rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.48px;
      margin-bottom: 3rem;
      padding-left: 2em;
      text-indent: -2em;

    }

    &::before {
      position: relative;
      display: inline-block;
      content: "";
      background: url(/images/ice-value/icon-ice01.webp)no-repeat;
      background-size: contain;
      width: 6rem;
      height: 6rem;
      top: 1.7rem;
      padding-right: 1rem;

      @media (max-width: 767px) {
        width: 4rem;
        height: 4rem;
        padding-right: 0.5rem;
        top: 1.1rem;
      }

    }
  }

  .child-heading03--pad {
    @media (max-width: 767px) {
      margin-bottom: 0;
    }
  }

  .child-heading04 {
    position: relative;
    background-image: linear-gradient(171deg, #0d486e, #3a6479 33%, #677f83 47%, #684296 53%, #3b4582 62%, #0d486e 100%, #244778 100%);
    -webkit-background-clip: text;
    background-clip: text;
    background-size: contain;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.48px;
    display: inline-block;
    margin: auto;
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      font-size: 2rem;
      line-height: 2;
      letter-spacing: 0.4px;
      margin-bottom: 2rem;
    }
  }


  /* 下層共通 */

  .intro {
    position: relative;
    z-index: 10;
  }

  .intro__inner {
    display: grid;
    grid-template-columns: 45rem 1fr;
    gap: 3rem;
    align-items: start;
    margin: 0 auto;

    @media (max-width: 767px) {
      align-items: center;
      grid-template-columns: 11rem 1fr;
      gap: 1rem;
    }
  }

  .intro__image {
    img {
      display: block;
      width: 100%;
      height: auto;
    }

    @media (max-width: 767px) {
      grid-column: 1 / 2;
    }
  }

  .intro__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 4rem;

    @media (max-width: 767px) {
      display: contents;
      padding-top: 0;
    }
  }

  .intro__text01 {
    background-image: linear-gradient(171deg, #0d486e, #3a6479 33%, #677f83 47%, #684296 53%, #3b4582 62%, #0d486e 100%, #244778 100%);
    -webkit-background-clip: text;
    background-clip: text;
    background-size: contain;
    -webkit-text-fill-color: transparent;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.76px;

    @media (max-width: 767px) {
      grid-column: 2 / 3;
      font-size: 2.2rem;
      letter-spacing: 0;
    }

    @media (min-width: 500px) and (max-width: 767px) {
      .pctb_none {
        display: none;
      }
    }

  }

  .intro__text02 {
    color: #0D486E;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: -0.36px;

    @media (max-width: 767px) {
      grid-column: 1 / -1;
      font-size: 1.4rem;
      letter-spacing: -0.28px;
    }
  }


  .child-heading01__sub {
    font-size: 3rem;
    font-family: "Be Vietnam Pro", sans-serif;
    color: rgba(255, 255, 255, .3);
    margin-bottom: 2rem;

    @media (max-width: 767px) {
      font-size: 2rem;
    }
  }

  .child-heading01__main {
    color: rgba(255, 255, 255, 0.80);
    font-size: 5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      font-size: 3rem;
      letter-spacing: -1px;
    }
  }

  .contents-wrap {
    max-width: 110rem;
    margin: auto;
    color: #0D486E;
  }

  .scrollBlock {
    position: relative;
  }

  .scrollBlock__sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
  }

  .scrollBlock__inner {
    will-change: transform;
  }

  .scrollBlock__item {
    min-height: 100vh;
    display: grid;
    place-items: center;
  }

  .child-cmn-grid {
    display: grid;
    gap: 0;
    grid-template-columns: 2fr 7fr;



    @media (max-width: 1099px) {
      display: flex;
      flex-direction: column;
      gap: 3rem;
    }

    +.child-cmn-grid {
      margin-top: 5rem;
    }
  }

  .child-cmn-grid__text {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.48px;

    @media (max-width: 767px) {
      font-size: 2rem;
      letter-spacing: 0.4px;
    }
  }

  .child-cmn-grid__text02 {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
    }
  }

  .step-col-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10rem;

    @media (max-width: 1000px) {
      display: flex;
      flex-direction: column;
      gap: 5.5rem;
    }

    .step {
      flex-direction: row-reverse;
      gap: 2rem;
      background-size: cover;
      min-height: 0 !important;

      &::before {
        bottom: 0;
        left: auto;
        top: 50%;
        right: -7.5rem;
        transform: translate(0, -50%) rotate(-90deg);

        @media (max-width: 1000px) {
          width: 3.4rem;
          left: 50%;
          right: auto;
          top: auto;
          bottom: -5rem;
          transform: translate(-50%, 0) rotate(0);
        }
      }

      .step__img {
        width: 24rem;

        @media (max-width: 1000px) {
          margin: auto;
        }

        @media (max-width: 767px) {
          width: 100%;
          margin-top: 1rem;
        }
      }

      .step__img--shift {
        margin-top: -3rem;

        @media (max-width: 767px) {
          margin-top: 0;
        }

        picture {
          @media (min-width: 768px) {
            display: block;
            width: 21rem;
          }
        }
      }


    }

    .step__text-wrap {
      width: calc(100% - 26rem);

      @media (max-width: 767px) {
        width: 100%;
      }
    }

    .step+.step {
      margin-top: 0;
    }

    .step__text01 {
      margin-bottom: 1rem;

      span {
        font-size: 1.6rem;
      }
    }



  }


  .step {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 2.4rem;
    padding: 2rem;
    gap: 2rem;
    align-self: stretch;
    border: 1px solid #FFF;
    background: url(/images/ice-value/bg-panel01.webp)no-repeat;
    background-size: cover;
    background-position: right bottom;
    min-height: 24rem;

    @media (max-width: 767px) {
      display: block;
      background: url(/images/ice-value/bg-panel01-sp.webp)no-repeat;
      background-size: cover;
      background-position: right bottom;
      min-height: 0;
    }

    &::before {
      content: "";
      position: absolute;
      bottom: -5.5rem;
      left: 50%;
      transform: translate(-50%, 0);
      width: 4.6rem;
      height: 4rem;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='46' viewBox='0 0 40 46' fill='none'%3E%3Cg clip-path='url(%23clip0_2197_547)'%3E%3Cpath d='M24.5647 15.9766L40 3.64985L35.4353 6.10352e-05L20 12.3332L4.56466 6.10352e-05L0 3.64985L15.4353 15.983L20 19.6327L24.5647 15.983V15.9766ZM24.5647 29.1603L40 16.8335L35.4353 13.1837L20 25.5168L4.56466 13.1837L0 16.8335L15.4353 29.1603L20 32.8101L24.5647 29.1603ZM20 46.0001L24.5647 42.3566L40 30.0235L35.4353 26.3737L20 38.7068L4.56466 26.3737L0 30.0235L15.4353 42.3566L20 46.0001Z' fill='%2388C6E9'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2197_547'%3E%3Crect width='46' height='40' fill='white' transform='matrix(0 1 -1 0 40 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;

      @media (max-width: 767px) {
        width: 3.4rem;
      }
    }

    &:has(.step__img--multi) {
      .step__text-wrap {
        width: calc(100% - 56rem);

        @media (max-width: 767px) {
          width: 100%;
        }
      }

    }

    .note {
      margin-top: 1rem;
    }
  }

  .step--text-wide {
    @media (min-width: 768px) {
      gap: 0;
    }
  }

  .step--splash {
    &::after {
      position: absolute;
      right: 0;
      bottom: 0;
      content: "";
      background: url(/images/ice-value/safety/bg-step01.webp) no-repeat;
      width: 30rem;
      height: 100%;
      mix-blend-mode: screen;

      @media (max-width: 767px) {
        width: 30%;
        background-position: right bottom;
      }
    }
  }

  .step+.step {
    margin-top: 6.5rem;
  }

  .step--last {
    &::before {
      display: none;
    }
  }

  .step__img {
    width: 26rem;

    @media (max-width: 767px) {
      width: 100%;
      margin-top: 2rem;
      display: block;
    }
  }

  .step__img--wide {
    img {
      @media (max-width: 767px) {
        width: 100% !important;
      }

    }
  }

  .step__img--multi {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 54rem;
    gap: 2rem;
    position: relative;
    z-index: 1;

    @media (max-width: 767px) {
      width: 100%;
    }

  }

  .step__img--over {
    position: absolute;
    top: -3rem;
    right: 0;

    @media (max-width: 767px) {
      position: relative;
      top: 0;
    }
  }

  .step__number {
    font-family: "Be Vietnam Pro";
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 200;
    line-height: 1;
    margin-bottom: 1rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      margin-bottom: 1rem;
    }
  }

  .step__text-wrap {
    position: relative;
    z-index: 1;
    width: calc(100% - 24rem);

    @media (max-width: 767px) {
      width: 100%;
    }


  }

  .step__text01 {
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
    }

    span {
      font-size: 2rem;
      font-style: normal;
      font-weight: 700;
      letter-spacing: 0.4px;

      @media (max-width: 767px) {
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.8;
        letter-spacing: 0.36px;
      }
    }


  }

  .step__text01+.step__text01 {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #fff;

    @media (max-width: 767px) {
      margin-top: 1rem;
      padding-top: 1rem;
    }

  }

  .text-box-white {
    display: flex;
    padding: 2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    align-self: stretch;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.40);
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 2rem;
    }
  }

  .tips {
    position: relative;
    margin-bottom: 2rem;
    font-size: 1.6rem;

    @media (max-width: 767px) {
      padding-left: 5rem;
      font-size: 1.4rem;
      line-height: 1.8;
    }

    &::before {
      content: "";
      position: relative;
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='40' viewBox='0 0 42 40' fill='none'%3E%3Cg clip-path='url(%23clip0_2197_604)'%3E%3Cpath d='M41.1929 39.4028L36.5022 31.2995C38.7083 28.0846 40 24.1931 40 19.9993C40 8.95491 31.0451 0 19.9993 0C8.95341 0 0 8.95491 0 19.9993C0 31.0436 8.95491 39.9985 19.9993 39.9985C25.139 39.9985 29.8268 38.0587 33.3695 34.8722L41.1929 39.4013V39.4028Z' fill='%23FFE100' fill-opacity='0.5'/%3E%3Cpath d='M25.1553 15.1787C27.0397 17.2157 26.3347 19.7467 26.5188 21.1476C26.7313 22.7611 28.6142 23.261 27.4213 24.3626C27.0142 24.7383 25.9276 25.7471 25.9276 25.7471C25.9276 25.7471 24.8455 26.7424 24.5072 27.0567C23.2544 28.2152 22.7979 26.449 21.1755 26.0748C19.8359 25.765 17.3124 26.1631 15.452 24.1515C13.1336 21.6445 13.7173 17.8563 16.3665 15.4062C19.0157 12.956 22.8384 12.6702 25.1553 15.1772V15.1787Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M28.5306 24.3249C28.6668 24.473 28.6459 24.714 28.4827 24.8652L24.8951 28.1819C24.7319 28.3331 24.4895 28.3361 24.3533 28.1879L24.1108 27.9245C23.9746 27.7763 23.9955 27.5353 24.1587 27.3842L27.7463 24.0674C27.9095 23.9163 28.1519 23.9133 28.2881 24.0614L28.5306 24.3234V24.3249Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M29.2684 25.1222C29.4046 25.2704 29.3837 25.5113 29.2205 25.6625L25.6329 28.9807C25.4698 29.1319 25.2273 29.1334 25.0911 28.9867L24.8471 28.7233C24.7109 28.5766 24.7319 28.3342 24.895 28.183L28.4827 24.8662C28.6458 24.7151 28.8883 24.7121 29.0245 24.8603L29.2684 25.1237V25.1222Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M30.0062 25.9203C30.1424 26.0685 30.1215 26.3095 29.9583 26.4606L26.3707 29.7789C26.2075 29.9301 25.965 29.9316 25.8288 29.7849L25.5864 29.5229C25.4502 29.3748 25.4711 29.1338 25.6343 28.9826L29.2219 25.6644C29.3851 25.5132 29.6275 25.5117 29.7637 25.6584L30.0062 25.9203Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M29.9616 26.4695C30.2609 26.7943 29.544 28.2027 28.86 28.8957C28.2373 29.5273 26.7705 30.0227 26.4712 29.6979' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M11.8855 19.2342L8.1272 19.6996L8.09277 18.625L11.8076 18.6983L11.8855 19.2342Z' fill='%230D486E'/%3E%3Cpath d='M12.6579 16.5418L8.95801 15.2382L9.39954 14.2578L12.8241 16.0269L12.6579 16.5418Z' fill='%230D486E'/%3E%3Cpath d='M20.4365 11.2363L21.2403 7.57527L20.1716 7.45703L19.9097 11.118L20.4365 11.2363Z' fill='%230D486E'/%3E%3Cpath d='M17.6466 11.7478L16.7261 8.05542L15.7144 8.41912L17.1198 11.8736L17.6466 11.7478Z' fill='%230D486E'/%3E%3Cpath d='M14.6514 13.8208L11.7852 11.1671L12.5874 10.4502L15.0121 13.4182L14.6514 13.8208Z' fill='%230D486E'/%3E%3Cpath d='M25.8485 25.614C24.958 24.6501 24.0105 23.9316 24.1168 22.405C24.2081 21.0938 24.2859 19.6256 23.6453 18.732C23.2053 18.1184 22.2174 17.6918 21.3868 18.3025C20.1041 19.2454 21.1593 22.0188 21.9675 21.2764C22.7922 20.5191 20.2103 19.6106 19.1821 20.4054C18.8004 20.6987 18.0745 21.6147 18.9905 22.7522C19.9783 23.9795 23.3774 23.538 23.3774 23.538' stroke='%230D486E' stroke-width='0.748363' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2197_604'%3E%3Crect width='41.1929' height='40' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
      width: 4.1193rem;
      height: 4rem;
      top: 1.3rem;
      margin-right: 1rem;

      @media (max-width: 767px) {
        position: absolute;
        display: block;
        width: 4rem;
        height: 4rem;
        background-size: contain;
        left: 0;
        top: 0;
      }

    }

    strong {
      color: #D80010;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 2;
      letter-spacing: 0.32px;
    }

    span {
      font-size: 1.4rem;
    }
  }

  .tips--glass {
    position: relative;
    background-image: linear-gradient(171deg, #0d486e, #3a6479 33%, #677f83 47%, #684296 53%, #3b4582 62%, #0d486e 100%, #244778 100%);
    -webkit-background-clip: text;
    background-clip: text;
    background-size: contain;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.48px;
    display: inline;
    margin: auto;

    @media (max-width: 767px) {
      display: block;
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
      padding-left: 5rem;
    }

    span {
      font-size: 2.8rem;
      letter-spacing: 0.56px;

      @media (max-width: 767px) {
        font-size: 1.6rem;
      }
    }

    &::before {
      @media (max-width: 767px) {
        position: absolute;
        left: 0;
        top: 0;
      }

    }

    &::after {
      content: "";
      position: relative;
      display: inline-block;
      background: url(/images/ice-value/safety/ico-cup.webp)no-repeat;
      background-size: contain;
      width: 10.1rem;
      height: 11.9rem;
      top: 4rem;
      margin-left: -1.5rem;

      @media (max-width: 767px) {
        position: absolute;
        top: -1rem;
        width: 7rem;
        height: 9rem;
        transform: rotate(30deg);
        margin-left: -.8rem;
      }
    }
  }

  .tips--caution {
    color: #D80010;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.48px;
    margin-top: 5rem;
    padding-left: 6rem;

    @media (max-width: 767px) {
      color: #D80010;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1.8;
      letter-spacing: 0.28px;
      padding-left: 5rem;
    }

    &::before {
      display: block;
      position: absolute;
      left: 0;
      top: 0;

    }
  }

  .note {
    padding: 0;
  }

  .note li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.28px;
  }

  .note li::before {
    content: "※";
  }

  .list {

    li {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.32px;
      padding-left: 1em;
      text-indent: -1em;

      @media (max-width: 767px) {
        font-size: 1.4rem;
        letter-spacing: 0.28px;
      }

      &::before {
        content: "・";
      }
    }
  }

  .list-check {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .list-check li {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 2rem;
    padding-left: 3.5rem;
    position: relative;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1.8;
      letter-spacing: 0.28px;
      padding-left: 3.5rem;
    }
  }

  .list-check li::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M22 11.0799V11.9999C21.9988 14.1563 21.3005 16.2545 20.0093 17.9817C18.7182 19.7088 16.9033 20.9723 14.8354 21.5838C12.7674 22.1952 10.5573 22.1218 8.53447 21.3744C6.51168 20.6271 4.78465 19.246 3.61096 17.4369C2.43727 15.6279 1.87979 13.4879 2.02168 11.3362C2.16356 9.18443 2.99721 7.13619 4.39828 5.49694C5.79935 3.85768 7.69279 2.71525 9.79619 2.24001C11.8996 1.76477 14.1003 1.9822 16.07 2.85986' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 4L12 14.01L9 11.01' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: .5rem;
    left: 0;
  }

  .btn-grid {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    max-width: 100rem;
    margin: auto;

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin-top: 2rem;
    }
  }

  .btn01 {
    position: relative;
    display: inline-block;
    padding: 2rem 2.5rem 2rem 3rem;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    color: #fff !important;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    border-radius: 4px;
    background: #D80010;
    border: 1px solid #D80010;
    opacity: 1;
    transition: all .3s ease;

    @media (hover: hover) {
      &:hover {
        background: #fff;
        color: #D80010 !important;

        &::after {
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cg clip-path='url(%23clip0_210_77)'%3E%3Cpath d='M9.75461 4.41213L5.77848 0.47914C5.45381 0.158085 4.93027 0.160683 4.60922 0.485546C4.28816 0.810019 4.29098 1.33355 4.61564 1.65461L7.16166 4.17332H0.826738C0.370234 4.17334 0 4.54336 0 4.99986C0 5.45656 0.370234 5.82658 0.826738 5.82658H7.16164L4.61564 8.3451C4.29098 8.66615 4.28816 9.1899 4.60922 9.51437C4.93027 9.83902 5.45381 9.84184 5.77848 9.52078L9.75461 5.58781C9.91172 5.43229 10 5.22078 10 4.99988C10 4.77893 9.9117 4.56762 9.75461 4.41213Z' fill='%23d80010'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_210_77'%3E%3Crect width='10' height='10' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
        }

        &:visited {
          color: #D80010;
        }
      }
    }

    &:visited {
      color: #fff;
    }
  }

  .btn01::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cg clip-path='url(%23clip0_210_77)'%3E%3Cpath d='M9.75461 4.41213L5.77848 0.47914C5.45381 0.158085 4.93027 0.160683 4.60922 0.485546C4.28816 0.810019 4.29098 1.33355 4.61564 1.65461L7.16166 4.17332H0.826738C0.370234 4.17334 0 4.54336 0 4.99986C0 5.45656 0.370234 5.82658 0.826738 5.82658H7.16164L4.61564 8.3451C4.29098 8.66615 4.28816 9.1899 4.60922 9.51437C4.93027 9.83902 5.45381 9.84184 5.77848 9.52078L9.75461 5.58781C9.91172 5.43229 10 5.22078 10 4.99988C10 4.77893 9.9117 4.56762 9.75461 4.41213Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_210_77'%3E%3Crect width='10' height='10' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 2rem;
    transition: all .3s ease;
  }


  .btn02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1.5px solid #cde0ef;
    padding: 1.5rem 3.2rem;
    cursor: pointer;
    text-decoration: none !important;
    gap: 12px;
    border-radius: 1rem;
    background-color: rgba(255, 255, 255, 0.20);
    box-shadow: 0 0 10px 0 rgba(13, 72, 110, 0.40);
    transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s;

    @media (max-width: 767px) {
      display: flex;
      padding: 1rem 1rem 1rem 2rem;
      justify-content: space-between;
      gap: 1.1677rem;
      align-self: stretch;
      border-radius: 5px;
      background: rgba(255, 255, 255, 0.20);
      box-shadow: 0 0 7.298px 0 rgba(13, 72, 110, 0.40);
    }

    @media (hover: hover) {
      &:hover {
        box-shadow: none;
        background-color: #fff;
      }

    }
  }

  .btn02-text {
    font-size: 1.8rem;
    color: #0d486e;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    font-weight: 700;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .btn02-text strong {
    font-size: 2.8rem;

    @media (max-width: 767px) {
      font-size: 2rem;
    }
  }

  .btn02-icon {
    flex-shrink: 0;
    width: 3.4rem;
    height: 3.4rem;
    background-color: #c0211b;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 5v14M5 12l7 7 7-7' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.6rem 1.6rem;
    border-radius: 50%;

    @media (max-width: 767px) {
      width: 2.8rem;
      height: 2.8rem;
      background-size: 1.2rem 1.2rem;
    }
  }


  .main-contents {
    padding-block: 5rem 10rem;
    border-radius: 10rem 10rem 0 0;
    background: url(/images/ice-value/bg-contents.webp)no-repeat;
    background-size: cover;
    background-position: center top;
    height: 100vh;
    overflow: hidden;
    margin-top: -16rem;
    isolation: isolate;
    transition: border-radius .4s ease;

    @media (max-width: 767px) {
      padding-inline: 1.6rem;
      border-radius: 5rem 5rem 0 0;
      padding-block-start: 2.5rem;
      margin-top: -12rem;
    }

    &.is-pinned {
      border-radius: 0;
    }
  }

  .main-contents-inner {
    position: relative;
    padding-bottom: 4.5rem;

    @media (max-width: 767px) {
      padding-bottom: 0.5rem;
    }
  }

  /* スポーツ活動支援 */
  /* セクション全体 */
  .support {
    position: relative;
    z-index: 1;
    border-radius: 2rem;
    background:
      linear-gradient(180deg, rgba(181, 220, 249, 0.70) 7.79%, rgba(81, 154, 208, 0.70) 41.47%),
      url(/images/ice-value/bg-support.webp) -851.156px 0px / 237.283% 161.573% no-repeat;
    background-color: #fff;
    position: relative;
    overflow: hidden;
    margin-inline: 2rem;
    padding: 4rem 4rem 8rem;

    @media (max-width: 767px) {
      background:
        linear-gradient(180deg, rgba(181, 220, 249, 0.70) 0.03%, rgba(81, 154, 208, 0.70) 30.3%),
        url(/images/ice-value/bg-support-sp.webp) -235.441px 0px / 237.283% 161.573% no-repeat,
        lightgray;
      padding: 4rem 2rem 8rem;
    }
  }

  .support__inner {
    max-width: 110rem;
    margin: 0 auto;
  }

  .support__top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4.8rem;
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 6rem;
      margin-bottom: 4rem;
    }
  }

  /* テキスト */
  .support__text-wrap {
    position: relative;
    flex-shrink: 0;

    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .support__text {
    color: var(--support-text-color);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    margin: 0;
    letter-spacing: 0.48px;

    position: relative;
    z-index: 1;

    @media (max-width: 767px) {
      font-size: 2rem;
    }
  }

  /* 背景の"Support"テキスト */
  .support__bg-text {
    font-family: "Be Vietnam Pro", sans-serif;
    position: absolute;
    left: -1rem;
    bottom: -12rem;
    font-size: 9.6rem;
    font-weight: 200;
    color: var(--support-bg-text-color);
    line-height: 1;
    white-space: nowrap;
    letter-spacing: -2px;
    margin: 0;

    @media (max-width: 767px) {
      font-size: 6.4rem;
      left: auto;
      right: 0;
      bottom: -7.5rem;
    }
  }

  /* メイン画像（リンク付き） */
  .support__main-image {
    display: block;
    position: relative;
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    flex: 1;
    max-width: 74.6rem;
    opacity: 1;
    transition: var(--hover-transition);


    @media (hover: hover) {
      &:hover {
        opacity: var(--hover-opacity);
      }

    }
  }

  .support__main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .support__main-image-label {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 24px;
    color: var(--support-image-text);
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, transparent 100%);

    @media (max-width: 767px) {
      font-size: 16px;
      padding: 12px 16px;
    }
  }



  /* 矢印アイコン */
  .support__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #fff;
    color: var(--support-image-bg);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
  }

  .support__cta {
    text-align: center;
  }

  /* ロゴスライダー */
  .support__slider-wrap {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      gap: 0;
      margin-bottom: 3rem;
    }
  }

  /* Swiper コンテナ */
  .support__slider-wrap .swiper {
    flex: 1;
    min-width: 0;
    overflow: hidden !important;

    @media (max-width: 767px) {
      flex: none;
      width: 100%;
      margin: auto;

    }
  }

  .support__logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 10rem;

    @media (max-width: 767px) {
      width: 23vw;
      aspect-ratio: 29/20;
      margin: auto;

    }
  }

  .support__logo-item img {
    object-fit: contain;
    display: block;
  }

  /* prev/nextボタン */
  .support__slider-btn {
    flex-shrink: 0;
    width: 4.6rem;
    height: 4.6rem;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: var(--hover-transition);


    @media (max-width: 767px) {
      position: absolute;
      width: 3.2rem;
      height: 3.2rem;
      left: .5rem;
      z-index: 5;
    }

    @media (hover: hover) {
      &:hover {
        opacity: var(--hover-opacity);
      }
    }
  }

  .support__slider-btn--next {
    right: .5rem;
    left: auto;
  }

  .support__slider-btn img {
    width: 100%;
    height: auto;
    display: block;

    @media (max-width: 767px) {
      opacity: .85;
    }
  }

}

/*=======================================================
TOPページ
=======================================================*/
.ice-value.top {
  .mv {
    background: #DDE7F3 url(/images/ice-value/mv-bg.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    color: #0D486E;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    min-height: 670px;
    padding-block: 6rem;

    @media (max-width: 767px) {
      background: url(/images/ice-value/mv-bg-sp.webp)no-repeat;
      background-size: 100vw auto;
      background-position: top center;
      font-size: 14px;
      line-height: 1.8;
      min-height: 60vw;
      padding-block: 4rem;
    }
  }

  .mv__inner {
    max-width: 120rem;
    margin: auto;
  }


  .mv-head {
    @media (max-width: 767px) {
      margin-top: -2rem;
    }

    img {
      max-width: 90.4rem;
    }
  }

  .lead {
    margin-top: -15rem;
    background: url(/images/ice-value/bg01.webp)no-repeat;
    background-size: cover;
    background-position: center top;
    padding-block: 30rem;

    @media (min-width: 1400px) {
      margin-top: -20rem;
    }

    @media (max-width: 767px) {
      margin-top: -75vw;
      background: url(/images/ice-value/bg01-sp.webp)no-repeat;
      background-size: cover;
      background-position: center top;
      padding-block: 70vw 65vw;
    }
  }

  .lead__inner {
    max-width: 1000px;
    margin: auto;

    @media (max-width: 767px) {
      padding-inline: 1.6rem;
    }

  }

  .head-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: -2rem;

    @media (max-width: 767px) {
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: center;
    }
  }

  .head-nav__img {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s ease;
    opacity: 1;
  }

  .head-nav__img--hover {
    opacity: 1;
  }

  .head-nav__img--default {
    z-index: 1;
  }

  @media (hover: hover) {
    .head-nav__btn:hover {
      .head-nav__img {
        opacity: 0;
      }

      .head-nav__img--hover {
        opacity: 1;
      }
    }
  }

  .head-nav__btn {
    position: relative;
    top: 17rem;
    z-index: 1;
    display: block;
    width: 394.5px;
    height: auto;
    animation: float 3s ease-in-out 0.0s infinite;
    opacity: 1;
    transition: var(--hover-transition);

    @media (max-width: 767px) {
      top: -3vw;
      margin-top: -8vw;
      z-index: 1;
      display: block;
      width: 50%;
      order: 2;
      left: 0;
    }
  }

  .head-nav__btn.head-nav__btn--left {
    width: 392.5px;
    left: 4.5rem;

    @media (max-width: 767px) {
      width: 50%;
      left: 0;
    }
  }

  .head-nav__btn.head-nav__btn--center {
    top: 0;
    animation: float 3s ease-in-out 1s infinite;
    width: 420.5px;

    @media (max-width: 767px) {
      width: 62%;
      order: 1;

    }


  }

  .head-nav__btn.head-nav__btn--right {
    animation: float 3s ease-in-out .5s infinite;
    width: 392.5px;
    top: 18rem;

    @media (max-width: 767px) {
      width: 57%;
      margin-left: -7%;
      order: 3;
      clip-path: polygon(52.1% 3.3%, 32.4% 11.0%, 9.5% 30.9%, 8.8% 35.4%, 17.8% 56.4%, 6.2% 60.8%, 3.9% 65.2%, 3.5% 74.0%, 5.8% 80.7%, 10.4% 84.0%, 40.7% 85.1%, 53.7% 87.3%, 66.0% 92.8%, 87.5% 90.6%, 94.0% 78.5%, 96.1% 61.9%, 92.1% 33.1%, 79.6% 8.8%, 59.3% 3.3%);
      top: -2vw;
    }
  }

  .lead__txt {
    color: #0D486E;
    text-align: center;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    font-size: 2.4rem;
    line-height: 2;
    letter-spacing: 0.48px;
    margin-top: 6rem;

    @media (max-width: 767px) {
      font-size: 1.6rem;
      letter-spacing: 0.32px;
      margin-top: 4rem;
    }


    +.lead__txt {
      margin-top: 2rem;

      @media (max-width: 767px) {
        margin-top: 1.5rem;
      }
    }
  }

  /* report */
  .report-section {
    padding-left: max(40px, calc((100vw - 1200px) / 2 + 40px));
    padding-right: 0;
    padding-top: 100px;

    @media (max-width: 767px) {
      padding-left: 1.6rem;
    }

    .u-text-center:has(.btn01) {
      padding-right: 1.6rem;
    }
  }

  .report-section__inner {
    display: flex;
    gap: 4.7rem;

    @media (max-width: 767px) {
      margin-bottom: 3rem;
    }

  }

  .report-section__left {
    flex: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    width: 31rem;
    padding-bottom: 7rem;

    @media (max-width: 767px) {
      padding-bottom: 3rem;
    }
  }

  .report-section__right {
    width: max(70%, calc(70% + (100vw - 1200px) / 2));
    min-width: 0;
    overflow: hidden;
    padding-right: 2.4rem;
  }

  .report-slider {
    padding: 0;

    .swiper-slide {
      height: auto;
      width: 29rem;
    }

    .swiper-wrapper {
      align-items: stretch;
    }

    a {
      text-decoration: none;

      @media (hover: hover) {
        &:hover {
          opacity: var(--hover-opacity);
        }
      }
    }
  }

  .slider-wrapper {
    overflow: visible;
  }

  .swiper {
    overflow: visible;
  }


  .report-card {
    display: flex;
    padding: 20px;
    flex-direction: column;
    justify-content: start;
    height: 100%;
    gap: 1.5rem;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.40);
  }

  .report-card__image {
    width: 100%;
    aspect-ratio: 250 / 160;
    object-fit: cover;
    display: block;
    overflow: hidden;
  }

  .report-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .report-card__date {
    font-size: 13px;
    color: #888;
  }

  .report-card__text {
    font-size: 15px;
    color: #222;
    line-height: 1.6;
  }

  .slider-nav {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 24px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    position: static;
    margin: 0;
    width: 4.6rem;
    height: 4.6rem;
    cursor: pointer;
    opacity: 1;
    transition: var(--hover-transition);

    svg {
      display: none;
    }

    @media (hover: hover) {
      &:hover {
        opacity: var(--hover-opacity);
      }
    }
  }

  .swiper-button-prev {
    background: url(/images/ice-value/btn-prev.webp)no-repeat;
    background-size: contain;
  }

  .swiper-button-next {
    background: url(/images/ice-value/btn-next.webp)no-repeat;
    background-size: contain;
  }

  .swiper-button-prev.swiper-button-disabled,
  .swiper-button-next.swiper-button-disabled {
    opacity: 0.3;
    cursor: default;
  }



  .section-wave01 {
    margin-top: -30rem;
    background: url(/images/ice-value/bg-wave01.webp)no-repeat;
    background-size: auto;
    background-position: center top;
    padding-top: 15rem;

    @media (max-width: 767px) {
      margin-top: -40vw;
      background: url(/images/ice-value/bg-wave01-sp.webp)no-repeat;
      background-size: 100%;
      background-position: center top;
    }
  }

  .section-wave01__inner {
    position: relative;
    width: 100%;
    max-width: 111rem;
    margin: auto;
    padding-inline: 2rem;
    padding-bottom: 20rem;

    @media (max-width: 767px) {
      width: 100%;
      padding-top: 15vw;
      padding-inline: 1.6rem;
      padding-bottom: 30vw;
    }

    &::before {
      content: "";
      position: absolute;
      top: -15rem;
      left: -10vw;
      background: url(/images/ice-value/img-quality.webp)no-repeat;
      background-size: contain;
      width: 75rem;
      height: 75rem;

      @media (max-width: 767px) {

        background: url(/images/ice-value/img-quality-sp.webp)no-repeat;
        background-size: contain;
        top: -22rem;
        left: 0;
        width: 100vw;
        max-width: 60rem;
      }
    }
  }

  .section-wave01__body {
    position: relative;
    z-index: 1;
    margin-left: auto;
    width: 56rem;

    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .section-wave01--perfomance {
    position: relative;
    margin-top: -25.5rem;
    z-index: 1;
    padding-top: 21rem;

    @media (max-width: 767px) {
      margin-top: -20vw;
      padding-top: 10vw;
    }

    .section-wave01__inner {
      &::before {
        content: "";
        position: absolute;
        top: -10rem;
        left: 0;
        background: url(/images/ice-value/img-performance.webp)no-repeat;
        background-size: contain;
        width: 70rem;
        height: 70rem;

        @media (min-width: 768px) and (max-width: 1000px) {
          width: 50rem;
          height: 50rem;
          opacity: .6;
        }



        @media (max-width: 767px) {
          background: url(/images/ice-value/img-performance-sp.webp)no-repeat;
          background-size: contain;
          width: 108vw;
          left: -4.6rem;
          top: -15vw;

        }

      }

      @media (max-width: 767px) {

        padding-top: min(85vw, 450px);
      }
    }



    /* ウィンドウ幅を縮めた時用 */
    @media (min-width: 768px) and (max-width: 1000px) {
      .copy-text {
        text-align: right;
        font-size: 3.6rem;
      }

      .body-text {
        text-align: right;
      }

      .btn01-wrap {
        text-align: right;
      }
    }

  }



  .section-wave02 {
    position: relative;
    margin-top: -20rem;
    background: url(/images/ice-value/bg-wave02.webp)no-repeat;
    background-size: auto;
    background-position: center top;
    padding-top: 20rem;
    overflow: hidden;

    @media (max-width: 767px) {
      background: url(/images/ice-value/bg-wave02-sp.webp)no-repeat;
      background-size: 100%;
      background-position: center top;
      margin-top: -18vw;
      padding-top: 44vw
    }

  }

  .section-wave02__inner {
    position: relative;
    width: 100%;
    max-width: 111rem;
    margin: auto;
    padding-bottom: 20rem;

    @media (min-width: 768px) and (max-width: 1279px) {
      width: 100%;
      padding-inline: 2rem;
      margin: auto;
    }

    @media (max-width: 767px) {
      width: 100%;
      padding-top: 0;
      padding-inline: 1.6rem;
    }

    &::before {
      content: '';
      position: absolute;
      top: -18rem;
      right: -20rem;
      width: 78rem;
      height: 73rem;
      background: url("/images/ice-value/img-safety01.webp")no-repeat;
      background-size: contain;
      mix-blend-mode: screen;
      z-index: 1;

      @media (max-width: 767px) {
        width: 73.4vw;
        top: -30vw;
        right: -2.1rem;

        background: url("/images/ice-value/img-safety01-sp.webp")no-repeat;
        background-size: contain;

      }
    }

    &::after {
      content: '';
      position: absolute;
      top: 3rem;
      right: -3rem;
      width: 41.2rem;
      height: 61.4rem;
      background: url("/images/ice-value/img-safety02.webp")no-repeat;
      background-size: contain;
      z-index: 1;

      @media (max-width: 767px) {
        top: -42vw;
        right: 0;
        width: 50vw;
      }
    }
  }

  .section-wave02__body {
    margin-right: auto;
    width: 65.9rem;
    position: relative;
    z-index: 2;

    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .section-wave02 .top-heading02 {
    @media (max-width: 767px) {
      align-items: flex-start;
    }
  }

  .copy-text {
    color: #0D486E;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.76px;
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      font-size: 2.4rem;
      letter-spacing: 0;
    }
  }

  .body-text {
    color: #0D486E;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.32px;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  /* SP */
  @media (max-width: 767px) {

    .report-section__inner {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 24px;
    }

    .report-section__heading {
      order: 1;
      width: 100%;
    }

    .report-section__right {
      order: 2;
      width: 100%;
      flex: none;
    }

    .report-section__btn {
      order: 3;
      width: 100%;
    }
  }


  .top-heading01 {
    display: flex;
    flex-direction: column;
    gap: 3rem;

    @media (max-width: 767px) {
      gap: 2rem;
    }
  }

  .top-heading01__sub {
    font-family: "Be Vietnam Pro", sans-serif;
    font-weight: 200;
    font-size: 9.6rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.3);

    @media (max-width: 767px) {
      font-size: 4.8rem;
    }
  }

  .top-heading01__main {
    color: rgba(255, 255, 255, 0.80);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.4px;

    @media (max-width: 767px) {
      font-size: 1.6rem;
    }
  }

  .top-heading02 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2rem;
    color: #0D486E;
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      margin-bottom: 5rem;
    }

  }

  .top-heading02--left {
    align-items: flex-start;
  }

  .top-heading02__main {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.4px;

    @media (max-width: 767px) {
      font-size: 1.6rem;
    }
  }

  .top-heading02__sub {
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 6.4rem;
    font-weight: 200;
    line-height: 1;


    @media (max-width: 767px) {
      font-size: 4.2rem;
    }
  }

  .top-heading02__sub,
  .top-heading02__main {
    position: relative;
    display: inline-block;
    /* はみ出さないように */
  }

  .top-heading02__sub::after,
  .top-heading02__main::after {
    content: attr(data-text);
    /* テキストをそのまま複製 */
    position: absolute;
    inset: 0;
    background-image: url("/images/ice-value/prism.webp");
    background-size: cover;
    background-position: center;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    pointer-events: none;
    z-index: 1;
  }



  .support {
    margin-top: -10rem;

    @media (max-width: 767px) {
      margin-top: -10vw;
    }
  }

}

/*=======================================================
活動レポート
=======================================================*/
.ice-value.report {

  .main-contents {
    position: relative;
    z-index: 2;
    margin-top: -16rem;

    @media (max-width: 767px) {
      margin-top: -11rem;
    }

    .contents-wrap {
      max-width: 100rem;
    }


  }



  .report-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 16px;
      margin-bottom: 5rem;
    }
  }

  .report-card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.40);
    padding: 2rem;
    transition: box-shadow 0.2s;

    &:hover {
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    }
  }

  .report-card__img-wrap {
    overflow: hidden;
    aspect-ratio: 28 / 16;
    background: #e8e6e0;

    .report-card:hover & img {
      transform: scale(1.07);
    }
  }

  .report-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }


  .report-card__body {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    color: #0D486E;

    @media (max-width: 767px) {
      gap: .8rem;
    }
  }

  .report-card__date {
    color: #0D486E;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.32px;
    line-height: 1;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .report-card__title {
    color: #0D486E;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .report-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding-top: .5rem;
  }

  .report-card__tag {
    display: flex;
    padding: .6rem 1rem;
    align-items: center;
    gap: 1rem;
    border-radius: .4rem;
    background: #0D486E;
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1;

  }

  .report-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;

    @media (max-width: 767px) {
      gap: 2px;
    }
  }

  .report-pagination__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 14px;
    color: #0D486E;
    text-decoration: none;
    transition: background 0.2s;


  }

  a.report-pagination__item {
    @media (hover: hover) {
      &:hover {
        text-decoration: underline;
      }
    }
  }

  .report-pagination__item--current {
    background: #0D486E;
    color: #fff;
    font-weight: 600;

    @media (hover: hover) {
      &:hover {
        text-decoration: none;
      }
    }
  }

  .report-pagination__item--ellipsis {
    cursor: default;
    width: 10px;
    height: 10px;

    @media (hover: hover) {
      &:hover {
        background: none;
        color: #111111;
        text-decoration: none;
      }
    }
  }

  .report-pagination__item--prev,
  .report-pagination__item--next {
    width: auto;
    padding: 0 8px;
    border-radius: 6px;
    gap: 4px;
    font-size: 14px;
    font-weight: 700;

    @media (hover: hover) {
      &:hover {
        background: none;
        color: #1a3f5c;
      }
    }
  }

  .report-pagination__item--prev {
    margin-right: 1rem;
  }

  .report-pagination__item--next {
    margin-left: 1rem;
  }


  /* 記事詳細 */
  .report-article {
    max-width: 90rem;
    margin: auto;
  }

  .report-article__team {
    text-align: center;

    span {
      display: inline-block;
      background: #CDD8DE;
      font-size: 1.4rem;
      padding: 1rem 5rem;
      font-weight: 700;
      border-radius: .2rem;
      margin-bottom: 3rem;
      margin-top: 2rem;

      @media (max-width: 767px) {
        padding: 1rem 2rem;
      }

    }

  }

  .report-article__date {
    color: #0D486E;
    font-size: 1.6rem;
    letter-spacing: 1.28px;
    margin-bottom: 1rem;
  }

  .report-article__title {
    color: #0D486E;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.28px;
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      color: #0D486E;
      font-size: 2.4rem;
      line-height: 1.8;
      letter-spacing: 0.48px;
      margin-bottom: 2rem;
    }
  }

  .report-article__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding-top: .5rem;
    margin-bottom: 5rem;
  }

  .report-article__tags li {
    display: flex;
    padding: .6rem 1rem;
    align-items: center;
    gap: 1rem;
    border-radius: .4rem;
    background: #0D486E;
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1;
  }

  .report-article__body {
    color: #0D486E;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.64px;
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 5rem;
    }

    /* ウィジウィグ */
    img {
      width: auto;
      max-width: 100%;
    }

    table {
      border: 1px solid transparent;
      width: 100%;

      @media (max-width: 767px) {
        width: 100% !important;
      }
    }

    td:has(img) {
      padding: 1rem;
    }

    table:has(img) {
      width: 90rem;
      table-layout: fixed;
      border-collapse: collapse;
      margin: auto;

      @media (max-width: 767px) {
        width: 100%;
        display: flex;
        flex-direction: column;
      }

      td,
      th {
        width: auto !important;
        height: auto !important;
        line-height: 1.2;
        padding-inline: 1rem;

        @media (max-width: 767px) {
          display: block;
        }
      }


      tbody {
        @media (max-width: 767px) {
          display: flex;
          flex-direction: column;
        }
      }

      tr {
        @media (max-width: 767px) {
          display: contents;
        }
      }

      tr>td {
        padding-bottom: 2rem;
      }

      tr:first-child>td {
        padding-bottom: 0;
      }

      /* 画像行 */
      tr:nth-child(1) td:nth-child(1) {
        order: 1;
      }

      tr:nth-child(1) td:nth-child(2) {
        order: 3;
      }

      tr:nth-child(1) td:nth-child(3) {
        order: 5;
      }

      tr:nth-child(1) td:nth-child(4) {
        order: 7;
      }

      tr:nth-child(1) td:nth-child(5) {
        order: 9;
      }

      /* キャプション行 */
      tr:nth-child(2) td:nth-child(1) {
        order: 2;
      }

      tr:nth-child(2) td:nth-child(2) {
        order: 4;
      }

      tr:nth-child(2) td:nth-child(3) {
        order: 6;
      }

      tr:nth-child(2) td:nth-child(4) {
        order: 8;
      }

      tr:nth-child(2) td:nth-child(5) {
        order: 10;
      }

      img {
        width: 100%;
        max-width: 100%;
      }
    }


  }

  .report-article__btn {
    text-align: center;

    a {
      position: relative;
      color: #0D486E;
      font-family: "Be Vietnam Pro", sans-serif;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.8;
      text-decoration: none;

      &::before {
        position: relative;
        display: inline-block;
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M6.06152 10.5087L1.06152 5.92539L6.06152 0.508728' stroke='%230D486E' stroke-width='1.5'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        width: .5rem;
        height: 1rem;
        margin-right: 1rem;

      }

      @media (hover: hover) {
        &:hover {
          text-decoration: underline;
        }
      }
    }
  }


}

/*=======================================================
スポーツアイシング
=======================================================*/
.ice-value.performance {
  .intro__inner {
    @media (min-width: 768px) {
      grid-template-columns: 43rem 1fr;
      gap: 0rem;
    }
  }

  .support {
    @media (max-width: 767px) {
      margin-inline: 0;
    }

  }

  .icing {
    margin-bottom: 7rem;
  }

  .sports-icing {
    margin-top: 8rem;
  }

  .sports-icing__head {
    max-width: 100rem;
    margin: auto;
  }

  .sports-icing__text {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 5rem;

    @media (max-width: 767px) {
      text-align: center;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 3rem;
    }
  }



  .use-case-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    margin-bottom: 5rem;

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 3rem;
      margin-bottom: 6rem;
    }
  }

  .use-case-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .use-case-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 4px;
    justify-content: center;
  }

  .use-case-tag {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.6rem;
    font-weight: 700;
    white-space: nowrap;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 2;
      letter-spacing: 0.28px;
    }
  }

  .use-case-tag::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M22 11.08V12C21.9988 14.1564 21.3005 16.2547 20.0093 17.9818C18.7182 19.709 16.9033 20.9725 14.8354 21.5839C12.7674 22.1953 10.5573 22.1219 8.53447 21.3746C6.51168 20.6273 4.78465 19.2461 3.61096 17.4371C2.43727 15.628 1.87979 13.4881 2.02168 11.3363C2.16356 9.18455 2.99721 7.13631 4.39828 5.49706C5.79935 3.85781 7.69279 2.71537 9.79619 2.24013C11.8996 1.7649 14.1003 1.98232 16.07 2.85999' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 4L12 14.01L9 11.01' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
  }

  .use-case-label {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-left: 2px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      letter-spacing: 0.28px;
    }
  }





  .icing__head-text {
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 5rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
    }
  }

  .price-text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 3rem;
    }

    strong {
      font-size: 2rem;
      font-weight: 700;
      line-height: 2;
      letter-spacing: 0.4px;
    }
  }

  /* priceスライド */
  .price-slide {
    display: flex;
    justify-content: space-between;

    @media (max-width: 767px) {
      display: grid;
      grid-template-columns: 50% 45%;
      gap: 5%;
      align-items: start;
    }
  }

  .price-slide__main {
    width: 46rem;
    display: grid;
    gap: 5rem;

    @media (max-width: 767px) {
      width: 100%;
      gap: 3rem;
    }
  }

  .price-slide__texts {
    position: relative;
  }

  .price-slide__text {
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: url(/images/ice-value/bg-panel01.webp)no-repeat;
    background-size: cover;
    border: 1px solid #fff;
    padding: 2rem;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      letter-spacing: 0.28px;
      padding: 1rem;
    }
  }

  .price-slide__desc {
    border-bottom: 1px solid #fff;
    font-family: "Be Vietnam Pro";
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 200;
    line-height: 1;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 400;
      line-height: 1;
    }

    span {
      font-size: 2.4rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.48px;
      padding-left: 3rem;

      @media (max-width: 767px) {
        font-size: 1.6rem;
        letter-spacing: 0.32px;
        padding-left: 1rem;
      }

      &:first-child {
        font-family: "Be Vietnam Pro";
        font-size: 4.8rem;
        font-weight: 400;
        line-height: 1;
        padding-left: 0;

        @media (max-width: 767px) {
          font-size: 2rem;
        }
      }
    }
  }

  .price-slide__text.is-active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
  }

  .price-slide__nav {
    display: grid;
    gap: 1rem;
  }

  .price-slide__nav div {
    width: 31.4rem;
    padding: 1.4rem 2rem;
    align-items: center;
    gap: 2rem;
    cursor: pointer;
    background: url(/images/ice-value/bg-panel01.webp)no-repeat;
    background-size: 100%;
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 200;
    line-height: 1;
    border: 1px solid #fff;
    display: grid;
    grid-template-columns: 7fr 3fr;
    opacity: 1;
    transition: opacity .3s;

    @media (max-width: 767px) {
      padding: 1.4rem 0.8rem;
      width: 100%;
      font-size: 1.4rem;
    }

    @media (hover: hover) {
      &:hover {
        opacity: .6;
      }
    }


  }


  .price-slide__nav div.is-active {
    background: #0D486E;
    color: #fff;
    position: relative;

    &::before {
      content: "";
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='12' viewBox='0 0 6 12' fill='none'%3E%3Cpath d='M0 0L6 6L0 12V0Z' fill='%230D486E'/%3E%3C/svg%3E")no-repeat;
      background-size: contain;
      width: .6rem;
      height: 1.2rem;
      position: absolute;
      top: 50%;
      left: -1.2rem;
      transform: translate(0, -50%);
    }
  }

  .price-slide__nav-english {

    font-family: "Be Vietnam Pro";

    span {
      font-size: 2.4rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: 0.48px;

      &:first-child {
        font-family: "Be Vietnam Pro";
        font-size: 3.2rem;
        font-style: normal;
        font-weight: 400;
        line-height: 1;

        @media (max-width: 767px) {
          font-size: 1.6rem;
        }
      }
    }
  }

  .price-slide__nav-japanese {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.48px;

    @media (max-width: 767px) {
      font-size: 1.2rem;
    }
  }

  .cooling__head-text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 10rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 5rem;
    }
  }

  .care {
    margin-top: 5rem;

    @media (max-width: 767px) {
      margin-top: 3rem;
    }
  }

  .care__inner {
    display: flex;
    gap: 9rem;

    @media (max-width: 767px) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
  }

  .care__left {
    flex: 1;

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
    }
  }

  .care__right {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    flex: 1;

    @media (max-width: 767px) {
      justify-content: space-between;
      gap: 0;
    }

    .care__item:last-child {
      .care__list {
        min-height: 0;
      }
    }
  }

  .care__item {
    display: flex;
    gap: 2rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 0;
    }
  }

  .care__img {
    display: block;
    width: 24rem;
    height: auto;
    object-fit: cover;

    @media (max-width: 767px) {
      width: 100%;
    }

    @media (max-width: 767px) {
      order: 1;
    }
  }

  .care__img--sub {
    width: 26rem;

    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .care__list {
    list-style: none;
    padding: 0;
    margin: 0;

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      order: 0;
      min-height: 12.6rem;
    }
  }

  .care__list-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 1rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .care__list-item::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M22 11.08V12C21.9988 14.1564 21.3005 16.2547 20.0093 17.9818C18.7182 19.709 16.9033 20.9725 14.8354 21.5839C12.7674 22.1953 10.5573 22.1219 8.53447 21.3746C6.51168 20.6273 4.78465 19.2461 3.61096 17.4371C2.43727 15.628 1.87979 13.4881 2.02168 11.3363C2.16356 9.18455 2.99721 7.13631 4.39828 5.49706C5.79935 3.85781 7.69279 2.71537 9.79619 2.24013C11.8996 1.7649 14.1003 1.98232 16.07 2.85999' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 4L12 14.01L9 11.01' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }

  .care-after {
    margin-top: 5rem;

    @media (max-width: 767px) {
      margin-top: 3rem;
    }
  }

  .care-after__inner {
    display: flex;
    gap: 4.5rem;

    @media (max-width: 767px) {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }


  }

  .care-after__item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
  }

  .care-after__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .care-after__list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .care-after__list-item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .care-after__list-item::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M22 11.08V12C21.9988 14.1564 21.3005 16.2547 20.0093 17.9818C18.7182 19.709 16.9033 20.9725 14.8354 21.5839C12.7674 22.1953 10.5573 22.1219 8.53447 21.3746C6.51168 20.6273 4.78465 19.2461 3.61096 17.4371C2.43727 15.628 1.87979 13.4881 2.02168 11.3363C2.16356 9.18455 2.99721 7.13631 4.39828 5.49706C5.79935 3.85781 7.69279 2.71537 9.79619 2.24013C11.8996 1.7649 14.1003 1.98232 16.07 2.85999' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 4L12 14.01L9 11.01' stroke='%230D486E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }


  .ice-massage {
    margin-block: 5rem;
    padding-block: 5rem;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;

    @media (max-width: 767px) {
      margin-block: 3rem;
      padding-bottom: 3rem;
    }
  }

  .ice-massage__inner {
    display: flex;
    gap: 2rem;
    align-items: center;

    @media (max-width: 767px) {
      align-items: flex-start;
      gap: 1rem;
    }
  }

  .ice-massage__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    max-width: 25rem;

    @media (max-width: 767px) {
      max-width: 35vw;
    }
  }

  .ice-massage__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    @media (max-width: 767px) {
      width: 75%;
      gap: 0.5rem;
    }
  }

  .ice-massage__title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.36px;

    @media (max-width: 767px) {
      font-size: 1.6rem;
      letter-spacing: 0.32px;
    }
  }

  .ice-massage__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
    }
  }

  .merit {
    margin-bottom: 10rem;
  }

  .merit__icon {
    display: block;
    flex-shrink: 0;
    width: 4rem;
  }

  .merit__inner {
    display: flex;
    gap: 2rem;

    @media (max-width: 767px) {
      align-items: start;
    }
  }

  .merit__img {
    display: block;
    height: auto;
    object-fit: cover;
    width: 7rem;
    height: 11rem;
  }

  .merit__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      letter-spacing: 0.28px;
    }
  }

  .profile {
    padding-bottom: 10rem;
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      margin-bottom: 5rem;
      padding-bottom: 0;
    }
  }

  .profile__lead {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 2rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 500;
      letter-spacing: 0.28px;
    }
  }

  .profile__inner {
    display: flex;
    gap: 6rem;
    align-items: center;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 2rem;
    }
  }

  .profile__img {
    display: block;
    flex-shrink: 0;
    width: 19rem;
    border-radius: 50%;
    height: auto;
    object-fit: cover;

    @media (max-width: 767px) {
      width: 30%;
    }
  }

  .profile__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .profile__name {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.36px;

    @media (max-width: 767px) {
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.8;
      letter-spacing: 0.32px;
    }
  }

  .profile__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      letter-spacing: 0.28px;
    }
  }

  .book {
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      margin-bottom: 5rem
    }
  }

  .book__inner {
    max-width: 56.8rem;
    margin: 0 auto;
  }

  .book__inner a {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    background-color: #D80010;
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.36px;
    color: #FFF;
    border-radius: .4rem;
    margin-bottom: 1rem;
    position: relative;
    transition: background-color 0.3s ease, color 0.3s ease;
    border: 1px solid #D80010;

    @media (max-width: 767px) {
      display: block;
      font-size: 1.4rem;
      line-height: 1.2;
      letter-spacing: 0.28px;
      padding: 1.5rem 3rem;
    }

    &::after {
      content: "";
      display: block;
      flex-shrink: 0;
      width: 2.4rem;
      height: 2.4rem;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 10L12 15L17 10' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 15V3' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;
      transition: background-image 0.3s ease;

      @media (max-width: 767px) {
        position: absolute;
        top: 50%;
        right: 2rem;
        transform: translate(0, -50%);
      }
    }

    @media (hover: hover) {
      &:hover {
        background-color: #FFF;
        color: #D80010;

        span {
          color: #D80010;
        }

        &::after {
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15' stroke='%23D80010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 10L12 15L17 10' stroke='%23D80010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 15V3' stroke='%23D80010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        }
      }
    }
  }

  .book__inner a span {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.56px;
    color: #FFF;

    transition: color 0.3s ease;

    @media (max-width: 767px) {
      font-size: 2rem;
      line-height: 1.2;
      letter-spacing: 0.4px;
    }
  }

  .book__inner p {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: normal;

    @media (max-width: 767px) {
      line-height: 1.8;
      letter-spacing: 0.28px;
    }
  }
}

.ice-value.safety {

  .intro__image {

    position: relative;
    left: -3rem;
    width: 95%;

    @media (max-width: 767px) {
      top: 2vw;
      left: -4vw;
      width: 100%;
    }
  }

  .child-cmn-grid {
    grid-template-columns: 3fr 7fr;
  }

  .btns {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4rem;

    @media (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 2rem;
      margin-top: 4.5rem;
    }

    .btn02-text {
      @media (max-width: 767px) {
        font-size: 1.8rem;
      }
    }
  }

  .point-list-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;

    @media (max-width: 767px) {
      align-items: flex-end;
      margin-bottom: 3rem;
    }
  }

  .point-list {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
    padding: 0;
    margin: 0;

    @media (max-width: 767px) {
      flex-direction: column;
      align-items: flex-start;
    }
  }

  .point-list__item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    gap: 8px;
    border-radius: 4px;
    background: rgba(13, 72, 110, 0.20);
    padding: 1rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }

    span {
      font-size: 2rem;

      @media (max-width: 767px) {
        font-size: 1.8rem;
      }
    }
  }

  .cooldown {
    margin-top: 16rem;

    @media (max-width: 767px) {
      margin-top: 4rem;
    }

    .child-heading02-wrap {
      @media (max-width: 767px) {
        margin-bottom: 1.5rem;
      }
    }
  }

  .cooldown__text01 {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 5rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-bottom: 3rem;
    }
  }

  .experiment-wrap {
    margin-top: 8rem;

    @media (max-width: 767px) {
      margin-top: 5rem;
    }
  }

  .experiment {
    display: flex;
    padding: 2rem;
    align-items: flex-start;
    gap: 2rem;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.40);
    margin-top: 3rem;

    @media (max-width: 767px) {
      margin-top: 2rem;
    }
  }

  .experiment__inner {
    display: flex;
    align-items: start;
    gap: 2rem;

    @media (max-width: 767px) {
      display: block;
    }
  }

  .experiment__inner--labelless {
    padding-inline: 2rem;

    @media (max-width: 767px) {
      padding-inline: 0;
    }

    .experiment__images {
      gap: 3rem;

      @media (max-width: 767px) {
        gap: 1rem;
      }
    }
  }

  .experiment__label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    color: #0D486E;
    font-size: 3rem;

    @media (max-width: 767px) {
      flex-direction: row;
      justify-content: flex-start;
      margin-bottom: 1rem;
    }

    p {
      padding: 0 1rem;
      width: 100%;
      text-align: center;
      display: block;
      border-radius: 4px;
      background: #0D486E;
      color: #FFF;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 2;
      letter-spacing: 0.32px;
      white-space: nowrap;

      @media (max-width: 767px) {
        color: #FFF;
        font-size: 1.4rem;
        letter-spacing: 0.28px;
      }
    }
  }

  .experiment__label--single {
    display: inline-block;
    margin-bottom: 1rem;

    @media (max-width: 767px) {
      margin-bottom: 2rem;
    }
  }

  .experiment__images {
    display: flex;
    align-items: center;
    gap: 1rem;
  }


  .experiment__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 12.8rem;

    @media (max-width: 767px) {
      min-height: 0;
    }
  }

  .experiment__img {
    display: block;
    width: 100%;
    height: auto;
  }

  .experiment__caption {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.32px;
    flex: 1;
    margin-top: 1rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      letter-spacing: 0.28px;
      line-height: 1.2;
    }
  }

  .experiment__arrow {
    flex-shrink: 0;
  }

  .experiment-text01 {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-top: 5rem;
    margin-bottom: 2rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
      margin-top: 2rem;
    }
  }


  .point {
    display: flex;
    gap: 5rem;
    margin-top: 8rem;
    margin-bottom: 8rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 2rem;
      margin-top: 5rem;
    }
  }

  .point__text {
    position: relative;
    background-image: linear-gradient(133deg, #0d486e, #3a6479 25%, #677f83 33%, #684296 41%, #0d486e);

    -webkit-background-clip: text;
    background-clip: text;
    background-size: contain;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.56px;
    display: inline-block;
    margin: 0 auto;
    padding-left: 5.5rem;

    @media (max-width: 767px) {
      display: block;
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: 0.28px;
      padding-left: 4rem;
      margin: 0;
    }

    &::before {
      content: "";
      position: absolute;
      display: block;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='40' viewBox='0 0 42 40' fill='none'%3E%3Cg clip-path='url(%23clip0_2197_604)'%3E%3Cpath d='M41.1929 39.4028L36.5022 31.2995C38.7083 28.0846 40 24.1931 40 19.9993C40 8.95491 31.0451 0 19.9993 0C8.95341 0 0 8.95491 0 19.9993C0 31.0436 8.95491 39.9985 19.9993 39.9985C25.139 39.9985 29.8268 38.0587 33.3695 34.8722L41.1929 39.4013V39.4028Z' fill='%23FFE100' fill-opacity='0.5'/%3E%3Cpath d='M25.1553 15.1787C27.0397 17.2157 26.3347 19.7467 26.5188 21.1476C26.7313 22.7611 28.6142 23.261 27.4213 24.3626C27.0142 24.7383 25.9276 25.7471 25.9276 25.7471C25.9276 25.7471 24.8455 26.7424 24.5072 27.0567C23.2544 28.2152 22.7979 26.449 21.1755 26.0748C19.8359 25.765 17.3124 26.1631 15.452 24.1515C13.1336 21.6445 13.7173 17.8563 16.3665 15.4062C19.0157 12.956 22.8384 12.6702 25.1553 15.1772V15.1787Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M28.5306 24.3249C28.6668 24.473 28.6459 24.714 28.4827 24.8652L24.8951 28.1819C24.7319 28.3331 24.4895 28.3361 24.3533 28.1879L24.1108 27.9245C23.9746 27.7763 23.9955 27.5353 24.1587 27.3842L27.7463 24.0674C27.9095 23.9163 28.1519 23.9133 28.2881 24.0614L28.5306 24.3234V24.3249Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M29.2684 25.1222C29.4046 25.2704 29.3837 25.5113 29.2205 25.6625L25.6329 28.9807C25.4698 29.1319 25.2273 29.1334 25.0911 28.9867L24.8471 28.7233C24.7109 28.5766 24.7319 28.3342 24.895 28.183L28.4827 24.8662C28.6458 24.7151 28.8883 24.7121 29.0245 24.8603L29.2684 25.1237V25.1222Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M30.0062 25.9203C30.1424 26.0685 30.1215 26.3095 29.9583 26.4606L26.3707 29.7789C26.2075 29.9301 25.965 29.9316 25.8288 29.7849L25.5864 29.5229C25.4502 29.3748 25.4711 29.1338 25.6343 28.9826L29.2219 25.6644C29.3851 25.5132 29.6275 25.5117 29.7637 25.6584L30.0062 25.9203Z' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M29.9616 26.4695C30.2609 26.7943 29.544 28.2027 28.86 28.8957C28.2373 29.5273 26.7705 30.0227 26.4712 29.6979' stroke='%230D486E' stroke-width='0.748363'/%3E%3Cpath d='M11.8855 19.2342L8.1272 19.6996L8.09277 18.625L11.8076 18.6983L11.8855 19.2342Z' fill='%230D486E'/%3E%3Cpath d='M12.6579 16.5418L8.95801 15.2382L9.39954 14.2578L12.8241 16.0269L12.6579 16.5418Z' fill='%230D486E'/%3E%3Cpath d='M20.4365 11.2363L21.2403 7.57527L20.1716 7.45703L19.9097 11.118L20.4365 11.2363Z' fill='%230D486E'/%3E%3Cpath d='M17.6466 11.7478L16.7261 8.05542L15.7144 8.41912L17.1198 11.8736L17.6466 11.7478Z' fill='%230D486E'/%3E%3Cpath d='M14.6514 13.8208L11.7852 11.1671L12.5874 10.4502L15.0121 13.4182L14.6514 13.8208Z' fill='%230D486E'/%3E%3Cpath d='M25.8485 25.614C24.958 24.6501 24.0105 23.9316 24.1168 22.405C24.2081 21.0938 24.2859 19.6256 23.6453 18.732C23.2053 18.1184 22.2174 17.6918 21.3868 18.3025C20.1041 19.2454 21.1593 22.0188 21.9675 21.2764C22.7922 20.5191 20.2103 19.6106 19.1821 20.4054C18.8004 20.6987 18.0745 21.6147 18.9905 22.7522C19.9783 23.9795 23.3774 23.538 23.3774 23.538' stroke='%230D486E' stroke-width='0.748363' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2197_604'%3E%3Crect width='41.1929' height='40' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
      width: 4.1193rem;
      height: 4rem;
      top: 1.3rem;
      left: 0;
      top: 0;
      margin-right: 1rem;

      @media (max-width: 767px) {
        width: 3.0895rem;
        height: 3rem;
        background-size: contain;
      }

    }
  }

  .point__image {
    max-width: 36rem;

    @media (max-width: 767px) {
      margin: auto;
      max-width: 20rem;
    }
  }

  .hand {
    max-width: 100rem;
    margin: 6rem auto 0;
    display: grid;
    gap: 3rem;
    align-items: center;
    grid-template-columns: 1.5fr 8fr;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;

    @media (max-width: 767px) {
      display: block;
      margin-top: 3rem;
    }

  }

  .hand__img {
    @media (max-width: 767px) {
      max-width: 40%;
      margin: auto;
      display: block;
    }
  }

  .prepare {
    margin-top: 4rem;
  }

  .emergency {
    @media (max-width: 767px) {
      margin-top: -7rem;
    }

    .child-heading03 {
      margin-top: -2rem;
    }

  }
}


.ice-value.quality {
  .child-heading02-wrap--reason {
    @media (min-width: 768px) {
      margin-top: -16rem;
    }

  }

  .step__text01 {
    span {
      font-size: 2.4rem;

      @media (max-width: 767px) {
        font-size: 1.6rem;
      }
    }
  }

  .intro__inner {
    gap: 4rem;

    @media (max-width: 767px) {
      gap: 1rem 4rem;
    }
  }

  .reason__inner {
    display: flex;
    padding-bottom: 5rem;
    gap: 3.3rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 2rem;
      padding-bottom: 0;
    }
  }

  .reason__item {
    display: flex;
    width: 34.4627rem;
    padding: 2rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.6rem;
    background: rgba(255, 255, 255, 0.40);
    box-shadow: 0 0 10px 0 rgba(13, 72, 110, 0.20);
    border: 1px solid #fff;

    @media (max-width: 767px) {
      width: 100%;
    }
  }

  .reason__num {
    font-family: "Be Vietnam Pro";
    font-size: 2.4rem;
    font-weight: 200;
    line-height: 1;

    @media (max-width: 767px) {
      font-size: 1.8rem;
    }
  }

  .reason__title {
    color: #D80010;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;

    @media (max-width: 767px) {
      font-size: 1.8rem;
    }
  }

  .reason__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;

    @media (max-width: 767px) {
      font-size: 1.4rem;
    }
  }

  .reason__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .key-title {
    position: relative;

    &::after {
      @media (max-width: 767px) {
        content: "";
        position: relative;
        display: inline-block;
        background: url(/images/ice-value/quality/img-key01-sp.webp)no-repeat;
        background-size: contain;
        width: 10rem;
        height: 10rem;
        top: 3rem;
        right: 1rem;
      }

    }
  }

  .key-list {
    position: relative;
    z-index: 5;

    &::after {

      @media (min-width: 768px) {
        content: "";
        position: absolute;
        display: inline-block;
        background: url(/images/ice-value/quality/img-key01.webp)no-repeat;
        background-size: contain;
        width: 35rem;
        height: 35rem;
        top: 50%;
        right: 0;
        transform: translate(0, -50%);
        z-index: -1;
      }

      @media (min-width: 768px) and (max-width:1100px) {
        content: "";
        position: absolute;
        display: inline-block;
        background: url(/images/ice-value/quality/img-key01.webp)no-repeat;
        background-size: contain;
        width: 30vw;
        height: 30vw;
        top: 50%;
        right: 0;
        transform: translate(0, -50%);
        z-index: -1;
      }



    }
  }

  .point-title {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.48px;
    margin-top: 8rem;

    @media (max-width: 767px) {
      font-size: 2rem;
      letter-spacing: 0.4px;
    }

    strong {

      color: #D80010;
      font-size: 2.4rem;
      font-weight: 700;
      line-height: 2;
      letter-spacing: 0.48px;

      @media (max-width: 767px) {
        font-size: 2rem;
      }
    }

    span {
      font-size: 3.2rem;
      letter-spacing: 0.64px;

    }
  }

  .section-wave01 {
    color: #0D486E;
    background: url(/images/ice-value/quality/bg-wave01.webp)no-repeat;
    background-size: auto;
    background-position: center top;
    padding-top: 15rem;

    @media (max-width: 767px) {
      background: url(/images/ice-value/quality/bg-wave01-sp.webp)no-repeat;
      background-size: 100%;
      background-position: center top;
      width: 100vw;
      margin-left: -1.6rem;
      padding-top: 0;
    }
  }



  .section-wave01--reverse {
    position: relative;
    flex-direction: row-reverse;
    margin-top: -40rem;
    background: url(/images/ice-value/quality/bg-wave02.webp)no-repeat;
    background-size: auto;
    background-position: center top;
    padding-top: 15rem;
    z-index: 10;

    @media (min-width: 768px) and (max-width:1100px) {
      margin-top: -30vw;
    }

    @media (max-width: 767px) {
      margin-top: -53vw;
      background: url(/images/ice-value/quality/bg-wave02-sp.webp)no-repeat;
      background-size: 100%;
      background-position: center top;
      padding-top: 0;
    }

    .section-wave01__inner {
      padding-bottom: 20rem;
    }
  }

  .section-wave01--shift {
    margin-top: -19rem;

    @media (max-width: 767px) {
      margin-top: -40vw;
    }
  }

  .section-wave01__inner {
    position: relative;
    width: 100%;
    max-width: 111rem;
    margin: auto;
    padding-inline: 2rem;
    padding-bottom: 20rem;

    @media (max-width: 767px) {
      width: 100%;
      padding-top: 25vw;
      padding-inline: 1.6rem;
      padding-bottom: 30vw;
    }
  }

  .section-wave01__body {
    display: grid;
    gap: 0;
    grid-template-columns: 1fr 56rem;
    position: relative;
    z-index: 1;
    margin-left: auto;
    width: 100%;

    @media (min-width: 768px) and (max-width: 1000px) {
      grid-template-columns: 40vw 50vw;

      picture {
        top: 0vw;
      }
    }


    @media (max-width: 767px) {
      display: flex;
      gap: 0;
      width: 100%;
      flex-direction: column-reverse;
      align-items: stretch;

    }

    picture {
      position: relative;
      top: -10rem;

      @media (min-width: 768px) and (max-width: 1100px) {
        top: 2vw;

      }

      @media (max-width: 767px) {
        top: 0;
      }
    }
  }

  .section-wave01__body--reverse {
    direction: rtl;


    .point-number-wrap {
      text-align: left;
    }
  }



  .top-heading02 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2rem;
    color: #0D486E;
    margin-bottom: 3rem;

    @media (max-width: 767px) {
      margin-bottom: 5rem;
    }

  }

  .top-heading02--left {
    align-items: flex-start;
  }


  .point-number {
    font-family: "Be Vietnam Pro";
    font-size: 4rem;
    font-weight: 200;
    line-height: 1;


    @media (max-width: 767px) {
      font-size: 2.4rem;
    }
  }

  .point-number-wrap {
    text-align: right;
  }

  .point-number {
    position: relative;
    display: inline-block;
    color: #0D486E;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      margin-bottom: 2rem;
    }
  }

  .point-number::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    background-image: url("/images/ice-value/prism.webp");
    background-size: cover;
    background-position: center;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    pointer-events: none;
    z-index: 1;
  }

  .copy-text {
    color: #0D486E;
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.76px;
    margin-bottom: 3rem;
    direction: ltr;

    @media (max-width: 767px) {
      font-size: 2.4rem;
      letter-spacing: 0;
    }
  }

  .body-text {
    color: #0D486E;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.32px;
    margin-bottom: 4rem;
    direction: ltr;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      margin-bottom: 0;
    }
  }

  .wave-img-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.48px;
    width: 100%;
    gap: 3rem;

    direction: ltr;

    @media (max-width: 767px) {
      margin-top: 3rem;
      text-align: center;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
      width: 100%;
      gap: 0;
    }

  }

  .wave-img-grid--shift {
    gap: 2rem;
    margin-top: -5rem;

    @media (max-width: 767px) {
      margin-top: 2rem;
    }



    .wave-img-grid__item:last-child {
      margin-top: 12rem;

      @media (max-width: 767px) {
        margin-top: 4rem;
      }
    }
  }

  .wave-img-grid__item {
    &>p:first-child {
      min-height: 4em;
    }

    p {
      span {
        font-size: 1.8rem;

        @media (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
    }
  }

  .highball {
    margin-top: 8rem;

    @media (max-width: 767px) {
      margin-top: 8rem;
    }
  }

  .highball__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      font-size: 1.4rem;
      line-height: 1.8;
    }
  }

  .highball-comment {
    display: grid;
    grid-template-columns: 19.4rem 1fr;
    align-items: center;
    gap: 4rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.32px;
    margin-bottom: 4rem;

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
      gap: 2rem;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.8;
      letter-spacing: 0.28px;
    }

    img {
      @media (max-width: 767px) {
        width: 35%;
      }
    }
  }

  .step-key {
    display: flex;
    padding: 2rem;
    align-items: flex-start;
    gap: 4rem;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.70);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.32px;
    margin-top: 1rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 1rem;
      font-size: 1.4rem;
    }

    span {
      color: #D80010;
      font-size: 1.6rem;

      @media (max-width: 767px) {

        font-size: 1.4rem;
      }
    }
  }

  .step-key__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.32px;
    white-space: nowrap;
  }

  .step-finish {
    display: block;
    max-width: 88rem;
    margin: auto;
    margin-top: 40px;
  }

  .step-point {
    display: flex;
    align-items: start;
    gap: 2rem;
    margin-top: 1.5rem;

    @media (max-width: 767px) {
      flex-direction: column;
      gap: 1rem;
    }
  }

  .step-point__head {
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.32px;
    gap: 1rem;
  }

  .section-wave01--point02 {
    img {
      @media (max-width: 767px) {
        width: 80%;
      }
    }
  }

  .section-wave01--point02 {
    .section-wave01__inner {
      @media (max-width: 767px) {
        padding-bottom: 50vw;
      }
    }

  }

  .section-wave01--point03 {
    position: relative;
    z-index: 11;

    .section-wave01__inner {
      @media (max-width: 767px) {
        padding-bottom: 50vw;
      }
    }

    .section-wave01__body {
      grid-template-columns: 46.2rem 1fr;
      gap: 15rem;

      @media (min-width: 768px) and (max-width: 1100px) {
        gap: 1rem;
        grid-template-columns: 1fr 1fr;
      }

      @media (max-width: 767px) {
        gap: 0;
      }
    }

    .wave-img-grid {
      width: 56rem;

      @media (min-width: 768px) and (max-width: 1100px) {
        width: 100%;
      }


      @media (max-width: 767px) {
        width: 100%;
      }
    }
  }


  .section-wave01--point04 {
    position: relative;
    z-index: 12;

    background: url(/images/ice-value/quality/bg-wave03.webp)no-repeat;
    background-size: auto;
    background-position: center top;
    margin-bottom: -20rem;

    @media (max-width: 767px) {
      margin-top: -40vw;
      background: url(/images/ice-value/quality/bg-wave03-sp.webp)no-repeat;
      background-size: 100%;
      background-position: center top;
    }

    .wave-img-grid {
      width: 56rem;

      @media (min-width: 768px) and (max-width: 1100px) {
        width: 100%;
      }

      @media (max-width: 767px) {
        width: 100%;
      }
    }
  }

  .btn02-text {
    @media (max-width: 767px) {
      font-size: 1.8rem;
    }
  }

  .step__img {
    img {
      margin: auto;
      display: block;

      @media (max-width: 767px) {
        width: 70%;
      }
    }
  }

  .rice {
    @media (max-width: 767px) {
      margin-top: 5rem;
    }

  }

  .recipe {
    position: relative;
    z-index: 15;
    margin-top: -33rem;

    @media (max-width: 767px) {
      margin-top: 0;
    }
  }
}