@charset "UTF-8";
/*------------------------------
  キーワードでわかる東3冷凍機（/keyword/）
------------------------------*/

.page-keyword{
  .subpage-mv{
    @media screen and (max-width: 768px) {
      padding-bottom: 4rem;
    }
  }

  .keyword{
    background-color: var(--white-through);
    position: relative;
    .bg-image{
      position: absolute;
      inset: 0;
      img{
        object-fit: cover;
        height: 100%;
      }
    }
    .num{
      color: var(--accent);
      font-family: var(--font-roboto);
      font-weight: 700;
      font-size: max(1.4rem,10px);
      margin-bottom: -1rem;
      &::before,
      &::after{
        content: "-";
        display: inline-block;
        margin-inline: 0.2em;
      }
    }
    h2{
      font-size: max(4.6rem,20px);
      font-weight: 700;
      color: var(--main);
      line-height: 1.3;
      padding-bottom: 2rem;
      border-bottom: max(0.1rem,1px) solid var(--gray);
      white-space: nowrap;
      @media screen and (max-width: 768px) {
        font-size: 3.2rem;
      }
      span{
        font-size: 0.56em;
      }
    }
    .readText{
      margin-top: 1lh;
    }
    &.sec01{
      padding-top: 10rem;
      @media screen and (max-width: 768px) {
        padding-top: 0;
      }
      .num::before{
        display: none;
      }
      .keyword-wrap{
        display: grid;
        grid-template-columns: 55rem 1fr;
        gap: 9rem;
        margin-right: -25rem;
        @media screen and (max-width: 768px) {
          display: flex;
          flex-direction: column-reverse;
          gap: 0;
          margin-right: 0;
          .text-wrap{
            margin-top: -6rem;
          }
          .image{
            width: 80%;
            margin-inline: auto -1.5rem;
          }
        }
      }
    }
    &.sec02{
      padding-top: 10rem;
      padding-bottom: 8rem;
      @media screen and (max-width: 768px) {
        padding-top: 6rem;
        padding-bottom: 5rem;
      }
      .num{
        text-align: center;
      }
      h2{
        text-align: center;
      }
      .movie-wrap{
        margin-top: 4rem;
        position: relative;
        background-color: var(--black);
        @media screen and (max-width: 768px) {
          margin-top: 3rem;
        }
        a{
          @media (any-hover: hover) {
            &:hover{
              .bg img{
                transform: scale(1.05);
                opacity: 0.6;
              }
            }

          }
          .bg{
            overflow: hidden;
            img{
              transition: 0.8s var(--hover-easing);
              transition-property: opacity, transform;
            }
          }
          .title{
            position: absolute;
            inset: 0;
            display: grid;
            place-content: center;
            img{
              width: 56rem;
              @media screen and (max-width: 768px) {
                width: 24rem;
              }
            }

          }
        }

      }
    }
    &.sec03{
      background-image: linear-gradient(to top, #dbeaf5 0%, #e9eff7 20%, #f1f4f6 100%);
      .num::before{
        display: none;
      }
      .keyword-wrap{
        display: grid;
        grid-template-columns: 55rem 1fr;
        gap: 9rem;
        @media screen and (max-width: 768px) {
          display: block;
        }
      }
      .image-wrap{
        @media screen and (max-width: 768px) {
          margin-top: 4rem;
        }
        .image{
          position: relative;
          .title{
            position: absolute;
            top: 0;
            left: 0;
            font-size: 2.1rem;
            font-weight: 600;
            @media screen and (max-width: 768px) {
              font-size: 1.6rem;
            }
            &::before{
              content: "●";
              color: #0961ba;
            }
          }
        }
        .icon-wrap{
          display: flex;
          justify-content: space-between;
          padding-inline: 2rem;
          margin-top: -3rem;
          isolation: isolate;
          @media screen and (max-width: 768px) {
            margin-top: -2rem;
          }
          .icon{
            width: 11.4rem;
            @media screen and (max-width: 768px) {
              width: 8rem;
            }
            img{
              box-shadow: 0 0 2rem #6d92a040;
              border-radius: 50%;
            }
            p{
              color: var(--main);
              font-weight: 600;
              text-align: center;
              line-height: 1.4;
              margin-top: 1rem;
              @media screen and (max-width: 768px) {
                font-size: 1.2rem;
              }
            }
          }
        }
      }
    }
    &.sec04{
      .num::before{
        display: none;
      }
      .inner{
        isolation: isolate;
      }
      .keyword-wrap{
        display: grid;
        grid-template-columns: 55rem 1fr;
        gap: 9rem;
        @media screen and (max-width: 768px) {
          display: block;
        }
        .image{
          margin-top: 3rem;
          @media screen and (max-width: 768px) {
            width: 60%;
            margin-inline: auto;
            margin-top: 4rem;
          }
        }
      }
      h2{
        color: var(--white);
        border-color: var(--white);
      }
      .readText{
        color: var(--white);
      }
    }
    &.sec05{
      .num{
        text-align: center;
      }
      .inner{
        isolation: isolate;
      }
      h2{
        text-align: center;
        color: var(--white);
        border-color: var(--white);
      }
      .readText{
        color: var(--white);
      }
    }
  }
  .sticky-wrap{
    position: relative;
    @media screen and (max-width: 768px) {
      display: contents;
    }
    .sec03,
    .sec04,
    .sec05{
      height: 100dvh;
      padding-block: 10rem;
      position: sticky;
      top: 0;
      display: flex;
      align-items: center;
      @media screen and (max-width: 768px) {
        position: relative;
        height: auto;
        padding-block: 4rem 6rem;
      }
      .inner{
        padding-bottom: 6rem;
        @media screen and (max-width: 768px) {
          padding-block: 0;
        }
      }
    }
  }
}
