@charset "UTF-8";
/*-------------
vars
-------------*/
:root {
  /* text & font */
  --font-sans-serif: "Noto Sans JP", sans-serif;
  --font-en: "Poppins", sans-serif;
  --font-size_medium: 2.4rem;
  --font-size_normal: 1.6rem;
  /* color & text */
  --main-black: #000;
  --title-black: #1a1a1a;
  --text-black: #444;
  --text-gray: #666;
  --main-light-blue: #06a8e6;
  --main-yellow: #fff100;
  --main-orange: #f7931e;
  --bg-light-brown: #eadfdc;
  --bg-yellow: #fffed9;
  --text-brown: #534741;
  --border-gray: #ccc;
  --bg-gray: #f2f2f2;
  --bg-light-gray: #f7f7f7;
  /* size & space */
  --outer-width: 1500px;
  --inner-width: 1000px;
  --inner-width--sp: 93.75vw;
  --inner-sidespace--sp: 3.125vw;
}

@media screen and (max-width: 768px) {
  /*--- sp ---*/
  :root {
    /* text & font */
    --font-size_medium: 1.6rem;
    --font-size_normal: max(1.2rem,10px);
    /* size & space */
    --outer-width: 100%;
    --inner-width: var(--inner-width--sp);
  }
}
/*-------------
housing
-------------*/
#contents.housing {
  display: block;
  padding: 60px 0 120px;
  color: var(--text-black);
  font-size: var(--font-size_normal);
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  #contents.housing {
    padding: 20px 0 60px;
  }
}
#contents.housing *,
#contents.housing ::before,
#contents.housing ::after {
  box-sizing: border-box;
}
#contents.housing .keen-slider-arrow--left {
  left: 0;
}
#contents.housing .keen-slider-arrow--right {
  right: 0;
}

