.leadBlock {
  margin-top: 4rem;
  margin-left: 2rem;
  margin-right: 2rem;
  padding-top: 9.2rem;
  padding-bottom: 8rem;
  position: relative;
}
.leadBlock::before {
  content: "";
  position: absolute;
  left: -2rem;
  right: -2rem;
  z-index: -1;
  top: 32.7rem;
  bottom: 0;
  background: var(--color-bg);
  border-radius: 0 2rem 12rem 0;
}
@media (768px <= width) {
  .leadBlock::before {
    left: 0;
    right: 10rem;
    border-radius: 0 3rem 16rem 0;
  }
}
.leadBlock::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background-image: linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}
@media (768px <= width) {
  .leadBlock::after {
    left: max(50% - 80rem, 6rem);
    right: max(50% - 80rem, 6rem);
  }
}
@media (768px <= width) {
  .leadBlock {
    margin-top: 12rem;
    margin-left: 0;
    margin-right: 0;
    padding-top: 12rem;
    padding-bottom: 16rem;
    padding-left: max(50% - 80rem, 6rem);
    padding-right: max(50% - 80rem, 6rem);
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 10rem 0;
  }
}
.leadBlock__lead {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 166%;
  text-align: center;
}
@media (768px <= width) {
  .leadBlock__lead {
    writing-mode: vertical-rl;
    font-size: 5.2rem;
    text-align: left;
    align-content: center;
    text-indent: -1.5em;
    padding-top: 1.5em;
    letter-spacing: 0.1em;
  }
}
.leadBlock__lead span {
  position: relative;
}
.leadBlock__lead span::after {
  content: "";
  width: 2.2rem;
  aspect-ratio: 22/17;
  display: block;
  background: url('data:image/svg+xml;charset=utf8, <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.33938 11.3C6.23683 11.3322 6.12833 11.3455 6.01889 11.3354C5.60124 11.2973 5.31419 10.9477 5.37399 10.5544L6.5886 2.61377C6.6484 2.22044 7.03437 1.93259 7.45287 1.97335C7.87052 2.0114 8.15757 2.36101 8.09776 2.75433L6.88316 10.695C6.83838 10.9825 6.61856 11.2151 6.34023 11.3027L6.33938 11.3Z" fill="%2300AE83"/><path d="M9.68161 12.8009C9.52574 12.8221 9.36078 12.7988 9.21295 12.7217C8.85163 12.5337 8.72594 12.1023 8.93287 11.76L11.0355 8.2899C11.2424 7.94763 11.7047 7.82207 12.066 8.01012C12.4273 8.19817 12.553 8.62955 12.3461 8.97183L10.2434 12.4419C10.1213 12.6442 9.90942 12.77 9.68161 12.8009Z" fill="%2300AE83"/><path d="M12.0456 15.5263C11.8384 15.4987 11.6458 15.3832 11.5272 15.1962C11.3142 14.8604 11.4144 14.4154 11.7557 14.2055L17.9751 10.3399C18.3135 10.1296 18.7629 10.2301 18.9755 10.5688C19.1885 10.9046 19.0883 11.3496 18.747 11.5594L12.5276 15.4251C12.3776 15.5183 12.2092 15.551 12.0452 15.5291L12.0456 15.5263Z" fill="%2300AE83"/></svg>') center/contain no-repeat;
  position: absolute;
  top: -1rem;
  right: -1rem;
}
@media (768px <= width) {
  .leadBlock__lead span::after {
    width: 3.5rem;
    top: -1.5rem;
    right: -2rem;
  }
}
.leadBlock__img-wrap.img01 {
  margin-top: 4rem;
}
.leadBlock__img-wrap.img01 img {
  border-radius: 12rem 1rem 1rem;
}
@media (768px <= width) {
  .leadBlock__img-wrap.img01 {
    margin-top: 0;
  }
  .leadBlock__img-wrap.img01 img {
    border-radius: 16rem 2rem 2rem;
  }
}
.leadBlock__img-wrap.img02 {
  width: 14rem;
  margin-left: -2rem;
  margin-top: -4rem;
}
.leadBlock__img-wrap.img02 img {
  border-radius: 1rem 1rem 8rem;
}
@media (768px <= width) {
  .leadBlock__img-wrap.img02 {
    width: 40rem;
    margin-top: 8.3rem;
    margin-left: 0;
  }
  .leadBlock__img-wrap.img02 img {
    border-radius: 2rem 2rem 16rem;
  }
}
.leadBlock__textbox {
  margin-top: 4rem;
}
@media (768px <= width) {
  .leadBlock__textbox {
    margin-top: 0;
    margin-right: 20.8333333333%;
  }
}
.leadBlock__copy {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .leadBlock__copy {
    text-align: left;
    font-size: 3.2rem;
  }
  .leadBlock__copy br {
    display: none;
  }
}
.leadBlock__text {
  margin-top: 3rem;
  line-height: 250%;
}
@media (768px <= width) {
  .leadBlock__text {
    font-size: 2rem;
  }
  .leadBlock__text p {
    margin-top: 2em;
  }
}

