@charset "utf-8";
/* CSS Document */





:root {
}
@media screen and ( max-width: 768px ) {
    :root {
    }
}





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

.exterior

============================== */
.exterior {
}
.exterior-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .exterior {
        padding-bottom: calc( 80 * 100vw / 375 );
    }
    .exterior-content {
    }
}



.exterior-content.scene {
    position: relative;
    width: 100%;
    margin: 0;
    padding: clamp( 59.2px, 5.331vw, 88.8px ) 0 0; /* ヘッダー(PC)分 */
    padding: 0;
    overflow: hidden;
    /* デバッグ用
    background-color: #cfc;
    */
}
@media screen and ( max-width: 768px ) {
    .exterior-content.scene {
        padding-top: clamp( 36px, 12vw, 54px ); /* ヘッダー(SP)分 */
    }
}



.scene .exterior-content-inner {
    position: relative;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .exterior-content-inner {
    }
}



.scene .exterior-content-inner-item {
    position: relative;
    height: calc( 100vh - clamp( 59.2px, 5.331vw, 88.8px ) ); /* ヘッダー分(PC)引く */
    margin: 0;
    padding: 0;
}
.scene .exterior-content-inner-item .l-inner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    height: 100%;
    margin: 0;
    padding: 0 var( --l-inner_default_padding_x_180 ) 0 var( --l-inner_default_padding_x_40 );
    max-width: none;
}
.scene .exterior-content-inner-item-text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    width: min( max( calc( 540 * 100vw / 1440 ), 540px ), 718.2px );
    height: 100%;
    margin: 0;
    padding: 40vh 0 0 min( max( calc( 90 * 100vw / 1440 ), 90px ), 119.7px );
}
.scene .exterior-content-inner-item-text__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( max( calc( 32 * 100vw / 1440 ), 32px ), 42.56px );
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    color: #333;
    line-height: 1.7;
    letter-spacing: 0.15em;
    letter-spacing: 0.05em;
    letter-spacing: 0.4em;
}
.scene .exterior-content-inner-item-text__title .text-l {
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
}
.scene .exterior-content-inner-item-text__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .exterior-content-inner-item {
        height: auto;
    }
    .scene .exterior-content-inner-item .l-inner {
        display: block;
        padding: 0;
    }
    .scene .exterior-content-inner-item-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: calc( 30 * 100vw / 375 );
        width: 100%;
        margin-top: calc( 30 * 100vw / 375 );
        padding: 0 var( --l-inner_default_padding_x_32 );
        z-index: 10;
    }
    .scene .exterior-content-inner-item-text__title {
        font-size: calc( 17 * 100vw / 375 );
        font-size: calc( 15 * 100vw / 375 );
    }
    .scene .exterior-content-inner-item-text__title .text-l {
        font-size: calc( 27 * 100vw / 375 );
        font-size: calc( 22 * 100vw / 375 );
    }
    .scene .exterior-content-inner-item-text__text {
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.84;
    }
}



.scene .exterior-content-inner-item-image {
    position: relative;
    width: min( max( calc( 680 * 100vw / 1440 ), 680px ), 904.4px );
    height: 100%;
    margin: 0;
}
.scene .item_01 .exterior-content-inner-item-image {
    padding: min( max( calc( 120 * 100vw / 1440 ), 120px ), 159.6px ) 0 0;
}
.scene .exterior-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .exterior-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .exterior-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .exterior-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .exterior-content-inner-item-image {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .scene .item_01 .exterior-content-inner-item-image {
        padding: 0;
    }
    .scene .exterior-content-inner-item-image figure {
        height: 100%;
    }
    .scene .exterior-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .exterior-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .exterior-content-inner-item-image figure figcaption {
        position: absolute;
        bottom: 0;
        right: 0;
        width: auto;
        padding: 0 1em;
        color: #333;
    }
}





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

.landscape

============================== */
.landscape {
    background-color: #F5F4F1;
}
.landscape-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .landscape {
    }
    .landscape-content {
    }
}



.landscape-content.scene {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( max( calc( 115 * 100vw / 1440 ), 115px ), 152.95px );
    /* デバッグ用
    background-color: #cfc;
    */
}
@media screen and ( max-width: 768px ) {
    .landscape-content.scene {
    }
}