.housing :is(h1, h2, h3, h4, h5, h6) {
  color: var(--title-black);
  font-family: var(--font-sans-serif);
  font-feature-settings: "palt" 1;
  line-height: 1.36;
  letter-spacing: 0.06em;
}
.housing *:has(> wbr) {
  word-break: keep-all;
}
.housing .textBold {
  color: var(--title-black);
  font-weight: bold;
}
.housing .fontEn {
  font-family: var(--font-en) !important;
}
.housing .kerningLeft {
  margin-left: -0.5em;
}
.housing .kerningRight {
  margin-right: -0.5em;
}
.housing img {
  width: auto;
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .housing img {
    width: 100%;
  }
}
.housing-lead {
  max-width: var(--outer-width);
  margin: 0 auto 40px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .housing-lead {
    max-width: var(--inner-width);
    margin-bottom: 20px;
  }
}
.housing-lead__logo {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .housing-lead__logo {
    margin-bottom: 15px;
  }
}
.housing-lead__logo img {
  width: auto;
  height: auto;
  max-width: 60%;
  max-height: 50%;
}
.housing-lead__catch {
  display: block;
  margin-bottom: 17px;
  font-family: var(--font-sans-serif);
  font-size: 30px;
  font-weight: bold;
  line-height: calc(1em + 8px);
}
@media only screen and (max-width: 768px) {
  .housing-lead__catch {
    margin-bottom: 9px;
    font-size: 2.2rem;
  }
}
.housing-lead__catch.fontEn {
  font-size: 36px;
  line-height: 1.1;
}
@media only screen and (max-width: 768px) {
  .housing-lead__catch.fontEn {
    font-size: 2.4rem;
  }
}
.housing-lead-body {
  font-feature-settings: "palt" 1;
  line-height: calc(1em + 16px);
}
@media only screen and (max-width: 768px) {
  .housing-lead-body {
    line-height: calc(1em + 11px);
  }
}
.housing-lead-body p:not(:last-child) {
  margin-bottom: 9px;
}
@media only screen and (max-width: 768px) {
  .housing-lead-body p:not(:last-child) {
    margin-bottom: 14px;
  }
}
.housing-sect {
  margin-top: 60px;
  counter-reset: pointNum;
}
@media only screen and (max-width: 768px) {
  .housing-sect {
    margin-top: 40px;
  }
}
.housing-sect:not(:last-child) {
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .housing-sect:not(:last-child) {
    margin-bottom: 60px;
  }
}
.housing-sect-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--outer-width);
  margin: 0 auto 40px;
  padding: 20px 0;
  background: var(--bg-light-brown);
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .housing-sect-title {
    margin-bottom: 20px;
    padding: 10px var(--inner-sidespace--sp) 12px;
  }
}
.housing-sect-title__main {
  display: block;
  padding-bottom: 3px;
  border-bottom: solid 4px var(--main-orange);
  font-size: 32px;
  font-weight: 500;
  line-height: calc(1em + 5px);
}
@media only screen and (max-width: 768px) {
  .housing-sect-title__main {
    border-bottom-width: 2px;
    font-size: 1.9rem;
  }
}
.housing-sect-title__main.fontEn {
  font-size: 36px;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 768px) {
  .housing-sect-title__main.fontEn {
    font-size: 2.1rem;
  }
}
.housing-sect-title__sub {
  display: block;
  margin: 8px 0 3px;
  font-size: 1.6rem;
  line-height: calc(1em + 5px);
}
@media only screen and (max-width: 768px) {
  .housing-sect-title__sub {
    margin: 7px 0 0;
    font-size: 1.2rem;
  }
}
.housing-sect-title[data-en]::after {
  display: block;
  margin: 10px 0 4px;
  font-family: var(--font-en);
  font-size: var(--font-size_normal);
  font-weight: 500;
  line-height: calc(1em + 4px);
  letter-spacing: 0.2em;
  content: attr(data-en);
}
@media only screen and (max-width: 768px) {
  .housing-sect-title[data-en]::after {
    margin: 5px 0 1px;
  }
}
.housing-sect-visual {
  width: var(--inner-width);
  margin: 40px auto;
}
@media only screen and (max-width: 768px) {
  .housing-sect-visual {
    width: calc(100% - var(--inner-sidespace--sp));
    margin: 20px auto 20px 0;
  }
}
.housing-sect-visual:has(.housing-sect-visual__sub) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media only screen and (max-width: 768px) {
  .housing-sect-visual:has(.housing-sect-visual__sub) {
    gap: 4px;
  }
}
.housing-sect-visual__sub {
  flex: 0 0 auto;
  width: calc(50% - 4px);
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .housing-sect-visual__sub {
    width: calc(50% - 2px);
  }
}
.housing-sect-visual__sub img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.housing-columns {
  display: flex;
  justify-content: flex-start;
  gap: 30px;
  width: var(--inner-width);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .housing-columns {
    flex-direction: column;
    gap: 15px;
  }
}
.housing-columns:not(:last-child) {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .housing-columns:not(:last-child) {
    margin-bottom: 20px;
  }
}
.housing-columns:has(.housing__pic-column:nth-child(2n)) {
  justify-content: flex-end;
}
.housing__pic-column {
  flex: 0 0 auto;
  max-width: 420px;
}
@media only screen and (max-width: 768px) {
  .housing__pic-column {
    order: -1;
    max-width: 100%;
    background: var(--bg-light-gray);
  }
}
.housing__pic-column img {
  max-height: 420px;
}
@media only screen and (max-width: 768px) {
  .housing__pic-column img {
    display: block;
    width: auto;
    max-width: 70%;
    max-height: 56.25vw;
    margin: 0 auto;
  }
}
.housing__column {
  flex: 1 1 auto;
  max-width: var(--inner-width);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .housing__column {
    max-width: var(--inner-width--sp);
  }
}
.housing__column-title {
  margin-bottom: 15px;
  font-size: var(--font-size_medium);
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .housing__column-title {
    margin-bottom: 7px;
  }
}
.housing__column-title.is--on_point::before {
  display: block;
  margin-bottom: 5px;
  color: var(--main-orange);
  font-family: var(--font-en);
  font-size: var(--font-size_normal);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  content: "POINT." counter(pointNum, decimal-leading-zero);
  counter-increment: pointNum;
}
.housing__column p:not(:last-child) {
  margin-bottom: 0.5em;
}
.housing-dtl {
  max-width: var(--outer-width);
  margin: 0 auto;
  padding: 40px 0;
  background: var(--bg-gray);
}
@media only screen and (max-width: 768px) {
  .housing-dtl {
    padding: 25px var(--inner-sidespace--sp);
  }
}
.housing-dtl:not(:first-child) {
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl:not(:first-child) {
    margin-top: 20px;
  }
}
.housing-dtl:not(:last-child) {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl:not(:last-child) {
    margin-bottom: 20px;
  }
}
.housing-dtl-inner {
  display: flex;
  gap: 40px;
  width: var(--inner-width);
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-inner {
    flex-direction: column;
    gap: 15px;
  }
}
.housing-dtl-inner:not(:first-child) {
  margin-top: 25px;
  padding-top: 30px;
  border-top: solid 1px var(--border-gray);
}
@media only screen and (max-width: 768px) {
  .housing-dtl-inner:not(:first-child) {
    margin-top: 15px;
    padding-top: 20px;
  }
}
.housing-dtl-inner p {
  line-height: calc(1em + 9px);
}
.housing-dtl-map {
  flex: 0 0 calc(50% - 20px);
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-map {
    flex: 0 0 100%;
    width: 100%;
  }
}
.housing-dtl-map.is--bg_arie {
  background: #f3ebde;
}
.housing-dtl-map:has(> img), .housing-dtl-map a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.housing-dtl-map img {
  max-height: 280px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-map img {
    max-height: 180px;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.housing-dtl-title {
  margin-bottom: 15px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-title {
    margin-bottom: 10px;
  }
}
.housing-dtl-title-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.6em;
  margin-bottom: 2px;
  font-size: var(--font-size_normal);
  line-height: calc(1em + 5px);
}
.housing-dtl-title-head__main {
  flex: 0 0 auto;
}
.housing-dtl-title-head__sub {
  font-weight: normal;
}
.housing-dtl-title-body {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: var(--font-size_medium);
}
.housing-dtl-title-body__main {
  margin-right: 0.25em;
}
.housing-dtl-title-body__sub {
  display: inline-block;
  font-size: max(0.6em, var(--font-size_normal));
  font-weight: normal;
  line-height: 1;
}
.housing-dtl-list {
  display: grid;
  grid-template-columns: repeat(3, 324px);
  gap: 14px;
  max-width: var(--inner-width);
  margin: 0 auto;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list {
    grid-template-columns: repeat(999, 1fr);
    gap: 0;
    border-radius: 7px;
  }
  .housing-dtl-list.keen-slider {
    display: grid !important;
  }
}
@media only screen and (min-width: 769px) {
  .housing-dtl-list:has(.housing-dtl-list-item:nth-child(2):last-child) {
    width: 662px;
  }
}
.housing-dtl-list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0;
  padding: 20px;
  border-radius: 7px;
  background: var(--bg-gray);
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item {
    padding: 15px 15px 20px;
    border-radius: 0;
  }
}
.housing-dtl-list-item-title {
  margin-bottom: 18px;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item-title {
    margin-bottom: 15px;
  }
}
.housing-dtl-list-item-title__main {
  display: block;
  font-size: 2.7rem;
  line-height: calc(1em + 4px);
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item-title__main {
    font-size: 2rem;
  }
}
.housing-dtl-list-item-title__sub {
  display: block;
  margin-top: 3px;
  font-size: var(--font-size_normal);
  line-height: calc(1em + 6px);
}
.housing-dtl-list-item__visual {
  width: 100%;
  aspect-ratio: 3/2;
  margin-bottom: 15px;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item__visual {
    margin-bottom: 10px;
  }
}
.housing-dtl-list-item__visual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.housing-dtl-list-item__map {
  background: #fff;
}
.housing-dtl-list-item__map:has(> img), .housing-dtl-list-item__map a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.housing-dtl-list-item__map img {
  max-height: 180px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item__map img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.housing-dtl-list-item-body {
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item-body {
    margin-top: 15px;
  }
}
.housing-dtl-list-item-body:not(:last-child) {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item-body:not(:last-child) {
    margin-bottom: 10px;
  }
}
.housing-dtl-list-item-body p:not(:last-child) {
  margin-bottom: 0.5em;
}
.housing-dtl-list-item__catch {
  font-size: 1.8rem;
  line-height: calc(1em + 6px);
}
@media only screen and (max-width: 768px) {
  .housing-dtl-list-item__catch {
    font-size: 1.4rem;
  }
}
.housing-dtl-list-item__catch:not(:last-child) {
  margin-bottom: 8px;
}
.housing-point-list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  width: var(--inner-width);
  margin: 30px auto;
  counter-reset: pointNum;
}
@media only screen and (max-width: 768px) {
  .housing-point-list {
    flex-direction: column;
    margin: 20px auto;
  }
}
.housing-point-list-item {
  flex: 0 0 auto;
  width: calc((100% - 28px) / 3);
  padding: 20px 24px 25px;
  border: solid 1px var(--border-gray);
  border-radius: 7px;
}
@media only screen and (max-width: 768px) {
  .housing-point-list-item {
    width: 100%;
    padding: 15px 14px 20px;
  }
}
.housing-point-list-item__icon {
  float: right;
  margin: 0 -5px 10px 10px;
}
.housing-point-list-item-title {
  margin-bottom: 17px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: calc(1em + 8px);
}
@media only screen and (max-width: 768px) {
  .housing-point-list-item-title {
    margin-bottom: 11px;
    font-size: 1.6rem;
    line-height: calc(1em + 6px);
  }
}
.housing-point-list-item-title::before {
  display: block;
  margin-bottom: 5px;
  color: var(--main-orange);
  font-family: var(--font-en);
  font-size: var(--font-size_normal);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  content: "POINT." counter(pointNum, decimal-leading-zero);
  counter-increment: pointNum;
}
.housing-point-list-item-body p:not(:last-child) {
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 769px) {
  .housing-point-list.is--pc-columns_2 .housing-point-list-item {
    flex: 1 0 auto;
    width: calc(50% - 7px);
  }
}
.housing-map-link {
  display: block;
  position: relative;
}
.housing-map-link::after {
  filter: drop-shadow(0 0 5px #fff);
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 24px;
  aspect-ratio: 1/1;
  background: url(../../images/icon_zoom.svg) no-repeat center/contain;
  content: "";
}
.housing-data-table {
  line-height: calc(1em + 10px);
}
.housing-data-table:not(:last-child) {
  margin-bottom: 15px;
}
@media only screen and (max-width: 768px) {
  .housing-data-table:not(:last-child) {
    margin-bottom: 10px;
  }
}
.housing-data-table th {
  font-weight: 500;
  color: var(--title-black);
}
.housing-data-table th:after {
  float: right;
  margin-left: 0.04em;
  font-weight: normal;
  content: "：";
}
.housing-data-table td {
  text-align: right;
}
.housing-data-table td::after {
  content: "　";
}
.housing-data-table td:not(:last-child):not(:has(+ td:empty))::after {
  content: "／";
}
/*# sourceMappingURL=styles.css.map */