@charset "UTF-8";

/*3*/
@media screen and (max-width:767px) { /*SP*/
}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
}
@media screen and (min-width:1401px) , print { /*PC*/
}



/* GD loop */
@media screen and (max-width:767px) { /*SP*/
    .GD_100_wrap_pc {
        display: none;
    }
    .GD_100_wrap_sp {
        position: relative;
        overflow: hidden;
        width: 100%;
    }
    .GD_100_Box_sp {
        display: flex;
        flex-wrap: nowrap;
        position: relative;
        will-change: transform;
    }
    .GD_100_123_sp {
        /* width: 820px; */
        width: 198.07vw;
    }
    .GD_100_Box1_sp {
        /* margin-bottom: 10px; */
        margin-bottom: 2.42vw;
    }
    .GD_100_check{
        /* filter: sepia(100%); */
    }
    /* ------------- */
    .GD_box_02{
        /* width: 340px; */
        width: 82.13vw;
        display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center;
        /* margin: 30px -50px 0 0; */
        margin: 7.25vw -12.08vw 0 0;
    }
    .GD_link_01 {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        width: auto;
        text-decoration: none;
        overflow: hidden;
        margin: 0 0 0 0;
        /* padding-bottom: 5px; */
        padding-bottom: 1.21vw;
    }
    .GD_link_01::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        /* height: 1px; */
        height: 0.24vw;
        background-color: #9D7E68;
        transform: translateX(0%);
        transition: none;
    }
    .GD_link_01:hover::after {
        animation: GD_underlineMove 0.5s ease forwards;
    }
    @keyframes GD_underlineMove {
        0%   { transform: translateX(0%); }
        49%  { transform: translateX(100%); }
        50%  { transform: translateX(-100%); }
        100% { transform: translateX(0%); }
    }
    .GD_viewmore{
        font-family: "Lusitana",serif;
        font-weight: 500;
        letter-spacing: 0.1rem;
        /* font-size: 14px; */
        font-size: 3.38vw;
        /* line-height: 14px; */
        line-height: 3.38vw;
        margin: 0 0 0 0;
    }
    .GD_viewmore_arr{
        /* width: 6px; */
        width: 1.45vw;
        /* margin: -1px 0 0 5px; */
        margin: -0.24vw 0 0 1.21vw;
    }
}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
    .GD_100_wrap_sp {
        display: none;
    }
    .GD_100_wrap_pc {
        position: relative;
        overflow: hidden;
        width: 100%;
    }
    .GD_100_Box {
        display: flex;
        flex-wrap: nowrap;
        position: relative;
        will-change: transform;
    }
    .GD_100_1 {
        /* width: 2559px; */
        width: 182.79vw;
    }
    .GD_100_2 {
        /* width: 2240px; */
        width: 160.00vw;
    }
    .GD_100_Box1 {
        /* margin-bottom: 10px; */
        margin-bottom: 0.71vw;
    }
    .GD_100_check{
        /* filter: sepia(100%); */
    }
    /* ----------- */
    .GD_box_02{
        width: 100%;
        display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center;
        /* margin: 30px 0 0 0; */
        margin: 2.14vw 0 0 0;
    }
    .GD_link_01 {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        /* width: 330px; */
        width: 23.57vw;
        text-decoration: none;
        overflow: hidden;
        /* margin: 0 20px 0 0; */
        margin: 0 1.43vw 0 0;
        /* padding-bottom: 5px; */
        padding-bottom: 0.36vw;
    }
    .GD_link_01::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        /* height: 1px; */
        height: 0.07vw;
        background-color: #9D7E68;
        transform: translateX(0%);
        transition: none;
    }
    .GD_link_01:hover::after {
        animation: GD_underlineMove 0.5s ease forwards;
    }
    @keyframes GD_underlineMove {
        0%   { transform: translateX(0%); }
        49%  { transform: translateX(100%); }
        50%  { transform: translateX(-100%); }
        100% { transform: translateX(0%); }
    }
    .GD_viewmore{
        font-family: "Lusitana",serif;
        font-weight: 500;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        /* font-size: 16px; */
        font-size: 1.14vw;
        /* line-height: 16px; */
        line-height: 1.14vw;
        margin: 0 0 0 0;
    }
    .GD_viewmore_arr{
        /* width: 8px; */
        width: 0.57vw;
        /* margin: 0 0 0 10px; */
        margin: 0 0 0 0.71vw;
    }
}
@media screen and (min-width:1401px) , print { /*PC*/
    .GD_100_wrap_sp {
        display: none;
    }
    .GD_100_wrap_pc {
        position: relative;
        overflow: hidden;
        width: 100%;
    }
    .GD_100_Box {
        display: flex;
        flex-wrap: nowrap;
        position: relative;
        will-change: transform;
    }
    .GD_100_1 {
        width: 2559px;
    }
    .GD_100_2 {
        width: 2240px;
    }
    .GD_100_Box1 {
        margin-bottom: 10px;
    }
    .GD_100_check{
        /* filter: sepia(100%); */
    }
    /* ---------- */
    .GD_box_02{
        width: 100%;
        display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center;
        margin: 30px 0 0 0;
    }
    .GD_link_01 {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        width: 330px;
        text-decoration: none;
        overflow: hidden;
        margin: 0 20px 0 0;
        padding-bottom: 5px;
    }
    .GD_link_01::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #9D7E68;
        transform: translateX(0%);
        transition: none;
    }
    .GD_link_01:hover::after {
        animation: GD_underlineMove 0.5s ease forwards;
    }
    @keyframes GD_underlineMove {
        0%   { transform: translateX(0%); }
        49%  { transform: translateX(100%); }
        50%  { transform: translateX(-100%); }
        100% { transform: translateX(0%); }
    }
    .GD_viewmore{
        font-family: "Lusitana",serif;
        font-weight: 500;
        letter-spacing: 1px;
        font-size: 16px;
        line-height: 16px;
        margin: 0 0 0 0;
    }
    .GD_viewmore_arr{
        width: 8px;
        margin: 0 0 0 10px;
    }
}