.scene .landscape-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .landscape-content-inner {
    }
}



.scene .landscape-content-inner-item {
    position: relative;
    height: auto;
    margin: 0;
    padding: 0;
}
.scene .landscape-content-inner-item .l-inner {
    width: 100%;
    margin: 0;
    padding: 0 var( --l-inner_default_padding_x_180 );
    max-width: none;
}
@media screen and ( max-width: 768px ) {
    .scene .landscape-content-inner-item {
    }
    .scene .landscape-content-inner-item .l-inner {
        position: relative;
        padding: 0 var( --l-inner_default_padding_x_32 );
    }
}



.scene .landscape-content-inner-item-text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    width: 100%;
    margin: min( max( calc( 70 * 100vw / 1440 ), 70px ), 93.1px ) 0 0;
    padding: 0;
}
.scene .landscape-content-inner-item-text__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( max( calc( 32 * 100vw / 1440 ), 32px ), 42.56px );
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    color: #333;
    line-height: 1.7;
    letter-spacing: 0.15em;
    letter-spacing: 0.05em;
    letter-spacing: 0.4em;
    text-align: center;
}
.scene .landscape-content-inner-item-text__title .text-l {
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
}
.scene .landscape-content-inner-item-text__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .scene .landscape-content-inner-item-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: calc( 30 * 100vw / 375 );
        margin: 0;
        width: 100%;
        z-index: 10;
    }
    .scene .landscape-content-inner-item-text__title {
        font-size: calc( 17 * 100vw / 375 );
        font-size: calc( 15 * 100vw / 375 );
        text-align: left;
    }
    .scene .landscape-content-inner-item-text__title .text-l {
        font-size: calc( 27 * 100vw / 375 );
        font-size: calc( 22 * 100vw / 375 );
    }
    .scene .landscape-content-inner-item-text__text {
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.84;
        text-align: left;
    }
}



