@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
body {
  background-color: #F9F9F9;
}

#top-service-251118 {
  margin-top: 8rem;
}
#top-service-251118 .service-bg {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0.1rem 0 5rem 0;
  border-radius: 5rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  #top-service-251118 .service-bg {
    border-radius: 0;
  }
}
#top-service-251118 .service-bg__img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}
#top-service-251118 .service-bg__img picture {
  display: block;
  position: relative;
}
#top-service-251118 .service-bg__img picture::after {
  position: absolute;
  content: "";
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 30rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(249, 249, 249, 0)), to(#f9f9f9));
  background: linear-gradient(rgba(249, 249, 249, 0), #f9f9f9);
}
#top-service-251118 .service-bg__img picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#top-service-251118 .service-ttl {
  font-size: 2.7rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 5rem;
  color: #FFF;
}
#top-service-251118 .service-post {
  list-style-type: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
  margin: 8rem 4rem;
}
@media screen and (max-width: 768px) {
  #top-service-251118 .service-post {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    margin: 4rem 0;
  }
}
#top-service-251118 .service-post .service-post-item {
  width: 18rem;
  height: 18rem;
  border-radius: 9rem;
  border: 2px solid #FFF;
  overflow: hidden;
  margin: 0 auto;
  background-color: #000;
  position: relative;
}
@media screen and (max-width: 768px) {
  #top-service-251118 .service-post .service-post-item {
    width: 16rem;
    height: 16rem;
    border-radius: 8rem;
  }
}
#top-service-251118 .service-post .service-post-item img {
  opacity: 0.7;
}
#top-service-251118 .service-post .service-post-item .post-item--name {
  position: absolute;
  display: block;
  bottom: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #FFF;
  font-size: 2rem;
}
#top-service-251118 .service-cate {
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  list-style-type: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  #top-service-251118 .service-cate {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}
#top-service-251118 .service-cate .service-cate-item {
  background-color: #FFF;
  border-radius: 1rem;
  padding: 4rem 2rem;
  position: relative;
  text-align: center;
  -webkit-box-shadow: 0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.1);
          box-shadow: 0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  #top-service-251118 .service-cate .service-cate-item {
    padding: 2rem 1rem;
  }
}
#top-service-251118 .service-cate .service-cate-item .cate-item-icon {
  display: block;
  width: 7rem;
  height: 7rem;
  -ms-flex-line-pack: center;
      align-content: center;
  margin: 0 auto 2rem auto;
  opacity: 0.7;
}
#top-service-251118 .service-cate .service-cate-item .cate-item-name {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1rem;
}
#top-service-251118 .service-cate .service-cate-item .cate-item-txt {
  display: block;
  line-height: 1.5;
}/*# sourceMappingURL=top-service-251118.css.map */