@charset "UTF-8";
.mainimagebox {
  margin: 0px auto 30px;
  max-width: 1440px;
  padding-top: 105px;
  .inner{
    padding: 0 clamp(40px, 5.5556vw, 80px);
  }

  @media screen and (min-width: 1441px) {
    max-width: initial;
    .inner{
      max-width: initial;
    }
  }

  @media screen and (max-width: 768px) {
    padding: 0;
    max-width: 100%;
    margin: 0 auto;
    .inner{
      padding: 0 0 0 5vw;
    }
  }
}

.main_image {
  display: flex;
  justify-content: space-between;
  align-items: center;

  .main_text {
    box-sizing: border-box;
  }

  .text {
    font-size: clamp(34px, 3.3333vw, 48px);
    letter-spacing: 0.2em;
    font-family: serif;
    line-height: 1;
  }
  .text span {
    font-size: clamp(24px, 1.944vw, 28px);
    letter-spacing: 0.2em;
    font-family: serif;
    line-height: 2;
  }

  .sub_text {
    font-size: 13px;
    font-weight: bold;
    font-family: serif;
    padding-left: 2px;
  }

  .mv {
    max-width: clamp(600px, 52.2917vw, 753px);

    & img {
      width: 100%;
      display: block;
    }
  }

  /* 1441px以上：拡大 */
  @media screen and (min-width: 1441px) {
    min-width: initial;

    .text {
      font-size: 3.3vw;
    }
    .text span {
      font-size: 1.944vw;
    }
    .sub_text {
      font-size: 0.9vw;
    }

    .mv {
      max-width: 52vw;
    }
  }

  /* 768px以下：スマホ */
  @media screen and (max-width: 768px) {
    min-width: initial;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 16vw;


    .main_text {
      padding: 8vw 0 4vw;
    }

    .text {
      font-size: 7vw;
    }
    .text span {
      font-size: 4.8vw;
    }

    .sub_text {
      font-size: 3.5vw;
    }

    .mv {
      max-width: 100%;
      width: 100%;

      & img {
        width: 100%;
      }
    }
  }
}

/* lead_sec */
.lead_sec {
  @media screen and (max-width: 768px) {
    .sec_title {
      letter-spacing: .04em;
    }
  }
}

/* sec01 */
.sec01 {
  margin-bottom: 80px;

  .gridlist {
    width: 1080px;
    max-width: 100%;
    margin: 0 auto 88px;

    display: grid;
    row-gap: 46px;
    column-gap: 58px;
    grid-template-columns: repeat(3, 330px);


    .item {
      border-radius: 30px;
      border: 2px solid rgba(249, 145, 162, 1);
      padding: 35px 25px;

      .item_title {
        margin-bottom: 15px;
        letter-spacing: .14em;
        font-size: 24px;
        font-weight: 700;
        font-style: Bold;
        text-align: center;
        color: rgba(249, 145, 162, 1);
      }
      .item_title span {
        letter-spacing: .03em;
        font-size: 20px;
      }
    }

  }
  .bottom_text {
    width: 850px;
    max-width: 100%;
    margin: 0 auto;

    line-height: 1.8;
    font-size: 16px;
    text-align: center;
  }

  @media screen and (max-width: 768px) {
    margin-bottom: 13.8vw;

    .gridlist {
      margin: 0 auto 8vw;

      row-gap: 4.2vw;
      column-gap: initial;
      grid-template-columns: repeat(1, 1fr);

      .item {
        border-radius: 30px;
        border: 0.53vw solid rgba(249, 145, 162, 1);
        padding: 5.5vw 5.5vw;

        .item_title {
          margin-bottom: 2.4vw;
          font-size: 5.2vw;
        }
        .item_title span {
          letter-spacing: .03em;
          font-size: 4;
        }
        .item_text {
          font-size: 4vw;
        }
      }
    }

    .bottom_text {
      font-size: 4vw;
      text-align: justify;
    }
  }
}


