@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
.light-blue-bg {
  background-color: #ebf1f3;
}

/* --------------------------------
土地活用とは
----------------------------------- */
#about {
  /* --------------------------------
  intro
  ----------------------------------- */
  /* --------------------------------
  土地活用の3 つのメリット
  ----------------------------------- */
  /* --------------------------------
  土地活用の主な種類
  ----------------------------------- */
  /* --------------------------------
  土地活用のポイント(仮)
  ----------------------------------- */
}
#about section {
  padding-top: 10.5rem;
}
#about .section-title {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  #about .section-title {
    font-size: 4.8rem;
  }
}
#about .about-intro {
  background: #d9e6ec;
}
#about .about-intro .about-intro__text-wrap {
  width: 110rem;
  margin-inline: auto;
  padding: 7rem 9rem;
}
@media (max-width: 767px) {
  #about .about-intro .about-intro__text-wrap {
    width: 100%;
    padding: 7rem 6rem;
  }
}
#about .about-intro .about-intro__text {
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media (max-width: 767px) {
  #about .about-intro .about-intro__text {
    font-size: 2.8rem;
  }
}
#about .about-merit {
  padding-bottom: 9.6rem;
}
#about .about-merit .about-merit__items {
  margin-top: 6.4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4rem;
  row-gap: 7rem;
}
@media (max-width: 767px) {
  #about .about-merit .about-merit__items {
    grid-template-columns: 1fr;
    row-gap: 6rem;
  }
}
#about .about-merit .merit-card {
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 1rem 1rem 2.1rem rgba(10, 2, 4, 0.17);
}
#about .about-merit .merit-card .merit-card__body {
  padding: 3.6rem 3.4rem;
}
#about .about-merit .merit-card .merit-card__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  #about .about-merit .merit-card .merit-card__title {
    font-size: 3.6rem;
  }
}
#about .about-merit .merit-card .merit-card__text {
  margin-top: 0.8rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: justify;
}
@media (max-width: 767px) {
  #about .about-merit .merit-card .merit-card__text {
    margin-top: 1.6rem;
    font-size: 2.8rem;
    line-height: 1.6;
  }
}
#about .about-type {
  padding-bottom: 13rem;
}
#about .about-type .about-type__body {
  margin-top: 6.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#about .about-type .about-type__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 5.3rem;
  row-gap: 4.2rem;
}
@media (max-width: 767px) {
  #about .about-type .about-type__items {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
    row-gap: 6rem;
  }
}
#about .about-type .type-card .type-card__title {
  margin-top: 1.4rem;
  padding-left: 1.2rem;
  font-size: 2.2rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-left: 0.6rem solid #1daae2;
}
@media (max-width: 767px) {
  #about .about-type .type-card .type-card__title {
    font-size: 2.8rem;
  }
}
#about .about-type .about-type__btn {
  margin-top: 7rem;
}
#about .about-point {
  padding-bottom: 13.6rem;
}
@media (max-width: 767px) {
  #about .about-point {
    padding-bottom: 20rem;
  }
}
#about .about-point .about-point__body {
  width: 94rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 767px) {
  #about .about-point .about-point__body {
    width: 100%;
  }
}
#about .about-point .about-point__items {
  margin-top: 6.4rem;
  display: flex;
  flex-direction: column;
  row-gap: 7.2rem;
}
@media (max-width: 767px) {
  #about .about-point .about-point__items {
    row-gap: 10rem;
  }
}
#about .about-point .point-card {
  display: flex;
  align-items: center;
  column-gap: 3.4rem;
}
@media (max-width: 767px) {
  #about .about-point .point-card {
    flex-direction: column;
  }
}
#about .about-point .point-card .point-card__img {
  width: 30.2rem;
}
@media (max-width: 767px) {
  #about .about-point .point-card .point-card__img {
    margin-top: 3.2rem;
    width: 100%;
    order: 2;
  }
}
#about .about-point .point-card .point-card__body {
  flex: 1;
}
@media (max-width: 767px) {
  #about .about-point .point-card .point-card__body {
    display: contents;
  }
}
#about .about-point .point-card .point-card__title {
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
@media (max-width: 767px) {
  #about .about-point .point-card .point-card__title {
    order: 1;
    font-size: 3.6rem;
  }
}
#about .about-point .point-card .point-card__title span:nth-child(1) {
  font-size: 3rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  border: 0.2rem solid #222222;
  display: grid;
  place-content: center;
}
@media (max-width: 767px) {
  #about .about-point .point-card .point-card__title span:nth-child(1) {
    font-size: 4rem;
    width: 10rem;
    height: 10rem;
  }
}
#about .about-point .point-card .point-card__title span:nth-child(2) {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  #about .about-point .point-card .point-card__title span:nth-child(2) {
    flex: 1;
    font-size: 3.2rem;
    line-height: 1.4;
  }
}
#about .about-point .point-card .about-point__text {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media (max-width: 767px) {
  #about .about-point .point-card .about-point__text {
    margin-top: 3.2rem;
    order: 3;
    font-size: 2.8rem;
  }
}
#about .about-point .about-point__message {
  margin-top: 5rem;
}
#about .about-point__btn {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  #about .about-point__btn {
    margin-top: 8rem;
  }
}

