@charset "UTF-8";
/*
  File Name   : top.css
  Description : Write top content styles
*/
/* TOP 共通パーツ
============================================================ */
.top #lay-main {
  padding-bottom: 200px;
}
@media only screen and (max-width: 1024px) {
  .top #lay-main {
    padding-bottom: 135px;
  }
}
.top .top-sectionBlock {
  width: min(calc(100% - (var(--sidePadding_base) * 2)), 1400px);
  background-color: var(--color_sub);
  border-radius: 30px;
  padding: 80px 0 100px;
  margin: 100px auto 0;
}
@media only screen and (max-width: 1024px) {
  .top .top-sectionBlock {
    padding: 60px 0 80px;
    margin-top: 80px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top .top-sectionBlock {
    width: min(calc(100% - (var(--sidePadding_base_mbl) * 2)), 1400px);
  }
}
@media only screen and (max-width: 599px) {
  .top .top-sectionBlock {
    width: min(calc(100% - (5px * 2)), 1400px);
  }
}
.top .top-sectionBlockInner {
  width: min(100%, calc(var(--width_base) + (var(--sidePadding_base) * 2)));
  padding: 0 var(--sidePadding_base) 0;
  margin: 0 auto 0;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top .top-sectionBlockInner {
    padding: 0 var(--sidePadding_base_mbl) 0;
  }
}
@media only screen and (max-width: 599px) {
  .top .top-sectionBlockInner {
    padding: 0 15px 0;
  }
}
.top .top-sectionBlockInner:has(.com-realEstateNoneTxt) .top-sectionBlock-lead,
.top .top-sectionBlockInner:has(.com-realEstateNoneTxt) .top-sectionBlock-moreBtn {
  display: none !important;
  pointer-events: none !important;
}
.top .top-sectionBlock .top-sectionBlock-lead {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-indent: 0.07em;
  text-align: center;
  margin: 30px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top .top-sectionBlock .top-sectionBlock-lead {
    font-size: 18px;
    letter-spacing: 0.04em;
    text-indent: 0.04em;
  }
}
.top .top-sectionBlock .top-sectionBlock-contentsBlock {
  margin: 47px 0 0;
}
.top .top-sectionBlock .top-sectionBlock-contentsBlock:has(.com-realEstateNoneTxt) {
  margin-top: 0 !important;
}
.top .top-sectionBlock .top-sectionBlock-moreBtn {
  margin: 53px auto 0;
}
@media only screen and (max-width: 1024px) {
  .top .top-sectionBlock .top-sectionBlock-moreBtn {
    margin-top: 58px;
  }
}
.top .top-moreBtn {
  max-width: 300px;
}

/* KV
============================================================ */
.top-kv {
  position: relative;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.top-kv::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(6, 29, 4, 0.15);
  pointer-events: none;
}
.top-kv .top-kv-slide {
  display: block;
  width: 100%;
  font-size: 0;
  line-height: 0;
}
.top-kv .top-kv-slide .top-kv-slide-item {
  display: block;
  width: 100%;
}
.top-kv .top-kv-slide .top-kv-slide-item .top-kv-slide-item-img {
  position: relative;
  display: block;
  width: 100%;
  height: calc(100vh - var(--height-header));
  height: calc(100dvh - var(--height-header));
  min-height: 450px;
}
@media only screen and (max-width: 1024px) {
  .top-kv .top-kv-slide .top-kv-slide-item .top-kv-slide-item-img {
    height: calc(100vh - var(--height-header_mbl));
    height: calc(100dvh - var(--height-header_mbl));
  }
}
.top-kv .top-kv-slide .top-kv-slide-item .top-kv-slide-item-img > img {
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.top-kv .top-kv-catch {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: 100%;
  font-size: 70px;
  top: 0;
  left: 0;
  padding: 1em;
  z-index: 1;
  -webkit-animation-duration: 2.4s;
          animation-duration: 2.4s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .top-kv .top-kv-catch {
    font-size: min(6.8vw, 70px);
  }
}
@media only screen and (max-width: 599px) {
  .top-kv .top-kv-catch {
    font-size: clamp(31px, 9.8vw, 40px);
    padding: 1em 0.5em;
  }
}
.top-kv .top-kv-catch .top-kv-catch-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  color: #fff;
  font-size: inherit;
  font-weight: 800;
  line-height: 1.5em;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
  text-align: center;
  text-shadow: 0px 0px 10px rgba(6, 13, 2, 0.8);
}
.top-kv .top-kv-catch .top-kv-catch-row > span {
  display: block;
}

/* CHINTAI
============================================================ */
/* BAIBAI
============================================================ */
/* NEWS
============================================================ */
.top-news {
  padding: 100px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-news {
    padding: 80px 0 0;
  }
}
.top-news .com-news-list {
  margin: 30px 0 0;
}
@media only screen and (max-width: 599px) {
  .top-news .com-news-list {
    margin-top: 16px;
  }
}
.top-news .com-news-list > ul {
  border-top: none;
}
.top-news .com-noneText {
  text-align: center;
  text-indent: var(--letterSpacing_base);
}
.top-news .top-news-boreBtn {
  margin: 50px auto 0;
}

/* LINK BANNERS
============================================================ */
.top-linkBanners {
  padding: 130px 0 0;
}
@media only screen and (max-width: 1024px) {
  .top-linkBanners {
    padding: 100px 0 0;
  }
}
.top-linkBannersInner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23px 38px;
}
@media only screen and (max-width: 1024px) {
  .top-linkBannersInner {
    gap: 8px 9px;
  }
}
@media only screen and (max-width: 599px) {
  .top-linkBannersInner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-linkBanners .linkBanner {
  border: 1px solid #A8A8A8;
  background-color: #fff;
}