@charset "UTF-8";
.js-fadeinTxt {
  opacity: 0;
}

.service-main {
  position: relative;
}
.service-deco {
  background: url(../../cmn/img/cmn_deco-sp.png) repeat-y center top/100% auto;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
@media (min-width: 768px) {
  .service-deco {
    background: url(../../cmn/img/cmn_deco-pc.png) repeat-y center top/100% auto;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .service-mv {
    background-image: url(../img/mv-pc.png);
  }
}
.service-index {
  padding-top: clamp(50px, 10.4166666667vw, 120px);
  position: relative;
}
.service-index:last-child {
  padding-bottom: clamp(50px, 13.0208333333vw, 150px);
}
.service-index-deco {
  background: url(../img/index_deco-sp.png) repeat-y center top/100% auto;
  height: 110%;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
@media (min-width: 768px) {
  .service-index-deco {
    background: url(../img/index_deco-pc.png) no-repeat center top/100% auto;
  }
}
.service-index .contents-wrapper {
  position: relative;
  z-index: 1;
}
.service-index__txt.active {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-index__img {
  border-radius: 5px 0 5px 0;
  display: block;
  margin-top: clamp(20px, 3.4722222222vw, 40px);
  opacity: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .service-index__img {
    border-radius: 20px 0 20px 0;
  }
}
.service-index.active .service-index__img {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-index-more {
  align-items: center;
  display: flex;
  gap: 9px;
  justify-content: flex-end;
  margin-left: auto;
  margin-top: 30px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media (min-width: 768px) {
  .service-index-more {
    gap: 18px;
  }
}
@media (min-width: 1200px) {
  .service-index-more {
    margin: 0;
    position: absolute;
    right: clamp(20px, 6.9444444444vw, 80px);
    top: clamp(70px, 10.4166666667vw, 120px);
  }
}
@media (min-width: 1300px) {
  .service-index-more {
    right: 12rem;
  }
}
.service-index-more__txt {
  font-family: "Chakra Petch", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .service-index-more__txt {
    font-size: 18px;
  }
}
.service-index-more__icon {
  border: 1px solid #c7161d;
  border-radius: 50%;
  display: grid;
  height: 50px;
  place-items: center;
  width: 50px;
}
@media (min-width: 768px) {
  .service-index-more__icon {
    height: 120px;
    width: 120px;
  }
}
.service-index-more__icon::before {
  background: rgba(199, 22, 29, 0.18);
  border-radius: 50%;
  content: "";
  display: block;
  grid-area: 1/1;
  height: 66%;
  transition: 0.5s;
  width: 66%;
}
.service-index-more:hover .service-index-more__icon::before {
  background: rgba(199, 22, 29, 0.25);
  height: 100%;
  width: 100%;
}
.service-index-more__icon::after {
  background: url(../../cmn/img/header__nav__item_arrow.svg) no-repeat center/contain;
  content: "";
  display: block;
  grid-area: 1/1;
  height: 8px;
  width: 19px;
}
@media (min-width: 768px) {
  .service-index-more__icon::after {
    height: 16px;
    width: 38px;
  }
}
.service-index-more.active {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-index-more:hover {
  opacity: 1;
}
.service-intro {
  padding-top: clamp(50px, 10.4166666667vw, 120px);
  position: relative;
}
@media (min-width: 1024px) {
  .service-intro-wrapper {
    display: grid;
    gap: clamp(3rem, 3.55555vw, 6.4rem) clamp(4rem, 4.44444vw, 8rem);
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
  }
}
@media (min-width: 1024px) {
  .service-intro__title {
    grid-area: 1/1/2/2;
    margin-bottom: 0;
  }
}
.service-intro__img {
  display: block;
  opacity: 0;
}
@media (min-width: 1024px) {
  .service-intro__img {
    grid-area: 1/2/3/3;
    margin-top: 4rem;
    width: min(41.111vw, 74rem);
  }
}
.service-intro__img img {
  border-radius: 8px 0 8px 0;
}
@media (min-width: 1024px) {
  .service-intro__img img {
    border-radius: 20px 0 20px 0;
  }
}
.service-intro.active .service-intro__img {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-intro-content {
  margin-top: 2rem;
}
@media (min-width: 1024px) {
  .service-intro-content {
    grid-area: 2/1/3/2;
    margin-top: 0;
  }
}
.service-intro-content__catch {
  font-size: clamp(18px, 1.777vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.service-intro-content__catch.active {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-intro-content__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  letter-spacing: 0.06em;
  margin-top: clamp(20px, 3.6458333333vw, 42px);
}
.service-intro-content__txt.active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-intro-content__list {
  margin-top: clamp(20px, 3.6458333333vw, 42px);
}
.service-intro-content__list.active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-intro-content__item {
  position: relative;
  letter-spacing: 0.06em;
  padding-left: 1.5em;
}
.service-intro-content__item::before {
  content: "・";
  position: absolute;
  display: block;
  color: #c7161d;
  top: 0;
  left: 0;
}
.service-intro-software-content {
  margin-top: clamp(30px, 5.2083333333vw, 60px);
}
.service-intro-software__img {
  display: block;
  margin-top: 32px;
  opacity: 0;
}
.service-intro-software__img img {
  border-radius: 8px 0 8px 0;
}
@media (min-width: 1024px) {
  .service-intro-software__img img {
    border-radius: 20px 0 20px 0;
  }
}
.service-intro-software.active .service-intro-software__img {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-service__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  letter-spacing: 0.06em;
}
.service-service__txt.active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-service-wrapper {
  display: grid;
  gap: 20px;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .service-service-wrapper {
    gap: 20px 25px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .service-service-wrapper {
    gap: 40px 45px;
  }
}
@media (min-width: 1600px) {
  .service-service-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.service-service-content {
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  opacity: 0;
  padding: clamp(40px, 4.3402777778vw, 50px) clamp(20px, 4.3402777778vw, 50px) clamp(44px, 4.7743055556vw, 55px);
}
.service-service-content__img {
  display: block;
  margin: 0 auto;
  width: 128px;
}
.service-service-content__title {
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: 700;
  margin-top: 1.1em;
  text-align: center;
}
.service-service.active .service-service-content:nth-child(1) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service.active .service-service-content:nth-child(2) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service.active .service-service-content:nth-child(3) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service.active .service-service-content:nth-child(4) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service.active .service-service-content:nth-child(5) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-service.active .service-service-content:nth-child(6) {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-tech__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  letter-spacing: 0.06em;
}
.service-tech__txt.active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-tech-wrapper {
  display: grid;
  gap: 20px;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .service-tech-wrapper {
    gap: 20px 25px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .service-tech-wrapper {
    gap: 40px 45px;
  }
}
@media (min-width: 1600px) {
  .service-tech-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.service-tech-content {
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  opacity: 0;
  padding: clamp(40px, 4.3402777778vw, 50px) clamp(20px, 4.3402777778vw, 50px) clamp(44px, 4.7743055556vw, 55px);
}
.service-tech-content__img {
  display: block;
  height: 72px;
  margin: 0 auto;
}
.service-tech-content__img img {
  display: block;
  height: 100%;
}
.service-tech-content__title {
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: 700;
  margin-top: 1.1em;
  text-align: center;
}
.service-tech-content-list {
  border-top: 1px solid;
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(22px, 3.4722222222vw, 40px);
  padding-top: clamp(22px, 3.4722222222vw, 40px);
}
@media (min-width: 768px) {
  .service-tech-content-list {
    gap: 10px 14px;
  }
}
.service-tech-content-list__item {
  background: #000;
  border-radius: 5px;
  font-size: clamp(13px, 1.3888888889vw, 16px);
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0.5em 0;
  text-align: center;
}
.service-tech-content-list__item--2x {
  grid-column: span 2;
}
.service-tech-content-list__item--3x {
  grid-column: span 3;
}
.service-tech-content-list--2clm {
  grid-template-columns: 1fr 1fr;
}
.service-tech-content-list--2clm__full {
  grid-column: span 2;
}
.service-tech.active .service-tech-content:nth-child(1) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech.active .service-tech-content:nth-child(2) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech.active .service-tech-content:nth-child(3) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech.active .service-tech-content:nth-child(4) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech.active .service-tech-content:nth-child(5) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-tech.active .service-tech-content:nth-child(6) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit, .service-strengths, .service-process {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-merit-wrapper, .service-strengths-wrapper, .service-process-wrapper {
  display: grid;
  gap: clamp(20px, 4.6006944444vw, 53px);
}
@media (min-width: 768px) {
  .service-merit-wrapper, .service-strengths-wrapper, .service-process-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1800px) {
  .service-merit-wrapper, .service-strengths-wrapper, .service-process-wrapper {
    grid-template-columns: repeat(4, 1fr);
  }
}
.service-merit-content, .service-strengths-content, .service-process-content {
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  display: grid;
  gap: 0;
  grid-row: span 3;
  grid-template-rows: subgrid;
  opacity: 0;
  padding: clamp(60px, 7.2916666667vw, 84px) clamp(30px, 3.4722222222vw, 40px) clamp(54px, 4.9479166667vw, 57px);
  position: relative;
}
.service-merit-content__num, .service-strengths-content__num, .service-process-content__num {
  align-items: center;
  border-left: 1px solid;
  color: #c7161d;
  display: flex;
  flex-direction: column;
  font-family: "Chakra Petch", sans-serif;
  left: 0;
  line-height: 1;
  padding-left: 20px;
  position: absolute;
  top: 30px;
}
.service-merit-content__num span:nth-child(1), .service-strengths-content__num span:nth-child(1), .service-process-content__num span:nth-child(1) {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
}
.service-merit-content__num span:nth-child(2), .service-strengths-content__num span:nth-child(2), .service-process-content__num span:nth-child(2) {
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.service-merit-content__img, .service-strengths-content__img, .service-process-content__img {
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  width: clamp(160px, 19.0972222222vw, 220px);
}
.service-merit-content__title, .service-strengths-content__title, .service-process-content__title {
  align-items: center;
  display: flex;
  font-size: clamp(18px, 2.4305555556vw, 28px);
  font-weight: 700;
  justify-content: center;
  line-height: 1.5;
  margin-top: clamp(26px, 3.4722222222vw, 40px);
  text-align: center;
}
.service-merit-content__txt, .service-strengths-content__txt, .service-process-content__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  margin-top: clamp(10px, 2.2569444444vw, 26px);
  text-align: justify;
}
.service-merit.active .service-merit-content:nth-child(1), .service-merit.active .service-strengths-content:nth-child(1), .service-merit.active .service-process-content:nth-child(1), .service-strengths.active .service-merit-content:nth-child(1), .service-strengths.active .service-strengths-content:nth-child(1), .service-strengths.active .service-process-content:nth-child(1), .service-process.active .service-merit-content:nth-child(1), .service-process.active .service-strengths-content:nth-child(1), .service-process.active .service-process-content:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit.active .service-merit-content:nth-child(2), .service-merit.active .service-strengths-content:nth-child(2), .service-merit.active .service-process-content:nth-child(2), .service-strengths.active .service-merit-content:nth-child(2), .service-strengths.active .service-strengths-content:nth-child(2), .service-strengths.active .service-process-content:nth-child(2), .service-process.active .service-merit-content:nth-child(2), .service-process.active .service-strengths-content:nth-child(2), .service-process.active .service-process-content:nth-child(2) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit.active .service-merit-content:nth-child(3), .service-merit.active .service-strengths-content:nth-child(3), .service-merit.active .service-process-content:nth-child(3), .service-strengths.active .service-merit-content:nth-child(3), .service-strengths.active .service-strengths-content:nth-child(3), .service-strengths.active .service-process-content:nth-child(3), .service-process.active .service-merit-content:nth-child(3), .service-process.active .service-strengths-content:nth-child(3), .service-process.active .service-process-content:nth-child(3) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit.active .service-merit-content:nth-child(4), .service-merit.active .service-strengths-content:nth-child(4), .service-merit.active .service-process-content:nth-child(4), .service-strengths.active .service-merit-content:nth-child(4), .service-strengths.active .service-strengths-content:nth-child(4), .service-strengths.active .service-process-content:nth-child(4), .service-process.active .service-merit-content:nth-child(4), .service-process.active .service-strengths-content:nth-child(4), .service-process.active .service-process-content:nth-child(4) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit.active .service-merit-content:nth-child(5), .service-merit.active .service-strengths-content:nth-child(5), .service-merit.active .service-process-content:nth-child(5), .service-strengths.active .service-merit-content:nth-child(5), .service-strengths.active .service-strengths-content:nth-child(5), .service-strengths.active .service-process-content:nth-child(5), .service-process.active .service-merit-content:nth-child(5), .service-process.active .service-strengths-content:nth-child(5), .service-process.active .service-process-content:nth-child(5) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-merit.active .service-merit-content:nth-child(6), .service-merit.active .service-strengths-content:nth-child(6), .service-merit.active .service-process-content:nth-child(6), .service-strengths.active .service-merit-content:nth-child(6), .service-strengths.active .service-strengths-content:nth-child(6), .service-strengths.active .service-process-content:nth-child(6), .service-process.active .service-merit-content:nth-child(6), .service-process.active .service-strengths-content:nth-child(6), .service-process.active .service-process-content:nth-child(6) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-strengths-content__num {
  align-items: flex-start;
}
.service-process-wrapper {
  gap: 6px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .service-process-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1800px) {
  .service-process-wrapper {
    grid-template-columns: repeat(6, 1fr);
  }
}
.service-process-content {
  border-radius: 0;
  padding-bottom: clamp(25px, 5.2083333333vw, 60px);
  padding-left: 0;
  padding-right: 0;
}
.service-process-content:first-child {
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 0 clamp(8px, 1.7361111111vw, 20px);
}
.service-process-content:last-child {
  border-radius: 0 clamp(8px, 1.7361111111vw, 20px) clamp(8px, 1.7361111111vw, 20px) 0;
}
.service-process-content__num {
  top: 20px;
}
.service-process-content__num span:nth-child(1) {
  font-size: clamp(11px, 1.3888888889vw, 16px);
}
.service-process-content__num span:nth-child(2) {
  font-size: clamp(26px, 3.2986111111vw, 38px);
}
.service-process-content__img {
  display: block;
  height: 65px;
  margin: 0 auto;
}
.service-process-content__img img {
  display: block;
  height: 100%;
}
.service-process.active .service-process-content:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-process.active .service-process-content:nth-child(2) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-process.active .service-process-content:nth-child(3) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-process.active .service-process-content:nth-child(4) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-process.active .service-process-content:nth-child(5) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-process.active .service-process-content:nth-child(6) {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-case {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-case-wrapper {
  counter-reset: num;
  display: grid;
  margin-top: 40px;
}
@media (min-width: 1800px) {
  .service-case-wrapper {
    gap: 80px;
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr;
  }
}
.service-case-content {
  padding: clamp(25px, 3.90625vw, 45px) 20px;
  position: relative;
}
.service-case-content::before {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
}
@media (max-width: 1799px) {
  .service-case-content:last-child::after {
    background: #777777;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 0;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-last-child(-n+2)::after {
    background: #777777;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 0;
  }
}
.service-case-content:nth-of-type(1).active {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(1).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 0s 1 forwards;
          animation: fadeInLine 0.5s ease-in 0s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(1).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(1).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
  }
}
.service-case-content:nth-of-type(2).active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(2).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(2).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 1s 1 forwards;
            animation: fadeInLine 0.5s ease-in 1s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(2).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 1s 1 forwards;
            animation: fadeInLine 0.5s ease-in 1s 1 forwards;
  }
}
.service-case-content:nth-of-type(3).active {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(3).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 1s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(3).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(3).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
  }
}
.service-case-content:nth-of-type(4).active {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(4).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(4).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 2s 1 forwards;
            animation: fadeInLine 0.5s ease-in 2s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(4).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 2s 1 forwards;
            animation: fadeInLine 0.5s ease-in 2s 1 forwards;
  }
}
.service-case-content:nth-of-type(5).active {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(5).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 2s 1 forwards;
          animation: fadeInLine 0.5s ease-in 2s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(5).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(5).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
            animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
  }
}
.service-case-content:nth-of-type(6).active {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-case-content:nth-of-type(6).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 2.5s 1 forwards;
}
@media (max-width: 1799px) {
  .service-case-content:nth-of-type(6).active:last-child::after {
    -webkit-animation: fadeInLine 0.5s ease-in 3s 1 forwards;
            animation: fadeInLine 0.5s ease-in 3s 1 forwards;
  }
}
@media (min-width: 1800px) {
  .service-case-content:nth-of-type(6).active:nth-last-child(-n+2)::after {
    -webkit-animation: fadeInLine 0.5s ease-in 3s 1 forwards;
            animation: fadeInLine 0.5s ease-in 3s 1 forwards;
  }
}
.service-case-content__num {
  align-items: center;
  color: #c7161d;
  display: flex;
  font-family: "Chakra Petch", sans-serif;
  font-size: clamp(16px, 1.7361111111vw, 20px);
  font-weight: 700;
  gap: 5px;
  line-height: 1;
}
.service-case-content__num::after {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  font-size: 1.6em;
  font-weight: 600;
}
.service-case-content__title {
  font-size: clamp(18px, 2.7777777778vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: clamp(10px, 1.7361111111vw, 20px);
}
.service-case-content__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  letter-spacing: 0.05em;
  margin-top: 5px;
}
.service-area {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-area-wrapper {
  display: grid;
  gap: clamp(20px, 3.4722222222vw, 40px) clamp(20px, 4.3402777778vw, 50px);
}
@media (min-width: 768px) {
  .service-area-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
.service-area-content {
  align-items: center;
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  display: flex;
  font-size: clamp(18px, 2.4305555556vw, 28px);
  font-weight: 700;
  gap: 0.75em;
  height: 6.67em;
  justify-content: center;
  opacity: 0;
  padding: 0 clamp(20px, 5.2083333333vw, 60px);
}
@media (min-width: 768px) {
  .service-area-content {
    justify-content: flex-start;
  }
}
.service-area-content__img {
  display: block;
  flex-shrink: 0;
  margin: 0;
}
.service-area-content__img--01 {
  width: 1.71em;
}
.service-area-content__img--02 {
  width: 1.67em;
}
.service-area-content__img--03 {
  width: 1.89em;
}
.service-area-content__img--04 {
  width: 2.25em;
}
.service-area-content__img--05 {
  width: 1.82em;
}
.service-area-content__img--06 {
  width: 1.71em;
}
.service-area-content__title {
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.service-area.active .service-area-content:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-area.active .service-area-content:nth-child(2) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-area.active .service-area-content:nth-child(3) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-area.active .service-area-content:nth-child(4) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-area.active .service-area-content:nth-child(5) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-area.active .service-area-content:nth-child(6) {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-language {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-language-wrapper {
  display: grid;
}
.service-language-content {
  display: grid;
  gap: clamp(10px, 1.7361111111vw, 20px) clamp(10px, 3.4722222222vw, 40px);
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  padding: clamp(20px, 3.4722222222vw, 40px) clamp(10px, 1.7361111111vw, 20px);
  position: relative;
}
.service-language-content::before {
  background: #777777;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
}
.service-language-content:last-child::after {
  background: #777777;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 0;
}
.service-language-content:nth-of-type(1).active {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-language-content:nth-of-type(1).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 0s 1 forwards;
          animation: fadeInLine 0.5s ease-in 0s 1 forwards;
}
.service-language-content:nth-of-type(1).active:last-child::after {
  -webkit-animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
}
.service-language-content:nth-of-type(2).active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-language-content:nth-of-type(2).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 0.5s 1 forwards;
}
.service-language-content:nth-of-type(2).active:last-child::after {
  -webkit-animation: fadeInLine 0.5s ease-in 1s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1s 1 forwards;
}
.service-language-content:nth-of-type(3).active {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-language-content:nth-of-type(3).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 1s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1s 1 forwards;
}
.service-language-content:nth-of-type(3).active:last-child::after {
  -webkit-animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
}
.service-language-content:nth-of-type(4).active {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-language-content:nth-of-type(4).active::before {
  -webkit-animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
          animation: fadeInLine 0.5s ease-in 1.5s 1 forwards;
}
.service-language-content:nth-of-type(4).active:last-child::after {
  -webkit-animation: fadeInLine 0.5s ease-in 2s 1 forwards;
          animation: fadeInLine 0.5s ease-in 2s 1 forwards;
}
.service-language-content__img {
  background: #000;
  border: 1px solid #c7161d;
  border-radius: 50%;
  display: grid;
  grid-area: 1/1/3/2;
  height: clamp(80px, 10.4166666667vw, 120px);
  place-items: center;
  width: clamp(80px, 10.4166666667vw, 120px);
}
.service-language-content__img img {
  display: block;
  width: 33%;
}
.service-language-content__title {
  font-size: clamp(18px, 2.7777777778vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.service-language-content__txt {
  font-size: clamp(14px, 1.3888888889vw, 16px);
  letter-spacing: 0.05em;
}
.service-flow {
  counter-reset: num;
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-flow-wrapper {
  counter-reset: num;
  display: grid;
  gap: clamp(20px, 3.4722222222vw, 40px) clamp(20px, 4.3402777778vw, 50px);
}
@media (min-width: 1350px) {
  .service-flow-wrapper {
    grid-auto-flow: column;
    grid-template-rows: repeat(3, 1fr);
  }
}
.service-flow-content {
  align-items: center;
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  display: flex;
  flex-direction: column;
  font-size: clamp(18px, 2.4305555556vw, 28px);
  font-weight: 700;
  gap: 0.75em;
  height: 6.67em;
  justify-content: center;
  opacity: 0;
  padding: 0 clamp(20px, 5.2083333333vw, 60px);
}
@media (min-width: 768px) {
  .service-flow-content {
    flex-direction: row;
    justify-content: flex-start;
  }
}
.service-flow-content__num {
  align-items: center;
  background: #000;
  border: 1px solid;
  border-radius: 1em;
  color: #c7161d;
  display: flex;
  font-family: "Chakra Petch", sans-serif;
  font-size: clamp(16px, 1.9097222222vw, 22px);
  font-weight: 700;
  gap: 5px;
  line-height: 1;
  padding: 0.3em 1em;
}
.service-flow-content__num::after {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  font-size: 1.36em;
  font-weight: 600;
}
.service-flow-content__title {
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.service-flow.active .service-flow-content:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(1) {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-flow.active .service-flow-content:nth-child(2) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(2) {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-flow.active .service-flow-content:nth-child(3) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(3) {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-flow.active .service-flow-content:nth-child(4) {
  -webkit-animation-delay: 0.75s;
          animation-delay: 0.75s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(4) {
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-flow.active .service-flow-content:nth-child(5) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(5) {
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-flow.active .service-flow-content:nth-child(6) {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
@media (max-width: 1349px) {
  .service-flow.active .service-flow-content:nth-child(6) {
    -webkit-animation-delay: 2.5s;
            animation-delay: 2.5s;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    opacity: 0;
    transform: translateY(30px);
  }
}
.service-banner {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  margin-top: clamp(50px, 13.0208333333vw, 150px);
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  padding-bottom: clamp(50px, 13.0208333333vw, 150px);
}
.service-banner-contact {
  aspect-ratio: 334/146;
  border-radius: 10px 0 10px 0;
  display: grid;
  margin: 0 auto;
  opacity: 0;
  overflow: hidden;
  place-items: center;
}
@media (min-width: 1024px) {
  .service-banner-contact {
    aspect-ratio: auto;
    border-radius: 15px 0 15px 0;
    gap: 20px;
    width: min(80%, 1200px);
  }
}
.service-banner-contact.active {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-banner-contact__bg {
  grid-area: 1/1;
  transition: 0.5s;
  width: 100%;
}
@media (min-width: 1024px) {
  .service-banner-contact__bg {
    grid-area: 1/1/4/2;
    height: 100%;
  }
}
.service-banner-contact__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.service-banner-contact:hover .service-banner-contact__bg {
  transform: scale(1.1);
}
.service-banner-contact__title, .service-banner-contact__txt {
  position: relative;
}
@media (max-width: 1023px) {
  .service-banner-contact__title, .service-banner-contact__txt {
    display: none;
  }
}
@media (min-width: 1024px) {
  .service-banner-contact__title {
    grid-area: 1/1/2/2;
    margin: 3rem auto 0;
    width: 442px;
  }
}
@media (min-width: 1024px) {
  .service-banner-contact__txt {
    font-size: 18px;
    font-weight: 700;
    grid-area: 2/1/3/2;
    letter-spacing: 0.1em;
    text-align: center;
  }
}
.service-banner-contact__btn {
  align-items: center;
  background: rgba(199, 22, 29, 0.7);
  border-radius: 5px;
  grid-area: 1/1;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  justify-content: center;
  letter-spacing: 0.1em;
  padding: 16px 60px;
  position: relative;
}
@media (min-width: 1024px) {
  .service-banner-contact__btn {
    grid-area: 3/1/4/2;
    margin-bottom: 3rem;
    padding: 50px 190px;
  }
}
@media (min-width: 1200px) {
  .service-banner-contact__btn {
    background: rgba(199, 22, 29, 0.7);
    border: 1px solid #c7161d;
    font-size: 22px;
    overflow: hidden;
    position: relative;
    transition: ease 0.2s;
  }
  .service-banner-contact__btn::before {
    background: rgba(199, 22, 29, 0.85);
    content: "";
    display: block;
    height: 100%;
    left: -130%;
    position: absolute;
    transform: skewX(-25deg);
    width: 120%;
  }
  .service-banner-contact__btn:hover {
    opacity: 1;
  }
  .service-banner-contact__btn:hover::before {
    -webkit-animation: skewanime 0.5s forwards;
            animation: skewanime 0.5s forwards;
  }
  .service-banner-contact__btn:hover img {
    -webkit-animation: handHopping 0.5s ease-in-out alternate backwards;
            animation: handHopping 0.5s ease-in-out alternate backwards;
  }
  .service-banner-contact__btn span, .service-banner-contact__btn img {
    position: relative;
    z-index: 1;
  }
  .service-banner-contact__btn img {
    transform: translateY(0);
  }
}
.service-banner-contact__btn img {
  margin: 0;
  width: 20px;
}
@media (min-width: 767px) {
  .service-banner-contact__btn img {
    width: 33px;
  }
}
.service-banner-contact__btn__arrow {
  border: 1px solid #fff;
  border-radius: 50%;
  bottom: 0;
  display: grid;
  height: 22px;
  margin: auto;
  place-items: center;
  position: absolute;
  right: 20px;
  top: 0;
  width: 22px;
}
@media (min-width: 1200px) {
  .service-banner-contact__btn__arrow {
    height: 60px;
    width: 60px;
  }
}
.service-banner-contact__btn__arrow::after {
  background: #fff;
  content: "";
  display: block;
  height: 4px;
  -webkit-mask: url(../../cmn/img/header__nav__item_arrow.svg) no-repeat center/contain;
          mask: url(../../cmn/img/header__nav__item_arrow.svg) no-repeat center/contain;
  width: 10px;
}
@media (min-width: 1200px) {
  .service-banner-contact__btn__arrow::after {
    height: 8px;
    width: 20px;
  }
}
.service-banner-contact__btn:hover .service-banner-contact__btn__arrow {
  background: rgba(255, 255, 255, 0.4);
}
.service-banner-contact__btn:hover .service-banner-contact__btn__arrow::after {
  -webkit-animation: arrowToRight 0.8s forwards;
          animation: arrowToRight 0.8s forwards;
}
.service-feature {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-feature .heading01-svg {
  width: 7em !important;
}
.service-feature__txt {
  font-size: clamp(18px, 2.7777777778vw, 32px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.service-feature__txt.active {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
  opacity: 0;
  transform: translateX(-30px);
}
.service-feature-wrapper {
  display: grid;
  gap: 20px;
  margin-top: clamp(20px, 3.6458333333vw, 42px);
}
@media (min-width: 768px) {
  .service-feature-wrapper {
    gap: 20px 25px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  .service-feature-wrapper {
    gap: 40px 45px;
  }
}
@media (min-width: 1600px) {
  .service-feature-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.service-feature-content {
  background: rgba(204, 204, 204, 0.25);
  border-radius: clamp(8px, 1.7361111111vw, 20px) 0 clamp(8px, 1.7361111111vw, 20px) 0;
  opacity: 0;
  padding: clamp(40px, 4.3402777778vw, 50px) clamp(20px, 4.3402777778vw, 50px) clamp(44px, 4.7743055556vw, 55px);
}
.service-feature-content__no {
  position: absolute;
  display: flex;
  align-items: center;
  color: #c7161d;
  flex-direction: column;
  font-family: "Chakra Petch", sans-serif;
  line-height: 1;
  top: 30px;
  left: 0;
  border-left: 1px solid;
  padding-left: 20px;
}
.service-feature-content__no span:nth-of-type(1) {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
}
.service-feature-content__no span:nth-of-type(2) {
  font-size: 38px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.service-feature-content__img {
  display: block;
  margin: 0 auto;
  margin-bottom: clamp(20px, 3.4722222222vw, 40px);
  width: 90%;
  border-radius: 8px 0 8px 0;
}
.service-feature-content__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: 700;
  margin-top: 2.5em;
  margin-bottom: 1em;
  text-align: center;
  margin-right: -1em;
  margin-left: -1em;
}
@media (min-width: 768px) {
  .service-feature-content__title {
    height: calc(clamp(20px, 2.4305555556vw, 28px) * 1.75 * 2);
  }
}
.service-feature-content__item {
  text-indent: -1em;
  padding-left: 1em;
}
.service-feature.active .service-feature-content:nth-child(1) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-feature.active .service-feature-content:nth-child(2) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-feature.active .service-feature-content:nth-child(3) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-feature.active .service-feature-content:nth-child(4) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-feature.active .service-feature-content:nth-child(5) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-feature.active .service-feature-content:nth-child(6) {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training {
  padding-top: clamp(50px, 13.0208333333vw, 150px);
  position: relative;
}
.service-training .heading01-svg {
  width: 8em !important;
}
.service-training-content {
  margin-top: clamp(50px, 8.6805555556vw, 100px);
  opacity: 0;
}
.service-training-content__title {
  position: relative;
  background: rgba(204, 204, 204, 0.25);
  font-size: clamp(18px, 2.7777777778vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 5px;
  padding: 0.3em 1.125em;
  margin-bottom: 1.5em;
}
.service-training-content__title::before {
  content: "";
  position: absolute;
  display: block;
  background: #c7161d;
  top: 0;
  bottom: 0;
  width: 1px;
  height: 1em;
  left: 0;
  margin: auto;
}
@media (min-width: 768px) {
  .service-training-content__box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    -moz-column-gap: 4%;
         column-gap: 4%;
  }
}
@media (min-width: 768px) {
  .service-training-content__box-item {
    flex: 1 1 48%;
  }
}
.service-training-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  -moz-column-gap: 10%;
       column-gap: 10%;
  border-bottom: 1px solid #777;
  padding-top: clamp(10px, 1.3020833333vw, 15px);
  padding-bottom: clamp(10px, 1.3020833333vw, 15px);
}
@media (min-width: 768px) {
  .service-training-list {
    padding-right: clamp(10px, 1.7361111111vw, 20px);
    padding-left: clamp(10px, 1.7361111111vw, 20px);
  }
}
.service-training-list:nth-of-type(1) {
  border-top: 1px solid #777;
}
.service-training-list__title {
  flex: 0 1 19%;
}
.service-training-list__text {
  flex: 1 1;
}
.service-training-list__text p {
  font-weight: 700;
  margin-bottom: clamp(10px, 1.7361111111vw, 20px);
}
.service-training-section {
  /*&:nth-of-type(odd) {

    .service-training-section__content {

      &-left {
        order: 2;
      }

      &-right {
        order: 1;
      }
    }
  }*/
}
@media (min-width: 768px) {
  .service-training-section {
    padding-right: clamp(15px, 2.6041666667vw, 30px);
    padding-left: clamp(15px, 2.6041666667vw, 30px);
  }
}
.service-training-section:nth-last-of-type(n+2) {
  margin-bottom: clamp(30px, 5.2083333333vw, 60px);
}
@media (min-width: 768px) {
  .service-training-section:nth-last-of-type(n+2) {
    margin-bottom: clamp(45px, 7.8125vw, 90px);
  }
}
.service-training-section__no {
  color: #F9E900;
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: bold;
}
.service-training-section__title {
  font-size: clamp(20px, 2.4305555556vw, 28px);
  font-weight: bold;
  margin-bottom: clamp(20px, 2.6041666667vw, 30px);
}
.service-training-section__title span {
  color: #F9E900;
  padding-right: 25px;
}
@media (min-width: 768px) {
  .service-training-section__content {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    -moz-column-gap: 4%;
         column-gap: 4%;
  }
}
.service-training-section__content-left {
  flex: 1 1 48%;
}
@media (max-width: 767px) {
  .service-training-section__content-left {
    margin-bottom: clamp(20px, 3.4722222222vw, 40px);
  }
}
.service-training-section__content-right {
  flex: 1 1 48%;
}
.service-training-section__text {
  margin-bottom: clamp(20px, 2.6041666667vw, 30px);
}
.service-training-section__list {
  padding-left: 1.5em;
}
.service-training-section__list-title {
  font-weight: 700;
}
.service-training-section__list li {
  position: relative;
}
.service-training-section__list li::before {
  content: "・ ";
  position: absolute;
  display: block;
  color: #c7161d;
  top: 0;
  left: -1.5em;
}
.service-training-section__image img {
  border-radius: 8px 0 8px 0;
}
@media (min-width: 768px) {
  .service-training-box {
    padding-right: clamp(15px, 2.6041666667vw, 30px);
    padding-left: clamp(15px, 2.6041666667vw, 30px);
  }
}
.service-training-box li {
  position: relative;
  padding-left: 1.5em;
}
.service-training-box li::before {
  content: "・ ";
  position: absolute;
  display: block;
  color: #c7161d;
  top: 0;
  left: 0;
}
.service-training.active .service-training-content:nth-child(1) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training.active .service-training-content:nth-child(2) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training.active .service-training-content:nth-child(3) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training.active .service-training-content:nth-child(4) {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training.active .service-training-content:nth-child(5) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}
.service-training.active .service-training-content:nth-child(6) {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  opacity: 0;
  transform: translateY(30px);
}