@charset "utf-8";
    /* 表示枠 */
    .loop_slider {
      width: 100%;
      overflow: hidden;
    }

    /* ループ本体 */
    .loop_slider_wrap {
      display: flex;
      width: max-content;
      animation: looplider 40s linear infinite;
    }

    .loop_slider_item {
      flex: 0 0 auto;
      width: 480px;
    }

    .loop_slider_item img {
      width: 100%;
      height: 590px;
      object-fit: cover;
      display: block;
    }

    @keyframes looplider {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-50%  );
      }
    }

@media screen and (max-width: 1024px) {
      .loop_slider_item {
      flex: 0 0 auto;
      width: 350px;
      aspect-ratio: 480 / 590;
    }

    .loop_slider_item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

}
.section_vchain_head {
  padding-top: 50px;
}

.section_vchain_head .ttl {
  font-size: 3rem;
  letter-spacing: 0.08em;
  line-height: 1.8; /* 39 / 30 */
  margin-bottom: 5rem;
  text-align: center;
  font-weight: normal;
}

.section_vchain_head .msg {
  font-size: 1.8rem;
  line-height: 2.17; /* 39 / 18 */
  text-align: center;
  margin-bottom: 4rem;
}

.section_vchain_head .figure {
  max-width: 85.2rem;
  margin: 0 auto 8rem;
}

.section_vchain_detail {
  padding-bottom: 8rem;
  border-bottom: 1px solid #e0cb9a;
}

.section_vchain_detail .group {
  margin-bottom: 3rem;
}

.section_vchain_detail .group .head {
  display: flex;
  border-bottom: 1px solid #9a927f;
}

.section_vchain_detail .group .head .ttl {
  position: relative;
  width: 22.4rem;
  padding: 12px 0;
  text-align: center;
  border: 1px solid #9a927f;
  font-family: "Open Sans";
  font-weight: normal;
  font-size: 3rem;
}

.section_vchain_detail .group .head .ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 3px;
  background: #faf7f0;
}

.section_vchain_detail .group .row {
  display: flex;
  align-items: center;
}

.section_vchain_detail .group .row .txt,
.section_vchain_detail .group .row .img {
  width: 50%;
  padding: 6rem;
}

.section_vchain_detail .group .row .txt p {
  max-width: 52rem;
  font-size: 2rem;
  line-height: 2.6; /* 52 / 20 */
}

.section_vchain_detail .group .row .img img {
  display: block;
  width: 100%;
}

.section_vchain_detail .catch {
  font-size: 2rem;
  line-height: 2.6; /* 52 / 20 */
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .section_vchain_head .ttl {
    font-size: 4.5vw;
  }
  .section_vchain_detail .group .head .ttl {
    width: auto;
    padding: 0.3em 1em;
    font-size: clamp(2.8rem,4vw,6rem);
  }

  .section_vchain_head .msg {
    font-size: clamp(1.6rem,3vw,5rem);
  }

  .section_vchain_detail .group .row{
    display: block;
  }

  .section_vchain_detail .group .row .txt{
    width: 100%;
    padding:30px 20px 0;
  }
  .section_vchain_detail .group .row .img{
    width: 100%;
    padding:30px 20px ;
  }

  .section_vchain_detail .group .row .txt p{
    max-width: none;
    font-size: 1.6rem;
    line-height: 1.8;
  }

  .section_vchain_detail .group .row .img img{
    width: 100%;
  }
   .section_vchain_detail .catch{
    text-align: left;
   }
}

.section_service{
  padding-top: 5rem;
}

.section_service .ttl {
  font-weight: 600;
  font-size: 3rem;
  letter-spacing: 0.08em;
  line-height: 2.43;
  text-align: center;
  margin-bottom: 20px;
  color: #3e3727;
}

.section_service .service_list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8rem;
}

.section_service a.service_card{
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 20px;
  margin-bottom: 80px;
}

.section_service a.service_card .img img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section_service a.service_card .txt{
  position: absolute;
  top: 50%;
  left: 0;
  padding-left: 50px;
  width: 100%;
  transform: translateY(-50%);
  color: #fff;
}

.section_service .service_card strong{
  display: block;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 2.61; /* 73 / 28 */
  margin-bottom: 0rem;
}

.section_service .service_card span{
  display: block;
  font-size: 2rem;
  line-height: 1.5;
}

.section_service .service_card::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 4rem;
  width: 20px;
  height: 20px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 1024px) {
  .section_service .service_list{
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    margin-bottom: 50px;
  }
  .section_service a.service_card {
    padding-top: 0px;
    margin-bottom: 0;
  }

  .section_service a.service_card .txt {
    padding-left: 5vw;
  }

  .section_service .service_card strong {
    font-size: clamp(2.4rem,5vw,4rem);
  }

  .section_service .service_card span {
    font-size: clamp(1.8rem,4vw,3rem);
  }
}