@charset "UTF-8";
/*
Theme Name: iguchi
*/

.dotted_line::before {
    position: absolute;
    width: 100%;
    border-bottom: 2px dotted #999;
    content: '';
    left: 0;
    z-index: 1;
}

.dotted_line {
    position: relative;
    width: 100%;
    z-index: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}

/* ############################################ */
/* å…±é€š */
/* ############################################ */
.parallax-contents {
    /* background-attachment: fixed; */
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 500px;
    position: relative;
    background-color: #000;
    z-index: 0;
}


.parallax-contents h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    z-index: 999;
    font-size: 34px;
    writing-mode: upright;
    writing-mode: vertical-rl;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    text-align: left;
}

@media only screen and (min-width: 992px) {
    .pc-view {
        display: block;
    }

    .sp-view {
        display: none;
    }
}

@media only screen and (max-width: 991.98px) {
    .sp-view {
        display: block;
    }

    .pc-view {
        display: none;
    }
}


.site-header-logo img {
    display: none !important;
}

body.header_scrolled .site-header-logo img {
    display: inherit !important;
}

.top-page-logo {
    position: absolute;
    top: 50px;
}

body.header_scrolled .top-page-logo {
    display: none;
}

.swiper-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    z-index: 999;
    font-size: 34px;
    text-align: center;
}

.swiper-txt span {
    font-size: 46px;
}

@media only screen and (max-width: 991.98px) {
    .top-page-logo {
        display: none;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .swiper-txt {
        text-align: center;
    }

}

@media (max-width: 575.98px) {
    .swiper-txt {
        writing-mode: vertical-rl;
        font-size: 24px;
    }

    .swiper-txt span {
        font-size: 32px;
        line-height: 2em;
    }
}

.contents-btn {
    margin-top: 50px;
}

.contents-btn a {
    background-color: #0A305F !important;
    font-size: 14px !important;
    padding: 12px 30px !important;
}

.contents-btn a::before {
    border-right: 1px solid rgba(158, 133, 8, .7) !important;
    border-bottom: 1px solid rgba(158, 133, 8, .7) !important;
}

.contents-btn a::after {
    border-top: 1px solid rgba(158, 133, 8, .7) !important;
    border-left: 1px solid rgba(158, 133, 8, .7) !important;
}

.title-h2 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    padding-top: 50px;
    padding-right: 90px;
    font-size: 48px;
    color: #fff;
    letter-spacing: 0.08em;
}

.header-cover {
    position: relative;
    z-index: 3;
    height: 850px;
}

.header-cover h2 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 40px;
    color: #fff;
    letter-spacing: 0.08em;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safariç”¨ */
    transform: translate(-50%, -50%);
}

@media only screen and (max-width: 767.98px) {
    .parallax-contents {
        height: 300px;
    }

    .parallax-contents h2 {
        font-size: 26px;
        writing-mode: horizontal-tb;
    }

    .header-cover {
        height: 400px;
    }

    .header-cover h2 {
        font-size: 26px;
    }
}


/*ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ãƒãƒ¼ãŒè¡¨ç¤ºã•ã‚Œã‚‹é–²è¦§ç’°å¢ƒç”¨ã«è¨­å®š*/
.flow-wrap {
    overflow: hidden;
}

.flow-box {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    padding: 40px;
    margin: auto;
}

.flow-wrap p {
    font-size: 16px;
    line-height: 1.8;
}

.flow-wrap img {
    width: 100%;
    height: auto;
}

.reverse {
    flex-direction: row-reverse;
}

.column {
    width: 48%;
}


/*å³å´ã¸è¦ç´ ã‚’åºƒã’ã‚‹ï¼ˆ2ã‚«ãƒ©ãƒ ï¼‰*/
.column-outside-right {
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 4%;
}

.image-full {
    width: 100%;
    height: auto;
    padding: 1.25rem;
    /* Tailwind's py-5 equivalent */
}

/*å·¦å´ã¸è¦ç´ ã‚’åºƒã’ã‚‹ï¼ˆ2ã‚«ãƒ©ãƒ ï¼‰*/
.column-outside-left {
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 4%;
}

/*å³å´ã¸è¦ç´ ã‚’åºƒã’ã‚‹ï¼ˆ1ã‚«ãƒ©ãƒ ï¼‰*/
.outside-right {
    margin-right: calc(50% - 50vw);
}

