:root {
    --breakpoint: 769px;
    --font-inter: "Inter", sans-serif;
    --font-roboto: "Roboto", sans-serif;
    --header-height: 60px;
    --color-key: #caa846;
    --color-subkey: #4373d0;
    --color-black: #000;
    --color-white: #fff;
    --color-red: #b00;
    --color-brown: #ca7446;
    --color-gray1: #f8f9fa;
    --color-gray2: #f4f5f9;
    --color-gray3: #eee;
    --color-gray4: #ccc;
    --color-gray5: #d9d9d9;
    --color-gray6: #848187;
    --color-gray7: #333;
    --bg-gnav: var(--color-key);
    --bg-tag1: var(--color-key);
    --bg-tag2: var(--color-brown);
    --bg-tag3: var(--color-gray6);
    --bg-tag4: var(--color-subkey);
    --bg-tag5: var(--color-white);
    --bg-overlay: rgba(0, 0, 0, 0.6);
    --bg-propertyoverlay: rgba(0, 0, 0, 0.4);
    --bg-photogalleryoverlay: var(--color-black);
    --bg-footer: var(--color-gray7);
    --bg-color1: var(--color-white);
    --bg-color2: var(--color-gray1);
    --bg-color3: var(--color-gray2);
    --bg-color4: var(--color-gray4);
    --bg-color5: var(--color-gray5);
    --bg-color6: rgba(202, 168, 70, 0.1);
    --bg-color7: rgba(67, 115, 208, 0.1);
    --bg-color8: rgba(187, 0, 0, 0.05);
    --bg-color9: var(--color-black);
    --color-maintxt: var(--color-black);
    --color-subtxt: var(--color-gray6);
    --color-txt: var(--color-gray7);
    --color-txtlink: var(--color-black);
    --color-txthover: var(--color-key);
    --color-kvtxt: var(--color-white);
    --color-tagtxt1: var(--color-white);
    --color-tagtxt2: var(--color-key);
    --color-footer: var(--color-white);
    --color-price: var(--color-red);
    --color-photogallery: var(--color-white);
    --btn-color1: var(--color-key);
    --btntxt-color1: var(--color-white);
    --btn-color2: var(--color-white);
    --btntxt-color2: var(--color-black);
    --btn-color3: var(--color-gray7);
    --btntxt-color3: var(--color-white);
    --btn-color4: var(--color-gray5);
    --btntxt-color4: var(--color-gray7);
    --btn-color6: var(--color-white);
    --btntxt-color6: var(--color-black);
    --btn-filter: var(--color-white);
    --btntxt-filter: var(--color-subkey);
    --btn-disabled: var(--color-gray5);
    --btntxt-disabled: var(--color-white);
    --btn-close: var(--color-gray7);
    --btn-photogallery: var(--color-white);
    --btn-opacity: 60%;
    --border-color1: var(--color-gray4);
    --border-color2: var(--color-gray5);
    --border-color3: var(--color-subtxt);
    --border-color4: var(--color-gray7);
    --border-color5: var(--color-white);
    --border-color6: var(--color-gray6);
    --border-radius-xsmall: 4px;
    --border-radius-small: 8px;
    --border-radius-medium: 10px;
    --border-radius-large: 24px;
    --border-halfcircle: 40px;
    --border-circle: 50%;
    --form-txtrequired: var(--color-white);
    --form-required: var(--color-red);
    --form-checked: var(--color-subkey);
    --form-field: var(--bg-color3);
    --form-fieldline: var(--border-color2);
    --form-placeholder: var(--color-gray4);
    --form-option: var(--color-gray3);
    --form-radiobtn: var(--border-color6);
    --filter-checked: var(--color-subkey);
    --filter-bg-checked: #ebf2ff;
    --filter-placeholder: var(--color-subtxt);
    --filter-selectbox: var(--color-gray5);
    --filtertxt-selectbox: var(--color-subtxt);
    --filter-option: var(--color-gray3);
    --filter-arrow: var(--color-gray7);
    --filter-checkbox: var(--color-gray5);
    --filter-radio: var(--color-gray5);
    --filtertxt-inputvalue: var(--color-subtxt);
    --filter-subarea: var(--bg-color3);
    --filter-radius: 6px;
    --error: var(--color-red);
    --error-bg: var(--bg-color8);
    --easing-cubic: cubic-bezier(0, 0, 0, 1);
    --shadow-kv: 0 0 10px rgba(0, 0, 0, 0.4);
    --shadow-container: 0 0 6px 0 rgba(0, 0, 0, 0.1);
    --shadow-home: -4px 0 4px 0 rgba(0, 0, 0, 0.25);
    --shadow-small: 0 0 4px 0 rgba(0, 0, 0, 0.25);
    --shadow-medium: 0 0 6px 0 rgba(0, 0, 0, 0.25);
    --shadow-large: 0 0 20px 0 rgba(0, 0, 0, 0.25);
    --shadow-xlarge: 0 0 40px 0 rgba(0, 0, 0, 0.3)
}

:where(*) {
    margin: 0;
    padding: 0
}

*, *::after, *::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:focus-visible {
    outline-offset: 1px
}

:focus:not(:focus-visible) {
    outline: none
}

:where(html) {
    line-height: 1.5;
    scrollbar-gutter: stable;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

:where(h1) {
    margin-block: .67em;
    font-size: 2em
}

:where(abbr[title]) {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    cursor: help
}

:where(del,ins,s)::before, :where(del,ins,s)::after {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    content: "test";
    white-space: nowrap;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(100%)
}

:where(s)::before {
    content: "stricken text start "
}

:where(s)::after {
    content: " stricken text end"
}

:where(del)::before {
    content: "deletion start "
}

:where(del)::after {
    content: " deletion end"
}

:where(ins)::before {
    content: "insertion start "
}

:where(ins)::after {
    content: " insertion end"
}

:where(audio,iframe,img,svg,video) {
    max-inline-size: 100%;
    max-block-size: 100%
}

:where(img,svg,video) {
    block-size: auto
}

:where(img) {
    vertical-align: bottom
}

:where(video,canvas,audio,iframe,embed,object,hgroup) {
    display: block
}

:where(fieldset) {
    min-inline-size: 0
}

:where(label):has(+:where(textarea,input,select)) {
    display: block
}

:where(textarea,input) {
    font-size: 1rem;
    vertical-align: bottom
}

:where(input[type=checkbox],input[type=radio]) {
    vertical-align: middle
}

:where(textarea:not([rows])) {
    min-block-size: 6em
}

:where(textarea) {
    field-sizing: content
}

:where(button,input,select,textarea) {
    font-size: inherit;
    font-family: inherit
}

:where(button,[type=button],[type=reset],[type=submit]) {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

:where(:-moz-any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
    cursor: pointer
}

:where(:any-link,button,[type=button],[type=reset],[type=submit],label[for],select,summary,[role=tab],[role=button]) {
    cursor: pointer
}

:where(:-moz-any-link) {
    text-underline-offset: .25em
}

:where(:any-link) {
    text-underline-offset: .25em
}

:where([type=search]) {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

@supports (-webkit-touch-callout: none) {
    :where([type=search]) {
        border: 1px solid -apple-system-secondary-label;
        background-color: canvas
    }
}

:where([type=tel],[type=url],[type=email],[type=number]):not(:-moz-placeholder) {
    direction: ltr
}

:where([type=tel],[type=url],[type=email],[type=number]):not(:-ms-input-placeholder) {
    direction: ltr
}

:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown) {
    direction: ltr
}

:where(ul,ol) {
    list-style-position: inside;
    list-style-type: ""
}

:where(table) {
    border: 1px solid;
    border-collapse: collapse
}

:where(th,td) {
    padding: .25em .5em;
    border: 1px solid
}

:where(dialog)::-ms-backdrop {
    background: oklch(0 0 0/.3)
}

:where(dialog)::backdrop {
    background: oklch(0 0 0/.3)
}

:where(dialog)::-ms-backdrop {
    opacity: 0;
    -ms-transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
    transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete
}

:where(dialog), :where(dialog)::backdrop {
    opacity: 0;
    -webkit-transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
    transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete
}

:where(dialog[open])::-ms-backdrop {
    opacity: 1
}

:where(dialog[open]), :where(dialog[open])::backdrop {
    opacity: 1
}

@starting-style{
    :where(dialog[open])::-ms-backdrop {
        opacity: 0
    }

    :where(dialog[open]), :where(dialog[open])::backdrop {
        opacity: 0
    }
} [hidden]:not([hidden=until-found]) {
      display: none !important
  }

html {
    height: 100%;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    font-family: var(--font-inter)
}

body {
    position: relative;
    min-block-size: 100%;
    background-color: var(--bg-color2);
    color: var(--color-maintxt);
    text-rendering: optimizespeed
}

.is-spnav body, .is-modal body {
    overflow: hidden;
    overscroll-behavior-block: contain
}

a {
    color: var(--color-link);
    text-decoration: none
}

.splide__container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative
}

.splide__list {
    -webkit-backface-visibility: hidden;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    backface-visibility: hidden
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    -ms-flex-align: center;
    -webkit-box-align: center;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style-type: none;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    visibility: hidden;
    position: relative
}

.splide.is-initialized, .splide.is-rendered {
    visibility: visible
}

.splide__slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    position: relative;
    flex-shrink: 0;
    margin: 0;
    list-style-type: none !important
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    -webkit-animation: splide-loading 1s linear infinite;
    contain: strict;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 2px solid #999;
    border-radius: 50%;
    border-left-color: rgba(0, 0, 0, 0);
    animation: splide-loading 1s linear infinite
}

.splide__sr {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    z-index: 0;
    position: relative;
    overflow: hidden
}

@-webkit-keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.splide__track--fade > .splide__list > .splide__slide {
    z-index: 0;
    margin: 0 !important;
    opacity: 0
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
    z-index: 1;
    opacity: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb > .splide__list {
    display: block
}

.splide__arrow {
    -ms-flex-align: center;
    -webkit-box-align: center;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    align-items: center;
    height: 2em;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    position: absolute;
    top: 50%;
    justify-content: center;
    padding: 0;
    opacity: .7;
    -webkit-transform: translateY(-50%);
    z-index: 1;
    width: 2em;
    transform: translateY(-50%)
}

.splide__arrow svg {
    fill: #000;
    width: 1.2em;
    height: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: .5em;
    left: 0;
    padding: 0 1em
}

.splide__pagination__page {
    display: inline-block;
    position: relative;
    height: 8px;
    margin: 3px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    opacity: .7;
    -webkit-transition: -webkit-transform .2s linear;
    width: 8px;
    transition: -webkit-transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear
}

.splide__pagination__page.is-active {
    background: #fff;
    -webkit-transform: scale(1.4);
    z-index: 1;
    transform: scale(1.4)
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    height: 3px;
    background: #ccc
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
    outline: 0
}

@supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@supports (outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav > .splide__list > .splide__slide {
    border: 3px solid rgba(0, 0, 0, 0);
    cursor: pointer
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    right: 1em;
    left: auto
}

.splide__arrows--rtl .splide__arrow--prev svg {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    right: auto;
    left: 1em
}

.splide__arrows--rtl .splide__arrow--next svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    top: auto;
    bottom: 1em
}

.splide__arrows--ttb .splide__arrow--next svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    bottom: 0;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    top: 0;
    right: .5em;
    left: auto;
    flex-direction: column;
    padding: 1em 0
}

