@charset "UTF-8";

/* ==========================================================================
   Wedding only
========================================================================== */
:root {
    --white: #FFFFFB;
    --l-gray: #F4F4EF;
    --l-gray2: #F4F4EF;
    --border2: #176382;
    --color1: #176382;
    --color1-h: #15546E;
    --color2: #A18C50;
    --color2-h: #958046;
}



@media (max-width: 991px) {
    .by_all {
        width: 9.8rem;
    }
}

/* content */
#content.has-mv #main {
    color: var(--color1);
}

@media (min-width: 992px) {
    body:has(#content.has-mv):not(.navOpen) #siteHeader:not(.fixed) {
        color: var(--white);
    }

    #content.has-mv {
        padding-top: 0;
    }
}


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

/* btn */
.btn-white i.arrow {
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2022%2022%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m1.3%200%2019.5%2011-19.5%2011s9.7-5.5%209.7-11-9.7-11-9.7-11z%22%20fill%3D%22%23176382%22%2F%3E%3C%2Fsvg%3E');
}

/* .read */
@media (max-width: 991px) {
    .read .copy {
        text-align: center;
    }
}

/* .copy */
.copy {
    color: var(--color1);
}

/* .section__header */
.section__header {
    color: var(--color1);
    text-align: center;
}

/* page__thumbnail */
.page__thumbnail {
    position: relative;
}

.page__thumbnail .main-img img {
    width: 100%;
}

.page__thumbnail .headline {
    margin: 5em auto -1.5em;
    display: inline-block;
    position: relative;
}

.page__thumbnail .headline picture.subttl_img {
    width: 119px;
    margin-left: -22.5%;
    margin-bottom: -1.5%;
}

.page__thumbnail .headline .ttl {
    font-family: var(--mincho);
    font-weight: 600;
    text-align: center;
}

.page__thumbnail .headline picture+.ttl {
    margin-top: 1em;
}

@media (min-width: 576px) {
    .page__thumbnail .headline {
        margin: 0;
        color: var(--white);
        padding-right: 30px;
        position: absolute;
        left: 50%;
        bottom: 10%;
        z-index: 2;
    }

    .page__thumbnail .headline picture.subttl_img {
        width: 260px;
        margin-left: -90px;
        margin-bottom: -2.5%;
    }

    .page__thumbnail .headline .ttl {
        font-weight: 700;
        text-align: left;
    }
}

/* tab */
.category-search-list li select {
    background-image: url(../img/arrow-down_02.svg);
}

/* 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(--border2);
    border-radius: 50%;
    position: absolute;
    top: 1em;
    left: -3px;
}

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 nav .navBar_inner>ul {
        column-count: 2;
        column-gap: 20px;
    }

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

@media (min-width: 992px) {
    #siteHeader #logo {
        width: 16rem;
    }

    .gNav {
        padding-top: 1em;
    }

    .gNav nav .navBar_inner {
        flex-direction: column-reverse;
    }

    .gNav nav ul.main-nav li a {
        padding: .75em min(1.2vw, 20px);
    }
}

@media (min-width: 1366px) {
    #siteHeader #logo {
        width: 20.77rem;
    }
}


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


/* book row */
#footer-info {
    background: var(--l-gray);
    color: var(--color2);
}

#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: 1.846em;
}

#footer-info .nav-book-row dd.txt .reception {
    color: var(--black);
}

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

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

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

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

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