@charset "UTF-8";

/* ==========================================================================
   Wedding only
========================================================================== */
:root {
    --color2: #A18C50;
    --color2-h: #907A3A;
    --border2: rgba(102, 153, 204, .3);
}



#main.gutter_L .container {
    width: 90%;
}

/* .page__header */
.page__header .en_ttl,
.page__header .ttl {
    color: var(--color1);
}


/* timeline */
ol.timeline {
    list-style-type: none;
    margin-top: 1em;
}

ol.timeline li {
    padding: 0 0 1em 1.25em;
    position: relative;
}

ol.timeline li::before {
    content: '';
    display: block;
    width: 1px;
    background: var(--border2);
    position: absolute;
    top: 1em;
    bottom: -1em;
    left: 0;
    opacity: .5;
}

ol.timeline li::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    background: var(--color1);
    border-radius: 50%;
    position: absolute;
    top: 1em;
    left: -3px;
}

ol.timeline li:last-child::before {
    display: none;
}

ol.timeline .en_ttl {
    color: var(--color1);
    text-transform: lowercase;
}

ol.timeline .en_ttl::first-letter {
    text-transform: capitalize;
}

ol.timeline p {
    margin-top: 0;
}


/* gNav */
@media (max-width: 991px) {
    .gNav {
        order: 5;
    }

    .gNav nav .navBar_inner>ul.btn-nav {
        display: flex;
        flex-direction: row;
        gap: 20px;
    }

    .gNav nav .navBar_inner>ul.btn-nav .original-btn {
        font-family: var(--mincho);
        width: 100%;
        text-align: center;
        padding: 1em 1.25em;
    }

    .gNav nav .navBar_inner>ul:not(.btn-nav) {
        display: block;
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        column-gap: 20px;
    }

    .gNav nav .navBar_inner>ul>li {
        display: inline-block;
        width: 100%;
    }

    .gNav .main-nav li a {
        font-size: 1em;
    }

    .gNav nav li.sns a {
        padding: 3em 0 0 !important;
        justify-content: flex-end;
    }

    .gNav nav .tel-link .original-btn {
        width: 100%;
        text-align: center;
        padding: 1em 1.25em;
    }

    .gNav nav .reception {
        font-family: var(--gothic);
    }
}

@media (min-width: 992px) {
    #siteHeader .inner-header {
        font-size: min(1em, 1.04vw);
    }

    .gNav nav .navBar_inner {
        flex-direction: column-reverse;
        justify-content: flex-end;
        align-items: flex-end;
        padding: 0 1vw;
    }

    .gNav .navBar_inner .main-nav {
        padding: 0;
    }

    .gNav nav ul.sub-nav {
        margin: calc(7.143rem*.2) 0 0;
        height: calc(7.143rem*.25);
    }

    .gNav nav ul.main-nav li a {
        font-size: 1em;
    }

    .gNav nav ul.main-nav>li>a {
        padding: 0 min(.8vw, 15px) .5em;
        height: calc(7.143rem*.55);
    }

    .gNav nav .has-children>a::before {
        top: calc((100% - .5rem)/2);
    }

    .gNav nav .sub-menu {
        top: 100%;
    }

    .book-btn {
        font-size: 1em;
        width: 13em;
    }

    .book-btn span {
        display: inline;
    }
}


/* Bridal fair */
#fair-cont * {
    color-scheme: normal;
}

.fair-bg-white+#fair-cont {
    background: var(--white);
}


/* book row */
#footer-info {
    background: var(--l-gray3) url(../img/footer-info_bg_wedding.jpg) no-repeat 75% 90% / cover;
}

#footer-info::before {
    background: var(--black);
    opacity: .7;
}

#footer-info .nav-book-row dl {
    text-align: center;
    max-width: 100%;
}

#footer-info .nav-book-row dt {
    display: none;
}

#footer-info .nav-book-row dd.txt {
    display: flex;
    flex-direction: column;
}

#footer-info .nav-book-row dd.txt .tel-txt {
    display: block;
    font-size: 2.286em;
}

#footer-info .nav-book-row dl.contact {
    display: none;
}

@media (min-width: 768px) {
    #footer-info .nav-book-row dd.original-buttons {
        flex-direction: row;
        justify-content: center;
        margin-right: -5px;
        margin-left: -5px;
    }

    #footer-info .nav-book-row dd.original-buttons>p {
        flex: 0 0 calc(100%/3);
        padding-right: 5px;
        padding-left: 5px;
    }
}

@media (min-width: 992px) {
    #footer-info .nav-book-row dd.original-buttons>p {
        flex: 0 0 25%;
    }

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