.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 10;
    position: sticky;
    inset-block-start: 0;
    inset-inline-start: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: var(--header-height);
    padding-inline: 15px;
    border-bottom: 1px solid var(--border-color2);
    background-color: var(--bg-color1)
}

.is-spnav .header {
    border-bottom: 1px solid var(--border-color5)
}

.header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    max-width: 1000px;
    margin-inline: auto
}

.header__logo {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.header__logo--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(6px, .7802340702vw, 10px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header__logo--mark {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 26px
}

.header__logo--label {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-weight: 500;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1;
    font-family: var(--font-roboto);
    letter-spacing: calc(2 / 100 * 1em);
    text-transform: uppercase
}

.header__navtrigger {
    position: relative;
    width: 30px;
    height: 30px;
    border: none;
    background-color: var(--bg-color1)
}

.header__navtrigger::before, .header__navtrigger::after, .header__navtrigger span {
    display: block;
    position: absolute;
    width: 24px;
    height: 4px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-color1);
    content: "";
    pointer-events: none;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: opacity .3s .3s var(--easing-cubic), background-color .3s var(--easing-cubic), translate .3s .3s var(--easing-cubic), rotate .3s var(--easing-cubic);
    transition: opacity .3s .3s var(--easing-cubic), background-color .3s var(--easing-cubic), translate .3s .3s var(--easing-cubic), rotate .3s var(--easing-cubic)
}

.header__navtrigger span {
    translate: -50% -50%
}

.header__navtrigger::before {
    translate: -50% calc(-50% + 9px);
    rotate: 0deg
}

.header__navtrigger::after {
    translate: -50% calc(-50% - 9px);
    rotate: 0deg
}

.is-spnav .header__navtrigger::before, .is-spnav .header__navtrigger::after, .is-spnav .header__navtrigger span {
    -webkit-transition: opacity .3s var(--easing-cubic), background-color .3s var(--easing-cubic), translate .3s var(--easing-cubic), rotate .3s .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic), background-color .3s var(--easing-cubic), translate .3s var(--easing-cubic), rotate .3s .3s var(--easing-cubic)
}

.is-spnav .header__navtrigger span {
    opacity: 0
}

.is-spnav .header__navtrigger::before {
    height: 2px;
    translate: -50% -50%;
    rotate: 45deg;
    background-color: var(--btn-close)
}

.is-spnav .header__navtrigger::after {
    height: 2px;
    translate: -50% -50%;
    rotate: -45deg;
    background-color: var(--btn-close)
}

.gnav {
    z-index: 5;
    position: fixed;
    width: 100%;
    height: calc(100% - var(--header-height));
    inset-block-start: var(--header-height);
    inset-inline-start: 0;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    background-color: var(--bg-gnav)
}

.gnav[aria-hidden=true] {
    display: none
}

.gnav[aria-hidden=false] {
    display: block;
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.gnav__list {
    padding: 40px 24px
}

.gnav__item {
    border-bottom: 1px solid var(--border-color4)
}

.gnav__link {
    display: block;
    padding-block: 24px;
    font-weight: 500;
    text-transform: uppercase;
    -webkit-transition: color .3s var(--easing-cubic);
    font-size: calc(16 / 16 * 1rem);
    letter-spacing: calc(2 / 100 * 1em);
    transition: color .3s var(--easing-cubic)
}

.main {
    padding: 20px 16px 40px
}

.home .main {
    padding: 0
}

.main__container {
    max-width: 1000px;
    margin-inline: auto;
    padding: 24px 15px;
    border: 1px solid var(--border-color1);
    border-radius: var(--border-radius-medium);
    background-color: var(--bg-color1);
    -webkit-box-shadow: var(--shadow-container);
    box-shadow: var(--shadow-container)
}

.main__section {
    max-width: 872px;
    margin-inline: auto
}

.footer {
    position: sticky;
    top: 100vh;
    padding: 24px 20px;
    background-color: var(--bg-footer)
}

.footer__container {
    display: grid;
    grid-template-columns:1fr;
    gap: 24px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 1000px;
    margin-inline: auto
}

.footer__snslist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.footer__snslist--item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.footer__snslist--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--color-footer);
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.footer__snslist--link:focus-visible {
    opacity: var(--btn-opacity)
}

.footer__snslist--link.is-facebook::before {
    width: 30px;
    height: 30px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-facebook.svg") center no-repeat;
    mask: url("../img/icon/icon-facebook.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

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

.footer__navlist--link {
    display: block;
    padding-inline: 0 24px;
    color: var(--color-footer);
    font-weight: 700;
    text-transform: uppercase;
    -webkit-transition: color .3s var(--easing-cubic);
    font-size: calc(16 / 16 * 1rem);
    transition: color .3s var(--easing-cubic)
}

.footer__navlist--link:focus-visible {
    color: var(--color-txthover)
}

.footer__navlist--item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.footer__navlist--item:not(:first-child) {
    border-left: 2px solid var(--border-color5)
}

.footer__navlist--item:not(:first-child) .footer__navlist--link {
    padding-inline: 24px
}

.footer__navlist--item:last-child .footer__navlist--link {
    padding-inline: 24px 0
}

.footer__copyright {
    color: var(--color-footer);
    font-weight: 400;
    font-size: calc(16 / 16 * 1rem);
    text-align: center
}

.fixed {
    display: grid;
    z-index: 5;
    position: fixed;
    grid-template-columns:1fr .612fr;
    inset-block-end: 0;
    inset-inline-start: 0;
    gap: 10px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 86px;
    padding: 16px;
    background-color: var(--bg-color1);
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.fixed[aria-hidden=true] {
    opacity: 0;
    pointer-events: none
}

.fixed[aria-hidden=false] {
    opacity: 1;
    pointer-events: all
}

.kv {
    position: relative;
    aspect-ratio: 375/200;
    width: 100%
}

.kv__container {
    padding: 30px 24px
}

.kv__label {
    z-index: 1;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    color: var(--color-kvtxt);
    font-weight: 400;
    font-size: calc(22 / 16 * 1rem);
    line-height: 1.1;
    text-shadow: var(--shadow-kv);
    text-transform: uppercase
}

.kv__bg img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.title {
    line-height: 1.1
}

.title.is-pagetitle {
    margin-block: 0 24px;
    color: var(--color-txt);
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    text-align: center;
    text-transform: uppercase
}

.title.is-xlsize {
    font-size: calc(28 / 16 * 1rem)
}

.title.is-lsize {
    font-size: calc(24 / 16 * 1rem)
}

.title.is-msize {
    font-size: calc(18 / 16 * 1rem)
}

.title.is-ssize {
    font-size: calc(16 / 16 * 1rem)
}

.title.is-xssize {
    font-size: calc(14 / 16 * 1rem)
}

.text {
    font-size: calc(16 / 16 * 1rem)
}

.text.is-xlsize {
    font-size: calc(20 / 16 * 1rem)
}

.text.is-lsize {
    font-size: calc(18 / 16 * 1rem)
}

.text.is-ssize {
    font-size: calc(14 / 16 * 1rem)
}

.text.is-xssize {
    font-size: calc(12 / 16 * 1rem)
}

.dotlist__item {
    position: relative;
    -webkit-padding-start: 20px;
    padding-inline-start: 20px
}

.dotlist__item::before {
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    inset-block-start: 11px;
    inset-inline-start: 8px;
    translate: 0 -50%;
    border-radius: var(--border-circle);
    background-color: currentcolor;
    content: ""
}

.numlist {
    -webkit-margin-start: 20px;
    margin-inline-start: 20px
}

.numlist__item {
    position: relative;
    list-style: decimal outside
}

.numlist__item::marker {
    color: currentcolor
}

.noticelist__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px
}

.noticelist__item .is-mark {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.noticelist__item .is-label {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%
}

.datatbl__item {
    display: grid;
    grid-template-columns:1fr;
    gap: 16px;
    -webkit-padding-after: 23px;
    padding-block-end: 23px;
    border-bottom: 1px solid var(--border-color2)
}

.datatbl__item + .datatbl__item {
    -webkit-padding-before: 24px;
    padding-block-start: 24px
}

.datatbl__label {
    margin: 0;
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem)
}

.btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 450px;
    padding: 16px 8px;
    border: none;
    background: none;
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.btn .is-label {
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.2;
    pointer-events: none
}

.btn.is-type1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 54px;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-color1);
    color: var(--btntxt-color1)
}

.fixed .btn.is-type1 {
    border-radius: 6px
}

.modal__footer .btn.is-type1 {
    min-height: 46px
}

.modal__footer .btn.is-type1 .is-label {
    font-size: calc(16 / 16 * 1rem)
}

.btn.is-type1:focus-visible {
    opacity: var(--btn-opacity)
}

.btn.is-type2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid currentcolor;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-color2);
    color: var(--btntxt-color2)
}

.btn.is-type2 .is-label {
    font-size: calc(16 / 16 * 1rem)
}

.property__footer .btn.is-type2 {
    min-height: 54px
}

.btn.is-type2:focus-visible {
    opacity: var(--btn-opacity)
}

.btn.is-type3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 48px;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-color3);
    color: var(--btntxt-color3)
}

.btn.is-type3 .is-label {
    font-size: calc(16 / 16 * 1rem)
}

.fixed .btn.is-type3 {
    border-radius: 6px
}

.btn.is-type3:focus-visible {
    opacity: var(--btn-opacity)
}

.btn.is-type4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 54px;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-color4);
    color: var(--btntxt-color4)
}

.btn.is-type4 .is-label {
    font-size: calc(16 / 16 * 1rem)
}

.btn.is-type4:focus-visible {
    opacity: var(--btn-opacity)
}

.btn[disabled] {
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-disabled);
    color: var(--btntxt-disabled);
    cursor: auto
}

.btn[disabled]:focus-visible {
    opacity: 1
}

