﻿:root {
    --VI_base: #fffffb;
    --VI_sub1: #91839b;
    --VI_sub2: #98728d;
    --VI_sub3: #c7be92;
    --Base_blk: #2d2d1c;
    --Base_wht: #ffffff;
    --Dark_sub3: #7d7a69;
    --Base_gry: #f9f7f4;
    --Text_grayout: #b5b5b2;
    --Text_sub2: #704b65;
    --Border_gra: linear-gradient(90deg, rgba(199, 190, 146, 0) 0%, #c7be92 100%);
    --border: rgba(157, 155, 141, 0.3);
    --VI_sub2_gray: #efedf1;
    --Text_title: #44443b;
    --Text_gray: #9d9d96;
    --font-xxl: clamp(88.8px, 6.5vw, 100px);
    --font-xl: clamp(40px, 2.93vw, 46px);
    --font-l: clamp(27.3px, 2vw, 32px);
    --font-ml: clamp(20.5px, 1.5vw, 25px);
    --font-m: clamp(15px, 1.1vw, 18px);
    --font-ms: clamp(13.7px, 1vw, 16px);
    --font-s: clamp(12.3px, 0.9vw, 14px);
    --urw: "Classico URW", serif;
    --font2: "Libre Baskerville", serif;
    --gothic: "Yu Gothic Pr6N R", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
    --mincho: "Yu Mincho Pr6N R", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Noto Serif JP", serif
}

@media screen and (max-width: 769px) {
    :root {
        --font-xxl: 32px;
        --font-xl: 26px;
        --font-l: 20px;
        --font-ml: 18px;
        --font-m: 14px;
        --font-ms: 13px;
        --font-s: 12px
    }
}

body #container::before {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--l-gray2) url(../img/common/loading.svg) no-repeat center center/5em;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 994;
    transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1)
}

body.loaded #container::before {
    opacity: 0;
    pointer-events: none
}

@keyframes fadein {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.iv {
    opacity: 0
}

html {
    font-family: var(--gothic);
    font-size: var(--font-m);
    line-height: 2;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

@media(max-width: 374px) {
    html {
        font-size:3.475vw
    }
}

body {
    background: var(--VI_base, #fffffb);
    color: var(--Base_blk)
}

body.navOpen {
    height: 100%;
    overflow: hidden
}

#container {
    position: relative
}

#content {
    padding-top: 70px
}

@media(min-width: 992px) {
    #content {
        padding-top:6.1rem
    }
}

#siteHeader {
    height: 70px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 990
}

#siteHeader .inner-header {
    height: 100%;
    padding: 0 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative
}

#siteHeader .inner-header::before {
    content: "";
    background: var(--VI_base);
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: calc((100vw - 100%)/2*-1);
    right: calc((100vw - 100%)/2*-1);
    transition: background .4s cubic-bezier(0.39, 0.575, 0.565, 1)
}

#logo {
    flex: 0 0 128px;
    width: 128px;
    height: 100%;
    display: flex;
    align-items: center;
    margin: 0;
    line-height: 1;
    position: relative;
    z-index: 2
}

.logo__inner {
    display: block;
    width: 100%;
    color: inherit
}

#logo .logo__inner img {
    display: inline-block;
    vertical-align: middle
}

@media(max-width: 991px) {
    #siteHeader {
        position:fixed
    }
}

@media(min-width: 992px) {
    #siteHeader {
        height:6.1rem;
        font-size: .923em
    }

    #siteHeader .inner-header {
        padding: 0 0 0 2.5vw
    }
}

@media(min-width: 1200px) {
    #logo {
        flex:0 0 3.794em;
        width: 3.794em
    }

    #logo img {
        width: 100%
    }
}

nav a {
    display: block;
    text-decoration: none
}

nav ul {
    display: flex;
    border-bottom: 0;
    margin: 0
}

nav ul li a {
    display: block;
    color: inherit;
    text-decoration: none;
    line-height: 1.25
}

nav ul li a span {
    display: block
}

nav ul li a em {
    display: block;
    font-family: var(--font1);
    font-style: normal;
    font-size: 1em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em
}

