/* 物件 */
:root,
::before,
::after {
  --tcd-realty-icon-area: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-137.77q-9.38 0-18.77-3.08-9.38-3.07-17.31-10-42.69-39.23-86.54-87.38-43.84-48.15-79.65-99.73-35.81-51.58-58.69-105.31-22.89-53.73-22.89-104.88 0-126.93 82.66-209.39Q361.46-840 480-840q118.54 0 201.19 82.46 82.66 82.46 82.66 209.39 0 51.15-22.89 104.5-22.88 53.34-58.31 105.3-35.42 51.97-79.27 99.73-43.84 47.77-86.53 87-7.65 6.93-17.38 10.39-9.74 3.46-19.47 3.46Zm.14-353q26.71 0 45.59-19.02 18.89-19.02 18.89-45.73 0-26.71-19.03-45.6Q506.57-620 479.86-620q-26.71 0-45.59 19.02-18.89 19.02-18.89 45.73 0 26.71 19.03 45.6 19.02 18.88 45.73 18.88Z"/></svg>');
  --tcd-realty-icon-transit: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-355.38V-720q0-39.15 22.5-62.96 22.5-23.81 60.96-36.46 38.46-12.66 89.42-16.62Q423.85-840 480-840q58.31 0 109.12 3.96 50.8 3.96 88.93 16.5 38.13 12.53 60.04 36.46Q760-759.15 760-720v364.62q0 48.23-33.58 81.8Q692.85-240 644.62-240l47.69 47.69q9.31 9.31 4.4 20.81-4.9 11.5-17.97 11.5-3.82 0-7.26-1.35-3.45-1.34-6.1-4.03L590.77-240H369.23l-74.61 74.62q-2.76 2.69-6.34 4.03-3.59 1.35-7.45 1.35-12.68 0-17.56-11.5-4.89-11.5 4.42-20.81L315.38-240q-48.23 0-81.8-33.58Q200-307.15 200-355.38ZM240-520h220v-178.46H240V-520Zm260 0h220v-178.46H500V-520ZM339.82-335.38q19.26 0 32.03-12.59 12.77-12.6 12.77-31.85 0-19.26-12.59-32.03-12.6-12.77-31.85-12.77-19.26 0-32.03 12.59-12.77 12.6-12.77 31.85 0 19.26 12.59 32.03 12.6 12.77 31.85 12.77Zm280 0q19.26 0 32.03-12.59 12.77-12.6 12.77-31.85 0-19.26-12.59-32.03-12.6-12.77-31.85-12.77-19.26 0-32.03 12.59-12.77 12.6-12.77 31.85 0 19.26 12.59 32.03 12.6 12.77 31.85 12.77Z"/></svg>');
}

/* 所在地 */
.c-address {}

/* 物件種別 */
.c-property-type {
  display: grid;
  place-items: center;
  width: fit-content;
  min-width: 130px;
  padding: calc(10px + var(--tcd-half-read)) 15px calc(9px + var(--tcd-half-read));
  background: #ffffff;
  border: 1px solid var(--tcd-accent-color);
  border-radius: calc(infinity* 1px);
  font-size: 14px;
  color: var(--tcd-accent-color);
  line-height: 1.2;
}

@media (any-hover: hover) {
  .c-property-type:hover {
    color: #fff;
    background: var(--tcd-accent-color);
  }
}

@media (max-width:767px) {
  .c-property-type {
    font-size: 12px;
    min-width: 110px;
    padding: calc(9px + var(--tcd-half-read)) 13px calc(8px + var(--tcd-half-read));
  }
}

/* 物件タグ */
.c-property-tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c-property-tagcloud-link {
  display: grid;
  place-items: center;
  height: 35px;
  padding-block-start: 1px;
  padding-inline: 15px;
  border: 1px solid #dddddd;
  border-radius: calc(infinity * 1px);
  font-size: 14px;
}

@media (any-hover: hover) {
  .c-property-tagcloud-link:hover {
    color: #fff;
    background-color: var(--tcd-accent-color);
    border-color: var(--tcd-accent-color);
  }
}

/* チェックボックス */
.c-realty-check {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.5em;
  color: var(--tcd-realty-check-font-color, inherit);
  font-size: var(--tcd-realty-check-font-size, 14px);
  width: var(--tcd-realty-check-width, fit-content);
  padding: var(--tcd-realty-check-padding, initial);
  background: var(--tcd-realty-check-background, initial);
  border: var(--tcd-realty-check-border, initial);
  line-height: 1.3;
}

.c-realty-check input {
  display: none;
}

.c-realty-check-box {
  display: grid;
  width: 1.3em;
  height: 1.3em;
  background: #ffffff;
  box-shadow: inset 0px 0px 0 1px #dddddd;
}

input:checked+.c-realty-check-box {
  background: var(--tcd-accent-color);
  box-shadow: none;
}

input:checked+.c-realty-check-box:before {
  content: '';
  mask: var(--tcd-icon--done) no-repeat center / contain;
  background: #ffffff;
}

.c-realty-check-box-label span {
  color: #666666;
}

.c-realty-check-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 10px;
}

/* セレクトボックス */
.c-realty-select {
  appearance: none;
  cursor: pointer;
  height: 50px;
  padding-inline: 20px 3em;
  background: #ffffff var(--tcd-icon--arrow-bottom) no-repeat center right 13px / 24px;
  border: 1px solid #dddddd;
}

.c-realty-select-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px 10px;
}

/* エリア, 交通 */
:is(.c-realty-area, .c-realty-transit) {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: 0.5em;
  line-height: 1.6;
}

:is(.c-realty-area, .c-realty-transit):before {
  content: "";
  max-height: 1.6em;
  background-color: var(--tcd-accent-color);
  mask: no-repeat center / 1.2em;
  transform: scale(1.2);
}

.c-realty-area:before {
  mask-image: var(--tcd-realty-icon-area);
}

.c-realty-transit:before {
  mask-image: var(--tcd-realty-icon-transit);
}

