@charset "utf-8";


.for-print {
    display: none;
}


/**
 * スマホ用設定
 */
@media ( max-width: 768px ) {

    .mv {
        margin: 0 auto;
        padding: 8.0vw 5% 8.0vw;
        width: 100%;
        max-width: 100%;
    }
    .mv .mv-flex {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .mv .mv-flex .mv-left {
        width: 100%;
    }
    .mv .mv-flex .mv-right {
        margin: 8.0vw 0 0;
        width: 100%;
    }
    .mv .mv-head {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }
    .mv .mv-head h1 {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
    }
    .mv .mv-head .price {
        width: 100%;
        color: #bf2228;
        font-size: 32px;
    }
    .mv .mv-head .price::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 55%;
    }
    .mv .mv-infos {
        margin: 20px 0 40px;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-start;
        gap: 10px min( 24px, 2.0vw );
    }
    .mv .mv-infos > div {
        margin: 0;
        color: #727272;
        font-size: 16px;
    }
    .mv .mv-infos > div span {
        color: var(--fg-color);
    }
    .mv .mv-pic {
        margin: 40px 0 0;
        width: 100%;
        height: auto;
        aspect-ratio: 696 / 375;
    }
    .mv .mv-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .mv .floor-pic {
        margin: 40px 0 0;
        width: 100%;
        height: auto;
    }
    .mv .floor-pic img {
        width: 100%;
        height: auto;
    }

    .single-property-movie {
        margin: 20px 0 0;
        width: 100%;
    }
    .single-property-movie iframe {
        display: block;
        margin: 0;
        width: 100%;
        height: auto;
        aspect-ratio: var(--single-youtube-ratio);
    }

    #single-property-main-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        overflow: hidden;
    }
    #single-property-main-swiper .swiper-wrapper {
    }
    #single-property-main-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        background: #000;
    }
    #single-property-main-swiper .swiper-wrapper figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-fit: contain;
    }
    #single-property-main-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-weight: 700;
        font-size: 3.2vw;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }
    #single-property-thumbnail-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        overflow: hidden;
    }
    #single-property-thumbnail-swiper .swiper-wrapper {
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-size: 3.2vw;
        font-weight: 700;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }
    #single-property-thumbnail-swiper .swiper-slide {
        opacity: .5;
        transition: opacity .5s;
        width: calc( 100% / 5 );
        height: auto;
    }
    #single-property-thumbnail-swiper .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }
    #single-property-floor-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        cursor: pointer;
        overflow: hidden;
    }
    #single-property-floor-swiper-popup {
    }
    #single-property-floor-swiper-popup.popup {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        height: 100vh;
        margin: 0;
        background: rgba( 0, 0, 0, 0.8 );
        z-index: 99;
    }
    #single-property-floor-swiper-popup.popup::after {
        position: absolute;
        content: "";
        top: 0.0vw;
        right: 0.0vw;
        width: 4.0vw;
        height: 4.0vw;
        background: url(../images/icon-cross.svg) no-repeat center / contain;
        cursor: pointer;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper {
        position: absolute;
        top: 4%;
        left: 4%;
        width: 92%;
        height: 92%;
        cursor: auto;
        overflow: hidden;
    }

    #single-property-floor-swiper .swiper-wrapper {
        height: 100%;
        align-items: center;
    }
    #single-property-floor-swiper .swiper-wrapper .swiper-slide {
        height: 100%;
        display: grid;
        place-items: center;
        user-select: none;
    }
    #single-property-floor-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
    }
    #single-property-floor-swiper .swiper-wrapper figure img {
        width: 100%;
        height: auto;
    }
    #single-property-floor-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-size: 3.2vw;
        font-weight: 700;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-wrapper figure {
        position: relative;
        max-width: 100%;
        max-height: 100%;
        background: #0009;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-wrapper figure img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
    }

    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next {
        position: absolute;
        top: calc( 50% + 20px - 24px );
        right: 4px;
        width: 48px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff8;
        border-radius: 100%;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next::after {
        position: absolute;
        content: "";
        top: 30%;
        left: 25%;
        width: 30%;
        height: 30%;
        border-right: 4px solid #727272;
        border-bottom: 4px solid #727272;
        rotate: -45deg;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev {
        position: absolute;
        top: calc( 50% + 20px - 24px );
        left: 4px;
        width: 48px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff8;
        border-radius: 100%;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev::after {
        position: absolute;
        content: "";
        top: 30%;
        right: 25%;
        width: 30%;
        height: 30%;
        border-left: 4px solid #727272;
        border-bottom: 4px solid #727272;
        rotate: 45deg;
    }

    .mv .mv-right .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 1.0vw;
    }
    .mv .mv-right .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .mv .mv-right .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 1.0vw;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .mv .mv-right .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }
    .mv .mv-right .btn-reservation + .btn-paper {
        margin-top: 30px;
    }

    main {
        margin: 0 auto;
        padding: 8.0vw 5% 16.0vw;
        width: 100%;
    }

    main.single {
        padding: 8.0vw 5%;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.single .single-flex {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    main.single .single-flex #single-contents {
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 1.0vw;
    }
    .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 1.0vw;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }

    #single-contents h2 {
        margin: 3.0em 0 1.0em;
        padding: 0 0 0 0.4em;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
        border-left: 3px solid #bf2228;
    }
    #single-contents h2:first-child {
        margin-top: 0;
    }
    #single-contents .property-details {
        margin: 6.0vw 0 0;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
        gap: 0;
    }
    #single-contents .property-details > div {
        width: 100%;
        padding: 3.0vw 0;
        font-size: 3.6vw;
        line-height: calc( 25 / 18 );
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid #dbdbdb;
    }
    #single-contents .property-details > div.wide {
        width: 100%;
    }
    #single-contents .property-details > div span:nth-child(1) {
        display: inline-block;
        width: 8.0em;
        color: #727272;
    }
    #single-contents .property-details > div span:nth-child(2) {
        display: inline-block;
        width: calc( 100% - 8.0em );
        color: var(--fg-color);
    }
    #single-contents .prefer-list {
        margin: 6.0vw 0 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 3.0vw 4.0vw;
    }
    #single-contents .prefer-list .prefer-item {
        margin: 0;
        padding: 0.6em 0;
        width: 9.0em;
        color: #bf2228;
        font-size: 3.6vw;
        text-align: center;
        line-height: 1.0;
        background: #fff;
        border: 1px solid #bf2228;
        border-radius: 1.0vw;
    }
    #single-contents .property-tailbox {
        margin: 8.0vw 0 0;
        padding: 4.0vw;
        width: 100%;
        height: auto;
        background: #fff;
        border-top: 3.0vw solid #bf2228;
        border-radius: 1.0vw 1.0vw 0 0;
        box-shadow: 0 0.4vw 0.8vw rgba( 0, 0, 0, 0.25 );
    }
    #single-contents .property-tailbox h3 {
        margin: 0 0 1.0em;
        padding: 0;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
    }
    #single-contents .property-tailbox .tail-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #single-contents .property-tailbox .tail-info > span:nth-child(1) {
        display: block;
        color: #bf2228;
        font-size: 12.0vw;
    }
    #single-contents .property-tailbox .tail-info > span:nth-child(1)::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 55%;
    }
    #single-contents .property-tailbox .tail-info > :is(.btn-reservation,.btn-paper) {
        padding: 0.4em 0;
        width: 100%;
        font-size: 4.8vw;
        flex: 1 0 auto;
    }
    #single-contents .property-tailbox .tel-info {
        margin: 4.0vw 0 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4.0vw 0;
    }
    #single-contents .property-tailbox .tel-info > a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        font-size: 6.0vw;
        font-weight: 700;
        line-height: 1.0;
    }
    #single-contents .property-tailbox .tel-info > a::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #single-contents .property-tailbox .tel-info > p {
        font-size: 3.2vw;
        font-weight: 500;
    }

    #single-sidebar {
        display: none;
        margin: 8.0vw 0 0;
        padding: 0;
        width: 100%;
    }
    #single-sidebar h2 {
        margin: 2.0em 0 1.0em;
        padding: 0 0 0 0.4em;
        font-size: 4.8vw;
        font-weight: 700;
        text-align: left;
        border-left: 3px solid #bf2228;
    }
    #single-sidebar h2:first-child {
        margin-top: 0;
    }
    #single-sidebar .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 1.0vw;
    }
    #single-sidebar .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    #single-sidebar .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 4.0vw;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 1.0vw;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    #single-sidebar .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }
    #single-sidebar .btn-reservation + .btn-paper {
        margin-top: 4.0vw;
    }
    #single-sidebar .tel-info {
        margin: 8.0vw 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        font-size: 6.0vw;
        font-weight: 700;
        line-height: 1.0;
    }
    #single-sidebar .tel-info::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #single-sidebar > p {
        margin: 1.5em 0 0;
        font-size: 3.6vw;
        font-weight: 500;
    }
    #single-sidebar .open-info {
        margin: 1.5em 0 0;
        color: #838383;
        font-size: 3.6vw;
        font-weight: 400;
        text-align: center;
    }
    #single-sidebar .btn-print {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        margin: 20px auto 0;
        padding: 1.0em 0;
        width: 100%;
        max-width: 300px;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        background: #8d8d8d;
        border: 0;
        border-radius: 5px;
    }
    #single-sidebar .btn-print::before {
        content: "";
        width: 1.5em;
        height: 1.5em;
        background: url(../images/icon-print.svg) no-repeat center / contain;
    }

}