/* section_SG splide */
@media screen and (max-width:767px) { /*SP*/
    .SG_splideWrap{
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        /* width: 344px; */
        width: 83.09vw;
        height: auto;
        /* gap: 20px; */
        gap: 4.83vw;
        /* margin: 50px 0 0 0; */
        margin: 12.08vw 0 0 0;
        position: relative;
    }
    .SG_splideWrapLeft{
        width: 100%;
    }
    .SG_splideWrapRight{
        width: 100%;
        display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
    }
    .SG_splideWrapP1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        /* letter-spacing: 1px; */
        letter-spacing: 0.24vw;
        /* font-size: 26px; */
        font-size: 6.28vw;
        /* line-height: 30px; */
        line-height: 7.25vw;
        /* margin: 30px 0 0 0; */
        margin: 7.25vw 0 0 0;
    }
    .SG_splideWrapP2{
        /* font-size: 14px; */
        font-size: 3.38vw;
        /* letter-spacing: 0px; */
        letter-spacing: 0.00vw;
        /* margin: 10px 0 0 0; */
        margin: 2.42vw 0 0 0;
    }
    .SG_splideWrapP3{
        /* font-size: 12px; */
        font-size: 2.90vw;
        /* margin: 10px 0 0 0; */
        margin: 2.42vw 0 0 0;
    }
    .SG_splideWrapP4{
        /* font-size: 16px; */
        font-size: 3.86vw;
        font-weight: 500;
        /* margin: 5px 0 0 0; */
        margin: 1.21vw 0 0 0;
    }
    .SG_splideList{
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        /* gap: 10px; */
        gap: 2.42vw;
        margin: 0 0 0 0;
    }
    .SG_splideList div{
        width: 100%;
    }
    .SG_splideWrapImg{
        width: 100%;
    }
    .SG_splideThumbnailImg{
        width: 100%;
    }
    /* VIEW MORE ボタン */
    .SG_splideVM {
        width: 100%;
        /* margin: 30px 0 0 0; */
        margin: 7.25vw 0 0 0;
        /* padding: 10px 0; */
        padding: 2.42vw 0;
        /* border-top: 1px solid #9d7e68; */
        border-top: 0.24vw solid #9d7e68;
        position: relative;
        cursor: pointer;
        text-align: left;
        font-weight: 500;
    }
    /* afterで矢印画像（右端に配置） */
    .SG_splideVM::after {
        content: "";
        position: absolute;
        /* right: 5px; */
        right: 1.21vw;
        top: 50%;
        transform: translateY(-50%);
        /* width: 16px; */
        width: 3.86vw;
        /* height: 16px; */
        height: 3.86vw;
        background: url("/common/img/common_arr_brown_B.webp") no-repeat center / contain;
        transition: transform 0.3s ease, background 0.3s ease;
    }
    /* 開いた時の矢印反転 */
    .SG_splideVM.open::after {
        background: url("/common/img/common_arr_brown_T.webp") no-repeat center / contain;
        transform: translateY(-50%);
    }
    /* アコーディオン内容 */
    .SG_splideAD {
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition: max-height 0.6s ease, opacity 0.4s ease;
    }
    /* 開いた状態 */
    .SG_splideAD.open {
        /* max-height: 1000px; */
        max-height: 241.55vw;
        opacity: 1;
    }

}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
    .SG_splideWrap{
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch;
        /* width: 1280px; */
        width: 91.43vw;
        /* gap: 50px; */
        gap: 3.57vw;
        /* margin: 50px 0 0 0; */
        margin: 3.57vw 0 0 0;
    }
    .SG_splideWrapLeft{
        width: 50%;
    }
    .SG_splideWrapRight{
        width: 50%;
        display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
    }
    .SG_splideWrapP1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        /* font-size: 30px; */
        font-size: 2.14vw;
        margin: 0 0 0 0;
    }
    .SG_splideWrapP2{
        /* font-size: 14px; */
        font-size: 1.00vw;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        /* margin: 20px 0 0 0; */
        margin: 1.43vw 0 0 0;
    }
    .SG_splideWrapP3{
        /* font-size: 12px; */
        font-size: 0.86vw;
        /* margin: 20px 0 0 0; */
        margin: 1.43vw 0 0 0;
    }
    .SG_splideWrapP4{
        /* font-size: 18px; */
        font-size: 1.29vw;
        margin: 0 0 0 0;
    }
    .SG_splideList{
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        /* gap: 10px; */
        gap: 0.71vw;
        /* margin: 40px 0 0 0; */
        margin: 2.86vw 0 0 0;
    }
    .SG_splideWrapImg{
        width: 100%;
    }
    .SG_splideThumbnailImg{
        /* width: 100px; */
        width: 7.14vw;
    }
}
@media screen and (min-width:1401px) , print { /*PC*/
    .SG_splideWrap{
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch;
        width: 1280px;
        gap: 50px;
        margin: 50px 0 0 0;
    }
    .SG_splideWrapLeft{
        width: 50%;
    }
    .SG_splideWrapRight{
        width: 50%;
        display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
    }
    .SG_splideWrapP1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        letter-spacing: 1px;
        font-size: 30px;
        margin: 0 0 0 0;
    }
    .SG_splideWrapP2{
        font-size: 14px;
        letter-spacing: 1px;
        margin: 20px 0 0 0;
    }
    .SG_splideWrapP3{
        font-size: 12px;
        margin: 20px 0 0 0;
    }
    .SG_splideWrapP4{
        font-size: 18px;
        margin: 0 0 0 0;
    }
    .SG_splideList{
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        gap: 10px;
        margin: 40px 0 0 0;
    }
    .SG_splideWrapImg{
        width: 100%;
    }
    .SG_splideThumbnailImg{
        width: 100px;
    }
}


