@keyframes rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.top-first-view {
  position: relative;
  width: 100%;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  min-height: 1200rem;
  background-color: rgba(242, 246, 247, 0.7);
}
@media (max-width: 768px) {
  .top-first-view {
    min-height: 1920rem;
  }
}
.top-first-view__bg {
  position: absolute;
  width: 1854rem;
  height: 70%;
  top: 0;
  right: 0;
  object-fit: fill;
}
@media (max-width: 768px) {
  .top-first-view__bg {
    height: 45%;
  }
}
.top-first-view__slide {
  position: absolute;
  width: 100%;
  height: 100%;
  max-height: 1200rem;
  left: 0;
  perspective: 1000px;
}
.top-first-view__slide-item {
  position: absolute;
  width: 808rem;
  height: 808rem;
  border-radius: 20rem;
  background-color: lightgrey;
  font-size: 50rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  .top-first-view__slide-item {
    width: 866rem;
    height: 866rem;
  }
}
.top-first-view__slide-item-filter {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition-property: backdrop-filter;
  transition-duration: 1.6s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
.top-first-view__slide-item-filter.--blur {
  backdrop-filter: blur(10px);
}
.top-first-view__texts {
  position: absolute;
  color: #00505a;
  left: 178rem;
  margin-bottom: 52rem;
}
@media (max-width: 768px) {
  .top-first-view__texts {
    left: 101rem;
    bottom: 45rem;
  }
}
.top-first-view__texts-circle {
  width: 134rem;
  height: 134rem;
  border-radius: 50%;
  margin-bottom: 45rem;
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
@media (max-width: 768px) {
  .top-first-view__texts-circle {
    width: 180rem;
    height: 180rem;
    margin-left: -25rem;
  }
}
.top-first-view__texts-circle.--hide {
  overflow: 0;
}
.top-first-view__texts-circle-image {
  animation: rotate 30s linear infinite;
}
.top-first-view__texts-heading {
  font-size: 72rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: inherit;
  margin-bottom: 25rem;
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-delay: 0s;
  transition-timing-function: linear;
  padding-bottom: 20rem;
}
@media (max-width: 768px) {
  .top-first-view__texts-heading {
    font-size: 60.15rem;
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: inherit;
    margin-bottom: -3rem;
  }
}
.top-first-view__texts-heading.--hide {
  overflow: 0;
}
.top-first-view__texts-sub {
  position: relative;
  font-size: 46.46rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0em;
  color: inherit;
  margin-bottom: 47rem;
}
.top-first-view__texts-sub-text {
  font-size: 80rem;
}
.top-first-view__texts-sub-text.--en {
  font-size: 48rem;
}
.top-first-view__texts-sub-text--front {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  transition-property: width;
  transition-duration: 1.6s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.12, 0.88, 0.32, 0.99);
}
.top-first-view__texts-sub-text--front span {
  white-space: nowrap;
}
.top-first-view__texts-sub-text--front.--hide {
  width: 0;
}
.top-first-view__texts-sub-text--back {
  color: rgba(0, 80, 90, 0.14);
}
.top-first-view__texts-main {
  font-size: 42.09rem;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5459729152;
  letter-spacing: 0em;
  color: inherit;
  margin-bottom: 106rem;
  transition-property: opacity;
  transition-duration: 1.6s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
@media (max-width: 768px) {
  .top-first-view__texts-main {
    font-size: 44rem;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.4788636364;
    letter-spacing: 0.16em;
    color: inherit;
    margin-bottom: 44rem;
  }
}
.top-first-view__texts-main.--hide {
  overflow: 0;
}
.top-first-view__texts-main .splitTexts_text {
  font-size: 32rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.top-first-view__texts-cta {
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
.top-first-view__texts-cta.--hide {
  overflow: 0;
}
.top-first-view__scroll-down {
  position: absolute;
  top: calc(100svh - 98rem);
  right: 39rem;
  font-size: 20rem;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0em;
  color: #00505a;
  transition-property: opacity;
  transition-duration: 0.8s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
@media (max-width: 768px) {
  .top-first-view__scroll-down {
    top: calc(100svh - 136rem);
    right: 45rem;
    font-size: 34rem;
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0em;
    color: #00505a;
  }
}
.top-first-view__scroll-down.--hide {
  overflow: 0;
}
.top-first-view__scroll-down-items {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: row;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-delay: 0s;
  transition-timing-function: linear;
}
.top-first-view__scroll-down-items.--hide {
  opacity: 0;
  pointer-events: none;
}
.top-first-view__scroll-down-text {
  position: relative;
  margin-right: 14rem;
}
@media (max-width: 768px) {
  .top-first-view__scroll-down-text {
    margin-right: 20rem;
  }
}
.top-first-view__scroll-down-arrow {
  width: 6rem;
  height: 43rem;
}
@media (max-width: 768px) {
  .top-first-view__scroll-down-arrow {
    width: 11rem;
    height: 73rem;
  }
}
.top-first-view__scroll-down-arrow img {
  object-fit: contain;
}

.top-company {
  background: linear-gradient(135deg, rgb(255, 255, 255) 50%, rgba(177, 216, 219, 0.3) 100%);
}

.top-service {
  background: linear-gradient(135deg, rgba(177, 216, 219, 0.2) 30%, rgb(255, 255, 255) 100%);
}
@media (max-width: 768px) {
  .top-service {
    background: linear-gradient(135deg, rgb(255, 255, 255) 50%, rgba(177, 216, 219, 0.3) 100%);
  }
}

.top-recruit {
  background: linear-gradient(45deg, rgb(255, 255, 255) 50%, rgba(177, 216, 219, 0.25) 100%);
  background-color: rgba(242, 246, 247, 0.7);
}
@media (max-width: 768px) {
  .top-recruit {
    padding: 125rem 99rem 155rem;
    background-color: rgba(242, 246, 247, 0.7);
  }
}

.top-works {
  padding-top: 227rem;
  padding-bottom: 136rem;
  background-color: rgba(242, 246, 247, 0.7);
}
@media (max-width: 768px) {
  .top-works {
    padding-top: 127rem;
    padding-bottom: 152rem;
  }
}
.top-works__main-heading {
  text-align: center;
  font-size: min(116rem, 116px);
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0em;
  color: inherit;
  margin-bottom: 29rem;
}
@media (max-width: 768px) {
  .top-works__main-heading {
    font-size: 96rem;
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0em;
    color: inherit;
    margin-bottom: 20rem;
  }
}
.top-works__sub-heading {
  text-align: center;
  font-size: 40rem;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0em;
  color: inherit;
  margin-bottom: 140rem;
}
@media (max-width: 768px) {
  .top-works__sub-heading {
    font-size: 40rem;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.47425;
    letter-spacing: 0em;
    color: inherit;
    margin-bottom: 138rem;
  }
}
.top-works__slider {
  position: relative;
  overflow-x: hidden;
  margin-bottom: 82rem;
}
@media (max-width: 768px) {
  .top-works__slider {
    margin-bottom: 87rem;
  }
}
.top-works__slider-cards-inner {
  display: flex;
  align-items: fle-start;
  justify-content: flex-start;
  flex-direction: row;
  padding: 0 220rem;
}
@media (max-width: 768px) {
  .top-works__slider-cards-inner {
    padding: 0 196rem;
  }
}
.top-works__slider-card {
  width: 433.31rem;
  flex-shrink: 0;
  margin-right: 51rem;
  transition-duration: 2.4s;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.12, 0.88, 0.32, 0.99);
}
@media (max-width: 768px) {
  .top-works__slider-card {
    width: 720rem;
    margin-right: 46rem;
  }
}
.top-works__slider-card.--hide {
  opacity: 0;
  transform: translate3d(30%, 0, 0);
}
.top-works__slider-image-box {
  border-radius: 20rem;
  width: 100%;
  height: 261.33rem;
  margin-bottom: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  overflow: hidden;
}
@media (max-width: 768px) {
  .top-works__slider-image-box {
    width: 100%;
    height: 434rem;
    margin-bottom: 40rem;
  }
}
.top-works__slider-text-sub {
  margin-bottom: 6rem;
  font-size: 15.95rem;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5153605016;
  letter-spacing: 0.08em;
  color: rgba(29, 29, 29, 0.7);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 768px) {
  .top-works__slider-text-sub {
    margin-bottom: 20rem;
    font-size: 30rem;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0.08em;
    color: rgba(29, 29, 29, 0.7);
  }
}
.top-works__slider-text-main {
  font-size: 22.39rem;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.511389013;
  letter-spacing: 0.08em;
  color: #1d1d1d;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 768px) {
  .top-works__slider-text-main {
    font-size: 36rem;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1.3791666667;
    letter-spacing: 0.08em;
    color: #1d1d1d;
  }
}
.top-works__slider-text-main.--noItem {
  text-align: center;
}
.top-works__slider-button {
  position: absolute;
  width: 70rem;
  height: 70rem;
  top: 95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}
@media (max-width: 768px) {
  .top-works__slider-button {
    width: 90rem;
    height: 90rem;
    top: 170rem;
  }
}
.top-works__slider-button svg {
  position: absolute;
  transition-property: fill;
  transition-duration: 0.2s;
  transition-delay: 0s;
  transition-timing-function: linear;
  width: 16rem;
  height: 16rem;
  fill: #00505a;
}
@media (min-width: 769px) {
  .top-works__slider-button:hover .top-works__slider-button-bg-inner {
    background-color: #00505a;
  }
  .top-works__slider-button:hover svg {
    fill: #ffffff;
  }
}
.top-works__slider-button--prev {
  left: 60rem;
}
@media (max-width: 768px) {
  .top-works__slider-button--prev {
    left: 50rem;
  }
}
.top-works__slider-button--prev svg {
  transform: rotate(-135deg);
}
.top-works__slider-button--next {
  right: 60rem;
}
@media (max-width: 768px) {
  .top-works__slider-button--next {
    right: 50rem;
  }
}
.top-works__slider-button--next svg {
  transform: rotate(45deg);
}
.top-works__slider-button-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px #00505a solid;
}
.top-works__slider-button-bg-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition-property: background;
  transition-duration: 0.2s;
  transition-delay: 0s;
  transition-timing-function: linear;
  background-color: #ffffff;
}
.top-works__anchor-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row;
}
.top-works__anchor {
  display: inline-block;
  padding-right: 178rem;
}
@media (max-width: 768px) {
  .top-works__anchor {
    padding-right: 100rem;
  }
}

.top-news {
  padding: 158rem 97rem 102rem;
  background-color: #ffffff;
}
@media (max-width: 768px) {
  .top-news {
    padding: 120rem 97rem 102rem;
  }
}
.top-news__headings {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-direction: row;
  max-width: 1820px;
  margin: 0 auto 49rem;
}
@media (max-width: 768px) {
  .top-news__headings {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    max-width: none;
    margin-bottom: 0;
  }
}
.top-news__main-heading {
  font-size: min(116rem, 116px);
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: inherit;
  margin-right: 37rem;
}
@media (max-width: 768px) {
  .top-news__main-heading {
    font-size: 96rem;
    font-family: "futura-pt", sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0em;
    color: inherit;
    margin: 0 0 25rem;
  }
}
.top-news__sub-heading {
  font-size: 40rem;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.2;
  letter-spacing: 0em;
  color: inherit;
}
@media (max-width: 768px) {
  .top-news__sub-heading {
    margin-bottom: 96rem;
  }
}
.top-news__anchor-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row;
  margin: 0 0 0 auto;
}
.top-news__anchor {
  display: inline-block;
}

/*# sourceMappingURL=page-home.css.map */