.btn.icon-search::before {
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-search.svg") center no-repeat;
    mask: url("../img/icon/icon-search.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn.icon-send::before {
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-send.svg") center no-repeat;
    mask: url("../img/icon/icon-send.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn.icon-tel::before {
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-phone.svg") center no-repeat;
    mask: url("../img/icon/icon-phone.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn.icon-mail::before {
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-mail.svg") center no-repeat;
    mask: url("../img/icon/icon-mail.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn.icon-request::before {
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-request.svg") center no-repeat;
    mask: url("../img/icon/icon-request.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.btn.icon-next {
    position: relative
}

.btn.icon-next::after {
    position: absolute;
    width: 15px;
    height: 15px;
    inset-block-start: 50%;
    inset-inline-end: 20px;
    background-color: currentcolor;
    content: "";
    pointer-events: none;
    -webkit-mask: url("../img/icon/icon-next.svg") center no-repeat;
    mask: url("../img/icon/icon-next.svg") center no-repeat;
    -webkit-mask-size: contain;
    translate: 0 -50%;
    mask-size: contain
}

.txtlink {
    text-decoration: underline
}

.txtlink:focus-visible {
    text-decoration: none
}

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

.image img {
    width: 100%;
    height: auto
}

.embed__map {
    aspect-ratio: 311/340;
    width: 100%;
    height: auto
}

.form__block {
    display: grid;
    grid-template-columns:1fr;
    gap: 8px
}

.form__label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.form__label .is-label {
    color: var(--color-txt);
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem)
}

.form__label .is-required {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2px 10px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--form-required);
    color: var(--form-txtrequired);
    font-weight: 500;
    font-size: calc(12 / 16 * 1rem);
    line-height: 1.1
}

.form__error {
    grid-template-columns:1fr;
    gap: 4px;
    -webkit-margin-before: 8px;
    margin-block-start: 8px
}

.is-error .form__error {
    display: grid
}

.form__error--item {
    display: grid;
    grid-template-columns:14px 1fr;
    gap: 4px;
    color: var(--error);
    font-weight: 400;
    font-size: calc(12 / 16 * 1rem);
    line-height: 1.1
}

.form__error--item::before {
    width: 14px;
    height: 14px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-attention.svg") center no-repeat;
    mask: url("../img/icon/icon-attention.svg") center no-repeat;
    -webkit-mask-size: currentcolor;
    mask-size: currentcolor
}

.form__input {
    width: 100%;
    min-height: 46px;
    padding: 12px 16px;
    border: 1px solid var(--form-fieldline);
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color1)
}

.form__input::-webkit-input-placeholder {
    color: var(--color-subtxt)
}

.form__input::-moz-placeholder {
    color: var(--color-subtxt)
}

.form__input:-ms-input-placeholder {
    color: var(--color-subtxt)
}

.form__input::-ms-input-placeholder {
    color: var(--color-subtxt)
}

.form__input::placeholder {
    color: var(--color-subtxt)
}

.form__input:-moz-placeholder {
    background-color: var(--form-field)
}

.form__input:-ms-input-placeholder {
    background-color: var(--form-field)
}

.form__input:placeholder-shown {
    background-color: var(--form-field)
}

.is-error .form__input {
    border-color: var(--error);
    background-color: var(--form-field)
}

.form__textarea {
    width: 100%;
    min-height: 110px;
    padding: 12px 16px;
    border: 1px solid var(--form-fieldline);
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color1)
}

.form__textarea::-webkit-input-placeholder {
    color: var(--color-subtxt)
}

.form__textarea::-moz-placeholder {
    color: var(--color-subtxt)
}

.form__textarea:-ms-input-placeholder {
    color: var(--color-subtxt)
}

.form__textarea::-ms-input-placeholder {
    color: var(--color-subtxt)
}

.form__textarea::placeholder {
    color: var(--color-subtxt)
}

.form__textarea:-moz-placeholder {
    background-color: var(--form-field)
}

.form__textarea:-ms-input-placeholder {
    background-color: var(--form-field)
}

.form__textarea:placeholder-shown {
    background-color: var(--form-field)
}

.form__textarea.is-large {
    min-height: 220px
}

.form__textarea.is-large::-webkit-input-placeholder {
    color: var(--color-maintxt)
}

.form__textarea.is-large::-moz-placeholder {
    color: var(--color-maintxt)
}

.form__textarea.is-large:-ms-input-placeholder {
    color: var(--color-maintxt)
}

.form__textarea.is-large::-ms-input-placeholder {
    color: var(--color-maintxt)
}

.form__textarea.is-large::placeholder {
    color: var(--color-maintxt)
}

.is-error .form__textarea {
    border-color: var(--error)
}

.form__selectbox {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%
}

.form__selectbox--select {
    display: none
}

.form__selectbox--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    gap: 15px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 14px 24px;
    border: 1px solid var(--filter-selectbox);
    border-radius: var(--filter-radius);
    background-color: var(--bg-color1);
    color: var(--btntxt-filter)
}

.form__selectbox--trigger .is-label {
    color: var(--filter-placeholder);
    font-weight: 500;
    pointer-events: none;
    -webkit-transition: color .3s var(--easing-cubic);
    font-size: calc(14 / 16 * 1rem);
    transition: color .3s var(--easing-cubic)
}

.form__selectbox--trigger[data-value=true] .is-label {
    color: var(--color-maintxt);
    font-weight: 700
}

.form__selectbox--trigger::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 24px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    background-color: var(--filter-arrow);
    content: "";
    -webkit-mask: url("../img/icon/icon-arrselect_small.svg") center no-repeat;
    mask: url("../img/icon/icon-arrselect_small.svg") center no-repeat;
    -webkit-mask-size: contain;
    translate: 0 -50%;
    mask-size: contain;
    -webkit-transition: rotate .3s var(--easing-cubic);
    transition: rotate .3s var(--easing-cubic)
}

.form__selectbox--trigger[aria-expanded=true]::after {
    rotate: -180deg
}

.form__selectbox--dropdown {
    z-index: 5;
    position: absolute;
    width: 100%;
    max-height: 304px;
    inset: 62px auto auto 0;
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    border-radius: var(--border-radius-small);
    background-color: var(--bg-color1);
    -webkit-box-shadow: var(--shadow-small);
    box-shadow: var(--shadow-small)
}

.form__selectbox--dropdown.is-hide {
    display: none
}

.form__selectbox--dropdown[aria-hidden=true] {
    -webkit-animation: outviewup .4s var(--easing-cubic) forwards;
    animation: outviewup .4s var(--easing-cubic) forwards
}

.form__selectbox--dropdown[aria-hidden=false] {
    -webkit-animation: inviewdown .4s var(--easing-cubic) forwards;
    animation: inviewdown .4s var(--easing-cubic) forwards
}

.form__selectbox--list {
    display: grid;
    grid-template-columns:1fr;
    gap: 2px
}

.form__selectbox--item {
    padding: 4px 6px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color1);
    font-weight: 500;
    cursor: pointer;
    -webkit-transition: background-color .3s var(--easing-cubic);
    font-size: calc(14 / 16 * 1rem);
    transition: background-color .3s var(--easing-cubic)
}

.form__selectbox--item[aria-selected=true] {
    background-color: var(--form-option)
}

.form__selectbox--item:focus-visible {
    background-color: var(--form-option)
}

.form__selectbox--item:focus-visible[aria-selected=true] {
    background-color: var(--form-option)
}

.form__btnradio {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    width: 100%;
    gap: 10px
}

.form__btnradio--label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 9px;
    border: 1px solid var(--border-color3);
    border-radius: var(--border-radius-xsmall);
    font-weight: 700;
    -webkit-transition: border-color .3s var(--easing-cubic);
    font-size: calc(14 / 16 * 1rem);
    transition: border-color .3s var(--easing-cubic)
}

.form__btnradio--label::after {
    z-index: -1;
    position: absolute;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    inset-block-start: 50%;
    inset-inline-start: 50%;
    translate: -50% -50%;
    border: 2px solid var(--color-subkey);
    border-radius: var(--border-radius-xsmall);
    background-color: rgba(0, 0, 0, 0);
    content: "";
    opacity: 0;
    -webkit-transition: background-color .3s var(--easing-cubic), opacity .3s var(--easing-cubic);
    transition: background-color .3s var(--easing-cubic), opacity .3s var(--easing-cubic)
}

.form__btnradio--radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%)
}

.form__btnradio--radio:focus-visible + .form__btnradio--label, .form__btnradio--radio:checked + .form__btnradio--label {
    border-color: rgba(0, 0, 0, 0)
}

.form__btnradio--radio:focus-visible + .form__btnradio--label::after, .form__btnradio--radio:checked + .form__btnradio--label::after {
    background-color: #eaf2ff;
    opacity: 1
}

.form__terms {
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
    color: var(--color-subtxt);
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem)
}

.form__footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-margin-before: 24px;
    margin-block-start: 24px
}

.slide .splide__arrow {
    width: 20px;
    height: 20px;
    background-color: var(--bg-overlay);
    opacity: 1
}

.slide .splide__arrow svg {
    display: none
}

.slide .splide__arrow::before {
    width: 20px;
    height: 20px;
    background: url("data: image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDIwIDIwIj48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS44OTMgMTAgNiA0LjEwNyA3LjE3OCAyLjkzbDYuNDgyIDYuNDgyYS44MzMuODMzIDAgMCAxIDAgMS4xNzhsLTYuNDgyIDYuNDgyTDYgMTUuODkyeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+") center no-repeat;
    background-size: contain;
    content: ""
}

.slide .splide__arrow--prev {
    left: 8px
}

.slide .splide__arrow--prev::before {
    scale: -1 1
}

.slide .splide__arrow--next {
    right: 8px
}

.property__photo .slide .splide__arrow {
    width: 30px;
    height: 30px
}

.property__photo .slide .splide__arrow--prev {
    left: 8px
}

.property__photo .slide .splide__arrow--next {
    right: 8px
}

.home__results--photo .slide .splide__arrow {
    background: none;
    opacity: 1
}

.home__results--photo .slide .splide__arrow::before {
    -webkit-filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25))
}

.home__results--photo .slide .splide__arrow--prev {
    left: 0
}

.home__results--photo .slide .splide__arrow--next {
    right: 0
}

.slide.is-photogallery .splide__arrow {
    width: 30px;
    height: 30px;
    border: 1px solid var(--border-color5)
}

.slide.is-photogallery .splide__arrow--prev {
    left: 8px
}

.slide.is-photogallery .splide__arrow--next {
    right: 8px
}

.slide[data-slider=property].is-single, .slide[data-slider=single].is-single {
    visibility: visible
}

.slide[data-slider=property] .splide__pagination, .slide[data-slider=single] .splide__pagination {
    z-index: 2;
    right: auto;
    bottom: 10px;
    left: 50%;
    width: auto;
    padding: 2px 8px;
    gap: 8px;
    border-radius: var(--border-halfcircle);
    background-color: var(--bg-overlay);
    -webkit-box-shadow: var(--shadow-small);
    translate: -50% 0;
    box-shadow: var(--shadow-small)
}

.slide[data-slider=property] .splide__pagination li, .slide[data-slider=single] .splide__pagination li {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.slide[data-slider=property] .splide__pagination__page, .slide[data-slider=single] .splide__pagination__page {
    width: 14px;
    height: 14px;
    margin: 0;
    background-color: var(--btn-color2);
    opacity: 1;
    -webkit-transform: scale(0.7142);
    transform: scale(0.7142)
}

.slide[data-slider=property] .splide__pagination__page.is-active, .slide[data-slider=single] .splide__pagination__page.is-active {
    background-color: var(--btn-color1);
    -webkit-transform: scale(1);
    transform: scale(1)
}

.slide[data-slider=photogallery] .splide__arrow {
    opacity: 0;
    pointer-events: none
}

.slide[data-slider=photogallery] .splide__slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.slide[data-slider=photogallery] .splide__slide img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.slide[data-slider=carousel] .splide__arrow {
    width: 32px;
    height: 32px;
    background-color: var(--btn-color1)
}

.slide[data-slider=carousel] .splide__arrow::before {
    width: 20px;
    height: 20px;
    background: url("../img/icon/icon-arrow.svg") center no-repeat;
    background-size: contain
}

.slide[data-slider=carousel] .splide__arrow--prev {
    left: -15px
}

.slide[data-slider=carousel] .splide__arrow--prev::before {
    translate: -1px 0
}

.slide[data-slider=carousel] .splide__arrow--next {
    right: -15px
}

.slide[data-slider=carousel] .splide__arrow--next::before {
    translate: 1px 0
}

.slide[data-slider=carousel] .splide__track {
    width: 100%;
    max-width: 288px;
    margin-inline: auto
}

.modal {
    z-index: 15;
    position: relative
}

.modal[aria-hidden=true] {
    display: none
}

.modal[aria-hidden=false] {
    display: block;
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.modal__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    background-color: var(--bg-overlay)
}

.modal__container {
    position: relative;
    max-width: 450px;
    margin-inline: auto;
    padding: 24px 16px 40px;
    background-color: var(--bg-color1);
    -webkit-box-shadow: var(--shadow-xlarge);
    box-shadow: var(--shadow-xlarge)
}

.modal__close {
    position: relative;
    width: 24px;
    height: 24px;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    border: none;
    background: none
}

.modal__close::before, .modal__close::after {
    display: block;
    position: absolute;
    width: 20px;
    height: 2px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-close);
    content: "";
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: -50% -50%
}