.gNav {
    flex: 1 1 100%;
    max-width: 100%;
    height: 100%;
    color: var(--Base_blk)
}

.gNav__inner {
    display: flex;
    width: 100%;
    height: 100%
}

.gNav nav {
    display: flex;
    width: 100%
}

.gNav nav ul li a {
    line-height: 1.5rem;
    position: relative;
    transition: none;
    font-family: var(--mincho)
}

.gNav .main-nav li a {
    display: flex;
    align-items: center;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    padding: 0 1.331em .76em
}

.gNav .main-nav li>a {
    text-align: left;
    border-bottom: 1px solid var(--border2);
    margin-bottom: .5em
}

.gNav .main-nav li>a::before {
    content: "";
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--color1);
    border: 1px solid var(--color1);
    position: absolute;
    top: 50%;
    right: 0;
    transition: background .2s;
    transform: translateY(-50%)
}

.gNav .main-nav li>a::after {
    content: "";
    display: block;
    width: .5rem;
    height: .5rem;
    color: var(--Base_wht);
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    position: absolute;
    top: 50%;
    right: .3rem;
    transition: color .2s;
    transform: translate(-75%, -50%) rotate(45deg)
}

.gNav .main-nav li>a:hover::before {
    background: rgba(0,0,0,0)
}

.gNav .main-nav li>a:hover::after {
    color: var(--color1)
}

.gNav .main-nav li>a>span {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0
}

.gNav .main-nav li>a>span em {
    width: 11.5em;
    color: var(--color1)
}

.sns-nav li a {
    line-height: 1.5em;
    position: relative;
    transition: none;
    display: flex;
    align-items: center;
    font-size: 1em;
    letter-spacing: .04em;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    padding: .5em 0 !important
}

.gNav .sns-nav li a {
    color: var(--VI_sub2, #98728d)
}

.sns-nav li a svg {
    fill: currentColor;
    width: 22px;
    height: 22px;
    margin-right: .75em
}

.nav-btn {
    background: rgba(0,0,0,0);
    color: currentColor;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 100%;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2
}

.nav-btn i {
    display: block;
    background: currentColor;
    height: 1px;
    position: absolute;
    right: 20px;
    left: 20px;
    margin-top: -0.5px;
    transition: transform .3s
}

.nav-btn i:nth-of-type(1) {
    top: 50%
}

.nav-btn i:nth-of-type(2) {
    top: calc(50% - 10px)
}

.nav-btn i:nth-of-type(3) {
    top: calc(50% + 10px)
}

.nav-btn.on {
    color: var(--Base_blk)
}

.nav-btn.on i:nth-of-type(1) {
    transform: scaleX(0)
}

.nav-btn.on i:nth-of-type(2) {
    top: 50%;
    transform: rotate(45deg)
}

.nav-btn.on i:nth-of-type(3) {
    top: 50%;
    transform: rotate(135deg)
}

@media(min-width: 992px) {
    .gNav {
        display:block !important;
        padding-top: 22px
    }

    .gNav nav,.gNav .nav-row,.gNav ul {
        justify-content: flex-end;
        align-items: center
    }

    .gNav .main-nav>li>a {
        text-align: center;
        border-bottom: 0;
        margin-bottom: 0
    }

    .gNav .navBar_inner>.nav-row>ul>li>a>span {
        position: relative
    }

    .gNav .navBar_inner>.nav-row>ul>li>a>span:before {
        content: "";
        display: block;
        width: 0;
        height: 1px;
        background: var(--d-gray);
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        margin: 0 auto;
        transition: width .2s
    }

    .gNav .navBar_inner>.nav-row>ul>li:hover>a>span:before {
        width: 100%
    }

    .gNav ul li a em {
        display: none
    }

    .gNav .navBar_inner {
        display: flex;
        align-items: flex-end;
        height: 100%
    }

    .gNav .navBar_inner>.nav-row {
        width: 100%
    }

    .gNav .main-nav li>a::before,.gNav .main-nav li>a:after {
        display: none
    }

    .gNav nav .sns-nav {
        margin: 0 1vw
    }

    .gNav nav .sns-nav li a svg {
        width: 1em;
        height: 1em;
        margin: 0
    }

    .gNav nav .has-children {
        position: relative
    }

    .gNav nav .sub-menu {
        width: 14em;
        position: absolute;
        left: 50%;
        z-index: 10;
        margin-left: -7em;
        background: rgba(240,240,240,.95);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),transform 1s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .gNav nav .sub-menu ul {
        flex-wrap: wrap;
        padding: 1em 0 1.75em
    }

    .gNav nav .sub-menu ul li {
        flex: 0 0 100%
    }

    .gNav nav .sub-menu li>a {
        padding: .75em 2em;
        text-align: center;
        border-bottom: 0;
        margin-bottom: 0
    }

    .gNav nav .sub-menu li>a::before,.gNav nav .sub-menu li>a::after {
        display: none
    }

    .gNav nav .sub-menu li>a>span {
        justify-content: center
    }

    .gNav nav .has-children:hover .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0)
    }

    .gNav nav .sub-nav ul.main-nav li {
        position: relative
    }

    .gNav nav .sub-nav ul.main-nav li:not(:last-child)::after {
        content: "";
        display: block;
        width: 1px;
        height: 1em;
        background: var(--d-gray);
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(50%, -50%)
    }

    .gNav nav .sub-nav ul li a {
        padding: 0 1.5em;
        line-height: 24px;
        font-size: .923em;
        transition: color .2s
    }

    .gNav nav .sub-nav ul li a:hover {
        color: var(--VI_sub2, #98728d)
    }

    .nav-btn {
        display: none
    }

    #sp_gNav.gNav {
        display: none !important
    }
}

