.message {
  padding-block-end: 100px;
  font-size: clamp(10px, 6.183px + 1.018vw, 14px);
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.message img {
  display: block;
  max-inline-size: 100%;
  height: auto;
}
.message p + p {
  margin-block-start: 1em;
}

.message_sec {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 73.34% 1fr 1fr;
  align-items: start;
}

.message1 {
  padding-block-start: 13rem;
}
.message1 .message_title {
  grid-column: 3/4;
  inline-size: min(43.5087719298%, 248px);
  margin: 0 auto 7rem;
  line-height: 1;
}
.message1 .message1_title {
  position: absolute;
  top: 86.22%;
  left: 60.9%;
  inline-size: min(30.46%, 180px);
  block-size: auto;
  margin: 0;
  line-height: 1;
}
.message1 .message1_img {
  grid-column: 2/5;
  position: relative;
  margin: 0;
  line-height: 1;
}
.message1 .message1_catch {
  margin: 24% 0 11.37%;
  inline-size: min(43.273%, 190px);
  line-height: 1;
}
.message1 .message1_cont {
  grid-column: 3/4;
}

.message2 {
  padding-block-start: min(12.2666666667%, 92px);
}
.message2 .message2_title {
  grid-column: 3/4;
  inline-size: min(97.0909090909%, 534px);
  margin-block-end: min(10%, 58px);
  line-height: 1;
}
.message2 .message2_img {
  grid-column: 3/4;
}
.message2 .message2_cont {
  grid-column: 3/4;
  margin-block-start: min(12.7272727273%, 70px);
}

.message3 {
  margin-block-start: min(12.2666666667%, 92px);
  margin-block-end: 152px;
}

.message3_img {
  grid-column: 1/6;
}
.message3_img > img {
  margin-block-start: min(13.125%, 52px);
  inline-size: 100%;
}

.message3_title {
  position: absolute;
  z-index: 1;
  top: 0;
  inline-size: min(26.4%, 198px);
  margin-inline-start: min(6.6666666667%, 50px);
}

.message3_cont {
  grid-column: 3/4;
  margin-block-start: min(12.7272727273%, 70px);
}

.message3_signature {
  margin-block-start: min(15.2631578947%, 87px);
  margin-inline-start: min(16.1403508772%, 92px);
}
.message3_signature > img {
  inline-size: min(60%, 300px);
  margin-inline-start: min(19.4545454545%, 107px);
}

.message3_jobTitle {
  margin-block-end: 1em;
  font-size: min(get_vw(22, 750), 18px);
}

@media not all and (min-width: 769px) {
  .message .hp_pc {
    display: none;
  }
}

@media all and (min-width: 789px) {
  .message {
    max-inline-size: 1440px;
    margin-inline: auto;
    padding-block-end: min(13.8888888889%, 200px);
    font-size: clamp(13px, -10.273px + 3.03vw, 17px);
  }
  .message_sec {
    grid-template-columns: 1fr 39.558% 39.558% 1fr;
  }
  .message1 {
    padding-block-start: min(11.1111111111%, 160px);
    grid-template-rows: auto 1fr;
  }
  .message1 .message_title {
    grid-column: 2/3;
    grid-row: 1/2;
    inline-size: min(50.8771929825%, 248px);
    margin: 10px 0 0;
  }
  .message1 .message1_title {
    left: 54.545%;
    inline-size: min(27.5%, 198px);
  }
  .message1 .message1_img {
    grid-column: 3/5;
    grid-row: 1/-1;
  }
  .message1 .message1_catch {
    inline-size: min(50.9090909091%, 238px);
    margin: 86px 0 52px;
  }
  .message1 .message1_cont {
    grid-column: 2/3;
    grid-row: 2/3;
    padding: 0 min(3.5087719298%, 20px) 0 0;
  }
  .message2 {
    grid-template-rows: auto 1fr;
    padding-block-start: min(12.0833333333%, 174px);
  }
  .message2 .message2_title {
    grid-column: 2/4;
    grid-row: 1/2;
    inline-size: min(46.9298245614%, 538px);
  }
  .message2 .message2_img {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-inline-end: min(9.0909090909%, 50px);
  }
  .message2 .message2_cont {
    grid-column: 3/4;
    grid-row: 2/3;
    margin-block-start: 0;
    padding-inline-start: min(3.6363636364%, 20px);
  }
  .message3 {
    position: relative;
    grid-template-columns: 1fr min(23.6111111111%, 340px) min(15.9722222222%, 230px) min(39.5833333333%, 570px) 1fr;
    grid-template-rows: auto;
    margin-block-start: min(12.0833333333%, 174px);
  }
  .message3_img {
    grid-column: 3/5;
    grid-row: 1/2;
    position: relative;
  }
  .message3_img > img {
    inline-size: min(96.75%, 770px);
    margin-block-start: min(5.75%, 46px);
  }
  .message3_title {
    right: 0;
    left: auto;
    inline-size: min(24.75%, 198px);
  }
  .message3_cont {
    grid-column: 2/4;
    grid-row: 1/2;
    position: relative;
    z-index: 1;
    top: 0;
  }
  .message3_signature > img {
    inline-size: min(57.8947368421%, 330px);
  }
  .message3_jobTitle {
    font-size: clamp(18px, -5.481px + 3.053vw, 22px);
    line-height: 1;
    letter-spacing: 0.2em;
  }
}