.modal__close::before {
    rotate: 45deg
}

.modal__close::after {
    rotate: -45deg
}

.modal__backlink {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: none;
    background: none;
    color: var(--color-txt)
}

.modal__backlink .is-label {
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.2;
    pointer-events: none
}

.modal__backlink::before {
    width: 24px;
    height: 24px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-arrow.svg") center no-repeat;
    mask: url("../img/icon/icon-arrow.svg") center no-repeat;
    -webkit-mask-size: contain;
    scale: -1 1;
    mask-size: contain
}

.modal__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-margin-after: 32px;
    margin-block-end: 32px
}

.modal__block {
    display: grid;
    position: relative;
    grid-template-columns:1fr;
    gap: 24px
}

.modal__block + .modal__block {
    -webkit-padding-before: 24px;
    padding-block-start: 24px;
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
    border-top: 1px solid var(--border-color2)
}

.modal__block:has(.modal__check) {
    gap: 16px;
    color: var(--color-txt)
}

.is-schedule .modal__block:nth-of-type(1) {
    z-index: 3
}

.is-schedule .modal__block:nth-of-type(2) {
    z-index: 2
}

.is-schedule .modal__block:nth-of-type(3) {
    z-index: 1
}

.modal__message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px
}

.modal__message::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-info.svg") center no-repeat;
    mask: url("../img/icon/icon-info.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.modal__check {
    display: grid;
    grid-template-columns:1fr;
    gap: 16px
}

.modal__check--schedule {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px
}

.modal__check--schedule::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-request.svg") center no-repeat;
    mask: url("../img/icon/icon-request.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.modal__check--address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px
}

.modal__check--address::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-pin.svg") center no-repeat;
    mask: url("../img/icon/icon-pin.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.modal__footer {
    -webkit-padding-before: 24px;
    padding-block-start: 24px;
    -webkit-margin-before: 24px;
    margin-block-start: 24px;
    border-top: 1px solid var(--border-color2)
}

.modal__forms[aria-hidden=true] {
    display: none
}

.modal__forms[aria-hidden=false] {
    display: block;
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.modal__delete {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    border: none;
    background: none
}

.modal__delete img {
    pointer-events: none
}

.modal__addtime {
    display: grid;
    grid-template:auto 1fr/1fr;
    gap: 24px
}

.modal__addtime[aria-hidden=true] {
    display: none
}

.modal__addtime[aria-hidden=false] {
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.modal__addtime--head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: -1;
    position: relative;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.modal__addtime--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    border: none;
    background: none;
    color: var(--color-txt)
}

.modal__addtime--trigger[aria-expanded=true] {
    display: none
}

.modal__addtime--trigger .is-label {
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1;
    pointer-events: none
}

.modal__addtime--trigger::before {
    z-index: 1;
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-color: var(--btntxt-color2);
    content: "";
    -webkit-mask: url("../img/icon/icon-plus.svg") center no-repeat;
    mask: url("../img/icon/icon-plus.svg") center no-repeat;
    -webkit-mask-size: 16px;
    mask-size: 16px
}

.modal__addtime--trigger::after {
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    inset-block-start: 0;
    inset-inline-start: 0;
    border-radius: var(--border-circle);
    background-color: var(--btn-color1);
    content: ""
}

.modal__addtime--date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 9px;
    border: 1px solid var(--border-color3);
    border-radius: var(--border-radius-xsmall)
}

.modal__addtime--date::after {
    z-index: -1;
    position: absolute;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    inset-block-start: 50%;
    inset-inline-start: 50%;
    translate: -50% -50%;
    border: 2px solid var(--color-subkey);
    border-radius: var(--border-radius-xsmall);
    background-color: rgba(0, 0, 0, 0);
    content: "";
    opacity: 0;
    -webkit-transition: background-color .3s var(--easing-cubic), opacity .3s var(--easing-cubic);
    transition: background-color .3s var(--easing-cubic), opacity .3s var(--easing-cubic)
}

.modal__addtime--date .is-week {
    font-weight: 400;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1
}

.modal__addtime--date .is-day {
    font-weight: 700;
    font-size: calc(28 / 16 * 1rem);
    line-height: 1
}

.modal__addtime--date .is-month {
    font-weight: 400;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1
}

.modal__addtime--radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%)
}

.modal__addtime--radio:focus-visible + .modal__addtime--date::after, .modal__addtime--radio:checked + .modal__addtime--date::after {
    background-color: #eaf2ff;
    opacity: 1
}

.modal__addtime--time {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.modal__thankstitle {
    color: var(--color-key);
    letter-spacing: calc(4 / 100 * 1em)
}

.modal__thankstel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.modal__thankstel .is-label {
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.1
}

.modal__thankstel::before {
    width: 24px;
    height: 24px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-phone.svg") center no-repeat;
    mask: url("../img/icon/icon-phone.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    background-color: var(--bg-propertyoverlay)
}

.property__container {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    background-color: var(--bg-color1)
}

.property__header {
    position: relative;
    min-height: 68px;
    margin-inline: -16px;
    padding: 24px 16px;
    gap: 10px;
    background-color: var(--bg-color1)
}

.is-allphoto .property__header {
    margin-inline: 0
}

.property__header .modal__backlink {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 16px;
    translate: 0 -50%
}

.property__header .modal__backlink .is-label {
    font-weight: 500
}

.property__logo {
    display: none;
    gap: clamp(6px, .7802340702vw, 10px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.property__logo--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(6px, .7802340702vw, 10px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.property__logo--mark {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 26px
}

.property__logo--label {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-weight: 500;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1;
    font-family: var(--font-roboto);
    letter-spacing: calc(2 / 100 * 1em);
    text-transform: uppercase
}

.property__contents {
    padding-inline: 16px
}

.property__contents.is-allphoto {
    padding-inline: 0
}

.property__contents[aria-hidden=true] {
    display: none
}

.property__contents[aria-hidden=false] {
    display: block;
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.property__photo {
    position: relative;
    margin-inline: -16px
}

.property__photo--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: calc(100% - 32px);
    min-height: 52px;
    padding: 16px;
    -webkit-margin-before: 16px;
    margin-inline: auto;
    margin-block-start: 16px;
    border: 1px solid var(--btntxt-filter);
    border-radius: var(--border-radius-small);
    background-color: var(--bg-color7);
    color: var(--btntxt-filter);
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.property__photo--trigger .is-label {
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1;
    pointer-events: none
}

.property__photo--trigger::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-gallery.svg") center no-repeat;
    mask: url("../img/icon/icon-gallery.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__photo--trigger:focus-visible {
    opacity: var(--btn-opacity)
}

.property__photo .splide__slide {
    position: relative;
    height: auto;
}

.property__photo .splide__slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.property__section {
    display: grid;
    grid-template-columns:1fr;
    padding-block: 40px;
    gap: 24px
}

.property__head {
    display: grid;
    grid-template-columns:1fr;
    gap: 8px
}

.property__head--title {
    color: var(--color-txt);
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.2
}

.property__head--id {
    color: var(--color-txt)
}

.property__head--address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-subtxt);
    font-style: normal;
    font-weight: 400;
    font-size: calc(16 / 16 * 1rem)
}

.property__head--address::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-pin.svg") center no-repeat;
    mask: url("../img/icon/icon-pin.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 24px 32px
}

.property__summary--item {
    display: grid;
    grid-template-columns:auto 1fr;
    gap: 8px
}

.property__summary--label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 6px 8px;
    border: 1px solid var(--border-color2);
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color2);
    color: var(--color-txt);
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.15
}

.property__summary--yen {
    -ms-flex-item-align: center;
    align-self: center;
    color: var(--color-price);
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.1
}

.property__summary--text {
    -ms-flex-item-align: center;
    align-self: center;
    color: var(--color-txt);
    font-size: calc(16 / 16 * 1rem)
}

.property__primaryinfo {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    gap: 16px 13px
}

.property__primaryinfo--item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 14px 24px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color3);
    color: var(--color-txt)
}

.property__primaryinfo--item .is-label {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1
}

.property__primaryinfo--item::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: ""
}