/* sec02 */
.sec02 {
  margin-bottom: 140px;

  .cont01 {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;

    .flexbox{
      column-gap: 70px;
      margin-bottom: 76px;
      align-items: flex-start;
    }
    .reverse{
      margin-bottom: 62px;
    }
    .imagebox{
      width: 83.4%;
    }
    .textbox{
      width: 100%;
      .box_title{
        font-size: 25px;
        font-weight: bold;
        font-family: serif;
        margin-bottom: 20px;
      }
    }
  }

  .check_column {
    .box{
      max-width: 1000px;
      margin: 0 auto;
      background-color: #EEEEEE;
      border-radius: 30px;
    }
    .box_header{
      display: flex;
      align-items: center;
      padding: 40px 0 20px;
      column-gap: 30px;
    }
    .check{
      background-color: #F991A2;
      color: #fff;
      font-size: 28px;
      font-weight: 350;
      line-height: 1;
      padding:0 23px 0 115px;
      height: 52px;
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }
    .box_title{
      font-size: 25px;
      font-weight: bold;
      font-family: serif;
    }
    .textbox{
      padding: 0 90px 45px;
    }

  }


  @media screen and (max-width: 768px) {
    margin-bottom: 13.8vw;

    .cont01 {
      .flexbox {
        flex-direction: column-reverse;
        column-gap: 0;
        margin-bottom: 10vw;
      }
      .reverse {
        flex-direction: column-reverse;
        margin-bottom: 10vw;
      }
      .imagebox {
        width: 100%;
      }
      .textbox {
        width: 100%;
        .box_title {
          font-size: 5vw;
          margin-bottom: 3vw;
        }
        .box_text {
          font-size: 4vw;
        }
      }
    }

    .check_column {
      .box_header{
        padding: 8vw 0 5vw;
        column-gap: 0;
        row-gap: 3vw;
        flex-direction: column;
        align-items: flex-start;
      }
      .check{
        font-size: 4.5vw;
        padding:0 10vw 0 30vw;
        height: 10vw;
      }
      .box_title{
        font-size: 5vw;
        padding: 0 5vw;
      }
      .textbox{
        padding: 0 5vw 10vw;
      }
    }
  }
}

/* sec03 */
.sec03 {
  margin-bottom: 163px;

  .flexbox{
    width: 1200px;
    max-width: 100%;
    margin: 0 auto 58px;

    column-gap: 53px;
    align-items: flex-start;
    .imagebox{
      width: 81.3%;
    }
    .box_title {
      font-family: serif;
      line-height: 1.52;
      font-size: 25px;
      font-weight: bold;
      margin-bottom: 21px;
    }
    .textbox{
      width: 100%;
    }
  }

  .checkbox {
    margin-bottom: 55px;
    .gridbox {
      padding-bottom: 72px;
    }
  }

  .pink_box{
    width: 1000px;
    max-width: 100%;
    box-sizing: border-box;
    margin-bottom: 150px;
    padding: 63px 69px 0;

    .pink_title{
      padding: 0 0 43px;
      font-family: serif;
      font-size: 26px;
      font-weight: bold;
      text-align: center;
    }

    .flexbox{
      column-gap: 53px;
      align-items: flex-start;
      .imagebox{
        width: 81.3%;
      }
      .textbox{
        width: 100%;
        .box_title {
          font-size: 21px;
          font-weight: bold;
          margin-bottom: 21px;
        }
      }
    }
    .flexbox:not(:last-of-type) {
      margin-bottom: 70px;
    }
  }

  @media screen and (max-width: 768px){
    margin-bottom: 13.8vw;

    .flexbox {
      margin: 0 auto 8vw;

      flex-direction: column;
      column-gap: 0;
      row-gap: 5.33vw;

      .imagebox {
        width: 100%;
        margin-bottom: 4.2vw;
      }

      .textbox {
        width: 100%;

        .box_title {
          font-size: 5.2vw;
          margin-bottom: 4.2vw;
        }
        .box_text {
          font-size: 4vw;
        }
      }
    }

    .checkbox {
      margin-bottom: 13.8vw;
      .gridbox {
        padding-bottom: 10vw;
      }
    }
    .pink_box {
      margin-bottom: 10vw;
      padding: 6vw 5.5vw;

      .pink_title {
        padding: 2vw 0 4.2vw;
        font-size: 5.2vw;
        letter-spacing: 0.1em;
      }

      .flexbox {
        flex-direction: column;
        column-gap: 0;
        row-gap: 5.33vw;

        .imagebox {
          width: 100%;
        }
        .textbox {
          width: 100%;

          .box_title {
            font-size: 4.8vw;
            margin-bottom: 4.2vw;
            text-align: center;
          }
          .box_text {
            font-size: 4vw;
          }
        }
        .reverse {
          flex-direction: column;
        }
      }
      .flexbox:not(:last-of-type) {
        margin-bottom: 13.8vw;
      }
    }
  }
}

/* sec04 */
.sec04 {
  @media screen and (max-width: 768px){
    margin-bottom: 13.8vw;
  }
}