@media(max-width: 991px) {
    .gNav {
        position:fixed;
        top: 0;
        right: 0;
        left: 0;
        display: none
    }

    .gNav__inner {
        background: var(--Base_wht);
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        padding-top: 70px;
        opacity: 0;
        height: 0;
        transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),height 1s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .gNav nav {
        flex-direction: column;
        justify-content: flex-start
    }

    .gNav .navBar_inner {
        height: 100%;
        overflow-y: auto;
        padding: 2em 1.5em
    }

    .gNav nav ul {
        max-width: 32em;
        margin-right: auto;
        margin-left: auto;
        flex-wrap: wrap;
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 1s .6s cubic-bezier(0.19, 1, 0.22, 1),transform 1s .6s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .gNav nav ul li {
        flex: 0 0 50%
    }

    .gNav nav ul li:nth-of-type(odd) {
        padding-right: .75em
    }

    .gNav nav ul li:nth-of-type(even) {
        padding-left: .75em
    }

    .gNav nav ul li a {
        padding: .75em 0 !important
    }

    .gNav nav ul.btn-nav li a {
        background: var(--VI_sub1);
        color: var(--Base_wht);
        padding: 1em 0 !important;
        border-bottom: 0;
        margin-bottom: .75em;
        text-align: center
    }

    .gNav .nav-book-row {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 1s .6s cubic-bezier(0.19, 1, 0.22, 1),transform 1s .6s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .gNav .nav-book-row .btn2-b {
        font-size: 1.25rem;
        padding: .75em 1.5em
    }

    .gNav.on {
        display: block
    }

    .gNav.on .gNav__inner {
        opacity: 1;
        height: 100dvh
    }

    .gNav.on ul,.gNav.on .nav-book-row {
        opacity: 1;
        transform: translateY(0)
    }

    #siteHeader .sns-nav {
        padding-top: 1em
    }

    #siteHeader .sns-nav li a {
        padding: .5em 0 !important
    }

    .gNav nav .navBar_inner ul li.has-children>a::after {
        transform: translate(-50%, -70%) rotate(135deg)
    }

    .gNav nav .navBar_inner ul li.has-children.on>a::after {
        transform: translate(-50%, -25%) rotate(-45deg)
    }

    .gNav nav .sub-menu {
        display: none
    }

    .gNav nav .sub-menu ul li a em {
        padding-left: 1.5em
    }
}