.property__primaryinfo--item.is-buildtype::before {
    -webkit-mask: url("../img/icon/icon-buildtype.svg") center no-repeat;
    mask: url("../img/icon/icon-buildtype.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__primaryinfo--item.is-bed::before {
    -webkit-mask: url("../img/icon/icon-bed.svg") center no-repeat;
    mask: url("../img/icon/icon-bed.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__primaryinfo--item.is-bths::before {
    -webkit-mask: url("../img/icon/icon-bths.svg") center no-repeat;
    mask: url("../img/icon/icon-bths.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__primaryinfo--item.is-sqft::before {
    -webkit-mask: url("../img/icon/icon-sqft.svg") center no-repeat;
    mask: url("../img/icon/icon-sqft.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__primaryinfo--item.is-parking::before {
    -webkit-mask: url("../img/icon/icon-parking.svg") center no-repeat;
    mask: url("../img/icon/icon-parking.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__primaryinfo--item.is-floors::before {
    -webkit-mask: url("../img/icon/icon-floors.svg") center no-repeat;
    mask: url("../img/icon/icon-floors.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px
}

.property__secondaryinfo--item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 16px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color3);
    color: var(--color-txt)
}

.property__secondaryinfo--item .is-label {
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1
}

.property__secondaryinfo--item::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: ""
}

.property__secondaryinfo--item.is-pet::before {
    -webkit-mask: url("../img/icon/icon-pet.svg") center no-repeat;
    mask: url("../img/icon/icon-pet.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-partially::before {
    -webkit-mask: url("../img/icon/icon-partially.svg") center no-repeat;
    mask: url("../img/icon/icon-partially.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-yard::before {
    -webkit-mask: url("../img/icon/icon-yard.svg") center no-repeat;
    mask: url("../img/icon/icon-yard.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-garage::before {
    -webkit-mask: url("../img/icon/icon-garage.svg") center no-repeat;
    mask: url("../img/icon/icon-garage.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-prkngroof::before {
    -webkit-mask: url("../img/icon/icon-prkngroof.svg") center no-repeat;
    mask: url("../img/icon/icon-prkngroof.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-elevator::before {
    -webkit-mask: url("../img/icon/icon-elevator.svg") center no-repeat;
    mask: url("../img/icon/icon-elevator.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-brandnew::before {
    -webkit-mask: url("../img/icon/icon-brandnew.svg") center no-repeat;
    mask: url("../img/icon/icon-brandnew.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-oceanview::before {
    -webkit-mask: url("../img/icon/icon-oceanview.svg") center no-repeat;
    mask: url("../img/icon/icon-oceanview.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-highview::before {
    -webkit-mask: url("../img/icon/icon-highview.svg") center no-repeat;
    mask: url("../img/icon/icon-highview.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-nearbeach::before {
    -webkit-mask: url("../img/icon/icon-nearbeach.svg") center no-repeat;
    mask: url("../img/icon/icon-nearbeach.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__secondaryinfo--item.is-convenient::before {
    -webkit-mask: url("../img/icon/icon-convenient.svg") center no-repeat;
    mask: url("../img/icon/icon-convenient.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.property__features {
    display: grid;
    grid-template-columns:1fr;
    padding-block: 40px;
    gap: 40px 20px;
    border-top: 1px solid var(--border-color2)
}

.property__features--title {
    color: var(--color-txt);
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.2
}

.property__features--label {
    padding: 8px 16px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color3);
    color: var(--color-subtxt);
    font-weight: 700;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.1
}

.property__features--category {
    display: grid;
    grid-template:auto 1fr/1fr;
    gap: 24px
}

.property__features--block {
    display: grid;
    grid-template:auto 1fr/1fr;
    gap: 16px;
    color: var(--color-txt)
}

.property__features .dotlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px
}

.property__photoslide {
    -webkit-padding-after: 16px;
    padding-block-end: 16px
}

.property__photoslide--list {
    display: grid;
    grid-template-columns:1fr;
    gap: 8px
}

.property__photoslide--slide {
    position: relative
}

.property__phototrigger {
    width: 100%;
    height: 100%;
    border: none;
    background: none
}

.property__phototrigger img {
    width: 100%;
    height: 100%;
    pointer-events: none;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.property__footer {
    display: grid;
    z-index: 2;
    position: sticky;
    grid-template-columns:1fr .943fr;
    inset-block-end: 0;
    inset-inline-start: 0;
    gap: 5px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 16px;
    border-top: 1px solid var(--border-color2);
    background-color: var(--bg-color1)
}

.property__footer .btn {
    padding: 8px;
    border-radius: var(--border-radius-small)
}

.property__footer .btn .is-label {
    font-size: calc(14 / 16 * 1rem)
}

.photogallery__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    background-color: var(--bg-photogalleryoverlay)
}

.photogallery__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

.photogallery__container .splide {
    width: 100%
}

.photogallery__container .splide::before {
    position: absolute;
    width: 40px;
    height: 40px;
    inset-block-start: 0;
    inset-inline-start: 50%;
    translate: -50% calc(-100% - 8px);
    background: url("../img/icon/icon-gallery-ui.svg") center no-repeat;
    background-size: contain;
    content: "";
    pointer-events: none
}

.photogallery__container .splide__track {
    max-width: 960px;
    margin-inline: auto
}

.photogallery__container .pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    inset-block-start: 78px;
    inset-inline-start: 50%;
    gap: 5px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    translate: -50% 0
}

.photogallery__container .pagination > * {
    color: var(--color-photogallery);
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1
}

.photogallery__close {
    z-index: 20;
    position: absolute;
    width: 22px;
    height: 22px;
    inset-block-start: 14px;
    inset-inline-start: 16px;
    border: none;
    background: none
}

.photogallery__close::before, .photogallery__close::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-photogallery);
    content: "";
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: -50% -50%
}

.photogallery__close::before {
    rotate: 45deg
}

.photogallery__close::after {
    rotate: -45deg
}

.photogallery__footer {
    display: grid;
    z-index: 2;
    position: fixed;
    grid-template-columns:1fr .943fr;
    inset-block-end: 0;
    inset-inline-start: 0;
    gap: 5px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 16px;
    border-top: 1px solid var(--border-color2);
    background-color: var(--bg-color1)
}

.photogallery__footer .btn {
    padding: 8px;
    border-radius: var(--border-radius-small)
}

.photogallery__footer .btn .is-label {
    font-size: calc(14 / 16 * 1rem)
}

.filter {
    z-index: 15;
    position: relative
}

.filter[aria-hidden=true] {
    display: none
}

.filter[aria-hidden=false] {
    display: block;
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.filter__overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    inset-block-start: 0;
    inset-inline-start: 0;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    background-color: var(--bg-overlay)
}

.filter__container {
    padding-block: 60px 86px;
    background-color: var(--bg-color1)
}

.filter__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 2;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    gap: 10px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    min-height: 60px;
    padding: 15px 16px;
    border-bottom: 1px solid var(--border-color2);
    background-color: var(--bg-color1)
}

.filter__close {
    position: relative;
    width: 24px;
    height: 24px;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
    border: none;
    background: none
}

.filter__close::before, .filter__close::after {
    display: block;
    position: absolute;
    width: 20px;
    height: 2px;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    border-radius: var(--border-halfcircle);
    background-color: var(--btn-close);
    content: "";
    -webkit-transform-origin: center;
    transform-origin: center;
    translate: -50% -50%
}

.filter__close::before {
    rotate: 45deg
}

.filter__close::after {
    rotate: -45deg
}

.filter__footer {
    display: grid;
    z-index: 2;
    position: fixed;
    grid-template-columns:.642fr 1fr;
    inset-block-end: 0;
    inset-inline-start: 0;
    gap: 8px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding: 16px;
    border-top: 1px solid var(--border-color2);
    background-color: var(--bg-color1)
}

.filter__block {
    padding: 20px 16px
}

.filter__content {
    display: grid
}

.filter__content.is-mainfilter {
    grid-template-columns:1fr;
    gap: 32px
}

.filter__content.is-subfilter {
    grid-template-columns:1fr;
    -webkit-margin-before: 32px;
    margin-block-start: 32px
}

.filter__moretrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    margin-inline: auto;
    padding: 14px;
    border: none;
    border-radius: var(--border-halfcircle);
    background-color: var(--filter-subarea);
    color: var(--filter-arrow);
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.filter__moretrigger[aria-expanded=true] {
    display: none
}

.filter__moretrigger .is-label {
    font-weight: 700;
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.1;
    pointer-events: none
}

.filter__moretrigger::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-plus.svg") center no-repeat;
    mask: url("../img/icon/icon-plus.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.filter__moretrigger:focus-visible {
    opacity: var(--btn-opacity)
}

.filter__subfilter {
    display: grid;
    grid-template-columns:1fr;
    padding: 24px;
    gap: 32px;
    border-radius: var(--border-radius-medium);
    background-color: var(--filter-subarea)
}

.filter__subfilter[aria-hidden=true] {
    display: none
}

.filter__subfilter[aria-hidden=false] {
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.filter__items {
    display: grid;
    grid-template:auto 1fr/1fr;
    gap: 8px
}

.filter__items--label {
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem)
}

.filter__items--label.is-uppercase {
    text-transform: uppercase
}

.filter__items--inner {
    position: relative
}

.filter__items--inner:has(.filter__selectbox) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.filter__items--inner:has(.filter__selectbox) .is-separate {
    display: block;
    width: 12px;
    height: 1px;
    translate: 0 22px;
    background-color: var(--color-black)
}

.filter__select[aria-hidden=true] {
    display: none
}

.filter__selectbox {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    max-width: 123px
}

.filter__selectbox--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    gap: 15px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 180px;
    padding: 15px 40px 15px 16px;
    border: 1px solid var(--filter-selectbox);
    border-radius: var(--filter-radius);
    background-color: var(--bg-color1);
    color: var(--btntxt-filter)
}

.filter__selectbox--trigger .is-label {
    color: var(--filter-placeholder);
    font-weight: 500;
    pointer-events: none;
    -webkit-transition: color .3s var(--easing-cubic);
    font-size: calc(16 / 16 * 1rem);
    transition: color .3s var(--easing-cubic);
    overflow: hidden;
    white-space: nowrap;
}

.filter__selectbox--trigger[data-value=true] .is-label {
    color: var(--color-maintxt)
}

.filter__selectbox--trigger::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 13px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: var(--filter-arrow);
    content: "";
    -webkit-mask: url("../img/icon/icon-arrselect.svg") center no-repeat;
    mask: url("../img/icon/icon-arrselect.svg") center no-repeat;
    -webkit-mask-size: contain;
    translate: 0 -50%;
    mask-size: contain;
    -webkit-transition: rotate .3s var(--easing-cubic);
    transition: rotate .3s var(--easing-cubic)
}

.filter__selectbox--trigger[aria-expanded=true]::after {
    rotate: -180deg
}

.filter__selectbox--dropdown {
    z-index: 3;
    position: absolute;
    width: 100%;
    max-height: 304px;
    inset: 62px auto auto 0;
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior-block: contain;
    border-radius: var(--border-radius-small);
    background-color: var(--bg-color1);
    -webkit-box-shadow: var(--shadow-small);
    box-shadow: var(--shadow-small)
}

.filter__selectbox--dropdown.is-hide {
    display: none
}

.filter__selectbox--dropdown[aria-hidden=true] {
    -webkit-animation: outviewup .1s var(--easing-cubic) forwards;
    animation: outviewup .1s var(--easing-cubic) forwards
}

.filter__selectbox--dropdown[aria-hidden=false] {
    -webkit-animation: inviewdown .4s var(--easing-cubic) forwards;
    animation: inviewdown .4s var(--easing-cubic) forwards
}

.filter__selectbox--list {
    display: grid;
    grid-template-columns:1fr;
    gap: 2px
}

.filter__selectbox--item {
    padding: 4px 6px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-color1);
    font-weight: 500;
    cursor: pointer;
    -webkit-transition: background-color .3s var(--easing-cubic);
    font-size: calc(14 / 16 * 1rem);
    transition: background-color .3s var(--easing-cubic)
}

.filter__selectbox--item[aria-selected=true] {
    background-color: var(--filter-option)
}

.filter__selectbox--item:focus-visible {
    background-color: var(--form-option)
}

.filter__selectbox--item:focus-visible[aria-selected=true] {
    background-color: var(--filter-option)
}

.filter__checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    --checked-any: 60px;
    --checked-label: 54px
}

.filter__checkbox .is-checked {
    z-index: 0;
    position: absolute;
    width: var(--checked-label);
    min-height: 46px;
    inset-block-start: 0;
    inset-inline-start: 0;
    translate: 1px -2px;
    border: 1px solid var(--filter-checked);
    border-radius: var(--filter-radius);
    background-color: var(--filter-bg-checked);
    pointer-events: none;
    -webkit-transition: translate .3s var(--easing-cubic);
    transition: translate .3s var(--easing-cubic)
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(1) input[name=bedrooms]:checked) .is-checked {
    width: var(--checked-any);
    border-radius: var(--filter-radius) 0 0 var(--filter-radius)
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(2) input[name=bedrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(3) input[name=bedrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label)) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(4) input[name=bedrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label) * 2) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(5) input[name=bedrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label) * 3) -2px;
    border-radius: 0 var(--filter-radius) var(--filter-radius) 0
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(1) input[name=bathrooms]:checked) .is-checked {
    width: var(--checked-any);
    border-radius: var(--filter-radius) 0 0 var(--filter-radius)
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(2) input[name=bathrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(3) input[name=bathrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label)) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(4) input[name=bathrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label) * 2) -2px
}

.filter__checkbox:has(.filter__checkbox--label:nth-of-type(5) input[name=bathrooms]:checked) .is-checked {
    translate: calc(var(--checked-any) + 1px + var(--checked-label) * 3) -2px;
    border-radius: 0 var(--filter-radius) var(--filter-radius) 0
}

.filter__checkbox--value {
    z-index: 1;
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    color: var(--filtertxt-inputvalue);
    font-weight: 500;
    line-height: 1.1;
    -webkit-transition: color .3s var(--easing-cubic);
    font-size: calc(18 / 16 * 1rem);
    transition: color .3s var(--easing-cubic)
}

.filter__checkbox--label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: var(--checked-label);
    height: 42px;
    padding: 10px 16px;
    border-block: 1px solid var(--filter-checkbox);
    background-color: var(--bg-color1);
    -webkit-border-start: 1px solid var(--filter-checkbox);
    border-inline-start: 1px solid var(--filter-checkbox)
}

.filter__checkbox--label:nth-of-type(1) {
    width: var(--checked-any);
    border-radius: var(--filter-radius) 0 0 var(--filter-radius)
}