/* ボタン */
.c-realty-button {
  display: grid;
  place-items: center;
  width: min(100%, var(--tcdr-button-width-pc, 280px));
  height: var(--tcdr-button-height-pc, 60px);
  font-size: var(--tcdr-button-font-size-pc, 16px);
  /* editor対策 */
  color: #000000 !important;
  background-color: #ffffff;
  border: 1px solid #dddddd;
}


/* 送信 */
.c-realty-submit {
  display: grid;
  place-items: center;
  width: min(100%, var(--tcdr-submit-width-pc, 280px));
  height: var(--tcdr-submit-height-pc, 60px);
  color: #ffffff !important;
  background-color: var(--tcd-accent-color);
  font-size: var(--tcdr-submit-font-size-pc, 16px);
  font-weight: 600;
}

.c-realty-submit2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 220px;
  width: fit-content;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
  color: var(--tcd-accent-color);
  background: #ffffff;
  border-radius: calc(infinity* 1px);
  border: 1px solid var(--tcd-accent-color);
}

@media (any-hover: hover) {
  .c-realty-button:hover {
    /* editor対策 */
    color: color-mix(in srgb, #000000 50%, #ffffff) !important;
    text-decoration: none !important;
  }

  .c-realty-submit:hover {
    /* editor対策 */
    text-decoration: none !important;
    background-color: color-mix(in srgb, var(--tcd-accent-color) 80%, #ffffff);
  }

  .c-realty-submit2:hover {
    color: color-mix(in srgb, var(--tcd-accent-color) 70%, transparent);
  }
}

@media (max-width:767px) {
  .c-realty-button {
    width: min(100%, var(--tcdr-button-width-sp, 260px));
    height: var(--tcdr-button-height-sp, 50px);
    font-size: var(--tcdr-button-font-size-sp, 14px);
  }

  .c-realty-submit {
    width: min(100%, var(--tcdr-submit-width-sp, 240px));
    height: var(--tcdr-submit-height-sp, 50px);
    font-size: var(--tcdr-submit-font-size-sp, 14px);
  }
}

/* 新着ラベル */
.c-realty-label {
  display: grid;
  place-items: center;
  width: 50px;
  aspect-ratio: 1;
  padding-inline: 0.5em;
  border: 1px solid #fff;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: #ffffff;
  position: absolute;
  inset: 20px auto auto 20px;
  z-index: 1;
}

@media (max-width:767px) {
  .c-realty-label {
    inset: 15px auto auto 15px;
  }
}

/* 募集終了ラベル */
.c-property-closed {
  container: property-closed / inline-size;
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, #000000 50%, transparent);
  color: #fff;
  font-size: 24px;
  font-weight: 600;
}

@container property-closed (max-width:500px) {
  .c-property-closed-label {
    font-size: 20px;
  }
}

/* お気に入りボタン */
.c-realty-favorite-button {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 1em;
}

.c-realty-favorite-button:disabled {
  pointer-events: none;
}

.c-realty-favorite-button:before {
  content: '';
  font-size: 18px;
  width: 1em;
  height: 1em;
  mask: no-repeat center / 1.2em;
  background: var(--tcd-accent-color);
}

.c-realty-favorite-button:before {
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M479.23-196.23q-11.69 0-23.11-4.23-11.43-4.23-20.12-12.92l-45.92-41.47q-106.77-97-188.43-188.65Q120-535.15 120-634q0-76.31 51.85-128.15Q223.69-814 300-814q43.77 0 91.15 22.12 47.39 22.11 88.85 83.42 41.46-61.31 88.85-83.42Q616.23-814 660-814q76.31 0 128.15 51.85Q840-710.31 840-634q0 101.15-85 194.46T568.92-254.62l-45.69 41.24q-8.69 8.69-20.5 12.92t-23.5 4.23Zm-18.77-470.69q-35.92-57.93-74.69-82.5Q347-774 300-774q-60 0-100 40t-40 100q0 44.31 25.08 90.88 25.07 46.58 67.34 95.43 42.27 48.84 97.16 99.92 54.88 51.08 114.27 105.15 6.92 6.16 16.15 6.16 9.23 0 16.15-6.16 59.39-54.07 114.27-105.15 54.89-51.08 97.16-99.92 42.27-48.85 67.34-95.43Q800-589.69 800-634q0-60-40-100t-100-40q-47 0-85.77 24.58-38.77 24.57-74.69 82.5-3.16 5.38-8.54 8.07-5.38 2.7-11 2.7t-11-2.7q-5.38-2.69-8.54-8.07ZM480-504.08Z"/></svg>');
}

.c-realty-favorite-button[data-action="remove"]:before {
  mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M479.23-196.23q-11.69 0-23.11-4.23-11.43-4.23-20.12-12.92l-45.92-41.47q-106.77-97-188.43-188.65Q120-535.15 120-634q0-76.31 51.85-128.15Q223.69-814 300-814q43.77 0 91.15 22.12 47.39 22.11 88.85 83.42 41.46-61.31 88.85-83.42Q616.23-814 660-814q76.31 0 128.15 51.85Q840-710.31 840-634q0 101.15-85 194.46T568.92-254.62l-45.69 41.24q-8.69 8.69-20.5 12.92t-23.5 4.23Z"/></svg>');
}

.c-realty-favorite-button:after {
  font-size: 16px;
  transition: opacity 0.3s ease;
}

.c-realty-favorite-button[data-action="add"]:after {
  content: attr(data-add-label);
}

.c-realty-favorite-button[data-action="remove"]:after {
  content: attr(data-remove-label);
}

@media (any-hover: hover) {
  .c-realty-favorite-button:hover:after {
    opacity: 0.5;
  }
}


/* モーダル */
.p-realty-modal {
  position: fixed;
  inset: 0;
  z-index: calc(infinity);
  display: grid;
  place-items: center;
  background: color-mix(in srgb, #000000 80%, transparent);
  transition-property: opacity, visibility, pointer-events;
  transition-duration: 0.2s;
}

.p-realty-modal:not(.is-active) {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.p-realty-modal-content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: min(calc(100% - 40px), 860px);
  height: fit-content;
  max-height: 80svh;
  background: #ffffff;
  border-radius: 10px;
}

.p-realty-modal-content-title {
  display: grid;
  place-items: center;
  color: var(--tcd-accent-color);
  font-size: 20px;
  font-weight: 600;
  height: 70px;
  border-bottom: 1px solid #dddddd;
}

.p-realty-modal-content-term {
  display: grid;
  align-content: start;
  padding: 30px;
  row-gap: 30px;
  overflow: auto;
}

.p-realty-modal-content-term-check {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: start;
  gap: 0.5em;
  width: fit-content;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--tcd-accent-color);
}

.p-realty-modal-content-term-check input {
  display: none;
}

.p-realty-modal-content-term-check-box {
  display: grid;
  width: 1.2em;
  height: 1.2em;
  border: 1px solid #dddddd;
  background: #ffffff;
}

:checked+.p-realty-modal-content-term-check-box {
  background: var(--tcd-accent-color);
  border-color: var(--tcd-accent-color);
}

:checked+.p-realty-modal-content-term-check-box:before {
  content: "";
  mask: var(--tcd-icon--done) no-repeat center / contain;
  background: #ffffff;
}

.p-realty-modal-content-term-child {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 30px;
}

.p-realty-modal-content-term-check.is-child {
  color: inherit;
  font-size: 14px;
  padding: 15px;
  border: 1px solid #dddddd;
  width: auto;
}


.p-realty-modal-action {
  display: flex;
  justify-content: center;
  gap: 15px;
  border-top: 1px solid #dddddd;
  padding-block: 15px;
}

.p-realty-modal-action-button {
  width: 200px;
  height: 50px;
  font-size: 14px;
  font-weight: 500;
}

.p-realty-modal-action-button-deselect {
  border: 1px solid #dddddd;
}

.p-realty-modal-action-button-select {
  color: #ffffff;
  background: var(--tcd-accent-color);
}

/* メインフィルター */
.p-realty-filter {
  display: grid;
  align-content: start;
  row-gap: 40px;
}

/* エリア or 交通 */
.p-realty-filter-type {
  display: grid;
  grid-template-columns: repeat(2, 250px);
  grid-template-rows: 60px;
  justify-content: center;
}

.p-realty-filter-type label {
  display: grid;
  place-items: center;
  background: var(--tcd-bg-color);
}

.p-realty-filter-type label:has(:checked) {
  color: #ffffff;
  background: var(--tcd-accent-color);
}

.p-realty-filter-type input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* エリアフィルター */
.p-realty-filter-area {
  --tcd-realty-check-font-color: var(--tcd-accent-color);
  --tcd-realty-check-font-size: 20px;
  display: grid;
  align-content: start;
  row-gap: 40px;
  padding: 40px;
  border: 1px solid #dddddd;
  font-weight: 600;
}

.p-realty-filter-area-city {
  --tcd-realty-check-font-color: #000000;
  --tcd-realty-check-font-size: 14px;
  --tcd-realty-check-width: auto;
  --tcd-realty-check-padding: 20px;
  --tcd-realty-check-border: 1px solid #dddddd;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

/* 交通フィルター */
.p-realty-filter-transit {
  display: grid;
  align-content: start;
  row-gap: 40px;
  padding: 40px;
  border: 1px solid #dddddd;
  font-weight: 600;
}

.p-realty-filter-transit-line {
  font-size: 18px;
  color: var(--tcd-accent-color);
  line-height: 1.5;
  margin-block: var(--tcd-half-read);
}

.p-realty-filter-transit-station {
  --tcd-realty-check-font-color: #000000;
  --tcd-realty-check-font-size: 14px;
  --tcd-realty-check-width: auto;
  --tcd-realty-check-padding: 20px;
  --tcd-realty-check-border: 1px solid #dddddd;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

/* 送信 */
.p-realty-filter-submit {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 280px;
  height: 60px;
  color: #ffffff;
  background: var(--tcd-accent-color);
}


/* 検索結果ページ */
/* 物件一覧 */
.p-property-cards {
  display: grid;
  margin: 1px;
}

.p-property-cards-item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 30px;
  padding: 25px;
  background: #ffffff;
  border: 1px solid #dddddd;
  margin: -1px;
}

.p-property-cards-item.is-fadeout {
  animation: propertyFadeOut 0.5s ease 0s both;
}

.p-property-cards-item-image {
  position: relative;
  aspect-ratio: 8 / 5;
}

.p-property-cards-item-content {
  display: grid;
  align-content: start;
  row-gap: 20px;
  font-size: 14px;
}

.p-property-cards-item-title {
  width: fit-content;
  font-size: 18px;
}

.p-property-cards-item-remove {
  position: absolute;
  inset: 25px 25px auto auto;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 40px;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #ddd;
}

.p-property-cards-item-remove:before {
  content: "";
  font-size: 20px;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-437.85 277.08-234.92q-8.31 8.3-20.89 8.5-12.57.19-21.27-8.5-8.69-8.7-8.69-21.08 0-12.38 8.69-21.08L437.85-480 234.92-682.92q-8.3-8.31-8.5-20.89-.19-12.57 8.5-21.27 8.7-8.69 21.08-8.69 12.38 0 21.08 8.69L480-522.15l202.92-202.93q8.31-8.3 20.89-8.5 12.57-.19 21.27 8.5 8.69 8.7 8.69 21.08 0 12.38-8.69 21.08L522.15-480l202.93 202.92q8.3 8.31 8.5 20.89.19 12.57-8.5 21.27-8.7 8.69-21.08 8.69-12.38 0-21.08-8.69L480-437.85Z"></path></svg>') no-repeat center / 1em;
}

.p-property-cards-item-meta1 {
  font-size: 18px;
  font-weight: 600;
  line-height: 2;
  margin-block: var(--tcd-half-read);
}

.p-property-cards-item-meta2 {
  line-height: 2.2;
  margin-block: var(--tcd-half-read);
}

.p-property-cards-item-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 50px;
  gap: 15px;
  font-size: 14px;
}

.p-property-cards-item-link a {
  display: grid;
  place-items: center;
  padding-inline: 0.5em;
  border: 1px solid #dddddd;
  border-radius: 3px;
  line-height: 1.4;
}

@media (any-hover: hover) {
  .p-property-cards-item-link a:hover {
    color: rgba(0, 0, 0, 0.5);
  }

  .p-property-cards-item-remove:hover {
    color: #fff;
    background: var(--tcd-accent-color);
    border-color: var(--tcd-accent-color);
  }
}

/* 物件カードリンク対策 */
.p-property-cards-item {
  --tcdce-base-link-color: #000000;
  --tcdce-base-link-decoration: none;
}

.p-property-cards-noresult {
  line-height: 2;
  text-align: center;
  margin-block: var(--tcd-half-read);
}

@container main (min-width: 601px) {
  .p-property-cards-type1 .p-property-cards-item {
    grid-template-columns: minmax(0, 380px) minmax(280px, 1fr);
  }

  .p-property-cards-type1 .p-property-cards-item-content {
    align-self: center;
  }

  .p-property-cards-type1 .p-property-cards-item-link {
    grid-template-columns: repeat(2, minmax(0, 130px));
  }

  .p-property-cards-type2 {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 削除ボタン対策 */
  .p-property-cards-type1 .p-property-cards-item:has(.p-property-cards-item-remove) {
    padding-right: 70px;
  }
}

@container main (min-width: 901px) {
  .p-property-cards-type2 {
    grid-template-columns: repeat(3, 1fr);
  }

  /* トップページ2カラム */
  .p-property-cards-2col {
    grid-template-columns: repeat(2, 1fr);
  }

  .p-property-cards-2col .p-property-cards-item {
    padding: 40px;
  }

  /* トップページ3カラム */
  .p-property-cards-3col {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
  }

  /* トップページ3カラム */
  .p-property-cards-3col .p-property-cards-item {
    border: none;
    padding: 0;
    margin: 0;
    gap: 25px;
  }

}

@container main (max-width: 600px) {

  .p-property-cards-item {
    padding: 20px;
    row-gap: 20px;
  }

  .p-property-cards-item-content {
    font-size: 12px;
  }

  .p-property-cards-item-title {
    font-size: 16px;
  }

  .p-property-cards-item-meta1 {
    font-size: 16px;
    line-height: 1.7;
    margin-top: -15px;
  }

  .p-property-cards-item-remove {
    inset: 10px 10px auto auto;
    width: 35px;
  }

  .p-property-cards-item-remove:before {
    font-size: 18px;
  }

}

/* 物件カード 連続した時のマージン対策 */
.p-property-cardlink:has(+.p-property-cardlink) {
  --tcdce-base-margin-bottom-pc: -1px;
  --tcdce-base-margin-bottom-sp: -1px;
}


/* 詳細ページ */
.p-single-property {
  display: grid;
  align-content: start;
  row-gap: 80px;
}

@media (max-width: 767px) {
  .p-single-property {
    row-gap: 40px;
  }
}

/* ヘッダー */
.p-single-property-header {
  position: relative;
  padding: 45px;
  border: 1px solid #dddddd;
}

.p-single-property-header:before {
  content: "";
  position: absolute;
  inset: -1px -1px auto -1px;
  height: 3px;
  background: var(--tcd-accent-color);
}

.p-single-property-header-title {
  display: flex;
  gap: 20px;
  font-size: 26px;
  margin-bottom: 40px;
}

.p-single-property-header-title-text {
  flex: 1;
  line-height: 1.6;
  margin-block: var(--tcd-half-read);
}

.p-single-property-header-inner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
}

.p-single-property-header-image {}

.p-single-property-header-image-main {
  position: relative;
  display: grid;
  background: var(--tcd-bg-color);
}

.p-single-property-header-image-nav {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.p-single-property-header-image-nav-item {
  cursor: pointer;
  aspect-ratio: 1;
}

.p-single-property-header-image-main img {
  transition: opacity 0.1s ease;
  /* フェードアニメーション */
}

/* フェードアウト用クラス */
.p-single-property-header-image-main img.fade-out {
  opacity: 0.8;
  /* トランジションで透明に */
}

.p-single-property-header-content {
  display: grid;
  align-content: start;
  row-gap: 40px;
  font-size: 16px;
}

.p-single-property-header-tagline {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.6;
  margin-block: var(--tcd-half-read);
}

/* table */
.p-single-property-header-table {
  display: grid;
  grid-template-columns: auto minmax(50%, 1fr);
  margin: 1px 0 0 1px;
}

.p-single-property-header-table-item {
  display: grid;
  grid-template-columns: subgrid;
  gap: 30px;
  align-items: center;
  margin: -1px 0 0 -1px;
  padding: 17px 30px;
  background: #ffffff;
  border: 1px solid #dddddd;
  grid-column: 1 / -1;
}

.p-single-property-header-table-item-h {
  line-height: 1.6;
  margin-block: var(--tcd-half-read);
}

.p-single-property-header-table-item-d {
  font-size: 24px;
  line-height: 1.4;
  margin-block: var(--tcd-half-read);
}

.p-single-property-header-info {
  display: grid;
  align-content: start;
  row-gap: 15px;
}

.p-single-property-header-note {
  line-height: 2.2;
  margin-block: var(--tcd-half-read);
}

/* cta */
.p-single-property-header-button {
  --tcdr-submit-width-pc: 340px;
}

/* 単位 */
.p-single-property-header-table .c-unit {
  font-size: 16px;
}

.p-single-property-header-table .c-unit:first-child {
  margin-left: 0.1em;
}

@container main (max-width: 900px) {
  .p-single-property-header-inner {
    grid-template-columns: 1fr;
  }

  .p-single-property-header-table {
    grid-template-columns: auto minmax(25%, 1fr) auto minmax(25%, 1fr);
  }

  .p-single-property-header-table-item:where(:nth-of-type(odd)) {
    grid-column: 1 / 3;
  }

  .p-single-property-header-table-item:where(:nth-of-type(even)) {
    grid-column: 3 / -1;
  }

  .p-single-property-header-button {
    justify-self: center;
  }
}

@media (max-width: 991px) {
  .p-single-property-header {
    border-width: 1px 0 1px 0;
    margin-inline: -20px;
  }
}

@media (max-width: 767px) {
  .p-single-property-header {
    padding: 0;
    border: none;
  }

  .p-single-property-header-title {
    column-gap: 15px;
    font-size: 18px;
    margin: 25px 20px;
  }

  .p-single-property-header-title .c-realty-favorite-button:after {
    content: none;
  }

  .p-single-property-header-inner {
    gap: 30px;
  }

  .p-single-property-header-image-nav {
    display: flex;
    gap: 10px;
    overflow: scroll hidden;
    padding-block: 10px;
    margin-top: 0;
    border-bottom: 1px solid #dddddd;
  }

  .p-single-property-header-image-nav:before,
  .p-single-property-header-image-nav:after {
    content: '';
    flex: 0 0 1px;
  }

  .p-single-property-header-image-nav-item {
    flex: 0 0 70px;
  }

  .p-single-property-header-content {
    row-gap: 20px;
    padding-inline: 20px;
    font-size: 14px;
  }

  .p-single-property-header-tagline {
    font-size: 16px;
  }

  .p-single-property-header-table {
    grid-template-columns: auto minmax(50%, 1fr);
  }

  .p-single-property-header-table-item {
    gap: 20px;
    grid-column: 1 / -1;
    padding: 14px 20px;
  }

  .p-single-property-header-table-item-d {
    font-size: 20px;
  }

}

/* section */
.p-single-property-section {}

.p-single-property-section-title {
  font-size: 18px;
  line-height: 1.6;
  color: var(--tcd-accent-color);
  padding-top: calc(30px + var(--tcd-half-read));
  border-top: 3px solid var(--tcd-accent-color);
  margin-bottom: calc(30px + var(--tcd-half-read));
}

@container main (max-width: 750px) {
  .p-single-property-section-title {
    font-size: 16px;
    line-height: 1.5;
    padding-top: calc(20px + var(--tcd-half-read));
    margin-bottom: calc(20px + var(--tcd-half-read));
  }
}

/* マップ */
.p-single-property-map {
  padding: 50px;
  border: 1px solid #ddd;
}

.p-single-property-map-desc {
  font-size: 16px;
  line-height: 2.2;
  margin-block: calc(30px + var(--tcd-half-read)) var(--tcd-half-read);
}

@container main (max-width: 900px) {
  .p-single-property-map {
    padding: 40px;
  }
}

@media (max-width: 767px) {
  .p-single-property-map {
    padding: 0;
    border: none;
  }

  .p-single-property-map-desc {
    font-size: 14px;
    margin-block: calc(20px + var(--tcd-half-read)) var(--tcd-half-read);
  }
}

/* CTA */
.p-single-property-cta {
  display: grid;
  align-content: start;
  row-gap: 40px;
  width: min(100%, 860px);
  padding: 60px;
  background: var(--tcd-bg-color);
  margin-inline: auto;
}

.p-single-property-cta-desc {
  font-size: 16px;
  text-align: center;
  line-height: 2.2;
  margin-block: var(--tcd-half-read);
}

.p-single-property-cta-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-weight: 600;
}

.p-single-property-cta-action .c-realty-button {
  color: #000;
}

@media (max-width: 767px) {
  .p-single-property-cta {
    row-gap: 30px;
    padding: 30px;
  }

  .p-single-property-cta-desc {
    font-size: 14px;
    line-height: 2;
  }

  .p-single-property-cta-action {
    flex-direction: column;
    gap: 15px;
  }

  .p-single-property-cta-action-button {
    width: 260px;
  }
}


/* grid table */
.c-property-grid-table {
  display: grid;
  gap: 1px;
  padding: 1px;
  background: #dddddd;
  font-size: 16px;
  line-height: 1.6;
}

.c-property-grid-table-row {
  display: grid;
  gap: 1px;
}

.c-property-grid-table-row-1col {
  grid-template-columns: 150px 1fr;
}

.c-property-grid-table-row-2col {
  grid-template-columns: 150px 1fr 150px 1fr;
}

.c-property-grid-table-row-h {
  display: grid;
  align-content: center;
  text-align: center;
  padding: calc(22px + var(--tcd-half-read)) 10px;
  background: #f9f9f9;
}

.c-property-grid-table-row-d {
  display: grid;
  align-content: center;
  padding: calc(22px + var(--tcd-half-read)) 30px;
  background: #ffffff;
}

@container main (max-width: 750px) {
  .c-property-grid-table {
    font-size: 14px;
  }

  .c-property-grid-table-row-1col {
    grid-template-columns: 110px 1fr;
  }

  .c-property-grid-table-row-2col {
    grid-template-columns: 110px 1fr 110px 1fr;
  }

  .c-property-grid-table-row-h {
    padding: calc(18px + var(--tcd-half-read)) 5px;
  }

  .c-property-grid-table-row-d {
    padding: calc(18px + var(--tcd-half-read)) 20px;
  }
}

@container main (max-width: 600px) {
  .c-property-grid-table-row {
    grid-template-columns: 110px 1fr;
  }
}

/* 記事下 関連物件 */
@container main (min-width: 901px) {
  .p-single-property-bottom-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
  }

  .p-single-property-bottom-list .p-property-cards-item {
    grid-template-columns: 1fr;
    border: none;
    padding: 0;
    margin: 0;
  }
}

/* 物件アーカイブ */
.p-archive-property {
  position: relative;
  padding-block: 80px;
  border-image: linear-gradient(var(--tcd-bg-color) 0 0) fill 0 /1/ 0 100vi;
}

/* バナーの背景色対策の区切り */
body.tax-property-type:has(.p-footer-banner) .p-archive-property::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  border-image: linear-gradient(#ddd 0 0) fill 0 /1/ 0 100vi;
}

.p-archive-property-header {
  display: grid;
  align-content: start;
  row-gap: 30px;
  margin-bottom: 50px;
}

.p-archive-property-header-title {
  color: var(--tcd-accent-color);
}

@media (max-width: 767px) {
  .p-archive-property {
    padding-block: 40px;
  }

  .p-archive-property-header {
    row-gap: 20px;
    margin-bottom: 40px;
  }
}

/* 物件種別ページ */
.p-archive-property-type-title span {
  font-size: 0.8em;
  margin: 0 0.3em;
}

/* チェックリスト */
.p-realty-checkbox-list {
  container: tcdr-check-list / inline-size;
  padding: 40px;
  border: 1px solid #dddddd;
}

.p-realty-checkbox-list ul:has(ul) {
  display: grid;
  align-content: start;
  row-gap: 40px;
}

.p-realty-checkbox-list ul:not(:has(ul)) {
  --tcd-realty-check-font-color: #000000;
  --tcd-realty-check-font-size: 14px;
  --tcd-realty-check-width: auto;
  --tcd-realty-check-padding: 20px;
  --tcd-realty-check-border: 1px solid #dddddd;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.p-realty-checkbox-list-transit>ul>li:not(:has(ul)) {
  display: none;
}

.p-realty-checkbox-list .c-realty-check {
  transition: background 0.3s ease;
}

.p-realty-check-list-title {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--tcd-accent-color);
  margin-block: var(--tcd-half-read) calc(30px + var(--tcd-half-read));
}