@media(min-width: 768px)and (max-width: 991px) {
    .gNav nav ul {
        max-width:24em
    }
}

.bookNav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: -1;
    width: 100%
}

.bookNav__inner {
    height: 100dvh;
    background: var(--VI_sub2_gray, #efedf1)
}

.bookNav .bookNav__inner>div {
    height: 100%;
    overflow-y: auto;
    padding-top: 70px
}

.bookNav .nav-book-row {
    padding: 1em 0 5em;
    overflow-y: auto
}

.bookNav .nav-book-row .ttlBox {
    text-align: center;
    padding: 2em 0 1em
}

.bookNav .nav-book-row .ttlBox .sub_ttl {
    margin-top: 10px;
    display: block
}

.bookNav .nav-book-row .buttons {
    display: flex;
    flex-direction: column
}

.bookNav .nav-book-row .tel-link {
    order: 10
}

.bookNav .nav-book-row .txt {
    order: 10
}

.bookNav .nav-book-row .reception {
    color: var(--Base_blk)
}

.book-btn {
    background: var(--VI_sub2, #98728d);
    color: var(--Base_wht);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    width: 70px;
    height: 100%;
    font-size: .923em;
    line-height: 1.375;
    padding-right: 1.5vw;
    padding-left: 1.5vw;
    position: relative;
    cursor: pointer;
    transition: background .2s
}

.book-btn svg {
    fill: currentColor;
    margin-bottom: .75em
}

.book-btn:hover {
    background: #825e78
}

@media(min-width: 992px) {
    .bookMenu {
        height:100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .bookNav {
        display: block !important;
        max-width: 31.38rem;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),transform 1s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .bookMenu:hover .bookNav {
        opacity: 1;
        visibility: visible;
        transform: translateX(0)
    }

    .bookNav .bookNav__inner>div {
        padding-top: 100px
    }

    .bookMenu .nav-book-row {
        padding-top: 2em
    }

    .bookMenu .nav-book-row.row>[class*=col-] {
        flex: 0 0 100%;
        max-width: 100%
    }

    .book-btn {
        width: 9.76vw;
        margin-left: 1.5vw;
        justify-content: flex-end;
        padding-bottom: .76em;
        line-height: 1.5;
        font-size: .923em
    }
}

@media(max-width: 991px) {
    .bookNav {
        display:none
    }

    .bookNav__inner {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        opacity: 0;
        height: 0;
        transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1),height 1s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .bookNav .nav-book-row {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 1s .6s cubic-bezier(0.19, 1, 0.22, 1),transform 1s .6s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .book-btn {
        height: 70px;
        position: fixed;
        top: 0;
        right: 70px;
        z-index: 2
    }

    .book-btn>span {
        padding: 0
    }

    .book-btn>span em {
        font-size: .923em;
        font-weight: 700
    }

    .book-btn svg {
        display: block;
        margin: .5em auto .25em
    }

    .bookNav.on {
        display: block
    }

    .bookNav.on .bookNav__inner {
        opacity: 1;
        height: 100dvh
    }

    .bookNav.on .nav-book-row {
        opacity: 1;
        transform: translateY(0)
    }
}

.nav-book-row {
    text-align: center
}

.nav-book-row dl {
    max-width: 22.6em;
    margin: 1.5em auto 0;
    display: flex;
    flex-direction: column
}

.nav-book-row dt {
    margin-bottom: .75em
}

.nav-book-row dt span {
    font-size: 1.077em;
    font-weight: 700
}

.nav-book-row dd p {
    margin-top: 0;
    margin-bottom: .75rem;
    line-height: 1.75
}

.nav-book-row h5 {
    font-weight: 400;
    margin-bottom: .75rem
}

.nav-book-row .txt {
    font-family: var(--gothic);
    font-size: .923em;
    margin-bottom: 0
}

.nav-book-row .tel-txt .num {
    display: block;
    font-family: var(--urw);
    font-size: 2em
}

.nav-book-row .tel-link {
    margin-bottom: .75em
}

@media(max-width: 991px) {
    .nav-book-row dl {
        max-width:32em
    }
}

@media(min-width: 992px) {
    .nav-book-row dt {
        margin-bottom:.75em
    }
}

#fair-cont {
    overflow: hidden;
    border-top: 1px solid var(--l-gray);
    background: var(--Base_gry, #f9f7f4)
}

#fair-cont * {
    color-scheme: normal
}

#footer-info {
    background: var(--VI_sub2_gray, #efedf1);
    color: var(--Base_blk, #2d2d1c);
    position: relative;
    z-index: 3
}

#footer-info .en_ttl {
    text-align: center
}

#footer-info .ttl {
    display: block;
    text-align: center;
    font-size: var(--font-l)
}

#footer-info .sub_ttl {
    line-height: 1.5;
    font-family: var(--mincho);
    margin-top: 1em;
    margin-bottom: 3em;
    display: block
}

#footer-info .nav-book-row .reception {
    color: var(--Base_blk)
}

