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





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

*

============================== */
* {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
}





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

body

============================== */
body.is_menu_active {
    width: 100%;
    position: fixed;
    overflow-y: scroll;
}





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

br

============================== */
br.pcObj {
    display: block;
}
br.spObj {
    display: none;
}
@media screen and ( max-width: 768px ) {
    br.pcObj {
        display: none;
    }
    br.spObj {
        display: block;
    }
}





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

a

============================== */
a {
    position: relative;
    display: inline-block;
    transition: all 0.5s;
    opacity: 1;
    text-decoration: none;
}
a:hover {
    opacity: 0.7;
}
@media screen and ( min-width: 769px ) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}
@media screen and ( max-width: 768px ) {
}





sup {
    font-size: 0.5em;
    vertical-align: top;
}





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

figure, picture

============================== */
figure, picture {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 1;
}
@media screen and ( max-width: 768px ) {
}





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

l-container

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





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

l-section

============================== */
.l-section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 110px;
}
.l-section--first {
    /* margin-top: 110px; */
    margin-top: 0;
}
@media screen and ( max-width: 768px ) {
    .l-section {
        padding: 0 0 calc( 60 * 100vw / var( --design-width ) );
    }
    .l-section--first {
        margin-top: calc( 60 * 100vw / var( --design-width ) );
    }
}





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

l-inner

============================== */
.l-inner {
    position: relative;
    width: 100%;
    max-width: var( --design-width-pixel );
    margin: 0 auto;
    padding: 0 var( --default-padding-x );
}
.l-inner--pading_x_0 {
    padding-left: 0;
    padding-right: 0;
}
@media screen and ( max-width: 768px ) {
    .l-inner {
        max-width: none;
    }
    .l-inner--pading_x_0 {
    }
}





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

header

============================== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 110px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    z-index: 100;
    transform: translateY( -110px );
    transition: transform 0.5s;
}
.header.is_active {
    transform: translateY( 0 );
}
.header-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    height: 95px;
    margin: 0 auto;
    padding: 0 1rem;
}
@media screen and ( max-width: 768px ) {
    .header {
        height: calc( 60 * 100vw / var( --design-width ) );
        transform: unset;
        transition: unset;
    }
    .header.is_active {
        transform: unset;
    }
    .header-inner {
        max-width: none;
        height: calc( 40 * 100vw / var( --design-width ) );
    }
}



.header-inner-logo {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: auto;
    height: 95px;
    gap: 10px;
    margin: 0;
    padding: 0;
}
.header-inner-logo__image {
    position: relative;
    width: auto;
    height: 100%;
    aspect-ratio: 200 / 131;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .header-inner-logo {
        height: calc( 40 * 100vw / var( --design-width ) );
        gap: calc( 5 * 100vw / var( --design-width ) );
    }
    .header-inner-logo__image {
    }
}



.header-inner-logo__title {
    position: relative;
    width: auto;
    height: 100%;
}
.header-inner-logo__title a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    width: auto;
    height: 100%;
}
.header-inner-logo__title .jp {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-header-title-jp );
    line-height: 1;
    letter-spacing: 0.1em;
}
.header-inner-logo__title .en {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-header-title-en );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
@media screen and ( max-width: 768px ) {
    .header-inner-logo__title {
        gap: 5px;
    }
    .header-inner-logo__title .jp {
    }
    .header-inner-logo__title .en {
    }
}



.header-inner-navi {
    position: relative;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    height: 65px;
    margin: 0;
    padding: 0;
}
.header-inner-navi__item {
    position: relative;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    height: 65px;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .header-inner-navi {
        height: calc( 40 * 100vw / var( --design-width ) );
    }
    .header-inner-navi__item {
        height: calc( 40 * 100vw / var( --design-width ) );
    }
}