/* SG_3 */
@media screen and (max-width:767px) { /*SP*/
    .SG_3_wrap{
        /* width: 344px; */
        width: 83.09vw;
        /* margin: 50px 0 0 0; */
        margin: 12.08vw 0 0 0;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        /* gap: 30px; */
        gap: 7.25vw;
    }
    .SG_3_box{
        width: 100%;
    }
    .SG_3_img{
        width: 100%;
    }
    .SG_3_p1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        letter-spacing: 0;
        /* font-size: 24px; */
        font-size: 5.80vw;
        /* margin: 15px 0 0 0; */
        margin: 3.62vw 0 0 0;
    }
    .SG_3_p2{
        /* font-size: 14px; */
        font-size: 3.38vw;
        letter-spacing: 0;
        margin: 0 0 0 0;
        /* padding: 5px 15px 0 0; */
        padding: 1.21vw 3.62vw 0 0;
    }
    .SG_3_p3{
        /* font-size: 10px; */
        font-size: 2.42vw;
        /* margin: 10px 0 0 0; */
        margin: 2.42vw 0 0 0;
    }
}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
    .SG_3_wrap{
        /* width: 1280px; */
        width: 91.43vw;
        /* margin: 30px 0 0 0; */
        margin: 2.14vw 0 0 0;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-start;
    }
    .SG_3_box{
        width: calc(100% / 3);
    }
    .SG_3_img{
        width: 100%;
    }
    .SG_3_p1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        letter-spacing: 0;
        /* font-size: 24px; */
        font-size: 1.71vw;
        /* margin: 15px 0 0 0; */
        margin: 1.07vw 0 0 0;
    }
    .SG_3_p2{
        /* font-size: 14px; */
        font-size: 1.00vw;
        letter-spacing: 0;
        margin: 0 0 0 0;
        /* padding: 10px 15px 0 0; */
        padding: 0.71vw 1.07vw 0 0;
    }
    .SG_3_p3{
        /* font-size: 10px; */
        font-size: 0.71vw;
        /* margin: 10px 0 0 0; */
        margin: 0.71vw 0 0 0;
    }
}
@media screen and (min-width:1401px) , print { /*PC*/
    .SG_3_wrap{
        width: 1280px;
        margin: 30px 0 0 0;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: flex-start;
    }
    .SG_3_box{
        width: calc(100% / 3);
    }
    .SG_3_img{
        width: 100%;
    }
    .SG_3_p1{
        font-family: "Lusitana", serif;
        font-weight: 500;
        letter-spacing: 0;
        font-size: 24px;
        margin: 15px 0 0 0;
    }
    .SG_3_p2{
        font-size: 14px;
        letter-spacing: 0;
        margin: 0 0 0 0;
        padding: 10px 15px 0 0;
    }
    .SG_3_p3{
        font-size: 10px;
        margin: 10px 0 0 0;
    }
}



