@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&icon_names=link");
html {
  overflow-x: hidden;
}

body {
  padding-top: 0;
  overflow-x: hidden;
}

.transparent {
  background-color: transparent !important;
}

#animation_container {
  position: absolute;
  z-index: -1;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  #animation_container {
    margin: auto;
    width: 100vw !important;
    overflow: hidden;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.top__hero {
  width: 100%;
  height: 100vh;
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top__hero {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top__hero .top__hero-txt {
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .top__hero .top__hero-txt {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.top__hero .top__hero-txt .top__hero-ttl {
  font-size: 5.4rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0 0 3rem 0;
}
@media screen and (max-width: 768px) {
  .top__hero .top__hero-txt .top__hero-ttl {
    font-size: 3.8rem;
    text-align: center;
  }
}
.top__hero .top__hero-txt .top__hero-read {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .top__hero .top__hero-txt .top__hero-read {
    font-size: 1.6rem;
    text-align: center;
  }
}
.top__hero .top__hero-img {
  padding: 0 10rem;
}
@media screen and (max-width: 768px) {
  .top__hero .top__hero-img {
    padding: 0;
  }
}
.top__hero .top__hero-img .hero-slider {
  width: 42rem;
  height: 42rem;
}
@media screen and (max-width: 768px) {
  .top__hero .top__hero-img .hero-slider {
    width: 30rem;
    height: 30rem;
  }
}
.top__hero .top__hero-img .hero-slider .swiper-slide {
  border-radius: 3rem;
}
.top__hero .top__hero-img .hero-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top__solution {
  margin: 5rem 0 8rem 0;
}
.top__solution .top__solution-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 4rem 10rem;
}
@media screen and (max-width: 768px) {
  .top__solution .top__solution-col {
    margin: 0 2rem;
    display: block;
  }
}
.top__solution .top__solution-col .top__solution-read {
  text-align: right;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .top__solution .top__solution-col .top__solution-read {
    text-align: left;
    font-size: 1.6rem;
  }
}
.top__solution .top__solution-col > h2 {
  margin-top: 0;
  margin-bottom: 0;
}
.top__solution .solution__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.top__solution .solution__list .solution__list-item {
  background-color: #f7f7f7;
  overflow: hidden;
  position: relative;
  margin-bottom: 5rem;
}
.top__solution .solution__list .solution__list-item .solution__list-txt {
  position: relative;
  z-index: 1;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item .solution__list-txt {
    padding: 3rem;
  }
}
.top__solution .solution__list .solution__list-item .solution__list-txt .solution__list-ttl {
  margin: 0 0 2rem 0;
  font-size: 2.7rem;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  padding-top: 2.4rem;
}
.top__solution .solution__list .solution__list-item .solution__list-txt .solution__list-ttl::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 12rem;
  height: 0.5rem;
  background: #000;
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item .solution__list-txt .solution__list-ttl {
    font-size: 2.3rem;
  }
}
.top__solution .solution__list .solution__list-item .solution__list-txt .solution__list-read {
  margin: 0 0 2rem 0;
}
.top__solution .solution__list .solution__list-item .solution__list-img {
  position: absolute;
  top: 0;
  width: 55%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item .solution__list-img {
    position: relative;
    width: 100%;
  }
}
.top__solution .solution__list .solution__list-item .solution__list-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top__solution .solution__list .solution__list-item .solution__list-img::after {
  position: absolute;
  content: "";
  top: 0;
  width: 30rem;
  height: 100%;
}
.top__solution .solution__list .solution__list-item.item-recruit {
  margin-right: 15%;
  border-radius: 0 2rem 2rem 0;
  padding: 5rem 35% 5rem 15%;
  position: relative;
}
.top__solution .solution__list .solution__list-item.item-recruit::after {
  position: absolute;
  content: "RECRUIT";
  bottom: 0;
  left: 0;
  font-size: 12rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: left;
  color: #fff;
  line-height: 0.7em;
  letter-spacing: -0.3rem;
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item.item-recruit {
    margin: 2rem;
    border-radius: 1rem;
    padding: 0;
  }
  .top__solution .solution__list .solution__list-item.item-recruit::after {
    font-size: 6rem;
  }
}
.top__solution .solution__list .solution__list-item.item-recruit .solution__list-img {
  right: 0;
}
.top__solution .solution__list .solution__list-item.item-recruit .solution__list-img::after {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgb(247, 247, 247)), to(rgba(247, 247, 247, 0)));
  background: linear-gradient(90deg, rgb(247, 247, 247), rgba(247, 247, 247, 0));
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item.item-recruit .solution__list-img::after {
    display: none;
  }
}
.top__solution .solution__list .solution__list-item.item-recruit .solution__list-ttl::before {
  background: -webkit-gradient(linear, left top, right top, from(#3EBA78), to(#A9E267));
  background: linear-gradient(90deg, #3EBA78, #A9E267);
}
.top__solution .solution__list .solution__list-item.item-clinic {
  margin-left: 15%;
  border-radius: 2rem 0 0 2rem;
  padding: 5rem 15% 5rem 35%;
}
.top__solution .solution__list .solution__list-item.item-clinic::after {
  position: absolute;
  content: "MEDICAL";
  bottom: 0;
  right: 0;
  font-size: 12rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: right;
  color: #fff;
  line-height: 0.7em;
  letter-spacing: -0.3rem;
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item.item-clinic {
    margin: 2rem;
    border-radius: 1rem;
    padding: 0;
  }
  .top__solution .solution__list .solution__list-item.item-clinic::after {
    font-size: 6rem;
  }
}
.top__solution .solution__list .solution__list-item.item-clinic .solution__list-img {
  left: 0;
}
.top__solution .solution__list .solution__list-item.item-clinic .solution__list-img::after {
  right: 0;
  background: -webkit-gradient(linear, right top, left top, from(rgb(247, 247, 247)), to(rgba(247, 247, 247, 0)));
  background: linear-gradient(270deg, rgb(247, 247, 247), rgba(247, 247, 247, 0));
}
@media screen and (max-width: 768px) {
  .top__solution .solution__list .solution__list-item.item-clinic .solution__list-img::after {
    display: none;
  }
}
.top__solution .solution__list .solution__list-item.item-clinic .solution__list-ttl::before {
  background: -webkit-gradient(linear, left top, right top, from(#2D6BE2), to(#75DFE3));
  background: linear-gradient(90deg, #2D6BE2, #75DFE3);
}

.top__service {
  margin: 5rem 0 10rem 0;
}
.top__service .top__service-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 10rem 4rem 10rem;
}
@media screen and (max-width: 768px) {
  .top__service .top__service-col {
    margin: 0 2rem;
    display: block;
  }
}
.top__service .top__service-col .top__service-read {
  text-align: right;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .top__service .top__service-col .top__service-read {
    text-align: left;
    font-size: 1.6rem;
  }
}
.top__service .top__service-col > h2 {
  margin-top: 0;
  margin-bottom: 0;
}
.top__service .top__service-list {
  margin-bottom: 6rem;
  display: grid;
  gap: 8rem;
}
@media screen and (max-width: 768px) {
  .top__service .top__service-list {
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .top__service .top__service-list .top__service-cate {
    padding: 2rem;
  }
}
.top__service .top__service-list .top__service-cate .top__service-ttl {
  margin: 0 0 5rem 0;
  padding: 0;
}
.top__service .top__service-list .top__service-cate .top__service-ttl .service-ttl__en {
  display: block;
  font-size: 5.4rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #e9e9e9;
}
.top__service .top__service-list .top__service-cate .top__service-ttl .service-ttl__ja {
  display: block;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: -4rem;
  color: #434343;
}
.top__service .top__service-list .top__service-cate .service-lists {
  list-style-type: none;
  padding: 0;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
}
@media screen and (max-width: 768px) {
  .top__service .top__service-list .top__service-cate .service-lists {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    margin-bottom: 4rem;
  }
}
.top__service .top__service-list .top__service-cate .service-lists .service-item {
  border-bottom: 1px solid #CCC;
  position: relative;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item::after {
  position: absolute;
  content: "";
  width: 3rem;
  height: 1px;
  bottom: -1px;
  border-bottom: 1px solid #434343;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a {
  display: block;
  padding: 2rem 0;
  color: #434343;
  line-height: 1.5;
  position: relative;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  right: 0;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a .arrow::before, .top__service .top__service-list .top__service-cate .service-lists .service-item a .arrow::after {
  position: absolute;
  content: "";
  top: 50%;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a .arrow::before {
  width: 1.5rem;
  height: 0;
  border-top: 1px solid #434343;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a .arrow::after {
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #434343;
  border-right: 1px solid #434343;
  -webkit-transform: rotate(45deg) translateY(-60%);
          transform: rotate(45deg) translateY(-60%);
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a:hover {
  color: #8691A3;
}
.top__service .top__service-list .top__service-cate .service-lists .service-item a:hover .arrow {
  -webkit-animation: arrow 1s infinite;
          animation: arrow 1s infinite;
}
@-webkit-keyframes arrow {
  from {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  to {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}
@keyframes arrow {
  from {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  to {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}
.top__service .top__service-list .top__service-img {
  overflow: hidden;
}
.top__service .top__service-list .top__service-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top__service .online {
  grid-template-columns: 1fr 1fr;
  margin-right: 10rem;
}
@media screen and (max-width: 768px) {
  .top__service .online {
    grid-template-columns: 1fr;
    margin: 0;
  }
}
.top__service .online .top__service-img {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  border-radius: 0 2rem 2rem 0;
}
@media screen and (max-width: 768px) {
  .top__service .online .top__service-img {
    border-radius: 0;
  }
}
.top__service .offline {
  grid-template-columns: 1fr 1fr;
  margin-left: 10rem;
}
@media screen and (max-width: 768px) {
  .top__service .offline {
    grid-template-columns: 1fr;
    margin: 0;
  }
}
.top__service .offline .top__service-img {
  border-radius: 2rem 0 0 2rem;
}
@media screen and (max-width: 768px) {
  .top__service .offline .top__service-img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    border-radius: 0;
  }
}

.top__works {
  margin: 5rem 0 8rem 5rem;
  padding: 8rem 0 4rem 5rem;
  background-color: #434343;
  border-radius: 4rem 0 0 4rem;
}
@media screen and (max-width: 768px) {
  .top__works {
    margin: 5rem 0 8rem 2rem;
    padding: 4rem 0 4rem 2rem;
  }
}
.top__works .top__works-col {
  margin-right: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .top__works .top__works-col {
    margin-right: 2rem;
    display: block;
  }
}
.top__works .top__works-col .ttl-section {
  color: #fff;
}
.top__works .top__works-col .top__works-read {
  color: #fff;
  text-align: right;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .top__works .top__works-col .top__works-read {
    text-align: left;
    font-size: 1.6rem;
  }
}
.top__works .top__works-col > h2 {
  margin-top: 0;
  margin-bottom: 0;
}
.top__works .internal-btn1 {
  margin-top: -4rem;
}
@media screen and (max-width: 768px) {
  .top__works .internal-btn1 {
    margin-top: 2rem;
  }
}
.top__works .internal-btn1 a {
  border: 1px solid #696969;
}
.top__works .top-works {
  position: relative;
  padding-bottom: 6rem;
  overflow: hidden;
}
.top__works .top-works .swiper-pagination {
  width: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top__works .top-works .swiper-pagination .swiper-pagination-bullet {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin: 0 1rem !important;
  background-color: #CCC !important;
}
.top__works .top-works .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #fff !important;
}
.top__works .top-works .swiper-wrapper {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.top__works .top-works .swiper-wrapper a {
  display: block;
  color: #f0f0f0;
}
.top__works .top-works .swiper-wrapper a .works-list__img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 2rem;
  overflow: hidden;
  margin: 0 auto 2rem auto;
}
@media screen and (max-width: 768px) {
  .top__works .top-works .swiper-wrapper a .works-list__img {
    width: 80%;
  }
}
.top__works .top-works .swiper-wrapper a .works-list__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  width: 100%;
  height: 100%;
}
.top__works .top-works .swiper-wrapper a:hover .works-list__img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top__works .top-works .swiper-wrapper a .works-list__txt * {
  line-height: 1.5;
  margin: 0 0 0.5rem 0;
}
.top__works .top-works .swiper-wrapper a .works-list__txt .works-list__ttl {
  font-size: 1.8rem;
  margin: 0 0 0.5rem 0;
}
.top__works .top-works .swiper-wrapper a .works-list__txt .works-list__client {
  font-size: 1.6rem;
  margin: 0 0 1.5rem 0;
}
.top__works .top-works .swiper-wrapper a .works-list__txt .works-list__categories {
  list-style-type: none;
  padding: 0;
}
.top__works .top-works .swiper-wrapper a .works-list__txt .works-list__categories .works-list__category {
  line-height: 1;
  display: inline-block;
  margin-right: 0.5rem;
  white-space: nowrap;
  font-size: 1.4rem;
  padding: 0.5rem;
  border: 1px solid #696969;
  border-radius: 0.3rem;
}
.top__works .top-works .swiper-wrapper a .works-list__txt .works-list__launch {
  font-size: 1.4rem;
}

.word-scroll {
  padding-left: 70vw;
  margin: 10rem 0;
  overflow: hidden;
}
.word-scroll .scroll-text {
  white-space: nowrap;
  color: #f0f0f0;
  font-size: 22rem;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .word-scroll .scroll-text {
    font-size: 8rem;
  }
}

.top__stlog {
  margin: 5rem 0 8rem 10rem;
}
@media screen and (max-width: 768px) {
  .top__stlog {
    margin: 5rem 0 8rem 2rem;
  }
}
.top__stlog .top__stlog-col {
  margin-right: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .top__stlog .top__stlog-col {
    margin-right: 2rem;
    display: block;
  }
}
.top__stlog .top__stlog-col .top__stlog-read {
  text-align: right;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .top__stlog .top__stlog-col .top__stlog-read {
    text-align: left;
    font-size: 1.6rem;
  }
}
.top__stlog .top__stlog-col > h2 {
  margin-top: 0;
  margin-bottom: 0;
}
.top__stlog .internal-btn1 {
  margin-top: -2rem;
}
@media screen and (max-width: 768px) {
  .top__stlog .internal-btn1 {
    margin-top: 2rem;
  }
}
.top__stlog .internal-btn1 a {
  border: 1px solid #696969;
}
.top__stlog .top-stlog {
  position: relative;
  padding-bottom: 6rem;
  overflow: hidden;
}
.top__stlog .top-stlog .swiper-slide {
  display: block;
  height: auto;
}
.top__stlog .top-stlog .swiper-pagination {
  width: auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
.top__stlog .top-stlog .swiper-pagination .swiper-pagination-bullet {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin: 0 1rem !important;
}
.top__stlog .top-stlog .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #434343 !important;
}
.top__stlog .top-stlog a {
  display: block;
  background-color: #f7f7f7;
  border-radius: 2rem;
  color: #434343;
  padding: 3rem;
  height: 100%;
}
.top__stlog .top-stlog a:hover {
  color: #8691A3;
}
.top__stlog .top-stlog a .stlog__topics-img {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 1rem;
  overflow: hidden;
  margin: 0 auto;
}
.top__stlog .top-stlog a .stlog__topics-img img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.4s 0s ease;
  transition: all 0.4s 0s ease;
  width: 100%;
  height: 100%;
}
.top__stlog .top-stlog a:hover .stlog__topics-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top__stlog .top-stlog a .stlog__topics-txt * {
  line-height: 1.5;
  margin: 0 0 0.5rem 0;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-ttl {
  font-size: 1.8rem;
  margin: 1rem 0;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-categories {
  list-style-type: none;
  padding: 0;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-categories .stlog__topics-category {
  line-height: 1;
  display: inline-block;
  margin-right: 0.5rem;
  white-space: nowrap;
  font-size: 1.4rem;
  padding: 0.5rem;
  border: 1px solid #CCC;
  border-radius: 0.3rem;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-date {
  font-size: 1.4rem;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-author .stlog__topics-author-avatar {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden;
}
.top__stlog .top-stlog a .stlog__topics-txt .stlog__topics-author .stlog__topics-author-name {
  font-size: 1.4rem;
}

.corp__branding {
  position: relative;
  aspect-ratio: 1440/800;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (max-width: 768px) {
  .corp__branding {
    aspect-ratio: 5/7;
  }
}
.corp__branding .corp__branding-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  background-color: #f0f0f0;
}
.corp__branding .corp__branding-img img {
  position: absolute;
  border-radius: 2rem;
}
.corp__branding .corp__branding-img .story-bg-01 {
  width: 28%;
  top: 18%;
  left: -10%;
}
.corp__branding .corp__branding-img .story-bg-02 {
  width: 18%;
  top: -6%;
  left: 11%;
}
.corp__branding .corp__branding-img .story-bg-03 {
  width: 27%;
  top: -10%;
  left: 68%;
}
.corp__branding .corp__branding-img .story-bg-04 {
  width: 12%;
  top: 11%;
  left: 90%;
}
.corp__branding .corp__branding-img .story-bg-05 {
  width: 32%;
  top: 62%;
  left: -1%;
}
.corp__branding .corp__branding-img .story-bg-06 {
  width: 21%;
  top: 51%;
  left: 81%;
}
.corp__branding .corp__branding-img .story-bg-07 {
  width: 22%;
  top: 62%;
  left: 66%;
}
@media screen and (max-width: 768px) {
  .corp__branding .corp__branding-img .story-bg-01 {
    width: 42%;
    top: 6%;
    left: -18%;
  }
  .corp__branding .corp__branding-img .story-bg-02 {
    width: 27%;
    top: -10%;
    left: 14%;
  }
  .corp__branding .corp__branding-img .story-bg-03 {
    width: 40%;
    top: -8%;
    left: 65%;
  }
  .corp__branding .corp__branding-img .story-bg-04 {
    width: 18%;
    top: 11%;
    left: 85%;
  }
  .corp__branding .corp__branding-img .story-bg-05 {
    width: 48%;
    top: 79%;
    left: -1%;
  }
  .corp__branding .corp__branding-img .story-bg-06 {
    width: 31%;
    top: 71%;
    left: 81%;
  }
  .corp__branding .corp__branding-img .story-bg-07 {
    width: 33%;
    top: 82%;
    left: 55%;
  }
}
.corp__branding .corp__branding-txt > h2 {
  margin-top: 0;
}
.corp__branding .corp__branding-txt .corp__branding-ttl {
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .corp__branding .corp__branding-txt .corp__branding-ttl {
    font-size: 3.2rem;
  }
}

.top__about {
  position: relative;
  aspect-ratio: 1440/400;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (max-width: 768px) {
  .top__about {
    aspect-ratio: 1/1.2;
  }
}
.top__about .top__about-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.top__about .top__about-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top__about .top__about-txt > h2 {
  margin-top: 0;
}
.top__about .top__about-txt .top__about-ttl {
  font-size: 2.3rem;
}

.top__features {
  margin-bottom: 10rem;
}
.top__features .top__features-ttl {
  font-size: 4.5rem;
  line-height: 1;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .top__features .top__features-ttl {
    font-size: 3.8rem;
  }
}
.top__features .top__features-img {
  padding: 0 8%;
  margin-top: -10rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .top__features .top__features-img {
    padding: 0;
    margin-top: 3rem;
    margin-left: -4rem;
    margin-right: -4rem;
  }
}

.top__recruit {
  background-color: #f0f0f0;
  padding: 8rem 0;
}
.top__recruit .top__recruit-col {
  display: grid;
  grid-template-columns: 2fr 3fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .top__recruit .top__recruit-col {
    grid-template-columns: 1fr;
  }
}
.top__recruit .top__recruit-col .top__recruit-txt > h2 {
  margin-top: 0;
}
.top__recruit .top__recruit-col .top__recruit-txt .top__recruit-ttl {
  font-size: 2.3rem;
  letter-spacing: 0.15em;
}
.top__recruit .top__recruit-col .top__recruit-img {
  border-radius: 3rem;
  overflow: hidden;
}

.news__list {
  list-style-type: none;
  padding: 0;
  margin: 6rem auto;
  border-top: 1px solid #CCC;
}
.news__list .news__list-item {
  border-bottom: 1px solid #CCC;
}
.news__list .news__list-item a {
  display: grid;
  grid-template-columns: 8ch 18ch auto;
  grid-template-areas: "date category ttl";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #434343;
  padding: 0 3rem 0 0;
  gap: 0 3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a {
    grid-template-columns: 7ch auto;
    grid-template-areas: "date category" "date ttl";
  }
}
.news__list .news__list-item a .news__list-date {
  grid-area: date;
  font-size: 2.3rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.news__list .news__list-item a .news__list-date .news__list-date-year {
  display: block;
  font-size: 1.4rem;
}
.news__list .news__list-item a .news__list-category {
  grid-area: category;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  background: #f0f0f0;
  padding: 0.8rem;
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a .news__list-category {
    width: 16rem;
    margin: 2rem 0 0 0;
  }
}
.news__list .news__list-item a .news__list-ttl {
  grid-area: ttl;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a .news__list-ttl {
    margin-top: 0.7rem;
  }
}
.news__list .news__list-item a .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  right: 0;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
}
.news__list .news__list-item a .arrow::before, .news__list .news__list-item a .arrow::after {
  position: absolute;
  content: "";
  top: 50%;
}
.news__list .news__list-item a .arrow::before {
  width: 1.5rem;
  height: 0;
  border-top: 1px solid #434343;
}
.news__list .news__list-item a .arrow::after {
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #434343;
  border-right: 1px solid #434343;
  -webkit-transform: rotate(45deg) translateY(-60%);
          transform: rotate(45deg) translateY(-60%);
}
.news__list .news__list-item a:hover {
  color: #8691A3;
}
.news__list .news__list-item a:hover .arrow {
  -webkit-animation: arrow 1s infinite;
          animation: arrow 1s infinite;
}
@keyframes arrow {
  from {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  to {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}