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





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

main_visual

============================== */
.main_visual.lower_page .main_visual-fg .main_visual-fg-title {
    width: min( calc( 520 * 100vw / var( --dw ) ), calc( 520px * 1.38 ) );
}
@media screen and ( max-width: 768px ) {
    .main_visual.lower_page .main_visual-fg .main_visual-fg-title {
        width: calc( 226.38 * 100vw / var( --dw ) );
        left: calc( 50% - calc( calc( 226.38 * 100vw / var( --dw ) ) / 2 ) );
    }
}










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

lead

============================== */
.l-sc.lead {
    padding-top: min( calc( 80 * 100vw / var( --dw ) ), calc( 80px * 1.38 ) );
    padding-bottom: min( calc( 70 * 100vw / var( --dw ) ), calc( 70px * 1.38 ) );
}
.lead .l-inner {
}
@media screen and ( max-width: 768px ) {
    .l-sc.lead {
        padding-top: calc( 40 * 100vw / var( --dw ) );
        padding-bottom: calc( 35 * 100vw / var( --dw ) );
    }
    .lead .l-inner {
        padding: 0;
    }
}



.lead__title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) );
    padding: 0;
    text-align: center;
}
.lead__text {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 60 * 100vw / var( --dw ) ), calc( 60px * 1.38 ) );
    padding: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .lead__title {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .lead__text {
        margin: 0 0 calc( 30 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
}



.lead .l-inner--ver_02 {
    padding-left: 0;
}
.lead-content {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .lead .l-inner--ver_02 {
        padding: 0;
    }
    .lead-content {
        display: block;
        margin: 0;
    }
}



.lead-content-left {
    position: relative;
    width: min( calc( 804 * 100vw / var( --dw ) ), calc( 804px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.lead-content-left__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lead-content-left__image figure, 
.lead-content-left__image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lead-content-left__image picture img {
    width: 100%;
}
.lead-content-left__image figure figcaption {
    position: absolute;
    /*bottom: min( calc( 15 * 100vw / var( --dw ) ), calc( 15px * 1.38 ) );*/
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and ( max-width: 768px ) {
    .lead-content-left {
        width: 100%;
        margin: 0 0 calc( 35 * 100vw / var( --dw ) );
    }
    .lead-content-left__image {
    }
    .lead-content-left__image figure, 
    .lead-content-left__image picture {
    }
    .lead-content-left__image picture img {
    }
    /*.lead-content-left__image figure figcaption {
        bottom: calc( -10 * 100vw / var( --dw ) );
    }*/
}



.lead-content-right {
    position: relative;
    width: min( calc( 468 * 100vw / var( --dw ) ), calc( 468px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.lead-content-right__top_image {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 45 * 100vw / var( --dw ) ), calc( 45px * 1.38 ) );
    padding: 0;
}
.lead-content-right__top_image figure, 
.lead-content-right__top_image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lead-content-right__top_image picture img {
    width: 100%;
}
.lead-content-right__top_image figure figcaption {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    color: #333;
    text-align: right;
    background-color: transparent;
}
@media screen and ( max-width: 768px ) {
    .lead-content-right {
        width: 100%;
    }
    .lead-content-right__top_image {
        width: calc( 320 * 100vw / var( --dw ) );
        margin: 0 auto calc( 35 * 100vw / var( --dw ) );
    }
    .lead-content-right__top_image figure, 
    .lead-content-right__top_image picture {
    }
    .lead-content-right__top_image picture img {
    }
    .lead-content-right__top_image figure figcaption {
    }
}



.lead-content-right-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lead-content-right-content__title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 20 * 100vw / var( --dw ) ), calc( 20px * 1.38 ) );
    padding: 0;
}
.lead-content-right-content__title picture {
    position: relative;
    display: block;
    width: min( calc( 98 * 100vw / var( --dw ) ), calc( 98px * 1.38 ) );
    margin: 0 auto;
    padding: 0;
}
.lead-content-right-content__title picture img {
    width: 100%;
}
.lead-content-right-content__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.lead-content-right-content__text.fs-m {
    margin: 0 0 min( calc( 20 * 100vw / var( --dw ) ), calc( 20px * 1.38 ) );
    line-height: 1.764;
    letter-spacing: 0;
    text-align: center;
}
.lead-content-right-content__text.fs-s--ver_02 {
    margin: 0 0 min( calc( 20 * 100vw / var( --dw ) ), calc( 20px * 1.38 ) );
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .lead-content-right-content {
    }
    .lead-content-right-content__title {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .lead-content-right-content__title picture {
        width: calc( 98 * 100vw / var( --dw ) );
    }
    .lead-content-right-content__title picture img {
    }
    .lead-content-right-content__text {
    }
    .lead-content-right-content__text.fs-m {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
    .lead-content-right-content__text.fs-s--ver_02 {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
}










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

landscape

============================== */
.l-sc.landscape {
    padding-top: min( calc( 70 * 100vw / var( --dw ) ), calc( 70px * 1.38 ) );
    padding-bottom: min( calc( 70 * 100vw / var( --dw ) ), calc( 70px * 1.38 ) );
    background-color: #EFEFEF;
}
.landscape .l-inner {
}
@media screen and ( max-width: 768px ) {
    .l-sc.landscape {
        padding-top: calc( 35 * 100vw / var( --dw ) );
        padding-bottom: calc( 35 * 100vw / var( --dw ) );
    }
    .landscape .l-inner {
        padding: 0;
    }
}



.landscape__title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) );
    padding: 0;
    text-align: center;
}
.landscape__text {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 60 * 100vw / var( --dw ) ), calc( 60px * 1.38 ) );
    padding: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .landscape__title {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .landscape__text {
        margin: 0 0 calc( 30 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
}



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



.landscape-content-left {
    position: relative;
    width: min( calc( 595 * 100vw / var( --dw ) ), calc( 595px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.landscape-content-left__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.landscape-content-left__image figure, 
.landscape-content-left__image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.landscape-content-left__image picture img {
    width: 100%;
}
.landscape-content-left__image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and ( max-width: 768px ) {
    .landscape-content-left {
        width: 100%;
        margin-bottom: calc( 35 * 100vw / var( --dw ) );
    }
    .landscape-content-left__image {
    }
    .landscape-content-left__image figure, 
    .landscape-content-left__image picture {
    }
    .landscape-content-left__image picture img {
    }
    .landscape-content-left__image figure figcaption {
    }
}



.landscape-content-right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) ) 0;
    width: min( calc( 566 * 100vw / var( --dw ) ), calc( 566px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.landscape-content-right-content {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .landscape-content-right {
        gap: calc( 20 * 100vw / var( --dw ) ) 0;
        width: 100%;
    }
    .landscape-content-right-content {
        display: block;
    }
}



.landscape-content-right-content-left {
    position: relative;
    width: min( calc( 340 * 100vw / var( --dw ) ), calc( 340px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.landscape-content-right-content-left__title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: min( calc( 36 * 100vw / var( --dw ) ), calc( 36px * 1.38 ) );
    margin: 0 0 min( calc( 10 * 100vw / var( --dw ) ), calc( 10px * 1.38 ) );
    padding: 0;
    text-align: center;
}
.content_01 .landscape-content-right-content-left__title {
    color: #9F3F1E;
    background-color: #E5B996;
}
.content_02 .landscape-content-right-content-left__title {
    color: #597C29;
    background-color: #BCD9B4;
}
.content_03 .landscape-content-right-content-left__title {
    color: #0F3D72;
    background-color: #B2C7E0;
}
.landscape-content-right-content-left__text {
    line-height: 2;
    letter-spacing: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .landscape-content-right-content-left {
        width: 100%;
    }
    .landscape-content-right-content-left__title {
        width: calc( 320 * 100vw / var( --dw ) );
        height: calc( 36 * 100vw / var( --dw ) );
        margin: 0 auto calc( 10 * 100vw / var( --dw ) );
    }
    .content_01 .landscape-content-right-content-left__title {
    }
    .content_02 .landscape-content-right-content-left__title {
    }
    .content_03 .landscape-content-right-content-left__title {
    }
    .landscape-content-right-content-left__text {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
}



.landscape-content-right-content-image {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: min( calc( 201 * 100vw / var( --dw ) ), calc( 201px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.landscape-content-right-content-image::after {
    content: 'all image photo';
    position: absolute;
    bottom: 2em;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-caption );
    line-height: 2;
    letter-spacing: 0;
    font-feature-settings: "palt";
    color: #fff;
    background-color: rgba( 0, 0, 0, 0.4 );
}
.landscape-content-right-content-image__item {
    position: relative;
    width: min( calc( 99 * 100vw / var( --dw ) ), calc( 99px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.landscape-content-right-content-image__item picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.landscape-content-right-content-image__item picture img {
    width: 100%;
}
.landscape-content-right-content-image__item .fs-caption {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: right;
}
@media screen and ( max-width: 768px ) {
    .landscape-content-right-content-image {
        width: calc( 320 * 100vw / var( --dw ) );
        margin: 0 auto;
    }
    .landscape-content-right-content-image::after {
    }
    .landscape-content-right-content-image__item {
        width: calc( 157 * 100vw / var( --dw ) );
    }
    .landscape-content-right-content-image__item picture {
    }
    .landscape-content-right-content-image__item picture img {
    }
    .landscape-content-right-content-image__item .fs-caption {
    }
}










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

sky_terrace

============================== */
.l-sc.sky_terrace {
    padding-top: min( calc( 70 * 100vw / var( --dw ) ), calc( 70px * 1.38 ) );
    padding-bottom: min( calc( 70 * 100vw / var( --dw ) ), calc( 70px * 1.38 ) );
}
.l-sc.sky_terrace .l-inner {
}
@media screen and ( max-width: 768px ) {
    .l-sc.sky_terrace {
        padding-top: calc( 35 * 100vw / var( --dw ) );
        padding-bottom: calc( 35 * 100vw / var( --dw ) );
    }
    .l-sc.sky_terrace .l-inner {
        padding: 0;
    }
}



.sky_terrace__title {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) );
    padding: 0;
    text-align: center;
}
.sky_terrace__text {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 60 * 100vw / var( --dw ) ), calc( 60px * 1.38 ) );
    padding: 0;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .sky_terrace__title {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
    }
    .sky_terrace__text {
        margin: 0 0 calc( 30 * 100vw / var( --dw ) );
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
        text-align: left;
    }
}



.sky_terrace__image {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 100 * 100vw / var( --dw ) ), calc( 100px * 1.38 ) );
    padding: 0 min(calc(100 * 100vw / var(--dw)), calc(100px * 1.38));
}
.sky_terrace__image figure, 
.sky_terrace__image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.sky_terrace__image picture img {
    width: 100%;
}
.sky_terrace__image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and ( max-width: 768px ) {
    .sky_terrace__image {
        margin: 0 0 calc( 50 * 100vw / var( --dw ) );
        padding: 0;
    }
    .sky_terrace__image figure, 
    .sky_terrace__image picture {
    }
    .sky_terrace__image picture img {
    }
    .sky_terrace__image figure figcaption {
    }
}



.sky_terrace-content {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0 min( calc( 110 * 100vw / var( --dw ) ), calc( 110px * 1.38 ) );
    width: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .sky_terrace-content {
        position: relative;
        display: block;
        padding: 0 calc( 27.5 * 100vw / var( --dw ) );
    }
}



.sky_terrace-content-left {
    position: relative;
    width: min( calc( 478 * 100vw / var( --dw ) ), calc( 478px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.sky_terrace-content-left-movie {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 45 * 100vw / var( --dw ) ), calc( 45px * 1.38 ) );
    padding: 0;
}
.sky_terrace-content-left-movie video {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.sky_terrace-content-left-image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.sky_terrace-content-left-image figure, 
.sky_terrace-content-left-image picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.sky_terrace-content-left-image picture img {
    width: 100%;
}
.sky_terrace-content-left-image figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    background-color: rgba( 0, 0, 0, 0.4 );
}
@media screen and ( max-width: 768px ) {
    .sky_terrace-content-left {
        width: 100%;
    }
    .sky_terrace-content-left-movie {
        margin: 0 0 calc( 470 * 100vw / var( --dw ) );
    }
    .sky_terrace-content-left-movie video {
    }
    .sky_terrace-content-left-image {
    }
    .sky_terrace-content-left-image figure, 
    .sky_terrace-content-left-image picture {
    }
    .sky_terrace-content-left-image picture img {
    }
    .sky_terrace-content-left-image figure figcaption {
    }
}



.sky_terrace-content-right {
    position: relative;
    width: min( calc( 382 * 100vw / var( --dw ) ), calc( 382px * 1.38 ) );
    margin: 0;
    padding: 0;
}
.sky_terrace-content-right figure, 
.sky_terrace-content-right picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.sky_terrace-content-right picture img {
    width: 100%;
}
.sky_terrace-content-right figure figcaption {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0 1em;
    color: #333;
    background-color: transparent;
    text-align: right;
}
@media screen and ( max-width: 768px ) {
    .sky_terrace-content-right {
        position: absolute;
        top: calc( 190 * 100vw / var( --dw ) );
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: calc( 450 * 100vw / var( --dw ) );
    }
    .sky_terrace-content-right figure {
        display: block;
        width: calc( 248 * 100vw / var( --dw ) );
        margin: 0 auto;
    }
    .sky_terrace-content-right figure, 
    .sky_terrace-content-right picture {
    }
    .sky_terrace-content-right picture img {
    }
    .sky_terrace-content-right figure figcaption {
    }
}