/* section_FL */
@media screen and (max-width:767px) { /*SP*/
    #section_FL {
        /* padding: 200px 0 0 0; */
        padding: 48.31vw 0 0 0;
        position: relative;
        overflow: visible; 
        transform: none; 
        background-color: #fff;
    }
    .FL_wrapper {
        /* display: flex; */
        width: 100%;
        position: relative;
        overflow: visible;
    }
    .FL_left {
        width: 100%;
        height: auto;
        background: #fff;
        color: #000;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* font-size: 28px; */
        font-size: 6.76vw;
        font-weight: bold;
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
        /* padding: 0 0 100px 0; */
        padding: 0 0 24.15vw 0;
    }
    .FL_mapWrap{
        /* width: 272px; */
        width: 65.70vw;
        position: relative;
        /* margin: 0 0 0 -20px; */
        margin: 0 0 0 -4.83vw;
    }
    .FL_map{
        /* width: 272px; */
        width: 65.70vw;
    }
    .FL_right {
        width: 100%;
        overflow: hidden;
    }
    /* =====================
        セクション（背景付き）
    ===================== */
    .FL_box {
        /* height: 300px; */
        height: 72.46vw;
        background-size: cover;
        background-position: center center;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        /* font-size: 40px; */
        font-size: 9.66vw;
        font-weight: bold;
        color: #fff;
        position: relative;
        will-change: background-position;
        /* margin: 0 0 150px 0; */
        margin: 0 0 36.23vw 0;
    }
    /* 背景画像 */
    .s1 { background-image: url("/img/FL_1f.webp"); }
    .s2 { background-image: url("/img/FL_2f.webp"); }
    .s3 { background-image: url("/img/FL_3f.webp"); }
    .s4 { background-image: url("/img/FL_4f.webp"); }
    /* オーバーレイ */
    .FL_box::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.0);
    }
    /* テキストを上に出す */
    .FL_box > span {
        position: relative;
        z-index: 2;
        /* GPU rendering */
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    /* =====================
        左テキスト（動的に切り替え）
    ===================== */
    .FL_sectionMark {
        position: absolute;
        bottom: 0;
        /* left: 75px; */
        left: 18.12vw;
        /* width: 202px; */
        width: 48.79vw;
        /* height: 74px; */
        height: 17.87vw;
        background-color: rgba(213, 200, 178, 0.5);
        transition: bottom 0.5s ease, height 0.5s ease;
        z-index: -1;
        display: none;
    }
    /* クラスごとの見た目変化 */
    .is-s1 { 
        /* bottom: 0px; */
        bottom: 0.00vw;
        /* height: 74px; */
        height: 17.87vw;
    }
    .is-s2 { 
        /* bottom: 118px; */
        bottom: 28.50vw;
        /* height: 66px; */
        height: 15.94vw;
    }
    .is-s3 { 
        /* bottom: 184px; */
        bottom: 44.44vw;
        /* height: 112px; */
        height: 27.05vw;
    }
    .is-s4 { 
        /* bottom: 297px; */
        bottom: 71.74vw;
        /* height: 68px; */
        height: 16.43vw;
    }
    /* right text */
    .FL_r_wrap{
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        /* margin: 0px 0 0 0; */
        margin: 0.00vw 0 0 0;
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
        position: absolute;
        /* top: 220px; */
        top: 53.14vw;
        /* left: 30px; */
        left: 7.25vw;
    }
    .FL_r_floor{
        font-family: "Lusitana", serif;
        font-weight: 100;
        /* letter-spacing: 3px; */
        letter-spacing: 0.72vw;
        /* font-size: 50px; */
        font-size: 12.08vw;
        /* line-height: 80px; */
        line-height: 19.32vw;
        margin: 0 0 0 0;
    }
    .FL_r_titleWrap{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        /* margin: 3px 0 0 20px; */
        margin: 0.72vw 0 0 4.83vw;
        width: 70%;
    }
    .FL_r_title{
        font-family: "Lusitana", serif;
        font-weight: 100;
        /* letter-spacing: 2px; */
        letter-spacing: 0.48vw;
        /* font-size: 23px; */
        font-size: 5.56vw;
        /* line-height: 50px; */
        line-height: 12.08vw;
        /* margin: 0px 0 0 0; */
        margin: 0.00vw 0 0 0;
    }
    .FL_r_p1{
        /* font-size: 12px; */
        font-size: 2.90vw;
        font-weight: 400;
        /* letter-spacing: 3px; */
        letter-spacing: 0.72vw;
        /* margin: -12px 0 0 0; */
        margin: -2.90vw 0 0 0;
    }
    .FL_r_p2{
        /* font-size: 16px; */
        font-size: 3.86vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.24vw;
        /* margin: 50px 0 0 -70px; */
        margin: 12.08vw 0 0 -16.91vw;
        text-align: left;
        color: #9c7e68;
    }
    .FL_r_p2ex{
        /* font-size: 16px; */
        font-size: 3.86vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.24vw;
        /* margin: 50px 0 0 -80px; */
        margin: 12.08vw 0 0 -19.32vw;
        text-align: left;
        color: #9c7e68;
    }
    .FL_r_p3{
        /* font-size: 16px; */
        font-size: 3.86vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.24vw;
        /* margin: 0 0 0 -70px; */
        margin: 0 0 0 -16.91vw;
        text-align: left;
        color: #9c7e68;
    }
    /* adjustment */
    .FL_r_adj1{
        /* margin-left: -80px; */
        margin-left: -19.32vw;
    }
    .FL_r_adj2{
        /* margin-left: -75px; */
        margin-left: -18.12vw;
    }
    .FL_r_adj3{
        /* margin-left: -82px; */
        margin-left: -19.81vw;
        /* margin-top: 30px; */
        margin-top: 7.25vw;
    }
    .FL_r_adj4{
        /* margin-left: -82px; */
        margin-left: -19.81vw;
    }
    .FL_r_adj5{
        /* margin-top: 20px; */
        margin-top: 4.83vw;
    }
    /* B1F */
    .FL_b1f_wrap{
        width: 100%;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        /* padding: 0 0 100px 0; */
        padding: 0 0 24.15vw 0;
        background-color: #fff;
    }
    .FL_b1f{
        /* width: calc( 342px * 0.8 ); */
        width: calc( 82.61vw * 0.8 );
    }
}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
    #section_FL {
        /* margin: 200px 0; */
        margin: 14.29vw 0;
        position: relative;
        overflow: visible; 
        transform: none; 
        /* border-top: 1px solid #9c7e68; */
        border-top: 0.07vw solid #9c7e68;
        /* border-bottom: 1px solid #9c7e68; */
        border-bottom: 0.07vw solid #9c7e68;
    }
    .FL_wrapper {
        display: flex;
        width: 100%;
        position: relative;
        overflow: visible;  
        align-items: flex-start;
    }
    .FL_left {
        width: 30%;
        height: 100vh;
        background: #fff;
        color: #000;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        /* font-size: 28px; */
        font-size: 2.00vw;
        font-weight: bold;
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    .FL_mapWrap{
        /* width: 322px; */
        width: 23.00vw;
        position: relative;
    }
    .FL_map{
        /* width: 322px; */
        width: 23.00vw;
    }
    .FL_right {
        width: 70%;
        overflow: hidden;
    }
    /* =====================
        セクション（背景付き）
    ===================== */
    .FL_box {
        height: 100vh;
        background-size: cover;
        background-position: center center;
        display: flex;
        align-items: center;
        justify-content: center;
        /* font-size: 40px; */
        font-size: 2.86vw;
        font-weight: bold;
        color: #fff;
        position: relative;
        will-change: background-position;
    }
    /* 背景画像 */
    .s1 { background-image: url("/img/FL_1f.webp"); }
    .s2 { background-image: url("/img/FL_2f.webp"); }
    .s3 { background-image: url("/img/FL_3f.webp"); }
    .s4 { background-image: url("/img/FL_4f.webp"); }
    /* オーバーレイ */
    .FL_box::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.0);
    }
    /* テキストを上に出す */
    .FL_box > span {
        position: relative;
        z-index: 2;
        /* GPU rendering */
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    /* =====================
        左テキスト（動的に切り替え）
    ===================== */
    .FL_sectionMark {
        position: absolute;
        bottom: 0;
        /* left: 75px; */
        left: 5.36vw;
        /* width: 202px; */
        width: 14.43vw;
        /* height: 74px; */
        height: 5.29vw;
        background-color: rgba(213, 200, 178, 0.5);
        transition: bottom 0.5s ease, height 0.5s ease;
        z-index: -1;
    }
    /* クラスごとの見た目変化 */
    .is-s1 { 
        /* bottom: 0px; */
        bottom: 0.00vw;
        /* height: 74px; */
        height: 5.29vw;
    }
    .is-s2 { 
        /* bottom: 118px; */
        bottom: 8.43vw;
        /* height: 66px; */
        height: 4.71vw;
    }
    .is-s3 { 
        /* bottom: 184px; */
        bottom: 13.14vw;
        /* height: 112px; */
        height: 8.00vw;
    }
    .is-s4 { 
        /* bottom: 297px; */
        bottom: 21.21vw;
        /* height: 68px; */
        height: 4.86vw;
    }
    /* right text */
    .FL_r_wrap{
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start;
        width: 100%;
        /* margin: 0 0 0 50px; */
        margin: 0 0 0 3.57vw;
        /* text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); */
        text-shadow: 0.00vw 0.00vw 1.43vw rgba(0, 0, 0, 0.5);
        /* GPU rendering */
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    .FL_r_floor{
        font-family: "Lusitana", serif;
        font-weight: 100;
        /* letter-spacing: 3px; */
        letter-spacing: 0.21vw;
        /* font-size: 80px; */
        font-size: 5.71vw;
        /* line-height: 80px; */
        line-height: 5.71vw;
        margin: 0 0 0 0;
    }
    .FL_r_titleWrap{
        display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
        /* margin: 3px 0 0 30px; */
        margin: 0.21vw 0 0 2.14vw;
    }
    .FL_r_title{
        font-family: "Lusitana", serif;
        font-weight: 100;
        /* letter-spacing: 3px; */
        letter-spacing: 0.21vw;
        /* font-size: 50px; */
        font-size: 3.57vw;
        /* line-height: 50px; */
        line-height: 3.57vw;
        margin: 0 0 0 0;
    }
    .FL_r_p1{
        /* font-size: 12px; */
        font-size: 0.86vw;
        font-weight: 400;
        /* letter-spacing: 3px; */
        letter-spacing: 0.21vw;
        margin: 0 0 0 0;
    }
    .FL_r_p2{
        /* font-size: 16px; */
        font-size: 1.14vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        /* margin: 20px 0 0 0; */
        margin: 1.43vw 0 0 0;
        text-align: left;
    }
    .FL_r_p2ex{
        /* font-size: 16px; */
        font-size: 1.14vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        /* margin: 20px 0 0 -10px; */
        margin: 1.43vw 0 0 -0.71vw;
        text-align: left;
    }
    .FL_r_p3{
        /* font-size: 16px; */
        font-size: 1.14vw;
        font-weight: 400;
        /* letter-spacing: 1px; */
        letter-spacing: 0.07vw;
        margin: 0 0 0 0;
        text-align: left;
    }
    /* B1F */
    .FL_b1f_wrap{
        width: 100%;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        /* margin: -100px 0 100px 0; */
        margin: -7.14vw 0 7.14vw 0;
    }
    .FL_b1f{
        /* width: calc( 1280px * 0.8 ); */
        width: calc( 91.43vw * 0.8 );
    }
}
@media screen and (min-width:1401px) , print { /*PC*/
    #section_FL {
        margin: 200px 0;
        position: relative;
        overflow: visible; 
        transform: none; 
        border-top: 1px solid #9c7e68;
        border-bottom: 1px solid #9c7e68;
    }

    .FL_wrapper {
        display: flex;
        width: 100%;
        position: relative;
        overflow: visible;  
        align-items: flex-start;
    }

    .FL_left {
        width: 30%;
        height: 100vh;
        background: #fff;
        color: #000;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 28px;
        font-weight: bold;

        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    .FL_mapWrap{
        width: 322px;
        position: relative;
    }
    .FL_map{
        width: 322px;
    }

    .FL_right {
        width: 70%;
        overflow: hidden;
    }

    /* =====================
        セクション（背景付き）
    ===================== */
    .FL_box {
        height: 100vh;
        background-size: cover;
        background-position: center center;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 40px;
        font-weight: bold;
        color: #fff;
        position: relative;
        will-change: background-position;
    }

    /* 背景画像 */
    .s1 { background-image: url("/img/FL_1f.webp"); }
    .s2 { background-image: url("/img/FL_2f.webp"); }
    .s3 { background-image: url("/img/FL_3f.webp"); }
    .s4 { background-image: url("/img/FL_4f.webp"); }

    /* オーバーレイ */
    .FL_box::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.0);
    }

    /* テキストを上に出す */
    .FL_box > span {
        position: relative;
        z-index: 2;
        
        /* GPU rendering */
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }

    /* =====================
        左テキスト（動的に切り替え）
    ===================== */
    .FL_sectionMark {
        position: absolute;
        bottom: 0;
        left: 75px;
        width: 202px;
        height: 74px;
        background-color: rgba(213, 200, 178, 0.5);
        transition: bottom 0.5s ease, height 0.5s ease;
        z-index: -1;
    }

    /* クラスごとの見た目変化 */
    .is-s1 { 
        bottom: 0px;
        height: 74px;
    }
    .is-s2 { 
        bottom: 118px;
        height: 66px;
    }
    .is-s3 { 
        bottom: 184px; 
        height: 112px;
    }
    .is-s4 { 
        bottom: 297px;
        height: 68px;
    }

    /* right text */
    .FL_r_wrap{
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start;
        width: 100%;
        margin: 0 0 0 50px;
        text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
        /* GPU rendering */
        transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-font-smoothing: antialiased;
    }
    .FL_r_floor{
        font-family: "Lusitana", serif;
        font-weight: 100;
        letter-spacing: 3px;
        font-size: 80px;
        line-height: 80px;
        margin: 0 0 0 0;
    }
    .FL_r_titleWrap{
        display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
        margin: 3px 0 0 30px;
    }
    .FL_r_title{
        font-family: "Lusitana", serif;
        font-weight: 100;
        letter-spacing: 3px;
        font-size: 50px;
        line-height: 50px;
        margin: 0 0 0 0;
    }
    .FL_r_p1{
        font-size: 12px;
        font-weight: 400;
        letter-spacing: 3px;
        margin: 0 0 0 0;
    }
    .FL_r_p2{
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 1px;
        margin: 20px 0 0 0;
        text-align: left;
    }
    .FL_r_p2ex{
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 1px;
        margin: 20px 0 0 -10px;
        text-align: left;
    }
    .FL_r_p3{
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 1px;
        margin: 0 0 0 0;
        text-align: left;
    }
    /* B1F */
    .FL_b1f_wrap{
        width: 100%;
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        margin: -100px 0 100px 0;
    }
    .FL_b1f{
        width: calc( 1280px * 0.8 );
    }
}



