/* ------------------------------------------------------------
// SERVICE
------------------------------------------------------------ */
.content-ttl-img {
  display: flex;
  align-items: center;
  width: 100%;
  height: 300px;
  padding: 0 20px;
  background: url(../images/service/content-ttl-img.png) no-repeat center center/cover;
}
.content-ttl-img .content-ttl-box {
  display: inline-block;
}
.content-ttl-img .content-ttl-box .ttl-en {
  font-size: 60px;
  font-weight: 500;
  color: #ffffff;
}
.content-ttl-img .content-ttl-box .ttl-en::first-letter {
  font-size: 90px;
  font-weight: 700;
  color: #c7000a;
  padding-right: 2px;
}
.content-ttl-img .content-ttl-box .ttl-jp {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
}
.content-ttl-img .content-ttl-box .ttl-jp::before {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #c7000a;
}
.content-ttl-img .content-ttl-box .ttl-jp::before {
  margin-right: 0.5em;
}
@media screen and (max-width: 575px) {
  .content-ttl-img {
    height: 140px;
  }
  .content-ttl-img .content-ttl-box {
    padding-bottom: 20px;
  }
  .content-ttl-img .content-ttl-box .ttl-en {
    font-size: 24px;
  }
  .content-ttl-img .content-ttl-box .ttl-en::first-letter {
    font-size: 36px;
  }
  .content-ttl-img .content-ttl-box .ttl-jp {
    font-size: 16px;
  }
}

.service-contents-box {
  margin: 0 20px;
}

.service-1-bg,
.service-2-bg,
.service-3-bg,
.service-4-bg {
  clip-path: inset(0);
  width: 100%;
  height: 100vh;
}

.service-1-bg::after,
.service-2-bg::after,
.service-3-bg::after,
.service-4-bg::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.service-1-bg::after {
  background: url(../images/service/service-img-1.png) no-repeat center center/cover;
}

.service-2-bg::after {
  background: url(../images/service/service-img-2.png) no-repeat center center/cover;
}

.service-3-bg::after {
  background: url(../images/service/service-img-3.png) no-repeat center center/cover;
}

.service-4-bg::after {
  background: url(../images/service/service-img-4.png) no-repeat center center/cover;
}

.service-2-bg {
  margin: 20px 0;
}

.service-4-bg {
  margin-top: 20px;
}

@media print {
  .service-1-bg::after,
  .service-2-bg::after,
  .service-3-bg::after,
  .service-4-bg::after {
    display: none;
  }
  .service-1-bg,
  .service-2-bg,
  .service-3-bg,
  .service-4-bg {
    clip-path: none;
  }
  .service-1-bg {
    background: url(../images/service/service-img-1.png) no-repeat center center/cover;
    page-break-after: always;
  }
  .service-2-bg {
    background: url(../images/service/service-img-2.png) no-repeat center center/cover;
  }
  .service-3-bg {
    background: url(../images/service/service-img-3.png) no-repeat center center/cover;
  }
  .service-4-bg {
    background: url(../images/service/service-img-4.png) no-repeat center center/cover;
  }
}
.service-right-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100vh;
}
.service-right-wrap .service-box {
  width: 50%;
  margin-left: auto;
  padding: 80px 0;
}
.service-right-wrap .service-box .txt-box .ttl {
  margin-bottom: 30px;
}
.service-right-wrap .service-box .txt-box .ttl .en {
  font-size: 60px;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
}
.service-right-wrap .service-box .txt-box .ttl .en span {
  color: #c7000a;
}
.service-right-wrap .service-box .txt-box .ttl .jp {
  font-size: 16px;
  color: #c7000a;
}
.service-right-wrap .service-box .txt-box p {
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .service-right-wrap .service-box {
    width: 80%;
  }
  .service-right-wrap .service-box .txt-box .ttl {
    margin-bottom: 30px;
  }
  .service-right-wrap .service-box .txt-box .ttl .en {
    font-size: 54px;
  }
  .service-right-wrap .service-box .txt-box .ttl .jp {
    font-size: 14px;
  }
}
@media screen and (max-width: 575px) {
  .service-right-wrap .service-box {
    width: 100%;
  }
  .service-right-wrap .service-box .txt-box .ttl .en {
    font-size: 46px;
  }
}

.service-left-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100vh;
}
.service-left-wrap .service-box {
  width: 50%;
  padding: 80px 0;
}
.service-left-wrap .service-box .txt-box .ttl {
  margin-bottom: 30px;
}
.service-left-wrap .service-box .txt-box .ttl .en {
  font-size: 60px;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
}
.service-left-wrap .service-box .txt-box .ttl .en span {
  color: #c7000a;
}
.service-left-wrap .service-box .txt-box .ttl .jp {
  font-size: 16px;
  color: #c7000a;
}
.service-left-wrap .service-box .txt-box p {
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .service-left-wrap .service-box {
    width: 80%;
  }
  .service-left-wrap .service-box .txt-box .ttl {
    margin-bottom: 30px;
  }
  .service-left-wrap .service-box .txt-box .ttl .en {
    font-size: 54px;
  }
  .service-left-wrap .service-box .txt-box .ttl .jp {
    font-size: 14px;
  }
}
@media screen and (max-width: 575px) {
  .service-left-wrap .service-box {
    width: 100%;
  }
}