.c-mv {
  z-index: 10;
}

.p-history {
  background-color: #56BFC2;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-history {
    height: calc(100svh - var(--headH));
  }
}
@media (max-width: 767px) {
  .p-history {
    padding-block: 4.5rem 6rem;
  }
}
@media (min-width: 768px) {
  .p-history__wrap {
    container-type: inline-size;
    display: flex;
    align-items: stretch;
    padding-inline: 5rem;
    position: relative;
  }
}
.p-history__side {
  position: absolute;
  height: 100svh;
  top: 0;
  left: 16rem;
  width: min(57.6822916667cqh, 44.3rem);
}
@media (min-width: 992px) and (max-height: 768px) {
  .p-history__side {
    left: calc(50% - min(57.6822916667cqh, 44.3rem));
  }
}
.p-history__image {
  position: relative;
}
@media (min-width: 768px) {
  .p-history__image {
    flex-shrink: 0;
    margin-top: -24.2rem;
  }
  .p-history__image .panel-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: min(6.5104166667cqh, 5rem);
    height: min(50cqh, 38.4rem);
    opacity: 0.5;
    transition: opacity 0.3s ease;
  }
  .p-history__image .panel-image.is-active {
    opacity: 1;
  }
  .p-history__image .panel-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.p-history__dots {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  position: absolute;
  right: 5rem;
  bottom: 6.3rem;
}
.p-history__dots span {
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: min(0.390625cqh, 0.3rem);
  width: min(2.8645833333cqh, 2.2rem);
  transform: skewX(-15deg);
  opacity: 0.2;
  transition: 0.3s ease;
}
.p-history__dots span:nth-child(2) {
  margin-left: min(-0.5208333333cqh, -0.4rem);
}
.p-history__dots span:nth-child(3) {
  margin-left: min(-1.0416666667cqh, -0.8rem);
}
.p-history__dots span.is-active {
  opacity: 1;
}
@media (min-width: 768px) {
  .p-history__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: calc(100svh - var(--headH));
    padding: min(17.96875cqh, 13.8rem) 0 var(--headH) 50%;
    position: relative;
    flex: 1;
  }
}
@media (min-width: 768px) and (max-height: 780px) {
  .p-history__content {
    padding-top: min(7.8125cqh, 6rem);
  }
}
@media (min-width: 768px) and (max-height: 800px) {
  .p-history__content {
    padding-top: var(--headH);
  }
}
@media (min-width: 768px) {
  .p-history__content-item {
    opacity: 0;
    will-change: opacity;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: 0.5s ease;
    max-width: min(69.7916666667cqh, 53.6rem);
  }
  .p-history__content-item:nth-child(1) {
    opacity: 1;
  }
  .p-history__content .history-list {
    position: relative;
  }
}
.p-history__ttl {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .p-history__ttl {
    font-size: min(4.1666666667cqh, 3.2rem);
    margin-bottom: min(7.8125cqh, 6rem);
  }
}
@media (min-width: 768px) and (max-height: 768px) {
  .p-history__ttl {
    margin-bottom: min(5.2083333333cqh, 4rem);
  }
}
@media (max-width: 767px) {
  .p-history .history-item:not(:last-child) {
    margin-bottom: 7rem;
  }
}
.p-history .history-item__media {
  max-width: 29.5rem;
  margin: 0 auto 4rem;
}
.p-history .history-item__head {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .p-history .history-item__head {
    gap: 2.6rem;
    margin-bottom: 0;
  }
}
.p-history .history-item__number {
  color: var(--color-primary);
  font-family: var(--font-en);
  font-size: 2rem;
  letter-spacing: 0.06em;
  line-height: 1;
  width: 4.5rem;
  aspect-ratio: 1;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-history .history-item__number {
    font-size: min(2.6041666667cqh, 2rem);
    width: min(5.859375cqh, 4.5rem);
  }
}
.p-history .history-item__number::after {
  background-color: #fff;
  border-radius: 0.8rem;
  transform: rotate(45deg);
  content: "";
  position: absolute;
  inset: 0.5rem;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-history .history-item__number::after {
    border-radius: min(1.0416666667cqh, 0.8rem);
    inset: min(0.6510416667cqh, 0.5rem);
  }
}
.p-history .history-item__ttl {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.5789;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .p-history .history-item__ttl {
    font-size: min(3.3854166667cqh, 2.6rem);
    letter-spacing: 0.06em;
    line-height: 1.615;
  }
}
.p-history .history-item__desc {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8125;
  letter-spacing: 0.02em;
  margin-top: 3rem;
}
@media (min-width: 768px) {
  .p-history .history-item__desc {
    font-size: min(2.0833333333cqh, 1.6rem);
    line-height: 2;
    margin-top: min(7.8125cqh, 6rem);
  }
}
@media (min-width: 768px) and (max-height: 768px) {
  .p-history .history-item__desc {
    margin-top: min(5.2083333333cqh, 4rem);
  }
}
@media (max-width: 767px) {
  .p-history .history-item:nth-child(2) .history-item__ttl {
    letter-spacing: 0;
  }
}