.header-inner-navi__item .each_item {
    position: relative;
    width: auto;
    height: 65px;
    margin: 0;
    padding: 0 20px;
    font-size: var( --fixed-font-size-14 );
    line-height: 1.5;
    letter-spacing: 0.1em;
    border-left: 1px solid #000;
}
.header-inner-navi__item .each_item.pcObj {
    display: block;
}
.header-inner-navi__item .each_item.spObj {
    display: none;
}
.header-inner-navi__item .each_item a {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}
@media screen and ( max-width: 1200px ) {
.header-inner-navi__item .each_item.pcObj {
    display: none;
}
}
@media screen and ( max-width: 768px ) {
    .header-inner-navi__item .each_item {
        height: calc( 40 * 100vw / var( --design-width ) );
        padding: 0;
        border-left: none;
    }
    .header-inner-navi__item .each_item.pcObj {
        display: none;
    }
    .header-inner-navi__item .each_item.spObj {
        display: none;
    }
    .header-inner-navi__item .each_item a {
    }
}



.header-inner-navi__item .each_item.header-inner-humburger {
    position: relative;
    width: 85px;
    height: 65px;
    margin: 0;
    padding: 0 0 0 20px;
}
.header-inner-navi__item .each_item.header-inner-humburger a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
}
.header-inner-navi__item .each_item.header-inner-humburger .line_01, 
.header-inner-navi__item .each_item.header-inner-humburger .line_02, 
.header-inner-navi__item .each_item.header-inner-humburger .line_03 {
    position: relative;
    height: 2px;
    margin: 0;
    padding: 0;
    background-color: #000;
}
.header-inner-navi__item .each_item.header-inner-humburger .line_01 {
    width: 100%;
}
.header-inner-navi__item .each_item.header-inner-humburger .line_02 {
    width: 85%;
}
.header-inner-navi__item .each_item.header-inner-humburger .line_03 {
    width: 43%;
}
.header-inner-navi__item .each_item.header-inner-humburger .text {
    position: relative;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: var( --fixed-font-size-12 );
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .header-inner-navi__item .each_item.header-inner-humburger {
        width: calc( 40 * 100vw / var( --design-width ) );
        height: calc( 40 * 100vw / var( --design-width ) );
        padding: 0;
    }
    .header-inner-navi__item .each_item.header-inner-humburger a {
        gap: calc( 10 * 100vw / var( --design-width ) );
    }
    .header-inner-navi__item .each_item.header-inner-humburger .line_01, 
    .header-inner-navi__item .each_item.header-inner-humburger .line_02, 
    .header-inner-navi__item .each_item.header-inner-humburger .line_03 {
        height: 1px;
        background-color: #AAA8A8;
    }
    .header-inner-navi__item .each_item.header-inner-humburger .line_01 {
        width: 100%;
    }
    .header-inner-navi__item .each_item.header-inner-humburger .line_02 {
        width: 100%;
    }
    .header-inner-navi__item .each_item.header-inner-humburger .line_03 {
        width: 100%;
    }
    .header-inner-navi__item .each_item.header-inner-humburger .text {
        display: none;
    }
}








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

navi_modal

============================== */
.navi_modal {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    background-color: rgba( 0, 0, 0, 0.9 );
    z-index: 9999;
    transition: all 0.5s;
}
.is_menu_active .navi_modal {
    display: block;
}
.navi_modal-inner {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 110px 0 0;
}
@media screen and ( max-width: 768px ) {
    .navi_modal {
        overflow-y: scroll;
    }
    .is_menu_active .navi_modal {
    }
    .navi_modal-inner {
        padding: calc( 60 * 100vw / var( --design-width ) ) 0 0;
    }
}



.navi_modal-inner-navi {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: calc( 100vh - 110px );
    margin: 0 auto;
    padding: 0;
    overflow-y: auto;
}
@media screen and ( max-width: 768px ) {
    .navi_modal-inner-navi {
        width: 100%;
        max-width: none;
        height: calc( 100vh - calc( 60 * 100vw / var( --design-width ) ) );
        overflow-y: scroll;
    }
}