/*å·¦å´ã¸è¦ç´ ã‚’åºƒã’ã‚‹ï¼ˆ1ã‚«ãƒ©ãƒ ï¼‰*/
.outside-left {
    margin-left: calc(50% - 50vw);
}

@media only screen and (min-width: 768px) {}

@media only screen and (max-width: 767.98px) {
    .header-cover {
        background-size: cover !important;
    }

    .flow-box {
        display: block;
        padding: 40px 15px;
        flex: none;
    }

    .column {
        width: 100%;
    }

    .column img {
        width: 100%;
    }

    .column-outside-left {
        margin: 0;
        flex: none;
    }

    .column-outside-right {
        margin: 0;
        flex: none;
    }

    .section03 .txt-area {
        margin-top: 20px;
    }
}

.sns {
    background-color: #fff !important;
    padding: 100px 0;
}

.sns h3 {
    font-size: 36px;
    color: #0A305F;
    font-weight: 600;
}

.sns a:hover {
    opacity: 0.7;
}

@media only screen and (max-width: 575.98px) {
    .sns {
        padding-top: 50px;
    }

    .sns-btn {
        padding: 10px 0 !important;
        display: block;
    }
}


.accessinfo a {
    color: #700000;
    text-decoration: none;
}

.accessinfo a:hover {
    color: #b93838;
    text-decoration: underline;
}

/* ############################################ */
/* ãƒˆãƒƒãƒ—ãƒšãƒ¼ã‚¸ã€€*/
/* ############################################ */

.header_scrolled .site-header-logo {
    display: none !important;
}


.top-page-logo {
    position: absolute;
    top: 50px;
}

body.header_scrolled .top-page-logo {
    display: none;
}

.scroll-menu {
    display: none;
}

body.header_scrolled .scroll-menu {
    display: inherit;
}

.header_scrolled .site-header-logo {
    display: inherit !important;
}

.swiper-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    z-index: 999;
    font-size: 34px;
    text-align: center;
}

.swiper-txt span {
    font-size: 46px;
}

@media only screen and (max-width: 991.98px) {
    .site-header-logo img {
        display: inherit !important;
    }

    .top-page-logo {
        display: none;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .swiper-txt {
        text-align: left;
    }

}

@media (max-width: 575.98px) {
    .swiper-txt {
        writing-mode: vertical-rl;
        font-size: 24px;
    }

    .swiper-txt span {
        font-size: 32px;
        line-height: 2em;
    }
}

@media (max-width: 389.98px) {
    .swiper-txt {
        writing-mode: vertical-rl;
        font-size: 22px;
    }

    .swiper-txt span {
        font-size: 30px;
        line-height: 1.5em;
        text-align: start !important;
    }
}

@media only screen and (max-width: 320px) {
    swiper-txt {
        text-align: start !important;
    }
}


/* ãƒˆãƒƒãƒ—ãŠçŸ¥ã‚‰ã› */

/* ãƒˆãƒƒãƒ—ãŠçŸ¥ã‚‰ã› */
.top-information {
    padding: 80px 0 100px;
    width: 100%;
}

.top-tp-box .top-tp-box-text-title {
    padding-top: 30px;
}

.top-information-contents {
    padding-top: 50px;
}

.top-information-contents .top-information-contents-nopost {
    text-align: center;
    width: 100%;
}


.top-information-topics-wrap {
    padding-bottom: 30px;
}

.top-information-contents img {
    max-width: 100%;
    margin-bottom: 0;
}

.top-information-topics-img,
.top-information-topics-title,
.top-information-topics-date,
.top-information-topics-excerpt {
    font-size: 14px;
    margin: 0;
    padding: 0 0 5px 0;
}

.top-information-topics-title {
    font-size: 16px;
    padding-bottom: 10px;
}

.top-information-contents a {
    color: #111 !important;
}

.top-information-contents a:hover {
    opacity: 0.6 !important;
    transition: 1.0s !important;
}

@media only screen and (max-width: 575.98px) {
    .top-tp-box .top-tp-box-text-title h2 {
        text-align: center;
    }
}


/* ãƒˆãƒƒãƒ—ãŠã‚‚ã¦ãªã— */
.top-hospitality {
    padding: 80px 0 100px;
    position: relative;
}

.top-hospitality .container {
    position: relative;
    z-index: 2;
}

.top-hospitality-cover::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: -160px;
    z-index: 1;
}