.filter__checkbox--label:has([value="1.5+"]), .filter__checkbox--label:has([value="2.5+"]) {
    width: var(--checked-any)
}

.filter__checkbox--label:nth-last-of-type(1) {
    -webkit-border-end: 1px solid var(--filter-checkbox);
    border-radius: 0 var(--filter-radius) var(--filter-radius) 0;
    border-inline-end: 1px solid var(--filter-checkbox)
}

.filter__checkbox--label input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%)
}

.filter__checkbox--label:has(input:focus-visible) {
    border-radius: 2px;
    outline: -webkit-focus-ring-color solid 2px;
    outline-offset: 2px
}

.filter__checkbox--label:has(input:checked) .filter__checkbox--value {
    color: var(--color-maintxt);
    font-weight: 700
}

.filter__inputlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px 12px
}

.filter__inputlist.is-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.filter__inputlist--label {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    gap: 4px
}

.filter__inputlist--label input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    clip-path: inset(50%)
}

.filter__inputlist--label::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    translate: 0 2px;
    border: 1px solid var(--filter-checkbox);
    background-color: var(--bg-color1);
    content: ""
}

.filter__inputlist--label::after {
    position: absolute;
    width: 16px;
    height: 16px;
    inset-block-start: 2px;
    inset-inline-start: 0;
    content: "";
    opacity: 0;
    -webkit-transition: opacity .3s var(--easing-cubic);
    transition: opacity .3s var(--easing-cubic)
}

.filter__inputlist--label:has(input[type=checkbox])::after {
    background: url("../img/icon/icon-check.svg") center no-repeat;
    background-size: contain
}

.filter__inputlist--label:has(input[type=radio])::before {
    border: 1px solid var(--filter-checkbox);
    border-radius: var(--border-circle);
    background-color: var(--bg-color1)
}

.filter__inputlist--label:has(input[type=radio])::after {
    border: 5px solid var(--filter-checked);
    border-radius: var(--border-circle);
    background-color: var(--bg-color1)
}

.filter__inputlist--label:has(input[type=checkbox]:checked)::after {
    opacity: 1
}

.filter__inputlist--label:has(input[type=radio]:checked)::after {
    opacity: 1
}

.filter__inputlist--label:has(input:focus-visible) {
    border-radius: 2px;
    outline: -webkit-focus-ring-color solid 2px;
    outline-offset: 2px
}

.filter__inputlist--value {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    color: var(--filtertxt-inputvalue);
    font-weight: 500;
    font-size: calc(18 / 16 * 1rem);
    line-height: 1.1
}

.gm-style .gm-style-iw-d {
    padding: 0;
    overflow: hidden !important
}

.gm-style .gm-style-iw-c {
    padding: 0;
    -webkit-box-shadow: var(--shadow-large);
    box-shadow: var(--shadow-large)
}

.gm-style .gm-style-iw-chr {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0
}

.gm-style .gm-ui-hover-effect {
    width: 32px !important;
    height: 32px !important
}

.gm-style .gm-ui-hover-effect > span {
    margin: 2px !important;
    background-color: var(--btn-color2)
}

.gmapinfo {
    position: relative;
    max-width: 226px
}

.gmapinfo__thumbnail {
    max-width: 226px;
    height: 127px
}

.gmapinfo__thumbnail img {
    width: 100%;
    height: auto;
    object-fit: contain;      /* fit container, no crop img */
    object-position: center;
}

.gmapinfo__contents {
    display: grid;
    grid-template-columns:1fr;
    padding: 8px 16px 16px;
    gap: 8px
}

.gmapinfo__contents--name {
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem);
    line-height: 1.1
}

.gmapinfo__contents--yen {
    color: var(--color-price);
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    line-height: 1.1
}

.gmapinfo__contents--address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    color: var(--color-subtxt);
    font-style: normal;
    font-weight: 500;
    font-size: calc(12 / 16 * 1rem)
}

.gmapinfo__contents--address::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-pin.svg") center no-repeat;
    mask: url("../img/icon/icon-pin.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.gmapinfo__contents--infolist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4px
}

.gmapinfo__contents--infoitem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    color: var(--color-txt)
}

.gmapinfo__contents--infoitem .is-label {
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem)
}

.gmapinfo__contents--infoitem:not(:last-child)::after {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    content: "/"
}

.gmapinfo__contents--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 24px;
    border-radius: var(--border-radius-xsmall);
    background-color: var(--btn-color3);
    color: var(--btntxt-color3);
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem)
}

.gmapinfo__contents--trigger::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: ""
}

.home__news{
    padding:24px 15px;
    background-color:var(--bg-color1);
}

.home__news--container{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}

.home__news--header{
    -webkit-margin-after:40px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-block-end:40px;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
}

.home__news--header .title.is-pagetitle{
    display:inline-block;
    position:relative;
    margin-block:0;
    padding-bottom:10px;
    font-weight:700;
    letter-spacing:.05em;
}

.home__news--header .title.is-pagetitle::after{
    position:absolute;
    bottom:0;
    left:50%;
    content:"";
    -webkit-transform:translateX(-50%);
    width:85px;
    height:4px;
    transform:translateX(-50%);
    background-color:var(--color-key);
}

.home__news--list{
    margin:0;
    padding:0;
    list-style:none;
    text-align:center;
}

.home__news--item{
    margin-bottom:40px;
    border-bottom:1px solid var(--border-color1);
    text-align:center;
}

.home__news--item:last-child{
    margin-bottom:0;
}

.home__news--link{
    display:block;
    padding-bottom:16px;
    color:inherit;
    text-decoration:none;
    -webkit-transition:opacity .3s var(--easing-cubic);
    transition:opacity .3s var(--easing-cubic);
}

.home__news--date{
    margin-bottom:8px;
    color:var(--color-subtxt);
    font-size:calc(14/16*1rem);
}

.home__news--subtitle{
    margin-bottom:12px;
    color:var(--color-maintxt);
    color:#b00000;
    font-weight:700;
    font-size:calc(20/16*1rem);
    line-height:1.2;
}

.home__news--text{
    color:var(--color-maintxt);
    color:#b00000;
    font-size:calc(16/16*1rem);
    line-height:1.6
}

.home__news--link:hover{
    opacity:.8
}

.home__news--header .title.is-pagetitle{
    font-size:calc(28/16*1rem)
}

.home__news--date{
    font-size:calc(16/16*1rem)
}

.home__news--subtitle{
    font-size:calc(24/16*1rem)
}

.home__news--text{
    font-size:calc(18/16*1rem)
}

.home__filter {
    padding: 24px 15px
}

.home__filter--container {
    max-width: 1000px;
    margin-inline: auto
}

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

.home__filter--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    gap: 15px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    max-width: 343px;
    padding: 16px 32px;
    border: 1px solid var(--border-color2);
    border-radius: var(--border-radius-medium);
    background-color: var(--btn-filter);
    color: var(--btntxt-filter)
}

.home__filter--trigger .is-label {
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    pointer-events: none
}

.home__filter--trigger::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-filter.svg") center no-repeat;
    mask: url("../img/icon/icon-filter.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__filter--trigger::after {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 32px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-arrow.svg") center no-repeat;
    mask: url("../img/icon/icon-arrow.svg") center no-repeat;
    -webkit-mask-size: contain;
    translate: 0 -50%;
    rotate: 90deg;
    mask-size: contain
}

.home__container {
    border-top: 1px solid var(--border-color1);
    background-color: var(--bg-color1)
}

.home__block[aria-hidden=true] {
    display: none
}

.home__block[aria-hidden=false] {
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

.home__block.is-gmap {
    position: relative;
    min-height: 560px;
    padding: 0
}

.home__block.is-gmap[aria-hidden=false] {
    display: grid
}

.home__block.is-gmap #gmap {
    width: 100%;
    height: 100%
}

.home__block.is-results {
    z-index: 1;
    position: relative;
    width: 100%
}

.home__tabs {
    -webkit-margin-after: 24px;
    margin-block-end: 24px
}

.home__tabs--inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    max-width: 283px;
    margin-inline: auto;
    padding: 8px;
    gap: 8px;
    border-radius: var(--border-radius-medium);
    background-color: var(--bg-color7)
}

.home__tabs--inner .is-tabselect {
    z-index: 0;
    position: absolute;
    width: 130px;
    min-height: 50px;
    inset-block-start: 8px;
    inset-inline-start: 0;
    border-radius: var(--border-radius-medium);
    background-color: var(--btn-filter);
    -webkit-box-shadow: var(--shadow-small);
    translate: 8px 0;
    box-shadow: var(--shadow-small);
    -webkit-transition: translate .3s var(--easing-cubic);
    transition: translate .3s var(--easing-cubic)
}

.home__tabs--inner.select-list .is-tabselect {
    translate: 8px 0
}

.home__tabs--inner.select-map .is-tabselect {
    translate: 146px 0
}

.home__tabs--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    position: relative;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    border: none;
    background: none;
    color: var(--color-subtxt);
    -webkit-transition: color .3s var(--easing-cubic);
    transition: color .3s var(--easing-cubic)
}

.home__tabs--trigger .is-label {
    font-weight: 700;
    font-size: calc(16 / 16 * 1rem);
    pointer-events: none
}

.home__tabs--trigger[aria-selected=true] {
    color: var(--btntxt-filter)
}

.home__tabs--trigger::before {
    -webkit-transition: background-color .3s var(--easing-cubic);
    transition: background-color .3s var(--easing-cubic)
}

.home__tabs--trigger.is-list::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-list.svg") center no-repeat;
    mask: url("../img/icon/icon-list.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__tabs--trigger.is-map::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-map.svg") center no-repeat;
    mask: url("../img/icon/icon-map.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__results {
    padding: 40px 16px
}

.home__results > .title {
    -webkit-margin-after: 24px;
    margin-block-end: 24px
}

.home__results--notfound {
    position: relative;
    padding: 40px 16px
}

.home__results--notfound::after {
    display: block;
    position: absolute;
    width: calc(100% - 32px);
    height: 1px;
    margin-inline: auto;
    inset-block-end: 0;
    inset-inline-start: 16px;
    background-color: var(--border-color3);
    content: ""
}

.home__results--notfound > .title {
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
    color: var(--error)
}

.home__results--message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 16px;
    gap: 10px;
    background-color: var(--error-bg);
    color: var(--error)
}

.home__results--message .text {
    font-weight: 500
}

.home__results--message::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-search.svg") center no-repeat;
    mask: url("../img/icon/icon-search.svg") center no-repeat;
    -webkit-mask-size: contain;
    translate: 0 3px;
    mask-size: contain
}

.home__results--list {
    display: grid;
    grid-template-columns:repeat(auto-fill, minmax(min(288px, 100%), 1fr));
    gap: 24px 16px
}

.home__results--item {
    max-width: 335px;
    margin-inline: auto
}

.home__results--trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    border-radius: var(--border-radius-small);
    background-color: var(--bg-color1);
    -webkit-box-shadow: var(--shadow-medium);
    box-shadow: var(--shadow-medium)
}

.home__results--photo {
    position: relative
}

.home__results--photo .splide {
    overflow: hidden;
    border-start-start-radius: var(--border-radius-small);
    border-start-end-radius: var(--border-radius-small)
}

.home__results--photo .splide.is-single .splide__list {
    display: block
}

.home__results--photo .splide__slide {
    height: 188px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f0f0f0;
}

.home__results--photo .splide__slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.home__results--tags {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    z-index: 2;
    position: absolute;
    inset-block-start: 8px;
    inset-inline-start: 8px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6px
}

