.br-sp {
  display: none;
}
.br-1230{
  display: none;
}

.br-pc {
  display: block;
}


@media screen and (max-width: 750px) {
  .br-sp {
    display: none;
  }

  .br-pc {
    display: none;
  }
}


/* ===================================
   About page ヒーローセクション
=================================== */
.about-hero {
  position: relative;
  width: 100%;
}

.about-page__images {
  position: relative;
  z-index: 1;
  width: 100%;
}

.about-page__images__section {
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.about-page__images__section img {
  will-change: transform;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-page__contents {
  position: absolute;
  width: 72%;
  height: 100%;
  display: flex;
  align-items: start;
  justify-content: center;
  flex-direction: column;
  pointer-events: none;
  opacity: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.about-page__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  background-image: url(../images/pc/about/bg3.webp);
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
}

.about-page__title {
  color: var(--color-light);
  text-align: center;
  font-family: var(--font-main);
  font-size: 10rem;
  font-weight: 400;
  width: 100%;
  line-height: 0.5;;
  margin-bottom: 15%;
}

.about-page__intro-heading {
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.66;
  margin-bottom: 6rem;
}

.about-page__intro-text {
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.07rem;
  margin-bottom: 0;
}


@media screen and (max-width: 750px) {
  .main.about-page {
    margin-top: var(--header-height-sp);
  }

  .about-page__images__section {
    height: calc(100svh - 14rem);
  }

  .about-page__background {
    background-image: url(../images/sp/about/bg3.webp);
  }

  .about-page__images__section:nth-child(2) {
    height: auto;
    margin-top: -2rem;
  }

  .about-page__title {
    font-size: 4.8rem;
    line-height: 1.04;
    padding: 6rem 0;
    margin: 10.4rem auto 12.4rem;
  }

  .about-page__contents {
    padding: 0 3rem;
    align-items: center;
    width: 100%;
  }

  .about-page__intro-heading {
    font-size: 2.4rem;
    line-height: 1.66;
    margin-top: 6rem;
    margin-bottom: 2rem;
    width: 100%;
  }

  .about-page__intro-text {
    margin-bottom: 5.8rem;
    font-size: 1.4rem;
    text-align-last: left;
    line-height: 1.85;
  }
}

/* ===================================
   About page 企業価値セクション
=================================== */
.about-page__values {
  position: relative;
  width: 100%;
  z-index: 3;
}

.about-page__values-container {
  font-size: 0.694444vw !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
  padding: 23rem 2rem 21.5em;
  aspect-ratio: 360 / 487;
}

/* カードコンテナ */
.about-value-card-wrapper {
  position: relative;
  top: auto;
  z-index: 5;
  overflow: visible;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 15rem;
}

.about-value-card {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  height: auto;
  opacity: 1;
  pointer-events: auto;
  transform: none !important;
  display: grid;
  grid-template-columns: 41% 33%;
  gap: 5.8rem;
  align-items: center;
  justify-content: center;
}

.about-value-card__number {
  width: 14.8rem;
  height: 14.8rem;
  border-radius: 50%;
  border: 1px solid var(--color-light);
  display: flex;
  justify-content: center;
  align-items: center;

  justify-self: right;
  color: var(--color-light);
  text-align: center;
  font-family: var(--font-main);
  font-size: 6.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 0.4;
  position: absolute;
  top: -9.8rem;
  right: -5.9rem;
}
@media (max-width: 1080px) and (min-width: 821px) {
    .about-value-card__title {
      font-size: 3rem !important;
    }
  .about-value-card {
    grid-template-columns: 40% 45%;
    gap: 3rem;
  }
  .about-value-card__number {
    width: 12rem;
    height: 12rem;
    font-size: 5rem;
    top: -8rem;
    right: -2rem;
  }
}

@media (max-width: 820px) and (min-width: 751px) {
    .about-value-card__title {
      font-size: 2.8rem !important;
    }
    .about-value-card {
      grid-template-columns: 40% 50%;
      gap: 3rem;
    }
    .about-value-card__number {
      width: 12rem;
      height: 12rem;
      font-size: 5rem;
      top: -8rem;
      right: -2rem;
    }
}
.about-value-card__content{
  font-size: 0.694444vw !important;
  display: flex;
  flex-direction: column;
  gap: 2em;
  opacity: 1;
  transition: opacity 0.5s ease, transform 0.5s ease;
  position: relative;
}

.about-value-card__title {
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.56;
}

.about-value-card__text {
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.07rem;
}

@media screen and (max-width: 750px) {
  .about-page__values-container {
    font-size: 10px !important;
    width: 100%;
    padding: 0 0 8.6rem;
    gap: 0;
    aspect-ratio: 39 / 170;
  }

  .about-value-card-wrapper {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 9rem;
  }

  .about-value-card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }

  .about-value-card__number {
    /* font-family: var(--font-about-sp); */
    width: 6.7rem;
    height: 6.7rem;
    border-radius: 50%;
    font-size: 2.89rem;
    justify-self: center;
    position: relative; 
    top: auto;
    right: auto; 
    align-self: center;
  }

  .about-value-card__content{
    font-size: 10px !important;
    opacity: 1;
    transform: none;
    transition: none;
    gap: 2rem;
    text-align: center;
    padding: 0 3rem;
  }

  .about-value-card__title {
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.41;
    white-space: normal;
  }

}

/* ------------------------------------
   About page - Values Gallery
-------------------------------------- */
.about-gallery__media {
  position: relative;
  width: 100%;
  height: auto;
  top: auto;
  left: auto;
}

.about-gallery__img {
  position: relative;
  width: 100%;
  height: auto;
  max-width: 60rem;
  object-fit: cover;
  top: auto;
  left: auto;
}


@media screen and (max-width: 750px) {
  .about-gallery__img {
    will-change: transform;
    backface-visibility: hidden;
    position: relative;
  }
  .about-gallery__img-1 {
    max-width: 39rem;
    top: 0;
    left: 0;
  }

  .about-gallery__img-2 {
    max-width: 39rem;
    top: 0;
    left: 0;
  }

  .about-gallery__img-3 {
    max-width: 39rem;
    top: 0;
    left: 0;
  }
}




/* ===================================
   About page 代表メッセージセクション
=================================== */
.about-page__ceo-message {
  position: relative;
  z-index: 1;
}
.about-page__ceo-message-container {
  width: 100%;
  margin: auto;
}
.about-page__section-title {
  text-align: center;
  font-size: 9.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 0.9;
  color: var(--color-light);
  font-family: var(--font-main);
  white-space: nowrap;
  margin: 9.98rem auto 12rem;
}
.about-page__ceo-message-content{
  margin: 0 auto;
  display: grid;
  grid-template-columns: 40% 46%;
  justify-content: center;
  gap: 4%;
  padding-bottom: 21.1rem;
}
.about-page__ceo-message-text{
  display: flex;
  flex-direction: column;
}
.about-page__ceo-message-heading{
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 3.2rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.56;
  margin-bottom: 3rem;
}

.about-page__ceo-message-body{
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.07rem;
  margin-bottom: 6.1rem;
}


.about-page__ceo-message-wrap{
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: end;
}
.about-page__ceo-message-name{
  color: var(--color-light);
  font-family: var(--font-strong);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.07rem;
}
.about-page__ceo-message-sign img{
  max-width: 20.1rem;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.about-page__ceo-message-image{
  align-self: center;
}
.about-page__ceo-message-image img{
  max-width: 66.4rem;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 1230px) and (min-width: 751px) {
  .br-1230{
    display: block;
  }
  .about-page__ceo-message-content{
    grid-template-columns: 45% 45%;
  }
}

@media screen and (max-width: 750px) {
  .about-page__section-title {
    font-size: 3.9rem;
    line-height: 1.16;
    margin: 0 auto 3rem;
  }
  .about-page__ceo-message-content{
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    gap: 0;
    padding-bottom: 3rem;
  }
  .about-page__ceo-message-text{
    display: flex;
    flex-direction: column;
    padding: 6rem 3rem;
    gap: 3rem;
  }
  .about-page__ceo-message-heading{
    font-size: 1.8rem;
    line-height: 1.44;
    margin-bottom: 0;
    letter-spacing: 0.09rem;
  }

  .about-page__ceo-message-body{
    font-size: 1.3rem;
    line-height: 1.69;
    letter-spacing: 0.065rem;
    margin-bottom: 0;
  }
  .about-page__ceo-message-wrap{
    gap: 1rem;
  }
  .about-page__ceo-message-sign img{
    max-width: 15.9rem;
  }
  .about-page__ceo-message-image{
    align-self: normal;
  }
  .about-page__ceo-message-image img{
    max-width: 43.1rem;
  }
}