.top-hospitality .top-hospitality-contents {
    background-color: #E6E5D0;
    margin-top: 50px;
}

.top-hospitality .top-hospitality-contents .top-hospitality-contents-block {
    margin: 0;
    padding: 0;
}

.top-hospitality .top-hospitality-contents .top-hospitality-contents-block img {
    width: 100%;
}

.top-hospitality .top-hospitality-contents .top-hospitality-contents-block-txt {
    padding: 40px 30px;
}


.top-hospitality .top-hospitality-contents .top-hospitality-contents-block-txt p {
    font-size: 20px;
    line-height: 2.0;
}

/* ãƒˆãƒƒãƒ—ãŠæ–™ç† */
.top-cooking {
    padding: 50px 0 100px;
    position: relative;
}

.top-cooking .container {
    position: relative;
    z-index: 5;
}

.top-cooking .title-h2 {
    position: absolute;
    top: -50px;
    left: 450px;
}

.top-cooking .top-cooking-contents {
    background-color: #E6E5D0;
    margin-top: 50px;
}

.top-cooking .top-cooking-contents .top-cooking-contents-block {
    margin: 0;
    padding: 0;
}

.top-cooking .top-cooking-contents .top-cooking-contents-block img {
    width: 100%;
    height: 100%;
}

.top-cooking .top-cooking-contents .top-cooking-contents-block-txt {
    padding: 40px 30px;
}


.top-cooking .top-cooking-contents .top-cooking-contents-block-txt p {
    font-size: 20px;
    line-height: 2.0;
}

.contents-box {
    display: flex;
    justify-content: space-between;
}

.contents-txt {
    width: 50%;
    padding-right: 40px;
}

.contents-img {
    width: 50%;
}

.contents-img>p {
    width: 50vw;
    margin-right: calc((50vw â€“ 100%) * -1);
}

.contents-img>p>img {
    width: 100%;
}

.top-cooking .contents-txt p.top-cooking-contents-txt-cap {
    color: #fff !important;
    padding-top: 50px;
}

.top-cooking .top-cooking-btm-img {
    position: absolute;
    bottom: -95px;
    right: 0;
    z-index: 6;
}

.top-cooking .top-cooking-btm-img img {
    max-width: 70%;
}

@media only screen and (max-width: 1569.98px) {
    .top-cooking .top-cooking-btm-img {
        display: none;
    }
}

@media only screen and (max-width: 1199.98px) {
    .top-cooking .title-h2 {
        position: relative;
        top: auto;
        left: auto;
        writing-mode: horizontal-tb;
        margin-bottom: 0;
        background-image: none;
        font-size: 36px;
        padding-bottom: 20px;
    }

    .top-cooking .title-h2::before {
        position: absolute;
        content: "";
        background: #d9d4c6;
        height: 1px;
        bottom: 0;
        left: -34px;
        right: -28px;
    }

    .top-cooking .title-h2::after {
        position: absolute;
        content: "";
        background: #d9d4c6;
        height: 1px;
        bottom: -6px;
        left: -22px;
        right: -37px;
    }
}

@media only screen and (max-width: 767.98px) {
    .contents-box {
        display: block;
        width: 100%;
    }

    .contents-txt {
        width: 100%;
        text-align: center !important;
        padding: 0 15px;
    }

    .top-cooking .title-h2 {
        margin: 0 auto;
        padding: 50px 0 20px 0;
        width: 100%;
    }

    .contents-img {
        width: 100%;
    }

    .contents-img>p {
        width: 100%;
    }

    .top-cooking .contents-txt p.top-cooking-contents-txt-cap {
        margin-bottom: 40px;
        text-align: left;
    }
}


/* ############################################ */
/* ã“ã ã‚ã‚Š */
/* ############################################ */
.professionalism .flow-box-top {
    padding-top: 0px;
    position: relative;
    z-index: 2;
}

