@charset "UTF-8";
.blk {
  padding: 50px 0;
}
.single__ttl {
  margin-bottom: 33px;
}
/* -------------------------------------
estate
------------------------------------- */

/* アーカイブ↓ */
.postlist {
  border-top: 1px solid #ccc;
}
.postlist__item {
  position: relative;
  border-bottom: 1px solid #ccc;
}
.postlist__contract a {
  pointer-events: none;
}
.postlist__contract .post__list-member-link a {
  pointer-events: auto;
  position: relative;
  z-index: 10; /* 念のため上に出す */
}
.post__table {
  display: grid;
  grid-template-columns: 32% 28% 22% 18%; /* 各列を25%幅に */
  grid-template-rows: repeat(2, auto);
  gap: 0;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.post__table-contents {
  padding-top: clamp(10px, 1.296vw, 14px);
  padding-bottom: clamp(8px, 1.111vw, 12px);
  padding-left: clamp(5px, 0.925vw, 10px);
  padding-right: clamp(5px, 0.925vw, 10px);
  text-align: left;
  border-right: 1px solid #ccc;
}
.post__table-contents .imgbox__bnr {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 70%;
}
.post__table-contents:last-child {
  border-right: none;
}
.post__table-contents.empty {
  background-color: transparent;
}
.post__table-contents.heading {
  font-size: clamp(12px, 1.388vw, 15px);
  font-weight: 500;
  text-align: center;
  border-bottom: 1px solid #ccc;
  background-color: #f2f2f2;
  line-height: 1.75;
  letter-spacing: 0.14em;
}
.post__table-contents.heading.border-none {
  border-right: none;
}
.post__table-contents.flex-center {
  padding: 30px 38px;
  padding-top: clamp(15px, 2.777vw, 20px);
  padding-bottom: clamp(15px, 2.777vw, 20px);
  padding-left: clamp(15px, 2.777vw, 20px);
  padding-right: clamp(15px, 2.777vw, 20px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.post__table-contents.flex-center02 {
  display: flex;
  justify-content: center;
}
.post__table-title,
.post__table-copy,
.post__table-access {
  font-size: clamp(11px, 1.203vw, 13px);
  line-height: 1.75;
  letter-spacing: 0.14em;
}
.single-post .post__table-copy {
  margin-bottom: clamp(15px, 1.851vw, 20px);
}
.post__table-price {
  font-size: clamp(17px, 2.037vw, 22px);
  margin-bottom: 3px;
}

.imgbox {
  position: relative;
}
.postlist__item .imgbox .in {
  padding-top: 76.3%;
}

/* アーカイブ↑ */

/* シングル↓ */
.single-post {
  /* padding-top: 63px; */
}
.single .post-title {
  font-size: clamp(18px, 2.222vw, 24px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  margin-bottom: clamp(10px, 1.851vw, 20px);
  line-height: 1.75;
}
.about-flex {
  align-items: flex-end;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 37px;
}
.about-wrap {
  width: calc(100% - 335px);
}
.modelhouse__introContents-box {
  text-align: center;
  padding-top: 16px;
  padding-bottom: 12px;
  padding-left: 10px;
  padding-right: 10px;
  width: 305px;
  background-color: #fff;
  border: 1px solid #58a3ba;
}
.modelhouse__introContents-tel01 {
  font-size: 12px;
  line-height: 1.75;
}
.modelhouse__introContents-tel02 {
  font-size: clamp(22px, 3.425vw, 37px);
  font-family: century-gothic, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  /* cursor: pointer; */
}
.modelhouse__introContents-tel03 {
  font-size: 12px;
  line-height: 1.75;
}

.modal-photo {
  display: block;
  width: 100%;
}

/* point */
.point__text {
  font-size: 14px;
  font-weight: 400;
  position: relative;
  line-height: 2;
}
.point__text::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  background: url("../imgs_new/post/icon_point-check.svg") center center / cover
    no-repeat;
  position: absolute;
  top: 9px;
  left: 0;
  z-index: 1;
}
.point__text span {
  display: block;
  padding-left: 15px;
}

.price-list {
  align-items: center;
}
.price-list__heading {
  font-size: clamp(10px, 1.111vw, 12px);
  font-weight: 400;
  text-align: center;
  width: clamp(43px, 4.907vw, 53px);
  padding: clamp(4px, 0.555vw, 6px) clamp(3px, 0.462vw, 5px)
    clamp(5px, 0.648vw, 7px);
  background-color: #eae7d5;
  line-height: 1;
  letter-spacing: 0.1em;
}
.price-list__text {
  font-size: clamp(28px, 2.962vw, 32px);
  font-weight: 700;
  padding-left: clamp(10px, 1.388vw, 15px);
  line-height: 1.75;
}
.post-head #example {
  padding: 30px 35px;
  border: 2px solid #eae7d5;
}
.post-head #example h2 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
.post-head #example table {
  width: 100%;
  margin-bottom: 20px;
}
.post-head #example table th,
.post-head #example table td {
  font-size: 12px;
  font-weight: 500;
  text-align: left;
  letter-spacing: 0;
  padding: 2px 0;
}
.post-head #example table th {
  width: 130px;
}
.post-head #example dl {
  font-size: 0;
  margin-bottom: 20px;
}
.post-head #example dl dt,
.post-head #example dl dd {
  letter-spacing: 0;
  display: inline-block;
  vertical-align: bottom;
}
.post-head #example dl dt {
  font-size: 12px;
  line-height: 2.4;
  margin-right: 20px;
}
.post-head #example dl dd {
  font-size: 24px;
}
.post-head #example dl dd span {
  display: inline-block;
}
.post-head #example dl dd .month {
  font-size: 12px;
  color: #fff;
  text-align: center;
  width: 37px;
  height: 37px;
  vertical-align: 8px;
  padding-top: 10px;
  margin-right: 5px;
  border-radius: 50%;
  background-color: #58a3ba;
}
.post-head #example dl dd .num {
  font-size: 36px;
  vertical-align: -2px;
  margin-right: 5px;
}
.post-head #example .cap {
  font-size: 12px;
  letter-spacing: 0;
}