.navi_modal-inner-navi-page {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 0 110px;
    padding: 0;
}
.navi_modal-inner-navi-page .each_item, 
.navi_modal-inner-navi-button .each_item {
    position: relative;
    width: 48%;
    height: 70px;
    margin: 0;
    padding: 0;
}
.navi_modal-inner-navi-page .each_item.disabled a, 
.navi_modal-inner-navi-page .each_item.disabled a:hover {
    pointer-events: none;
}
.navi_modal-inner-navi-page .each_item.disabled a span, 
.navi_modal-inner-navi-page .each_item.disabled a:hover span {
    opacity: 0.5;
}
.navi_modal-inner-navi-page .each_item a, 
.navi_modal-inner-navi-button .each_item a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    border-bottom: 1px solid #fff;
}
.navi_modal-inner-navi-page .each_item a span, 
.navi_modal-inner-navi-button .each_item a span {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
    letter-spacing: 0.1em;
}
.navi_modal-inner-navi-page .each_item a .en, 
.navi_modal-inner-navi-button .each_item a .en {
    font-size: var( --fixed-font-size-22 );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.navi_modal-inner-navi-page .is_current .en, 
.navi_modal-inner-navi-button .is_current .en {
    color: #ac5943;
}
.navi_modal-inner-navi-page .each_item a .jp, 
.navi_modal-inner-navi-button .each_item a .jp {
    font-size: var( --fixed-font-size-12 );
}
@media screen and ( max-width: 768px ) {
    .navi_modal-inner-navi-page {
        width: 90%;
        margin: 0 auto calc( 60 * 100vw / var( --design-width ) );
    }
    .navi_modal-inner-navi-page .each_item, 
    .navi_modal-inner-navi-button .each_item {
        width: 100%;
        height: calc( 70 * 100vw / var( --design-width ) );
    }
    .navi_modal-inner-navi-page .each_item a, 
    .navi_modal-inner-navi-button .each_item a {
        gap: calc( 5 * 100vw / var( --design-width ) );
    }
    .navi_modal-inner-navi-page .each_item a span, 
    .navi_modal-inner-navi-button .each_item a span {
    }
    .navi_modal-inner-navi-page .each_item a .en, 
    .navi_modal-inner-navi-button .each_item a .en {
        font-size: var( --font-size-20 );
    }
    .navi_modal-inner-navi-page .is_current .en, 
    .navi_modal-inner-navi-button .is_current .en {
    }
    .navi_modal-inner-navi-page .each_item a .jp, 
    .navi_modal-inner-navi-button .each_item a .jp {
        font-size: var( --font-size-12 );
    }
}



.navi_modal-inner-navi-button {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 15px 0;
    width: 100%;
    margin: 0;
    padding: 0 0 110px;
}
.navi_modal-inner-navi-button .each_item {
    background-color: #fff;
}
.navi_modal-inner-navi-button .each_item.entry {
    background-color: #8B7847;
}
.navi_modal-inner-navi-button .each_item.limited {
    background-color: #333;
}
.navi_modal-inner-navi .each_item.each_item__reserve {
    width: 100%;
}
.navi_modal-inner-navi-button .each_item a {
    color: #333;
    border-bottom: none;
}
.navi_modal-inner-navi-button .each_item.entry a {
    color: #fff;
}
.navi_modal-inner-navi-button .each_item.limited a {
    color: #fff;
}
.navi_modal-inner-navi-button .each_item a span {
}
.navi_modal-inner-navi-button .each_item a .en {
    text-align: center;
}
.navi_modal-inner-navi-button .each_item a .jp {
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .navi_modal-inner-navi-button {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: calc( 15 * 100vw / var( --design-width ) ) 0;
        width: 90%;
        margin: 0 auto;
        padding: 0 0 calc( 180 * 100vw / var( --design-width ) );
    }
    .navi_modal-inner-navi-button .each_item {
        width: 48%;
        background-color: #fff;
    }
    .navi_modal-inner-navi .each_item.each_item__reserve {
        width: 100%;
    }
    .navi_modal-inner-navi-button .each_item a {
        color: #333;
        border-bottom: none;
    }
    .navi_modal-inner-navi-button .each_item a span {
        line-height: 1.3;
    }
    .navi_modal-inner-navi-button .each_item a .en {
        text-align: center;
    }
    .navi_modal-inner-navi-button .each_item a .jp {
        font-size: var( --font-size-10 );
        text-align: center;
    }
}



.navi_modal-close {
    position: absolute;
    top: 22.5px;
    right: 1rem;
    width: 65px;
    height: 65px;
    margin: 0;
    padding: 0;
}
.navi_modal-close a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: rgba( 0, 0, 0, 0.1 );
}
.navi_modal-close .line_01, 
.navi_modal-close .line_02 {
    position: absolute;
    display: inline-block;
    height: 2px;
    margin: 0 auto;
    padding: 0;
    background-color: #fff;
}
.navi_modal-close .line_01 {
    top: calc( 22.5px + 5% );
    left: 5%;
    width: 90%;
    transform: rotate( 45deg );
}
.navi_modal-close .line_02 {
    top: calc( 22.5px + 5% );
    right: 5%;
    width: 90%;
    transform: rotate( -45deg );
}
.navi_modal-close .text {
    position: absolute;
    bottom: 5%;
    left: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --fixed-font-size-12 );
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .navi_modal-close {
        top: calc( 10 * 100vw / var( --design-width ) );
        width: calc( 40 * 100vw / var( --design-width ) );
        height: calc( 40 * 100vw / var( --design-width ) );
    }
    .navi_modal-close a {
    }
    .navi_modal-close .line_01, 
    .navi_modal-close .line_02 {
        height: 1px;
    }
    .navi_modal-close .line_01 {
        top: 35%;
        left: 10%;
        width: 80%;
    }
    .navi_modal-close .line_02 {
        top: 35%;
        right: 10%;
        width: 80%;
    }
    .navi_modal-close .text {
        bottom: 0;
        left: 0;
        font-size: var( --fixed-font-size-10 );
    }
}





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

