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




:root {
    /* max width */
    --mw: 1920;
    --mw-px: 1920px;

    /* design width */
    --dw: 1403; /* 1388px + 15px */
    --dw-px: 1403px;

    /* font size */
    /* 表示最大幅 / デザイン幅 = 1.38 */
    --fs-xs: min( max( calc( 12 * 100vw / var( --dw ) ), 10px ), calc( 12px * 1.38 ) );
    --fs-s: min( max( calc( 15 * 100vw / var( --dw ) ), 11px ), calc( 15px * 1.38 ) );
    --fs-m: min( max( calc( 17 * 100vw / var( --dw ) ), 13px ), calc( 17px * 1.38 ) );
    --fs-l: min( max( calc( 20 * 100vw / var( --dw ) ), 16px ), calc( 20px * 1.38 ) );
    --fs-xl: min( max( calc( 23 * 100vw / var( --dw ) ), 19px ), calc( 23px * 1.38 ) );
    --fs-xxl: min( max( calc( 30 * 100vw / var( --dw ) ), 26px ), calc( 30px * 1.38 ) );

    --fs-s-ver_02: min( max( calc( 14 * 100vw / var( --dw ) ), 11px ), calc( 14px * 1.38 ) );

    --fs-point: min( max( calc( 18 * 100vw / var( --dw ) ), 14px ), calc( 18px * 1.38 ) );
    --fs-call_to_action_title: min( max( calc( 30 * 100vw / var( --dw ) ), 26px ), calc( 30px * 1.38 ) );
    --fs-section_title: min( max( calc( 15 * 100vw / var( --dw ) ), 12px ), calc( 15px * 1.38 ) );
    --fs-caption: min( max( calc( 12 * 100vw / var( --dw ) ), 10px ), calc( 12px * 1.38 ) );
    --fs-information_text: min( max( calc( 17 * 100vw / var( --dw ) ), 13px ), calc( 17px * 1.38 ) );
}
@media screen and ( max-width: 768px ) {
    :root {
        /* max width */
        --mw: 375;
        --mw-px: 375px;

        /* design width */
        --dw: 375;
        --dw-px: 375px;

        /* font size */
        --fs-xs: calc( 12 * 100vw / var( --dw ) );
        --fs-s: calc( 15 * 100vw / var( --dw ) );
        --fs-m: calc( 15 * 100vw / var( --dw ) );
        --fs-l: calc( 17 * 100vw / var( --dw ) );
        --fs-xl: calc( 20 * 100vw / var( --dw ) );
        --fs-xxl: calc( 22 * 100vw / var( --dw ) );

        --fs-s-ver_02: calc( 15 * 100vw / var( --dw ) );

        --fs-point: calc( 18 * 100vw / var( --dw ) );
        --fs-call_to_action_title: calc( 29 * 100vw / var( --dw ) );
        --fs-section_title: calc( 15 * 100vw / var( --dw ) );
        --fs-caption: min( calc( 12 * 100vw / var( --dw ) ), 14px );
        --fs-information_text: calc( 12 * 100vw / var( --dw ) );
    }
}

/*
19
16.5
27.5
*/










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

font-size

============================== */
.font-sans {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.font-serf {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.font-roboto {
}
@media screen and ( max-width: 768px ) {
}



.fs-xs {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-xs );
    line-height: 1.3;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-s {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-s );
    line-height: 2.133;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-s--ver_02 {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-s-ver_02 );
    line-height: 2.133;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-m {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-m );
    line-height: 2.235;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-l {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-l );
    line-height: 2.05;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-xl {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-xl );
    line-height: 1.652;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-xxl {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-xxl );
    line-height: 1.433;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
@media screen and ( max-width: 768px ) {
    .fs-xs {
        line-height: 1.3;
    }
    .fs-s {
        line-height: 2.133;
    }
    .fs-m {
        line-height: 1.823;
    }
    .fs-l {
        line-height: 2.05;
    }
    .fs-xl {
        line-height: 1.652;
    }
    .fs-xxl {
        font-size: var( --fs-xxl );
        line-height: 1.433;
    }
}



.fs-point {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-point );
    line-height: 1.5;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-call_to_action_title {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-call_to_action_title );
    line-height: 1.222;
    letter-spacing: 0;
    font-feature-settings: "palt";
}
.fs-section_title {
    /*
    color: #a2a2a2;
    */
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-section_title );
    line-height: 1.222;
    letter-spacing: 0;
    font-variation-settings: "wdth" 100;
    font-feature-settings: "palt";
}
.fs-caption {
    /*font-family: "Noto Sans JP", sans-serif;*/
    font-family: "Noto Serif JP", 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";
}
.fs-information_text {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var( --fs-information_text );
    line-height: 1.5;
    letter-spacing: 0;
    font-feature-settings: "palt";
    text-align: left !important;
}
@media screen and ( max-width: 768px ) {
    .fs-point {
        line-height: 1.5;
    }
    .fs-call_to_action_title {
        line-height: 1.222;
    }
    .fs-section_title {
        line-height: 1.222;
    }
    .fs-caption {
        line-height: 2;
    }
    .fs-information_text {
        line-height: 1.5;
        text-align: left !important;
    }
}