.scene .landscape-content-inner-item .image-wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
}
.scene .landscape-content-inner-item .image-wrapper.pcObj {
    display: flex;
}
.scene .landscape-content-inner-item-image {
    position: relative;
    width: 47.4%;
    margin: 0;
    padding: 0;
}
.scene .landscape-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .landscape-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .landscape-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .landscape-content-inner-item-image figure figcaption {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .landscape-content-inner-item .image-wrapper {
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .scene .landscape-content-inner-item .image-wrapper.pcObj {
        display: none;
    }
    .scene .landscape-content-inner-item-image {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .scene .landscape-content-inner-item-image.ground {
    }
    .scene .landscape-content-inner-item-image.underground {
    }
    .scene .landscape-content-inner-item-image figure {
        height: 100%;
    }
    .scene .landscape-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .landscape-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .landscape-content-inner-item-image figure figcaption {
    }
}



.test_box.spObj {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .test_box {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 50px var( --l-inner_default_padding_x_32 );
        /* background-color: #ccc; */
    }
    .test_box.spObj {
        display: block;
    }
    .test_box-wrapper-container {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 1;
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
    }
    .test_box-wrapper {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 2;
        margin: 0;
        padding: 0;
    }
    .test_box .box {
        position: relative;
        width: 100%;
        height: 50%;
        margin: 0;
        padding: 0;
    }
    .test_box .box.event1 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .test_box .box.event2 {
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 5;
    }
    .test_box .pinSection {
        position: relative;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    .test_box .landscape-content-image {
        position: relative;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    .test_box .landscape-content-image figure {
        position: relative;
        display: inline-block;
        width: 100%;
        margin: 0;
        padding: 0;
        font-size: 0;
        line-height: 0;
    }
    .test_box .landscape-content-image figure picture {
        position: relative;
        display: inline-block;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .test_box .landscape-content-image figure picture img {
        width: 100%;
    }
    .test_box .landscape-content-image figure figcaption {
        position: absolute;
        display: inline-block;
        bottom: 0;
        right: 0;
        width: auto;
        margin: 0;
        padding: 0 1em;
        color: #333;
        font-size: var( --font_size-image_caption );
        line-height: 2;
        letter-spacing: 0.1em;
        background-color: rgba( 255, 255, 255, 0.6 );
    }
    .box.event1 {
    }
    .pin-spacer {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
}





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

.entrance

============================== */
.entrance {
}
.entrance-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .entrance {
    }
    .entrance-content {
    }
}



.entrance-content.scene {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( max( calc( 115 * 100vw / 1440 ), 115px ), 152.95px );
    /* デバッグ用
    background-color: #cfc;
    */
}
@media screen and ( max-width: 768px ) {
    .entrance-content.scene {
        padding: 0 0 calc( 50 * 100vw / 375 );
    }
}



.scene .entrance-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance-content-inner {
    }
}



.scene .entrance-content-inner-item {
    position: relative;
    height: auto;
    margin: 0;
    padding: 0;
}
.scene .entrance-content-inner-item .l-inner {
    width: 100%;
    margin: 0;
    padding: 0 var( --l-inner_default_padding_x_180 );
    max-width: none;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance-content-inner-item {
    }
    .scene .entrance-content-inner-item .l-inner {
        padding: 0;
    }
}



.scene .entrance-content-inner-item-image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.scene .entrance-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}
.scene .entrance-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .entrance-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .entrance-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance-content-inner-item-image {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .scene .entrance-content-inner-item-image figure {
        height: 100%;
    }
    .scene .entrance-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .entrance-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .entrance-content-inner-item-image figure figcaption {
    }
}



.scene .item_02 .entrance-content-inner-item-text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    width: 100%;
    margin: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px ) 0 0;
    padding: 0 0 0 min( max( calc( 480 * 100vw / 1440 ), 480px ), 638.4px );
    font-feature-settings: "palt";
}
.scene .entrance-content-inner-item-text__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( max( calc( 32 * 100vw / 1440 ), 32px ), 42.56px );
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    color: #333;
    line-height: 1.7;
    letter-spacing: 0.15em;
    letter-spacing: 0.05em;
    letter-spacing: 0.4em;
    font-feature-settings: "palt";
}
.scene .entrance-content-inner-item-text__title .text-l {
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
}
.scene .entrance-content-inner-item-text__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
}
@media screen and ( max-width: 768px ) {
    .scene .item_02 .entrance-content-inner-item-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: calc( 30 * 100vw / 375 );
        width: 100%;
        margin: calc( 50 * 100vw / 375 );
        padding: 0 var( --l-inner_default_padding_x_32 );
        z-index: 10;
    }
    .scene .entrance-content-inner-item-text__title {
        font-size: calc( 17 * 100vw / 375 );
        font-size: calc( 15 * 100vw / 375 );
    }
    .scene .entrance-content-inner-item-text__title .text-l {
        font-size: calc( 27 * 100vw / 375 );
        font-size: calc( 22 * 100vw / 375 );
    }
    .scene .entrance-content-inner-item-text__text {
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.84;
    }
}



.scene .entrance-content-inner-item .image-wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance-content-inner-item .image-wrapper {
    }
}