.home__results--taglabel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 3px 4px;
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: var(--border-radius-xsmall);
    background-color: var(--bg-tag);
    color: var(--color-tagtxt1);
    font-weight: 500;
    font-size: calc(12 / 16 * 1rem);
    line-height: 1.1
}

.home__results--taglabel.is-status1 {
    background-color: var(--bg-tag1)
}

.home__results--taglabel.is-status2 {
    background-color: var(--bg-tag2)
}

.home__results--taglabel.is-status3 {
    background-color: var(--bg-tag3)
}

.home__results--taglabel.is-status4 {
    background-color: var(--bg-tag4)
}

.home__results--taglabel.is-status5 {
    border-color: currentcolor;
    background-color: var(--bg-tag5);
    color: var(--color-tagtxt2)
}

.home__results--summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 16px 12px
}

.home__results--summary .title {
    -webkit-margin-after: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    margin-block-end: 8px;
    overflow: hidden;
    -webkit-box-orient: vertical
}

.home__results--yen {
    -webkit-margin-after: 8px;
    margin-block-end: 8px;
    color: var(--color-price);
    font-weight: 700;
    font-size: calc(24 / 16 * 1rem);
    line-height: 1.1
}

.home__results--address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    color: var(--color-subtxt);
    font-style: normal;
    font-weight: 500;
    font-size: calc(14 / 16 * 1rem)
}

.home__results--address::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-pin.svg") center no-repeat;
    mask: url("../img/icon/icon-pin.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__results--info {
    -webkit-margin-before: 16px;
    margin-block-start: 16px
}

.home__results--infolist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px 10px
}

.home__results--infoitem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3px;
    color: var(--color-subtxt)
}

.home__results--infoitem .is-label {
    font-weight: 700;
    font-size: calc(14 / 16 * 1rem)
}

.home__results--infoitem.is-bed::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-bed.svg") center no-repeat;
    mask: url("../img/icon/icon-bed.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__results--infoitem.is-bath::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-bths.svg") center no-repeat;
    mask: url("../img/icon/icon-bths.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__results--infoitem.is-sqft::before {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentcolor;
    content: "";
    -webkit-mask: url("../img/icon/icon-sqft.svg") center no-repeat;
    mask: url("../img/icon/icon-sqft.svg") center no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.home__results--id {
    -webkit-padding-before: 16px;
    padding-block-start: 16px;
    -webkit-margin-before: auto;
    margin-block-start: auto;
    color: var(--color-subtxt);
    font-weight: 500;
    text-align: right
}

.contact .main__container {
    display: grid;
    grid-template-columns:1fr;
    gap: 24px
}

.contact .form__block {
    width: 100%;
    max-width: 872px;
    margin-inline: auto
}

.company .image {
    -webkit-margin-after: 24px;
    margin-block-end: 24px
}

.company .image img {
    max-width: 368px
}

.company__embed {
    max-width: 872px;
    -webkit-margin-before: 24px;
    margin-inline: auto;
    margin-block-start: 24px
}

.privacypolicy .main__section {
    display: grid;
    grid-template-columns:1fr;
    gap: 16px
}

.privacypolicy .main__section:not(:nth-of-type(1)) {
    -webkit-padding-before: 40px;
    padding-block-start: 40px;
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
    border-top: 1px solid var(--border-color2)
}

.privacypolicy .title {
    font-weight: 400
}

.privacypolicy__date {
    max-width: 872px;
    -webkit-margin-before: 40px;
    margin-inline: auto;
    margin-block-start: 40px
}

.is-accessibility {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0
}

.is-mapicon {
    width: 38px;
    height: 45px
}

.d-none {
    display: none
}

.d-block {
    display: block
}

.is-red {
    color: var(--color-red)
}

.is-key {
    color: var(--color-key)
}

.is-subkey {
    color: var(--color-subkey)
}

.is-align-c {
    text-align: center
}

.is-align-r {
    text-align: right
}

.is-align-l {
    text-align: left
}

[data-inview=up] {
    opacity: 0
}

[data-inview=up].is-show {
    -webkit-animation: inviewup .4s var(--easing-cubic) forwards;
    animation: inviewup .4s var(--easing-cubic) forwards
}

[data-inview=fade] {
    opacity: 0
}

[data-inview=fade].is-show {
    -webkit-animation: inviewfadein .4s var(--easing-cubic) forwards;
    animation: inviewfadein .4s var(--easing-cubic) forwards
}

@-webkit-keyframes inviewfadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes inviewfadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes inviewfadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes inviewfadeout {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes inviewup {
    from {
        translate: 0 20px;
        opacity: 0
    }
    to {
        translate: 0 0;
        opacity: 1
    }
}

@keyframes inviewup {
    from {
        translate: 0 20px;
        opacity: 0
    }
    to {
        translate: 0 0;
        opacity: 1
    }
}

@-webkit-keyframes inviewdown {
    from {
        translate: 0 -20px;
        opacity: 0
    }
    to {
        translate: 0 0;
        opacity: 1
    }
}

@keyframes inviewdown {
    from {
        translate: 0 -20px;
        opacity: 0
    }
    to {
        translate: 0 0;
        opacity: 1
    }
}

@-webkit-keyframes outviewup {
    from {
        translate: 0 0;
        opacity: 1
    }
    to {
        translate: 0 -20px;
        opacity: 0
    }
}

@keyframes outviewup {
    from {
        translate: 0 0;
        opacity: 1
    }
    to {
        translate: 0 -20px;
        opacity: 0
    }
}

@-webkit-keyframes outviewdown {
    from {
        translate: 0 0;
        opacity: 1
    }
    to {
        translate: 0 20px;
        opacity: 0
    }
}

@keyframes outviewdown {
    from {
        translate: 0 0;
        opacity: 1
    }
    to {
        translate: 0 20px;
        opacity: 0
    }
}

@media screen and (min-width: 360px) {
    .fixed {
        grid-template-columns:206px 126px
    }

    .property__footer {
        grid-template-columns:174px 164px
    }

    .property__footer .btn .is-label {
        font-size: calc(16 / 16 * 1rem)
    }

    .photogallery__footer {
        grid-template-columns:174px 164px
    }

    .photogallery__footer .btn .is-label {
        font-size: calc(16 / 16 * 1rem)
    }

    .filter__footer {
        grid-template-columns:131px 204px
    }

    .filter__selectbox {
        max-width: 180px
    }

    .filter__checkbox {
        --checked-any: 66px;
        --checked-label: 56px
    }

    .gmapinfo__contents--infoitem {
        gap: 4px
    }

    .home__results--summary {
        padding: 16px
    }

    .home__results--infolist {
        gap: 16px
    }

    .home__results--infoitem {
        gap: 4px
    }
}

@media screen and (min-width: 375px) {
    .slide[data-slider=carousel] .splide__track {
        max-width: 343px
    }

    .d-xs-none {
        display: none
    }

    .d-xs-block {
        display: block
    }

    .is-align-xs-c {
        text-align: center
    }

    .is-align-xs-r {
        text-align: right
    }

    .is-align-xs-l {
        text-align: left
    }
}

@media screen and (min-width: 414px) {
    .slide[data-slider=carousel] .splide__track {
        max-width: 382px
    }
}

@media screen and (min-width: 425px) {
    .slide[data-slider=carousel] .splide__track {
        max-width: 393px
    }
}

@media screen and (min-width: 440px) {
    .d-sm-none {
        display: none
    }

    .d-sm-block {
        display: block
    }

    .is-align-sm-c {
        text-align: center
    }

    .is-align-sm-r {
        text-align: right
    }

    .is-align-sm-l {
        text-align: left
    }
}

@media screen and (min-width: 450px) {
    .slide[data-slider=carousel] .splide__track {
        max-width: 418px
    }
}

@media screen and (min-width: 768px) {
    .d-md-none {
        display: none
    }

    .d-md-block {
        display: block
    }

    .is-align-md-c {
        text-align: center
    }

    .is-align-md-r {
        text-align: right
    }

    .is-align-md-l {
        text-align: left
    }
}

@media screen and (min-width: 769px) {
    :root {
        --header-height: 80px;
        --bg-photogalleryoverlay: rgba(0, 0, 0, 0.8)
    }

    body::-webkit-scrollbar {
        width: 6px;
        height: 6px
    }

    body::-webkit-scrollbar-track {
        background-color: var(--bg-color6)
    }

    body::-webkit-scrollbar-thumb {
        border-radius: 8px;
        background-color: var(--color-key)
    }

    .header {
        position: static;
        border-bottom: 1px solid var(--border-color5)
    }

    .header__logo--mark {
        max-width: 40px
    }

    .header__logo--label {
        font-size: calc(24 / 16 * 1rem)
    }

    .header__navtrigger {
        display: none
    }

    .gnav {
        position: static;
        width: auto;
        height: auto;
        overflow-y: visible;
        overscroll-behavior-block: auto;
        background-color: rgba(0, 0, 0, 0)
    }

    .gnav__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 20px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding: 0
    }

    .gnav__item {
        border: none
    }

    .gnav__link {
        padding-block: 0
    }

    .gnav__link:focus-visible {
        color: var(--color-txthover)
    }

    .main {
        -webkit-padding-before: 80px;
        padding-block-start: 80px
    }

    .main__container {
        padding-block: 40px
    }

    .fixed {
        display: none
    }

    .kv {
        aspect-ratio: auto;
        height: 380px
    }

    .kv__container {
        -webkit-padding-before: 60px;
        padding-block-start: 60px
    }

    .kv__label {
        font-size: calc(40 / 16 * 1rem)
    }

    .title.is-pagetitle {
        margin-block: 0 40px;
        font-weight: 400;
        font-size: calc(50 / 16 * 1rem)
    }

    .datatbl__item {
        grid-template-columns:200px 1fr
    }

    .embed__map {
        aspect-ratio: 872/340
    }

    .form__selectbox--dropdown {
        inset-block-start: 53px
    }

    .form__selectbox--dropdown::-webkit-scrollbar {
        width: 4px;
        height: 6px
    }

    .form__selectbox--dropdown::-webkit-scrollbar-track {
        background-color: rgba(0, 0, 0, 0)
    }

    .form__selectbox--dropdown::-webkit-scrollbar-thumb {
        border-radius: 8px;
        background-color: var(--color-gray5)
    }

    .slide .splide__arrow {
        width: 24px;
        height: 24px
    }

    .slide .splide__arrow::before {
        width: 24px;
        height: 24px
    }

    .property__photo .slide .splide__arrow {
        width: 45px;
        height: 45px
    }

    .property__photo .slide .splide__arrow--prev {
        left: 1px
    }

    .property__photo .slide .splide__arrow--next {
        right: 1px
    }

    .home__results--photo .slide .splide__arrow::before {
        width: 20px;
        height: 20px
    }

    .slide.is-photogallery .splide__arrow {
        width: 45px;
        height: 45px
    }

    .slide.is-photogallery .splide__arrow--prev {
        left: 24px
    }

    .slide.is-photogallery .splide__arrow--next {
        right: 24px
    }

    .slide[data-slider=photogallery] .splide__arrow {
        opacity: 1;
        pointer-events: all
    }

    .slide[data-slider=photogallery] .splide__slide {
        max-height: calc(100vh - 120px)
    }

    .slide[data-slider=carousel] .splide__arrow {
        width: 32px;
        height: 32px
    }

    .slide[data-slider=carousel] .splide__track {
        max-width: 386px
    }

    .modal__overlay {
        padding-block: 60px
    }

    .modal__overlay::-webkit-scrollbar {
        width: 4px;
        height: 6px
    }

    .modal__overlay::-webkit-scrollbar-track {
        background-color: rgba(0, 0, 0, 0)
    }

    .modal__overlay::-webkit-scrollbar-thumb {
        border-radius: 8px;
        background-color: var(--color-key)
    }

    .modal__container {
        padding-inline: 32px;
        border-radius: var(--border-radius-small)
    }

    .property__header {
        min-height: 80px;
        margin-inline: -24px;
        padding: 20px 24px
    }

    .is-allphoto .property__header {
        margin-inline: -24px
    }

    .property__header .modal__backlink {
        inset-inline-start: 24px
    }

    .property__logo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .property__logo--mark {
        max-width: 40px
    }

    .property__logo--label {
        font-size: calc(24 / 16 * 1rem)
    }

    .property__contents {
        padding-inline: 24px
    }

    .property__contents.is-allphoto {
        padding-inline: 24px
    }

    .property__photo {
        margin-inline: 0
    }

    .property__photo--trigger {
        position: absolute;
        width: 100%;
        max-width: 235px;
        inset-block-end: 10px;
        inset-inline-end: 10px;
        -webkit-margin-before: 0;
        margin-block-start: 0;
        border: none;
        border-radius: var(--border-radius-xsmall);
        background-color: var(--bg-overlay);
        color: var(--btntxt-color1)
    }

    .property__photo .splide__slide {
        aspect-ratio: 960/500
    }

    .property__head--title {
        font-size: calc(28 / 16 * 1rem)
    }

    .property__head--address {
        font-size: calc(14 / 16 * 1rem)
    }

    .property__summary--text {
        font-size: calc(18 / 16 * 1rem)
    }

    .property__primaryinfo {
        grid-template-columns:repeat(6, 1fr);
        gap: 16px 3px
    }

    .property__secondaryinfo {
        gap: 8px
    }

    .property__features {
        grid-template-columns:repeat(2, 1fr)
    }

    .property__features--title {
        grid-area: 1/1/1/3;
        font-size: calc(24 / 16 * 1rem)
    }

    .property__features--label {
        grid-area: 1/1/1/3;
        font-size: calc(24 / 16 * 1rem)
    }

    .property__features--category.is-fullwidth {
        grid-template-columns:repeat(2, 1fr);
        grid-area: 2/1/2/3;
        gap: 24px 80px
    }

    .property__photoslide {
        -webkit-padding-after: 40px;
        padding-block-end: 40px
    }

    .property__photoslide--list {
        grid-template-columns:repeat(2, 1fr);
        gap: 12px
    }

    .property__photoslide--slide:nth-child(3n+1) {
        grid-column: 1/3
    }

    .property__footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 28px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        max-width: 960px;
        margin-inline: auto;
        padding-block: 40px
    }

    .property__footer .btn {
        border-radius: var(--border-halfcircle)
    }

    .property__footer .btn .is-label {
        font-size: calc(18 / 16 * 1rem)
    }

    .photogallery__overlay {
        padding-block: 60px 0;
        background-color: var(--bg-photogalleryoverlay)
    }

    .photogallery__container {
        position: relative
    }

    .photogallery__container .splide::before {
        display: none
    }

    .photogallery__container .pagination {
        inset-block-start: -10px
    }

    .photogallery__container .pagination > * {
        font-size: calc(18 / 16 * 1rem)
    }

    .photogallery__close {
        width: 28px;
        height: 28px;
        inset-block-start: 24px;
        inset-inline-start: 20px
    }

    .photogallery__footer {
        display: none
    }

    .photogallery__footer .btn {
        border-radius: var(--border-halfcircle)
    }

    .photogallery__footer .btn .is-label {
        font-size: calc(18 / 16 * 1rem)
    }

    .filter__overlay {
        position: static;
        width: auto;
        height: auto;
        overflow-y: visible;
        overscroll-behavior-block: auto;
        background: none
    }

    .filter__container {
        padding: 0
    }

    .filter__header {
        display: none
    }

    .filter__footer {
        position: static;
        grid-template-columns:1fr 1fr;
        padding: 24px 0 0;
        gap: 52px;
        border-top: none
    }

    .filter__block {
        padding: 0
    }

    .filter__content.is-mainfilter {
        grid-template-rows:repeat(4, auto);
        grid-template-columns:repeat(2, 1fr);
        grid-template-areas:"rent bedrooms" "bathrooms sqft" "distance area" "pet inspection"
    }

    .filter__content.is-subfilter {
        -webkit-margin-before: 24px;
        margin-block-start: 24px
    }

    .filter__subfilter {
        grid-template-rows:repeat(3, auto);
        grid-template-columns:1fr .758fr .818fr;
        grid-template-areas:"type parking parkingtype" "furnished appialances appialances" "location features features";
        gap: 24px;
        border-radius: var(--border-radius-large)
    }

    .filter__items.is-rent {
        grid-area: rent
    }

    .filter__items.is-bedrooms {
        grid-area: bedrooms
    }

    .filter__items.is-bathrooms {
        grid-area: bathrooms
    }

    .filter__items.is-sqft {
        grid-area: sqft
    }

    .filter__items.is-distance {
        grid-area: distance
    }

    .filter__items.is-area {
        grid-area: area
    }

    .filter__items.is-pet {
        grid-area: pet
    }

    .filter__items.is-inspection {
        grid-area: inspection
    }

    .filter__items.is-type {
        grid-area: type
    }

    .filter__items.is-parking {
        grid-area: parking
    }

    .filter__items.is-parkingtype {
        grid-area: parkingtype
    }

    .filter__items.is-furnished {
        grid-area: furnished
    }

    .filter__items.is-appialances {
        grid-area: appialances
    }

    .filter__items.is-location {
        grid-area: location
    }

    .filter__items.is-features {
        grid-area: features
    }

    .filter__selectbox--trigger {
        padding: 11px 40px 11px 16px
    }

    .filter__selectbox--trigger .is-label {
        font-size: calc(18 / 16 * 1rem)
    }

    .filter__selectbox--dropdown {
        max-width: 180px;
        inset-block-start: 53px
    }

    .filter__selectbox--dropdown::-webkit-scrollbar {
        width: 4px;
        height: 6px
    }

    .filter__selectbox--dropdown::-webkit-scrollbar-track {
        background-color: rgba(0, 0, 0, 0)
    }

    .filter__selectbox--dropdown::-webkit-scrollbar-thumb {
        border-radius: 8px;
        background-color: var(--color-gray5)
    }

    .is-features .filter__inputlist--label:nth-of-type(2) {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 66%;
        flex: 1 1 66%
    }

    .home__filter {
        padding-block: 40px
    }

    .home__filter--container {
        padding: 40px 23px;
        border: 1px solid var(--border-color1);
        border-radius: var(--border-radius-medium);
        background-color: var(--bg-color1);
        -webkit-box-shadow: var(--shadow-container);
        box-shadow: var(--shadow-container)
    }

    .home__filter--title {
        display: none
    }

    .home__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        max-height: 840px;
        overflow: hidden;
        border-top: none;
        -webkit-box-shadow: var(--shadow-home);
        box-shadow: var(--shadow-home)
    }

    .home__block.is-gmap {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        padding: 0
    }

    .home__block.is-results {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: 415px;
        overflow-y: auto;
        scrollbar-width: none;
        -webkit-box-shadow: var(--shadow-home);
        box-shadow: var(--shadow-home);
        -ms-overflow-style: none
    }

    .home__block.is-results::-webkit-scrollbar {
        display: none
    }

    .home__tabs {
        display: none
    }

    .home__results {
        padding: 40px
    }

    .home__results--notfound {
        padding: 40px 40px 80px
    }

    .home__results--notfound::after {
        display: block;
        width: calc(100% - 80px);
        inset-inline-start: 40px
    }

    .home__results--list {
        gap: 24px
    }

    .company .image {
        float: right;
        -webkit-margin-after: 0;
        margin-block-end: 0;
        -webkit-margin-start: 24px;
        margin-inline-start: 24px
    }
}