.p-company {
  background-color: #56BFC2;
  position: relative;
  z-index: 1;
}
.p-company__wrap {
  padding-block: 5rem 6rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-company__wrap {
    padding-block: 14rem 16rem;
  }
}
.p-company__wrap::before {
  content: "";
  background-color: #fff;
  border-radius: 0 5rem 5rem 0;
  width: calc(100% - 1.5rem);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-company__wrap::before {
    width: calc(100% - 10rem);
  }
}
.p-company__box {
  display: flex;
  gap: 1.7rem;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 1.5rem;
}
@media (min-width: 768px) {
  .p-company__box {
    flex-direction: row;
    gap: 7rem;
    padding-right: calc(7.3206442% + 2.5rem);
  }
}
@media (min-width: 1200px) {
  .p-company__box {
    gap: 17rem;
  }
}
.p-company__box::before {
  content: "";
  background-color: #fff;
  border-radius: 0 5rem 5rem 0;
  width: 92.6793558%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-company__head {
    width: 16.2rem;
    flex-shrink: 0;
  }
}
@media (min-width: 768px) {
  .p-company__content {
    flex: 1;
    max-width: 70.6rem;
  }
}
.p-company__media {
  margin-top: -48.5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-company__media {
    margin-top: -21.1rem;
  }
}
.p-company__list li {
  display: flex;
  gap: 0.8rem;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .p-company__list li {
    flex-direction: row;
    padding-bottom: 2.6rem;
  }
}
.p-company__list li:not(:last-child) {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .p-company__list li:not(:last-child) {
    margin-bottom: 2.6rem;
  }
}
.p-company__list li::after {
  background-color: #91959A;
  border-radius: 2rem;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
}
@media (min-width: 768px) {
  .p-company__list li {
    flex-direction: row;
    gap: 3rem;
  }
}
.p-company__list li > p {
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-company__list li > p {
    width: 11rem;
    flex-shrink: 0;
  }
}
@media (min-width: 1200px) {
  .p-company__list li > p {
    width: 8rem;
  }
}
.p-company__list li div {
  flex: 1;
}
.p-company__list li div p {
  font-size: 1.5rem;
  line-height: 1.7333333333;
}
@media (max-width: 767px) {
  .p-company__list .style-sp {
    margin-bottom: 0.5rem;
  }
}

.p-member {
  padding-top: 7rem;
}
@media (min-width: 768px) {
  .p-member {
    padding-top: 14rem;
  }
}
.p-member__list {
  margin: 4rem auto 0;
  padding-inline: 2.5rem;
}
@media (min-width: 768px) {
  .p-member__list {
    max-width: 122.6rem;
    padding-inline: 8rem;
    margin-top: 7.5rem;
  }
}
.p-member__item {
  display: grid;
  grid-template-columns: 16.3rem 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  grid-template-areas: "media title" "desc desc";
  gap: 2.5rem 3rem;
}
@media (min-width: 768px) {
  .p-member__item {
    align-items: normal;
    grid-template-areas: "media title" "media desc";
    grid-template-columns: 30rem 1fr;
    gap: 3.6rem 7rem;
  }
}
.p-member__item:not(:last-child) {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .p-member__item:not(:last-child) {
    margin-bottom: 6rem;
  }
}
.p-member__item .media {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  aspect-ratio: 1;
  border-radius: 1rem;
  grid-row: 1/-1;
  grid-area: media;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-member__item .media {
    border-radius: 2rem;
    width: 30rem;
  }
}
.p-member__item .title {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  gap: 1rem;
  grid-area: title;
}
@media (min-width: 768px) {
  .p-member__item .title {
    flex-direction: row;
    align-items: flex-end;
  }
}
.p-member__item .title-name {
  color: var(--color-primary);
  letter-spacing: 0.06em;
}
.p-member__item .title-pos {
  color: #91959A;
  font-size: 75%;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .p-member__item .title-pos {
    letter-spacing: 0.04em;
  }
}
.p-member__item .c-txt {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: desc;
}
@media (min-width: 768px) {
  .p-member__item .media {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-member__item .title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-member__item .c-txt {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
}

.c-parallax {
  height: 59.3rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-parallax {
    height: 43.9238653001vw;
  }
}
.c-parallax img {
  -o-object-fit: cover;
  object-fit: cover;
}
@media (max-width: 767px) {
  .c-parallax img {
    -o-object-position: -43.8rem 0;
    object-position: -43.8rem 0;
    max-width: none;
    width: 116.7rem;
  }
}