/* CSS Document */





/* ==============================

plan

============================== */
.plan-detail .l-section.plan {
    padding-top: 110px;
    padding-top: 0;
}
.plan-detail .plan-inner {
}
@media screen and ( max-width: 768px ) {
    .plan-detail .l-section.plan {
        padding-top: calc( 60 * 100vw / var( --design-width ) );
        padding-top: 0;
    }
    .plan-detail .plan-inner {
    }
}



.plan-detail .plan-inner__title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 212px;
    margin: 0;
    padding: 0;
}
.plan-detail.type_b .plan-inner__title {
    background-color: #1F2346;
}
.plan-detail .plan-inner__title span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: clamp( 67px, 53.72px + 1.73vw, 87px );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
}
.plan-detail .plan-inner__title .text-l {
    font-size: clamp( 165px, 151.72px + 1.73vw, 185px );
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner__title {
        height: auto;
        padding: 1em 0;
    }
    .plan-detail.type_b .plan-inner__title {
    }
    .plan-detail .plan-inner__title span {
        font-size: calc( 30 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner__title .text-l {
        font-size: calc( 60 * 100vw / var( --design-width ) );
    }
}



.plan-detail .plan-inner-spec {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 212px;
    margin: 0;
    padding: 0;
    background-color: #F6F5F0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        height: auto;
        padding: 0 calc( 20 * 100vw / var( --design-width ) );
    }
}



.plan-detail .plan-inner-spec__item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0;
    padding: 0 30px;
}
.plan-detail .plan-inner-spec__item .area_wrap {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item {
        width: auto;
        padding: calc( 20 * 100vw / var( --design-width ) ) 0;
    }
}



.plan-detail .plan-inner-spec__item.area {
    border-left: 1px solid #333;
}
.plan-detail .plan-inner-spec__item.plan {
}
.plan-detail .plan-inner-spec__item .caption {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-22 );
    line-height: 1;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item .content {
    position: relative;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.area {
        border-left: none;
    }
    .plan-detail .plan-inner-spec__item.plan {
        border-bottom: 1px solid #333;
    }
    .plan-detail .plan-inner-spec__item .caption {
        width: auto;
        font-size: var( --font-size-16 );
    }
    .plan-detail .plan-inner-spec__item.plan .caption {
        display: none;
    }
    .plan-detail .plan-inner-spec__item .content {
        width: auto;
    }
}



