@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
.c-pageTitle {
  font-size: calc(24 / 16 * 1rem);
  text-align: center;
}
@media (min-width: 768px) {
  .c-pageTitle {
    font-size: calc(40 / 16 * 1rem);
  }
}

/* =========================
  物件サマリー（カテゴリ＋タイトル）
========================= */
.property__summary {
  width: 100%;
  max-width: calc(784 / 16 * 1rem);
  margin-inline: auto;
  padding-inline: 0;
  padding-top: calc(8 / 16 * 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(6 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property__summary {
    padding-top: calc(10 / 16 * 1rem);
    gap: calc(8 / 16 * 1rem);
  }
}

.property__category {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: calc(10 / 16 * 1rem);
  padding-block: calc(4 / 16 * 1rem);
  font-size: calc(12 / 16 * 1rem);
  font-weight: 500;
  color: #2a5eb7;
  background: #ffffff;
  border: 1px solid #2a5eb7;
  border-radius: calc(6 / 16 * 1rem);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .property__category {
    font-size: calc(13 / 16 * 1rem);
    padding-inline: calc(12 / 16 * 1rem);
    padding-block: calc(4 / 16 * 1rem);
  }
}

.property__name {
  margin: 0;
  font-size: calc(20 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.5;
  color: #222;
}
@media (min-width: 768px) {
  .property__name {
    font-size: calc(24 / 16 * 1rem);
  }
}

/* =================================================
  Property Visual (Main top / Thumbs bottom)
================================================= */
.property__visual {
  max-width: calc(calc(784 / 16 * 1rem) + calc(16 / 16 * 1rem) * 2);
  margin-inline: auto;
  padding-inline: calc(16 / 16 * 1rem);
  padding-block: calc(24 / 16 * 1rem);
}

.property__visual-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(12 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property__visual-inner {
    gap: calc(16 / 16 * 1rem);
  }
}
@media (min-width: 1024px) {
  .property__visual-inner {
    gap: calc(20 / 16 * 1rem);
  }
}

/* --------------------
  Main
-------------------- */
.property__visual-main {
  width: 100%;
}

.js-property-swiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.js-property-swiper .swiper-wrapper {
  width: 100%;
}

.js-property-swiper .swiper-slide {
  width: 100%;
}

.property__image {
  margin: 0;
}

.property__image img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.property__image--main img {
  aspect-ratio: 4/3;
}

/* --------------------
  Pagination（画像とサムネの間）
-------------------- */
.js-property-swiper .swiper-pagination {
  position: static;
  margin-top: calc(10 / 16 * 1rem);
  text-align: center;
}

/* =================================================
  Thumbs（ボタン｜サムネ｜ボタン）
  ✅ 写真幅に揃える（= property__visual の中で 100%）
  ✅ チラつき対策（swiper-initialized まで隠す）
================================================= */
.property__visual-sub {
  width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: calc(30 / 16 * 1rem) 1fr calc(30 / 16 * 1rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10 / 16 * 1rem);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 768px) {
  .property__visual-sub {
    gap: calc(12 / 16 * 1rem);
  }
}

/* フェード撤去 */
.property__visual-sub::before,
.property__visual-sub::after {
  content: none;
}

/* サムネSwiper（中央列） */
.property__swiper-thumbs {
  min-width: 0;
}

/* 初期化前のチラつき防止 */
.js-property-thumbs {
  width: 100%;
  overflow: hidden;
  padding-inline: calc(12 / 16 * 1rem);
  opacity: 0;
}

.js-property-thumbs.swiper-initialized {
  opacity: 1;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

.js-property-thumbs .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

/* サムネ */
.js-property-thumbs .swiper-slide {
  width: calc(104 / 16 * 1rem);
  position: relative;
  opacity: 1;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 768px) {
  .js-property-thumbs .swiper-slide {
    width: calc(120 / 16 * 1rem);
  }
}
@media (min-width: 1024px) {
  .js-property-thumbs .swiper-slide {
    width: calc(128 / 16 * 1rem);
  }
}

/* 既存の枠を無効化 */
.js-property-thumbs .swiper-slide,
.js-property-thumbs .swiper-slide-thumb-active,
.js-property-thumbs .property__image--thumb,
.js-property-thumbs .property__image--thumb img {
  outline: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border: none !important;
}

/* サムネ枠 */
.property__image--thumb {
  width: 100%;
}

.property__image--thumb img {
  aspect-ratio: 4/3;
}

/* 高さ揃え */
.js-property-thumbs .swiper-slide .property__image {
  height: 100%;
}

/* active 枠（擬似要素） */
.js-property-thumbs .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  border: calc(3 / 16 * 1rem) solid transparent;
  border-radius: calc(4 / 16 * 1rem);
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.js-property-thumbs .swiper-slide-thumb-active::after {
  border-color: #2a5eb7;
}

/* 左右ボタン（サムネ） */
.property__thumb-nav {
  width: calc(30 / 16 * 1rem);
  height: calc(96 / 16 * 1rem);
  border: 1px solid #d2d7e0;
  background-color: #d2d7e0;
  cursor: pointer;
  opacity: 1;
  justify-self: center;
  position: relative;
  z-index: 2;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.property__thumb-nav--prev {
  background: #d2d7e0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z'/%3E%3C/svg%3E") no-repeat center center/calc(22 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem) calc(0 / 16 * 1rem) calc(0 / 16 * 1rem) calc(4 / 16 * 1rem);
}

.property__thumb-nav--next {
  background: #d2d7e0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='m8.59 16.59 1.41 1.41L16 12 10 6 8.59 7.41 13.17 12z'/%3E%3C/svg%3E") no-repeat center center/calc(22 / 16 * 1rem);
  border-radius: calc(0 / 16 * 1rem) calc(4 / 16 * 1rem) calc(4 / 16 * 1rem) calc(0 / 16 * 1rem);
}

.property__thumb-nav.swiper-button-disabled {
  background-color: #f1f2f6;
  border-color: #f1f2f6;
  cursor: default;
  pointer-events: none;
  opacity: 1;
}

.property__thumb-nav--prev.swiper-button-disabled {
  background: #f1f2f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z'/%3E%3C/svg%3E") no-repeat center center/calc(22 / 16 * 1rem);
}

.property__thumb-nav--next.swiper-button-disabled {
  background: #f1f2f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='m8.59 16.59 1.41 1.41L16 12 10 6 8.59 7.41 13.17 12z'/%3E%3C/svg%3E") no-repeat center center/calc(22 / 16 * 1rem);
}

@media (min-width: 768px) {
  .property__thumb-nav:hover {
    background-color: #c4c9d4;
    border-color: #c4c9d4;
  }
}

/* --------------------
  Swiper UI（メインの矢印）
-------------------- */
@media (max-width: 767px) {
  .js-property-swiper .swiper-button-prev,
  .js-property-swiper .swiper-button-next {
    display: none;
  }
}

.property__visual .swiper-button-prev,
.property__visual .swiper-button-next {
  background: rgba(0, 0, 0, 0.4);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: 0;
  outline: none;
}
@media (min-width: 768px) {
  .property__visual .swiper-button-prev,
  .property__visual .swiper-button-next {
    width: calc(40 / 16 * 1rem);
    height: calc(80 / 16 * 1rem);
  }
}

.property__visual .swiper-button-prev {
  border-radius: 0 calc(40 / 16 * 1rem) calc(40 / 16 * 1rem) 0;
  left: 0;
}

.property__visual .swiper-button-next {
  border-radius: calc(40 / 16 * 1rem) 0 0 calc(40 / 16 * 1rem);
  right: 0;
}

.property__visual .swiper-button-prev::after,
.property__visual .swiper-button-next::after {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}

.swiper-button-next::after {
  padding-left: calc(6 / 16 * 1rem);
}

.swiper-button-prev::after {
  padding-right: calc(6 / 16 * 1rem);
}

.property__visual .swiper-button-prev:hover,
.property__visual .swiper-button-next:hover {
  background: rgba(0, 0, 0, 0.55);
}

/* 無効状態：メインの矢印は非表示 */
.js-property-swiper .swiper-button-disabled {
  display: none;
}

/* =================================================
  物件概要（テーブル）
================================================= */
.property-spec {
  padding: calc(24 / 16 * 1rem) 0;
  background: #fff;
}

.property-spec__inner {
  width: 100%;
  max-width: calc(calc(784 / 16 * 1rem) + calc(16 / 16 * 1rem) * 2);
  margin-inline: auto;
  padding-inline: calc(16 / 16 * 1rem);
}

.property-spec__title {
  margin: calc(24 / 16 * 1rem) 0 calc(12 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .property-spec__title {
    margin: calc(32 / 16 * 1rem) 0 calc(14 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}

.spec-table {
  width: 100%;
  border: 1px solid #dcdcdc;
  border-radius: calc(2 / 16 * 1rem);
  overflow: hidden;
  background: #fff;
}

.spec-row {
  display: grid;
  grid-template-columns: calc(120 / 16 * 1rem) 1fr;
  border-top: 1px solid #dcdcdc;
}
@media (min-width: 768px) {
  .spec-row {
    grid-template-columns: calc(140 / 16 * 1rem) 1fr;
  }
}

.spec-row:first-child {
  border-top: 0;
}

.spec-th {
  padding: calc(12 / 16 * 1rem) calc(12 / 16 * 1rem);
  background: #f0f0f0;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.6;
  color: #333;
  border-right: 1px solid #dcdcdc;
}

.spec-td {
  padding: calc(12 / 16 * 1rem) calc(12 / 16 * 1rem);
  background: #fff;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  color: #111;
}

.spec-subtext {
  margin-top: calc(4 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.6;
  color: #555;
}

.spec-row--double {
  grid-template-columns: calc(120 / 16 * 1rem) 1fr;
}
@media (min-width: 768px) {
  .spec-row--double {
    grid-template-columns: calc(140 / 16 * 1rem) 1fr calc(140 / 16 * 1rem) 1fr;
  }
}

/* SP：ダブル行は2段 */
.spec-row--double .spec-th:nth-child(3) {
  border-top: 1px solid #dcdcdc;
}
@media (min-width: 768px) {
  .spec-row--double .spec-th:nth-child(3) {
    border-top: 0;
    border-left: 1px solid #dcdcdc;
  }
}

.spec-row--double .spec-td:nth-child(4) {
  border-top: 1px solid #dcdcdc;
}
@media (min-width: 768px) {
  .spec-row--double .spec-td:nth-child(4) {
    border-top: 0;
  }
}

.spec-table--overview {
  margin-bottom: calc(18 / 16 * 1rem);
}
@media (min-width: 768px) {
  .spec-table--overview {
    margin-bottom: calc(21 / 16 * 1rem);
  }
}

.spec-table--feature {
  margin-bottom: calc(60 / 16 * 1rem);
}

/* =========================
  物件詳細（ACF）だけ
  content下余白を消す
========================= */
.single-property #content {
  margin-bottom: 0;
}

/* =========================
  おすすめ物件
========================= */
.recommend__inner {
  width: 100%;
  max-width: calc(1080 / 16 * 1rem);
  margin-inline: auto;
  padding-inline: calc(16 / 16 * 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(24 / 16 * 1rem);
}
@media (min-width: 768px) {
  .recommend__inner {
    padding-inline: calc(24 / 16 * 1rem);
    gap: calc(28 / 16 * 1rem);
  }
}

.recommend__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(10 / 16 * 1rem);
}
@media (min-width: 768px) {
  .recommend__head {
    gap: calc(12 / 16 * 1rem);
  }
}

.recommend__title {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: #333;
  text-align: center;
  font-size: calc(22 / 16 * 1rem) !important;
  font-weight: 700;
  line-height: 1.4;
}
.recommend__title::before, .recommend__title::after {
  content: none;
}
@media (min-width: 768px) {
  .recommend__title {
    font-size: calc(26 / 16 * 1rem) !important;
  }
}

.recommend__lead {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.8;
  text-align: center;
  color: #555;
}
@media (min-width: 768px) {
  .recommend__lead {
    font-size: calc(15 / 16 * 1rem);
  }
}

.recommend__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(16 / 16 * 1rem);
  width: 100%;
  max-width: calc(1080 / 16 * 1rem);
  margin-inline: auto;
}
@media (min-width: 768px) {
  .recommend__list {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(18 / 16 * 1rem);
    padding-bottom: calc(16 / 16 * 1rem);
  }
}

.post_content .recommend__title,
.post_content .property-card__name {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: #333;
}
.post_content .recommend__title::before, .post_content .recommend__title::after,
.post_content .property-card__name::before,
.post_content .property-card__name::after {
  content: none !important;
}

/* =========================
  物件カード
========================= */
.property-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #ffffff;
  border: 1px solid #e0e6f0;
  border-radius: calc(8 / 16 * 1rem);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.property-card__thumb {
  width: 100%;
  aspect-ratio: 4/3;
  background: #f3f3f3;
  overflow: hidden;
}

.property-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.property-card:hover .property-card__thumb img,
.property-card:focus-visible .property-card__thumb img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.property-card__body {
  padding: calc(14 / 16 * 1rem) calc(14 / 16 * 1rem) calc(20 / 16 * 1rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(4 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-card__body {
    padding: calc(16 / 16 * 1rem) calc(16 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}

.property-card--athome .property-card__body {
  gap: calc(6 / 16 * 1rem);
}

.property-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(4 / 16 * 1rem);
}

.property-card__badge {
  -ms-flex-item-align: start;
      align-self: flex-start;
  font-size: calc(13 / 16 * 1rem);
  line-height: 1;
  padding: calc(8 / 16 * 1rem) calc(12 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem);
  background: #fff;
  color: #2a5eb7;
  border: solid 1px #2a5eb7;
  font-weight: 700;
}

.property-card__badge--list {
  background: #c7e0f4;
  color: #3a4759;
}

/* 種別バッジ：カラー出し分け */
.property-card__badge--mansion,
.property-card__badge--kodate,
.property-card__badge--land,
.property-card__badge--chintai,
.property-card__badge--default {
  border: none;
}
.property-card__badge--mansion {
  background: #dce8f8;
  color: #1a4a9a;
}
.property-card__badge--kodate {
  background: #d4edda;
  color: #1e5c2e;
}
.property-card__badge--land {
  background: #fde8d0;
  color: #c84b00;
}
.property-card__badge--chintai {
  background: #e8d5f5;
  color: #6a1b9a;
}
.property-card__badge--default {
  background: #c7e0f4;
  color: #3a4759;
}

.property-card__name {
  color: #333;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  min-height: calc(1.5em * 2); /* タイトル行数の差でボタンがずれないよう2行分確保 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768px) {
  .property-card__name {
    font-size: calc(20 / 16 * 1rem);
  }
}

.property-card__price {
  font-weight: 800;
  line-height: 1.2;
  color: #e84232;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: calc(2 / 16 * 1rem);
}

.property-card__price-num {
  font-size: calc(24 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-card__price-num {
    font-size: calc(26 / 16 * 1rem);
  }
}

.property-card__price-unit {
  font-size: calc(16 / 16 * 1rem);
}

.property-card__meta {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.4;
  color: #444;
  margin: 0;
}

.property-card__meta-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(2 / 16 * 1rem);
}

.property-card__meta-group--summary {
  min-height: calc(1.4em * 2);
}

.property-card__meta--summary {
  min-height: calc(1.4em * 2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.property-card--list {
  border: 1px solid #dce6f5;
  -webkit-box-shadow: 0 calc(10 / 16 * 1rem) calc(24 / 16 * 1rem) rgba(17, 40, 80, 0.08);
          box-shadow: 0 calc(10 / 16 * 1rem) calc(24 / 16 * 1rem) rgba(17, 40, 80, 0.08);
}

.property-card__meta--aspect {
  color: #444;
}

.property-card__athome-btn {
  margin-top: auto;
  padding: calc(11 / 16 * 1rem) calc(16 / 16 * 1rem);
  background: #e84232;
  color: #fff;
  font-size: calc(13 / 16 * 1rem);
  font-weight: 700;
  text-align: center;
  border-radius: calc(4 / 16 * 1rem);
  letter-spacing: 0.02em;
  transition: background 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: calc(5 / 16 * 1rem);
}

.property-card__btn-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1;
}

.property-card--athome:hover .property-card__athome-btn {
  background: #c0392b;
}

.recommend__list .property-card,
.property-list__cards .property-card,
.swell-block-fullWide__inner .recommend__list .property-card,
.swell-block-fullWide__inner .property-list__cards .property-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

/* =========================
  物件一覧ページ
========================= */
/* コンテンツラッパの下余白を消す (.l-content配下に.property-archiveがあるとき) */
.l-content:has(.property-archive) {
  margin-bottom: 0 !important;
}

.property-archive__inner {
  max-width: calc(1080 / 16 * 1rem);
  margin-inline: auto;
  padding: calc(40 / 16 * 1rem) calc(16 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-archive__inner {
    padding: calc(80 / 16 * 1rem) calc(24 / 16 * 1rem);
  }
}

.property-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(40 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-list {
    gap: calc(60 / 16 * 1rem);
  }
}

.property-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(12 / 16 * 1rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.property-list__title {
  font-size: calc(32 / 16 * 1rem);
  font-weight: 800;
  margin: 0;
}
@media (min-width: 768px) {
  .property-list__title {
    font-size: calc(40 / 16 * 1rem);
  }
}

.property-list__lead {
  font-size: calc(14 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-list__lead {
    font-size: calc(16 / 16 * 1rem);
  }
}

.property-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: calc(12 / 16 * 1rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: calc(20 / 16 * 1rem);
}
@media (min-width: 768px) {
  .property-filter {
    margin-top: calc(40 / 16 * 1rem);
  }
}

.property-filter__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(6 / 16 * 1rem);
  min-width: calc(160 / 16 * 1rem);
  height: calc(44 / 16 * 1rem);
  padding: 0 calc(16 / 16 * 1rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #2a5eb7;
  border-radius: calc(6 / 16 * 1rem);
  color: #2a5eb7;
  text-decoration: none;
  font-size: calc(14 / 16 * 1rem);
  font-weight: 700;
  background: #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  cursor: pointer;
}

.property-filter__button.is-active {
  background: #2a5eb7;
  color: #fff;
  border-color: #2a5eb7;
  cursor: default;
  pointer-events: none;
}

.property-filter a.property-filter__button:not(.is-active):hover,
.property-filter a.property-filter__button:not(.is-active):focus-visible {
  background: #2a5eb7 !important;
  color: #fff !important;
  border-color: #2a5eb7 !important;
  -webkit-box-shadow: 0 calc(6 / 16 * 1rem) calc(14 / 16 * 1rem) rgba(42, 94, 183, 0.18);
          box-shadow: 0 calc(6 / 16 * 1rem) calc(14 / 16 * 1rem) rgba(42, 94, 183, 0.18);
}

.property-list__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(16 / 16 * 1rem);
}
@media (min-width: 640px) {
  .property-list__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(18 / 16 * 1rem);
  }
}
@media (min-width: 992px) {
  .property-list__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(18 / 16 * 1rem);
  }
}

.property-list__pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.property-list__pager ul.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  margin: 0;
  gap: calc(12 / 16 * 1rem);
  list-style: none;
  background: transparent;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.property-list__pager a.page-numbers,
.property-list__pager span.page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: calc(38 / 16 * 1rem);
  height: calc(38 / 16 * 1rem);
  margin: 0;
  padding: 0 calc(10 / 16 * 1rem);
  border: 1px solid #2a5eb7;
  border-radius: calc(8 / 16 * 1rem);
  background: #fff;
  color: #2a5eb7;
  text-decoration: none;
  font-size: calc(15 / 16 * 1rem);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-box-shadow: 0 calc(2 / 16 * 1rem) calc(6 / 16 * 1rem) rgba(0, 0, 0, 0.05);
          box-shadow: 0 calc(2 / 16 * 1rem) calc(6 / 16 * 1rem) rgba(0, 0, 0, 0.05);
}

.property-list__pager .page-numbers.current {
  cursor: default;
  background: #2a5eb7;
  color: #fff;
  border-color: #2a5eb7;
  font-weight: 700;
}

.property-list__pager a.page-numbers:not(.current) {
  cursor: pointer;
}

.property-list__pager a.page-numbers:not(.current):hover {
  background: #2a5eb7;
  color: #fff;
  border-color: #2a5eb7;
}

.property-list__empty {
  text-align: center;
  color: #2a5eb7;
  padding: calc(20 / 16 * 1rem) 0;
}

.service_num {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: calc(20 / 16 * 1rem);
}

.post_content h3 {
  margin: 0;
}

/* =================================================
 * SWELL追加CSS移植
 * ================================================= */
/* 余白調整 */
body:not(.home) .l-mainContent__inner > .post_content {
  margin-top: 0;
}

.c-pageTitle {
  font-size: 1.7em;
  font-weight: 500;
}

@media (min-width: 600px) {
  .p-mainVisual__slideTitle {
    font-size: 36px;
  }
}
.c-pageTitle {
  font-size: 2em;
  font-weight: 600;
}

.-series .l-header__logo {
  padding-block: 10px;
}

.smf-item__col--label {
  padding-bottom: 0 !important;
}

.smf-item {
  padding-block: 1.2rem !important;
}

.smf-item:has([data-validations~=required]) .smf-item__label__text::after {
  content: " 　必須";
  color: #ff0000;
  font-size: 1rem;
}

.lead-text {
  max-width: 600px;
  margin-inline: auto;
}

.l-content {
  padding-top: 0;
  margin-bottom: 0;
}

/* パンくずリストの背景色 */
@media (min-width: 600px) {
  .p-breadcrumb__list {
    font-size: 12px;
  }
}
/* Topに戻るボタン */
.p-fixBtnWrap {
  right: 1.5em;
  bottom: 6.5em;
}

/* recaptcha */
.grecaptcha-badge {
  z-index: 9999;
  bottom: 10px !important;
}

.h2em {
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.card-text {
  height: 150px;
}

.wp-block-cover {
  margin-bottom: 0;
}

.company-logo {
  width: 250px;
}

.hukidashi {
  border-radius: 10px;
  position: relative;
  background-color: #ffffff;
  padding: 20px !important;
  margin-bottom: 30px;
}

.hukidashi::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 19%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #ffffff;
}

.with-tri {
  position: relative;
}

.with-tri::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 15px solid #d9d9d9;
}

.service_num {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 24px;
}

.img-margin img {
  margin-bottom: 6px !important;
}

.swell-block-button__link {
  border-radius: 8px !important;
  min-width: calc(160 / 16 * 1rem) !important;
}

.w-footer__box {
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
}

.footer-sitemap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  margin-top: auto;
}

.footer-links {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}

.l-footer__widgetArea {
  width: 100%;
  margin-inline: auto;
  max-width: 1080px;
}
@media (max-width: 1024px) {
  .l-footer__widgetArea {
    max-width: 400px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}

.flow-steps .wp-block-group__inner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.flow-card {
  min-height: 200px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}

.flow-num {
  -webkit-box-flex: 1.5;
      -ms-flex: 1.5;
          flex: 1.5;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  gap: 10px;
  padding-block: 30px;
  border-right: solid 2px #d9d9d9;
}

.flow-content {
  -webkit-box-flex: 7;
      -ms-flex: 7;
          flex: 7;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

.flow-img {
  min-width: 100px;
}

.solution-card {
  padding: 20px 40px !important;
}

/* スマホ向け */
@media (max-width: 600px) {
  .flow-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flow-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flow-text .wp-block-heading {
    text-align: center !important;
  }
  .flow-num {
    border-right: none;
    padding-inline: 120px;
    border-bottom: solid 2px #d9d9d9;
  }
}
/* cta */
.swell-block-column .swl-has-mb--s .cta-column {
  margin: 0 10px !important;
}

.cta-column {
  position: relative;
}
@media (max-width: 599px) {
  .cta-column:nth-child(n+2) {
    padding-top: 40px;
  }
}

.cta-contact-nav__item {
  font-size: calc(22 / 16 * 1rem) !important;
  font-weight: 500 !important;
}
@media (min-width: 600px) {
  .cta-contact-nav__item {
    font-size: clamp(1rem, 0.25rem + 2vw, 1.5rem) !important;
  }
}

.cta-tel-num {
  font-size: clamp(1.5rem, 0.938rem + 1.5vw, 1.875rem) !important;
  font-weight: 700 !important;
}

.cta-hour {
  font-size: clamp(0.875rem, 0.688rem + 0.5vw, 1rem) !important;
  line-height: 1.2 !important;
}

.snow-monkey-form input::-webkit-input-placeholder, .snow-monkey-form textarea::-webkit-input-placeholder {
  color: #d6d6d6;
}

.snow-monkey-form input::-moz-placeholder, .snow-monkey-form textarea::-moz-placeholder {
  color: #d6d6d6;
}

.snow-monkey-form input:-ms-input-placeholder, .snow-monkey-form textarea:-ms-input-placeholder {
  color: #d6d6d6;
}

.snow-monkey-form input::-ms-input-placeholder, .snow-monkey-form textarea::-ms-input-placeholder {
  color: #d6d6d6;
}

.snow-monkey-form input::placeholder,
.snow-monkey-form textarea::placeholder {
  color: #d6d6d6;
}

/* 物件情報 */
.swell-block-fullWide__inner .property-card {
  color: #333;
  display: block;
  overflow: hidden;
  max-width: 868px;
  border-radius: 4px !important;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  line-height: 1;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-card {
    display: block;
    margin-inline: auto;
    width: 300px;
  }
}
.swell-block-fullWide__inner .property-card-head {
  background-color: #717171;
  padding: 10px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-card-head {
    padding: 10px 12px;
  }
}
.swell-block-fullWide__inner .property-card-tag {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  line-height: 1;
  font-size: 14px;
  padding: 4px 10px;
  background-color: #fff;
  border-radius: 4px;
}
.swell-block-fullWide__inner .property-title {
  text-align: left;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  margin: 0 !important;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-title {
    font-size: 18px;
  }
}
.swell-block-fullWide__inner .property-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  gap: 32px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.swell-block-fullWide__inner .property-image {
  width: 348px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-image {
    width: 100%;
    height: 200px;
  }
}
.swell-block-fullWide__inner .property-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-image img {
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.swell-block-fullWide__inner .property-info {
  width: 60%;
  margin-top: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-info {
    margin-top: 0;
    width: 100%;
    padding: 16px;
    gap: 0;
  }
}
.swell-block-fullWide__inner .property-info-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-info-head {
    gap: 8px;
  }
}
.swell-block-fullWide__inner .property-info-address {
  font-weight: 500;
  font-size: 16px;
}
.swell-block-fullWide__inner .property-info-price {
  font-size: 16px;
  line-height: 1;
}
.swell-block-fullWide__inner .property-info-price span {
  font-size: 28px;
  color: #ff9800;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-info-price {
    font-size: 16px;
    text-align: right;
  }
}
.swell-block-fullWide__inner .property-info-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 32px;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-info-items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}
.swell-block-fullWide__inner .property-info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.swell-block-fullWide__inner .property-info-item span.tag {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 4px 6px;
  border-radius: 2px;
  background-color: #d7d7d7;
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .property-info-item span.tag {
    width: 90px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .swell-block-fullWide__inner .hidden-sp {
    display: none !important;
  }
}

.left {
  text-align: left !important;
}

/* 物件概要テーブル */
.property-table {
  width: 100%;
  border-collapse: collapse;
}

.property-table th,
.property-table td {
  padding: 0.5em;
  border: 1px solid #ddd;
  text-align: left;
}

@media (max-width: 768px) {
  .property-table tr {
    display: block;
  }
  .property-table th,
  .property-table td {
    display: block;
    width: 100%;
  }
  /* tdが空白のtrは非表示 */
  .property-table tr:has(td:empty) {
    display: none;
  }
}
@media (min-width: 769px) {
  .property-table tr {
    display: table-row;
  }
  .property-table th,
  .property-table td {
    display: table-cell;
    width: auto;
  }
}
.only-sp {
  display: inline;
}
@media (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}

/* 物件アーカイブのパンくずリンクをフィルタボタン風に */
.property-archive #breadcrumb .p-breadcrumb__item a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: calc(120 / 16 * 1rem);
  padding: calc(8 / 16 * 1rem) calc(12 / 16 * 1rem);
  border: 1px solid #2a5eb7;
  border-radius: calc(10 / 16 * 1rem);
  color: #2a5eb7;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.3;
  background: #fff;
}

.property-archive #breadcrumb .p-breadcrumb__item a:hover {
  background: #e8f1ff;
}

.property-archive #breadcrumb .p-breadcrumb__item.is-current,
.property-archive #breadcrumb .p-breadcrumb__item[aria-current=page] {
  color: #333;
}

.single .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
  display: inline;
}

.p-breadcrumb__item:last-child span {
  opacity: 1;
}