@media screen and (min-width: 769px)and (any-hover: hover) {
    .gnav__link:hover {
        color: var(--color-txthover)
    }
}

@media screen and (min-width: 769px)and (any-hover: none) {
    .gnav__link:active {
        color: var(--color-txthover)
    }
}

@media screen and (min-width: 1032px) {
    .d-lg-none {
        display: none
    }

    .d-lg-block {
        display: block
    }

    .is-align-lg-c {
        text-align: center
    }

    .is-align-lg-r {
        text-align: right
    }

    .is-align-lg-l {
        text-align: left
    }
}

@media screen and (min-width: 1200px) {
    .home__block.is-results {
        max-width: 774px
    }
}

@media screen and (min-width: 1440px) {
    .d-xlg-none {
        display: none
    }

    .d-xlg-block {
        display: block
    }

    .is-align-xlg-c {
        text-align: center
    }

    .is-align-xlg-r {
        text-align: right
    }

    .is-align-xlg-l {
        text-align: left
    }
}

@media (any-hover: hover) {
    .footer__snslist--link:hover {
        opacity: var(--btn-opacity)
    }

    .footer__navlist--link:hover {
        color: var(--color-txthover)
    }

    .btn.is-type1:hover {
        opacity: var(--btn-opacity)
    }

    .btn.is-type2:hover {
        opacity: var(--btn-opacity)
    }

    .btn.is-type3:hover {
        opacity: var(--btn-opacity)
    }

    .btn.is-type4:hover {
        opacity: var(--btn-opacity)
    }

    .btn[disabled]:hover {
        opacity: 1
    }

    .txtlink:hover {
        text-decoration: none
    }

    .form__selectbox--item:hover {
        background-color: var(--form-option)
    }

    .form__selectbox--item:hover[aria-selected=true] {
        background-color: var(--form-option)
    }

    .property__photo--trigger:hover {
        opacity: var(--btn-opacity)
    }

    .filter__moretrigger:hover {
        opacity: var(--btn-opacity)
    }

    .filter__selectbox--item:hover {
        background-color: var(--form-option)
    }

    .filter__selectbox--item:hover[aria-selected=true] {
        background-color: var(--filter-option)
    }
}

@media (any-hover: none) {
    .footer__snslist--link:active {
        opacity: var(--btn-opacity)
    }

    .footer__navlist--link:active {
        color: var(--color-txthover)
    }

    .btn.is-type1:active {
        opacity: var(--btn-opacity)
    }

    .btn.is-type2:active {
        opacity: var(--btn-opacity)
    }

    .btn.is-type3:active {
        opacity: var(--btn-opacity)
    }

    .btn.is-type4:active {
        opacity: var(--btn-opacity)
    }

    .btn[disabled]:active {
        opacity: 1
    }

    .txtlink:active {
        text-decoration: none
    }

    .form__selectbox--item:active {
        background-color: var(--form-option)
    }

    .form__selectbox--item:active[aria-selected=true] {
        background-color: var(--form-option)
    }

    .property__photo--trigger:active {
        opacity: var(--btn-opacity)
    }

    .filter__moretrigger:active {
        opacity: var(--btn-opacity)
    }

    .filter__selectbox--item:active {
        background-color: var(--form-option)
    }

    .filter__selectbox--item:active[aria-selected=true] {
        background-color: var(--filter-option)
    }
}

@media (forced-colors: active) {
    mark {
        background-color: Highlight;
        color: HighlightText
    }
}

@media screen and (-ms-high-contrast: none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
        border-color: #0bf
    }
}
