.op-top {
  object-position: top;
}

.slider-copy {
  position: absolute;
  top: 0%;
}

.slider-copy-under {
  position: absolute;
  bottom: 0;
}

.main-copy {
  font-size: calc(1.2rem + 0.5vw);
  font-weight: bold;
  text-shadow:
    var(--white) 1px 0px 0px, var(--white) -1px 0px 0px,
    var(--white) 0px -1px 0px, var(--white) -1px 0px 0px,
    var(--white) 1px 1px 0px, var(--white) -1px 1px 0px,
    var(--white) 1px -1px 0px, var(--white) -1px -1px 0px;
}

.main-copy .large {
  font-size: 1.2em;
}

.main-copy > .under-line {
  border-bottom: 5px solid #c1ff72;
}

.sub-copy {
  font-size: calc(1rem + .3vw);
  font-weight: bold;
  text-shadow:
    var(--white) 1px 0px 0px, var(--white) -1px 0px 0px,
    var(--white) 0px -1px 0px, var(--white) -1px 0px 0px,
    var(--white) 1px 1px 0px, var(--white) -1px 1px 0px,
    var(--white) 1px -1px 0px, var(--white) -1px -1px 0px;
}

.main-copy.text-white,
.sub-copy.text-white {
  text-shadow:
    var(--black) 0 0 6px, var(--black) 0 0 6px;
}

.scroll-mark {
  border: thin solid var(--white);
  position: relative;
  color: var(--white);
  text-align: center;
  border-radius: 50rem;
  width: 1.65rem;
  height: 2.7rem;
  margin: 1rem auto 0 ;
}

.scroll-mark::before {
  content: "";
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  background-color: var(--white);
  border-radius: 100%;
  transform: translateY(-0.25rem);
}

.scroll-mark::after {
  content: "SCROLL";
  font-size: 10px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 120%);
}

.news-title {
  flex-grow: 1;
}

.news-frame {
  height: 40vh;
}

.rounded-circle {
  display: inline-block;
  font-size: 1.2rem;
  width: 2.4rem;
  height: 2.4rem;
  line-height: 2.4rem;
  text-align: center;
  flex-shrink: 0;
}

.swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  border: thin solid var(--brown);
  background-color: var(--white);
  opacity: 1;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.swiper-pagination-bullet-active {
  background-color: var(--brown);
}

.architect-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 3rem;
}

@media (min-width: 768px) {
  .slider-copy {
    top: 5%;
  }

  .slider-copy-under {
    bottom: 5%;
  }

  .main-copy {
    font-size: calc(1.2rem + .8vw);
  }

  .sub-copy {
    font-size: calc(1.275rem + .3vw);
  }

  .news-title {
    flex-grow: 0;
  }

  .column-swiper-container .swiper-button-prev {
    left: -4em;
  }

  .column-swiper-container .swiper-button-next {
    right: -4em;
  }

  .swiper-pagination-bullet {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
}

/* 2024.06リニューアル */
/*
#strong-reason .container {
  max-width: fit-content;
}
*/

#strong-reason .reason {
  border: 2px solid var(--color-mos-green);
  border-radius: 1rem;
  padding: 1rem;
  line-height: 1.5;
  background-color: #fff;
}

#strong-reason .reason + .reason {
  margin-top: 1.5rem;
}

#strong-reason .reason .reason-img-wrapper {
  width: 100%;
}

#strong-reason .reason .reason-img-wrapper .reason-img {
  width: 100%;
  height: auto;
}

#service > .ratio,
#column > .ratio,
#architect > .ratio,
#message > .ratio,
#news > .ratio {
  --bs-aspect-ratio: 36.887436%;
}

#service > .ratio .object-fit-cover,
#column > .ratio .object-fit-cover,
#architect > .ratio .object-fit-cover {
  object-position: 0 70%;
}

#message > .ratio .object-fit-cover {
  left: -3%;
  object-position: 0 90%;
}

.center-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  text-align: center;
}

.center-caption.filter > * {
  background-color: rgb(255,255,255,0.75);
}

.rounded-4 {
  border-radius: 1rem;
}


/* only SP */
@media (max-width: 768px) {
  #strong-reason .reason {
    margin-left: 0;
    margin-right: 0;
  }

  #message > .ratio {
    overflow: hidden;
  }

  #message > .ratio .object-fit-cover {
    left: -7%;
    object-position: 0 112%;
    transform: scale(2.5);
  }

  #message .h3 {
    font-size: calc(1.275rem + .3vw);
  }
}

/* only PC */
@media (min-width: 768px) {
  #strong-reason .reason {
    padding: 1.5rem;
    line-height: 2;
  }

  #strong-reason .reason .reason-img-wrapper {
    position: relative;
    height: 100%;
  }

  #strong-reason .reason .reason-img-wrapper .reason-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #service > .ratio,
  #column > .ratio,
  #architect > .ratio,
  #message > .ratio,
  #news > .ratio {
    --bs-aspect-ratio: 21.887436%;
  }
}
