/* CSS Document */



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

define

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

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

    /* 表示最大幅 / デザイン幅 = 1.38 */
    --magnification: 1;

    /* font size */
    --fs-xs: min( max( calc( 12 * 100vw / var( --dw ) ), 10px ), calc( 12px * var( --magnification ) ) );
    --fs-s: min( max( calc( 14 * 100vw / var( --dw ) ), 12px ), calc( 14px * var( --magnification ) ) );
    --fs-m: min( max( calc( 16 * 100vw / var( --dw ) ), 14px ), calc( 16px * var( --magnification )) );
    --fs-l: min( max( calc( 18 * 100vw / var( --dw ) ), 16px ), calc( 18px * var( --magnification ) ) );
    --fs-xl: min( max( calc( 20 * 100vw / var( --dw ) ), 18px ), calc( 20px * var( --magnification ) ) );
    --fs-xxl: min( max( calc( 22 * 100vw / var( --dw ) ), 20px ), calc( 22px * var( --magnification ) ) );

    --fs-m-v2: min( max( calc( 16 * 100vw / var( --dw ) ), 14px ), calc( 16px * var( --magnification ) ) );
    --fs-xl-v2: min( max( calc( 26 * 100vw / var( --dw ) ), 24px ), calc( 26px * var( --magnification ) ) );

/*
    --fs-caption: min( max( calc( 12 * 100vw / var( --dw ) ), 10px ), calc( 12px * var( --magnification ) ) );
*/
    --fs-caption: min( max( calc( 10 * 100vw / var( --dw ) ), 10px ), calc( 12px * var( --magnification ) ) );

    --fs-24: min( max( calc( 24 * 100vw / var( --dw ) ), 22px ), calc( 24px * var( --magnification ) ) );
    --fs-26: min( max( calc( 26 * 100vw / var( --dw ) ), 24px ), calc( 26px * var( --magnification ) ) );
    --fs-28: min( max( calc( 28 * 100vw / var( --dw ) ), 26px ), calc( 28px * var( --magnification ) ) );
    --fs-30: min( max( calc( 30 * 100vw / var( --dw ) ), 28px ), calc( 30px * var( --magnification ) ) );
    --fs-35: min( max( calc( 35 * 100vw / var( --dw ) ), 33px ), calc( 35px * var( --magnification ) ) );
    --fs-36: min( max( calc( 36 * 100vw / var( --dw ) ), 34px ), calc( 36px * var( --magnification ) ) );
    --fs-40: min( max( calc( 40 * 100vw / var( --dw ) ), 38px ), calc( 40px * var( --magnification ) ) );
    --fs-44: min( max( calc( 44 * 100vw / var( --dw ) ), 42px ), calc( 44px * var( --magnification ) ) );

    --fls: 0.1em;
}
@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( 14 * 100vw / var( --dw ) );
        --fs-m: calc( 16 * 100vw / var( --dw ) );
        --fs-l: calc( 18 * 100vw / var( --dw ) );
        --fs-xl: calc( 20 * 100vw / var( --dw ) );
        --fs-xxl: calc( 22 * 100vw / var( --dw ) );

        --fs-m-v2: calc( 13 * 100vw / var( --dw ) );
        --fs-xl-v2: calc( 18 * 100vw / var( --dw ) );

/*
        --fs-caption: min( calc( 12 * 100vw / var( --dw ) ), 14px );
*/
        --fs-caption: min( calc( 10 * 100vw / var( --dw ) ), 12px );

        --fs-24: calc( 24 * 100vw / var( --dw ) );
        --fs-26: calc( 26 * 100vw / var( --dw ) );
        --fs-28: calc( 28 * 100vw / var( --dw ) );
        --fs-30: calc( 30 * 100vw / var( --dw ) );
        --fs-35: calc( 35 * 100vw / var( --dw ) );
        --fs-36: calc( 36 * 100vw / var( --dw ) );
        --fs-40: calc( 40 * 100vw / var( --dw ) );
        --fs-44: calc( 44 * 100vw / var( --dw ) );

    }
}



* {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}




figure, 
picture {
    position: relative;
    display: inline-block;
    width: 100%;
    font-size: 0;
}
figure img, 
picture img {
    width: 100%;
}
figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0 1em;
    color :#fff;
    /*
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    */
    font-size: var( --fs-caption );
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: right;
    background-color: rgba( 0, 0, 0, 0.4 );
    font-feature-settings: 'palt';
}





.l-header__btns__btn {
    background-color: #A48341;
}
.l-header__btns__btn--sub {
    background-color: transparent;
}
.l-header__nav__menu__item .l-header__link {
    font-family: "Noto Serif JP", serif;
}




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



