@charset "UTF-8";

/************************************
** kv
************************************/
.kv {
  .kv__overlay {
    left: 5%;
  }
  .item {
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.3em;
    .ttl {
      font-size: clamp(32px, 4vw, 48px);
      .sttl {
        font-size: clamp(20px, 4vw, 32px);
      }
    }
  }
  @media screen and (max-width: 480px) {
    height: 80vh;
  }
}

/************************************
** WHY MOVE
************************************/
.why-move {
  .items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;

    @media screen and (max-width: 960px) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media screen and (max-width: 560px) {
      grid-template-columns: 1fr;
      gap: 10px;
    }
  }

  .item {
    background: #fff;
    display: flex;
    flex-direction: column;
    .item__header {
      display: grid;
      grid-template-columns: 1fr 3fr;
      margin-bottom: 10px;
      @media screen and (max-width: 560px) {
        grid-template-columns: 1fr 4fr;
        align-items: center;
      }
      .col-01 {
        .num {
          font-family: sans-serif;
          font-size: clamp(36px, 4vw, 48px);
          font-weight: bold;
        }
      }
      .col-02 {
        .ttl {
          font-size: clamp(16px, 2vw, 20px);
        }
        .txt {
          font-size: clamp(12px, 2vw, 14px);
        }
      }
    }
    .item__body {
      .img-wrap {
        width: 100%;
        height: 170px;
        border-radius: 4px;
        overflow: hidden;
      }
    }
  }
}

/************************************
** PEOPLE & CULTURE
************************************/
.peaple-culture {
  background-color: #1a1a1a; /* ラフに合わせたダーク背景 */
  color: #fff;

  .peaple-culture__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;

    @media screen and (max-width: 960px) {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  }

  .peaple-culture__img-area {
    .img-wrap {
      width: 100%;
      height: 420px;
      border-radius: 6px;
      overflow: hidden;

      @media screen and (max-width: 960px) {
        height: 260px;
      }
    }
  }

  .peaple-culture__content-area {
    .heading {
      margin-bottom: 20px;
      .sttl {
        display: block;
        font-size: 14px;
        letter-spacing: 0.2em;
        color: #aaa;
        margin-bottom: 8px;
        font-weight: bold;
      }
      .ttl {
        font-size: clamp(28px, 3.5vw, 40px);
        font-weight: bold;
        letter-spacing: 0.05em;
        color: #fff;
        line-height: 1.3;
      }
    }

    .txt {
      font-size: clamp(13px, 1.2vw, 15px);
      line-height: 1.8;
      color: #ddd;
      margin-bottom: 35px;
    }

    .features {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 15px;
      border-top: 1px solid rgba(255, 255, 255, 0.2);
      padding-top: 25px;

      @media screen and (max-width: 768px) {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }

      .feature-item {
        text-align: center;
        .icon {
          width: 32px;
          height: 32px;
          margin: 0 auto 10px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;
          svg {
            width: 100%;
            height: 100%;
          }
        }
        .feature-txt {
          font-size: 12px;
          line-height: 1.5;
          color: #ccc;
        }
      }
    }
  }
}


/************************************
** 2. jobs
************************************/
.jobs {
  .rw-01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    .msg {
      font-size: clamp(12px, 2vw, 14px);
    }
    @media screen and (max-width: 560px) {
      grid-template-columns: 1fr;
      .heading-04{
        margin-bottom:10px;
      }
      .msg{
        margin-bottom:10px;
      }
    }
  }
  
  .items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    @media screen and (max-width: 960px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  .item {
    background: #fff;
    display: flex;
    flex-direction: column;

    .item__header {
      position: relative;
      margin-bottom: 12px;

      .img-wrap {
        width: 100%;
        height: 170px;
        border-radius: 4px;
        overflow: hidden;
      }
    }

    .item__body {
      margin-bottom: 20px;
      height: 65px;
      .ttl {
        font-size: 15px;
        font-weight: bold;
        color: #222;
      }
      .txt {
        font-size: clamp(12px,1vw, 13px);
        color: #555;
        line-height: 1.5;
      }
    }
    .btn-01 {
      margin: 0;
    }
  }
  @media screen and (max-width: 960px) {
    .item .item__header {
      .img-wrap{
        height:100px;
      }      
    }
    .item .btn-01 {
      a{
        width:100%;
        padding:5px;
        font-size: 12px;
      }
    }
  }  

}
