/* Keep lazy placeholders inside the same image frame as the loaded photograph. */
.property-thumbnail {
    max-width: 100%;
    height: auto;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex="0"]:focus-visible {
    outline: 3px solid #111;
    outline-offset: 3px;
}

button[data-site-menu],
button[data-site-search],
button[data-site-menu-close] {
    appearance: none;
    font: inherit;
    text-align: inherit;
    cursor: pointer;
    border: 0;
    background: transparent;
    border-radius: 0;
}

:where(button[data-site-menu], button[data-site-search], button[data-site-menu-close]) {
    padding: 0;
}

html[data-site-layout="mobile"] #exMenu {
    position: fixed;
    inset: 32px 0 auto;
    width: calc(100% - 64px);
    max-width: 686px;
    min-height: 0;
    max-height: calc(100vh - 64px);
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding-block: 12px;
    z-index: 10001;
}

html[data-site-layout="mobile"] #exMenu > ul {
    position: relative;
    top: auto;
    width: 100%;
}

html[data-site-layout="mobile"] #exMenu > ul > li > .link {
    display: block;
    padding-right: 80px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

html[data-site-layout="mobile"] #exMenu.is-open {
    display: block;
}

html[data-site-layout="mobile"].site-menu-open,
html[data-site-layout="mobile"].site-menu-open body {
    overflow: hidden;
}

html[data-site-layout="mobile"].site-menu-open #overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 10000;
}