.main_visual-inner-bg {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.main_visual-inner-bg__image {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
}
@media screen and ( max-width: 768px ){
    .main_visual-inner-bg {
    }
    .main_visual-inner-bg__image {
    }
}



.main_visual-inner-fg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: clamp(59.2px, 5.331vw, 88.8px) 0 0;
}
.main_visual-inner-fg-title {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}
.main_visual-inner-fg-title__name {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 0 min( calc( 80 * 100vw / var( --dw ) ), 80px );
    padding: 0;
}
.main_visual-inner-fg-title__name img {
    filter: drop-shadow( 5px 5px 5px black );
}
.main_visual-inner-fg-title__lead {
    position: relative;
    width: 100%;
    margin: 0 0 min( calc( 40 * 100vw / var( --dw ) ), 40px );
    padding: 0;
    color: #fff;
    /*
    font-size: var( --fs-xl );
    */
    font-size: min( max( calc( 20 * 100vw / var( --dw ) ), 18px ), calc( 20px * 1.38 ) );
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-align: center;
    text-shadow: 1px 1px 0.2em rgba( 0, 0, 0, 0.8 ), -1px 1px 0.2em rgba( 0, 0, 0, 0.8 ), 1px -1px 0.2em rgba( 0, 0, 0, 0.8 ), -1px -1px 0.2em rgba( 0, 0, 0, 0.8 );
}
.main_visual-inner-fg-title__lead.js-fadeIn {
    transition-delay: 500ms;
}
.main_visual-inner-fg-title__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    /*
    font-size: var( --fs-s );
    */
    font-size: min( max( calc( 14 * 100vw / var( --dw ) ), 12px ), calc( 14px * 1.38 ) );
    line-height: 1.785;
    letter-spacing: 0.06em;
    text-align: center;
    text-shadow: 1px 1px 0.2em rgba( 0, 0, 0, 0.8 ), -1px 1px 0.2em rgba( 0, 0, 0, 0.8 ), 1px -1px 0.2em rgba( 0, 0, 0, 0.8 ), -1px -1px 0.2em rgba( 0, 0, 0, 0.8 );
}
.main_visual-inner-fg-title__text.js-fadeIn {
    transition-delay: 2500ms;
    transition-delay: 500ms;
}
@media screen and ( max-width: 768px ){
    .main_visual-inner-fg {
        padding: clamp(36px, 12vw, 54px) 0 0;
    }
    .main_visual-inner-fg-title {
    }
    .main_visual-inner-fg-title__name {
        margin: 0 0 calc( 40 * 100vw / var( --dw ) );
    }
    .main_visual-inner-fg-title__lead {
        margin: 0 0 calc( 20 * 100vw / var( --dw ) );
        line-height: 1.5;
    }
    .main_visual-inner-fg-title__text {
    }
}








.l-footer__contact {
    position: relative;
    background: linear-gradient( 90deg, #717071 10%, #251E1C 90% );
}
.l-footer__contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-image: url( '../img/common/bg/bg_design_01_pc.svg' );
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.3;
    overflow-y: hidden;
    mix-blend-mode: screen;
}
@media screen and ( max-width: 768px ){
    .l-footer__contact {
    }
    .l-footer__contact::before {
        background-image: url( '../img/common/bg/bg_design_01_sp.svg' );
    }
    .l-footer__contact__inner {
        position: relative;
        z-index: 1;
    }
}




