@charset "utf-8";
/*-------ma------*/
.ma-15 {
  margin-bottom: 15px;
}
.ma-30 {
  margin-bottom: 30px;
}
.ma-40 {
  margin-bottom: 40px;
}
.ma-50 {
  margin-bottom: 50px;
}
.ma-70 {
  margin-bottom: 70px;
}
.ma-80 {
  margin-bottom: 80px;
}
.ma-100 {
  margin-bottom: 100px;
}
.ma-cen {
  margin-inline: auto;
}
.ma-t40 {
  margin-top: 40px;
}
/*-------pa------*/
.pa-30 {
  padding-bottom: 30px;
}
.pa-80 {
  padding-bottom: 80px;
}
.pa-70 {
  padding-bottom: 70px;
}
.pa-90 {
  padding-bottom: 90px;
}
.pa-120 {
  padding-bottom: 120px;
}
/*-------pa-inner------*/
.pa-st104 {
  padding-inline: 7.25%;
}
.pa-st176 {
  padding-inline: 12.25%;
}
.pa-st162 {
  padding-inline: 11.25%;
}
.pa-st236 {
  padding-inline: 16.34%;
}
.pa-st314 {
  padding-inline: 21.82%;
}
.pa-upto24 {
  padding: 24px 0;
}
/*-------font------*/
.font-20 {
  font-size: 2rem;
}
.font-24 {
  font-size: max(1.667vw, 1.8rem);
}
.font-32 {
  font-size: max(2.222vw, 2.4rem);
}
.pfont-32 {
  font-size: max(2.222vw, 16px);
  padding-inline: 20px;
}
.font-36 {
  font-size: 3.6rem;
}
/*-------table------*/
.table-st1 th {
  text-align: left;
  font-weight: 700;
  font-size: 2rem;
  padding: 16px 0 16px 38px;
  line-height: 1.6;
  vertical-align: text-top;
  width: 22%;
}
.table-st1 tr {
  border-top: 1px solid #cacaca;
}
.table-st1 tbody tr:last-child {
  border-bottom: 1px solid #cacaca;
}
.table-st1 td {
  padding: 16px 0;
}
.table-form th {
  text-align: left;
  padding-left: 10px;
  font-size: max(1.389vw, 16px);
  width: 30%;
}
.table-form td {
  padding: 1em 0;
}
.table-form tr {
  border-top: 1px solid #cacaca;
}
.table-form tbody tr:last-child {
  border-bottom: 1px solid #cacaca;
}
.table-small {
  color: #f50000;
  font-size: max(0.9722vw, 1.2rem);
  font-weight: 700;
  display: inline-block;
  margin-right: 20px;
}
.table-form input,
.table-form textarea {
  border: none;
  background: #f6f6f6;
  font-size: max(1.111vw, 16px);
  max-width: max(47.986vw, 691px);
  width: 100%;
  padding: 0.5em 0;
}
.table-form input:focus-visible,
.table-form textarea:focus-visible {
  outline: none;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 16px;
  text-align: left;
  width: 100%;
  padding: 9px 11px 9px 33px;
  border-radius: 45px;
  background-color: transparent;
  border: 1px solid #75ad01;
  color: #75ad01;
  cursor: pointer;
  transition: 0.3s ease-in-out;
}
input[type="submit"]:hover {
  background-color: #75ad01;
  color: #fff;
}
span.wpcf7-spinner {
  display: none;
}
.submit-btn {
  display: inline-block;
  position: relative;
  max-width: 151px;
  width: 100%;
}
.submit-btn:hover .arrow {
  transition: 0.3s ease-in-out;
  background: #fff;
}
.submit-btn .arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  z-index: 9;
  background: #75ad01;
  transition: 0.3s ease-in-out;
}
.submit-btn .arrow::before {
  background: #75ad01;
  transition: 0.3s ease-in-out;
}
.submit-btn:hover .arrow::before {
  background: #fff;
}
/*-------comon------*/
.flex-wrap.jce {
  justify-content: center;
}
.flex-wrap.atop {
  align-items: flex-start;
}
.width691 {
  max-width: max(47.986vw, 691px);
  width: 100%;
}
.width348 {
  max-width: max(24.167vw, 348px);
  width: 100%;
}
.width361 {
  max-width: max(25.069vw, 361px);
  width: 100%;
}
.width534 {
  max-width: max(37.083vw, 534px);
  width: 100%;
}
.width257 {
  max-width: max(17.847vw, 200px);
  width: 100%;
}
.gap60 {
  gap: 60px;
}
.gap20 {
  gap: 20px;
}