/* --------------------------------
お引き渡しまでの流れ
----------------------------------- */
#flow .flow__title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  #flow .flow__title {
    font-size: 3.6rem;
  }
}
#flow .flow__container {
  background-color: #fff;
  width: 104rem;
  margin-inline: auto;
  padding: 9rem 5rem 15rem;
}
@media (max-width: 767px) {
  #flow .flow__container {
    width: 100%;
    padding: 6rem 4rem 20rem;
  }
}
#flow .flow__title {
  text-align: center;
}
#flow .flow__body {
  margin-top: 7.2rem;
}
#flow .flow__items {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media (max-width: 767px) {
  #flow .flow__items {
    gap: 10rem;
  }
}
#flow .flow-item {
  display: flex;
}
@media (max-width: 767px) {
  #flow .flow-item {
    flex-direction: column;
  }
}
#flow .flow-item__img {
  width: 26rem;
  position: relative;
  z-index: 3;
}
@media (max-width: 767px) {
  #flow .flow-item__img {
    width: 100%;
  }
}
#flow .flow-item__img span {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.3rem;
  background-color: #222222;
}
@media (max-width: 767px) {
  #flow .flow-item__img span {
    display: none;
  }
}
#flow .flow-item__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  #flow .flow-item__body {
    padding-top: 3rem;
  }
}
#flow .flow-item__title {
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 767px) {
  #flow .flow-item__title {
    font-size: 3.6rem;
  }
}
#flow .flow-item__title span {
  font-size: 3.6rem;
}
@media (max-width: 767px) {
  #flow .flow-item__title span {
    font-size: 4.8rem;
  }
}
#flow .flow-item__text {
  margin-top: 3.4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  #flow .flow-item__text {
    font-size: 2.8rem;
  }
}

.flow-item:nth-child(odd) .flow-item__img {
  padding-right: 6rem;
}
@media (max-width: 767px) {
  .flow-item:nth-child(odd) .flow-item__img {
    padding-right: 0;
  }
}
.flow-item:nth-child(odd) .flow-item__body {
  border-left: 0.3rem solid #222222;
  padding-left: 3.2rem;
}

.flow-item:nth-child(even) {
  flex-direction: row-reverse;
}
.flow-item:nth-child(even) .flow-item__img {
  padding-left: 6rem;
}
@media (max-width: 767px) {
  .flow-item:nth-child(even) .flow-item__img {
    padding-left: 0;
  }
}
.flow-item:nth-child(even) .flow-item__body {
  border-right: 0.3rem solid #222222;
  padding-right: 3.2rem;
}
@media (max-width: 767px) {
  .flow-item:nth-child(even) .flow-item__body {
    border-right: none;
    border-left: 0.3rem solid #222222;
    padding-right: 0;
    padding-left: 3.2rem;
  }
}