.post-head .links {
  max-width: 470px;
  margin-top: 20px;
}
.post-head .links li {
  width: calc((100% - 30px) / 2);
}
.post-head .links li:nth-child(2) {
  margin-left: auto;
}
.post-head .links li .link {
  border: 2px solid #ccc;
}
.post-head .links li .link span {
  font-size: 14px;
}

.location .text {
  width: 100%;
}
.location .text h2 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 30px;
}
.location__commentWrap {
  padding-bottom: 22px;
}
.location__comment-text {
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.75;
}
.location .text table {
  width: 100%;
}
.location .text table th,
.location .text table td {
  font-size: 12px;
  font-weight: normal;
  text-align: left;
  line-height: 2.4;
  letter-spacing: 0;
  vertical-align: top;
  padding: 10px 0;
  border-bottom: 1px solid #eae7d5;
}
.location .text table tr:last-child th,
.location .text table tr:last-child td {
  border-bottom: none;
}
.location .text table th {
  width: 25%;
  padding-right: 10px;
  white-space: nowrap;
}

.location .slide {
  width: 100%;
  padding-bottom: 27px;
}
.post .slide .main {
  margin-bottom: 15px;
}
.post .slide .main li div,
.post .slide .main li a {
  display: block;
  padding-top: 77%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
.post .slide .main li img {
  display: none;
}
.post .slide .thum li {
  width: calc((99.9% - 70px) / 8);
  margin-right: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}
.post .slide .thum li:nth-child(8n) {
  margin-right: 0;
}
.post .slide .thum li:hover,
.post .slide .thum li.current {
  opacity: 1;
}
.post .slide .thum li div {
  padding-top: 69.8%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.post .slide .thum li img {
  display: none;
}

.post .section .text {
  width: 43.9%;
}
.post .section .text h2 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 30px;
}
.post .section .text table {
  width: 100%;
}
.post .section .text table:not(:last-child) {
  margin-bottom: 25px;
}
.post .section .text table th,
.post .section .text table td {
  font-size: 12px;
  font-weight: normal;
  text-align: left;
  letter-spacing: 0;
  vertical-align: top;
  padding: 15px 10px;
  border-bottom: 1px solid #eae7d5;
}
.post .section .text table th {
  width: 140px;
}
.post .section .text table td:nth-child(1) {
  white-space: nowrap;
  width: 50px;
  padding-right: 15px;
}
.post .section .text table td a {
  color: #0000ee;
  text-decoration: underline;
  display: inline;
}
.section-photo {
  display: block;
  width: 52.8%;
  margin-left: auto;
}

.section-photo a {
  position: sticky;
  top: 200px;
}

.post .detail .text {
  width: 55.8%;
}
.post .detail .text h2 {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 30px;
}
.post .detail .text table {
  width: 100%;
}
.post .detail .text table th,
.post .detail .text table td {
  font-size: 12px;
  font-weight: normal;
  text-align: left;
  letter-spacing: 0;
  vertical-align: top;
  padding: 12px 10px;
  border-bottom: 1px solid #eae7d5;
}
.post .detail .text table th {
  width: 130px;
  white-space: nowrap;
}
.post .detail .map {
  width: 39.3%;
  margin-left: auto;
}
.post .detail .map a {
  font-size: 12px;
  text-decoration: underline;
  display: inline-block;
  margin-top: 8px;
}

.about-box {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #b3b3b3;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 3%;
  padding-right: 3%;
  margin-bottom: 100px;
  font-weight: 400;
}

.about-box__heading {
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.about-box__desc {
  font-size: 12px;
  line-height: 1.666;
  font-feature-settings: "palt";
}

.remodal--estate .slick-prev:before,
.remodal--estate .slick-next:before {
  color: #ccc;
  font-size: 36px;
}

.remodal--estate .slick-prev,
.remodal--estate .slick-next {
  z-index: 3;
  width: 30px;
  height: 30px;
}

.remodal--estate .slick-prev {
  left: 3%;
}

.remodal--estate .slick-next {
  right: 3%;
}

.remodal--estate .slick-slide img {
  object-fit: cover;
  aspect-ratio: 642/360;
}

/* バナー */
.bnr-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: 1px solid #ccc;
}

.bnr-list__item--1 {
  width: 48%;
  transition: opacity 0.3s;
}

.bnr-list__item--1:hover {
  opacity: 0.8;
}

.bnr-list__item--2 {
  width: 100%;
}

@media screen and (max-width: 1400px) {
  .section-photo a {
    top: 110px;
  }
}

@media screen and (max-width: 980px) {
  .post .slide .thum li {
    width: calc((99.9% - 50px) / 6);
  }
  .post .slide .thum li:nth-child(6n) {
    margin-right: 0;
  }
  .post .slide .thum li:nth-child(8n) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 750px) {
  .bnr-list__item--1 {
    width: 100%;
  }

  .about__comment {
    font-size: 14px;
  }
  .index .head {
    margin-bottom: 50px;
  }
  .index .head .cap {
    margin-bottom: 33px;
  }
  .index .head ul li {
    width: calc((99.9% - 20px) / 2);
  }
  .index .head ul li a {
    font-size: 15px;
    padding: 16px 30px 18px 10px;
    background: rgba(255, 255, 255, 0.8) url(../imgs/common/arrow_link.svg)
      no-repeat right 20px center;
    background-size: 11px 18px;
  }
  .index .head ul li a:hover {
    background-position: right 15px center;
  }

  .modelhouse__introContents-box {
    margin: 0 auto;
  }

  /* アーカイブ↓ */
  .postlist__item {
    width: 710px;
  }
  /* アーカイブ↑ */

  .about-wrap {
    width: 100%;
    margin-bottom: 20px;
  }
  .about-flex {
    padding-bottom: 30px;
  }
  .modal-photo {
    width: 100%;
  }
  .price-list dd {
    font-size: 30px;
    padding-bottom: 5px;
  }
  .post-head #example {
    padding: 25px 25px;
  }

  .post-head .links {
    max-width: 100%;
  }
  .post-head .links li .link {
    max-width: 100%;
    padding: 18px 10px 18px 20px;
  }
  .post-head .links li .link span {
    letter-spacing: 0.1em;
  }

  .post .slide .main {
    margin-bottom: 10px;
  }
  .post .slide .thum li {
    width: calc((99.9% - 15px) / 4);
    margin-right: 5px;
    margin-bottom: 5px;
  }
  .post .slide .thum li:nth-child(4n) {
    margin-right: 0;
  }
  .post .slide .thum li:nth-child(6n) {
    margin-right: 5px;
  }

  .location .text {
    width: 100%;
    margin-bottom: 30px;
  }
  .location .text h2 {
    margin-bottom: 26px;
  }
  .location .text .in {
    padding-left: 0;
  }
  .location .text table th {
    width: 100px;
  }

  .post .section .text {
    width: 100%;
    margin-bottom: 30px;
  }
  .post .section .text h2 {
    margin-bottom: 26px;
  }
  .post .section .text .in {
    padding-left: 0;
  }
  .post .section .text table:not(:last-child) {
    margin-bottom: 21px;
  }
  .section-photo {
    width: 100%;
  }

  .post .detail .text {
    width: 100%;
    margin-bottom: 30px;
  }
  .post .detail .text h2 {
    margin-bottom: 26px;
  }
  .post .detail .text .in {
    padding-left: 0;
  }
  .post .detail .text table th {
    width: 100px;
  }
  .post .detail .map {
    width: 100%;
  }
}