.professionalism .professionalism-top .title-h2 {
    position: relative;
    color: #111;
    top: auto;
    left: auto;
    writing-mode: horizontal-tb;
    margin-bottom: 0;
    background-image: none;
    font-size: 32px;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.professionalism .professionalism-top .title-h2::before {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: 0;
    left: -34px;
    right: -28px;
}

.professionalism .professionalism-top .title-h2::after {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: -6px;
    left: -22px;
    right: -37px;
}

.professionalism .professionalism-top-cover::after {
    position: absolute;
    content: "";
    background-size: cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: -1100px;
    z-index: 0;
}

.professionalism-meat {
    background-color: #171624;
    padding-bottom: 100px;
}

.professionalism-meat .title-h2 {
    position: relative;
    padding-top: 70px;
    padding-right: 170px;
    top: -40px;
    left: 195px;
    text-align: left;
    z-index: 10;
    letter-spacing: 0.1em;
}

.professionalism-meat .title-h2-2 {
    background: none;
    left: 650px;
    top: -50px;
    z-index: 11;
    position: absolute;
}

.professionalism-meat p {
    color: #fff;
}


.professionalism-parallax h3 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 32px;
    display: inline-block;
    padding: 20px 15px;
    margin-top: -30px;
}

.professionalism-faci {
    background-color: #171624;
    padding: 80px 0 100px;
}

.professionalism-faci h2,
.professionalism-faci p {
    color: #fff !important;
    text-align: left;
    padding-top: 0;
}

.professionalism-faci h2::before {
    display: none;
}

.professionalism-faci h2::after {
    display: none;
    ;
}

.professionalism-faci h3 {
    display: block;
    font-size: 28px;
    width: 100%;
    color: #fff;
    margin-bottom: 5px;
}

.professionalism-party {
    padding: 80px 0 100px;
}

.professionalism-party-column-wrap {
    background-color: #171624;
    padding: 60px 100px 50px;
    margin-top: 100px;
    margin-left: -80px;
    display: inline-block;
}

.professionalism-party-column-wrap h2 {
    color: #fff;
    margin-bottom: 15px;
}

.professionalism-party-ocho {
    position: relative;
    margin-top: -50px;
    z-index: 8;
}

@media only screen and (min-width: 992px) {
    .pc-view {
        display: block;
    }

    .sp-view {
        display: none;
    }
}

@media only screen and (max-width: 991.98px) {

    .professionalism-meat .title-h2,
    .professionalism-meat .title-h2-2 {
        top: auto;
        left: auto;
        writing-mode: horizontal-tb;
        background-image: none;
        font-size: 32px;
        padding-bottom: 0;
        margin-bottom: 0;
        padding-right: 0;
    }

    .professionalism-meat .title-h2-2 {
        padding-top: 100px;
        position: relative;
    }

    .professionalism-meat .title-h2-2::before {
        position: absolute;
        content: "";
        background: #d9d4c6;
        height: 1px;
        bottom: 0;
        left: -34px;
        right: -28px;
    }

    .professionalism-meat .title-h2-2::after {
        position: absolute;
        content: "";
        background: #d9d4c6;
        height: 1px;
        bottom: -6px;
        left: -22px;
        right: -37px;
    }

    .professionalism .professionalism-top-cover::after {
        background-image: none;
    }

    .pc-view {
        display: none;
    }
}

@media only screen and (max-width: 767.98px) {
    .header-cover-pattern h2 {
        font-size: 23px;
        margin-bottom: 0;
    }

    .professionalism .professionalism-top .title-h2 {
        padding-top: 0;
        padding-right: 0;
    }

    .column-outside-left {
        padding-top: 40px;
    }

    .professionalism-meat .title-h2 {
        padding-top: 0;
    }

    .professionalism-meat .title-h2-2 {
        padding-bottom: 50px;
        position: relative;
    }

    .professionalism-party-column-wrap {
        background-color: #171624;
        width: 100%;
        padding: 60px 100px 50px;
        margin-top: 100px;
        margin-left: 0;
        display: inline-block;
    }

    .professionalism-party-column-wrap {
        margin-top: 0;
        padding: 50px 30px;
    }

    .professionalism-party-ocho {
        margin-top: 0;
        text-align: center;
    }
}


/* ############################################ */
/* ã—ã‚ƒã¶ã—ã‚ƒã¶ã€€*/
/* ############################################ */
.shabu-intro {
    padding: 80px 0 80px;
}

.shabu-menu .title-h2 {
    padding-right: 175px;
}

.shabu-menu-course {
    padding-bottom: 100px;
}

.shabu-menu-course h2 {
    color: #fff;
    font-size: 40px;
    padding-left: 0;
    padding-bottom: 30px;
}

.shabu-menu-course h2::before {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: 0;
    left: -34px;
    right: -28px;
}