#footer-info .nav-book-row .ttl {
    font-family: var(--mincho);
    display: block
}

@media(max-width: 991px) {
    #footer-info .nav-book-row>div:not(:first-child) dt {
        border-top:1px solid var(--border1);
        padding-top: 2em;
        margin-top: 1em
    }
}

@media(min-width: 768px) {
    #footer-info .nav-book-row dl {
        max-width:100%
    }

    #footer-info .nav-book-row .buttons {
        display: flex;
        justify-content: center;
        margin-bottom: 1rem;
        margin-right: -5px;
        margin-left: -5px
    }

    #footer-info .nav-book-row .buttons>p {
        flex-basis: 33.3333333333%;
        max-width: calc(22.6em + 10px);
        padding-right: 5px;
        padding-left: 5px
    }

    #footer-info .nav-book-row .buttons>p .btn {
        width: 100%
    }
}

@media(min-width: 992px) {
    #footer-info .nav-book-row>div:not(:first-child) {
        border-left:1px solid var(--border1)
    }

    #footer-info .ttl {
        font-size: var(--font-ml)
    }
}

.breadcrumb-wrapper {
    background: var(--l-gray2);
    overflow: hidden;
    padding: 2em 0;
    position: relative;
    z-index: 3
}

#breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    line-height: 1.25
}

#breadcrumb ol li {
    display: flex;
    align-items: center;
    padding: .5em 0
}

#breadcrumb ol li a {
    display: inline-block
}

#breadcrumb ol .separator {
    display: block;
    padding: .5em .25em
}

.breadcrumb-wrapper .nav-breadcrumb ul {
    margin-right: -1.125em;
    margin-left: -1.125em
}

.breadcrumb-wrapper .nav-breadcrumb ul li {
    padding-right: 1.125em;
    padding-left: 1.125em;
    border-right: 1px solid #bdc1c7
}

.breadcrumb-wrapper .nav-breadcrumb ul li:last-child {
    border-right: none
}

.breadcrumb-wrapper .nav-breadcrumb ul li a {
    line-height: 1.5
}

@media(max-width: 575px) {
    .breadcrumb-wrapper .nav-breadcrumb ul {
        margin-right:-2vw;
        margin-left: -2vw
    }

    .breadcrumb-wrapper .nav-breadcrumb ul li {
        padding-right: 2vw;
        padding-left: 2vw
    }
}

@media(max-width: 991px) {
    .breadcrumb-wrapper {
        padding:1em 0
    }

    .breadcrumb-wrapper .nav-breadcrumb {
        margin-top: .5em
    }
}

@media(min-width: 992px) {
    .breadcrumb-wrapper .nav-breadcrumb ul {
        justify-content:flex-end
    }
}

#siteFooter {
    background: var(--VI_sub1, #91839b);
    color: var(--Base_wht);
    clear: both;
    overflow: hidden;
    padding: 4em 0 calc(50px + 2em);
    position: relative;
    z-index: 3
}

#siteFooter a {
    white-space: nowrap
}

#siteFooter a:hover {
    opacity: .5
}

#siteFooter #footerLogo {
    margin: 0 auto 3em
}