.newConstruction {
  padding: 8rem 0;
}
@media (768px <= width) {
  .newConstruction {
    padding: 16rem 0;
  }
  .newConstruction .wrap {
    display: grid;
    grid-template-columns: auto 50%;
    gap: max(7.5%, 12rem);
    align-items: center;
    margin: 0 max(50% - 80rem, 6rem);
  }
}
.newConstruction__textbox {
  margin: 0 2rem;
}
@media (768px <= width) {
  .newConstruction__textbox {
    margin: 0;
  }
}
.newConstruction__headline {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 166%;
  display: flex;
  gap: 0 2rem;
}
@media (768px <= width) {
  .newConstruction__headline {
    display: grid;
    font-size: 4rem;
    gap: 3rem;
  }
}
.newConstruction__headline .num {
  font-size: 5.2rem;
  font-weight: 700;
  color: var(--color-green);
  padding-left: 1.7rem;
  position: relative;
}
@media (768px <= width) {
  .newConstruction__headline .num {
    font-size: 8rem;
    padding-left: 0;
  }
}
.newConstruction__headline .num::before {
  content: "";
  width: 2.5rem;
  aspect-ratio: 25/28;
  position: absolute;
  left: 0;
  top: -1rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="24" height="27" viewBox="0 0 24 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.8418 13.6186C17.9745 13.6167 18.107 13.5904 18.2314 13.5361C18.7066 13.3297 18.9079 12.8085 18.6855 12.3703L14.1868 3.52629C13.9643 3.08808 13.4002 2.89985 12.925 3.10967C12.4499 3.31599 12.2485 3.83721 12.4709 4.27542L16.9697 13.1194C17.1335 13.4394 17.4814 13.6271 17.8418 13.6221L17.8418 13.6186Z" fill="%2300AE83"/><path d="M14.503 16.6729C14.694 16.6374 14.8785 16.5462 15.022 16.3985C15.3731 16.0381 15.3535 15.4834 14.9783 15.162L11.1685 11.9057C10.7933 11.5843 10.2025 11.616 9.85147 11.9764C9.50045 12.3369 9.52002 12.8915 9.89526 13.2129L13.705 16.4693C13.9265 16.6592 14.2238 16.7248 14.503 16.6729Z" fill="%2300AE83"/><path d="M12.7853 20.785C13.0177 20.6724 13.1988 20.4623 13.2656 20.1972C13.3854 19.7208 13.0956 19.2376 12.614 19.1236L3.82225 16.9969C3.34392 16.8813 2.85572 17.1731 2.73742 17.6527C2.61757 18.1291 2.90741 18.6122 3.38897 18.7262L12.1807 20.8529C12.3928 20.9041 12.6029 20.8773 12.7869 20.7882L12.7853 20.785Z" fill="%2300AE83"/></svg>') center/contain no-repeat;
}
@media (768px <= width) {
  .newConstruction__headline .num::before {
    width: 3.5rem;
    top: -1.5rem;
    left: -2.5rem;
  }
}
.newConstruction__text {
  margin-top: 2rem;
  line-height: 250%;
}
@media (768px <= width) {
  .newConstruction__text {
    margin-top: 4rem;
    font-size: 1.8rem;
  }
  .newConstruction__text p {
    margin-top: 2em;
  }
}
.newConstruction__text .bold {
  background: var(--color-bg);
}
.newConstruction__img {
  margin: 3rem 2rem 0;
}
@media (768px <= width) {
  .newConstruction__img {
    margin: 0;
  }
}
.newConstruction__type {
  margin-top: 8rem;
  padding: 8rem 2rem;
  position: relative;
  display: grid;
  gap: 5rem;
}
@media (768px <= width) {
  .newConstruction__type {
    margin-top: 12rem;
    padding: 10rem max(50% - 70rem, 6rem);
    gap: 6rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.newConstruction__type::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: var(--color-bg);
  border-radius: 12rem 0 0 2rem;
}
@media (768px <= width) {
  .newConstruction__type::before {
    left: max(50% - 86rem, 3rem);
    right: 0;
    width: auto;
  }
}
.newConstruction__type-img-wrap img {
  border-radius: 1rem;
}
.newConstruction__type-textbox {
  margin-top: 3rem;
}
@media (768px <= width) {
  .newConstruction__type-textbox {
    margin-top: 5rem;
  }
}
.newConstruction__type-title {
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .newConstruction__type-title {
    font-size: 2.6rem;
  }
}
.newConstruction__type-text {
  margin-top: 2rem;
  line-height: 200%;
}
@media (768px <= width) {
  .newConstruction__type-text {
    margin-top: 3rem;
  }
}
.newConstruction__type-btn {
  margin-top: 3rem;
}
@media (768px <= width) {
  .newConstruction__type-btn {
    width: 32rem;
  }
}

@media (768px <= width) {
  .newConstruction02 .wrap {
    grid-template-columns: 50% auto;
  }
  .newConstruction02 .newConstruction__textbox {
    order: 2;
  }
  .newConstruction02 .newConstruction__img {
    order: 1;
  }
}

.contactblock {
  margin: 0 2rem;
  padding: 5rem 0;
  background-image: linear-gradient(to right, black 50%, transparent 50%), linear-gradient(to right, black 50%, transparent 50%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top, left bottom;
}
@media (768px <= width) {
  .contactblock {
    margin: 0 max(50% - 80rem, 6rem);
    padding: 12rem 0;
  }
}
.contactblock__label {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 166%;
  text-align: center;
}
@media (768px <= width) {
  .contactblock__label {
    font-size: 3.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1.5rem;
  }
  .contactblock__label::before, .contactblock__label::after {
    content: "";
    width: 3rem;
    aspect-ratio: 1;
    background: url('data:image/svg+xml;charset=utf8, <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.64746 8.64746C12.6861 12.8076 16.8245 16.946 21.0002 21.0002" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 1C2.45528 2.45528 3.90745 3.90745 5.36273 5.36273" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
    display: block;
  }
  .contactblock__label::after {
    transform: scaleX(-1);
  }
  .contactblock__label br {
    display: none;
  }
}
.contactblock__content {
  display: grid;
  gap: 2rem;
  margin-top: 3rem;
}
@media (768px <= width) {
  .contactblock__content {
    margin: 6rem max(50% - 60rem, 0rem) 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}

.content__box {
  background-color: #fff;
  border-radius: 1rem;
  padding: 3rem;
}
@media (768px <= width) {
  .content__box {
    border-radius: 2rem;
    padding: 4rem;
  }
}
.content__header {
  display: grid;
  grid-template-columns: 3.1rem auto;
  gap: 2rem;
  align-items: center;
  margin-left: 1rem;
}
@media (768px <= width) {
  .content__header {
    justify-content: center;
  }
}
.content__header i {
  width: 100%;
}
.content__label {
  font-weight: 700;
  line-height: 166%;
}
@media (768px <= width) {
  .content__label {
    font-size: 1.8rem;
  }
  .content__label br {
    display: none;
  }
}
.content__btn {
  margin-top: 2rem;
}
@media (768px <= width) {
  .content__btn {
    margin-top: 3rem;
  }
}
.content__links.btn {
  width: 100%;
}
@media (768px <= width) {
  .content__links.btn {
    width: 35rem;
    margin-left: auto;
    margin-right: auto;
  }
}