.shabu-menu-course h2::after {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: -6px;
    left: -22px;
    right: -37px;
}

.shabu-menu-course h3 {
    color: #EDCC93;
    text-align: left;
    padding-left: 0;
    font-size: 30px;
    padding-top: 30px;
}

.shabu-menu-course p {
    color: #fff;
    font-size: 20px;
}

.shabu-course-add {
    padding: 80px 0 100px;
}

.shabu-course-add h4 {
    background-color: #171624;
    color: #fff;
    text-align: center;
    padding: 15px;
}

.shabu-course-add dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}

.shabu-course-add dt {
    flex-basis: 70%;
    padding: 20px;
    margin-bottom: 0;
    border-bottom: 1px dotted #999;
}

.shabu-course-add dd {
    flex-basis: 30%;
    padding: 20px;
    border-bottom: 1px dotted #999;
    text-align: right;
}

@media only screen and (max-width: 767.98px) {
    .shabu-menu-course h2 {
        font-size: 32px;
        text-align: left;
    }

    .shabu-menu h2.title-h2 {
        position: relative;
        width: 100%;
        top: auto;
        left: auto;
        writing-mode: horizontal-tb;
        background-image: none;
        margin: 0 auto;
        padding: 0 0 30px;
        text-align: center !important;
    }
}

@media screen and (max-width: 559px) {
    .shabu-course-add dl {
        flex-flow: column;
    }

    .shabu-course-add dt {
        border: none;
    }

    .shabu-course-add dd {
        margin-top: -60px;
    }
}


/* ############################################ */
/* ãŠå“æ›¸ãã€€*/
/* ############################################ */
.menu-intro {
    padding: 80px 0 80px;
}

.menu-visual {
    padding-bottom: 50px;
}

.menu-visual .title-h2 {
    padding-right: 135px;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
}

.menu-visual-img-box {
    margin-bottom: 80px;
}

.menu-visual h3 {
    font-size: 40px;
    color: #fff;
    ;
    padding-left: 0;
    padding-bottom: 10px;
    margin-bottom: 0;
}

.menu-visual h3::before {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: 0;
    left: -15px;
    right: 55px;
}

.menu-visual h3::after {
    position: absolute;
    content: "";
    background: #d9d4c6;
    height: 1px;
    bottom: -6px;
    left: 10px;
    right: 25px;
}

.menu-visual h4 {
    color: #EDCC93;
    text-align: left;
    padding-left: 0;
    font-size: 30px;
}

.menu-visual p {
    color: #fff;
    font-size: 14px;
    text-align: center;
    padding-top: 20px;
}

.menu-visual-sep-title {
    text-align: center;
    padding: 20px 0;
    margin: 50px 0 80px;
}

.menu-visual-sep-title h5 {
    font-size: 26px;
    margin-bottom: 0;
}

.menu-visual dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    margin: 0;
}

.menu-visual dt {
    flex-basis: 70%;
    padding: 20px;
    margin-bottom: 0;
    border-bottom: 1px dotted #999;
    color: #fff;
}

.menu-visual dd {
    flex-basis: 30%;
    padding: 20px;
    border-bottom: 1px dotted #999;
    text-align: right;
    color: #fff;
}


.drink-list .title-h2 {
    padding-right: 165px;
    color: #111;
    right: -200px;
    position: relative;
}



.drink-list .container-fuild {
    border: solid 15px #171624;
}

.menu-drink-wrap {
    padding: 80px 0;
}

.menu-drink-wrap h4 {
    background-color: #171624;
    color: #fff;
    text-align: center;
    padding: 15px;
}


.menu-drink-wrap dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    margin: 0;
}

.menu-drink-wrap dt {
    flex-basis: 70%;
    padding: 20px;
    margin-bottom: 0;
    border-bottom: 1px dotted #999;
}

.menu-drink-wrap dd {
    flex-basis: 30%;
    padding: 20px;
    border-bottom: 1px dotted #999;
    text-align: right;
}

.menu-drink-cat {
    padding: 10px 0 40px;
}

.menu-drink-cat h5 {
    width: 100%;
    display: block;
    padding: 25px 0 10px;
}

.menu-drink-cat p {
    font-size: 14px;
    padding-top: 20px;
}

.menu-drink-cat h5,
.menu-drink-cat p {
    padding-left: 15px;
}