#siteFooter .navBar_inner .nav-row {
    display: flex;
    flex-wrap: wrap;
    font-family: var(--mincho);
    justify-content: space-between
}

#siteFooter .navBar_inner .sub-menu ul {
    display: block
}

#siteFooter .navBar_inner .sub-menu ul li a {
    padding: .75em 0
}

#siteFooter .sns-nav {
    font-family: var(--urw);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2.5em auto 2.5em
}

#siteFooter .sns-nav li {
    padding: .75em 1em
}

#siteFooter .sns-nav li a {
    font-family: var(--urw);
    font-size: 1rem
}

#siteFooter .sns-nav li a svg {
    width: 17px;
    height: 17px
}

#siteFooter .fNav__sub {
    font-family: "Lato",sans-serif;
    font-size: var(--font-s);
    text-align: center
}

#siteFooter .fNav__sub ul:not(.sns-nav) {
    font-family: var(--mincho);
    justify-content: center;
    align-items: center
}

#siteFooter .fNav__sub ul:not(.sns-nav) li:not(:last-child) {
    border-right: 1px solid currentColor
}

#siteFooter .fNav__sub ul:not(.sns-nav) li a {
    padding: 0 1em
}

#siteFooter .copyright {
    text-align: center;
    margin-top: 1.5em
}

@media(max-width: 991px) {
    #siteFooter .logo__inner {
        width:120px;
        margin: 0 auto
    }

    #siteFooter .navBar_inner ul {
        flex-wrap: nowrap;
        position: relative;
        width: fit-content;
        flex-direction: column
    }

    #siteFooter .navBar_inner ul::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border: 1px solid var(--color1);
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none
    }

    #siteFooter .navBar_inner ul li {
        border-right: 1px solid var(--border1);
        border-bottom: 1px solid var(--border1)
    }

    #siteFooter .navBar_inner ul li a {
        padding: .8em 0;
        text-align: left
    }

    #siteFooter .navBar_inner .sub-menu ul li {
        padding-left: .5em
    }

    #siteFooter .navBar_inner .sub-menu ul li a {
        display: flex;
        padding: .4em 0
    }
}

@media(min-width: 420px) {
    #siteFooter .navBar_inner .nav-row {
        justify-content:space-around
    }
}

@media(min-width: 576px) {
    #siteFooter .navBar_inner ul li {
        flex:0 0 auto
    }

    #siteFooter .navBar_inner .nav-row {
        justify-content: center;
        gap: 8em
    }
}

@media(min-width: 768px) {
    #siteFooter .navBar_inner ul li {
        flex:0 0 auto
    }

    #siteFooter .navBar_inner .nav-row {
        justify-content: center;
        gap: 2em
    }
}

@media(min-width: 992px) {
    #siteFooter {
        padding:5em 0
    }

    #siteFooter .container {
        max-width: 100%;
        padding-inline:3.952vw}

    #siteFooter .fNav {
        margin-left: auto
    }

    #siteFooter .logo__inner {
        width: 10.1038vw
    }

    #siteFooter .footer-row {
        display: flex
    }

    #siteFooter .footer-row #footerLogo {
        margin-inline:0}

    #siteFooter .navBar_inner .nav-row {
        flex-wrap: nowrap;
        gap: 5.857vw
    }

    #siteFooter .navBar_inner .nav-row ul {
        display: block
    }

    #siteFooter .navBar_inner ul li a {
        padding: .5em 0;
        font-size: .988vw
    }

    #siteFooter .navBar_inner .sub-menu ul li a {
        display: flex;
        align-items: center
    }

    #siteFooter .fNav__sub {
        display: flex;
        justify-content: space-between;
        margin-top: 4.26em
    }

    #siteFooter .fNav__sub .sns-nav {
        margin: 0
    }

    #siteFooter .fNav__sub .sns-nav li {
        padding: 0
    }

    #siteFooter .fNav__sub .sns-nav li a {
        padding: 0 !important
    }

    #siteFooter .copyright {
        text-align: right;
        font-size: var(--font-s);
        margin-top: .333em
    }

    #siteFooter .copyright p {
        margin-top: 0
    }
}