/* --------------------------------
会社概要
----------------------------------- */
.light-blue-bg {
  background-color: #ebf1f3;
}

/* --------------------------------
街かどモデルハウス
----------------------------------- */
#mh-list .mh-list__container {
  padding-block: 6rem 19.3rem;
}
@media (max-width: 767px) {
  #mh-list .mh-list__container {
    padding-block: 10.5rem 20rem;
  }
}
#mh-list .mh-list__tabs {
  max-width: 104rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.8rem;
}
@media (max-width: 767px) {
  #mh-list .mh-list__tabs {
    grid-template-columns: repeat(1, 1fr);
    max-width: 60rem;
  }
}
#mh-list .mh-list__tab {
  height: 8.5rem;
}
@media (max-width: 767px) {
  #mh-list .mh-list__tab {
    height: 10rem;
  }
}
#mh-list .mh-list__items {
  display: flex;
  flex-direction: column;
  row-gap: 6rem;
}
@media (max-width: 767px) {
  #mh-list .mh-list__items {
    row-gap: 12rem;
  }
}
#mh-list .mh-item {
  padding-top: 9rem;
}
@media (max-width: 767px) {
  #mh-list .mh-item {
    padding-top: 10rem;
  }
}
#mh-list .mh-item__head {
  width: 94rem;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 767px) {
  #mh-list .mh-item__head {
    width: 68rem;
  }
}
#mh-list .mh-item__head h2 {
  margin-top: 1rem;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767px) {
  #mh-list .mh-item__head h2 {
    font-size: 4.8rem;
  }
}
#mh-list .mh-item__area {
  font-size: 1.8rem;
  line-height: 1;
  color: #808080;
}
@media (max-width: 767px) {
  #mh-list .mh-item__area {
    font-size: 2.8rem;
  }
}
#mh-list .mh-item__img {
  margin-top: 3.6rem;
}
#mh-list .mh-item__info {
  margin-top: 4.2rem;
  display: flex;
  text-align: left;
}
@media (max-width: 767px) {
  #mh-list .mh-item__info {
    flex-direction: column;
  }
}
#mh-list .mh-item__address {
  width: 36.7rem;
  padding-right: 3.4rem;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 767px) {
  #mh-list .mh-item__address {
    width: 100%;
    padding-right: 0;
    font-size: 3.2rem;
    padding-bottom: 2.4rem;
  }
}
#mh-list .mh-item__desc {
  flex: 1;
  padding-left: 3.4rem;
  border-left: 0.1rem solid #222222;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6666666667;
}
@media (max-width: 767px) {
  #mh-list .mh-item__desc {
    padding-left: 0;
    border-left: none;
    border-top: 0.1rem solid #222222;
    padding-top: 2.4rem;
    font-size: 2.8rem;
  }
}
#mh-list .mh-item__access {
  margin-top: 8.6rem;
}
#mh-list .mh-item__access h3 {
  text-align: center;
  font-size: 2.8rem;
  line-height: 1;
}
@media (max-width: 767px) {
  #mh-list .mh-item__access h3 {
    font-size: 4.4rem;
  }
}
#mh-list .mh-item__map {
  margin-top: 3rem;
  width: 100%;
  height: 43.7rem;
}
@media (max-width: 767px) {
  #mh-list .mh-item__map {
    margin-top: 4rem;
  }
}
#mh-list .mh-item__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}
#mh-list .mh-item__reserve {
  margin-top: 8.8rem;
  border: 0.1rem solid #1daae2;
  padding: 0.6rem;
  width: 50rem;
  height: 12rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  #mh-list .mh-item__reserve {
    width: 68rem;
    height: 16.3rem;
  }
}

/* --------------------------------
utility
----------------------------------- */
.u-gray-bg {
  background-color: #ebf1f3;
}

.u-ib {
  display: inline-block;
}

@media (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
}/*# sourceMappingURL=o-style.css.map */