@media screen and (max-width: 991.98px) {
    .menu-visual {
        background-image: none;
    }

    .menu-visual .title-h2,
    .drink-list .title-h2 {
        position: relative;
        width: 100%;
        top: inherit;
        left: inherit;
        right: inherit;
        writing-mode: horizontal-tb;
        background-image: none;
        margin: 0 auto;
        padding: 0 0 30px;
        text-align: center !important;
    }

    .menu-visual .flow-box,
    .drink-list .flow-box {
        display: block;
        padding: 40px 15px;
        flex: none;
    }

    .menu-visual .column .drink-list .column {
        width: 100%;
    }

    .menu-visual .column img,
    .drink-list .column img {
        width: 100%;
    }

    .menu-visual .column-outside-left,
    .drink-list .column-outside-left {
        margin: 0;
        flex: none;
    }

    .menu-visual .column-outside-right,
    .drink-list .column-outside-right {
        margin: 0;
        flex: none;
        width: 100%;
    }

    .menu-drink-wrap dt {
        flex-basis: 50%;
        padding: 20px;
        margin-bottom: 0;
        border-bottom: 1px dotted #999;
    }

    .menu-drink-wrap dd {
        flex-basis: 50%;
        padding: 20px;
        border-bottom: 1px dotted #999;
        text-align: right;
    }
}

@media screen and (max-width: 559px) {
    .menu-drink-wrap dl {
        flex-flow: column;
    }

    .menu-drink-wrap dt {
        border: none;
    }

    .menu-drink-wrap dd {
        margin-top: 0;
        padding-top: 0;
        text-align: left;
    }
}





/* ############################################ */
/* ã‚¢ã‚¯ã‚»ã‚¹ã€€*/
/* ############################################ */
.access .header-cover {
    background-size: cover;

}

.accessinfo .container {
    padding-top: 50px;
    padding-bottom: 45px;
}

.access-contents-box {
    display: flex;
    justify-content: space-between;
}

.access-contents-txt {
    width: 50%;
    padding-right: 40px;
}

.access-contents-txt p {
    font-size: 18px !important;
    line-height: 3.0em;
}

.access-contents-img {
    width: 50%;
}

.access-contents-img>p {
    width: 50vw;
    margin-right: calc((50vw â€“ 100%) * -1);
    margin-bottom: 0;
}

.access-contents-img>p>img {
    width: 100%;
}

.gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}

.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

@media only screen and (max-width: 767.98px) {
    .access-contents-box {
        display: block;
        width: 100%;
    }

    .access-contents-txt,
    .access-contents-img,
    .access-contents-img>p {
        width: 100%;
        padding: 0 15px;
    }

    .access-contents-txt p {
        font-size: 16px !important;
    }

    .access-contents-img>p img {
        width: 100%;
    }
}




/* ############################################ */
/* ãŠçŸ¥ã‚‰ã›ä¸€è¦§ */
/* ############################################ */
.archive-single-contents-wrap {
    padding-bottom: 100px;
}

.information-bred {
    font-size: 12px !important;
    padding: 15px 0 0;
}

.information-bred a {
    color: #700000;
    text-decoration: none;
}

.information-bred a:hover {
    color: #b93838;
    text-decoration: underline;
}

.information-archive-list-wrap {
    padding: 40px 15px 0;
}

.information-archive-list-wrap-inner {
    background-color: #fff;
    padding: 10px 15px 15px;
}

.information-archive-list-wrap img,
.information-archive-list-wrap h3,
.information-archive-list-wrap p {
    margin: 0;
    padding: 0;
}

.information-archive-list-wrap-img {
    line-height: 0;
}

.information-archive-list-wrap h3 {
    font-size: 18px;
}

.information-archive-list-wrap .information-archive-list-wrap-date,
.information-archive-list-wrap .information-archive-list-wrap-excerpt {
    font-size: 14px;
    padding-top: 8px;
}

.information-archive-list-wrap a {
    color: #111 !important;
}

.information-archive-list-wrap a:hover {
    opacity: 0.6 !important;
    transition: 1.0s !important;
}


/* ############################################ */
/* ãŠçŸ¥ã‚‰ã›è©³ç´° */
/* ############################################ */


.information-detail-wrap {
    background-color: #fff;
    padding-top: 30px;
    padding-bottom: 60px;
}

