/* UR団地プラグイン（UR賃貸Z） — 色は .urz の変数で一括変更できます */
.urz {
  --urz-accent: #e8590c;
  --urz-accent-soft: #fff4ec;
  --urz-line: #06c755;
  --urz-ink: #1f2933;
  --urz-sub: #5b6670;
  --urz-border: #e3e7eb;
  --urz-bg: #f7f8fa;
  --urz-good: #0f7b55;
  --urz-good-soft: #e8f6f0;
  color: var(--urz-ink);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 2.5em;
}
.urz *, .urz *::before, .urz *::after { box-sizing: border-box; }
.urz .urz-h2 { font-size: 1.35em; line-height: 1.4; margin: 0 0 .8em; }
.urz .urz-lead { margin: 0 0 1em; }
.urz .urz-note { font-size: 12.5px; color: var(--urz-sub); margin: .8em 0 0; }
.urz small { display: block; font-size: 12px; color: var(--urz-sub); font-weight: normal; }

/* hero */
.urz-hero { background: var(--urz-bg); border: 1px solid var(--urz-border); border-radius: 12px; padding: 18px; margin-bottom: 1.2em; }
.urz-hero__badge { display: inline-block; background: var(--urz-accent); color: #fff; border-radius: 999px; padding: 4px 14px; font-size: 13px; margin-bottom: 12px; }
.urz-hero__badge strong { font-size: 15px; margin: 0 .2em; }
.urz-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.urz-stat { background: #fff; border-radius: 10px; padding: 10px 12px; border: 1px solid var(--urz-border); }
.urz-stat span { display: block; font-size: 12px; color: var(--urz-sub); }
.urz-stat strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.urz-stat strong small { display: inline; font-size: 12px; margin-left: 2px; }

/* tables */
.urz-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.urz .urz-table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; background: #fff; }
.urz .urz-table th, .urz .urz-table td { border: 1px solid var(--urz-border); padding: 8px 10px; text-align: left; vertical-align: middle; }
.urz .urz-table thead th { background: var(--urz-bg); font-size: 13px; white-space: nowrap; }
.urz .urz-table caption { caption-side: top; text-align: left; font-weight: bold; padding: 0 0 6px; }
.urz .urz-table--kv th { width: 9em; background: var(--urz-bg); white-space: nowrap; }

/* chips / buttons */
.urz-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.urz .urz-chip { border: 1px solid var(--urz-border); background: #fff; color: var(--urz-ink); border-radius: 999px; padding: 4px 14px; font-size: 13px; cursor: pointer; line-height: 1.6; }
.urz .urz-chip.is-on { background: var(--urz-ink); border-color: var(--urz-ink); color: #fff; }
.urz .urz-mini { display: inline-block; border: 1px solid var(--urz-border); background: #fff; color: var(--urz-ink); border-radius: 6px; padding: 3px 10px; font-size: 12.5px; cursor: pointer; text-decoration: none; line-height: 1.6; margin: 2px 2px 2px 0; }
.urz .urz-mini--go { background: var(--urz-accent); border-color: var(--urz-accent); color: #fff; }
.urz .urz-more { display: block; width: 100%; margin-top: 10px; border: 1px dashed var(--urz-border); background: var(--urz-bg); color: var(--urz-ink); border-radius: 8px; padding: 10px; cursor: pointer; font-size: 14px; }
.urz-tag { display: inline-block; background: var(--urz-good-soft); color: var(--urz-good); border-radius: 4px; padding: 0 8px; font-weight: bold; font-size: 13px; }
.urz-tag--ng { background: #eef0f2; color: var(--urz-sub); }

.urz-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.urz .urz-btn { flex: 1 1 240px; display: block; text-align: center; padding: 13px 16px; border-radius: 10px; font-weight: bold; text-decoration: none; color: #fff; font-size: 15px; }
.urz .urz-btn--main { background: var(--urz-accent); }
.urz .urz-btn--line { background: var(--urz-line); }
.urz .urz-btn:hover { opacity: .9; color: #fff; }

/* rent map */
.urz-table--map th, .urz-table--map td { text-align: center !important; padding: 6px !important; min-width: 70px; }
.urz-table--map td.is-empty { background: var(--urz-bg); }
.urz-cell { display: block; font-size: 12px; line-height: 1.35; color: var(--urz-sub); }
.urz-cell b { display: block; color: var(--urz-ink); font-size: 13px; }
.urz-cell.is-ng b { color: #9aa3ab; }

/* payment example cards */
.urz-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.urz-card { border: 1px solid var(--urz-border); border-radius: 12px; padding: 14px; background: #fff; }
.urz-card__head { font-weight: bold; font-size: 15px; margin-bottom: 4px; }
.urz-card__head small { display: inline; margin-left: 6px; }
.urz-type { display: inline-block; background: var(--urz-ink); color: #fff; border-radius: 4px; padding: 0 7px; font-size: 12px; margin-right: 6px; vertical-align: 1px; }
.urz-card__rent { margin: 0 0 8px; font-size: 13.5px; color: var(--urz-sub); }
.urz-card__rent b { color: var(--urz-ink); font-size: 15px; }
.urz-card__point { margin: 10px 0 0; font-size: 13.5px; background: var(--urz-good-soft); border-radius: 8px; padding: 8px 10px; }
.urz-card__point:empty { display: none; }
.urz-card__point b { color: var(--urz-good); }
.urz-card__sub { margin: 6px 0 0; font-size: 12.5px; color: var(--urz-sub); }

.urz .urz-breakdown { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 0; }
.urz .urz-breakdown th, .urz .urz-breakdown td { border: 0; border-bottom: 1px solid var(--urz-border); padding: 6px 0; font-weight: normal; text-align: left; background: none; }
.urz .urz-breakdown td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; padding-left: 8px; }
.urz .urz-breakdown .is-sum th, .urz .urz-breakdown .is-sum td { font-weight: bold; border-bottom: 2px solid var(--urz-ink); }
.urz .urz-breakdown .is-cb td, .urz .urz-breakdown .is-cb th { color: var(--urz-accent); font-weight: bold; }
.urz .urz-breakdown .is-net th, .urz .urz-breakdown .is-net td { font-weight: bold; font-size: 15px; border-bottom: 0; }

/* simulator */
.urz-sim__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; background: var(--urz-bg); border: 1px solid var(--urz-border); border-radius: 12px; padding: 16px; }
.urz-sim__form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; align-content: start; }
.urz-f { display: block; margin: 0; }
.urz-f--wide, .urz-check { grid-column: 1 / -1; }
.urz-f > span { display: block; font-size: 12.5px; color: var(--urz-sub); margin-bottom: 2px; }
.urz .urz-f input, .urz .urz-f select { width: 100%; padding: 8px 10px; border: 1px solid var(--urz-border); border-radius: 8px; background: #fff; font-size: 15px; color: var(--urz-ink); height: auto; }
.urz-check { font-size: 13.5px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.urz .urz-check input[type="number"] { width: 7em; padding: 4px 8px; border: 1px solid var(--urz-border); border-radius: 6px; }
.urz-sim__out { background: #fff; border-radius: 10px; padding: 12px 14px; border: 1px solid var(--urz-border); }
.urz-result { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 10px; text-align: center; }
.urz-result > div { background: var(--urz-bg); border-radius: 8px; padding: 8px 4px; }
.urz-result span { display: block; font-size: 11.5px; color: var(--urz-sub); }
.urz-result strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.urz-result .is-cb strong { color: var(--urz-accent); }
.urz-result .is-net { background: var(--urz-accent-soft); }

/* eligibility */
.urz-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.urz-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.urz-box { border: 1px solid var(--urz-border); border-radius: 10px; padding: 12px 14px; background: #fff; }
.urz .urz-box h3 { font-size: 15px; margin: 0 0 6px; padding: 0; border: 0; background: none; }
.urz .urz-box p { margin: 0; font-size: 13.5px; }
.urz-elig__calc { background: var(--urz-bg); border-radius: 10px; padding: 12px 14px; display: grid; grid-template-columns: 220px 1fr; gap: 14px; align-items: center; }
.urz-elig__calc ul { margin: 0; padding-left: 1.2em; font-size: 13.5px; }
.urz-tel { font-size: 18px; font-weight: bold; }

/* cashback steps */
.urz .urz-steps { counter-reset: s; list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.urz .urz-steps li { counter-increment: s; position: relative; padding: 10px 12px 10px 66px; background: var(--urz-bg); border-radius: 10px; margin: 0; }
.urz .urz-steps li::before { content: "STEP" counter(s); position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: 10px; font-weight: bold; color: #fff; background: var(--urz-accent); border-radius: 4px; padding: 1px 4px; }
.urz .urz-steps li:last-child { background: var(--urz-accent-soft); font-weight: bold; }
.urz-details { border: 1px solid var(--urz-border); border-radius: 10px; padding: 10px 14px; }
.urz-details summary { cursor: pointer; font-weight: bold; }
.urz-ng { margin: 8px 0 0; columns: 2; font-size: 13.5px; }

@media (max-width: 640px) {
  .urz-stats { grid-template-columns: 1fr 1fr; }
  .urz-stat:nth-child(2) { grid-column: 1 / -1; order: -1; }
  .urz-sim__grid, .urz-two, .urz-three, .urz-elig__calc { grid-template-columns: 1fr; }
  .urz-sim__grid { padding: 12px; }
  .urz-ng { columns: 1; }
}

/* 1.1: 一覧追加 */
.urz-badge { display: inline-block; margin-left: 6px; background: #7048e8; color: #fff; border-radius: 4px; padding: 0 6px; font-size: 11px; font-weight: bold; vertical-align: 1px; }
.urz-badge--f1 { background: #1c7ed6; }
.urz .urz-h3 { font-size: 1.05em; margin: 1.2em 0 .5em; padding: 0; border: 0; background: none; }
.urz-empty { background: var(--urz-bg); border: 1px dashed var(--urz-border); border-radius: 10px; padding: 16px; font-size: 14px; color: var(--urz-sub); }

/* 1.2: 号棟別リンク */
.urz-blds { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 10px; padding: 10px; background: var(--urz-bg); border-radius: 10px; }
.urz-blds__label { font-size: 12.5px; font-weight: bold; color: var(--urz-sub); margin-right: 4px; }
.urz .urz-bld { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--urz-border); background: #fff; color: var(--urz-ink); border-radius: 6px; padding: 3px 10px; font-size: 13px; text-decoration: none; line-height: 1.6; }
.urz .urz-bld small { display: inline; background: var(--urz-bg); border-radius: 999px; padding: 0 6px; font-size: 11px; color: var(--urz-sub); }
.urz .urz-bld.is-on { background: var(--urz-accent); border-color: var(--urz-accent); color: #fff; }
.urz .urz-bld.is-on small { background: rgba(255,255,255,.25); color: #fff; }
.urz-filter-note { margin: 0 0 8px; font-size: 13.5px; font-weight: bold; }

/* 1.3: 間取り図リンク */
.urz .urz-plan { display: block; font-size: 12px; white-space: nowrap; margin-top: 2px; }
.urz .urz-plan::after { content: " ↗"; }
@media (max-width: 640px) { .urz .urz-plan { display: inline; margin-left: 6px; } }

/* 1.4: 口コミ */
.urz-alert { border-radius: 10px; padding: 12px 14px; margin: 0 0 14px; font-size: 14px; }
.urz-alert--ok { background: var(--urz-good-soft); color: var(--urz-good); }
.urz-alert--ng { background: #fff0f0; color: #c92a2a; }
.urz-stars { position: relative; display: inline-block; font-size: 15px; line-height: 1; color: #dee2e6; vertical-align: -1px; }
.urz-stars::before { content: "★★★★★"; letter-spacing: 1px; }
.urz-stars > span { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: #f59f00; }
.urz-stars > span::before { content: "★★★★★"; letter-spacing: 1px; }
.urz-rv-summary { display: grid; grid-template-columns: 180px 1fr; gap: 18px; align-items: center; background: var(--urz-bg); border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.urz-rv-score { text-align: center; }
.urz-rv-score strong { display: block; font-size: 38px; line-height: 1.1; }
.urz-rv-score .urz-stars { font-size: 20px; }
.urz-rv-score > span:last-child { display: block; font-size: 12.5px; color: var(--urz-sub); margin-top: 4px; }
.urz .urz-rv-aspects { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; }
.urz-rv-aspects > div { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.urz .urz-rv-aspects dt { width: 8.5em; flex: none; font-weight: normal; margin: 0; }
.urz .urz-rv-aspects dd { margin: 0; display: flex; align-items: center; gap: 6px; flex: 1; font-variant-numeric: tabular-nums; }
.urz-bar { flex: 1; height: 7px; background: #e9ecef; border-radius: 99px; overflow: hidden; }
.urz-bar > span { display: block; height: 100%; background: #f59f00; }
.urz-rv-list { display: grid; gap: 10px; }
.urz-rv { border: 1px solid var(--urz-border); border-radius: 12px; padding: 12px 14px; background: #fff; }
.urz-reviews:not(.is-open) .urz-rv.is-more { display: none; }
.urz-rv header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.urz-rv header time { margin-left: auto; font-size: 12px; color: var(--urz-sub); }
.urz-rv-meta { margin: 2px 0 6px; font-size: 12.5px; color: var(--urz-sub); }
.urz-rv-block { margin-top: 6px; }
.urz-rv-block p { margin: 2px 0 0; font-size: 14px; }
.urz-rv-label { display: inline-block; font-size: 11.5px; font-weight: bold; border-radius: 4px; padding: 0 7px; }
.urz-rv-label.is-good { background: var(--urz-good-soft); color: var(--urz-good); }
.urz-rv-label.is-bad { background: #fff4e6; color: #d9480f; }
.urz-rv-form { margin-top: 16px; border: 2px solid var(--urz-accent); border-radius: 12px; padding: 0; overflow: hidden; }
.urz-rv-form summary { cursor: pointer; padding: 13px 16px; font-weight: bold; background: var(--urz-accent-soft); color: var(--urz-accent); list-style: none; text-align: center; }
.urz-rv-form summary::-webkit-details-marker { display: none; }
.urz-rv-form summary::before { content: "✎ "; }
.urz-rv-form form { padding: 16px; display: grid; gap: 12px; }
.urz-rv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.urz .urz-f textarea { width: 100%; padding: 8px 10px; border: 1px solid var(--urz-border); border-radius: 8px; font-size: 15px; font-family: inherit; }
.urz .urz-f > .urz-star-in, .urz .urz-star-in { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; margin: 0; }
.urz .urz-star-in input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.urz .urz-star-in label { font-size: 26px; line-height: 1; color: #dee2e6; cursor: pointer; padding: 0 1px; margin: 0; }
.urz .urz-star-in input:checked ~ label, .urz .urz-star-in label:hover, .urz .urz-star-in label:hover ~ label { color: #f59f00; }
.urz .urz-star-in input:focus-visible + label { outline: 2px solid var(--urz-accent); border-radius: 4px; }
.urz-rv-aspect-in { background: var(--urz-bg); border-radius: 10px; padding: 10px 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 18px; }
.urz-rv-aspect-in .urz-sub { grid-column: 1 / -1; font-size: 12.5px; color: var(--urz-sub); }
.urz-rv-aspect-row { display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; }
.urz-rv-aspect-row .urz-star-in label { font-size: 20px; }
.urz-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.urz .urz-rv-submit { border: 0; cursor: pointer; width: 100%; font-family: inherit; }
@media (max-width: 640px) {
  .urz-rv-summary, .urz-rv-grid, .urz-rv-aspect-in { grid-template-columns: 1fr; }
  .urz .urz-rv-aspects { grid-template-columns: 1fr; }
}

/* 1.4.1: お祝い金対象外の注意ボックス */
.urz-ngbox { margin: 16px 0 4px; border: 2px solid #e03131; border-radius: 12px; background: #fff5f5; overflow: hidden; }
.urz-ngbox__head { display: flex; align-items: center; gap: 10px; background: #e03131; color: #fff; padding: 10px 14px; }
.urz-ngbox__icon { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: #e03131; font-weight: 900; font-size: 17px; line-height: 26px; text-align: center; }
.urz .urz-ngbox__head h3 { margin: 0; padding: 0; border: 0; background: none; color: #fff; font-size: 16px; line-height: 1.4; }
.urz .urz-ngbox__head em { font-style: normal; background: #fff; color: #e03131; border-radius: 4px; padding: 0 6px; margin: 0 2px; }
.urz .urz-ngbox__lead { margin: 12px 14px 8px; font-size: 14px; font-weight: bold; color: #c92a2a; }
.urz .urz-ngbox__list { list-style: none; margin: 0 14px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.urz .urz-ngbox__list li { margin: 0; display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #ffc9c9; border-radius: 8px; padding: 8px 10px; font-size: 14px; font-weight: bold; color: var(--urz-ink); }
.urz .urz-ngbox__list li::before { content: "✕"; flex: none; width: 20px; height: 20px; border-radius: 50%; background: #e03131; color: #fff; font-size: 11px; line-height: 20px; text-align: center; }
.urz .urz-ngbox__foot { margin: 10px 14px 14px; font-size: 13px; color: var(--urz-sub); }
@media (max-width: 640px) { .urz .urz-ngbox__list { grid-template-columns: 1fr; } .urz .urz-ngbox__head h3 { font-size: 15px; } }

/* 1.5: 空室お知らせメール */
.urz-alert-box { border: 2px solid var(--urz-ink); border-radius: 14px; padding: 16px; background: #fff; }
.urz-alert-box__head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.urz-alert-box__icon { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--urz-ink); color: #fff; font-size: 22px; line-height: 44px; text-align: center; }
.urz .urz-alert-box .urz-h2 { margin: 0 0 2px; font-size: 1.2em; }
.urz-alert-box__head p { margin: 0; font-size: 13.5px; color: var(--urz-sub); }
.urz-alert-form { display: grid; gap: 12px; }
.urz .urz-alert-types { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.urz .urz-alert-types legend { font-size: 12.5px; color: var(--urz-sub); margin-bottom: 4px; padding: 0; }
.urz .urz-alert-types label { margin: 0; cursor: pointer; }
.urz .urz-alert-types input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.urz .urz-alert-types span { display: inline-block; border: 1px solid var(--urz-border); border-radius: 8px; padding: 6px 14px; font-size: 14px; font-weight: bold; background: #fff; }
.urz .urz-alert-types input:checked + span { background: var(--urz-ink); border-color: var(--urz-ink); color: #fff; }
.urz .urz-alert-types input:checked + span::before { content: "✓ "; }
.urz .urz-alert-types input:focus-visible + span { outline: 2px solid var(--urz-accent); }
.urz-alert-fields { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px 12px; }
@media (max-width: 640px) { .urz-alert-fields { grid-template-columns: 1fr; } }
.urz .urz-plan--ur { color: var(--urz-sub); }

/* 1.8.3: ご注意ボックス（1つに統合）・テーマの装飾を打ち消し */
.urz .urz-ngbox__title { margin: 0; padding: 0; color: #fff; font-size: 16px; font-weight: bold; line-height: 1.4; }
.urz .urz-ngbox__title::before, .urz .urz-ngbox__title::after,
.urz .urz-ngbox h3::before, .urz .urz-ngbox h3::after { display: none !important; content: none !important; }
.urz .urz-ngbox__sec { padding: 4px 0 2px; }
.urz .urz-ngbox__sec + .urz-ngbox__sec { border-top: 1px dashed #ffc9c9; margin-top: 12px; padding-top: 8px; }
.urz .urz-ngbox__sub { display: block; margin: 10px 14px 0; font-size: 15px; font-weight: bold; color: var(--urz-ink); }
.urz .urz-ngbox__sub span { display: inline-block; margin-right: 6px; vertical-align: 1px; width: 22px; height: 22px; border-radius: 50%; background: #e03131; color: #fff; font-size: 12px; line-height: 22px; text-align: center; }
.urz .urz-ngbox__sub em { white-space: nowrap; font-style: normal; background: #e03131; color: #fff; border-radius: 4px; padding: 0 6px; margin: 0 2px; }
.urz .urz-ngbox .urz-ngbox__lead { margin: 6px 14px 8px; font-size: 13.5px; }
.urz .urz-ngbox__list--3 { grid-template-columns: repeat(3, 1fr); }
.urz .urz-ngbox__list, .urz .urz-ngbox__list li { list-style: none !important; }
.urz .urz-ngbox__list li { position: relative; padding-left: 10px !important; }
.urz .urz-ngbox__list li::before { position: static !important; transform: none !important; margin: 0 !important; display: inline-block; }
@media (max-width: 640px) { .urz .urz-ngbox__list--3 { grid-template-columns: 1fr; } .urz .urz-ngbox__title { font-size: 15px; } }


/* ===== 2.0: 部屋一覧の表デザイン（PC・スマホ共通の表形式） ===== */
.urz { --urz-head: #1f3a5f; --urz-head-ink: #fff; --urz-zebra: #f6f8fb; --urz-hover: #fff7f0; }
.urz-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.urz .urz-table--vac { border-collapse: separate; border-spacing: 0; border: 1px solid #d9e0e8; border-radius: 12px; overflow: hidden; font-size: 14px; }
.urz .urz-table--vac th, .urz .urz-table--vac td { border: 0; border-bottom: 1px solid #e6ebf1; padding: 10px 12px; vertical-align: middle; }
.urz .urz-table--vac thead th { background: var(--urz-head); color: var(--urz-head-ink); font-size: 12.5px; font-weight: bold; letter-spacing: .04em; padding: 9px 12px; white-space: nowrap; }
.urz .urz-table--vac tbody tr:nth-child(even) td { background: var(--urz-zebra); }
.urz .urz-table--vac tbody tr:hover td { background: var(--urz-hover); }
.urz .urz-table--vac tbody tr:last-child td { border-bottom: 0; }
.urz .urz-table--vac tr.is-ng td { color: #6b7580; }
.urz-table--vac .c-room .r-name { display: block; font-weight: bold; font-size: 15px; color: var(--urz-ink); }
.urz-table--vac .c-room .r-floor { display: inline-block; font-size: 12px; color: var(--urz-sub); margin-right: 4px; }
.urz-table--vac .c-room .r-badges { display: inline-flex; flex-wrap: wrap; gap: 3px; vertical-align: 1px; }
.urz-table--vac .c-room .urz-badge { margin: 0; }
.urz-badge--ng { background: #868e96; }
.urz-table--vac .c-type .r-type { display: inline-block; background: var(--urz-head); color: #fff; border-radius: 5px; padding: 1px 8px; font-weight: bold; font-size: 13px; }
.urz-table--vac .c-type .r-area { display: inline-block; margin-left: 6px; font-size: 13px; color: var(--urz-sub); }
.urz-table--vac .c-type .urz-plan { display: block; margin-top: 4px; }
.urz-table--vac .c-rent { white-space: nowrap; }
.urz-table--vac .c-rent .r-rent { display: block; font-size: 18px; font-weight: 800; color: #c92a2a; line-height: 1.2; font-variant-numeric: tabular-nums; }
.urz-table--vac .c-rent .r-rent small { display: inline; font-size: 12px; color: inherit; margin-left: 1px; }
.urz-table--vac .c-rent .r-fee { display: block; font-size: 12px; color: var(--urz-sub); }
.urz-table--vac .c-rent .r-cb-sp { display: none; }
.urz-table--vac .c-cb small { display: block; font-size: 11.5px; }
.urz-table--vac .c-act { white-space: nowrap; text-align: right; }
.urz .urz-table--vac .c-act .urz-mini { display: block; width: 100%; text-align: center; margin: 0 0 4px; }
.urz .urz-table--vac .c-act .urz-mini--go { padding: 6px 14px; font-weight: bold; }
.urz .urz-table--vac thead th.c-act { width: 1%; }

@media (max-width: 640px) {
  .urz .urz-scroll { overflow: visible; }
  .urz .urz-table--vac { font-size: 13px; table-layout: fixed; width: 100%; }
  .urz .urz-table--vac th, .urz .urz-table--vac td { padding: 8px 6px; }
  .urz .urz-table--vac thead th { font-size: 11.5px; padding: 7px 6px; }
  .urz .urz-table--vac .c-cb { display: none; }
  .urz .urz-table--vac th.c-room, .urz .urz-table--vac td.c-room { width: 31%; }
  .urz .urz-table--vac th.c-type, .urz .urz-table--vac td.c-type { width: 23%; }
  .urz .urz-table--vac th.c-rent, .urz .urz-table--vac td.c-rent { width: 28%; }
  .urz .urz-table--vac thead th.c-act, .urz .urz-table--vac td.c-act { width: 18%; }
  .urz-table--vac .c-room .r-name { font-size: 13px; line-height: 1.35; word-break: keep-all; overflow-wrap: anywhere; }
  .urz-table--vac .c-type .r-type { font-size: 12px; padding: 0 6px; }
  .urz-table--vac .c-type .r-area { display: block; margin: 2px 0 0; font-size: 11.5px; }
  .urz .urz-table--vac .c-type .urz-plan { display: inline-block; font-size: 11.5px; margin-left: 0; }
  .urz-table--vac .c-rent { white-space: normal; }
  .urz-table--vac .c-rent .r-rent { font-size: 15.5px; }
  .urz-table--vac .c-rent .r-fee { font-size: 11px; }
  .urz-table--vac .c-rent .r-cb-sp { display: block; margin-top: 3px; }
  .urz-table--vac .c-rent .r-cb-sp .urz-tag { font-size: 10.5px; padding: 0 5px; white-space: nowrap; }
  .urz .urz-table--vac .c-act .urz-mini { font-size: 11.5px; padding: 4px 2px; }
  .urz .urz-table--vac .c-act .urz-mini--go { padding: 7px 2px; }
}

/* 号棟リンク・絞り込みチップもトーンを合わせる */
.urz .urz-chip.is-on { background: var(--urz-head); border-color: var(--urz-head); }
.urz-blds { background: #eef2f7; }
@media (max-width: 640px) {
  .urz-chips, .urz-blds { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
  .urz .urz-chip, .urz .urz-bld { flex: none; }
  .urz-blds__label { flex: none; white-space: nowrap; }
}

/* 概要の表 */
.urz .urz-table--kv { border-collapse: separate; border-spacing: 0; border: 1px solid #d9e0e8; border-radius: 12px; overflow: hidden; }
.urz .urz-table--kv th, .urz .urz-table--kv td { border: 0; border-bottom: 1px solid #e6ebf1; }
.urz .urz-table--kv tr:last-child th, .urz .urz-table--kv tr:last-child td { border-bottom: 0; }
.urz .urz-table--kv th { background: #eef2f7; color: var(--urz-head); }
@media (max-width: 640px) {
  .urz .urz-table--kv th, .urz .urz-table--kv td { display: block; width: auto; }
  .urz .urz-table--kv th { padding: 6px 12px; font-size: 12.5px; border-bottom: 0; }
  .urz .urz-table--kv td { padding: 6px 12px 10px; }
}

/* ===== 2.1: 初期費用＋お祝い金プレゼント（アニメーション） ===== */
.urz-giftrow { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10px; margin-top: 12px; align-items: stretch; }
.urz-init { background: #f1f3f5; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; justify-content: center; }
.urz-init span { font-size: 12px; color: var(--urz-sub); font-weight: bold; }
.urz-init strong { font-size: 20px; font-weight: 800; color: var(--urz-ink); line-height: 1.25; font-variant-numeric: tabular-nums; }
.urz-init strong small, .urz-gift__num small { display: inline; font-size: 12px; color: inherit; margin-left: 1px; }
.urz-gift { position: relative; overflow: hidden; border-radius: 12px; padding: 10px 12px 9px; color: #fff;
  background: linear-gradient(135deg, #ff6b35 0%, #f03e3e 55%, #d6336c 100%); box-shadow: 0 6px 18px rgba(240, 62, 62, .28); }
.urz-gift::before { content: ""; position: absolute; top: 0; left: -60%; width: 45%; height: 100%; transform: skewX(-20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.45), rgba(255,255,255,0)); animation: urz-shine 3.2s ease-in-out infinite; }
.urz-gift__ribbon { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: bold; letter-spacing: .02em; }
.urz-gift__icon { width: 18px; height: 18px; flex: none; animation: urz-wiggle 2.6s ease-in-out infinite; transform-origin: 50% 80%; }
.urz-gift__num { display: block; font-size: 24px; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 rgba(0,0,0,.12); }
.urz-gift__note { display: block; font-size: 10.5px; opacity: .9; color: #fff; }
.urz-gift.is-play .urz-gift__num { animation: urz-pop .7s cubic-bezier(.2,1.6,.4,1) both; }
.urz-gift__spark { position: absolute; inset: 0; pointer-events: none; }
.urz-gift__spark i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #fff3bf; opacity: 0; }
.urz-gift__spark i:nth-child(1) { top: 18%; right: 12%; }
.urz-gift__spark i:nth-child(2) { top: 62%; right: 6%; width: 4px; height: 4px; }
.urz-gift__spark i:nth-child(3) { top: 30%; right: 30%; width: 5px; height: 5px; }
.urz-gift__spark i:nth-child(4) { top: 75%; right: 24%; width: 3px; height: 3px; }
.urz-gift.is-play .urz-gift__spark i { animation: urz-spark 1.2s ease-out both; }
.urz-gift.is-play .urz-gift__spark i:nth-child(2) { animation-delay: .15s; }
.urz-gift.is-play .urz-gift__spark i:nth-child(3) { animation-delay: .3s; }
.urz-gift.is-play .urz-gift__spark i:nth-child(4) { animation-delay: .45s; }
.urz-gift.is-none { background: #adb5bd; box-shadow: none; }
.urz-gift.is-none::before, .urz-gift.is-none .urz-gift__spark { display: none; }
.urz-gift.is-none .urz-gift__icon { animation: none; }
@keyframes urz-shine { 0%, 55% { left: -60%; } 100% { left: 130%; } }
@keyframes urz-wiggle { 0%, 70%, 100% { transform: rotate(0); } 76% { transform: rotate(-14deg) scale(1.1); } 84% { transform: rotate(12deg) scale(1.1); } 92% { transform: rotate(-6deg); } }
@keyframes urz-pop { 0% { transform: scale(.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes urz-spark { 0% { opacity: 0; transform: scale(.2); } 30% { opacity: 1; transform: scale(1.6); } 100% { opacity: 0; transform: scale(.4) translateY(-10px); } }
@media (prefers-reduced-motion: reduce) {
  .urz-gift::before, .urz-gift__icon, .urz-gift.is-play .urz-gift__num, .urz-gift.is-play .urz-gift__spark i { animation: none !important; }
}
.urz-sim__out .urz-giftrow { margin-top: 10px; }
@media (max-width: 640px) {
  .urz-giftrow { grid-template-columns: 1fr 1.3fr; gap: 8px; }
  .urz-init strong { font-size: 17px; }
  .urz-gift__num { font-size: 21px; }
  .urz-gift__ribbon { font-size: 11px; }
}
.urz .urz-gift .urz-gift__note { color: #fff !important; opacity: .92; }
.urz-init strong, .urz-gift__num { white-space: nowrap; }
.urz-card .urz-init strong { font-size: 17px; }
.urz-card .urz-gift__num { font-size: 21px; }
.urz-card .urz-giftrow { grid-template-columns: 1fr 1.35fr; gap: 8px; }
.urz-card .urz-init, .urz-card .urz-gift { padding: 9px 10px; }

/* 2.2: 割引制度アイコン（部屋番号の下） */
.urz-table--vac .c-room .r-sys { display: flex; flex-wrap: wrap; gap: 3px; margin: 3px 0 2px; }
.urz-sys { display: inline-flex; align-items: center; gap: 3px; border-radius: 4px; padding: 1px 7px 1px 5px; font-size: 11.5px; font-weight: bold; line-height: 1.6; white-space: nowrap; border: 1px solid transparent; }
.urz-sys svg { width: 11px; height: 11px; flex: none; }
.urz-sys--kosodate  { background: #c5e8f7; color: #0b5c80; border-color: #9fd3ea; }
.urz-sys--kinkyo    { background: #d3f9d8; color: #2b8a3e; border-color: #b2f2bb; }
.urz-sys--mama      { background: #ffe3ec; color: #c2255c; border-color: #fcc2d7; }
.urz-sys--u35       { background: #fff3bf; color: #b35c00; border-color: #ffe066; }
.urz-sys--kenko     { background: #e5dbff; color: #5f3dc4; border-color: #d0bfff; }
.urz-sys--korei     { background: #ffe8cc; color: #d9480f; border-color: #ffd8a8; }
.urz-sys--teishaku, .urz-sys--tokubetsu, .urz-sys--lite, .urz-sys--other { background: #e9ecef; color: #495057; border-color: #dee2e6; }
@media (max-width: 640px) { .urz-sys { font-size: 10.5px; padding: 0 5px 0 4px; } .urz-sys svg { width: 10px; height: 10px; } }

/* ===== 2.3: 一覧の家賃は黒、お祝い金を目立たせる ===== */
.urz-table--vac .c-rent .r-rent { color: var(--urz-ink); }
.urz-cbtag { position: relative; overflow: hidden; display: inline-flex; align-items: baseline; gap: 3px; white-space: nowrap;
  padding: 4px 10px 4px 8px; border-radius: 999px; color: #fff; font-weight: bold;
  background: linear-gradient(135deg, #ff6b35 0%, #f03e3e 55%, #d6336c 100%);
  box-shadow: 0 3px 10px rgba(240, 62, 62, .3); animation: urz-cbpulse 2.8s ease-in-out infinite; }
.urz-cbtag::before { content: ""; position: absolute; top: 0; left: -70%; width: 40%; height: 100%; transform: skewX(-20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0)); animation: urz-shine 3s ease-in-out infinite; }
.urz-cbtag svg { width: 14px; height: 14px; align-self: center; flex: none; animation: urz-wiggle 2.6s ease-in-out infinite; transform-origin: 50% 80%; }
.urz-cbtag__label { font-size: 10.5px; opacity: .95; }
.urz-cbtag__num { font-size: 17px; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.urz .urz-cbtag small { display: inline; font-size: 11px; color: #fff; }
.urz-cbtag.is-in { animation: urz-cbin .6s cubic-bezier(.2,1.6,.4,1) both, urz-cbpulse 2.8s ease-in-out .6s infinite; }
@keyframes urz-cbpulse { 0%, 100% { box-shadow: 0 3px 10px rgba(240,62,62,.3); transform: scale(1); } 50% { box-shadow: 0 4px 16px rgba(240,62,62,.5); transform: scale(1.04); } }
@keyframes urz-cbin { 0% { transform: scale(.5); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.urz-table--vac .c-cb .urz-cbtag { margin: 0; }
.urz-cbtag--sp { padding: 2px 8px 2px 6px; gap: 2px; }
.urz-cbtag--sp .urz-cbtag__num { font-size: 13.5px; }
.urz-cbtag--sp .urz-cbtag__label { font-size: 9.5px; }
.urz-cbtag--sp svg { width: 11px; height: 11px; }
.urz-table--vac .c-rent .r-cb-sp .urz-cbtag { font-size: inherit; }
@media (prefers-reduced-motion: reduce) { .urz-cbtag, .urz-cbtag::before, .urz-cbtag svg, .urz-cbtag.is-in { animation: none !important; } }
/* スマホ：お祝い金タグは「お祝い金」の小見出し＋アイコン・金額に */
.urz-cbtag--sp .urz-cbtag__label { display: none; }
.urz-table--vac .c-rent .r-cb-sp::before { content: none; }
@media (max-width: 640px) {
  .urz-table--vac .c-rent .r-cb-sp { margin-top: 4px; }
  .urz-table--vac .c-rent .r-cb-sp:has(.urz-cbtag)::before { content: "入居お祝い金"; display: block; font-size: 10px; font-weight: bold; color: #e03131; line-height: 1.3; }
  .urz-cbtag--sp { padding: 2px 7px 2px 5px; max-width: 100%; }
  .urz-cbtag--sp .urz-cbtag__num { font-size: 13px; }
  .urz-cbtag--sp small { font-size: 10px; }
}
@media (max-width: 640px) {
  .urz .urz-table--vac th.c-room, .urz .urz-table--vac td.c-room { width: 29%; }
  .urz .urz-table--vac th.c-type, .urz .urz-table--vac td.c-type { width: 20%; }
  .urz .urz-table--vac th.c-rent, .urz .urz-table--vac td.c-rent { width: 34%; }
  .urz .urz-table--vac thead th.c-act, .urz .urz-table--vac td.c-act { width: 17%; }
  .urz .urz-table--vac td.c-rent { padding-right: 4px; }
}
@media (max-width: 640px) {
  .urz .urz-table--vac th.c-rent, .urz .urz-table--vac td.c-rent { width: 33%; }
  .urz .urz-table--vac thead th.c-act, .urz .urz-table--vac td.c-act { width: 18%; padding-left: 3px; padding-right: 4px; }
  .urz .urz-table--vac .c-act .urz-mini { font-size: 10.5px; letter-spacing: -.02em; }
}

/* 2.3.2: 入居お祝い金タグを2段（上：入居お祝い金／下：金額） */
.urz-cbtag { display: inline-flex; flex-direction: column; align-items: center; gap: 0; border-radius: 10px; padding: 5px 12px 6px; line-height: 1.2; }
.urz-cbtag__head { display: inline-flex; align-items: center; gap: 3px; }
.urz-cbtag__head svg { width: 12px; height: 12px; }
.urz-cbtag .urz-cbtag__label, .urz-cbtag--sp .urz-cbtag__label { display: inline; font-size: 10.5px; font-weight: bold; opacity: .95; }
.urz-cbtag__amt { display: inline-flex; align-items: baseline; gap: 1px; }
.urz-cbtag__num { font-size: 19px; }
.urz-cbtag--sp { padding: 3px 8px 4px; }
.urz-cbtag--sp .urz-cbtag__label { font-size: 9.5px; }
.urz-cbtag--sp .urz-cbtag__head svg { width: 10px; height: 10px; }
.urz-cbtag--sp .urz-cbtag__num { font-size: 14.5px; }
@media (max-width: 640px) {
  .urz-table--vac .c-rent .r-cb-sp:has(.urz-cbtag)::before { content: none; display: none; }
}
/* 2.5: 空室お知らせ（階数・表示名なし） */
.urz-alert-fields--one { grid-template-columns: 1fr; max-width: 520px; }
.urz .urz-alert-floors span { background: #fff; }
.urz .urz-alert-floors input:checked + span { background: #1c7ed6; border-color: #1c7ed6; }
.urz .urz-check--text { display: block; font-size: 13.5px; line-height: 1.7; }
.urz .urz-check--text input { vertical-align: -2px; margin-right: 4px; }

/* 2.6: 間取り図の拡大表示 */
.urz-planbox { position: fixed; inset: 0; z-index: 99999; background: rgba(15, 23, 32, .72); display: flex; align-items: center; justify-content: center; padding: 16px; }
.urz-planbox__in { position: relative; background: #fff; border-radius: 12px; padding: 14px 14px 12px; max-width: min(720px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
.urz-planbox__in img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; background: #fff; }
.urz-planbox__t { margin: 0 32px 8px 0; align-self: flex-start; font-weight: bold; font-size: 14px; color: #1f2933; }
.urz-planbox__x { position: absolute; top: 6px; right: 8px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f1f3f5; color: #1f2933; font-size: 22px; line-height: 34px; cursor: pointer; padding: 0; }
.urz-planbox__open { margin-top: 8px; font-size: 12.5px; }

/* 2.7.1: 計算機の「入居日」「審査方法（所得証明書）」に色付け */
.urz .urz-f--hl > span { display: inline-block; color: #fff; font-weight: bold; font-size: 12px; border-radius: 6px 6px 0 0; padding: 2px 10px; margin-bottom: 0; }
.urz .urz-f--hl input, .urz .urz-f--hl select { border-width: 2px; border-radius: 0 8px 8px 8px; font-weight: bold; }
.urz .urz-f--date > span { background: #1c7ed6; }
.urz .urz-f--date input { border-color: #1c7ed6; background: #e7f5ff; color: #1864ab; }
.urz .urz-f--plan > span { background: #2f9e44; }
.urz .urz-f--plan select { border-color: #2f9e44; background-color: #ebfbee; color: #2b8a3e; }
.urz .urz-f--hl input:focus, .urz .urz-f--hl select:focus { outline: 3px solid rgba(28, 126, 214, .25); outline-offset: 1px; }
.urz .urz-check[hidden] { display: none !important; }

/* ===== 2.8: 必要書類（審査方法に連動） ===== */
.urz-docs { margin-top: 14px; border: 2px solid #2f9e44; border-radius: 12px; background: #fff; overflow: hidden; }
.urz .urz-docs__title { margin: 0; padding: 9px 14px; background: #ebfbee; color: #2b8a3e; font-weight: bold; font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.urz-docs__title span { background: #2f9e44; color: #fff; border-radius: 999px; padding: 1px 10px; font-size: 12px; }
.urz .urz-docs__list { list-style: none; margin: 0; padding: 8px 14px 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.urz .urz-docs__list li { margin: 0; padding: 6px 0 6px 26px; position: relative; border-bottom: 1px dashed #e6ebf1; font-size: 14px; }
.urz .urz-docs__list li::before { content: "✓"; position: absolute; left: 0; top: 7px; width: 18px; height: 18px; border-radius: 50%; background: #2f9e44; color: #fff; font-size: 11px; line-height: 18px; text-align: center; font-weight: bold; }
.urz .urz-docs__list li b { display: block; }
.urz .urz-docs__list li small { display: block; font-size: 12px; color: #d9480f; }
.urz .urz-docs__note { margin: 4px 14px 10px; font-size: 12px; color: var(--urz-sub); }
.urz-docs__panel[hidden] { display: none !important; }
@media (max-width: 640px) { .urz .urz-docs__list { grid-template-columns: 1fr; } }

/* ===== 2.8: 冒頭の募集状況をわかりやすく ===== */
.urz-hero2 { border: 1px solid #d9e0e8; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 4px 16px rgba(31,58,95,.06); }
.urz-hero2__top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; background: var(--urz-head, #1f3a5f); color: #fff; padding: 10px 16px; }
.urz .urz-hero2__title { margin: 0; font-size: 17px; font-weight: bold; color: #fff; }
.urz .urz-hero2__time { margin: 0; font-size: 12px; opacity: .85; color: #fff; }
.urz-hero2__gift { position: relative; overflow: hidden; display: flex; align-items: center; gap: 12px; margin: 14px 14px 0; padding: 12px 16px; border-radius: 12px; color: #fff;
  background: linear-gradient(135deg, #ff6b35 0%, #f03e3e 55%, #d6336c 100%); }
.urz-hero2__gift::before { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; transform: skewX(-20deg); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.45), rgba(255,255,255,0)); animation: urz-shine 3.4s ease-in-out infinite; }
.urz-hero2__gift > svg { width: 40px; height: 40px; flex: none; animation: urz-wiggle 2.6s ease-in-out infinite; transform-origin: 50% 80%; }
.urz .urz-hero2__gift p { margin: 0; color: #fff; line-height: 1.45; }
.urz .urz-hero2__gift-l { font-size: 12px; opacity: .95; }
.urz .urz-hero2__gift-m { font-size: 18px; font-weight: bold; }
.urz .urz-hero2__gift-m b { font-size: 24px; background: #fff; color: #e03131; border-radius: 6px; padding: 0 8px; margin: 0 2px; }
.urz .urz-hero2__gift-s { font-size: 12.5px; margin-top: 2px !important; }
.urz .urz-hero2__gift-s b { font-size: 15px; }
.urz-hero2__stats { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 10px; padding: 14px; }
.urz .urz-hstat { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 12px; background: #f6f8fb; border: 1px solid #e6ebf1; text-decoration: none; color: var(--urz-ink); }
.urz-hstat__l { font-size: 12.5px; font-weight: bold; color: var(--urz-sub); }
.urz-hstat__v { font-size: 26px; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; color: var(--urz-ink); }
.urz-hstat__v small { display: inline; font-size: 13px; font-weight: bold; color: var(--urz-sub); margin: 0 2px; }
.urz .urz-hstat--count { background: #e7f5ff; border-color: #a5d8ff; }
.urz .urz-hstat--count .urz-hstat__v { color: #1864ab; font-size: 32px; }
.urz-hstat__go { font-size: 12px; font-weight: bold; color: #1c7ed6; }
.urz .urz-hstat--count:hover { background: #d0ebff; }
.urz .urz-hero2__zero { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0 14px 14px; }
.urz .urz-hero2__zero li { margin: 0; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #ebfbee; color: #2b8a3e; font-size: 13px; font-weight: bold; border: 1px solid #b2f2bb; }
.urz .urz-hero2__zero li b { background: #2f9e44; color: #fff; border-radius: 999px; padding: 0 8px; font-size: 12px; }
.urz-sp { display: none; }
@media (max-width: 640px) {
  .urz-hero2__stats { grid-template-columns: 1fr 1fr; }
  .urz .urz-hstat--count { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; }
  .urz-hstat__v { font-size: 21px; }
  .urz .urz-hstat--count .urz-hstat__v { font-size: 28px; }
  .urz-sp { display: inline; }
  .urz .urz-hero2__gift-m { font-size: 15.5px; }
  .urz .urz-hero2__gift-m b { font-size: 19px; }
  .urz-hero2__gift > svg { width: 32px; height: 32px; }
  .urz .urz-hero2__zero li { font-size: 12px; padding: 4px 10px; }
}
@media (prefers-reduced-motion: reduce) { .urz-hero2__gift::before, .urz-hero2__gift > svg { animation: none !important; } }
.urz .urz-hero2__gift-m span, .urz .urz-hero2__gift-m b { white-space: nowrap; display: inline-block; }

/* 2.8.1: 冒頭（元のデザイン）の数字をわかりやすく */
.urz-stats { grid-template-columns: 1fr 1.6fr 1fr; gap: 10px; }
.urz .urz-stat { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; text-decoration: none; color: var(--urz-ink); }
.urz .urz-stat .urz-stat__l { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: bold; color: #495057; }
.urz .urz-stat .urz-stat__l svg { width: 16px; height: 16px; flex: none; color: #868e96; }
.urz .urz-stat strong { font-size: 26px; font-weight: 900; line-height: 1.25; color: var(--urz-ink); white-space: nowrap; }
.urz .urz-stat strong small { font-size: 13px; font-weight: bold; color: #495057; margin: 0 1px; }
.urz .urz-stat strong i { font-style: normal; font-size: 16px; color: #868e96; margin: 0 4px; }
.urz .urz-stat em { font-style: normal; font-size: 11.5px; color: var(--urz-sub); }
.urz .urz-stat--count { border-color: #a5d8ff; background: #e7f5ff; }
.urz .urz-stat--count .urz-stat__l svg { color: #1c7ed6; }
.urz .urz-stat--count strong { color: #1864ab; font-size: 32px; }
.urz .urz-stat--count em { color: #1c7ed6; font-weight: bold; }
.urz .urz-stat--count:hover { background: #d0ebff; }
@media (max-width: 640px) {
  .urz-stats { grid-template-columns: 1fr 1fr; }
  .urz .urz-stat--count { grid-column: 1 / -1; order: -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .urz .urz-stat--count strong { font-size: 28px; }
  .urz .urz-stat:nth-child(2) { grid-column: auto; order: 0; }
  .urz .urz-stat strong { font-size: 20px; }
  .urz .urz-stat strong i { margin: 0 2px; }
}

/* 2.9: 空室お知らせ 希望の家賃 */
.urz .urz-alert-rent { border: 0; margin: 0; padding: 0; }
.urz .urz-alert-rent legend { font-size: 12.5px; color: var(--urz-sub); margin-bottom: 4px; padding: 0; }
.urz-alert-rent__row { display: flex; align-items: center; gap: 8px; max-width: 420px; }
.urz .urz-alert-rent select { flex: 1; min-width: 0; padding: 9px 10px; border: 2px solid #f08c00; border-radius: 8px; background: #fff9db; color: #8a4b00; font-weight: bold; font-size: 15px; }
.urz-alert-rent__row span { font-weight: bold; color: var(--urz-sub); }

/* 2.9.1:「残り○件を表示」ボタンを明るく・太く・大きく */
.urz .urz-more { border: 0; border-radius: 10px; padding: 13px 16px; font-size: 16.5px; font-weight: 800; letter-spacing: .03em; color: #fff;
  background: linear-gradient(135deg, #339af0 0%, #1c7ed6 100%); box-shadow: 0 4px 12px rgba(28, 126, 214, .3); cursor: pointer; transition: transform .15s, box-shadow .15s; }
.urz .urz-more::after { content: " ▼"; font-size: 12px; }
.urz .urz-more:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(28, 126, 214, .4); color: #fff; }
.urz .urz-more:focus-visible { outline: 3px solid #a5d8ff; outline-offset: 2px; }

/* 3.0: 制度・ラベルの説明（クリックで表示） */
.urz button.urz-sys, .urz button.urz-badge { cursor: pointer; font-family: inherit; line-height: 1.6; margin: 0; }
.urz button.urz-badge { border: 0; color: #fff; }
.urz-sys i, .urz-badge i { font-style: normal; display: inline-block; width: 13px; height: 13px; line-height: 13px; border-radius: 50%; background: rgba(0,0,0,.12); font-size: 9px; text-align: center; margin-left: 3px; font-weight: bold; }
.urz-badge i { background: rgba(255,255,255,.3); }
.urz button.urz-sys:hover, .urz button.urz-badge:hover { filter: brightness(.96); text-decoration: underline; }
.urz-tip { position: absolute; z-index: 99998; width: 320px; max-width: calc(100vw - 16px); background: #fff; border: 1px solid #d9e0e8; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 12px 14px 12px; font-size: 13.5px; line-height: 1.7; color: #1f2933; }
.urz-tip.is-sheet { position: fixed; left: 8px; right: 8px; bottom: 8px; width: auto; max-width: none; border-radius: 14px; animation: urz-sheet .2s ease-out; }
@keyframes urz-sheet { from { transform: translateY(20px); opacity: 0; } to { transform: none; opacity: 1; } }
.urz-tip__t { margin: 0 28px 4px 0; font-weight: bold; font-size: 15px; color: #1f3a5f; }
.urz-tip__b { margin: 0; }
.urz-tip__a { display: inline-block; margin-top: 6px; font-weight: bold; font-size: 13px; }
.urz-tip__x { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #f1f3f5; font-size: 18px; line-height: 28px; cursor: pointer; padding: 0; color: #1f2933; }

/* 必要書類：ケース別の書類 */
.urz .urz-docs__list li.is-case { grid-column: 1 / -1; background: #fff9db; border-radius: 8px; border-bottom: 0; padding: 8px 10px 8px 34px; }
.urz .urz-docs__list li.is-case::before { left: 9px; top: 9px; background: #f08c00; content: "!"; }
.urz .urz-docs__dl { display: inline-block; margin-top: 3px; font-size: 12.5px; font-weight: bold; }
.urz .urz-docs__dl::before { content: "📄 "; }

/* 3.1: 住戸ページ（UR公式）リンク */
.urz .urz-plan--room { display: block; margin-top: 3px; font-size: 12px; color: #2f9e44; font-weight: bold; }
.urz .urz-plan--room:hover { color: #2b8a3e; }
@media (max-width: 640px) { .urz .urz-table--vac .c-type .urz-plan--room { display: block; font-size: 11px; line-height: 1.35; } }
@media (max-width: 640px) {
  .urz .urz-pc { display: none; }
  .urz .urz-table--vac .c-type .urz-plan { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 640px) {
  .urz .urz-table--vac .c-type .urz-plan::after { content: none; }
  .urz .urz-table--vac .c-type .urz-plan { display: block; margin-top: 3px; }
}

/* ===== 3.2: 仮予約フォーム ===== */
.urz-rsv { max-width: 760px; margin-left: auto; margin-right: auto; }
.urz-rsv__intro { background: var(--urz-accent-soft); border: 1px solid #ffd8a8; border-radius: 12px; padding: 14px 16px; margin-bottom: 16px; }
.urz .urz-rsv__title { margin: 0 0 4px; font-size: 20px; font-weight: 900; color: var(--urz-ink); }
.urz-rsv__intro p { margin: 0; font-size: 14px; }
.urz-rsv__intro b { color: #e03131; }
.urz-rsv__form { display: block; }
.urz .urz-rsv__h { margin: 22px 0 8px; padding: 6px 12px; font-size: 15px; font-weight: bold; color: #fff; background: var(--urz-head, #1f3a5f); border-radius: 8px; border: 0; }
.urz .urz-rsv__h::before, .urz .urz-rsv__h::after { content: none !important; display: none !important; }
.urz-rf { display: grid; grid-template-columns: 200px 1fr; gap: 6px 16px; padding: 12px 4px; border-bottom: 1px solid #e6ebf1; align-items: start; }
.urz-rf__l { font-weight: bold; font-size: 14px; padding-top: 9px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.urz .urz-req, .urz .urz-opt { font-style: normal; font-size: 11px; border-radius: 4px; padding: 0 6px; line-height: 1.7; }
.urz .urz-req { background: #e03131; color: #fff; }
.urz .urz-opt { background: #e9ecef; color: #495057; }
.urz .urz-rf__i input[type=text], .urz .urz-rf__i input[type=tel], .urz .urz-rf__i input[type=email], .urz .urz-rf__i input[type=date], .urz .urz-rf__i select, .urz .urz-rf__i textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #ced4da; border-radius: 8px; font-size: 16px; background: #fff; color: var(--urz-ink); font-family: inherit; box-sizing: border-box; height: auto; }
.urz .urz-rf__i input:focus, .urz .urz-rf__i select:focus, .urz .urz-rf__i textarea:focus { outline: 3px solid rgba(28,126,214,.2); border-color: #1c7ed6; }
.urz-rsv__form.is-checked :invalid { border-color: #e03131 !important; background: #fff5f5 !important; }
.urz .urz-rsv__addr2, .urz .urz-rsv__other { margin-top: 8px; }
.urz-rsv__zip { display: flex; align-items: center; gap: 8px; }
.urz .urz-rsv__zip input { max-width: 180px; }
.urz .urz-rsv__zip .urz-mini { white-space: nowrap; padding: 8px 12px; font-size: 13px; }
.urz .urz-rsv__hint, .urz .urz-rsv__wareki { margin: 4px 0 0; font-size: 12.5px; color: var(--urz-sub); }
.urz .urz-rsv__wareki.is-on { color: #1864ab; font-weight: bold; font-size: 14px; }
.urz-rsv__radios { display: flex; flex-wrap: wrap; gap: 8px; }
.urz .urz-rsv__radios label { margin: 0; cursor: pointer; }
.urz .urz-rsv__radios input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.urz .urz-rsv__radios span { display: inline-block; min-width: 90px; text-align: center; border: 2px solid #ced4da; border-radius: 10px; padding: 8px 14px; font-weight: bold; font-size: 14.5px; background: #fff; }
.urz .urz-rsv__radios input:checked + span { border-color: #1c7ed6; background: #e7f5ff; color: #1864ab; }
.urz .urz-rsv__radios input:focus-visible + span { outline: 3px solid rgba(28,126,214,.3); }
.urz .urz-rsv__fam { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.urz .urz-rsv__fam li { margin: 0; display: grid; grid-template-columns: 60px 1fr; align-items: center; gap: 8px; }
.urz .urz-rsv__fam li[hidden] { display: none; }
.urz-rsv__fam li > span { font-size: 13px; font-weight: bold; color: var(--urz-sub); }
.urz-rsv__fam li > b { padding: 8px 12px; background: #f1f3f5; border-radius: 8px; font-size: 14px; }
.urz-rsv__room { background: #e7f5ff; border: 2px solid #74c0fc; border-radius: 12px; padding: 12px 16px; }
.urz .urz-rsv__room p { margin: 0; }
.urz .urz-rsv__room-n { font-size: 18px; font-weight: 900; color: #1864ab; }
.urz .urz-rsv__room-i { font-size: 14px; font-weight: bold; margin-top: 2px !important; }
.urz .urz-rsv__room-s { font-size: 12px; color: var(--urz-sub); margin-top: 4px !important; }
.urz-rsv__agree { margin: 18px 0 10px; }
.urz .urz-rsv__submit { font-size: 17px; padding: 15px; }
.urz .urz-rsv__submit:disabled { opacity: .6; }
.urz-rsv__thanks { padding: 18px; }
.urz .urz-rsv__thanks p { margin: 0 0 6px; }
.urz .urz-rsv__thanks-t { font-size: 18px; font-weight: 900; }
@media (max-width: 640px) {
  .urz-rf { grid-template-columns: 1fr; gap: 4px; }
  .urz-rf__l { padding-top: 0; }
  .urz .urz-rsv__radios span { min-width: 0; padding: 8px 12px; }
}

/* 3.3: 仮予約フォーム冒頭の注意点（押すと開く）＋確認チェック */
.urz-rsv__notice { border: 2px solid #e03131; border-radius: 14px; background: #fff5f5; overflow: hidden; margin: 0 0 10px; }
.urz-rsv__notice summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #e03131; color: #fff; }
.urz-rsv__notice summary::-webkit-details-marker { display: none; }
.urz-rsv__notice-ic { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #e03131; font-weight: 900; font-size: 18px; line-height: 30px; text-align: center; }
.urz-rsv__notice-t { flex: 1; font-size: 17px; font-weight: 900; line-height: 1.35; }
.urz-rsv__notice-t small { display: block; font-size: 12px; font-weight: bold; opacity: .9; color: #fff; }
.urz-rsv__notice-arw { flex: none; width: 12px; height: 12px; border-right: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(45deg); margin: -6px 6px 0; transition: transform .25s; }
.urz-rsv__notice[open] .urz-rsv__notice-arw { transform: rotate(-135deg); margin-top: 6px; }
.urz-rsv__notice:not([open]) summary { animation: urz-cbpulse 2.8s ease-in-out infinite; }
.urz-rsv__notice-body { padding: 4px 6px 6px; animation: urz-open .3s ease-out; }
.urz-rsv__notice-body .urz-ngbox { margin: 8px 0 0; border: 0; background: transparent; }
.urz-rsv__notice-body .urz-ngbox__head { display: none; }
@keyframes urz-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.urz .urz-rsv__notice-ok { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; padding: 12px 14px; border: 2px solid #2f9e44; border-radius: 12px; background: #ebfbee; font-size: 15px; cursor: pointer; }
.urz .urz-rsv__notice-ok input { width: 22px; height: 22px; flex: none; accent-color: #2f9e44; }
.urz .urz-rsv__notice-ok b { color: #e03131; }
.urz .urz-rsv__notice-ok.is-locked { opacity: .55; border-style: dashed; }
.urz-rsv__form.is-checked .urz-rsv__notice-ok:has(input:invalid) { border-color: #e03131; background: #fff5f5; }
@media (max-width: 640px) { .urz-rsv__notice-t { font-size: 15.5px; } }

/* テーマの装飾の打ち消し（STEPバッジ・注意アイコン） */
.urz .urz-steps li::before { width: auto !important; height: auto !important; min-width: 0 !important; line-height: 1.5 !important; border-radius: 4px !important; white-space: nowrap; border: 0 !important; box-shadow: none !important; }
.urz .urz-ngbox__icon, .urz .urz-rsv__notice-ic { border: 0 !important; box-shadow: none !important; outline: 0 !important; }
.urz .urz-ngbox__icon::before, .urz .urz-ngbox__icon::after, .urz .urz-rsv__notice-ic::before, .urz .urz-rsv__notice-ic::after { content: none !important; display: none !important; }
.urz-rsv__notice .is-o { display: none; }
.urz-rsv__notice[open] .is-o { display: inline; }
.urz-rsv__notice[open] .is-c { display: none; }
.urz .urz-ngbox__lead b { color: #c92a2a; text-decoration: underline; }
.urz .urz-rsv__room-w { margin-top: 6px !important; font-size: 13px; font-weight: bold; color: #c92a2a; background: #fff; border-radius: 6px; padding: 4px 8px; }
.urz .urz-rsv__room-w--alone { margin: 10px 0 0; border: 1px solid #ffc9c9; background: #fff5f5; padding: 8px 12px; border-radius: 8px; }
.urz .urz-rf__i select[disabled] { background: #f1f3f5; color: #868e96; }
/* v3.6.0 入居人数ボタン */
.urz .urz-rsv__people { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; max-width: 560px; margin-bottom: 10px; }
.urz .urz-rsv__people span { min-width: 0; width: 100%; padding: 10px 0; font-size: 15px; }
@media (max-width: 600px) { .urz .urz-rsv__people { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
[data-urz-work][hidden] { display: none !important; }
/* v3.7.0 生年月日 年・月・日 */
.urz .urz-rsv__birth { display: grid; grid-template-columns: 2.4fr 1fr 1fr; gap: 6px; max-width: 520px; }
.urz .urz-rsv__birth select { width: 100%; min-width: 0; }