.plan-detail .plan-inner-spec__item.area .content span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-20 );
    line-height: 1;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item.area .content .text-l {
    font-size: clamp( 50px, 23.36px + 3.47vw, 90px );
    font-size: clamp( 25px, 11.72px + 1.73vw, 45px );
}
.plan-detail .plan-inner-spec__item.area .content_balcony {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: calc( 20 * 100vw / var( --design-width ) ) 0 0;
    padding: 0;
    text-align: center;
}
.plan-detail .plan-inner-spec__item.area .content_balcony span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-20 );
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.area .content span {
        font-size: var( --font-size-20 );
    }
    .plan-detail .plan-inner-spec__item.area .content .text-l {
        font-size: calc( 25 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.area .content_balcony {
        margin: calc( 10 * 100vw / var( --design-width ) ) 0 0;
    }
    .plan-detail .plan-inner-spec__item.area .content_balcony span {
        font-size: var( --font-size-16 );
    }
}



.plan-detail .plan-inner-spec__item.plan .content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 span {
    display: inline-block;
    margin: 0;
    padding: 0;
    letter-spacing: 0.1em;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-l {
    font-size: clamp( 64px, 50.72px + 1.73vw, 84px );
    font-size: clamp( 44px, 17.36px + 3.47vw, 84px );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-xl {
    font-size: clamp( 69px, 55.72px + 1.73vw, 89px );
    font-size: clamp( 49px, 22.36px + 3.47vw, 89px );
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_01 .text-plus {
    font-size: clamp( 30px,16.72px + 1.73vw, 50px );
    font-size: clamp( 30px,16.72px + 1.73vw, 50px );
    line-height: 1;
}
.plan-detail .plan-inner-spec__item.plan .content .content_02 {
    position: relative;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: var( --font-size-28 );
    font-size: var( --font-size-24 );
    line-height: 1.3;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-spec__item.plan .content {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 span {
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-l {
        font-size: calc( 44 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-xl {
        font-size: calc( 49 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_01 .text-plus {
        font-size: calc( 30 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-spec__item.plan .content .content_02 {
        font-size: calc( 40 * 100vw / var( --design-width ) );
        font-size: var( --font-size-20 );
        font-size: var( --font-size-11 );
    }
}



.plan-detail .plan-inner-floor_plan {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-detail .plan-inner-floor_plan__lead {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 110px 0;
    color: #333;
    font-size: clamp( 30px, 16.72px + 1.73vw, 50px );
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center;
}
.plan-detail .plan-inner-floor_plan__image {
    position: relative;
    max-width: 1144px;
    width: auto;
    height: calc( 100vh - 110px );
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    padding: 0;
    border: 1px solid #ccc;
}
.plan-detail .plan-inner-floor_plan__image picture {
    position: relative;
    width: 100%;
    height: 100%;
}
@media screen and ( max-width: 768px ) {
    .plan-detail .plan-inner-floor_plan {
    }
    .plan-detail .plan-inner-floor_plan__lead {
        padding: calc( 55 * 100vw / var( --design-width ) ) 0;
        font-size: calc( 16 * 100vw / var( --design-width ) );
    }
    .plan-detail .plan-inner-floor_plan__image {
        width: 100%;
        max-width: none;
        height: auto;
    }
}



.leaflet-container {
    background-color: #fff!important;
}



.plan-detail .plan-inner-floor_plan__image .leaflet-top, 
.plan-detail .plan-inner-floor_plan__image .leaflet-bottom {
    z-index: 90;
}
.plan-detail .plan-inner-floor_plan__image .leaflet-pane {
    z-index: 80;
}



.plan-inner-floor_plan__legends {
    position: relative;
    width: calc( 100vh - 110px );
    margin: 0 auto;
    padding: min( calc( 30 * 100vw / var( --design-width ) ), 30px ) 0;
}
.plan-inner-floor_plan__legends .title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-20 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-18 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .image {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 min( calc( 30 * 100vw / var( --design-width ) ), 30px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.plan-inner-floor_plan__legends .image .item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 5px;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-18 );
    line-height: 1.5;
    letter-spacing: 0.01em;
}
.plan-inner-floor_plan__legends .image .item .icon {
    position: relative;
    display: inline-block;
    width: 40px;
    aspect-ratio: 25 / 7;
    margin: 0;
    padding: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.plan-inner-floor_plan__legends .image .item.storage .icon {
    background-image: url( '../img/common/icon_storage.png' );
}
.plan-inner-floor_plan__legends .image .item.floor_heating .icon {
    background-image: url( '../img/common/icon_floor_heating.png' );
}
.plan-inner-floor_plan__legends .image .item.daylighting .icon {
    background-image: url( '../img/common/icon_daylighting.png' );
}
.plan-inner-floor_plan__legends .image .item.ventilation .icon {
    background-image: url( '../img/common/icon_ventilation.png' );
}
@media screen and ( max-width: 768px ) {
    .plan-inner-floor_plan__legends {
        width: 100%;
        padding: calc( 20 * 100vw / var( --design-width ) ) 0;
    }
    .plan-inner-floor_plan__legends .title {
        font-size: var( --font-size-16 );
    }
    .plan-inner-floor_plan__legends .text {
        font-size: var( --font-size-14 );
    }
    .plan-inner-floor_plan__legends .image {
        flex-wrap: wrap;
        gap: 0 min( calc( 20 * 100vw / var( --design-width ) ), 30px );
    }
    .plan-inner-floor_plan__legends .image .item {
        gap: 0 5px;
        font-size: var( --font-size-14 );
    }
    .plan-inner-floor_plan__legends .image .item .icon {
        width: 30px;
    }
    .plan-inner-floor_plan__legends .image .item.storage .icon {
    }
    .plan-inner-floor_plan__legends .image .item.floor_heating .icon {
    }
    .plan-inner-floor_plan__legends .image .item.daylighting .icon {
    }
    .plan-inner-floor_plan__legends .image .item.ventilation .icon {
    }
}






