.f-text_shadow {
    text-shadow: 0.2em rgba( 0, 0, 0, 0.75 );
}







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

figure

============================== */
.l-sc figure, 
.l-sc picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.l-sc picture img {
    position: relative;
    width: 100%;
}
.l-sc 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 );
}
.l-sc figure figcaption.transparent {
    color: #333;
    background-color: transparent;
}





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

l-header__btns__btn

============================== */
.l-header.scrollactLoaded {
    background-color: rgba( 255, 255, 255, 0.8 );
}
.l-header__btns__btn {
    border-radius: 0;
    font-size: clamp(11.2px, 3.733vw, 16.8px);
    line-height: 1;
}
.l-header__btns__btn.navi_entry {
    /*background-color: #A59B54;*/
    background-color: #155c63;
}
.l-header__btns__btn.navi_tel {
    /*background-color: #A59B54;*/
    background-color: #e5dc98;
    color: #333;
}
.l-header__hamburger {
    background-color: transparent;
}
.l-header__hamburger::before {
    color: #333;
}
.l-header__hamburger::after {
    color: #333;
}
@media screen and ( max-width: 768px ) {
}





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

c-cta

============================== */
.c-cta {
    background-color: #fff;
}
.c-cta__title--em {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.cta_entry--v2 {
    color: #fff;
    /*background-color: #A59B54;*/
    background-color: #155c63;
}
.cta_map--v2 {
    /*color: #A59B54;*/
    color: #155c63;
    background-color: #fff;
    /*border-color: #A59B54;*/
    border-color: #155c63;
}





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

l-footer__contact

============================== */
.l-footer__contact {
    color: #333;
    background-color: #EFEFEF;
}





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

l-footer__logo__img

============================== */
.l-footer__logo__wrapper--v2 .l-footer__logo__img {
    height: calc( min(2.161vw, 36px) * 1.8 );
    margin-top: calc( -10 * 100vw / var( --dw ) );
}
@media screen and ( max-width: 768px ) {
    .l-footer__logo__wrapper--v2 .l-footer__logo__img {
        height: calc( min(4.267vw, 19.2px) * 2 );
    }
}




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

l-footer__copy

============================== */
.l-footer__copy {
}
@media screen and ( max-width: 768px ) {
    .l-footer__copy {
        margin-bottom: calc( min(6.667vw, 30px) * 2.5 );
    }
}





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

l-container

============================== */
.l-container {
    position: relative;
    max-width: var( --mw-px );
    margin: 0 auto;
}
@media screen and ( max-width: 768px ) {
    .l-container {
        position: relative;
        max-width: none;
        margin: 0 auto;
    }
}










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

l-section_container

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










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

l-inner

============================== */
.l-inner {
    max-width: none;
    padding-left: min( calc( 100 * 100vw / var( --dw ) ), calc( 100px * 1.38 ) );
    padding-right: min( calc( 100 * 100vw / var( --dw ) ), calc( 100px * 1.38 ) );
}
@media screen and ( max-width: 768px ) {
    .l-inner {
        max-width: none;
        padding-left: calc( 27.5 * 100vw / var( --dw ) );
        padding-right: calc( 27.5 * 100vw / var( --dw ) );
    }
}










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

main_visual lower_page

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



.main_visual.lower_page .main_visual-bg {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.main_visual.lower_page .main_visual-bg figure {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.main_visual.lower_page .main_visual-bg picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.main_visual.lower_page .main_visual-bg picture img {
    width: 100%;
}
.main_visual.lower_page .main_visual-bg figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    margin: 0;
    padding: 0 1em;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.4);
}
@media screen and ( max-width: 768px ) {
    .main_visual.lower_page .main_visual-bg {
    }
    .main_visual.lower_page .main_visual-bg figure {
    }
    .main_visual.lower_page .main_visual-bg picture {
    }
    .main_visual.lower_page .main_visual-bg picture img {
    }
    .main_visual.lower_page .main_visual-bg figure figcaption {
    }
}



.main_visual.lower_page .main_visual-fg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.main_visual.lower_page .main_visual-fg .main_visual-fg-title {
    position: absolute;
    bottom: min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) );
    left: min( calc( 40 * 100vw / var( --dw ) ), calc( 40px * 1.38 ) );
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .main_visual.lower_page .main_visual-fg {
    }
    .main_visual.lower_page .main_visual-fg .main_visual-fg-title {
        bottom: min( calc( 27.5 * 100vw / var( --dw ) ), calc( 27.5px * 1.38 ) );
        left: auto;
    }
}



body{
    font-family: "Noto Serif JP", serif;
}

.c-button{
    font-family: "Noto Serif JP", serif !important;
}
.c-cta--fixed .c-button {
    background-color: #155c63;
}
.c-cta--fixed .c-button.c-button--tel {
    color: #333;
    background-color: #e5dc98;
}





@media screen and (min-width: 769px) {
    .t-access__guide__map {
        max-width: 1090px;
    }
}








