h2 {
  font-size: 1.5rem;
  text-align: center;
}
h2::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 0.7rem auto 1rem;
  background-color: #999;
}

h3 {
  font-size: 1.2rem;
}

#jumbotron {
  background-color: #eee;
}
#jumbotron #slide01 .col {
  position: relative;
  height: 550px;
}
#jumbotron #slide01 .col .catch {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 2.5rem;
  font-weight: bold;
  color: #fff;
  width: 90%;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
#jumbotron #slide01 .col .anime-photo {
  opacity: 0;
  -webkit-transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1);
  transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1);
}
#jumbotron #slide01 .col .anime-photo.is-active {
  opacity: 1;
}
#jumbotron #slide01 .col .anime-text {
  position: absolute;
  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;
  top: 23%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: clamp(1.2rem, 1rem + 2vw, 2.5rem);
  font-weight: bold;
  color: #fff;
  width: 90%;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
@media (min-width: 576px) {
  #jumbotron #slide01 .col .anime-text {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  #jumbotron #slide01 .col .anime-text {
    font-size: 2.5rem;
  }
}
#jumbotron #slide01 .col .anime-text .char {
  display: inline-block;
  opacity: var(--opacity, 0);
  -webkit-transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-delay: calc(0.05s * var(--char-index));
          transition-delay: calc(0.05s * var(--char-index));
}
#jumbotron #slide01 .col .anime-text.is-active .char {
  opacity: 1;
}

#works {
  padding-top: 8rem;
}
#works .swiper-slide .title {
  font-size: 0.8rem;
}

#company {
  padding-top: 8rem;
}
#company .side-left .img-box {
  width: 300px;
  height: 100%;
}

#news {
  padding-top: 8rem;
}
#news ul li {
  list-style: none;
}
#news ul li a {
  text-decoration: none;
}

#access {
  padding-top: 8rem;
}
#access .g-map iframe {
  width: 100%;
  height: 350px;
}

#contact {
  padding-top: 8rem;
}/*# sourceMappingURL=index.css.map */