/* news add */
@media screen and (max-width:767px) { /*SP*/
    #section_GD{
        padding: 0 0 0 0;
    }
    .FS_contents{
        position: relative;
    }
    .NS_add_viewmore{
        position: absolute;
        /* bottom: -200px; */
        bottom: -48.31vw;
        /* right: 40px; */
        right: 9.66vw;
    }
    .NS_add_wrap{
        /* width: 344px; */
        width: 83.09vw;
        position: absolute;
        /* bottom: -165px; */
        bottom: -39.86vw;
        /* right: 35px; */
        right: 8.45vw;
        background-color: #fff;
        overflow: hidden;
    }
    .NS_add_box{
        /* width: 1332px; */
        width: 321.74vw;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
        background-color: #e9dfcf;
    }
    .NS_add_link{
        /* width: 444px; */
        width: 107.25vw;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
        text-decoration: none;
        /* padding: 20px 20px; */
        padding: 4.83vw 4.83vw;
    }
    .NS_add_link::after{
        content: "";
        position: absolute;
        top: 50%;
        /* right: 10px; */
        right: 2.42vw;
        transform: translateY(-50%);
        /* width: 15px; */
        width: 3.62vw;
        /* height: 15px; */
        height: 3.62vw;
        background-image: url("/common/img/common_arr_brown_R.webp");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        pointer-events: none;
    }
    .NS_add_img{
        /* width: 120px; */
        width: 28.99vw;
    }
    .NS_add_ct{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        /* width: 190px; */
        width: 45.89vw;
        /* padding: 0 20px; */
        padding: 0 4.83vw;
    }
    .NS_add_tx_01{
        /* font-size: 13px; */
        font-size: 3.14vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-weight: 500;
    }
    .NS_add_tx_03{
        /* font-size: 11px; */
        font-size: 2.66vw;
        /* letter-spacing: 1px; */
        letter-spacing: 0.24vw;
        /* margin: 5px 0 0 0; */
        margin: 1.21vw 0 0 0;
        font-weight: 500;
    }
    .NS_add_tx_04{
        /* font-size: 11px; */
        font-size: 2.66vw;
        position: absolute;
        bottom: 0;
        right: 0;
        font-weight: 500;
    }
}
@media screen and (min-width:768px) and ( max-width:1400px) { /*TB*/
    .FS_contents{
        position: relative;
    }
    .NS_add_viewmore{
        position: absolute;
        /* bottom: -100px; */
        bottom: -5.56vw;
        /* right: 20px; */
        right: 1.11vw;
    }
    .NS_add_wrap{
        /* width: 444px; */
        width: 24.67vw;
        position: absolute;
        /* bottom: -63px; */
        bottom: -3.50vw;
        /* right: 0px; */
        right: 0.00vw;
        background-color: #e9dfcf;
        overflow: hidden;
    }
    .NS_add_box{
        /* width: 1332px; */
        width: 74.00vw;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .NS_add_link{
        /* width: 444px; */
        width: 24.67vw;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        text-decoration: none;
        /* padding: 20px 20px; */
        padding: 1.11vw 1.11vw;
    }
    .NS_add_link::after{
        content: "";
        position: absolute;
        top: 50%;
        /* right: 10px; */
        right: 0.56vw;
        transform: translateY(-50%);
        /* width: 15px; */
        width: 0.83vw;
        /* height: 15px; */
        height: 0.83vw;
        background-image: url("/common/img/common_arr_brown_R.webp");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        pointer-events: none;
    }
    .NS_add_img{
        /* width: 120px; */
        width: 6.67vw;
    }
    .NS_add_ct{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        /* padding: 0 20px; */
        padding: 0 1.11vw;
    }
    .NS_add_tx_01{
        /* font-size: 14px; */
        font-size: 0.78vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-weight: 500;
    }
    .NS_add_tx_03{
        /* font-size: 12px; */
        font-size: 0.67vw;
        /* letter-spacing: 1px; */
        letter-spacing: 0.06vw;
        /* margin: 5px 0 0 0; */
        margin: 0.28vw 0 0 0;
        font-weight: 500;
    }
    .NS_add_tx_04{
        /* font-size: 12px; */
        font-size: 0.67vw;
        position: absolute;
        bottom: 0;
        right: 0;
        font-weight: 500;
    }
}
@media screen and (min-width:1401px) , print { /*PC*/
    .FS_contents{
        position: relative;
    }
    .NS_add_viewmore{
        position: absolute;
        bottom: -100px;
        right: 20px;
    }
    .NS_add_wrap{
        width: 444px;
        position: absolute;
        bottom: -63px;
        right: 0px;
        background-color: #e9dfcf;
        overflow: hidden;
    }
    .NS_add_box{
        width: 1332px;
        display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center;
    }
    .NS_add_link{
        width: 444px;
        display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
        text-decoration: none;
        padding: 20px 20px;
    }
    .NS_add_link::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 15px;
        height: 15px;
        background-image: url("/common/img/common_arr_brown_R.webp");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        pointer-events: none;
    }
    .NS_add_img{
        width: 120px;
    }
    .NS_add_ct{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0 20px;
    }
    .NS_add_tx_01{
        font-size: 14px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-weight: 500;
    }
    .NS_add_tx_03{
        font-size: 12px;
        letter-spacing: 1px;
        margin: 5px 0 0 0;
        font-weight: 500;
    }
    .NS_add_tx_04{
        font-size: 12px;
        position: absolute;
        bottom: 0;
        right: 0;
        font-weight: 500;
    }
}


/* section_NS */
#section_NS{
    /* display: none; */
}
.NS_add_wrap,.NS_add_viewmore{
    display: none;
}


/*  */
@media screen and (max-width:767px) { /*SP*/
    .FS_title{
        
    }
    .FS_tx_01{
        /* margin: 10px 0 0 0; */
        margin: 2.42vw 0 0 0;
    }
}
@media screen and (min-width:768px) and ( max-width:1300px) { /*TB*/
    .FS_title{
        /* font-size: 80px; */
        font-size: 6.15vw;
    }
    .FS_tx_01{
        /* font-size: 34px; */
        font-size: 2.62vw;
        /* margin: 20px 0 0 0; */
        margin: 1.43vw 0 0 0;
    }
}
@media screen and (min-width:1301px) , print { /*PC*/
    .FS_title{
        font-size: 80px;
    }
    .FS_tx_01{
        font-size: 34px;
        margin: 20px 0 0 0;
    }
}
