@charset "utf-8";

.greeting {
  margin-top: 140px;
}
.greeting__content {
  position: relative;
  z-index: 1;
  max-width: 1664px;
  padding-block: 133px;
  grid-template-columns: calc(839 / 1664 * 100%) minmax(0, 1fr);
  align-items: start;
  gap: 64px calc(64 / 1664 * 100%);
}
.greeting__content::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: calc(192 / 1664 * 100%);
  right: 0;
  margin-right: min(calc(var(--window-half-width) * -.125), calc(832px - var(--window-half-width)));
  height: 100%;
  background: url(../../img/message/bg_greeting.webp) no-repeat top left/cover;
}
.greeting__content__photo {
  position: relative;
  z-index: 1;
}
.greeting__content__photo img {
  width: calc(863 / 839 * 100%);
  max-width: none;
  margin-left: calc(24 / 839 * -100%);
}
.greeting__content__desc {
  position: relative;
  z-index: 2;
}
/* .greeting__content__desc__heading {
} */
.greeting__content__desc__heading > span + span {
  background: rgb(var(--color-black1));
}
.greeting__content__desc__copy {
  margin-top: 48px;
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  line-height: 2.2;
}
.greeting__content__desc__sign {
  margin-top: 24px;
}
.greeting__content__desc__sign img {
  display: block;
  width: auto;
  max-width: 80%;
  margin-left: auto;
}
@media screen and (max-width: 767px){
  .greeting {
    margin-top: 55px;
  }
  .greeting__content {
    max-width: 560px;
    padding-block: 0 60px;
    grid-template-columns: 100%;
    gap: 30px 0;
  }
  .greeting__content::before {
    top: 111px;
    left: 0;
    margin-inline: min(calc((15 / 190) * (var(--window-half-width) * 2) * -1), calc(280px - var(--window-half-width)));
    height: calc(100% - 111px);
    background: url(../../img/message/bg_greeting-sp.webp) no-repeat top left/cover;
  }
  .greeting__content__photo img {
    width: calc(360 / 320 * 100%);
    margin-inline: calc(20 / 320 * -100%);
  }
  .greeting__content__desc__copy {
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.8;
  }
  .greeting__content__desc__sign {
    margin-top: 20px;
  }
  .greeting__content__desc__sign img {
    max-width: 210px;
  }
}



.member {
  margin-top: 120px;
  padding-bottom: 370px;
}
.member__heading {
  max-width: 1408px;
}
.member__desc {
  max-width: 1408px;
  margin-top: 48px;
}
/* .member__desc__copy {
} */
.member__content {
  max-width: 1408px;
  margin-top: 80px;
}
.member__content + .member__content {
  margin-top: 120px;
}
.member__content__heading {
  box-sizing: border-box;
  border-left: 3px solid rgb(var(--color-red));
  padding-left: calc(20 / 32 * 1em);
  line-height: 1.4375;
}
.member__content__list {
  margin-top: 40px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 56px calc(48 / 1408 * 100%);
}
.member__content__list__item {
  position: relative;
  z-index: 1;
}
.member__content__list__item__desc {
  position: relative;
  z-index: 2;
  flex: 1;
}
.member__content__list__item__desc__role {
  display: inline-block;
  padding: .05em .15em .15em;
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  background: rgb(var(--color-red));
}
.member__content__list__item__desc__name {
  margin-top: 20px;
  line-height: 0.9375;
}
.member__content__list__item__photo {
  position: relative;
  z-index: 1;
  margin-top: calc(40 / 437 * -100%);
}
.member__content__list__item__photo img {
  width: calc(461 / 437 * 100%);
  max-width: none;
  margin-inline: calc(12 / 437 * -100%);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__content__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .member__content__list__item:not(:has(.member__content__list__item__photo)) .member__content__list__item__desc {
    flex: 0 0 auto;
    align-self: center;
    margin-block: auto;
  }
}
@media screen and (max-width: 767px){
  .member {
    margin-top: 55px;
    padding-bottom: 180px;
  }
  .member__heading {
    max-width: 560px;
  }
  .member__desc {
    max-width: 560px;
    margin-top: 30px;
  }
  .member__content {
    max-width: 560px;
    margin-top: 60px;
  }
  .member__content + .member__content {
    margin-top: 65px;
  }
  .member__content__heading {
    padding-left: calc(18 / 20 * 1em);
    line-height: 1.45;
  }
  .member__content__list {
    margin-top: 40px;
    grid-template-columns: 100%;
    align-items: start;
    gap: 32px 0;
  }
  .member__content__list__item__desc__role {
    font-size: 16px;
  }
  .member__content__list__item__desc__name {
    margin-top: 14px;
    font-size: 24px;
    line-height: 0.916666667;
  }
  .member__content__list__item__photo {
    margin-top: calc(30 / 320 * -100%);
  }
  .member__content__list__item__photo img {
    width: calc(338 / 320 * 100%);
    margin-inline: calc(9 / 320 * -100%);
  }
}