@charset "UTF-8";

.wrap_kokorozashi_section {
  width: 95vw;
  background-color: #fff;
  border-radius: 1.8rem;
  margin-inline: auto;
  max-width: 1300px;

  .kokorozashi__ttl {
    text-align: center;
    margin-bottom: 5.6rem;
    @media screen and (max-width: 767px) {
      margin-bottom: 2.8rem;
    }
    .kokorozashi__ttl--head {
      display: block;
      font-size: 2rem;
      margin-bottom: 1rem;
      color: #333333;
      @media screen and (max-width: 767px) {
        font-size: 1.8rem;
      }
    }
    .kokorozashi__ttl--main {
      display: block;
      font-size: 3.2rem;
      @media screen and (max-width: 767px) {
        font-size: 2.8rem;
      }
    }
  }
  .kokorozashi__description {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2.667;
    @media screen and (max-width: 767px) {
      font-size: 1.6rem;
      text-align: left;
      line-height: 2;
    }
  }
  .kokorozashi__ttl--sub {
    text-align: center;
    font-size: 3.2rem;
    margin-top: 2.3rem;
    @media screen and (max-width: 767px) {
      font-size: 2.8rem;
      text-align: center;
    }
  }
  .kokorozashi__mainImg {
    display: block;
    text-align: center;
    margin: 5.6rem calc(50% - 50vw) 8rem;
    @media screen and (max-width: 767px) {
      margin: 3rem calc(3% - 50vw) 3rem;
    }
  }
  .kokorozashi__mainImg img {
    width: 100%;
  }
  .kokorozashi__bar {
    border-radius: 1rem;
    background-color: #FFF100;
    background-image: url("../../img/kokorozashi/bar.png");
    background-repeat: no-repeat;
    background-position: bottom right 1rem;
    background-size: 14.8rem;
    font-size: 2.9rem;
    padding: 1.3rem 2rem;
    line-height: 1.31;
    margin-bottom: 4rem;
    @media screen and (max-width: 767px) {
      font-size: 2.2rem;
      background-size: 12rem;
      margin-bottom: 2rem;
    }
  }
  .kokorozashi__txt {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .kokorozashi__marker {
    background: linear-gradient(transparent 50%, #FFF100 50%);
  }
  .health__img {
    text-align: center;
    margin-top: 4rem;
    @media screen and (max-width: 767px) {
      margin-top: 2rem;
    }
  }
  .sec__kokorozashi {
    margin-bottom: 6rem;
  }
  .sec__kokorozashi:last-of-type {
    margin-bottom: 0;
  }

  .kokorozashi__field {
    .fieldBox {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 4rem;
      @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
    }
    .fieldBox+.fieldBox {
      margin-top: 6rem;
      @media screen and (max-width: 767px) {
        margin-top: 4rem;
      }
    }
    .fieldBox__container {
      order: 2;
      @media screen and (max-width: 767px) {
        order: 1 !important;
      }
    }
    .container__num {
      font-size: 7rem;
      font-weight: bold;
      font-family: 'Arial';
      color: #707070;
      opacity: .4;
      @media screen and (max-width: 767px) {
        font-size: 3.5rem;
      }
    }
    .container__num__inner {
      display: inline-block;
      display: flex;
      align-items: center;
      gap: 2rem;
    }
    .container__num__inner::after {
      content: "";
      display: block;
      width: 6.5rem;
      height: 1px;
      background: #707070;
    }
    .container__ttl {
      font-size: 2.4rem;
      margin-bottom: 3.2rem;
      @media screen and (max-width: 767px) {
        font-size: 2.4rem;
        margin-bottom: 2rem;
      }
    }
    .fieldBox__img {
      order: 1;
      @media screen and (max-width: 767px) {
        order: 2 !important;
      }
      img {
        border-radius: 2rem;
      }
    }
    .fieldBox__reverse .fieldBox__img {
      order: 2;
    }
    .fieldBox__reverse .fieldBox__container {
      order: 1;
    }
  }

  .kokorozashi__vision {
    .visonBox {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
      }
      .visonBox__container {
        padding-right: 2rem;
        @media screen and (max-width: 767px) {
          padding-right: 0;
        }
      }
      .fieldBox__img {
        @media screen and (max-width: 767px) {
          margin: 2rem 0 4rem;
        }
        img {
          border-radius: 3rem;
        }
      }
      .kokorozashi__txt {
        line-height: 2;
      }
    }
  }
}

@media screen and (max-width: 767px) {
  .wrap_kokorozashi_section {
    padding-bottom: 0 !important;
  }
}