/*--------------------------------------------------------------
  MESSAGE
--------------------------------------------------------------*/
.p-message {
  position: relative;
  z-index: -1;
}
.p-message .l-main {
  overflow: hidden;
}
.p-message .c-fv {
  position: relative;
  z-index: 1;
}
.p-message .message .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(50px, 3.125rem, 13.3333333333vw);
  padding-bottom: min(70px, 4.375rem, 18.6666666667vw);
  position: relative;
  z-index: 0;
}
.p-message .message .fixed-container {
  width: min(375px, 23.4375rem, 100vw);
  position: fixed;
  top: min(60px, 3.75rem, 16vw);
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}
.p-message .message .title {
  width: min(63px, 3.9375rem, 16.8vw);
  margin-inline: auto;
}
.p-message .message .lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: min(10px, 0.625rem, 2.6666666667vw);
  line-height: 0;
  margin-top: min(36px, 2.25rem, 9.6vw);
}
.p-message .message .lead.show > span::before {
  content: "";
  background-image: linear-gradient(6.142deg, #2ED0FA, #0051CA);
  position: absolute;
  inset: 0;
  z-index: 0;
  transform-origin: left center;
  animation: line-bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.p-message .message .lead.show > span span {
  opacity: 1;
  transform: none;
}
.p-message .message .lead > span {
  display: grid;
  place-content: center;
  /* 9/24 */
  /* width: min(288px, 18rem, 76.8vw); */
  width: min(320px, 20rem, 85.3333333333vw);
  /* ------------- 9/24 */
  height: min(40px, 2.5rem, 10.6666666667vw);
  position: relative;
  z-index: 0;
}
/* .p-message .message .lead > span:nth-of-type(4) {
  width: min(320px, 20rem, 85.3333333333vw);
} */
.p-message .message .lead > span span {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
  z-index: 1;
  transform: translateX(-10%);
  opacity: 0;
  transition: all 1s 1s ease;
}
.p-message .message .text-container {
  width: 92%;
  margin-top: min(40px, 2.5rem, 10.6666666667vw);
  margin-inline: auto;
}
.p-message .message .text-container picture {
  display: block;
  width: min(247px, 15.4375rem, 65.8666666667vw);
  margin-top: min(40px, 2.5rem, 10.6666666667vw);
  margin-right: 0;
  margin-left: auto;
}
.p-message .message .text {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2.1428571429; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  font-weight: 500;
}
.p-message .emblem {
  background-color: #fff;
  position: relative;
  z-index: 1;
}
.p-message .emblem .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(55px, 3.4375rem, 14.6666666667vw);
  padding-bottom: min(55px, 3.4375rem, 14.6666666667vw);
}
.p-message .emblem .title {
  width: min(127px, 7.9375rem, 33.8666666667vw);
  margin-inline: auto;
}
.p-message .emblem .box {
  margin-top: min(40px, 2.5rem, 10.6666666667vw);
}
.p-message .emblem .image-container {
  display: flex;
  justify-content: center;
}
.p-message .emblem .image-container img {
  width: min(161px, 10.0625rem, 42.9333333333vw);
}
.p-message .emblem .text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: min(30px, 1.875rem, 8vw);
}
.p-message .emblem .lead {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.75;
  text-align: center;
}
.p-message .emblem .explanation {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: min(9px, 0.5625rem, 2.4vw);
       column-gap: min(9px, 0.5625rem, 2.4vw);
  width: min(100%, 460px);
  margin-inline: auto;
}
.p-message .emblem .explanation:nth-of-type(2) {
  margin-top: min(25px, 1.5625rem, 6.6666666667vw);
}
.p-message .emblem .explanation:nth-of-type(3) {
  margin-top: min(17px, 1.0625rem, 4.5333333333vw);
}
.p-message .emblem .explanation span:nth-of-type(1) {
  display: grid;
  place-content: center;
  flex-shrink: 0;
  font-size: min(23px, 1.4375rem, 6.1333333333vw);
  line-height: 1.3913043478;
  color: #fff;
  background-image: linear-gradient(to right, #00c85c, #27bcf2);
  width: min(52px, 3.25rem, 13.8666666667vw);
  height: min(32px, 2rem, 8.5333333333vw);
}
.p-message .emblem .explanation span:nth-of-type(2) {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 1.7142857143; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  /* ------------------ 9/24 */
  font-weight: 500;
}
.p-message .emblem .text {
  /* 9/24 */
  /* font-size: min(16px, 1rem, 4.2666666667vw); */
  /* line-height: 1.875; */
  font-size: min(20px, 1.25rem, 5.33vw);
  line-height: calc(40/20);
  /* ------------------ 9/24 */
  font-weight: 500;
  margin-top: min(21px, 1.3125rem, 5.6vw);
}
.p-message .c-contact {
  background-color: #fff;
  position: relative;
  z-index: 1;
}

@media (768px <= width) {
  .p-message .l-main > .inner {
    padding-top: min(83px, 5.1875rem, 5.7638888889vw);
  }
  .p-message .cover {
    background-color: #fff;
    width: 100%;
    height: min(47px, 2.9375rem, 3.2638888889vw);
    position: relative;
    z-index: 1;
  }
  .p-message .message .inner {
    width: min(1200px, 75rem, 83.3333333333vw);
    padding-top: min(78px, 4.875rem, 5.4166666667vw);
    padding-bottom: min(102px, 6.375rem, 7.0833333333vw);
  }
  .p-message .message .fixed-container {
    /* 9/25 */
    /* width: min(1440px, 90rem, 100vw); */
    width: 100%;
    /* --------------9/25 */
    top: 0;
  }
  .p-message .message .title {
    width: min(110px, 6.875rem, 7.6388888889vw);
  }
  .p-message .message .lead {
    row-gap: min(10px, 0.625rem, 0.6944444444vw);
    margin-top: min(72px, 4.5rem, 5vw);
  }
  .p-message .message .lead.show > span::before {
    background-image: linear-gradient(2.953deg, #2ED0FA, #0051CA);
  }
  .p-message .message .lead > span {
    width: min(883px, 55.1875rem, 61.3194444444vw);
    height: min(66px, 4.125rem, 4.5833333333vw);
  }
  .p-message .message .lead > span span {
    font-size: min(32px, 2rem, 2.2222222222vw);
    line-height: 1.4375;
    letter-spacing: 0.1em;
    transform: translateX(-10%);
  }
  .p-message .message .text-container {
    width: min(800px, 50rem, 55.5555555556vw);
    margin-top: min(60px, 3.75rem, 4.1666666667vw);
  }
  .p-message .message .text-container picture {
    width: min(323px, 20.1875rem, 22.4305555556vw);
    margin-top: min(50px, 3.125rem, 3.4722222222vw);
  }
  .p-message .message .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 2.3888888889;
  }
  .p-message .emblem .inner {
    width: min(848px, 53rem, 58.8888888889vw);
    padding-top: min(75px, 4.6875rem, 5.2083333333vw);
    padding-bottom: min(100px, 6.25rem, 6.9444444444vw);
  }
  .p-message .emblem .title {
    width: min(210px, 13.125rem, 14.5833333333vw);
  }
  .p-message .emblem .box {
    display: flex;
    flex-direction: row;
    align-items: center;
    -moz-column-gap: min(94px, 5.875rem, 6.5277777778vw);
         column-gap: min(94px, 5.875rem, 6.5277777778vw);
    margin-top: min(70px, 4.375rem, 4.8611111111vw);
  }
  .p-message .emblem .image-container {
    justify-content: normal;
  }
  .p-message .emblem .image-container img {
    width: min(194px, 12.125rem, 13.4722222222vw);
  }
  .p-message .emblem .text-container {
    align-items: normal;
    width: min(560px, 35rem, 38.8888888889vw);
    margin-top: 0;
  }
  .p-message .emblem .lead {
    font-size: min(25px, 1.5625rem, 1.7361111111vw);
    line-height: 1.44;
    text-align: left;
  }
  .p-message .emblem .explanation {
    -moz-column-gap: min(15px, 0.9375rem, 1.0416666667vw);
         column-gap: min(15px, 0.9375rem, 1.0416666667vw);
    width: 100%;
    margin-inline: 0;
  }
  .p-message .emblem .explanation:nth-of-type(2) {
    margin-top: min(27px, 1.6875rem, 1.875vw);
  }
  .p-message .emblem .explanation:nth-of-type(3) {
    margin-top: min(9px, 0.5625rem, 0.625vw);
  }
  .p-message .emblem .explanation span:nth-of-type(1) {
    font-size: min(23px, 1.4375rem, 1.5972222222vw);
    line-height: 1.4782608696;
    width: min(52px, 3.25rem, 3.6111111111vw);
    height: min(32px, 2rem, 2.2222222222vw);
  }
  .p-message .emblem .explanation span:nth-of-type(2) {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
  }
  .p-message .emblem .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    margin-top: min(14px, 0.875rem, 0.9722222222vw);
  }
}