.c-button {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
}
.c-cta .c-button--primary {
    background: linear-gradient( 90deg, #665A46 10%, #44392A 90% );
}
.c-cta .c-button--secondary {
    border-color: #707070;
}



/*
.l-header * {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.information-inner-entrybox__button a {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.main-content__item .button_viewmore {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__nav * {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__sougo * {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__sitemap * {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__recommend * {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__copy {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
.l-footer__logo__wrapper {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}



.c-note ul li {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;    
}
*/




.l-header__btns__btn {
    font-family: "Noto Serif JP", serif;
    border-radius: 0;
}
@media screen and ( max-width: 768px ){
}



.l-header__nav__menu {
}
@media screen and ( max-width: 768px ){
    .l-header__nav__menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .l-header__nav__menu li {
        width: 50%;
    }
    .l-header__nav__menu li:nth-of-type(1) {
        width: 100%;
    }
}



.l-header__hamburger {
}
@media screen and ( max-width: 768px ){
    .l-header__hamburger {
        top: calc( clamp( 36px, 12vw, 54px ) * 0.07 ); /* headder の高さの7%　*/
        width: calc( clamp( 36px, 12vw, 54px ) * 0.86 ); /* headder の高さの86%　*/
        height: calc( clamp( 36px, 12vw, 54px ) * 0.86 ); /* headder の高さの86%　*/
    }
    .l-header__hamburger::before {
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        padding-top: 0.1em;
        -webkit-transform: unset;
        transform: unset;
        font-size: calc( calc( clamp( 36px, 12vw, 54px ) * 0.86 ) * 0.8 ); /* l-header__hamburger の80%　*/
    }
    .l-header__hamburger::after {
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        -webkit-transform: unset;
        transform: unset;
        font-size: calc( calc( clamp( 36px, 12vw, 54px ) * 0.86 ) * 0.8 ); /* l-header__hamburger の80%　*/
    }
}



@media screen and ( min-width: 769px ){
    .l-header__nav {
        display: block;
        background-color: rgba(255, 255, 255, 0.9);
        backdrop-filter: unset;
        opacity: 0;
        transition: 0.3s ease;
    }
    .l-header__btns {
        opacity: 0;
    }
    .l-header__btns a {
        pointer-events: none;
    }
    .l-header__hamburger {
        opacity: 0;
        pointer-events: none;
    }
    .l-header__nav__menu__item a {
        pointer-events: none;
    }
    .l-header__nav__menu__item .text_en {
        display: none;
    }
    .scrollact .l-header__nav {
        backdrop-filter: blur(30px);
        opacity: 1;
    }
    .scrollact .l-header__btns {
        opacity: 1;
    }
    .scrollact .l-header__btns a {
        pointer-events: auto;
    }
    .scrollact .l-header__nav__menu__item a {
        pointer-events: auto;
    }
    .l-header__nav__menu__item.item_line {
        display: none;
    }
}
@media screen and ( max-width: 768px ){
    .l-header__nav {
    }
    .l-header__nav__menu {
        padding-top: calc( 20 * 100vw / var( --dw ) );
    }
    .l-header__nav__menu__item a {
        flex-direction: column;
        align-items: flex-start;
    }
    .l-header__nav__menu__item .text_en {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .l-header__nav__menu__item .text_jp {
    }
    .l-header__nav__menu__item .text_en {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        height: calc( 25 * 100vw / var( --dw ) ); 
        margin: 0;
        padding: 0;
    }
    .l-header__nav__menu__item .text_en::before {
        content: '';
        display: block;
        height: calc( 18 * 100vw / var( --dw ) );
        margin: 0;
        padding: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .l-header__nav__menu__item.item_top .text_en::before {
        width: calc( 49.5 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_top.svg' );
    }
    .l-header__nav__menu__item.item_location .text_en::before {
        width: calc( 129 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_location.svg' );
    }
    .l-header__nav__menu__item.item_access .text_en::before {
        width: calc( 94 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_access.svg' );
    }
    .l-header__nav__menu__item.item_design .text_en::before {
        width: calc( 94 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_design.svg' );
    }
    .l-header__nav__menu__item.item_plan .text_en::before {
        width: calc( 63.5 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_plan.svg' );
    }
    .l-header__nav__menu__item.item_equipment .text_en::before {
        width: calc( 109.5 * 100vw / var( --dw ) );
        height: calc( 23 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_equipment.svg' );
    }
    .l-header__nav__menu__item.item_zeh .text_en::before {
        width: calc( 49 * 100vw / var( --dw ) );
        height: calc( 17.5 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_zeh.svg' );
    }
    .l-header__nav__menu__item.item_brillia .text_en::before {
        width: calc( 86.5 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_brillia.svg' );
    }
    .l-header__nav__menu__item.item_outline .text_en::before {
        width: calc( 111.5 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_outline.svg' );
    }
    .l-header__nav__menu__item.item_map .text_en::before {
        width: calc( 54 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_map.svg' );
    }
    .l-header__nav__menu__item.item_line .text_en::before {
        width: calc( 56 * 100vw / var( --dw ) );
        background-image: url( '../img/common/l-header__nav__menu__item_line.svg' );
    }
}



@media screen and ( max-width: 768px ){
    .l-header__btns__btn {
        background: linear-gradient(51deg, #665A46 10%, #44392A 90%);
    }
    .c-cta--fixed .c-button {
        background-color: transparent;
        background: linear-gradient(51deg, #665A46 10%, #44392A 90%);
    }
}



.c-breadcrumbs {
    margin-top: min( calc( 100 * 100vw / var( --dw ) ), 100px );
}
@media screen and ( max-width: 768px ){
    .c-breadcrumbs {
        margin-top: calc( 50 * 100vw / var( --dw ) );
    }
}