.entrance .entrance-flower_image {
    position: absolute;
    top: calc( calc( min( max( calc( 94 * 100vw / 1440 ), 94px ), 125.02px ) + min(max(calc(100 * 100vw / 1440), 100px), 133px) ) * -1 );
    left: calc( var( --l-inner_default_padding_x_180 ) + min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px ) );
    width: min( max( calc( 282 * 100vw / 1440 ), 282px ), 375.06px );
    aspect-ratio: 282 / 422;
    margin: 0;
    padding: 0;
    overflow: hidden;
    z-index: 5;
}
.entrance .entrance-flower_image.pcObj {
    display: block;
}
.entrance .entrance-flower_image.spObj {
    display: none;
}
.entrance .entrance-flower_image .flower-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    transition: all 0.5s;
}
.entrance .entrance-flower_image .flower-wrapper.is_active {
    opacity: 1;
}
.entrance .entrance-flower_image .flower-wrapper.hydrangea {
    z-index: 8;
}
.entrance .entrance-flower_image .flower-wrapper.nandina {
    z-index: 6;
}
.entrance .entrance-flower_image .flower-wrapper.rosemary {
    z-index: 4;
}
.entrance .entrance-flower_image .flower-wrapper.azalea {
    z-index: 2;
}
.entrance .entrance-flower_image .flower-wrapper .image-bg {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
}
.entrance .entrance-flower_image .flower-wrapper .image-bg picture {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.entrance .entrance-flower_image .flower-wrapper .image-bg picture img {
    width: 100%;
}
.entrance .entrance-flower_image .flower-wrapper .image-bg figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    font-size: var( --font_size-image_caption );
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
.entrance .entrance-flower_image .flower-wrapper .image-fg {
    position: absolute;
    bottom: min( max( calc( 60 * 100vw / 1440 ), 60px ), 79.8px );
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: min( max( calc( 31 * 100vw / 1440 ), 31px ), 41.23px );
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .entrance .entrance-flower_image {
        position: absolute;
        top: calc( calc( 115 * 100vw / 375 ) * -1 );
        left: calc( 20 * 100vw / 375 );
        width: calc( 120 * 100vw / 375 );
        z-index: 5;
    }
    .entrance .entrance-flower_image.pcObj {
        display: none;
    }
    .entrance .entrance-flower_image.spObj {
        display: block;
    }
    .entrance .entrance-flower_image .flower-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        opacity: 0;
        transition: all 0.5s;
    }
    .entrance .entrance-flower_image .flower-wrapper.is_active {
        opacity: 1;
    }
    .entrance .entrance-flower_image .flower-wrapper.hydrangea {
        z-index: 8;
    }
    .entrance .entrance-flower_image .flower-wrapper.nandina {
        z-index: 6;
    }
    .entrance .entrance-flower_image .flower-wrapper.rosemary {
        z-index: 4;
    }
    .entrance .entrance-flower_image .flower-wrapper.azalea {
        z-index: 2;
    }
    .entrance .entrance-flower_image .flower-wrapper .image-bg {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        font-size: 0;
        line-height: 0;
    }
    .entrance .entrance-flower_image .flower-wrapper .image-bg picture {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    .entrance .entrance-flower_image .flower-wrapper .image-bg picture img {
        width: 100%;
    }
    .entrance .entrance-flower_image .flower-wrapper .image-bg figcaption {
        position: absolute;
        bottom: 0;
        right: 0;
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 0 1em;
        color: #fff;
        font-size: var( --font_size-image_caption );
        font-size: max( calc( 10 * 100vw / 375 ), 10px );
        line-height: 2;
        letter-spacing: 0.1em;
        text-align: right;
    }
    .entrance .entrance-flower_image .flower-wrapper .image-fg {
        position: absolute;
        bottom: calc( 30 * 100vw / 375 );
        left: 0;
        width: 100%;
        margin: 0;
        padding: 0;
        color: #fff;
        font-size: var( --font_size-small );
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1;
        letter-spacing: 0.1em;
        text-align: center;
    }
}





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

.entrance_hall

============================== */
.entrance_hall {
}
.entrance_hall-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .entrance_hall {
    }
    .entrance_hall-content {
    }
}



.entrance_hall-content.scene {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( max( calc( 115 * 100vw / 1440 ), 115px ), 152.95px );
    /* デバッグ用
    background-color: #cfc;
    */
}
@media screen and ( max-width: 768px ) {
    .entrance_hall-content.scene {
        padding: 0 0 calc( 50 * 100vw / 375 );
    }
}



.scene .entrance_hall-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance_hall-content-inner {
    }
}



.scene .entrance_hall-content-inner-item {
    position: relative;
    height: auto;
    margin: 0;
    padding: 0;
}
.scene .entrance_hall-content-inner-item .l-inner {
    width: 100%;
    margin: 0;
    padding: 0;
    max-width: none;
}
.scene .entrance_hall-content-inner-item.item_01 .l-inner {
}
.scene .entrance_hall-content-inner-item.item_02 .l-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
}
@media screen and ( max-width: 768px ) {
    .scene .entrance_hall-content-inner-item {
    }
    .scene .entrance_hall-content-inner-item .l-inner {
    }
    .scene .entrance_hall-content-inner-item.item_01 .l-inner {
    }
    .scene .entrance_hall-content-inner-item.item_02 .l-inner {
        display: block;
        margin-top: calc( 50 * 100vw / 375 );
        padding: 0 var( --l-inner_default_padding_x_12 ) 0 var( --l-inner_default_padding_x_32 );
    }
}



.scene .entrance_hall-content-inner-item-image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.scene .entrance_hall-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}
.scene .entrance_hall-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .entrance_hall-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .entrance_hall-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .entrance_hall-content-inner-item-image {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .scene .entrance_hall-content-inner-item-image figure {
        height: 100%;
    }
    .scene .entrance_hall-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .entrance_hall-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .entrance_hall-content-inner-item-image figure figcaption {
    }
}



