/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介01【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lower_mv.service_vn01 .mv::before {
    top: 6.25rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lower_mv.service_vn01 .mv::before {
    top: 7.5rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介02 ▼
//
///////////////////////////////////////////////////*/

.txt1 {
  text-align: center; /* căn giữa toàn bộ */
  padding: 20px;
}

.txt1 p {
  color: black;
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 20px 0;
}

.service02 .section_ttl {
  transform: translateY(-30%);
}

.service02 .service02_in {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 10rem 4.875rem;
  margin: 3.75rem 0 0;
}

.service02 .service02_in .item {
  width: calc((100% - 9.75rem) / 3);
  background: #fff;
  box-shadow: 0px 0px 15px 0px rgba(21, 38, 51, 0.08);
  padding: 1.5rem;
}

.service02 .service02_in .item figure img {
  width: 100%;
}

.service02 .service02_in .item .txt_box {
  margin: 2rem 0 0;
}

.service02 .service02_in .item .txt_box h3 {
  font-size: 0.875rem;
  font-weight: 500;
  color: #d0d0d0;
}

.service02 .service02_in .item .txt_box h3 span {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.016em;
  color: #085d99;
  margin: 0 0.375rem 0 0;
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service02 .service02_in .item .txt_box h3 span {
    display: block;
  }
}

.service02 .service02_in .item .txt_box .txt {
  font-size: 1rem;
  font-weight: 400;
  margin: 0.625rem 0 0;
}

.service02 .service02_in .item.item02,
.service02 .service02_in .item.item05 {
  transform: translateY(3.125rem);
}

.service02 .service02_in .item.item03,
.service02 .service02_in .item.item06 {
  transform: translateY(6.25rem);
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service02 .service02_in {
    gap: 5rem 2rem;
    margin: 2.5rem 0 0;
  }

  .service02 .service02_in .item {
    width: calc((100% - 4rem) / 3);
    padding: 1rem;
  }

  .service02 .service02_in .item .txt_box {
    margin: 1.25rem 0 0;
  }

  .service02 .service02_in .item .txt_box h3 span {
    font-size: 1.625rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介02【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.service02.service_vn02 .service02_in .item .txt_box h3 .en {
  display: block;
  margin-bottom: 0.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03 ▼
//
///////////////////////////////////////////////////*/
.service03 {
  padding: 20.5rem 0 23.75rem;
  position: relative;
}

.service03::before {
  content: "";
  position: absolute;
  top: -3.5%;
  left: 0;
  width: 100%;
  height: 103.5%;
  background: linear-gradient(-94deg, #085D99 50.77%, rgba(8, 93, 153, 0.8) 80.92%);
  clip-path: polygon(0 12%, 100% 0%, 100% 88%, 0 100%);
  z-index: -1;
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service03 {
    padding: 15rem 0 18.75rem;
  }
}

.service03 figure {
  width: 100%;
}

.service03 figure img {
  width: 100%;
}

.service03 .service03_in {
  position: absolute;
  top: 20.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service03 .service03_in {
    top: 15rem;
  }
}

.service03 .service03_in .item {
  position: absolute;
  background: #fff;
  border-radius: 0.5rem;
  padding: 1.75rem;
}

.service03 .service03_in .item::before {
  content: "";
  position: absolute;
  background: #fff;
}

.service03 .service03_in .item h3 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  color: #085d99;
}

.service03 .service03_in .item .txt_part {
  margin: 0.875rem 0 0;
}

.service03 .service03_in .item .txt_part .txt {
  font-size: 1rem;
  font-weight: 400;
  color: #085d99;
}

.service03 .service03_in .item .txt_part .txt:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.service03 .service03_in .item .txt_part .txt span {
  font-weight: 700;
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service03 .service03_in .item {
    padding: 1.125rem;
  }

  .service03 .service03_in .item h3 {
    font-size: 1.125rem;
  }

  .service03 .service03_in .item .txt_part .txt {
    font-size: 0.875rem;
  }
}

.service03 .service03_in .item.item01 {
  top: 6.8%;
  left: 32%;
  width: fit-content;
  padding: 1rem 1.75rem;
}

.service03 .service03_in .item.item01::before {
  bottom: -0.71875rem;
  right: 8%;
  width: 1.6875rem;
  height: 0.75rem;
  clip-path: polygon(0% 0%, 60% 0%, 100% 100%, 100% 100%);
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03 .service03_in .item.item01 {
    top: 8%;
    left: 29%;
  }
}

.service03 .service03_in .item.item02 {
  top: 16%;
  left: 0;
  width: 28.90625%;
}

.service03 .service03_in .item.item02::before {
  bottom: -3.09375rem;
  right: 4%;
  width: 4.75rem;
  height: 3.125rem;
  clip-path: polygon(0% 0%, 60% 0%, 100% 100%, 100% 100%);
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03 .service03_in .item.item02 {
    top: 13.5%;
  }

  .service03 .service03_in .item.item02::before {
    bottom: -2.21875rem;
    width: 3.75rem;
    height: 2.25rem;
  }
}

.service03 .service03_in .item.item03 {
  top: 16%;
  right: 0;
  width: 28.90625%;
}

.service03 .service03_in .item.item03::before {
  bottom: -3.09375rem;
  left: 4%;
  width: 4.75rem;
  height: 3.125rem;
  clip-path: polygon(42% 0%, 100% 0%, 0% 100%, 0% 100%);
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03 .service03_in .item.item03 {
    top: 13.5%;
  }

  .service03 .service03_in .item.item03::before {
    bottom: -2.21875rem;
    width: 3.75rem;
    height: 2.25rem;
  }
}

.service03 .service03_in .item.item04 {
  top: 43%;
  right: 0;
  width: 39.84375%;
}

.service03 .service03_in .item.item04::before {
  bottom: -2.46875rem;
  left: 50%;
  width: 1.5rem;
  height: 2.5rem;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%, 0% 100%);
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service03 .service03_in .item.item04 {
    top: 46%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03 .service03_in .item.item04 {
    top: unset;
    bottom: 50%;
  }

  .service03 .service03_in .item.item04::before {
    bottom: -1.96875rem;
    width: 1.5rem;
    height: 2rem;
  }
}

.service03 .service03_in .item.item05 {
  top: 55.8%;
  left: 0;
  width: 55.15625%;
}

.service03 .service03_in .item.item05::before {
  top: -2.46875rem;
  left: 30%;
  width: 1.5rem;
  height: 2.5rem;
  clip-path: polygon(94% 0%, 94% 0%, 100% 100%, 0% 100%);
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .service03 .service03_in .item.item05 {
    top: 59%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03 .service03_in .item.item05 {
    top: unset;
    bottom: 27%;
  }

  .service03 .service03_in .item.item05::before {
    top: -1.96875rem;
    width: 1.5rem;
    height: 2rem;
  }
}
@media (max-width: 767px) {
    .service03_in .item {
        display: none;
    }
}


/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03【英語・ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
.service03.service_en03 .service03_in .item h3,
.service03.service_vn03 .service03_in .item h3 {
  line-height: 1.25;
}

.service03.service_en03 .service03_in .item .txt_part .txt,
.service03.service_vn03 .service03_in .item .txt_part .txt {
  font-size: 0.875rem;
  line-height: 1.6;
}

.service03.service_en03 .service03_in .item.item01,
.service03.service_vn03 .service03_in .item.item01 {
  left: 30%;
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {

  .service03.service_en03 .service03_in .item.item01,
  .service03.service_vn03 .service03_in .item.item01 {
    top: 6%;
    left: 27%;
  }
}

.service03.service_en03 .service03_in .item.item02,
.service03.service_vn03 .service03_in .item.item02 {
  width: 27.34375%;
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {

  .service03.service_en03 .service03_in .item.item02,
  .service03.service_vn03 .service03_in .item.item02 {
    top: 11.5%;
  }
}

.service03.service_en03 .service03_in .item.item03,
.service03.service_vn03 .service03_in .item.item03 {
  width: 28.125%;
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {

  .service03.service_en03 .service03_in .item.item03,
  .service03.service_vn03 .service03_in .item.item03 {
    top: 11.5%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {

  .service03.service_en03 .service03_in .item.item05,
  .service03.service_vn03 .service03_in .item.item05 {
    bottom: 25%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ サービス紹介03【ベトナム語】 ▼
//
///////////////////////////////////////////////////*/
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .service03.service_vn03 .service03_in .item.item01 {
    left: 29%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03.service_vn03 .service03_in .item.item02 {
    width: 28.90625%;
    top: 11.5%;
  }
}

@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .service03.service_vn03 .service03_in .item.item02 {
    width: 28.125%;
    top: 15%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03.service_vn03 .service03_in .item.item03 {
    width: 28.90625%;
    top: 8.8%;
  }
}

@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .service03.service_vn03 .service03_in .item.item03 {
    width: 28.125%;
    top: 15%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03.service_vn03 .service03_in .item.item04 {
    width: 46.875%;
  }
}

@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .service03.service_vn03 .service03_in .item.item04 {
    top: 44%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .service03.service_vn03 .service03_in .item.item05 {
    bottom: 25%;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA（サービス紹介） ▼
//
///////////////////////////////////////////////////*/
#service .contact_cta {
  margin-top: calc(clamp(400px, 25vw, 480px) * -1);
}

@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  #service .contact_cta {
    margin-top: -20rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  #service .contact_cta {
    margin-top: -15rem;
  }
}