/**
 * PC用設定
 */
@media ( min-width: 768.01px ) {

    .mv {
        margin: 0 auto;
        padding: 20px 20px 60px;
        width: 100%;
        max-width: 1200px;
    }
    .mv .mv-flex {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .mv .mv-flex .mv-left {
        width: calc( 70% - 40px );
    }
    .mv .mv-flex .mv-right {
        width: 30%;
    }
    .mv .mv-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0 40px;
    }
    .mv .mv-head h1 {
        margin: 0 auto;
        padding: 0;
        width: calc( 100% - 160px );
        font-size: 22px;
        font-weight: 700;
        text-align: left;
    }
    .mv .mv-head .price {
        width: 160px;
        color: #bf2228;
        font-size: 32px;
    }
    .mv .mv-head .price::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 55%;
    }
    .mv .mv-infos {
        margin: 20px 0 40px;
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-start;
        gap: 10px min( 24px, 2.0vw );
    }
    .mv .mv-infos > div {
        margin: 0;
        color: #727272;
        font-size: 16px;
    }
    .mv .mv-infos > div span {
        color: var(--fg-color);
    }
    .mv .mv-pic {
        margin: 40px 0 0;
        width: 100%;
        height: auto;
        aspect-ratio: 696 / 375;
    }
    .mv .mv-pic img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .mv .floor-pic {
        margin: 40px 0 0;
        width: 100%;
        height: auto;
    }
    .mv .floor-pic img {
        width: 100%;
        height: auto;
    }

    .single-property-movie {
        margin: 20px 0 0;
        width: 100%;
    }
    .single-property-movie iframe {
        display: block;
        margin: 0;
        width: 100%;
        height: auto;
        aspect-ratio: var(--single-youtube-ratio);
    }

    #single-property-main-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        overflow: hidden;
    }
    #single-property-main-swiper .swiper-wrapper {
    }
    #single-property-main-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        background: #000;
    }
    #single-property-main-swiper .swiper-wrapper figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-fit: contain;
    }
    #single-property-main-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }
    #single-property-thumbnail-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        overflow: hidden;
    }
    #single-property-thumbnail-swiper .swiper-wrapper {
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #single-property-thumbnail-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }

    #single-property-thumbnail-swiper .swiper-slide {
        opacity: .5;
        transition: opacity .5s;
        width: calc( 100% / 5 );
        height: auto;
    }
    #single-property-thumbnail-swiper .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }

    #single-property-floor-swiper {
        position: relative;
        margin: 20px 0 0;
        width: 100%;
        cursor: pointer;
        overflow: hidden;
    }
    #single-property-floor-swiper-popup {
    }
    #single-property-floor-swiper-popup.popup {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        height: 100vh;
        margin: 0;
        background: rgba( 0, 0, 0, 0.8 );
        z-index: 99;
    }
    #single-property-floor-swiper-popup.popup::after {
        position: absolute;
        content: "";
        top: 0.0vw;
        right: 0.0vw;
        width: 4.0vw;
        height: 4.0vw;
        background: url(../images/icon-cross.svg) no-repeat center / contain;
        cursor: pointer;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper {
        position: absolute;
        top: 4%;
        left: 4%;
        width: 92%;
        height: 92%;
        cursor: auto;
        overflow: hidden;
    }

    #single-property-floor-swiper .swiper-wrapper {
        height: 100%;
        align-items: center;
    }
    #single-property-floor-swiper .swiper-wrapper .swiper-slide {
        height: 100%;
        display: grid;
        place-items: center;
        user-select: none;
    }
    #single-property-floor-swiper .swiper-wrapper figure {
        position: relative;
        width: 100%;
        height: auto;
    }
    #single-property-floor-swiper .swiper-wrapper figure img {
        width: 100%;
        height: auto;
    }
    #single-property-floor-swiper .swiper-wrapper figure figcaption {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0.5em 0;
        width: 100%;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        text-align: center;
        background: rgba( 0, 0, 0, 0.4 );
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-wrapper figure {
        position: relative;
        max-width: 100%;
        max-height: 100%;
        background: #0009;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #single-property-floor-swiper-popup.popup #single-property-floor-swiper .swiper-wrapper figure img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
    }

    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next {
        position: absolute;
        top: calc( 50% + 20px - 24px );
        right: 4px;
        width: 48px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff8;
        border-radius: 100%;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-next::after {
        position: absolute;
        content: "";
        top: 30%;
        left: 25%;
        width: 30%;
        height: 30%;
        border-right: 4px solid #727272;
        border-bottom: 4px solid #727272;
        rotate: -45deg;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev {
        position: absolute;
        top: calc( 50% + 20px - 24px );
        left: 4px;
        width: 48px;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff8;
        border-radius: 100%;
    }
    :is(#single-property-main-swiper,#single-property-thumbnail-swiper,#single-property-floor-swiper) .swiper-button-prev::after {
        position: absolute;
        content: "";
        top: 30%;
        right: 25%;
        width: 30%;
        height: 30%;
        border-left: 4px solid #727272;
        border-bottom: 4px solid #727272;
        rotate: 45deg;
    }

    .mv .mv-right .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 5px;
    }
    .mv .mv-right .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .mv .mv-right .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .mv .mv-right .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }
    .mv .mv-right .btn-reservation + .btn-paper {
        margin-top: 30px;
    }

    main {
        margin: 0 auto;
        padding: 40px 20px;
        width: 100%;
        max-width: 1100px;
    }

    main.single {
        padding: 60px 0;
        width: 100%;
        max-width: 100%;
        background: #f7f8fc;
        border-top: 1px solid #d0d0d0;
    }
    main.single .single-flex {
        margin: 0 auto;
        padding: 0 20px;
        width: 100%;
        max-width: 1200px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    main.single .single-flex #single-contents {
        margin: 0;
        padding: 0;
        width: calc( 100% - 30px - 300px );
    }

    .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 5px;
    }
    .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }

    #single-contents h2 {
        margin: 3.0em 0 1.0em;
        padding: 0 0 0 0.4em;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
        border-left: 3px solid #bf2228;
    }
    #single-contents h2:first-child {
        margin-top: 0;
    }
    #single-contents .property-details {
        margin: 30px 0 0;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: space-between;
        gap: 0;
    }
    #single-contents .property-details > div {
        width: 49%;
        padding: 20px 0;
        font-size: 18px;
        line-height: calc( 25 / 18 );
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid #dbdbdb;
    }
    #single-contents .property-details > div.wide {
        width: 100%;
    }
    #single-contents .property-details > div span:nth-child(1) {
        display: inline-block;
        width: 8.0em;
        color: #727272;
    }
    #single-contents .property-details > div span:nth-child(2) {
        display: inline-block;
        width: calc( 100% - 8.0em );
        color: var(--fg-color);
    }
    #single-contents .prefer-list {
        margin: 30px 0 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 30px 40px;
    }
    #single-contents .prefer-list .prefer-item {
        margin: 0;
        padding: 0.4em 0;
        width: 9.0em;
        color: #bf2228;
        font-size: 18px;
        text-align: center;
        line-height: 1.0;
        background: #fff;
        border: 1px solid #bf2228;
        border-radius: 5px;
    }
    #single-contents .property-tailbox {
        margin: 80px 0 0;
        padding: 20px;
        width: 100%;
        height: auto;
        background: #fff;
        border-top: 16px solid #bf2228;
        border-radius: 5px 5px 0 0;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    #single-contents .property-tailbox h3 {
        margin: 0 0 1.0em;
        padding: 0;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
    }
    #single-contents .property-tailbox .tail-info {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px min( 40px, 3.0vw );
    }
    @media ( max-width: 1080px ) {
        #single-contents .property-tailbox .tail-info {
            flex-wrap: wrap;
        }
    }
    #single-contents .property-tailbox .tail-info > span:nth-child(1) {
        display: block;
        color: #bf2228;
        font-size: 32px;
    }
    #single-contents .property-tailbox .tail-info > span:nth-child(1)::after {
        content: "万円";
        color: var(--fg-color);
        font-size: 55%;
    }
    #single-contents .property-tailbox .tail-info > :is(.btn-reservation,.btn-paper) {
        padding: 0.4em 0;
        flex: 1 0 auto;
    }
    #single-contents .property-tailbox .tel-info {
        margin: 20px 0 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0 40px;
    }
    #single-contents .property-tailbox .tel-info > a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        font-size: 25px;
        font-weight: 700;
        line-height: 1.0;
    }
    #single-contents .property-tailbox .tel-info > a::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #single-contents .property-tailbox .tel-info > p {
        font-size: 14px;
        font-weight: 500;
    }

    #single-sidebar {
        position: sticky;
        top: 100px;
        margin: 0;
        padding: 0;
        width: 300px;
    }
    #single-sidebar h2 {
        margin: 2.0em 0 1.0em;
        padding: 0 0 0 0.4em;
        font-size: 22px;
        font-weight: 700;
        text-align: left;
        border-left: 3px solid #bf2228;
    }
    #single-sidebar h2:first-child {
        margin-top: 0;
    }
    #single-sidebar .btn-reservation {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #bf2228;
        border-radius: 5px;
    }
    #single-sidebar .btn-reservation::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-calendar.svg) no-repeat center / contain;
    }
    #single-sidebar .btn-paper {
        margin: 0;
        padding: 0.8em 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        color: #656565;
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba( 0, 0, 0, 0.25 );
    }
    #single-sidebar .btn-paper::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-email-black.svg) no-repeat center / contain;
    }
    #single-sidebar .btn-reservation + .btn-paper {
        margin-top: 20px;
    }
    #single-sidebar .tel-info {
        margin: 40px 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        font-size: 30px;
        font-weight: 700;
        line-height: 1.0;
    }
    #single-sidebar .tel-info::before {
        content: "";
        width: 1.0em;
        height: 1.0em;
        background: url(../images/icon-tel-black.svg) no-repeat center / contain;
    }
    #single-sidebar > p {
        margin: 1.5em 0 0;
        font-size: 14px;
        font-weight: 500;
    }
    #single-sidebar .open-info {
        margin: 1.5em 0 0;
        color: #838383;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
    }
    #single-sidebar .btn-print {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 0.5em;
        margin: 20px auto 0;
        padding: 1.0em 0;
        width: 100%;
        max-width: 300px;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        background: #8d8d8d;
        border: 0;
        border-radius: 5px;
    }
    #single-sidebar .btn-print::before {
        content: "";
        width: 1.5em;
        height: 1.5em;
        background: url(../images/icon-print.svg) no-repeat center / contain;
    }

}
