/*
Theme Name: original Child
Version: 1.0
Template: original
*/
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

#service .section__title {
  margin-bottom: max(9rem, 50px);
}
#service #hero .hero__wrapper {
  padding-bottom: max(14rem, 70px);
}
#service #hero .hero__wrapper .hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: max(6rem, 30px);
}
@media screen and (max-width: 1000px) {
  #service #hero .hero__wrapper .hero__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#service #hero .hero__wrapper .hero__inner .hero__text {
  color: #fff;
}
#service #hero .hero__wrapper .hero__inner .hero__text--jp {
  font-size: max(2.1rem, 16px);
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 550px) {
  #service #hero .hero__wrapper .hero__inner .hero__text--jp {
    line-height: 2;
  }
}
#service #hero .hero__wrapper .hero__inner .hero__text--en {
  font-family: YakuHanJP, "Special Gothic Expanded One", "Noto Sans JP", sans-serif;
  font-size: max(1.2rem, 10px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.025em;
}
#service #examples {
  background-color: #fff;
  background-image: linear-gradient(to right, rgba(0, 4, 27, 0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 4, 27, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: 0 0;
  border-radius: max(3rem, 30px) max(3rem, 30px) 0 0;
}
#service #examples .examples__wrapper {
  padding: max(17rem, 40px) 0;
}
#service #examples .examples__wrapper .examples__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px max(3rem, 15px);
}
@media screen and (max-width: 1000px) {
  #service #examples .examples__wrapper .examples__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  #service #examples .examples__wrapper .examples__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
#service #examples .examples__wrapper .examples__list .examples__item--images {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
#service #examples .examples__wrapper .examples__list .examples__item--images img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#service #examples .examples__wrapper .examples__list .examples__item:hover .examples__item--images img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#service #flow {
  position: relative;
  z-index: 0;
}
#service #flow::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#00041B), color-stop(110%, #F5C723));
  background: linear-gradient(to bottom, #00041B, #F5C723 110%);
  z-index: -2;
}
#service #flow .flow__wrapper {
  padding: max(12rem, 80px) 0;
}
#service #flow .flow__wrapper .flow__content .flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: max(8rem, 20px);
  color: #fff;
}
#service #flow .flow__wrapper .flow__content .flow__list:not(:last-child) {
  margin-bottom: max(2rem, 15px);
}
@media screen and (max-width: 550px) {
  #service #flow .flow__wrapper .flow__content .flow__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
  #service #flow .flow__wrapper .flow__content .flow__list:not(:last-child) {
    margin-bottom: 50px;
  }
}
#service #flow .flow__wrapper .flow__content .flow__list--title {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: max(13rem, 100px);
}
#service #flow .flow__wrapper .flow__content .flow__list--title h4.title {
  color: #fff;
}
#service #flow .flow__wrapper .flow__content .flow__list--title span.number {
  position: absolute;
  top: 15px;
  left: 20%;
  color: rgba(255, 255, 255, 0.2);
  font-family: YakuHanJP, "Special Gothic Expanded One", "Noto Sans JP", sans-serif;
  font-size: max(5.6rem, 40px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
#service #flow .flow__wrapper .flow__content .flow__list--content {
  border: max(0.3rem, 3px) solid rgba(255, 255, 255, 0.2);
  border-radius: max(2rem, 10px);
  padding: max(4rem, 20px);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#service #flow .flow__wrapper .flow__content .flow__list--content .flow__inner:not(:first-child) {
  margin-top: max(4rem, 20px);
}
#service #flow .flow__wrapper .flow__content .flow__list--content .flow__inner h5 {
  position: relative;
  color: #fff;
  margin-bottom: max(1rem, 10px);
}
#service #flow .flow__wrapper .flow__content .flow__list--content .flow__inner h5 .circle {
  color: rgba(255, 255, 255, 0.3);
}
#service #flow .flow__wrapper .flow__content .flow__list--content .flow__inner p {
  color: #fff;
}