/*-------sub-main------*/
.sub-main {
  background: url(../../../uploads/2026/01/bg1.jpg);
  padding: 100px 0;
  margin-top: 76px;
}
.sub-main.st2 {
  margin-top: 0;
}
.sub-main .tit-st1 {
  margin-bottom: 20px;
}
.sub-hem {
  width: 34px;
  height: 3px;
  margin-inline: auto;
  margin-bottom: 20px;
}
.sec-main {
  padding: 107px 5.55%;
}
.sec-main.exterior-main {
  background: url(../../../uploads/2026/01/sec-exterior-bg.jpg) no-repeat;
  background-position: bottom;
}
.sec-main.garden-main {
  background: url(../../../uploads/2026/01/sec-garden-bg.jpg) no-repeat;
  background-position: bottom;
}
.sec-main.retaining-main {
  background: url(../../../uploads/2026/01/sec-retaining-bg.jpg) no-repeat;
  background-position: bottom;
}
.sec-main.renovation-main {
  background: url(../../../uploads/2026/01/sec-renovation-bg.jpg) no-repeat;
  background-position: bottom;
}
.sec-main h2 {
  max-width: 562px;
  box-shadow: 0px 0px 8px rgba(202, 202, 202, 0.38);
  width: 100%;
  margin: 0 auto;
  padding: 25px 0;
  font-size: max(1.667vw, 2.4rem);
}
.arrow-wrap {
  position: relative;
}
.sub-arrow {
  position: absolute;
  display: inline-block;
  width: 22.8px;
  height: 39.6px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sub-arrow::before,
.sub-arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  width: 30px;
  height: 3px;
  border-radius: 9999px;
  background-color: #507700;
  transform-origin: calc(100% - 1.5px) 50%;
}
.sub-arrow::before {
  transform: rotate(42.75deg);
}

.sub-arrow::after {
  transform: rotate(-42.75deg);
}
.t-sc {
  margin-right: 1em;
}
.flow-wrap {
  justify-content: flex-end;
  width: 100%;
  padding: 20px;
  box-shadow: 0px 0px 8px rgba(202, 202, 202, 0.38);
}
.flow-tit {
  background: rgba(202, 202, 202, 0.38);
  padding: 1em 20px;
}
.sub-youtube-box {
  max-width: maX(46.458vw, 360px);
  height: 376px;
}
/*-------post----*/
.post-inner .post-content {
  padding-bottom: 50px;
}
.post-inner.st2 .post-content {
  padding-inline: 5.55%;
}
.main-carousel .splide__arrow {
  background: none;
}
.main-carousel .splide__arrow--prev {
  left: -70px;
}
.main-carousel .splide__arrow--next {
  right: -70px;
}
.main-carousel .splide__arrow svg {
  fill: #507700;
  width: 23px;
  height: 40px;
}
.main-carousel {
  max-width: 700px;
  width: 100%;
  margin: 0 auto 30px;
}
.main-carousel .splide__list {
  align-items: center;
}
.thumbnail-carousel
  .splide__track--nav
  > .splide__list
  > .splide__slide.is-active {
  width: 100% !important;
  border: none;
  height: 144px;
}
.thumbnail-carousel .splide__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.thumbnail-carousel .splide__slide img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.thumbnail-carousel .splide__track--nav > .splide__list > .splide__slide {
  width: 100% !important;
  height: 144px;
  border: none;
}
.post-ex-wrap {
  position: relative;
  padding-inline: 21.82%;
  gap: 60px;
}
.post-ex-box {
  position: absolute;
  right: 50%;
  top: 50%;
}

/*-------ipad----*/
@media screen and (max-width: 1180px) {
  .ma-t40 {
    margin-top: 0;
  }
  .pa-st314 {
    padding-inline: 5.55%;
  }
}
/*-------ipad-air----*/
@media screen and (max-width: 820px) {
  .gap60 {
    gap: 30px;
  }
  .sub-arrow {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 11.4px;
    height: 19.8px;
  }

  .sub-arrow::before,
  .sub-arrow::after {
    width: 14.9px;
    transform-origin: calc(100% - 1.5px) 50%;
  }

  .sub-arrow::before {
    transform: rotate(45deg);
  }

  .sub-arrow::after {
    transform: rotate(-45deg);
  }
  .pa-st104 {
    padding-inline: 5.55%;
  }
  .table-st1 th {
    padding: 16px 0 16px 16px;
  }
  .page-works .p-sec1 .flex-wrap {
    flex-direction: column;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  body .sub-main,
  .ma-80,
  .ma-100,
  .ma-50,
  .ma-70 {
    margin-bottom: 40px;
  }
  .sub-main {
    margin-top: 56px;
  }
  .pa-90,
  .pa-80,
  .pa-70 {
    padding-bottom: 30px;
  }
  .pa-120 {
    padding-bottom: 50px;
  }
  .pa-st176,
  .pa-st162,
  .pa-st236,
  .pa-st104 {
    padding-inline: 5.55%;
  }
  .sub-arrow::before,
  .sub-arrow::after {
    top: auto;
    bottom: 0;
    left: calc(50% - 1.5px);
    right: auto;
    width: 3px;
    height: 14.9px;
    transform-origin: 50% calc(100% - 1.5px);
  }
  .flow-wrap {
    align-items: center;
  }
  .table-st1 tr {
    display: flex;
    flex-direction: column;
  }
  .table-st1 th {
    width: 100%;
    padding: 16px 0 0 0;
  }
  .sub-youtube-box {
    height: 166px;
  }
  .table-form tr {
    display: flex;
    flex-direction: column;
  }
  .table-form th {
    width: 100%;
  }
  .post-inner .post-content {
    padding-inline: 5.55%;
    padding-bottom: 30px;
  }
  .post-ex-wrap {
    gap: 30px;
    padding-inline: 0;
  }
  .post-ex-box {
    top: 48%;
  }
  .thumbnail-carousel .splide__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .main-carousel .splide__arrow--prev {
    left: -18px;
  }
  .main-carousel .splide__arrow--next {
    right: -18px;
  }
}