navi_bottom

============================== */
.navi_bottom {
    display: none;
}
.navi_bottom-inner {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .navi_bottom {
        position: fixed;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        height: calc( 60 * 100vw / var( --design-width ) );
        margin: 0;
        padding: 0;
        background-color: #282828;
        z-index: 100;
    }
    .navi_bottom-inner {
    }
}



.navi_bottom-inner .each_item {
}
.navi_bottom-inner .each_item.pcObj {
}
.navi_bottom-inner .each_item.spObj {
}
.navi_bottom-inner .each_item a {
}
@media screen and ( max-width: 768px ) {
    .navi_bottom-inner .each_item {
        position: relative;
        width: 19%;
        height: 100%;
        margin: 0;
        padding: 0;
        border-right: 1px solid #fff;
    }
    .navi_bottom-inner .each_item.pcObj {
        display: none;
    }
    .navi_bottom-inner .each_item.spObj {
        display: block;
    }
    .navi_bottom-inner .each_item.entry {
        width: 24%;
        background-color: #937e28;
    }
    .navi_bottom-inner .each_item:last-of-type {
        border-right: none;
    }
    .navi_bottom-inner .each_item a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        color: #fff;
    }
    .navi_bottom-inner .each_item a > span {
        position: relative;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .navi_bottom-inner .each_item a > span.icon {
        position: relative;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: calc( 27.6 * 100vw / var( --design-width ) );
        height: calc( 27.6 * 100vw / var( --design-width ) );
        margin: 0 0 calc( 5 * 100vw / var( --design-width ) );
        padding: 0;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .navi_bottom-inner .each_item.outline a > span.icon {
        background-image: url( '../img/common/icon_outline.png' );
    }
    .navi_bottom-inner .each_item.map a > span.icon {
        background-image: url( '../img/common/icon_map.png' );
    }
    .navi_bottom-inner .each_item.entry a > span.icon {
        background-image: url( '../img/common/icon_entry.png' );
    }
    .navi_bottom-inner .each_item.tel a > span.icon {
        background-image: url( '../img/common/icon_tel.png' );
    }
    .navi_bottom-inner .each_item.top a > span.icon {
        background-image: url( '../img/common/icon_top.png' );
    }
    .navi_bottom-inner .each_item a > span.text {
        position: relative;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: var( --font-size-10 );
        line-height: 1;
        letter-spacing: 0.1em;
    }
}





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

footer

============================== */
.footer {
    position: relative;
    width: 100%;
    margin: 0;
    padding: min( calc( 150 * 100vw / var( --design-width ) ), 150px ) 0 0;
}
.footer-inner {
    position: relative;
    width: 100%;
    max-width: calc( 1300px + calc( var( --default-padding-x ) * 2 ) );
    margin: 0 auto;
    padding: 0 var( --default-padding-x );
}
@media screen and ( max-width: 768px ) {
    .footer {
        padding: calc( 75 * 100vw / var( --design-width ) ) 0 0;
    }
    .footer-inner {
        max-width: none;
        margin: 0;
        padding: 0 var( --default-padding-x );
    }
}



.footer-inner-annotation {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 150 * 100vw / var( --design-width ) ), 150px );
}
.footer-inner-annotation > ul {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
    margin: 0;
    padding: 0;
}
.footer-inner-annotation > ul > li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
}
.footer-inner-annotation > ul > li .asterisk, 
.footer-inner-annotation > ul > li .text {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    font-size: var( --fixed-font-size-14 );
    line-height: 1.2;
    letter-spacing: 0.1em;
}
.footer-inner-annotation > ul > li .asterisk {
    width: 1.3em;
}
.footer-inner-annotation > ul > li .text {
    width: calc( 100% - 1.3em );
}
@media screen and ( max-width: 768px ) {
    .footer-inner-annotation {
        padding: 0 0 calc( 75 * 100vw / var( --design-width ) );
    }
    .footer-inner-annotation > ul {
        gap: calc( 5 * 100vw / var( --design-width ) );
    }
    .footer-inner-annotation > ul > li {
    }
    .footer-inner-annotation > ul > li .asterisk, 
    .footer-inner-annotation > ul > li .text {
        font-size: var( --font-size-12 );
    }
    .footer-inner-annotation > ul > li .asterisk {
    }
    .footer-inner-annotation > ul > li .text {
    }
}