.scene .item_02 .entrance_hall-content-inner-item-text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    width: 45.8%;
    margin: 0;
    padding: 0 0 0 var( --l-inner_default_padding_x_180 );
}
.scene .item_02 .entrance_hall-content-inner-item-text__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( max( calc( 32 * 100vw / 1440 ), 32px ), 42.56px );
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    color: #333;
    line-height: 1.7;
    letter-spacing: 0.15em;
    letter-spacing: 0.05em;
    letter-spacing: 0.4em;
}
.scene .item_02 .entrance_hall-content-inner-item-text__title .text-l {
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
}
.scene .item_02 .entrance_hall-content-inner-item-text__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    color: #333;
    line-height: 2.875;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .item_02 .entrance_hall-content-inner-item-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: calc( 30 * 100vw / 375 );
        width: 100%;
        padding: 0;
        z-index: 10;
    }
    .scene .item_02 .entrance_hall-content-inner-item-text__title {
        font-size: calc( 17 * 100vw / 375 );
        font-size: calc( 15 * 100vw / 375 );
    }
    .scene .item_02 .entrance_hall-content-inner-item-text__title .text-l {
        font-size: calc( 27 * 100vw / 375 );
        font-size: calc( 22 * 100vw / 375 );
    }
    .scene .item_02 .entrance_hall-content-inner-item-text__text {
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.84;
    }
}



.scene .item_02 .entrance_hall-content-inner-item-image {
    position: relative;
    width: 45.8%;
    margin: 0;
    padding: 0;
}
.scene .item_02 .entrance_hall-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}
.scene .item_02 .entrance_hall-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .item_02 .entrance_hall-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .item_02 .entrance_hall-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .item_02 .entrance_hall-content-inner-item-image {
        position: relative;
        width: calc( 300 * 100vw / 375 );
        margin: calc( 50 * 100vw / 375 ) 0 0 auto;
        padding: 0;
    }
    .scene .item_02 .entrance_hall-content-inner-item-image figure {
        height: 100%;
    }
    .scene .item_02 .entrance_hall-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .item_02 .entrance_hall-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .item_02 .entrance_hall-content-inner-item-image figure figcaption {
    }
}





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

.private_garage

============================== */
.private_garage {
    background-color: #818687;
}
.private_garage-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .private_garage {
    }
    .private_garage-content {
    }
}



.private_garage .l-lowerpage-section-title-inner-text--en {
    color: #fff;
}
.private_garage .l-lowerpage-section-title-inner-text--jp {
    color: #fff;
}



.private_garage-content.scene {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( max( calc( 115 * 100vw / 1440 ), 115px ), 152.95px );
    /* デバッグ用
    background-color: #cfc;
    */
}
@media screen and ( max-width: 768px ) {
    .private_garage-content.scene {
        padding-bottom: calc( 50 * 100vw / 375 );
    }
}



.scene .private_garage-content-inner {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .scene .private_garage-content-inner {
    }
}



.scene .private_garage-content-inner-item {
    position: relative;
    height: auto;
    margin: 0;
    padding: 0;
}
.scene .private_garage-content-inner-item .l-inner {
    width: 100%;
    margin: 0;
    padding: 0;
    max-width: none;
}
.scene .private_garage-content-inner-item.item_01 .l-inner {
    padding: 0 var( --l-inner_default_padding_x_180 );
}
.scene .private_garage-content-inner-item.item_02 .l-inner {
    margin-top: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
    padding: 0 var( --l-inner_default_padding_x_180 );
}
.scene .private_garage-content-inner-item.item_03 .l-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: min( max( calc( 100 * 100vw / 1440 ), 100px ), 133px );
    padding: 0 var( --l-inner_default_padding_x_180 );
}
@media screen and ( max-width: 768px ) {
    .scene .private_garage-content-inner-item {
    }
    .scene .private_garage-content-inner-item .l-inner {
    }
    .scene .private_garage-content-inner-item.item_01 .l-inner {
        padding: 0;
    }
    .scene .private_garage-content-inner-item.item_02 .l-inner {
        margin-top: calc( 50 * 100vw / 375 );
        padding: 0 var( --l-inner_default_padding_x_32 );
    }
    .scene .private_garage-content-inner-item.item_03 .l-inner {
        margin-top: calc( 50 * 100vw / 375 );
        padding: 0;
    }
}



