.visual {
  padding: 4vw 4vw 0;
  position: relative;
}
.visual .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  color: #fff;
  font-size: 7.7333333333vw;
  text-align: center;
  letter-spacing: 0.06em;
  line-height: 1.6413793103;
  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(100vw, 1920px);
    padding: 0 min(2.0833333333vw, 40px);
    margin: 0 auto 0;
    position: relative;
    z-index: 2;
  }
  .visual .ttl {
    top: 0;
    font-size: min(3.125vw, 60px);
    line-height: 1.5;
    text-shadow: 0px 0px min(0.5208333333vw, 10px) #000;
  }
}
.about {
  padding: 12.8vw 8vw 66.1333333333vw;
  background-image: url("/wp-content/themes/nakamura-stone/img/about_ph-sp.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 100%;
  position: relative;
  z-index: 1;
}
.about:before {
  content: "";
  width: 132vw;
  height: 114.6666666667vw;
  background-image: url("/wp-content/themes/nakamura-stone/img/bg_01-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -5.8666666667vw;
  left: -53.3333333333vw;
}
.about .unit {
  position: relative;
  z-index: 1;
}
.about .unit .about-ttl {
  margin: 0 auto 6.4vw;
  color: #3b724c;
  font-size: 6.6666666667vw;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.about .unit .about-ttl ruby rt {
  margin-bottom: 0.5333333333vw;
  font-size: 2.9333333333vw;
  letter-spacing: -0.13em;
  position: relative;
  left: -0.13em;
}
.about .unit .lead {
  width: 84.2666666667vw;
  padding: 1.3333333333vw 0 1.6vw;
  margin: 0 auto 14.9333333333vw;
  color: #fff;
  text-align: center;
  background: linear-gradient(90deg, #3b724c 0%, #1e3926 100%);
}
.about .unit .txt {
  margin: 0 auto 8.5333333333vw;
  color: #0b2e00;
  font-size: 4.5333333333vw;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.01em;
}
.about .unit .link a {
  padding: 4.2666666667vw 8.5333333333vw;
  color: #fff;
  font-size: 5.0666666667vw;
  background: linear-gradient(90deg, #3b724c 0%, #1e3926 100%);
  position: relative;
}
.about .unit .link 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;
}

@media screen and (min-width: 1024px) {
  .about {
    width: min(72.9166666667vw, 1400px);
    padding: min(7.5vw, 144px) 0 0;
    margin: 0 auto min(4.5833333333vw, 88px);
    background-image: url("/wp-content/themes/nakamura-stone/img/about_ph-pc.jpg");
    background-size: min(23.4375vw, 450px) auto;
    background-position: 100% min(6.25vw, 120px);
  }
  .about:before {
    width: min(66.6666666667vw, 1280px);
    height: min(57.9166666667vw, 1112px);
    background-image: url("/wp-content/themes/nakamura-stone/img/bg_01-pc.png");
    top: max(-43.75vw, -840px);
    left: min(43.4895833333vw, 835px);
  }
  .about .unit .about-ttl {
    margin: 0 auto min(1.25vw, 24px);
    font-size: min(2.5vw, 48px);
    text-align: justify;
    line-height: 1.5;
  }
  .about .unit .about-ttl ruby rt {
    margin-bottom: min(0.2083333333vw, 4px);
    font-size: min(0.7291666667vw, 14px);
    letter-spacing: 0.06em;
    left: -0.12em;
  }
  .about .unit .lead {
    display: inline-block;
    width: auto;
    padding: min(0.7291666667vw, 14px) min(1.6666666667vw, 32px) min(0.78125vw, 15px);
    margin: 0 auto min(3.3333333333vw, 64px);
    font-size: min(0.9895833333vw, 19px);
  }
  .about .unit .txt {
    margin: 0 auto min(3.125vw, 60px);
    font-size: min(1.0416666667vw, 20px);
    text-align: justify;
    line-height: 2;
    letter-spacing: 0.08em;
  }
  .about .unit .link {
    text-align: right;
  }
  .about .unit .link a {
    display: inline-block;
    width: min(14.0625vw, 270px);
    padding: min(1.0416666667vw, 20px) min(1.6666666667vw, 32px);
    font-size: min(0.9895833333vw, 19px);
  }
  .about .unit .link a:hover:before {
    right: min(0.8333333333vw, 16px);
  }
  .about .unit .link a:before {
    width: min(2.0833333333vw, 40px);
    height: min(0.4166666667vw, 8px);
    right: min(1.6666666667vw, 32px);
    transition-duration: 0.3s;
    transition-property: right;
  }
}
.service {
  margin: 0 auto 20.2666666667vw;
}
.service .unit {
  position: relative;
}
.service .unit:before, .service .unit:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  z-index: -1;
}
.service .unit:before {
  width: 185.6vw;
  height: 219.2vw;
  background-image: url("/wp-content/themes/nakamura-stone/img/bg_02-sp.png");
  top: -125.8666666667vw;
  left: -108.5333333333vw;
}
.service .unit:after {
  width: 143.7333333333vw;
  height: 189.8666666667vw;
  background-image: url("/wp-content/themes/nakamura-stone/img/bg_03-sp.png");
  top: 197.3333333333vw;
  left: 34.1333333333vw;
}
.service .unit .box {
  margin: 0 auto 8.5333333333vw;
}
.service .unit .box .block {
  padding: 21.3333333333vw 4vw 0;
}
.service .unit .box .block .detail {
  padding: 0 4vw;
}
.service .unit .box .block .detail .ttl {
  margin: 0 auto 4.2666666667vw;
  color: #3b724c;
  font-size: 6.4vw;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.service .unit .box .block .detail .txt {
  margin: 0 auto 6.4vw;
  color: #0b2e00;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4.2666666667vw;
  line-height: 1.7;
}
.service .unit .box .block .detail .link {
  margin: 0 auto 10.6666666667vw;
}
.service .unit .box .block .detail .link .link-item:first-child a {
  border-top: 1px solid #cbcbcb;
}
.service .unit .box .block .detail .link .link-item a {
  display: block;
  padding: 5.3333333333vw 2.6666666667vw;
  color: #0b2e00;
  font-size: 4.5333333333vw;
  border-bottom: 1px solid #cbcbcb;
  position: relative;
}
.service .unit .box .block .detail .link .link-item a:before {
  content: "";
  width: 6.4vw;
  height: 6.4vw;
  margin: auto;
  background-image: url("/wp-content/themes/nakamura-stone/cmn/img/link-arrow-02.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.6666666667vw;
}
.service .unit .box .block .detail .link .link-item a .small {
  font-size: 3.7333333333vw;
}
.service .unit > .link {
  width: 84.2666666667vw;
  margin: 0 auto 0;
}
.service .unit > .link a {
  padding: 4.2666666667vw 8.5333333333vw;
  color: #fff;
  font-size: 5.0666666667vw;
  background: linear-gradient(90deg, #3b724c 0%, #1e3926 100%);
  position: relative;
}
.service .unit > .link 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;
}

@media screen and (min-width: 1024px) {
  .service {
    margin: 0 auto min(6.25vw, 120px);
  }
  .service .unit {
    width: min(72.9166666667vw, 1400px);
    margin: 0 auto 0;
  }
  .service .unit:before {
    width: min(78.6458333333vw, 1510px);
    height: min(68.3333333333vw, 1312px);
    background-image: url("/wp-content/themes/nakamura-stone/img/bg_02-pc.png");
    top: max(-39.6875vw, -762px);
    left: max(-38.5416666667vw, -740px);
  }
  .service .unit:after {
    width: min(69.6875vw, 1338px);
    height: min(53.9583333333vw, 1036px);
    background-image: url("/wp-content/themes/nakamura-stone/img/bg_03-pc.png");
    top: min(17.4479166667vw, 335px);
    left: min(32.6041666667vw, 626px);
  }
  .service .unit .box {
    display: flex;
    flex-direction: column;
    gap: min(5.2083333333vw, 100px);
    width: min(57.2916666667vw, 1100px);
    margin: 0 auto 8.5333333333vw;
  }
  .service .unit .box .block {
    display: flex;
    justify-content: space-between;
    padding: 0;
  }
  .service .unit .box .block:nth-child(2n) .detail {
    order: 2;
  }
  .service .unit .box .block:nth-child(2n) .ph {
    order: 1;
  }
  .service .unit .box .block .detail {
    width: min(25.8333333333vw, 496px);
    padding: min(0.5208333333vw, 10px) 0 0;
  }
  .service .unit .box .block .detail .ttl {
    margin: 0 auto min(1.4583333333vw, 28px);
    font-size: min(2.0833333333vw, 40px);
    letter-spacing: 0.12em;
  }
  .service .unit .box .block .detail .txt {
    margin: 0 auto min(1.875vw, 36px);
    font-size: min(0.9375vw, 18px);
    line-height: 1.7;
  }
  .service .unit .box .block .detail .link {
    margin: 0;
  }
  .service .unit .box .block .detail .link .link-item:first-child a {
    border-top: 1px solid #cbcbcb;
  }
  .service .unit .box .block .detail .link .link-item a {
    padding: min(1.0416666667vw, 20px) min(1.1458333333vw, 22px);
    font-size: min(0.9895833333vw, 19px);
  }
  .service .unit .box .block .detail .link .link-item a:hover:before {
    right: min(0.8333333333vw, 16px);
  }
  .service .unit .box .block .detail .link .link-item a:before {
    width: min(1.25vw, 24px);
    height: min(1.25vw, 24px);
    right: min(1.1458333333vw, 22px);
    transition-duration: 0.3s;
    transition-property: right;
  }
  .service .unit .box .block .detail .link .link-item a .small {
    font-size: min(0.9895833333vw, 19px);
  }
  .service .unit .box .block .ph {
    width: min(28.125vw, 540px);
  }
  .service .unit > .link {
    width: min(14.0625vw, 270px);
  }
  .service .unit > .link a {
    display: inline-block;
    width: min(14.0625vw, 270px);
    padding: min(1.0416666667vw, 20px) min(1.6666666667vw, 32px);
    font-size: min(0.9895833333vw, 19px);
  }
  .service .unit > .link a:hover:before {
    right: min(0.8333333333vw, 16px);
  }
  .service .unit > .link a:before {
    width: min(2.0833333333vw, 40px);
    height: min(0.4166666667vw, 8px);
    right: min(1.6666666667vw, 32px);
    transition-duration: 0.3s;
    transition-property: right;
  }
}
.company {
  padding: 0 4vw;
}
.company .unit {
  padding: 23.4666666667vw 4vw 16vw;
  border-top: 1px solid #cbcbcb;
  position: relative;
}
.company .unit:before {
  content: "";
  width: 156.2666666667vw;
  height: 135.7333333333vw;
  background-image: url("/wp-content/themes/nakamura-stone/img/bg_04-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -1.0666666667vw;
  left: -63.4666666667vw;
  z-index: -1;
}
.company .unit .ttl {
  margin: 0 auto 23.4666666667vw;
  color: #3b724c;
  font-size: 6.4vw;
  position: relative;
}
.company .unit .box .detail .line {
  padding: 5.3333333333vw 0 5.3333333333vw;
  color: #0b2e00;
  font-size: 4.2666666667vw;
  letter-spacing: 0.06em;
}
.company .unit .box .detail .line:not(:last-child) {
  border-bottom: 1px solid #cbcbcb;
}
.company .unit .box .detail .line .line-head {
  margin: 0 auto 1.0666666667vw;
  font-weight: 600;
}
.company .unit .box .detail .line .line-body {
  font-weight: 400;
  line-height: 1.5;
}
.company .unit .box .link a {
  display: inline-block;
  padding: 0 4.8vw 0 0;
  color: #3b724c;
  font-family: "noto sans jp", sans-serif;
  font-size: 4.2666666667vw;
  letter-spacing: 0.08em;
  position: relative;
}
.company .unit .box .link a:before {
  content: "";
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  margin: auto;
  background-image: url("/wp-content/themes/nakamura-stone/cmn/img/link-blank-01.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 1.0666666667vw;
  bottom: 0;
  right: 0;
}
.company .unit .box .link a:after {
  content: "";
  width: 100%;
  height: 0.2666666667vw;
  background: #3b724c;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (min-width: 1024px) {
  .company {
    padding: 0;
  }
  .company .unit {
    display: flex;
    width: min(72.9166666667vw, 1400px);
    padding: min(6.25vw, 120px) 0;
    margin: 0 auto 0;
  }
  .company .unit:before {
    width: min(70.5729166667vw, 1355px);
    height: min(61.3020833333vw, 1177px);
    background-image: url("/wp-content/themes/nakamura-stone/img/bg_04-pc.png");
    top: max(-9.4791666667vw, -182px);
    left: max(-31.3020833333vw, -601px);
    z-index: -1;
  }
  .company .unit .ttl {
    padding: 0 min(7.8125vw, 150px);
    margin: 0;
    font-size: min(1.6666666667vw, 32px);
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
  .company .unit .box {
    width: min(33.3333333333vw, 640px);
  }
  .company .unit .box .detail .line {
    display: flex;
    padding: min(1.0416666667vw, 20px) 0 min(1.4583333333vw, 28px);
    font-size: min(0.9375vw, 18px);
    letter-spacing: 0.08em;
  }
  .company .unit .box .detail .line .line-head {
    width: min(8.3333333333vw, 160px);
    margin: 0;
  }
  .company .unit .box .detail .line .line-body {
    line-height: 1.5111111111;
  }
  .company .unit .box .link a {
    padding: 0 min(0.9375vw, 18px) 0 0;
    font-size: min(0.9375vw, 18px);
  }
  .company .unit .box .link a:before {
    width: min(0.7291666667vw, 14px);
    height: min(0.7291666667vw, 14px);
    top: min(0.2083333333vw, 4px);
  }
  .company .unit .box .link a:hover:after {
    opacity: 0;
  }
  .company .unit .box .link a:after {
    height: min(0.0520833333vw, 1px);
    transition-duration: 0.3s;
    transition-property: opacity;
  }
}
.contact {
  margin: 0 auto 32vw;
}

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