.footer-inner-navi__lead {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
    font-size: var( --font-size-footer-lead );
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-navi__lead {
        padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
        line-height: 1.7;
    }
}



.footer-inner-navi__banner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
}
.footer-inner-navi__banner .each_item {
    position: relative;
    width: 48%;
    aspect-ratio: 321 / 110;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-navi__banner {
        flex-wrap: wrap;
        justify-content: flex-start;
        padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
    }
    .footer-inner-navi__banner .each_item {
        width: 100%;
    }
}



.footer-inner-navi__banner .each_item .each_item__bg {
    position: relative;
    width: 100%;
    height: 100;
    margin: 0;
    padding: 0;
}
.footer-inner-navi__banner .each_item .each_item__bg figure, 
.footer-inner-navi__banner .each_item .each_item__bg picture {
}
.footer-inner-navi__banner .each_item .each_item__bg picture img {
    width: 100%;
}
.footer-inner-navi__banner .each_item .each_item__bg 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-figcaption );
    line-height: 2;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
}



.footer-inner-navi__banner .each_item .each_item__fg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.footer-inner-navi__banner .each_item .each_item__fg a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: var( --font-size-footer-banner_link-text );
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-navi__banner .each_item .each_item__fg {
    }
    .footer-inner-navi__banner .each_item .each_item__fg a {
    }
}