.information-detail-wrap h2 {
    position: relative;
    padding: 1.5rem 0.5rem;
    text-align: left;
    margin-bottom: 5px;
}

.information-detail-wrap h2:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.information-detail-wrap .information-detail-date {
    font-size: 14px;
    padding-left: 0.5rem;
}

.information-detail-topics-wrap {
    padding-top: 30px;
}

.information-detail-topics-wrap {
    letter-spacing: 0.2em !important;
    line-height: 2.0 !important;
}


/* ############################################ */
/* ãƒšãƒ¼ã‚¸ä¸‹éƒ¨äºˆç´„ */
/* ############################################ */
.bottom-reserve {
    background-size: cover;
    text-align: center;
    color: #fff;
}

.bottom-reserve-wrap {
    padding: 25px 0 10px;
}

.bottom-reserve h4 {
    margin-bottom: 0;
}

.btm-reserve-btn {
    margin: 16px 0px;
}

.btm-reserve-btn a {
    padding: 20px 50px;
    display: inline-block;
}

.btm-reserve-tel {
    margin: 10px 0 !important;
    font-size: 28px;
}

@media only screen and (max-width: 575.98px) {
    .btm-reserve-btn a {
        padding: 15px 30px;
        display: inline-block;
    }
}

/* ############################################ */
/* ãŠå•ã„åˆã‚ã› */
/* ############################################ */


.form-wrap {
    padding: 80px 0 100px;
}

/* å¿…é ˆãƒžãƒ¼ã‚¯ */
.must {
    color: #fff;
    margin-right: 10px;
    padding: 6px 10px;
    background: #F92931;
    border-radius: 20px;
}

/* ä»»æ„ãƒžãƒ¼ã‚¯ */
.free {
    color: #fff;
    margin-right: 10px;
    padding: 6px 10px;
    background: #424242;
    border-radius: 20px;
}

/* é …ç›®åã‚’å¤ªå­—ã«ã™ã‚‹ */
form p {
    font-weight: 600;
}

/* å…¥åŠ›é …ç›®ã‚’è¦‹ã‚„ã™ãã™ã‚‹ */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
}

/* å¿…é ˆé …ç›®ã®å…¥åŠ›æ¬„ã‚’é»„è‰²ã«ã™ã‚‹ */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
    background: rgba(255, 255, 142, 0.46);
}

/* é€ä¿¡ãƒœã‚¿ãƒ³ã‚’è¦‹ã‚„ã™ãã™ã‚‹ */
input.wpcf7-submit {
    width: 100%;
    height: 80px;
    background: #27c038;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
}

/* ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’è¦‹ã‚„ã™ãã™ã‚‹ */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
}

/* ############################################ */
/* footer */
/* ############################################ */
.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

.site-footer {
    background-color: #171624;
    border: none;
}

.site-footer-content {
    padding-top: 25px;
}

.site-footer p {
    margin-bottom: 0;
}

.site-footer-copyright {
    padding-top: 0;
}

.site-footer .footer-link {
    text-align: right;
}

.site-footer .footer-link li {
    list-style: none;
    padding: 0 10px;
    display: inline;
}

.site-footer .footer-link li a {
    text-decoration: none;
}

.site-footer .footer-link li a:hover {
    padding-bottom: 10px;
    border-bottom: 1px solid #700000;
    transition: all .5s ease-out;
}

.site-footer-copyright p {
    font-size: 11px;
}

@media only screen and (max-width: 991.98px) {
    .site-footer p {
        text-align: center;
    }

    .site-footer .footer-link {
        text-align: center;
    }

    .site-footer .footer-link li {
        list-style: none;
        padding: 25px 0 0;
        display: block;
        text-align: center;
    }
}

@media only screen and (max-width: 767.98px) {
    .site-footer {
        padding-bottom: 60px;
    }
}

.image-container {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.image-container img {
    width: 200px;
    height: 200px;
    display: block;
    transition: transform 0.5s ease;
    position: relative;

}

/* .image-container:hover img {
                transform: scale(1.05);
            } */

.overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    display: flex;
    justify-content: center;
    padding: 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.image-container:hover .overlay {
    opacity: 1;
}

.caption {
    font-size: 1rem;
}

/* Optional fullscreen viewer */
.fullscreen-img {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.fullscreen-img img {
    max-width: 90%;
    max-height: 90%;
}

.fullscreen-img.active {
    display: flex;
}