/* Preserve the existing accent hues while keeping small text legible. */
html[data-site-code] .col01 { color: #9e0004 !important; }
html[data-site-code] .col02 { color: #087b08 !important; }
html[data-site-code] .col03 { color: #17669e !important; }
html[data-site-code] .col04,
html[data-site-code] label.on { color: #a94705 !important; }
html[data-site-code] .col05 { color: #075196 !important; }
html[data-site-code] .side .accordion > li > .link { color: #111 !important; }
html[data-site-code] .compare .point:not(.important) { color: #271202 !important; }

html[data-site-code="2"] .col03 { color: #98401c !important; }
html[data-site-code="201"] .col01 { color: #a91a3c !important; }
html[data-site-code="201"] .col03,
html[data-site-code="201"] label.on { color: #23577f !important; }
html[data-site-code="201"] .side .accordion > li > .link { color: #fff !important; }
html[data-site-code="101"] .col03 { color: #004c56 !important; }

html[data-site-code="0"] .icon01,
html[data-site-code="1"] .icon01,
html[data-site-code="102"] .icon01 { background-color: #b64e0a !important; }
html[data-site-code="0"] .icon05,
html[data-site-code="1"] .icon05,
html[data-site-code="102"] .icon05 { background-color: #08755e !important; }
html[data-site-code="2"] .icon01 { background-color: #a84924 !important; }
html[data-site-code="2"] .icon05 { background-color: #8b5e10 !important; }

html[data-site-code="101"] footer .shop .text > span,
html[data-site-code="101"] .point > h3 > span,
html[data-site-code="101"] .corporateBox > h3,
html[data-site-code="101"] .corporateBox > h3 .col01 { color: #fff !important; }
html[data-site-code="501"] .corporateBox th { color: #123d59 !important; }

html[data-site-code] a.pref11,
html[data-site-code] a.pref12,
html[data-site-code] a.pref14,
html[data-site-code] a.pref22,
html[data-site-code] a.pref24 {
    color: #17232c !important;
    text-shadow: none !important;
}
html[data-site-code] a.pref13 {
    color: #fff !important;
    background: #b62939 !important;
    text-shadow: none !important;
}

html[data-site-code="2"] .navi a { color: #371504 !important; }
html[data-site-code="2"] #exMenu .headline { color: #371504 !important; }
html[data-site-code="2"] .kanto { color: #b52d3a !important; }
html[data-site-code="2"] .chubu { color: #24676b !important; }
html[data-site-code="2"] .kansai { color: #087b08 !important; }
html[data-site-code="2"] .kyusyu { color: #805700 !important; }
html[data-site-code="2"] .type > h2,
html[data-site-code="2"] .list.tablewrapper > h3,
html[data-site-code="2"] .customerInfo,
html[data-site-code="2"] .orangeBack,
html[data-site-code="2"] .side h2,
html[data-site-code="2"] .side .change .link span,
html[data-site-code="2"] .voicebox > .wrapper > ul > li > .title { color: #371504 !important; }
html[data-site-code="2"] a.btn.blue,
html[data-site-code="2"] h3.back02 { color: #153a3d !important; }
html[data-site-code="2"] h3.back01 { color: #54002e !important; }
html[data-site-code="2"] h3.back03 { color: #153c10 !important; }
html[data-site-code="2"] h3.back04 { color: #371504 !important; }
html[data-site-code="201"] .compare th,
html[data-site-code="201"] .compare th span,
html[data-site-code="201"] .tablebox th,
html[data-site-code="201"] .tablebox th span { color: #142f3f !important; }

/* Requested thumbnail proportions also apply to the loading placeholder. */
.property-thumbnail--55x73 { aspect-ratio: 55 / 73; }
.property-thumbnail--70x100 { aspect-ratio: 70 / 100; }
.property-thumbnail--80x58 { aspect-ratio: 80 / 58; }
.property-thumbnail--80x80 { aspect-ratio: 80 / 80; }
.property-thumbnail--90x90 { aspect-ratio: 90 / 90; }
.property-thumbnail--143x108 { aspect-ratio: 143 / 108; }
.property-thumbnail--156x108 { aspect-ratio: 156 / 108; }
.property-thumbnail--160x136 { aspect-ratio: 160 / 136; }
.property-thumbnail--160x186 { aspect-ratio: 160 / 186; }
.property-thumbnail--160x216 { aspect-ratio: 160 / 216; }
.property-thumbnail--178x146 { aspect-ratio: 178 / 146; }
.property-thumbnail--178x176 { aspect-ratio: 178 / 176; }
.property-thumbnail--178x238 { aspect-ratio: 178 / 238; }
.property-thumbnail--180x112 { aspect-ratio: 180 / 112; }
.property-thumbnail--190x130 { aspect-ratio: 190 / 130; }
.property-thumbnail--196x147 { aspect-ratio: 196 / 147; }
.property-thumbnail--200x240 { aspect-ratio: 200 / 240; }
.property-thumbnail--218x160 { aspect-ratio: 218 / 160; }
.property-thumbnail--228x228 { aspect-ratio: 228 / 228; }
.property-thumbnail--272x180 { aspect-ratio: 272 / 180; }
.property-thumbnail--307x368 { aspect-ratio: 307 / 368; }
.property-thumbnail--313x368 { aspect-ratio: 313 / 368; }
.property-thumbnail--316x198 { aspect-ratio: 316 / 198; }
.property-thumbnail--322x240 { aspect-ratio: 322 / 240; }
.property-thumbnail--357x294 { aspect-ratio: 357 / 294; }
.property-thumbnail--684x684 { aspect-ratio: 684 / 684; }
.property-thumbnail--718x592 { aspect-ratio: 718 / 592; }
.property-thumbnail--738x738 { aspect-ratio: 738 / 738; }

html[data-site-code="2"] .orangeBack,
html[data-site-code="2"] .faqbox .question,
html[data-site-code="2"] .faqlist .question,
html[data-site-code="2"] .supportbox .box > h2,
html[data-site-code="2"] .contents > .title,
html[data-site-code="2"] .tohead { color: #371504 !important; }
html[data-site-code="501"] .bukken.list > table.bukken > thead th { color: #123d59 !important; }
html[data-site-code="501"] .bukken.list > table.bukken > thead a { color: #06446b !important; }
html[data-site-code="101"][data-site-layout="mobile"] a.pref11,
html[data-site-code="101"][data-site-layout="mobile"] a.pref12,
html[data-site-code="101"][data-site-layout="mobile"] a.pref14 { color: #fff !important; }

html[data-site-code="2"] section.about > .wrapper > .box > h2,
html[data-site-code="2"] .advicebox .point > h3,
html[data-site-code="2"] .sitemap .wrapper > ul > li > h2,
html[data-site-code="2"] .searchbox > .wrapper > .box > h2,
html[data-site-code="2"] .cacheList .title,
html[data-site-code="2"] .vacancyBox > h2 { color: #371504 !important; }
html[data-site-code="2"] section.point li > .point,
html[data-site-code="2"] .compare td > span { color: #98401c !important; }
html[data-site-code="501"] .table01 > thead th { color: #123d59 !important; }
html[data-site-code="501"] .areaTab a { text-shadow: none !important; color: #fff !important; }

html[data-site-code="2"] section.list > .wrapper > ul > li > h2,
html[data-site-code="2"] .box.cache .title a,
html[data-site-code="2"] .box.vacancy > h2 { color: #371504 !important; }
html[data-site-code="501"] .box.cache .title a { color: #06446b !important; }

html[data-site-code="2"] section.move > .wrapper > ul.list::before,
html[data-site-code="201"] section.move > .wrapper > ul.list::before { left: 0; }

.map-search-status {
    position: absolute;
    top: 16px;
    left: 56px;
    right: 16px;
    z-index: 1000;
    max-width: 600px;
    padding: 12px 16px;
    color: #202833;
    background: #fff;
    border: 1px solid #697586;
    border-radius: 3px;
    font-size: 16px;
    line-height: 1.6;
}
.map-search-status[hidden] { display: none; }
.map-search-status p { margin: 0 0 8px; }
.map-search-status button {
    border: 1px solid #697586;
    border-radius: 3px;
    padding: 8px 16px;
    color: #202833;
    background: #f1f3f5;
    font: inherit;
    cursor: pointer;
}

html[data-site-code="1000"] .content04 > .box > h3 > .en { color: #fff !important; }
html[data-site-code="1"] .ur-flow th .center { background-color: #b62939; }

html[data-site-code] #map-left h2.item { color: #371504 !important; }
html[data-site-code="201"] .breadcrumbs li:last-child span { color: #371504 !important; }

html[data-site-layout="mobile"] .ur-flow > .boxWrapper > .center { color: #371504 !important; }
html[data-site-code="1"] .ur_en_table th > .center { background-color: #b62939; }
html[data-site-code="2"] .advicebox strong,
html[data-site-code="2"] .advicebox li > .title,
html[data-site-code="2"] .movein > .wrapper > .list > li > span,
html[data-site-code="2"] .about .memo,
html[data-site-code="2"] .about strong { color: #98401c !important; }
html[data-site-code="2"] .bukken.title,
html[data-site-code="2"] .history .title,
html[data-site-code="2"] .contents > h2 > span { color: #371504 !important; }

.site-empty-message { margin: 24px 0; padding: 24px; line-height: 1.7; color: #202833; background: #fff; border: 1px solid #c4cbd4; border-radius: 3px; }

.property-thumbnail--316x384 { aspect-ratio: 316 / 384; }
html[data-site-code="1000"] .mapbox .h2 > .en,
html[data-site-code="1000"] .pointbox .h2 > .en,
html[data-site-code="1000"] .explanationbox .h2 > .en { color: #fff !important; }

html[data-site-layout="mobile"] .jkk-procedure { display: block; box-sizing: border-box; max-width: 100%; }
html[data-site-code="2"] .table1 td > span { color: #98401c !important; }
html[data-site-code="1"] .ur_en_table > tbody > tr > th { background-color: #b62939 !important; }
.site-map-page .breadcrumbs .col03 { color: #fff !important; }
html[data-site-code="201"].site-map-page .breadcrumbs .col03 { color: #371504 !important; }
html[data-site-code="601"] .areaTab a { color: #fff !important; }
html[data-site-code="1000"] .etcbox .h2 > .en { color: #fff !important; }
html[data-site-code="1000"] .all-images > strong { color: #075196 !important; }

html[data-site-code="501"] .areaTab li:not(.crt) > a { color: #123d59 !important; }

.property-thumbnail--187x117 { aspect-ratio: 187 / 117; }

.property-thumbnail--140x180 { aspect-ratio: 140 / 180; }

html[data-site-code="2"] .table1 td.matome > span { color: #fff !important; }
html[data-site-code="2"] .resolvebox li > .title,
html[data-site-code="2"] .about > .wrapper > .box > ul > li > .title { color: #98401c !important; }
html[data-site-code="1000"] .iconWrap .icon01,
html[data-site-code="1000"] .iconWrap .icon05 { color: #17232c !important; }
html[data-site-code="1"] .ur_en_table th { color: #fff !important; }
html[data-site-layout="mobile"].site-map-page .breadcrumbs,
html[data-site-layout="mobile"].site-map-page .breadcrumbs a,
html[data-site-layout="mobile"].site-map-page .breadcrumbs span { color: #371504 !important; }

button.conditions-button {
    appearance: none;
    position: absolute;
    width: 64px;
    height: 64px;
    right: 16px;
    bottom: 16px;
    z-index: 1490;
    box-sizing: border-box;
    border: 0;
    padding: 8px;
    border-radius: 3px;
    background: #ff7f4c;
    cursor: pointer;
}
button.conditions-button img { display: block; width: 100%; height: auto; }
ul.conditions-buttons.is-open { display: block; opacity: 1; z-index: 10001; }
.conditions-menu.is-open { left: 0; z-index: 10002; }
.conditions-menu { transition: left 0.2s ease; }
.map-conditions-open, .map-conditions-open body { overflow: hidden; }
.map-conditions-open #overlay { display: block; position: fixed; inset: 0; z-index: 10000; }
ul.conditions-buttons > li.map-conditions-close-item { width: 100%; text-align: center; }
ul.conditions-buttons > li > .link, .conditions-menu > h2 { color: #371504 !important; }
.map-conditions-close {
    margin: 8px;
    padding: 12px 24px;
    border: 1px solid #371504;
    border-radius: 3px;
    color: #371504;
    background: #fff;
    font: inherit;
    cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
    .conditions-menu { transition: none; }
}
