/* 既存の行の高さを保ったまま、敷地配置図の表示範囲を広げる */
#contentsWrap .block-detail-01 .box .text .sitemap {
  position: relative;
  width: 100%;
  aspect-ratio: 1200 / 1155;
  margin: 0;
}
#contentsWrap .block-detail-01 .box .text .sitemap img {
  position: absolute;
  right: 0;
  bottom: 22px;
  width: 110%;
  max-width: none;
  height: auto;
}
#contentsWrap .block-detail-01 .box .text .sitemap figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
  color: #675d38;
  background: none;
}
@media only screen and (max-width: 767px) {
  #contentsWrap .block-detail-01 .box .text .sitemap { top: 8px; }
  #contentsWrap .block-detail-01 .box .text .sitemap img {
    width: calc(100% + 18px);
    bottom: 18px;
  }
  #contentsWrap .block-detail-01 .box .text .sitemap figcaption {
    font-size: 11px;
  }
}

/* SP: keep the type and specifications together beside the site plan. */
@media only screen and (max-width: 767px) {
  #contentsWrap .block-detail-01 .box .text { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); gap: 14px 8px; align-items: start; }
  #contentsWrap .block-detail-01 .box .text .spec,
  #contentsWrap .block-detail-01 .box .text .value,
  #contentsWrap .block-detail-01 .box .text .area { display: contents; }
  #contentsWrap .block-detail-01 .box .text .name { grid-column: 1; grid-row: 1; padding-bottom: 12px; margin: 0; }
  #contentsWrap .block-detail-01 .box .text .size { grid-column: 1; grid-row: 2; text-align: left; font-size: clamp(18px, 5vw, 24px); letter-spacing: 0; }
  #contentsWrap .block-detail-01 .box .text .area-main { grid-column: 1; grid-row: 3; font-size: clamp(10px, 2.65vw, 13px); letter-spacing: 0; line-height: 1.8; }
  #contentsWrap .block-detail-01 .box .text .area-main em { font-size: clamp(19px, 5.1vw, 25px); }
  #contentsWrap .block-detail-01 .box .text .area .balcony { grid-column: 1 / -1; grid-row: 4; margin: -18px 0 0; line-height: 1.8; }
  #contentsWrap .block-detail-01 .box .text .sitemap { grid-column: 2; grid-row: 1 / 4; top: 0; aspect-ratio: auto; align-self: start; padding-top: 25px; }
  #contentsWrap .block-detail-01 .box .text .sitemap img { position: static; width: 100%; height: auto; }
  #contentsWrap .block-detail-01 .box .text .sitemap figcaption { position: static; padding-top: 4px; font-size: 9px; white-space: normal; }
}
.sitemap-zoom { display: none; }
@media only screen and (max-width: 767px) {
  .sitemap-zoom { display: grid; place-items: center; position: absolute; right: -5px; top: -8px; left: 0; bottom: 0; width: auto; height: auto; color: inherit; font-size: 0; z-index: 1; }
  .sitemap-zoom::before { content: ""; position: absolute; right: 11px; top: 11px; width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; }
  .sitemap-zoom::after { content: ""; position: absolute; right: 17px; top: 17px; width: 10px; height: 10px; background: linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat, linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat; }
}
.siteplan-dialog { border: 0; padding: 48px 12px 16px; width: min(92vw, 900px); max-width: 96vw; max-height: 90dvh; box-sizing: border-box; background: #fff; color: #675d38; }
.siteplan-dialog::backdrop { background: rgba(0,0,0,.7); }
.siteplan-dialog img { display: block; width: 100%; height: auto; }
.siteplan-dialog p { text-align: center; font-size: 13px; margin-top: 12px; }
.siteplan-dialog button { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: inherit; font-size: 30px; cursor: pointer; }