.scene .private_garage-content-inner-item-image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.scene .private_garage-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}
.scene .private_garage-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .private_garage-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .private_garage-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    text-align: right;
    font-size: var( --font_size-image_caption );
    color: #fff;
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .scene .private_garage-content-inner-item-image {
        width: 100%;
    }
    .scene .private_garage-content-inner-item-image figure {
        height: 100%;
    }
    .scene .private_garage-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .private_garage-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .private_garage-content-inner-item-image figure figcaption {
    }
}



.scene .item_02 .private_garage-content-inner-item-text {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: min( max( calc( 30 * 100vw / 1440 ), 30px ), 39.9px );
    width: 100%;
    margin: 0;
    padding: 0;
}
.scene .item_02 .private_garage-content-inner-item-text__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: min( max( calc( 32 * 100vw / 1440 ), 32px ), 42.56px );
    font-size: min( max( calc( 26 * 100vw / 1440 ), 26px ), 34.58px );
    color: #fff;
    line-height: 1.7;
    letter-spacing: 0.15em;
    letter-spacing: 0.05em;
    letter-spacing: 0.4em;
    text-align: center;
    font-feature-settings: "palt";
}
.scene .item_02 .private_garage-content-inner-item-text__title .text-l {
    font-size: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px );
    font-size: min( max( calc( 40 * 100vw / 1440 ), 40px ), 53.2px );
}
.scene .item_02 .private_garage-content-inner-item-text__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    color: #fff;
    line-height: 2.875;
    letter-spacing: 0.1em;
    text-align: center;
    font-feature-settings: "palt";
}
@media screen and ( max-width: 768px ) {
    .scene .item_02 .private_garage-content-inner-item-text {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: calc( 30 * 100vw / 375 );
        width: 100%;
        z-index: 10;
    }
    .scene .item_02 .private_garage-content-inner-item-text__title {
        font-size: calc( 17 * 100vw / 375 );
        font-size: calc( 15 * 100vw / 375 );
        text-align: left;
    }
    .scene .item_02 .private_garage-content-inner-item-text__title .text-l {
        font-size: calc( 27 * 100vw / 375 );
        font-size: calc( 22 * 100vw / 375 );
    }
    .scene .item_02 .private_garage-content-inner-item-text__text {
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.84;
        text-align: left;
    }
}



.scene .item_03 .private_garage-content-inner-item-image {
    position: relative;
    width: 50%;
    margin: 0;
    padding: 0;
}
.scene .item_03 .private_garage-content-inner-item-image figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}
.scene .item_03 .private_garage-content-inner-item-image figure picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;    
}
.scene .item_03 .private_garage-content-inner-item-image figure picture img {
    width: 100%;
}
.scene .item_03 .private_garage-content-inner-item-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    font-size: var( --font_size-image_caption );
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: right;
}
.scene .item_03 .private_garage-content-inner-item-text {
    position: relative;
    width: 100%;
    margin: min( max( calc( 50 * 100vw / 1440 ), 50px ), 66.5px ) 0 0;
    padding: 0;
    color: #fff;
    font-size: var( --font_size-normal );
    font-size: var( --font_size-ex_large );
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .scene .item_03 .private_garage-content-inner-item-image {
        width: 50%;
        margin: 0;
        padding: 0;
    }
    .scene .item_03 .private_garage-content-inner-item-image figure {
        height: 100%;
    }
    .scene .item_03 .private_garage-content-inner-item-image figure picture {
        height: 100%;
    }
    .scene .item_03 .private_garage-content-inner-item-image figure picture img {
        height: 100%;
        object-fit: cover;
    }
    .scene .item_03 .private_garage-content-inner-item-image figure figcaption {
    }
    .scene .item_03 .private_garage-content-inner-item-text {
        margin-top: calc( 25 * 100vw / 375 );
        padding: 0 var( --l-inner_default_padding_x_32 );
        font-size: calc( 13 * 100vw / 375 );
        line-height: 1.8;
        letter-spacing: 0.1em;
        text-align: left;
    }
}




