@charset "UTF-8";

.sec-service {
  margin-bottom: 25px;
}
.service-needs__inner {
  max-width: 1330px;
}
.ttl-comp03 {
  font-size: 35px;
  font-size: 3.5rem;
  color: #191a1b;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 54px;
  letter-spacing: 5.3px;
}
.ttl-comp03 .txt-en {
  font-size: 20px;
  font-size: 2rem;
  color: #319b03;
  display: block;
  margin-bottom: 37px;
  letter-spacing: 3.2px;
}
.service-box {
  margin-bottom: 106px;
}
.service-box__wrap {
  margin-right: calc((1100px - 100vw) / 2);
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  color: #191a1b;
  align-items: center;
}
.service-box__img {
  width: 60.65%;
}
.service-box__img img {
  display: block;
  width: 100%;
  min-height: 550px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  object-position: center left;
}
.service-box__content {
  width: 39.35%;
  padding-right: 20px;
  padding-bottom: 6px;
}
.service-box__ttl, .service-box__slogan{
  line-height: 1.4;
}
.service-box__ttl {
  font-size: 20px;
  font-size: 2rem;
  color: #319b03;
  font-weight: 500;
  margin-bottom: 46px;
  letter-spacing: 3px;
}
.service-box__slogan {
  font-size: 25px;
  font-size: 2.5rem;
  margin-bottom: 21px;
  letter-spacing: 2.5px;
}
.service-box__des {
  position: relative;
  padding-left: 37px;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 2.4px;
  margin-bottom: 39px;
}
.service-box__des:before {
  position: absolute;
  content: '';
  background: #319b03;
  height: 2px;
  width: 18px;
  left: 0;
  top: 15px;
}
.service-box--even {
  margin-bottom: 51px;
}
.service-box--even .service-box__wrap {
  flex-direction: row;
  margin-left: calc((1100px - 100vw) / 2);
  margin-right: 0;
}
.service-box--even .service-box__img {
  width: 58.07%;
}
.service-box--even .service-box__img img {
  object-position: center right;
}
.service-box--even .service-box__content {
  width: 41.93%;
  padding: 0 0 0 50px;
}
.service-needs {
  padding: 43px 0 65px;
  margin-bottom: 99px;
  color: #191a1b;
}
.service-needs__flex {
  display: flex;
  flex-wrap: wrap;
}
.service-needs__img {
  width: 42.1%;
  padding-top: 12px;
}
.service-needs__content {
  width: 57.9%;
  max-width: 650px;
  padding-left: 59px;
}
.service-box02 {
  width: 100%;
  max-width: 788px;
  margin: 0 auto 68px;
  text-align: center;
  border: 2px solid #319b03;
  padding: 33px 20px 25px;
  color: #191a1b;
}
.service-box02 .img {
  margin-bottom: 16px;
}
.service-box02__txt {
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 500;
  line-height: 1.57;
  letter-spacing: 3.4px;
  margin-bottom: 8px;
}
.service-box02__txt + p {
  font-size: 16px;
  font-size: 1.6rem;
}
.movie_panel {
  display: flex;
  justify-content: center;
  column-gap: 8%;
  margin: 50px 100px;
}
.service-box03 {
  padding: 39px 20px 20px 20px;
  border: 5px solid #319b03;
  margin-bottom: 63px;
}
.service-box03 .ttl-comp03 {
  margin-bottom: 43px;
}
.lineup-list {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  color: #0c0b0b;
  line-height: 1.8;
}
.lineup-list__item {
  width: 16.66%;
  padding: 0 6.5px;
  margin-bottom: 13px;
}
.lineup-list__img {
  margin-bottom: 10px;
}
.handling-list {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  text-align: center;
  margin-top: -24px;
}
.handling-list__item {
  width: 25%;
  margin: 24px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 1919px) {
  .ttl-comp03 {
    font-size: 29px;
    font-size: 2.9rem;
  }
  .service-box__wrap {
    align-items: flex-start;
  }
  .ttl-comp03 .txt-en, .service-box__ttl{
    font-size: 17px;
    font-size: 1.7rem;
  }
  .service-box__ttl {
    letter-spacing: 1px;
  }
  .service-box__slogan {
    font-size: 23px;
    font-size: 2.3rem;
    letter-spacing: 2px;
  }
  .service-box__des {
    font-size: 14px;
    font-size: 1.4rem;
    padding-left: 25px;
    letter-spacing: 0.9px;
  }
  .service-box__des:before {
    width: 12px;
    top: 13px;
  }
  .service-box02__txt {
    font-size: 20px;
    font-size: 2rem;
  }
}