.footer-inner-page_link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: max( min( calc( 40 * 100vw / var( --design-width ) ), 40px ), 20px );
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 150 * 100vw / var( --design-width ) ), 150px );
}
.footer-inner-page_link .each_item {
    position: relative;
    width: auto;
    margin: 0;
    padding: 0;
}
.footer-inner-page_link .each_item a {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0.7em 0;
    font-size: var( --font-size-20 );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
.footer-inner-page_link .each_item.disabled a, 
.footer-inner-page_link .each_item.disabled a:hover {
    pointer-events: none;
    opacity: 0.5;
}
.footer-inner-page_link .each_item a .en {
}
.footer-inner-page_link .each_item a .jp {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-page_link {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0 calc( 10 * 100vw / var( --design-width ) );
        padding: 0 0 calc( 75 * 100vw / var( --design-width ) );
    }
    .footer-inner-page_link .each_item {
        position: relative;
        width: 48%;
        margin: 0;
        padding: 0;
    }
    .footer-inner-page_link .each_item a {
        position: relative;
        display: inline-block;
        margin: 0;
        padding: 0.7em 0;
        font-size: var( --font-size-18 );
        font-family: 'Cormorant', serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        line-height: 1.5;
        letter-spacing: 0.1em;
    }
    .footer-inner-page_link .each_item a .en {
    }
    .footer-inner-page_link .each_item a .jp {
        display: none;
    }
}



.footer-inner-contact {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 min( calc( 100 * 100vw / var( --design-width ) ), 100px );
    color: #101010;
    font-size: var( --font-size-20 );
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
}
.footer-inner-contact a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-inner-contact a span {
    position: relative;
    display: inline-block;
    font-size: var( --font-size-footer-tel );
    line-height: 1;
}
.footer-inner-contact a span.icon {
    width: min( calc( 51 * 100vw / var( --design-width ) ), 51px );
    aspect-ratio: 34 / 33;
    margin: min( calc( 15 * 100vw / var( --design-width ) ), 15px ) min( calc( 15 * 100vw / var( --design-width ) ), 15px ) 0 0;
    background-image: url( '../img/common/freecall.svg' );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-contact {
        padding: 0 0 calc( 50 * 100vw / var( --design-width ) );
        font-size: var( --font-size-16 );
    }
    .footer-inner-contact a {
    }
    .footer-inner-contact a span {
    }
    .footer-inner-contact a span.icon {
        width: calc( 34 * 100vw / var( --design-width ) );
        margin: calc( 10 * 100vw / var( --design-width ) ) calc( 15 * 100vw / var( --design-width ) ) 0 0;

    }
}



.footer-inner-logo {
    position: relative;
    width: 242px;
    margin: 0 auto;
    padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
}
.footer-inner-logo__text {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #101010;
    font-size: var( --font-size-14 );
    line-height: 1;
    letter-spacing: 0.1em;
}
.footer-inner-logo__image {
}
.footer-inner-logo__image a {
    position: relative;
    display: inline-block;
    width: 100%;
    aspect-ratio: 242 / 114;
    margin: 0;
    padding: 0;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-logo {
        width: calc( 180 * 100vw / var( --design-width ) );
        padding: 0 0 min( calc( 50 * 100vw / var( --design-width ) ), 50px );
    }
    .footer-inner-logo__text {
        font-size: var( --font-size-12 );
    }
    .footer-inner-logo__image {
    }
    .footer-inner-logo__image a {
    }
}



.footer-inner-copyright {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #101010;
    font-size: var( --font-size-footer-copyright );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .footer-inner-copyright {
        margin-bottom: calc( calc( 60 * 100vw / var( --design-width ) ) + 20px );
    }
}






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

共通

============================== */
.l-section.mv {
    position: relative;
    width: 100%;
    height: calc( 100vh - 110px ); /* header 分引く */
    padding: 0;
}
.mv-inner {
    height: 100%;
    max-width: none;
}
@media screen and ( max-width: 768px ) {
    .l-section.mv {
        height: calc( 100vh - calc( 60 * 100vw / var( --design-width ) ) - calc( 60 * 100vw / var( --design-width ) ) ); /* 667 から header 分引く */
        height: calc( 667 * 100vw / var( --design-width ) - calc( 60 * 100vw / var( --design-width ) ) - calc( 60 * 100vw / var( --design-width ) ) );
    }
    .mv-inner {
    }
}



.l-section.mv .mv-inner-bg {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.l-section.mv .mv-inner-bg figure, 
.l-section.mv .mv-inner-bg picture {
    height: 100%;
}
.l-section.mv .mv-inner-bg picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.l-section.mv .mv-inner-bg figure figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    width: auto;
    color: #fff;
    margin: 0;
    padding: 0;
    font-size: var( --font-size-figcaption );
    line-height: 2;
}
@media screen and ( max-width: 768px ) {
    .l-section.mv .mv-inner-bg {
        position: relative;
    }
    .l-section.mv .mv-inner-bg figure, 
    .l-section.mv .mv-inner-bg picture {
    }
    .l-section.mv .mv-inner-bg picture img {
    }
    .l-section.mv .mv-inner-bg figure figcaption {
    }
}



.l-section.mv .mv-inner-fg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
.l-section.mv .mv-inner-fg__title {
    position: relative;
    width: auto;
    margin: 0;
    padding: calc( 70 * 100vw / var( --design-width ) ) calc( 80 * 100vw / var( --design-width ) );
    color: #fff;
    font-size: var( --font-size-mv-title );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0.05em;
}
@media screen and ( max-width: 768px ) {
    .l-section.mv .mv-inner-fg {
    }
    .l-section.mv .mv-inner-fg__title {
        padding: calc( 20 * 100vw / var( --design-width ) ) calc( 30 * 100vw / var( --design-width ) );
        font-size: var( --font-size-mv-title );
    }
}



.l-section.lead {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 170px 0 30px;
}
.l-section-catchcopy {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    color: rgba( 76, 75, 73, 1 );
    font-size: var( --font-size-section-catchcopy );
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .l-section.lead {
        padding: calc( 85 * 100vw / var( --design-width ) ) 0 30px;
    }
    .l-section-catchcopy {
    }
}



.l-section-title {
    position: relative;
    width: 100%;
    margin: 0 0 calc( 90 * 100vw / var( --design-width ) );
    padding: 0;
    color: #8D8A8A;
    font-size: var( --font-size-section-title );
    font-family: 'Cormorant', serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    font-feature-settings: "palt";
}
.l-section-title .jp {
    font-size: var( --font-size-section-title-jp );
}
@media screen and ( max-width: 768px ) {
    .l-section-title {
        margin: 0 0 calc( 45 * 100vw / var( --design-width ) );
    }
}



.l-section-lead {
    position: relative;
    width: 100%;
    margin: 0 0 calc( 90 * 100vw / var( --design-width ) );
    padding: 0;
    font-size: var( --font-size-section-lead );
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    font-feature-settings: "palt";
}
@media screen and ( max-width: 768px ) {
    .l-section-lead {
        margin: 0 0 calc( 45 * 100vw / var( --design-width ) );
    }
}



.color-141_138_138_04 {
    color: rgba( 141, 138, 138, 0.4 );
}
.color-141_138_138_1 {
    color: rgba( 141, 138, 138, 1 );
}
.color-255_255_255_04 {
    color: rgba( 255, 255, 255, 0.4 );
}
.color-255_255_255_051 {
    color: rgba( 255, 255, 255, 0.51 );
}
.color-255_255_255_054 {
    color: rgba( 255, 255, 255, 0.54 );
}
.color-194_196_197_069 {
    color: rgba( 194, 196, 197, 0.69 );
}
.color-31_35_70_04 {
    color: rgba( 31, 35, 70, 0.4 );
}


.color-76_75_73_1 {
    color: rgba( 76, 75, 73, 1 );
}
.color-53_53_57_1 {
    color: rgba( 53, 53, 57, 1 );
}


































































