#fixedBottomNav {
    width: 100%;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 10;
    color: var(--Base_wht);
    transform: translateY(105%);
    transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1)
}

#fixedBottomNav.open {
    transform: translateY(0)
}

#fixedBottomNav.close {
    transform: translateY(105%)
}

#fixedBottomNav .buttons {
    display: flex;
    height: 4rem;
    background: var(--VI_sub1)
}

#fixedBottomNav .buttons>div {
    flex-basis: 100%
}

#fixedBottomNav .buttons>div:not(:last-of-type) {
    border-right: 1px solid var(--Base_wht)
}

#fixedBottomNav .buttons>div.tel-link {
    flex: 0 0 4rem
}

#fixedBottomNav .buttons>div.tel-link_width {
    flex: 0 0 25%
}

#fixedBottomNav .buttons a {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 600
}

#fixedBottomNav .buttons a svg {
    position: absolute;
    left: 10%
}

#fixedBottomNav .buttons>div.tel-link a.btn_ft_tel {
    background: url(../img/common/icon-phone.svg) no-repeat center center/1.615em
}

#fixedBottomNav .bar {
    height: 7em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    position: relative
}

#fixedBottomNav .bar::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--VI_sub2, #98728d);
    position: absolute;
    top: 0;
    left: 0;
    opacity: .95;
    z-index: -1
}

#fixedBottomNav .bar .bar-ttl {
    display: flex;
    align-items: center;
    font-size: 1.231em;
    letter-spacing: .1em;
    position: absolute;
    left: 3vw
}

#fixedBottomNav .bar .bar-ttl svg {
    display: inline-block;
    margin-right: .5em
}

#fixedBottomNav .bar .nav {
    line-height: 1.25;
    display: flex;
    justify-content: space-between;
    align-items: center;
    white-space: nowrap
}

#fixedBottomNav .bar .nav .btn {
    color: currentColor;
    font-weight: 700;
    line-height: 1;
    width: 22em;
    padding: .75em 1.5em
}

#fixedBottomNav .bar .nav .tel {
    margin-left: 4em
}

#fixedBottomNav .bar .nav .tel .num {
    display: inline-block;
    font-size: 1.231em;
    letter-spacing: .1em;
    margin-left: 1em;
    padding-left: 1em;
    border-left: 1px solid currentColor
}

#fixedBottomNav .close-btn {
    background: rgba(0,0,0,0);
    color: currentColor;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(6vw + 21px);
    height: 100%;
    cursor: pointer;
    position: relative;
    margin-left: 6em
}

#fixedBottomNav .close-btn i {
    display: block;
    background: currentColor;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 3vw;
    left: 3vw;
    margin-top: -0.5px;
    transform: rotate(45deg);
    transition: transform .3s
}

#fixedBottomNav .close-btn i:nth-of-type(2) {
    transform: rotate(-45deg)
}

@media(max-width: 767px) {
    #fixedBottomNav {
        max-width:100%;
        left: 0
    }
}

@media(max-width: 1199px) {
    #fixedBottomNav .bar .nav .btn {
        width:21em
    }

    #fixedBottomNav .close-btn {
        margin-left: 0
    }
}

#intro .imgBox {
    margin-top: 4em;
    margin-bottom: 4em
}

#intro.intro-f>* {
    margin-bottom: 2.5rem
}

#intro.intro-f .has-border {
    display: flex;
    align-items: center;
    gap: .5em
}

#intro.intro-f .has-border .border {
    width: 1.5em;
    height: 1px;
    background: rgba(40,40,27,.5)
}

@media(min-width: 992px) {
    #intro.intro-f {
        display:flex;
        align-items: baseline;
        gap: 1.75em
    }

    #intro.intro-f>* {
        margin-bottom: 0
    }

    #intro.intro-f .copy {
        margin-top: 0
    }

    #intro.intro-f .copy br {
        display: none
    }
}

.pl-20 {
    padding-left: 1.45em
}

/*# sourceMappingURL=common.css.map */
