.visual {
  padding: 4vw 4vw 0;
  position: relative;
}
.visual .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  color: #fff;
  font-size: 6.6666666667vw;
  text-align: center;
  letter-spacing: 0.06em;
  line-height: 1;
  text-shadow: 0px 0px 2.6666666667vw #000;
  position: absolute;
  top: 4vw;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .visual {
    width: min(97.9166666667vw, 1880px);
    padding: 0;
    margin: 0 auto 0;
    position: relative;
    z-index: 2;
  }
  .visual .ttl {
    font-size: min(3.125vw, 60px);
    line-height: 1.5;
    text-shadow: 0px 0px min(0.5208333333vw, 10px) #000;
    top: 0;
  }
}
.maintenance {
  padding: 12.8vw 4vw;
}
.maintenance .unit {
  position: relative;
}
.maintenance .unit:before {
  content: "";
  width: 121.6vw;
  height: 97.6vw;
  background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_01-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -57.8666666667vw;
  left: 35.4666666667vw;
  z-index: -1;
}
.maintenance .unit .about-ttl {
  padding: 0 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #3b724c;
  font-size: 6.4vw;
  letter-spacing: 0.1em;
}
.maintenance .unit .lead {
  padding: 0 4vw;
  margin: 0 auto 10.6666666667vw;
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.maintenance .unit .detail {
  margin: 0 auto 8.5333333333vw;
}
.maintenance .unit .detail .detail-head {
  padding: 2.6666666667vw 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #fff;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.8vw;
  letter-spacing: 0.08em;
  background-color: #3b724c;
}
.maintenance .unit .detail .detail-lead {
  padding: 0 4vw;
  margin: 0 auto 6.4vw;
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.maintenance .unit .detail .detail-body .table {
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  border-top: 1px solid #cbcbcb;
}
.maintenance .unit .detail .detail-body .table .line-head {
  width: 44.8vw;
  padding: 4.2666666667vw 0vw 4.2666666667vw 4vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  border-bottom: 0.2666666667vw solid #cbcbcb;
}
.maintenance .unit .detail .detail-body .table .line-body {
  width: calc(100% - 44.8vw);
  padding: 4.2666666667vw 4vw 4.2666666667vw 5.3333333333vw;
  border-bottom: 0.2666666667vw solid #cbcbcb;
  letter-spacing: 0.05em;
}
.maintenance .unit .detail .detail-body .table .line-body .txt {
  line-height: 1.7;
}
.maintenance .unit .detail .detail-body .table .line-body .txt .tax {
  font-size: 3.2vw;
}
.maintenance .unit .link {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667vw;
  padding: 0 4vw;
}
.maintenance .unit .link .link-item a {
  padding: 4.8vw 8.5333333333vw;
  color: #fff;
  font-size: 5.0666666667vw;
  letter-spacing: 0.08em;
  position: relative;
}
.maintenance .unit .link .link-item a:before {
  content: "";
  width: 10.6666666667vw;
  height: 2.1333333333vw;
  margin: auto;
  background-image: url("/wp-content/themes/nakamura-stone/cmn/img/link-arrow-01.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8.5333333333vw;
}
.maintenance .unit .link .link-item.line a {
  background-color: #12ba57;
}
.maintenance .unit .link .link-item.mail a {
  background-color: #db6704;
}

@media screen and (min-width: 1024px) {
  .maintenance {
    padding: min(3.3333333333vw, 64px) 0;
  }
  .maintenance .unit {
    width: min(57.2916666667vw, 1100px);
    margin: 0 auto 0;
  }
  .maintenance .unit:before {
    content: "";
    width: 121.6vw;
    height: 97.6vw;
    background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_01-sp.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: -57.8666666667vw;
    left: 35.4666666667vw;
    z-index: -1;
  }
  .maintenance .unit .about-ttl {
    padding: 0;
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(2.0833333333vw, 40px);
    text-align: center;
    letter-spacing: 0.12em;
  }
  .maintenance .unit .lead {
    padding: 0;
    margin: 0 auto min(2.9166666667vw, 56px);
    font-size: min(0.9375vw, 18px);
    text-align: center;
    line-height: 1.7;
  }
  .maintenance .unit .detail {
    margin: 0 auto min(4.1666666667vw, 80px);
  }
  .maintenance .unit .detail .detail-head {
    padding: min(0.5208333333vw, 10px) min(1.25vw, 24px);
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(1.1458333333vw, 22px);
  }
  .maintenance .unit .detail .detail-lead {
    padding: 0 min(1.25vw, 24px);
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(0.9375vw, 18px);
    line-height: 1.7;
  }
  .maintenance .unit .detail .detail-body .table {
    width: 100%;
    font-size: min(0.9375vw, 18px);
    border-top: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .maintenance .unit .detail .detail-body .table .line-head {
    width: min(15.625vw, 300px);
    padding: min(1.0416666667vw, 20px) 0 min(1.0416666667vw, 20px) min(1.25vw, 24px);
    border-bottom: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .maintenance .unit .detail .detail-body .table .line-body {
    width: calc(100% - min(15.625vw, 300px));
    padding: min(1.0416666667vw, 20px) min(1.25vw, 24px) min(1.0416666667vw, 20px) min(1.6666666667vw, 32px);
    border-bottom: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .maintenance .unit .detail .detail-body .table .line-body .txt {
    line-height: 1.7;
  }
  .maintenance .unit .detail .detail-body .table .line-body .txt .tax {
    font-size: min(0.9375vw, 18px);
  }
  .maintenance .unit .link {
    flex-direction: row;
    gap: min(1.25vw, 24px);
    width: min(45.625vw, 876px);
    margin: 0 auto 0;
  }
  .maintenance .unit .link .link-item {
    width: min(22.1875vw, 426px);
  }
  .maintenance .unit .link .link-item a {
    padding: min(1.1458333333vw, 22px) min(1.6666666667vw, 32px);
    font-size: min(0.9895833333vw, 19px);
  }
  .maintenance .unit .link .link-item a:hover:before {
    right: min(0.8333333333vw, 16px);
  }
  .maintenance .unit .link .link-item a:before {
    width: min(2.0833333333vw, 40px);
    height: min(0.4166666667vw, 8px);
    letter-spacing: 0.08em;
    right: min(1.6666666667vw, 32px);
    transition-duration: 0.3s;
    transition-property: right;
  }
}
.restoration {
  padding: 12.8vw 4vw;
}
.restoration .unit {
  position: relative;
}
.restoration .unit:before {
  content: "";
  width: 126.9333333333vw;
  height: 110.1333333333vw;
  background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_02-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -50.9333333333vw;
  left: -74.9333333333vw;
  z-index: -1;
}
.restoration .unit .about-ttl {
  padding: 0 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #3b724c;
  font-size: 6.4vw;
  letter-spacing: 0.1em;
}
.restoration .unit .lead {
  padding: 0 4vw;
  margin: 0 auto 10.6666666667vw;
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.restoration .unit .detail {
  margin: 0 auto 8.5333333333vw;
}
.restoration .unit .detail .detail-head {
  padding: 2.6666666667vw 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #fff;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.8vw;
  letter-spacing: 0.08em;
  background-color: #3b724c;
}
.restoration .unit .detail .detail-body .table {
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  border-top: 0.2666666667vw solid #cbcbcb;
}
.restoration .unit .detail .detail-body .table .line.aside .line-body {
  padding: 0 4vw 4.2666666667vw;
  border-bottom: 0.2666666667vw solid #cbcbcb;
}
.restoration .unit .detail .detail-body .table .line-head {
  width: 44.8vw;
  padding: 4.2666666667vw 0 1.0666666667vw 4vw;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.restoration .unit .detail .detail-body .table .line-body {
  width: calc(100% - 44.8vw);
  padding: 4.2666666667vw 4vw 1.0666666667vw 5.3333333333vw;
  letter-spacing: 0.05em;
}
.restoration .unit .detail .detail-body .table .line-body .txt {
  line-height: 1.7;
}
.restoration .unit .detail .detail-body .table .line-body .txt .tax {
  font-size: 3.2vw;
}

@media screen and (min-width: 1024px) {
  .restoration {
    padding: min(3.3333333333vw, 64px) 0;
  }
  .restoration .unit {
    width: min(57.2916666667vw, 1100px);
    margin: 0 auto 0;
  }
  .restoration .unit:before {
    width: min(66.6666666667vw, 1280px);
    height: min(57.8645833333vw, 1111px);
    background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_02-pc.png");
    top: max(-45.9895833333vw, -883px);
    left: max(-51.6666666667vw, -992px);
  }
  .restoration .unit .about-ttl {
    padding: 0;
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(2.0833333333vw, 40px);
    text-align: center;
    letter-spacing: 0.12em;
  }
  .restoration .unit .lead {
    padding: 0;
    margin: 0 auto min(2.9166666667vw, 56px);
    font-size: min(0.9375vw, 18px);
    text-align: center;
    line-height: 1.7;
  }
  .restoration .unit .detail {
    margin: 0 auto 0;
  }
  .restoration .unit .detail .detail-head {
    padding: min(0.5208333333vw, 10px) min(1.25vw, 24px);
    margin: 0 auto min(2.0833333333vw, 40px);
    font-size: min(1.1458333333vw, 22px);
  }
  .restoration .unit .detail .detail-body .table {
    width: 100%;
    font-size: min(0.9375vw, 18px);
    border-top: min(0.0520833333vw, 1px) solid #cbcbcb;
    position: relative;
  }
  .restoration .unit .detail .detail-body .table .line.aside {
    position: absolute;
    top: 0;
    right: 0;
  }
  .restoration .unit .detail .detail-body .table .line.aside .line-body {
    padding: min(1.0416666667vw, 20px) 0;
    border-bottom: none;
  }
  .restoration .unit .detail .detail-body .table .line-head {
    width: min(15.625vw, 300px);
    padding: min(1.0416666667vw, 20px) 0 min(1.0416666667vw, 20px) min(1.25vw, 24px);
    border-bottom: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .restoration .unit .detail .detail-body .table .line-body {
    width: calc(100% - min(15.625vw, 300px));
    padding: min(1.0416666667vw, 20px) min(1.25vw, 24px) min(1.0416666667vw, 20px) min(1.6666666667vw, 32px);
    border-bottom: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .restoration .unit .detail .detail-body .table .line-body .txt {
    line-height: 1.7;
  }
  .restoration .unit .detail .detail-body .table .line-body .txt .tax {
    font-size: min(0.9375vw, 18px);
  }
}
.build {
  padding: 12.8vw 4vw;
}
.build .unit {
  position: relative;
}
.build .unit:before {
  content: "";
  width: 121.6vw;
  height: 106.1333333333vw;
  background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_03-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -23.2vw;
  left: 35.4666666667vw;
  z-index: -1;
}
.build .unit .about-ttl {
  padding: 0 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #3b724c;
  font-size: 6.4vw;
  letter-spacing: 0.1em;
}
.build .unit .lead {
  padding: 0 4vw;
  margin: 0 auto 10.6666666667vw;
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.build .unit .detail {
  margin: 0 auto 8.5333333333vw;
}
.build .unit .detail .detail-head {
  padding: 2.6666666667vw 4vw;
  margin: 0 auto 4.2666666667vw;
  color: #fff;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.8vw;
  letter-spacing: 0.08em;
  background-color: #3b724c;
}
.build .unit .detail .detail-body .table {
  width: 100%;
  color: #0b2e00;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  border-top: 1px solid #cbcbcb;
}
.build .unit .detail .detail-body .table .line-head {
  width: 100%;
  padding: 4.2666666667vw 4vw 1.0666666667vw;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.build .unit .detail .detail-body .table .line-body {
  width: 100%;
  padding: 0 4vw 4.2666666667vw;
  border-bottom: 1px solid #cbcbcb;
  letter-spacing: 0.05em;
}
.build .unit .detail .detail-body .table .line-body .txt {
  line-height: 1.7;
}
.build .unit .detail .detail-body .table .line-body .txt .tax {
  font-size: 3.2vw;
}

@media screen and (min-width: 1024px) {
  .build {
    padding: min(3.3333333333vw, 64px) 0 min(10.4166666667vw, 200px);
  }
  .build .unit {
    width: min(57.2916666667vw, 1100px);
    margin: 0 auto 0;
  }
  .build .unit:before {
    width: min(66.6666666667vw, 1280px);
    height: min(57.8645833333vw, 1111px);
    background-image: url("/wp-content/themes/nakamura-stone/service/img/bg_02-pc.png");
    top: max(-38.8541666667vw, -746px);
    left: min(45.3125vw, 870px);
  }
  .build .unit .about-ttl {
    padding: 0;
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(2.0833333333vw, 40px);
    text-align: center;
    letter-spacing: 0.12em;
  }
  .build .unit .lead {
    padding: 0;
    margin: 0 auto min(2.9166666667vw, 56px);
    font-size: min(0.9375vw, 18px);
    text-align: center;
    line-height: 1.7;
  }
  .build .unit .detail {
    margin: 0 auto 0;
  }
  .build .unit .detail .detail-head {
    padding: min(0.5208333333vw, 10px) min(1.25vw, 24px);
    margin: 0 auto min(2.0833333333vw, 40px);
    font-size: min(1.1458333333vw, 22px);
  }
  .build .unit .detail .detail-body .table {
    width: 100%;
    font-size: min(0.9375vw, 18px);
    border-top: min(0.0520833333vw, 1px) solid #cbcbcb;
    position: relative;
  }
  .build .unit .detail .detail-body .table .line-head {
    width: min(15.625vw, 300px);
    padding: min(1.0416666667vw, 20px) 0 min(1.0416666667vw, 20px) min(1.25vw, 24px);
    border-bottom: min(0.0520833333vw, 1px) solid #cbcbcb;
  }
  .build .unit .detail .detail-body .table .line-body {
    width: calc(100% - min(15.625vw, 300px));
    padding: min(1.09375vw, 21px) min(1.25vw, 24px) min(1.0416666667vw, 20px) min(1.6666666667vw, 32px);
    border-bottom: none;
    position: absolute;
    top: 0;
    right: 0;
  }
  .build .unit .detail .detail-body .table .line-body .txt {
    line-height: 1.7;
  }
  .build .unit .detail .detail-body .table .line-body .txt .tax {
    font-size: min(0.9375vw, 18px);
  }
}
.contact {
  margin: 0 auto 32vw;
}

@media screen and (min-width: 1024px) {
  .contact {
    margin: 0 auto 0;
  }
}/*# sourceMappingURL=style.css.map */