.p-realty-check-list-title>span {
  color: #666666;
  font-size: 14px;
}

.p-realty-check-list-submit {
  margin: 40px auto 0;
}

.p-realty-checkbox-list:not(:has(:checked)) .p-realty-check-list-submit {
  pointer-events: none;
  opacity: 0.5;
}

@container tcdr-check-list (max-width: 1000px) {
  .p-realty-checkbox-list ul:not(:has(ul)) {
    grid-template-columns: repeat(3, 1fr);
  }
}

@container tcdr-check-list (max-width: 600px) {
  .p-realty-checkbox-list ul:not(:has(ul)) {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (any-hover: hover) {
  .p-realty-checkbox-list .children .c-realty-check:hover {
    background: #fafafa;
  }
}

@media (max-width: 991px) {
  .p-realty-check-list-title {
    --tcd-realty-check-background: initial;
  }
}

@media (max-width: 767px) {

  .p-realty-checkbox-list {
    padding: 0;
    border: none;
  }

  .p-realty-check-list-title {
    font-size: 16px;
    width: 100%;
    padding: 14px 15px;
    color: #ffffff;
    background: var(--tcd-accent-color);
    margin-block: 0 10px;
  }

  .p-realty-check-list-title>span {
    color: inherit;
    box-shadow: none;
    font-size: 12px;
  }

  .p-realty-check-list-title input:checked+span {
    background: #fff;
  }

  .p-realty-check-list-title input:checked+span:before {
    background: var(--tcd-accent-color);
  }

  .p-realty-checkbox-list ul:not(:has(ul)) {
    --tcd-realty-check-padding: 15px;
  }

}

@media (max-width: 599px) {

  .p-realty-check-list-title {
    position: relative;
    margin-block: -1px 0;
  }

  .p-realty-checkbox-list ul:has(ul) {
    gap: 0;
  }

  .p-realty-checkbox-list ul:not(:has(ul)) {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .p-realty-checkbox-list ul li {
    margin-top: -1px;
  }
}

/* 物件検索のエントランスページ PC */
.p-property-search-entrance {
  display: grid;
  align-content: start;
  gap: 40px;
  padding: 50px;
  font-size: 16px;
  border-radius: 10px;
  box-shadow: 0px 0px 15px 0px color-mix(in srgb, #000000 10%, transparent);
  background: #ffffff;
}

/* 物件種別セレクト */
.p-property-search-entrance-type {
  display: flex;
  gap: 40px 50px;
}

@media (max-width:991px) {
  .p-property-search-entrance-type {
    flex-direction: column;
  }
}

.p-property-search-entrance-type-item {
  flex: 1;
}

.p-property-search-entrance-type-item-title {
  display: flex;
  gap: 15px;
  font-size: 28px;
  line-height: 1.6;
  font-weight: 600;
  color: var(--tcd-accent-color);
  margin-block: var(--tcd-half-read) calc(25px + var(--tcd-half-read));
}

.p-property-search-entrance-type-item-image {
  display: grid;
  width: 1em;
  height: 1em;
  margin-block: 0.3em;
}

.p-property-search-entrance-type-item-image>img {
  object-fit: contain;
}

.p-property-search-entrance-sep {
  height: 1px;
  background: #dddddd;
}

.p-property-search-entrance-section {
  display: grid;
  grid-template-columns: 200px 1fr;
  column-gap: 30px;
}

.p-property-search-entrance-section-label {
  align-self: center;
  font-weight: 600;
  line-height: 1.6;
  color: var(--tcd-accent-color);
  margin-block: var(--tcd-half-read);
}

@media (max-width: 767px) {
  .p-property-search-entrance {
    display: none;
  }
}

/* ラジオ */
.p-property-search-entrance-radio {
  container: tcdr-radio / inline-size;
}

.p-property-search-entrance-radio-inner {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 1px 0 0px 1px;
}

@container tcdr-radio (max-width: 750px) {
  .p-property-search-entrance-radio-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}

@container tcdr-radio (max-width: 600px) {
  .p-property-search-entrance-radio-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}

@container tcdr-radio (max-width: 300px) {
  .p-property-search-entrance-radio-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-property-search-entrance-radio-button {
  cursor: pointer;
  display: grid;
  place-items: center;
  place-content: center;
  gap: 15px;
  padding: 20px 1em;
  background: #ffffff;
  box-shadow: inset 0px 0px 0px 1px #dddddd;
  margin: -1px 0 0 -1px;
  transition-property: box-shadow, color, background;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.p-property-search-entrance-radio-button[data-count="0"] {
  pointer-events: none;
  color: #ddd;
}

.p-property-search-entrance-radio-button input {
  display: none;
}

.p-property-search-entrance-radio-button:has(:checked) {
  position: relative;
  z-index: 1;
  font-weight: 600;
  color: var(--tcd-accent-color);
  box-shadow: inset 0px 0px 0px 3px var(--tcd-accent-color);
}

.p-property-search-entrance-radio-count {
  font-size: 14px;
  font-weight: normal;
  color: #000000;
}

@media (any-hover: hover) {
  .p-property-search-entrance-radio-button:hover:not(:has(:checked)) {
    background: #F4F4F4;
  }
}

/* 送信 */
.p-property-search-entrance-submit {
  display: flex;
  column-gap: 30px;
}

.p-property-search-entrance-submit-button {
  flex: 1;
  display: grid;
  grid-template-columns: 60px 1fr;
  grid-template-rows: 60px;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-weight: 600;
}

.p-property-search-entrance:not(:has(input[name="property-type"]:checked)) .p-property-search-entrance-submit-button,
.p-property-search-entrance:not(:has(input[name="pref"]:checked)) .p-property-search-entrance-submit-button {
  pointer-events: none;
  opacity: 0.5;
}

.p-property-search-entrance-submit-icon {
  display: grid;
  align-self: stretch;
  font-size: 28px;
  background: var(--tcd-accent-color);
  border-radius: 5px 0 0 5px;
  margin: -1px;
  color: #ffffff;
}

.p-property-search-entrance-submit-icon:before {
  content: "";
  background-color: currentColor;
  mask: no-repeat center / 1em;
}

[value="area"]>.p-property-search-entrance-submit-icon:before {
  mask-image: var(--tcd-realty-icon-area);
}

[value="transit"]>.p-property-search-entrance-submit-icon:before {
  mask-image: var(--tcd-realty-icon-transit);
}

@media (any-hover: hover) {
  .p-property-search-entrance-submit-button:hover {
    color: var(--tcd-accent-color);
  }
}


/* 物件検索のエントランスページSP */
@media not all and (max-width: 767px) {
  .p-property-search-entrance-sp {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-property-search-entrance-sp {
    display: grid;
    align-content: start;
    row-gap: 20px;
    font-size: 14px;
  }

  .p-property-search-entrance-sp-label {
    line-height: 1.6;
    font-weight: 600;
    margin-block: var(--tcd-half-read);
  }

  .p-property-search-entrance-sp-select {
    display: flex;
    align-items: center;
  }

  .p-property-search-entrance-sp-select:empty:before {
    content: attr(data-default);
  }

  /* モーダル */
  .p-property-search-entrance-sp-modal {
    position: fixed;
    inset: 0;
    z-index: calc(infinity);
    display: grid;
    place-items: center;
    background: color-mix(in srgb, #000000 50%, transparent);
    transition-property: opacity, visibility, pointer-events;
    transition-duration: 0.2s;
  }

  .p-property-search-entrance-sp-modal:not(.is-open) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .p-property-search-entrance-sp-modal-inner {
    width: min(calc(100% - 40px), 400px);
    max-height: calc(100svh - 40px);
    overflow: auto;
  }

  .p-property-search-entrance-sp-modal-title {
    position: relative;
    display: flex;
    align-items: center;
    color: #ffffff;
    font-weight: 600;
    background: var(--tcd-accent-color);
    padding-inline: 20px;
    height: 50px;
  }

  .p-property-search-entrance-sp-modal-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.5em;
    padding-inline: 20px;
    height: 50px;
    background: #ffffff;
    border-top: 1px solid #ddd;
    margin-top: -1px;
  }

  .p-property-search-entrance-sp-modal-item input {
    display: none;
  }

  .p-property-search-entrance-sp-modal-item:before {
    content: '';
    font-size: 16px;
    width: 1em;
    height: 1em;
    mask: var(--tcd-icon--done) no-repeat center / 1.2em;
    background: transparent;
  }

  .p-property-search-entrance-sp-modal-item:has(input:disabled) {
    color: rgba(0, 0, 0, 0.5);
    pointer-events: none;
  }

  .p-property-search-entrance-sp-modal-item:has(input:checked)::before {
    background: currentColor;
  }

  .p-property-search-entrance-sp-submit {
    display: flex;
    margin: 1px 0 0 1px;
    pointer-events: none;
    opacity: 0.5;
  }

  .p-property-search-entrance-sp-modal:has(input:checked)~.p-property-search-entrance-sp-modal:has(input:checked)~.p-property-search-entrance-sp-submit {
    pointer-events: auto;
    opacity: 1;
  }

  .p-property-search-entrance-sp-submit-button {
    flex: 1;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 60px;
    padding-inline: 15px;
    background: #ffffff;
    border: 1px solid #dddddd;
    margin: -1px 0 0 -1px;
  }

  .p-property-search-entrance-sp-submit-button:before {
    content: '';
    display: block;
    font-size: 1.2em;
    width: 1em;
    height: 1em;
    background-color: var(--tcd-accent-color);
    mask: no-repeat center / 1.2em;
  }

  .p-property-search-entrance-sp-submit-button[value="area"]:before {
    mask-image: var(--tcd-realty-icon-area);
  }

  .p-property-search-entrance-sp-submit-button[value="transit"]:before {
    mask-image: var(--tcd-realty-icon-transit);
  }
}

/* マイページ */
.p-realty-mypage-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  font-size: 16px;
  margin-block: -10px 80px;
}

.p-realty-mypage-nav-sep {
  width: 1px;
  height: 40px;
  background: #ddd;
  margin-block: calc(-20px + 0.5em);
}

.p-realty-mypage-nav-link.is-active {
  pointer-events: none;
  color: var(--tcd-accent-color);
}

@media (any-hover: hover) {
  .p-realty-mypage-nav-link:hover {
    color: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .p-realty-mypage-nav {
    gap: 15px;
    font-size: 14px;
    margin-block: -5px 40px;
  }

  .p-realty-mypage-nav-sep {
    height: 25px;
    margin-block: calc(-30px + 0.5em);
  }
}

.p-realty-content {
  animation: propertyFadeIn 0.2s ease 0.3s both;
}

/* お気に入りページ */
.p-realty-favorite:has(article)+p {
  display: none;
}

/* 検索条件 */
.p-realty-condition {
  display: grid;
  align-content: start;
  row-gap: 80px;
}

.p-realty-condition:has(div)+p {
  display: none;
}

.p-realty-condition-item {
  animation: propertyFadeIn 0.3s ease 0s both;
}

.p-realty-condition-item.is-fadeout {
  animation: propertyFadeOut 0.5s ease 0s both;
}

.p-realty-condition-item-date {
  position: relative;
}

.p-realty-condition-item .c-property-grid-table-row-h {
  background: #fff;
}

.p-realty-condition-item-date .c-property-grid-table-row-h,
.p-realty-condition-item-date .c-property-grid-table-row-d {
  background: var(--tcd-bg-color);
}

.p-realty-condition-item-action-row {
  padding-block: 25px;
  background: #fff;
}

.p-realty-condition-item-action-link {
  margin-inline: auto;
  border-radius: calc(infinity*1px);
}

.p-realty-condition-item-remove {
  position: absolute;
  inset: 0 10px 0 auto;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 40px;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #ddd;
  margin: auto;
}

.p-realty-condition-item-remove:before {
  content: "";
  font-size: 20px;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-437.85 277.08-234.92q-8.31 8.3-20.89 8.5-12.57.19-21.27-8.5-8.69-8.7-8.69-21.08 0-12.38 8.69-21.08L437.85-480 234.92-682.92q-8.3-8.31-8.5-20.89-.19-12.57 8.5-21.27 8.7-8.69 21.08-8.69 12.38 0 21.08 8.69L480-522.15l202.92-202.93q8.31-8.3 20.89-8.5 12.57-.19 21.27 8.5 8.69 8.7 8.69 21.08 0 12.38-8.69 21.08L522.15-480l202.93 202.92q8.3 8.31 8.5 20.89.19 12.57-8.5 21.27-8.7 8.69-21.08 8.69-12.38 0-21.08-8.69L480-437.85Z"></path></svg>') no-repeat center / 1em;
}

@media (any-hover: hover) {
  .p-realty-condition-item-remove:hover {
    color: #fff;
    background: var(--tcd-accent-color);
    border-color: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .p-realty-condition {
    row-gap: 40px;
  }

  .p-realty-condition-item-action-row {
    padding-block: 30px;
  }

  .p-realty-condition-item-remove {
    inset: 0 10px 0 auto;
    width: 35px;
  }

  .p-realty-condition-item-remove:before {
    font-size: 18px;
  }

}

@keyframes propertyFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes propertyFadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes propertySpin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}


/* 検索条件を保存 */
.p-realty-search-save {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  height: 50px;
  border: 1px solid #ddd;
  font-size: 14px;
  margin-bottom: 50px;
}

.p-realty-search-save:before {
  content: '';
  width: 1.7em;
  height: 1.7em;
  mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-350.08q-6.46 0-11.92-2.11-5.46-2.12-10.7-7.35L352.62-464.31q-5.85-5.84-6.12-13.77-.27-7.92 6.12-14.54 6.61-6.61 14.26-6.73 7.66-.11 14.27 6.5L460-414v-326q0-8.54 5.73-14.27T480-760q8.54 0 14.27 5.73T500-740v326l78.85-78.85q5.84-5.84 13.88-6.11 8.04-.27 14.65 6.34 6.39 6.62 6.5 14.16.12 7.54-6.5 14.15L502.62-359.54q-5.24 5.23-10.7 7.35-5.46 2.11-11.92 2.11ZM264.62-200q-27.62 0-46.12-18.5Q200-237 200-264.62v-76.92q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27v76.92q0 9.24 7.69 16.93 7.69 7.69 16.93 7.69h430.76q9.24 0 16.93-7.69 7.69-7.69 7.69-16.93v-76.92q0-8.54 5.73-14.27t14.27-5.73q8.54 0 14.27 5.73t5.73 14.27v76.92q0 27.62-18.5 46.12Q723-200 695.38-200H264.62Z"/></svg>') no-repeat center / contain;
  background: currentColor;
}

.p-realty-search-save:after {
  content: attr(data-saving);
}

.p-realty-search-save.is-saved {
  color: var(--tcd-accent-color);
  border-color: var(--tcd-accent-color);
}

.p-realty-search-save.is-saved::before {
  mask-image: var(--tcd-icon--done);
}

.p-realty-search-save.is-saved:after {
  content: attr(data-saved);
}

@media (any-hover: hover) {
  .p-realty-search-save:not(.is-saved):hover {
    color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width: 767px) {
  .p-realty-search-save {
    margin-bottom: 0;
  }

  .p-realty-search-save-sp {
    height: 50px;
    margin-bottom: 20px;
  }
}

/* 物件用お問い合わせスタイル */
.wpcf7 form:has(.p-r-contact) {
  margin: 50px 50px 20px;
}

.wpcf7 .p-r-contact p {
  margin-top: var(--tcd-half-read);
  margin-bottom: 30px;
}

.wpcf7 .p-r-contact input {
  height: 50px;
  padding-inline: 20px;
}

.wpcf7 .p-r-contact textarea {
  padding: 20px;
}

.wpcf7 .p-r-contact select {
  appearance: none;
  height: 50px;
  padding-inline: 20px 3em;
  background: #ffffff var(--tcd-icon--arrow-bottom) no-repeat center right 13px / 24px;
}

.wpcf7-form-control-wrap+br {
  display: none;
}

.wpcf7 .p-r-contact .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 10px;
}

.wpcf7 .p-r-contact .wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

.wpcf7 .p-r-contact .wpcf7-radio input {
  display: none;
}

.wpcf7 .p-r-contact .wpcf7-radio label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 5px;
}

.wpcf7 .p-r-contact .wpcf7-radio label:before {
  content: '';
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #aaa;
}

.wpcf7 .p-r-contact .wpcf7-radio label:has(input:checked):before {
  background-image: radial-gradient(circle closest-corner, #000 30%, rgba(255, 255, 255, 1) 20%);
}

.wpcf7 .p-r-contact .wpcf7-submit {
  font-size: 16px;
  width: 280px;
  height: 60px;
}

.wpcf7 .p-r-contact p:has(.wpcf7-submit) {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .wpcf7 form:has(.p-r-contact) {
    margin: 25px 25px 0px;
  }

  .wpcf7 .p-r-contact p {
    margin-bottom: 25px;
  }

  .wpcf7 .p-r-contact .wpcf7-submit {
    width: 240px;
    height: 50px;
  }
}