﻿@import url("https://fonts.googleapis.com/css?family=Lobster&display=swap");

html, body, div, span, h1, h2, h3, h4, h5, h6, p, address, img, small, strong, i, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figcaption, figure, footer, header, nav, section {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

body {
    line-height: 1;
    word-wrap: break-word;
    word-break: break-word
}

article, aside, figcaption, figure, footer, header, nav, section {
    display: block
}

ol, ul {
    list-style: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: inherit
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

li img, dt img, dd img {
    vertical-align: bottom
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal
}

* {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0
}

p em {
    padding-right: 0.4em
}

.hide {
    display: none !important
}

.fixSquare, .fixSide {
    width: 100%;
    height: auto
}

.fixVertical {
    width: auto
}

.linkColor {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.postsNum {
    display: inline-block;
    margin-left: 5px;
    font-size: 12px
}

.postsNumLine {
    vertical-align: middle
}

.fixedBannerWrap {
    position: fixed;
    z-index: 1001;
    -webkit-transition: 0.5s;
    transition: 0.5s
}

@-webkit-keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes show {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.instagramHeading {
    line-height: 1;
    text-align: center
}

.instagramLogo {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-right: 20px;
    background-image: url('/template/img/logo_instagram.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}

.instagramTitle {
    display: inline-block;
    width: 120px;
    height: 40px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}

.instagramListWrap {
    margin-top: 40px
}

.instagramList > li {
    position: relative;
    float: left;
    overflow: hidden;
    width: calc((100% - 5px * 2) / 3 - 0.01px);
    height: 0;
    margin-top: 6px;
    margin-left: 5px;
    padding-top: calc((100% - 5px * 2) / 3 - 0.01px);
    background-color: #ebebeb
}

    .instagramList > li:nth-child(3n - 2) {
        margin-left: 0
    }

    .instagramList > li:nth-child(-n + 3) {
        margin-top: 0
    }

    .instagramList > li:hover .instagramListItemDetail {
        opacity: 1
    }

.instagramList:after {
    content: '';
    display: block;
    clear: both
}

.instagramMultiple:before {
    content: '';
    display: block;
    z-index: 1;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 14px;
    height: 14px;
    background-image: url('/template/img/icn_multiple_instagram.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center
}

.instagramListItemInner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer
}

.instagramListItemThumbnail {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.instagramListItemDetail {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: rgba(0,0,0,0.8);
    color: #fff;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

    .instagramListItemDetail:after {
        content: '';
        display: block;
        z-index: 0;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 20px;
        width: 25px;
        height: 26px;
        margin: auto;
        background-image: url('/template/img/instagram/icn_zoom_instagram.svg');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center
    }

.instagramListItemDate {
    color: #7f7f7f;
    font-size: 12px;
    line-height: 2
}

.instagramListItemText {
    font-size: 14px;
    line-height: 1.7
}

.instagramModal .modalCassette {
    width: 864px
}

.instagramModal .modalImg {
    width: calc(100% - 270px - 16px);
    max-width: 480px;
    overflow: visible
}

.instagramModal .nextModalBtn.hidden, .instagramModal .prevModalBtn.hidden {
    visibility: hidden
}

.instagramModal:not(.isActive) .instagramModalCarouselInterface.isActive {
    visibility: hidden
}

.instagramModalImgDatas {
    height: 100%;
    overflow: hidden
}

.instagramModalItemImgWrap {
    width: 100%;
    height: 100%
}

.instagramModalDate {
    color: #999
}

.instagramModalCaption {
    margin-top: 20px
}

.instagramModalImgDatas [data-instagram-item], .instagramModalInfoDatas [data-instagram-item] {
    display: none;
    position: relative;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    -webkit-animation-name: modalFadeInInstagram;
    animation-name: modalFadeInInstagram;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s
}

.instagramModalImgDatas .current[data-instagram-item], .instagramModalInfoDatas .current[data-instagram-item] {
    display: block;
    opacity: 1
}

.instagramModalCarousel img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.instagramModalCarouselInterface {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    visibility: hidden
}

    .instagramModalCarouselInterface.isActive {
        visibility: visible
    }

    .instagramModalCarouselInterface .prevImage, .instagramModalCarouselInterface .nextImage {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 30px;
        height: 30px;
        margin: auto;
        background-color: rgba(255,255,255,0.8);
        border-radius: 50%;
        cursor: pointer
    }

        .instagramModalCarouselInterface .prevImage.hidden, .instagramModalCarouselInterface .nextImage.hidden {
            visibility: hidden
        }

        .instagramModalCarouselInterface .prevImage:before, .instagramModalCarouselInterface .nextImage:before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            width: 6px;
            height: 6px;
            border-right: 2px solid #999;
            border-bottom: 2px solid #999
        }

    .instagramModalCarouselInterface .prevImage {
        left: 10px
    }

        .instagramModalCarouselInterface .prevImage:before {
            left: 4px;
            -webkit-transform: rotate(135deg);
            -ms-transform: rotate(135deg);
            transform: rotate(135deg)
        }

    .instagramModalCarouselInterface .nextImage {
        right: 10px
    }

        .instagramModalCarouselInterface .nextImage:before {
            right: 4px;
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg)
        }

    .instagramModalCarouselInterface .imageIndicator {
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0;
        margin-bottom: -35px
    }

        .instagramModalCarouselInterface .imageIndicator [data-instagram-carousel-item] {
            display: inline-block;
            padding: 5px;
            cursor: pointer
        }

            .instagramModalCarouselInterface .imageIndicator [data-instagram-carousel-item]:before {
                content: '';
                display: block;
                width: 9px;
                height: 9px;
                background-color: #999;
                border-radius: 50%
            }

        .instagramModalCarouselInterface .imageIndicator .isActive[data-instagram-carousel-item]:before {
            background-color: #000
        }

.instagramModalCarouselList {
    height: 100%;
    overflow: hidden
}

.instagramModal.isActive .current .instagramModalCarouselList {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease
}

.instagramModalCarouselList > li {
    float: left;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative
}

@-webkit-keyframes modalFadeInInstagram {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block
    }

    99% {
        display: block
    }

    100% {
        opacity: 1
    }
}

@keyframes modalFadeInInstagram {
    0% {
        display: none;
        opacity: 0
    }

    1% {
        display: block
    }

    99% {
        display: block
    }

    100% {
        opacity: 1
    }
}

.modalWindow {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in
}

    .modalWindow.isActive {
        opacity: 1;
        visibility: visible
    }

.modalBackground {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 101vh;
    background-color: rgba(0,0,0,0.95);
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.modalBtnWrap {
    position: relative;
    top: 50%;
    width: 864px;
    max-width: 80%;
    height: 0;
    margin: 0 auto
}

.nextModalBtn, .prevModalBtn {
    position: absolute;
    top: 50%;
    z-index: 97;
    padding: 35px 15px 35px 35px;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    opacity: 0.6;
    cursor: pointer
}

    .nextModalBtn:hover, .prevModalBtn:hover {
        opacity: 1
    }

    .nextModalBtn:before, .prevModalBtn:before, .nextModalBtn:after, .prevModalBtn:after {
        content: '';
        display: block;
        width: 28px;
        height: 2px;
        border-radius: 1px
    }

    .nextModalBtn:before, .prevModalBtn:before {
        background-color: #fff;
        -webkit-transform: rotate(50deg) translateX(-12px);
        -ms-transform: rotate(50deg) translateX(-12px);
        transform: rotate(50deg) translateX(-12px)
    }

    .nextModalBtn:after, .prevModalBtn:after {
        background-color: #fff;
        -webkit-transform: rotate(-50deg) translateX(-12px);
        -ms-transform: rotate(-50deg) translateX(-12px);
        transform: rotate(-50deg) translateX(-12px)
    }

.nextModalBtn {
    right: -150px;
    -webkit-transform: translate(-50%, -50%) scale(2);
    -ms-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2)
}

    .nextModalBtn:hover {
        -webkit-transform: translate(-45%, -50%) scale(2);
        -ms-transform: translate(-45%, -50%) scale(2);
        transform: translate(-45%, -50%) scale(2)
    }

.prevModalBtn {
    left: -150px;
    -webkit-transform: rotate(180deg) translate(-50%, 50%) scale(2);
    -ms-transform: rotate(180deg) translate(-50%, 50%) scale(2);
    transform: rotate(180deg) translate(-50%, 50%) scale(2)
}

    .prevModalBtn:hover {
        -webkit-transform: rotate(180deg) translate(-45%, 50%) scale(2);
        -ms-transform: rotate(180deg) translate(-45%, 50%) scale(2);
        transform: rotate(180deg) translate(-45%, 50%) scale(2)
    }

.modalCassette {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 80%;
    height: 592px;
    max-height: 90%;
    line-height: 1.5;
    background-color: #fff;
    border-radius: 10px
}

.closeModalBtn {
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 99;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: pointer
}

.closeModalBtnInner {
    width: 20px;
    height: 20px
}

    .closeModalBtnInner:before, .closeModalBtnInner:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 20px;
        height: 2px;
        background-color: #999
    }

    .closeModalBtnInner:before {
        -webkit-transform: translate(0, 0) rotate(45deg);
        -ms-transform: translate(0, 0) rotate(45deg);
        transform: translate(0, 0) rotate(45deg)
    }

    .closeModalBtnInner:after {
        -webkit-transform: translate(0, 0) rotate(-45deg);
        -ms-transform: translate(0, 0) rotate(-45deg);
        transform: translate(0, 0) rotate(-45deg)
    }

.modalHead {
    position: absolute;
    top: 0;
    z-index: 99;
    width: 100%;
    padding-top: 20px;
    color: #333
}

.modalNum {
    font-size: 18px;
    font-weight: bold;
    text-align: center
}

.modalBody {
    position: relative;
    z-index: 98;
    height: 100%;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.modalContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding: 50px 30px
}

    .modalContent.prevModalContent {
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    .modalContent.nextModalContent {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%)
    }

.modalImg {
    display: inline-block;
    position: relative;
    overflow: hidden;
    width: 480px;
    height: 480px;
    max-height: 100%;
    text-align: center
}

    .modalImg > img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto
    }

    .modalImg + .modalInfo {
        width: 270px;
        margin-left: 16px;
        padding: 16px 0 16px 16px;
        border-left: 1px solid #ccc
    }

.modalInfo {
    display: inline-block;
    width: 432px;
    height: 480px;
    max-height: 100%;
    overflow-y: auto;
    color: #333
}

.modalTitle {
    font-size: 18px;
    font-weight: bold
}

.modalInfoList {
    margin-top: 10px;
    font-size: 14px
}

    .modalInfoList dl {
        display: table
    }

    .modalInfoList dt {
        display: table-cell;
        width: 8em
    }

    .modalInfoList dd {
        display: table-cell
    }

.modalCapacityCaptionType {
    font-size: 11px
}

.modalPrice {
    margin-top: 3px;
    font-size: 18px
}

.modalTxt {
    margin-top: 16px;
    font-size: 12px
}

.modalSeatInfoList {
    margin-top: 16px;
    font-size: 12px;
    border-bottom: 1px dotted #ccc
}

    .modalSeatInfoList > li {
        padding: 10px 0;
        border-top: 1px dotted #ccc
    }

.modalSeatInfoRow {
    display: table
}

    .modalSeatInfoRow > dt {
        display: table-cell;
        width: 7em
    }

    .modalSeatInfoRow > dd {
        display: table-cell
    }

.modalSeatInfoCaption {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.5
}

.hide + .modalPrice, .hide + .hide + .modalSeatInfoList, .hide + .hide + .hide + .modalTxt {
    margin-top: 0
}

.variationsList, .subVariationsList {
    padding-top: 20px;
    border-top: 1px dotted #ccc
}

    .variationsList > li + li, .subVariationsList > li + li {
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px dotted #ccc
    }

.variationsList {
    margin-top: 30px
}

.subVariationsList {
    margin-top: 20px;
    margin-left: 30px
}

.variationsTitle {
    font-size: 14px;
    font-weight: bold
}

.subVariationsTitle {
    font-size: 14px
}

.variationsPrice, .subVariationsPrice {
    margin-top: 5px;
    font-size: 14px
}

.staticModalToggleEffect {
    visibility: hidden;
    opacity: 0
}

    .staticModalToggleEffect .modalImg, .staticModalToggleEffect .modalInfo {
        visibility: hidden;
        opacity: 0;
        -webkit-animation-name: modalFadeIn;
        animation-name: modalFadeIn;
        -webkit-animation-duration: 0.3s;
        animation-duration: 0.3s
    }

    .staticModalToggleEffect.isActive {
        visibility: visible;
        opacity: 1
    }

        .staticModalToggleEffect.isActive .modalImg, .staticModalToggleEffect.isActive .modalInfo {
            visibility: visible;
            opacity: 1;
            -webkit-animation-name: modalFadeIn;
            animation-name: modalFadeIn;
            -webkit-animation-duration: 0.3s;
            animation-duration: 0.3s
        }

@-webkit-keyframes modalFadeIn {
    0% {
        visibility: hidden;
        opacity: 0
    }

    1% {
        visibility: visible
    }

    99% {
        visibility: visible
    }

    100% {
        opacity: 1
    }
}

@keyframes modalFadeIn {
    0% {
        visibility: hidden;
        opacity: 0
    }

    1% {
        visibility: visible
    }

    99% {
        visibility: visible
    }

    100% {
        opacity: 1
    }
}

.evcHead {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 64px;
    margin-top: 10px;
    color: #333;
    border: solid 1px #ccc;
    border-top: solid 4px #ccc;
    background: #fff
}

.evcHeadLast, .evcHeadNext, .evcHeadCurrent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

body[data-device="pc"] .evcMonthLayoutHead .evcHeadCurrent:hover {
    color: #aeaeae
}

    body[data-device="pc"] .evcMonthLayoutHead .evcHeadCurrent:hover:before, body[data-device="pc"] .evcMonthLayoutHead .evcHeadCurrent:hover .evcHeadLastInner:before, body[data-device="pc"] .evcMonthLayoutHead .evcHeadCurrent:hover .evcHeadNextInner:before {
        border-color: #aeaeae
    }

    body[data-device="pc"] .evcMonthLayoutHead .evcHeadCurrent:hover .evcHeadYear:before {
        opacity: 0.7
    }

.evcHeadLast.isDisable, .evcHeadNext.isDisable {
    cursor: default;
    color: #aeaeae
}

    .evcHeadLast.isDisable .evcHeadLastInner:before, .evcHeadNext.isDisable .evcHeadLastInner:before, .evcHeadLast.isDisable .evcHeadNextInner:before, .evcHeadNext.isDisable .evcHeadNextInner:before {
        border-color: #aeaeae
    }

body[data-device="pc"] .evcHeadLast:hover, body[data-device="pc"] .evcHeadNext:hover {
    color: #aeaeae
}

    body[data-device="pc"] .evcHeadLast:hover .evcHeadLastInner:before, body[data-device="pc"] .evcHeadNext:hover .evcHeadLastInner:before, body[data-device="pc"] .evcHeadLast:hover .evcHeadNextInner:before, body[data-device="pc"] .evcHeadNext:hover .evcHeadNextInner:before {
        border-color: #aeaeae
    }

.evcHeadCurrent {
    min-width: 120px;
    padding-right: 20px;
    font-size: 24px
}

    .evcHeadCurrent .evcHeadNum {
        font-weight: bold
    }

    .evcHeadCurrent .evcHeadUnit {
        margin: 0 5px;
        font-size: 12px
    }

.evcMonthLayoutHead .evcHeadCurrent {
    position: relative;
    cursor: pointer
}

    .evcMonthLayoutHead .evcHeadCurrent:before {
        content: '';
        position: absolute;
        top: 0;
        right: 5px;
        bottom: 0;
        left: auto;
        display: inline-block;
        width: 8px;
        height: 8px;
        margin: auto;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition: opacity 0.3s, border-color 0.3s;
        transition: opacity 0.3s, border-color 0.3s
    }

    .evcMonthLayoutHead .evcHeadCurrent:before {
        border-bottom: solid 2px #666;
        border-right: solid 2px #666
    }

    .evcMonthLayoutHead .evcHeadCurrent.isActive:before {
        -webkit-transform: translateY(5px) rotate(225deg);
        -ms-transform: translateY(5px) rotate(225deg);
        transform: translateY(5px) rotate(225deg)
    }

    .evcMonthLayoutHead .evcHeadCurrent .evcHeadYear {
        position: relative
    }

        .evcMonthLayoutHead .evcHeadCurrent .evcHeadYear:before {
            content: url('../../../../img/eventCalendar/calendarIcon-cbbcd87ddcd392dbe0875419ca8baf21d72ce66807c843c3926a73259b808e2e.svg');
            position: absolute;
            left: -30px;
            top: 1px;
            margin-right: 10px;
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

.evcHeadLast, .evcHeadNext {
    position: relative;
    min-width: 95px;
    height: 100%;
    cursor: pointer
}

    .evcHeadLast:before, .evcHeadNext:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        display: inline-block;
        width: 1px;
        height: 26px;
        margin: auto;
        background-color: #ccc
    }

.evcMonthLayoutHead .evcHeadLastInner, .evcMonthLayoutHead .evcHeadNextInner {
    font-size: 18px
}

    .evcMonthLayoutHead .evcHeadLastInner .evcHeadUnit, .evcMonthLayoutHead .evcHeadNextInner .evcHeadUnit {
        margin: 0 3px;
        font-size: 10px
    }

.evcHeadLast {
    padding-left: 30px;
    padding-right: 10px
}

    .evcHeadLast:before {
        right: 0
    }

    .evcHeadLast .evcHeadLastInner {
        padding-left: 3px
    }

        .evcHeadLast .evcHeadLastInner:before {
            content: '';
            position: absolute;
            top: 0;
            right: auto;
            bottom: 0;
            left: 20px;
            display: inline-block;
            width: 8px;
            height: 8px;
            margin: auto;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg);
            -webkit-transition: opacity 0.3s, border-color 0.3s;
            transition: opacity 0.3s, border-color 0.3s
        }

        .evcHeadLast .evcHeadLastInner:before {
            border-bottom: solid 3px #666;
            border-left: solid 3px #666
        }

.evcHeadNext {
    padding-left: 10px;
    padding-right: 30px
}

    .evcHeadNext:before {
        left: 0
    }

    .evcHeadNext .evcHeadNextInner {
        padding-right: 3px
    }

        .evcHeadNext .evcHeadNextInner:before {
            content: '';
            position: absolute;
            top: 0;
            right: 20px;
            bottom: 0;
            left: auto;
            display: inline-block;
            width: 8px;
            height: 8px;
            margin: auto;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg);
            -webkit-transition: opacity 0.3s, border-color 0.3s;
            transition: opacity 0.3s, border-color 0.3s
        }

        .evcHeadNext .evcHeadNextInner:before {
            border-top: solid 3px #666;
            border-right: solid 3px #666
        }

.evcWeekLayoutHead .evcHeadLastInner, .evcWeekLayoutHead .evcHeadNextInner {
    font-size: 16px
}

.evcWrap[data-calendartype="list_week"] .evcHeadMonth:last-child, .evcContents[data-calendartype="list_week"] .evcHeadMonth:last-child {
    position: relative;
    margin-left: 70px
}

    .evcWrap[data-calendartype="list_week"] .evcHeadMonth:last-child:before, .evcContents[data-calendartype="list_week"] .evcHeadMonth:last-child:before {
        content: '';
        position: absolute;
        top: 50%;
        left: -63px;
        display: block;
        width: 50px;
        height: 1px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        background: #333
    }

.evcBlockDetailWindow {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
    width: 425px;
    height: 385px;
    padding: 12px;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.15s, visibility 0.15s;
    transition: opacity 0.15s, visibility 0.15s
}

    .evcBlockDetailWindow.isVisible {
        opacity: 1;
        visibility: visible
    }

        .evcBlockDetailWindow.isVisible.topRight:before, .evcBlockDetailWindow.isVisible.topLeft:before, .evcBlockDetailWindow.isVisible.bottomRight:before, .evcBlockDetailWindow.isVisible.bottomLeft:before, .evcBlockDetailWindow.isVisible.topRight:after, .evcBlockDetailWindow.isVisible.topLeft:after, .evcBlockDetailWindow.isVisible.bottomRight:after, .evcBlockDetailWindow.isVisible.bottomLeft:after {
            content: '';
            position: absolute;
            border-style: solid
        }

        .evcBlockDetailWindow.isVisible.topRight:after, .evcBlockDetailWindow.isVisible.topLeft:after, .evcBlockDetailWindow.isVisible.bottomRight:after, .evcBlockDetailWindow.isVisible.bottomLeft:after {
            z-index: 1
        }

        .evcBlockDetailWindow.isVisible.topLeft:before, .evcBlockDetailWindow.isVisible.topLeft:after {
            top: 0;
            right: 0;
            -webkit-transform: translate(16px, 46px);
            -ms-transform: translate(16px, 46px);
            transform: translate(16px, 46px);
            border-width: 10px 0 10px 12px
        }

        .evcBlockDetailWindow.isVisible.topLeft:after {
            border-width: 8px 0 8px 10px;
            border-color: transparent transparent transparent #fff;
            -webkit-transform: translate(9px, 48px);
            -ms-transform: translate(9px, 48px);
            transform: translate(9px, 48px)
        }

        .evcBlockDetailWindow.isVisible.topRight:before, .evcBlockDetailWindow.isVisible.topRight:after {
            top: 0;
            left: 0;
            -webkit-transform: translate(-16px, 46px);
            -ms-transform: translate(-16px, 46px);
            transform: translate(-16px, 46px);
            border-width: 10px 12px 10px 0
        }

        .evcBlockDetailWindow.isVisible.topRight:after {
            border-width: 8px 10px 8px 0;
            border-color: transparent #fff transparent transparent;
            -webkit-transform: translate(-9px, 48px);
            -ms-transform: translate(-9px, 48px);
            transform: translate(-9px, 48px)
        }

        .evcBlockDetailWindow.isVisible.bottomLeft:before, .evcBlockDetailWindow.isVisible.bottomLeft:after {
            bottom: 0;
            right: 0;
            -webkit-transform: translate(16px, -46px);
            -ms-transform: translate(16px, -46px);
            transform: translate(16px, -46px);
            border-width: 10px 0 10px 12px
        }

        .evcBlockDetailWindow.isVisible.bottomLeft:after {
            border-width: 8px 0 8px 10px;
            border-color: transparent transparent transparent #fff;
            -webkit-transform: translate(9px, -48px);
            -ms-transform: translate(9px, -48px);
            transform: translate(9px, -48px)
        }

        .evcBlockDetailWindow.isVisible.bottomRight:before, .evcBlockDetailWindow.isVisible.bottomRight:after {
            bottom: 0;
            left: 0;
            -webkit-transform: translate(-16px, -46px);
            -ms-transform: translate(-16px, -46px);
            transform: translate(-16px, -46px);
            border-width: 10px 12px 10px 0
        }

        .evcBlockDetailWindow.isVisible.bottomRight:after {
            border-width: 8px 10px 8px 0;
            border-color: transparent #fff transparent transparent;
            -webkit-transform: translate(-9px, -48px);
            -ms-transform: translate(-9px, -48px);
            transform: translate(-9px, -48px)
        }

.evcSelectWindow {
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    z-index: 9;
    width: 350px;
    margin: auto;
    padding: 8px 11px 15px;
    border-left: solid 1px #ccc;
    border-right: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.15s, visibility 0.15s;
    transition: opacity 0.15s, visibility 0.15s;
    line-height: 1;
    color: #333
}

    .evcSelectWindow.isVisible {
        opacity: 1;
        visibility: visible
    }

.evcSelectorList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

    .evcSelectorList > li {
        text-align: center;
        -webkit-transition: 0.3s;
        transition: 0.3s;
        font-size: 16px;
        line-height: 1
    }

        .evcSelectorList > li.isDisabled {
            color: #d5d5d5
        }

.evcSelectHead {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 30px;
    font-size: 12px;
    color: #9f9f9f
}

    .evcSelectHead:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 2px;
        left: 25px;
        display: inline-block;
        width: 300px;
        height: 1px;
        margin: auto;
        border-bottom: dotted 1px #ccc
    }

.evcSelectorYear .evcSelectorList {
    position: relative;
    width: 300px;
    margin: auto
}

    .evcSelectorYear .evcSelectorList:after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        width: 33px;
        height: 1px;
        margin: auto;
        background: #d5d5d5
    }

    .evcSelectorYear .evcSelectorList > li > span {
        display: inline-block;
        width: 60px;
        padding: 4px 0;
        cursor: pointer
    }

    .evcSelectorYear .evcSelectorList > li.isCurrent > span {
        border-radius: 12px;
        color: #fff
    }

.evcSelectorMonth .evcSelectorList {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

    .evcSelectorMonth .evcSelectorList > li {
        width: calc(100% / 6 - 0.1px)
    }

        .evcSelectorMonth .evcSelectorList > li > span {
            display: inline-block;
            width: 32px;
            padding: 4px 0;
            cursor: pointer
        }

        .evcSelectorMonth .evcSelectorList > li:nth-child(n + 7) {
            margin-top: 15px
        }

        .evcSelectorMonth .evcSelectorList > li.isCurrent > span {
            border-radius: 12px;
            color: #fff
        }

.evcBlockListWrap .evcBlockWrap + .evcListWrap {
    margin-top: 60px
}

.evcDesc + .evcBlockWrap {
    margin-top: 40px
}

.evcBlockWrap .evcMonthLayoutHead, .evcBlockWrap .evcBlockInner {
    color: #333
}

.evcBlockAnnotate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 40px;
    font-size: 12px;
    line-height: 1
}

    .evcBlockAnnotate:before {
        content: '※';
        color: #bf4848
    }

    .evcBlockAnnotate > span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

        .evcBlockAnnotate > span:before {
            content: '';
            display: inline-block;
            width: 15px;
            height: 15px;
            margin: 0 2px;
            border-radius: 50%
        }

.evcBlockInner {
    position: relative
}

.evcBlockDetailHead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 12px;
    font-size: 16px
}

    .evcBlockDetailHead .evcBlockDetailDate {
        font-weight: bold
    }

    .evcBlockDetailHead .evcBlockDetailTotal {
        width: 35px;
        margin-left: auto;
        padding: 5px 0;
        text-align: center;
        border-radius: 12px;
        color: #fff;
        font-size: 12px;
        line-height: 1
    }

    .evcBlockDetailHead .evcBlockDetailClose {
        margin-left: 9px;
        position: relative;
        display: inline-block;
        width: 15px;
        height: 15px;
        cursor: pointer
    }

        .evcBlockDetailHead .evcBlockDetailClose:hover:before, .evcBlockDetailHead .evcBlockDetailClose:hover:after {
            opacity: 0.5
        }

        .evcBlockDetailHead .evcBlockDetailClose:before, .evcBlockDetailHead .evcBlockDetailClose:after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            display: inline-block;
            width: 100%;
            height: 2px;
            background-color: #666;
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

        .evcBlockDetailHead .evcBlockDetailClose:before {
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg)
        }

        .evcBlockDetailHead .evcBlockDetailClose:after {
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg)
        }

.evcBlockDetailInner {
    height: 303px;
    overflow-y: auto;
    margin-top: 12px
}

    .evcBlockDetailInner .evcBlockDetailList > li {
        position: relative
    }

        .evcBlockDetailInner .evcBlockDetailList > li + li {
            margin-top: 18px
        }

        .evcBlockDetailInner .evcBlockDetailList > li > a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            min-height: 90px;
            cursor: pointer;
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

            .evcBlockDetailInner .evcBlockDetailList > li > a:before {
                content: '';
                position: absolute;
                top: 0;
                right: 25px;
                bottom: 0;
                left: auto;
                display: inline-block;
                width: 8px;
                height: 8px;
                margin: auto;
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: rotate(45deg);
                -webkit-transition: opacity 0.3s, border-color 0.3s;
                transition: opacity 0.3s, border-color 0.3s
            }

            .evcBlockDetailInner .evcBlockDetailList > li > a:before {
                border-bottom: solid 2px #666;
                border-right: solid 2px #666
            }

            .evcBlockDetailInner .evcBlockDetailList > li > a:hover {
                opacity: 0.5
            }

            .evcBlockDetailInner .evcBlockDetailList > li > a .evcBlockDetailListImg {
                min-width: 90px;
                max-width: 90px;
                height: 90px;
                margin-right: 10px;
                border-radius: 5px;
                background-image: url('../../../../img/eventCalendar/calendarDefaultEvent-e3d786f287d932b937f7ef9dc4444badd5ffa62ad6dbb153ba1ab7773287dd12.png');
                background-size: cover;
                background-repeat: no-repeat;
                background-position: center
            }

                .evcBlockDetailInner .evcBlockDetailList > li > a .evcBlockDetailListImg + .evcBlockDetailListDesc {
                    width: calc(100% - 140px)
                }

            .evcBlockDetailInner .evcBlockDetailList > li > a .evcBlockDetailListDesc {
                width: calc(100% - 50px);
                margin-right: 50px
            }

.evcBlockCalendar ul.evcBlockCalendarHead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 11px 0;
    background-color: #fff;
    border-right: solid 1px #ccc;
    border-left: solid 1px #ccc;
    font-size: 14px;
    line-height: 1
}

    .evcBlockCalendar ul.evcBlockCalendarHead > li {
        width: calc(100% / 7);
        text-align: center;
        color: #9f9f9f;
        font-weight: bold
    }

        .evcBlockCalendar ul.evcBlockCalendarHead > li:nth-child(6) {
            color: #6595b0
        }

        .evcBlockCalendar ul.evcBlockCalendarHead > li:nth-child(7) {
            color: #bb7f7f
        }

.evcBlockCalendar .evcBlockCalendarBodyList {
    padding: 7px;
    background-color: #ccc
}

    .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

        .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li {
            width: calc(100% / 7);
            border-right: solid 1px #ccc;
            border-bottom: solid 1px #ccc;
            background-color: #fff;
            border-radius: 5px
        }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li:nth-child(6) {
                background-color: #e4f0f2
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li:nth-child(6) .evcBlockCalendarInner .evcBlockCalendarDate {
                    color: #6595b0
                }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li:nth-child(7) {
                background-color: #efe4e4
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li:nth-child(7) .evcBlockCalendarInner .evcBlockCalendarDate {
                    color: #b37676
                }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.holiday {
                background-color: #f2f2f2 !important
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.holiday .evcBlockCalendarDate {
                    color: #9f9f9f !important
                }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.otherMonthDay {
                background-color: #f2f2f2
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.otherMonthDay .evcBlockCalendarInner .evcBlockCalendarDate {
                    color: #d5d5d5
                }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent {
                position: relative;
                cursor: pointer;
                background-size: cover;
                background-repeat: no-repeat;
                background-position: center
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent:after {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    display: block;
                    width: 100%;
                    height: 100%;
                    border-radius: 5px;
                    background-color: #000;
                    -webkit-transition: 0.3s;
                    transition: 0.3s;
                    opacity: 0.2
                }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent:hover:after, .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent.isSelect:after {
                    opacity: 0
                }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent .evcBlockCalendarInner .evcBlockCalendarDate {
                    color: #fff;
                    text-shadow: 0 0 12px rgba(0,0,0,0.6)
                }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent .evcBlockCalendarInner .evcBlockCalendarTotal {
                    min-width: 25px;
                    float: right;
                    text-align: center;
                    padding: 3px 0;
                    font-size: 10px;
                    line-height: 1;
                    border-radius: 12px;
                    color: #fff
                }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li.existsEvent .evcBlockCalendarInner .evcBlockCalendarDesc {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    height: 45px;
                    padding: 8px;
                    font-size: 12px;
                    line-height: 1.3;
                    overflow: hidden;
                    border-bottom-left-radius: 3px;
                    border-bottom-right-radius: 3px;
                    color: #fff;
                    background: rgba(0,0,0,0.8)
                }

            .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li .evcBlockCalendarInner {
                position: relative;
                z-index: 1;
                width: 100%;
                height: 120px;
                padding: 7px;
                font-size: 0;
                border-radius: 3px
            }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li .evcBlockCalendarInner .evcBlockCalendarDate {
                    display: inline-block;
                    font-size: 16px;
                    line-height: 1;
                    color: #9f9f9f;
                    font-weight: bold
                }

                .evcBlockCalendar .evcBlockCalendarBodyList .evcBlockCalendarRowList > li .evcBlockCalendarInner .evcBlockHolidayText {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    -webkit-transform: translate(-50%, -50%);
                    -ms-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%);
                    font-size: 18px;
                    color: #9f9f9f
                }

.evcListInner {
    position: relative
}

ul.evcListCalendar {
    border: solid 1px #ccc
}

    ul.evcListCalendar:empty {
        border: none
    }

    ul.evcListCalendar > li {
        position: relative;
        background-color: #fff;
        color: #3e3e3e
    }

        ul.evcListCalendar > li > .evcListCalendarItem {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            padding: 40px 30px 40px 40px
        }

        ul.evcListCalendar > li .evcBlockHolidayText {
            position: absolute;
            top: 50%;
            left: 317px;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            font-size: 40px;
            color: #9f9f9f
        }

        ul.evcListCalendar > li + li > .evcListCalendarItem {
            border-top: solid 1px #ccc
        }

        ul.evcListCalendar > li.evcListItemSub > .evcListCalendarItem {
            border-top: dotted 1px #ccc;
            margin-left: 210px;
            padding-left: 0
        }

        ul.evcListCalendar > li.evcListItemSub .evcListImageWrap {
            margin-left: 0
        }

        ul.evcListCalendar > li.saturday {
            background-color: #e4f0f2
        }

            ul.evcListCalendar > li.saturday .evcListMonth {
                color: #b8d1d5
            }

            ul.evcListCalendar > li.saturday .evcListDay {
                color: #6595b0
            }

            ul.evcListCalendar > li.saturday .evcListDateWrap:before, ul.evcListCalendar > li.saturday .evcListWeekDay {
                background-color: #6595b0
            }

        ul.evcListCalendar > li.sunday {
            background-color: #efe4e4
        }

            ul.evcListCalendar > li.sunday .evcListMonth {
                color: #d9b6b6
            }

            ul.evcListCalendar > li.sunday .evcListDay {
                color: #b37676
            }

            ul.evcListCalendar > li.sunday .evcListDateWrap:before, ul.evcListCalendar > li.sunday .evcListWeekDay {
                background-color: #b37676
            }

        ul.evcListCalendar > li.holiday {
            background-color: #f2f2f2 !important
        }

            ul.evcListCalendar > li.holiday .evcListMonth {
                color: #d3d3d3 !important
            }

            ul.evcListCalendar > li.holiday .evcListDay {
                color: #9f9f9f !important
            }

            ul.evcListCalendar > li.holiday .evcListDateWrap:before, ul.evcListCalendar > li.holiday .evcListWeekDay {
                background-color: #9f9f9f !important
            }

.evcHead + .evcListInner .evcListCalendar {
    border-top: none
}

.evcListDateWrap {
    position: relative;
    min-width: 130px;
    height: 115px
}

    .evcListDateWrap .evcListDate {
        font-weight: bold
    }

    .evcListDateWrap .evcListMonth {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 18px;
        line-height: 1;
        color: #d3d3d3
    }

        .evcListDateWrap .evcListMonth .evcListUnit {
            font-size: 10px
        }

    .evcListDateWrap .evcListDay {
        position: absolute;
        right: 0;
        bottom: 45px;
        font-size: 50px;
        line-height: 1;
        min-width: calc(100% - 45px);
        padding-right: 15px;
        text-align: center;
        color: #9f9f9f
    }

        .evcListDateWrap .evcListDay .evcListUnit {
            position: absolute;
            right: 0;
            bottom: 5px;
            font-size: 14px
        }

    .evcListDateWrap .evcListWeekDay {
        position: absolute;
        bottom: 5px;
        left: 0;
        width: 100%;
        padding: 5px 0;
        text-align: center;
        border-radius: 15px;
        background-color: #9f9f9f;
        color: #fff;
        font-weight: bold;
        line-height: 1
    }

    .evcListDateWrap + .evcListTextWrap {
        margin-left: 40px
    }

    .evcListDateWrap:before {
        content: '';
        position: absolute;
        bottom: 45px;
        left: 35px;
        width: 1px;
        height: 80px;
        -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
        transform: rotate(30deg);
        background-color: #9f9f9f
    }

.evcListUnit {
    font-weight: bold
}

.evcListImageWrap {
    min-width: 260px;
    height: 260px;
    margin-left: 40px;
    border-radius: 12px;
    background-image: url('../../../../img/eventCalendar/calendarDefaultEvent-e3d786f287d932b937f7ef9dc4444badd5ffa62ad6dbb153ba1ab7773287dd12.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

    .evcListImageWrap + .evcListTextWrap {
        margin-left: 30px
    }

    .evcListImageWrap[data-modal="image"] {
        -webkit-transition: 0.3s;
        transition: 0.3s;
        cursor: pointer
    }

        .evcListImageWrap[data-modal="image"]:hover {
            opacity: 0.8
        }

.evcListTextWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 260px;
    width: 100%;
    overflow-y: auto
}

    .evcListTextWrap .evcListTextInner {
        margin: auto;
        width: 100%;
        height: 100%
    }

.evcListTitle {
    font-size: 20px;
    font-weight: bold
}

    .evcListTitle + .evcListDetail {
        margin-top: 16px
    }

.evcListText {
    margin-top: 15px
}

    .evcListText p {
        min-height: 1em
    }

.fp-frame {
    margin-top: 20px;
    font-size: 0
}

    .fp-frame:first-child {
        margin-top: 0
    }

.fp__headline {
    margin-top: 40px
}

    .fp__headline.fp-opts__item_design--left h3, .fp__headline_text_image.fp-opts__item_design--left h3, .fp__headline.fp-opts__item_design--left .fp-hti-headline, .fp__headline_text_image.fp-opts__item_design--left .fp-hti-headline {
        text-align: left
    }

    .fp__headline.fp-opts__item_design--center h3, .fp__headline_text_image.fp-opts__item_design--center h3, .fp__headline.fp-opts__item_design--center .fp-hti-headline, .fp__headline_text_image.fp-opts__item_design--center .fp-hti-headline {
        text-align: center
    }

    .fp__headline.fp-opts__item_size--large h3, .fp__headline_text_image.fp-opts__item_size--large h3, .fp__headline.fp-opts__item_size--large .fp-hti-headline, .fp__headline_text_image.fp-opts__item_size--large .fp-hti-headline {
        font-size: 24px
    }

    .fp__headline.fp-opts__item_size--medium h3, .fp__headline_text_image.fp-opts__item_size--medium h3, .fp__headline.fp-opts__item_size--medium .fp-hti-headline, .fp__headline_text_image.fp-opts__item_size--medium .fp-hti-headline {
        font-size: 20px
    }

    .fp__headline.fp-opts__item_size--small h3, .fp__headline_text_image.fp-opts__item_size--small h3, .fp__headline.fp-opts__item_size--small .fp-hti-headline, .fp__headline_text_image.fp-opts__item_size--small .fp-hti-headline {
        font-size: 16px
    }

    .fp__headline.fp-opts__text_style--none h3, .fp__headline_text_image.fp-opts__text_style--none h3, .fp__headline.fp-opts__text_style--none .fp-hti-headline, .fp__headline_text_image.fp-opts__text_style--none .fp-hti-headline {
        font-weight: normal
    }

    .fp__headline.fp-opts__text_style--bold h3, .fp__headline_text_image.fp-opts__text_style--bold h3, .fp__headline.fp-opts__text_style--bold .fp-hti-headline, .fp__headline_text_image.fp-opts__text_style--bold .fp-hti-headline {
        font-weight: bold
    }

    .fp__headline.fp-opts__text_style--italic h3, .fp__headline_text_image.fp-opts__text_style--italic h3, .fp__headline.fp-opts__text_style--italic .fp-hti-headline, .fp__headline_text_image.fp-opts__text_style--italic .fp-hti-headline {
        font-style: italic
    }

    .fp__headline.fp-opts__text_style--underline h3, .fp__headline_text_image.fp-opts__text_style--underline h3, .fp__headline.fp-opts__text_style--underline .fp-hti-headline, .fp__headline_text_image.fp-opts__text_style--underline .fp-hti-headline {
        text-decoration: underline
    }

.fp-items > li {
    font-size: 14px
}

.fp-image {
    text-align: center
}

    .fp-image > img {
        max-width: 100%;
        vertical-align: middle
    }

.fp-text > p {
    min-height: 1em
}

.fp-opts__cols--1 .fp-items > li + li {
    margin-top: 20px
}

.fp-opts__cols--2 .fp-items > li {
    display: inline-block;
    width: calc((100% - 40px) / 2 - 0.1px);
    vertical-align: top
}

    .fp-opts__cols--2 .fp-items > li:nth-child(even) {
        margin-left: 40px
    }

    .fp-opts__cols--2 .fp-items > li:nth-child(1n + 3) {
        margin-top: 20px
    }

.fp-opts__cols--3 .fp-items > li {
    display: inline-block;
    width: calc((100% - 20px * 2) / 3 - 0.1px);
    vertical-align: top
}

    .fp-opts__cols--3 .fp-items > li:not(:nth-child(3n - 2)) {
        margin-left: 20px
    }

    .fp-opts__cols--3 .fp-items > li:nth-child(1n + 4) {
        margin-top: 20px
    }

.fp-video {
    height: 360px;
    text-align: center
}

.fp__headline_text_image .fp-hti-headline + .fp-image, .fp__headline_text_image .fp-hti-headline + .fp-text, .fp__headline_text_image .fp-image + .fp-hti-headline, .fp__headline_text_image .fp-image + .fp-text, .fp__headline_text_image .fp-text + .fp-image {
    margin-top: 10px
}

.fp__text_image.fp-opts__item_design--image_top .fp-image + .fp-text {
    margin-top: 10px
}

.fp__text_image.fp-opts__item_design--image_bottom .fp-text + .fp-image {
    margin-top: 10px
}

.fp__text_image.fp-opts__item_design--image_left .fp-items > li:after, .fp__text_image.fp-opts__item_design--image_right .fp-items > li:after {
    content: '';
    display: block;
    height: 0;
    clear: both
}

.fp__text_image.fp-opts__item_design--image_left .fp-image, .fp__text_image.fp-opts__item_design--image_right .fp-image {
    width: 48%
}

.fp__text_image.fp-opts__item_design--image_left .fp-text, .fp__text_image.fp-opts__item_design--image_right .fp-text {
    overflow: hidden
}

.fp__text_image.fp-opts__item_design--image_left .fp-image {
    float: left;
    margin-right: 10px
}

.fp__text_image.fp-opts__item_design--image_right .fp-image {
    float: right;
    margin-left: 10px
}

.image_option--shadow {
    position: relative
}

    .image_option--shadow:after {
        content: "";
        position: absolute;
        top: -1px;
        right: -1px;
        bottom: -1px;
        left: -1px
    }

.image_option--radius > img {
    border-radius: 10px
}

.fp-opts__item_layout--overlap .fp-image > img {
    width: 100%
}

.fp-opts__item_layout--overlap .fp-text-wrap {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid #fff;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.fp-opts__item_layout--overlap .fp-text {
    overflow-y: scroll !important;
    -ms-overflow-style: none
}

    .fp-opts__item_layout--overlap .fp-text::-webkit-scrollbar {
        display: none
    }

.image_option--circle {
    position: relative;
    overflow: hidden;
    border-radius: 50%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .image_option--circle > img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .image_option--circle > img.fixSide {
            width: auto !important;
            max-width: none !important;
            height: 100% !important
        }

        .image_option--circle > img.fixVertical {
            width: 100%
        }

.fp__image .fp-image.image_option--circle {
    margin-right: auto;
    margin-left: auto
}

.fp__image.fp-opts__cols--1 .fp-image.image_option--circle {
    width: calc(100% * 0.48) !important;
    height: 0;
    padding-top: 48%
}

.fp__image.fp-opts__cols--2 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__image.fp-opts__cols--3 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__headline_text_image .fp-image.image_option--circle {
    margin-right: auto;
    margin-left: auto
}

.fp__headline_text_image.fp-opts__cols--1 .fp-image.image_option--circle {
    width: calc(100% * 0.48) !important;
    height: 0;
    padding-top: 48%
}

.fp__headline_text_image.fp-opts__cols--2 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__headline_text_image.fp-opts__cols--3 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__headline_text_image.fp-opts__item_layout--image_top .fp-image.image_option--shadow:after, .fp__headline_text_image.fp-opts__item_layout--image_middle .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, left bottom, left top, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(bottom, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to top, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__headline_text_image.fp-opts__item_layout--image_bottom .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, left top, left bottom, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(top, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to bottom, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__text_image.fp-opts__item_design--image_top .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_bottom .fp-image.image_option--circle {
    margin-right: auto;
    margin-left: auto
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--1 .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--1 .fp-image.image_option--circle {
    width: calc(100% * 0.48) !important;
    height: 0;
    padding-top: 48%
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--2 .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--2 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--3 .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--3 .fp-image.image_option--circle {
    width: 100%;
    height: 0;
    padding-top: 100%
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__item_layout--overlap .fp-text-wrap {
    margin-right: auto;
    margin-left: auto
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__item_layout--overlap .fp-text, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__item_layout--overlap .fp-text {
    max-height: 200px
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--1.fp-opts__item_layout--overlap .fp-image, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--1.fp-opts__item_layout--overlap .fp-image {
    width: 60%;
    margin-right: auto;
    margin-left: auto
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--1.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--1.fp-opts__item_layout--overlap .fp-text-wrap {
    width: 55%
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--2.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--2.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_top.fp-opts__cols--3.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_bottom.fp-opts__cols--3.fp-opts__item_layout--overlap .fp-text-wrap {
    width: 80%
}

.fp__text_image.fp-opts__item_design--image_left .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_right .fp-image.image_option--circle {
    width: 48%;
    height: 0;
    padding-top: 48%
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__cols--1.fp-opts__image_option--circle .fp-items > li, .fp__text_image.fp-opts__item_design--image_right.fp-opts__cols--1.fp-opts__image_option--circle .fp-items > li {
    padding-right: 60px;
    padding-left: 60px
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-items > li, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-items > li {
    overflow: hidden
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-item__inner, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-item__inner {
    padding-bottom: 50px
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-image, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-image {
    width: calc((100% - 50px) * 0.48)
}

    .fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-image.image_option--circle, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-image.image_option--circle {
        padding-top: calc((100% - 50px) * 0.48)
    }

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-text-wrap, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-text-wrap {
    top: 50px
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-text, .fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-text {
    max-height: 200px
}

.fp__text_image.fp-opts__item_design--image_top .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, left bottom, left top, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(bottom, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to top, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__item_layout--overlap .fp-item__inner {
    overflow: hidden
}

.fp__text_image.fp-opts__item_design--image_top.fp-opts__item_layout--overlap .fp-text-wrap {
    margin-top: -40px;
    padding: 60px 20px 20px 20px
}

.fp__text_image.fp-opts__item_design--image_bottom .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, left top, left bottom, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(top, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to bottom, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__text_image.fp-opts__item_design--image_bottom.fp-opts__item_layout--overlap .fp-text-wrap {
    margin-bottom: -40px;
    padding: 20px 20px 60px 20px
}

.fp__text_image.fp-opts__item_design--image_left .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, right top, left top, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(right, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to left, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-item__inner {
    margin-right: -50px
}

.fp__text_image.fp-opts__item_design--image_left.fp-opts__item_layout--overlap .fp-text-wrap {
    right: 50px;
    padding: 20px 20px 20px 60px
}

.fp__text_image.fp-opts__item_design--image_right .fp-image.image_option--shadow:after {
    background: -webkit-gradient(linear, left top, right top, from(#3b695f), color-stop(30%, rgba(59,105,95,0.4)), to(rgba(59,105,95,0)));
    background: -webkit-linear-gradient(left, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%);
    background: linear-gradient(to right, #3b695f 0%, rgba(59,105,95,0.4) 30%, rgba(59,105,95,0) 100%)
}

.fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-item__inner {
    margin-left: -50px
}

.fp__text_image.fp-opts__item_design--image_right.fp-opts__item_layout--overlap .fp-text-wrap {
    left: 50px;
    padding: 20px 60px 20px 20px
}

.fp__reservation_button {
    text-align: center
}

    .fp__reservation_button > a {
        display: inline-block;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease
    }

.fp__separator {
    margin-top: 20px;
    border-right-width: 0;
    border-bottom-width: 0;
    border-left-width: 0;
    border-color: #fff
}

    .fp__separator.fp-opts__item_design--solid {
        border-top-width: 1px;
        border-style: solid
    }

    .fp__separator.fp-opts__item_design--dotted {
        border-top-width: 2px;
        border-style: dotted
    }

    .fp__separator.fp-opts__item_design--double {
        border-top-width: 3px;
        border-style: double
    }

.margin_option--large {
    height: 60px
}

.margin_option--medium {
    height: 40px
}

.margin_option--small {
    height: 20px
}

.freePageExpiredText {
    margin-top: 80px;
    margin-bottom: 300px;
    text-align: center
}

.freePageExpiredText {
    font-size: 18px
}

#container .fp-video p, #container .fp-video img {
    height: 100%
}

.menuShowDetail {
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer
}

    .menuShowDetail > span {
        vertical-align: middle
    }

    .menuShowDetail:hover {
        opacity: 0.6
    }

.menuShowDetailIcon {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    border-radius: 50%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .menuShowDetailIcon:before, .menuShowDetailIcon:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 6px
    }

    .menuShowDetailIcon:before {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    .menuShowDetailIcon:after {
        -webkit-transform: translate(-50%, -50%) rotate(90deg);
        -ms-transform: translate(-50%, -50%) rotate(90deg);
        transform: translate(-50%, -50%) rotate(90deg)
    }

.omissionWrap, .omissionInline {
    position: relative;
    max-width: 100%;
    overflow: hidden
}

.omissionWrap {
    display: block;
    height: 100%
}

.omissionInline {
    display: inline-block;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal
}

.editOverlay {
    display: none
}

.editableItemInterest .editOverlay {
    display: block;
    position: absolute;
    z-index: 1001;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.8)
}

.editableItemInterest .editableElement:before {
    display: none
}

.editableItemInterest .interestItem .editableElement:before {
    display: block
}

#container .modalWindow {
    position: absolute;
    right: auto;
    bottom: auto;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

#container .modalBackground {
    display: none
}

#container .modalCassette {
    position: static;
    height: auto;
    max-width: none;
    max-height: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

#container .modalInfo {
    height: auto;
    max-height: none;
    min-height: 480px
}

#container .variationsList > li.editable-element.placeholder-plus, #container .subVariationsList > li.editable-element.placeholder-plus {
    height: 60px !important
}

    #container .variationsList > li.editable-element.placeholder-plus > div, #container .subVariationsList > li.editable-element.placeholder-plus > div {
        width: 100%;
        height: 100%
    }

        #container .variationsList > li.editable-element.placeholder-plus > div > img, #container .subVariationsList > li.editable-element.placeholder-plus > div > img {
            height: 100%;
            vertical-align: middle
        }

#container .editableFloatTitle {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0
}

.hygieneWrap {
    display: inline-block;
    line-height: 1.4;
    font-size: 14px;
    max-width: 310px;
    color: #333;
    background: #f1f1f1;
    border-radius: 50px;
    text-align: left;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    opacity: 0;
    -webkit-box-shadow: 2px 2.5px 2px 0 rgba(0,0,0,0.33);
    box-shadow: 2px 2.5px 2px 0 rgba(0,0,0,0.33);
    pointer-events: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none
}

    .hygieneWrap.firstView {
        opacity: 0.9;
        pointer-events: auto
    }

    .hygieneWrap .hygieneText {
        position: relative;
        display: block;
        padding: 10px 30px 10px 42px;
        opacity: 1;
        font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS PGothic', arial, helvetica, sans-serif
    }

        .hygieneWrap .hygieneText:before {
            content: '';
            position: absolute;
            width: 29px;
            height: 28px;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            left: 10px;
            background-image: url('/template/img/icon_1.png');
            background-repeat: no-repeat;
            background-size: contain
        }

        .hygieneWrap .hygieneText:after {
            content: '';
            position: absolute;
            top: calc(50% - 3px);
            right: 14px;
            width: 7px;
            height: 7px;
            border-left: 2px solid #333;
            border-bottom: 2px solid #333;
            -webkit-transform: translateY(-50%) rotate(-45deg);
            -ms-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg)
        }

.detailInfoBlock.hygieneContents .mediumItemWrap .mediumItem {
    margin-left: 8px
}

    .detailInfoBlock.hygieneContents .mediumItemWrap .mediumItem .mediumItemText {
        font-weight: bold
    }

.detailInfoBlock.hygieneContents .mediumItemWrap .smallItem {
    display: inline
}

    .detailInfoBlock.hygieneContents .mediumItemWrap .smallItem:after {
        content: '、'
    }

    .detailInfoBlock.hygieneContents .mediumItemWrap .smallItem:last-of-type:after {
        content: ''
    }

#container .wrapper {
    min-height: auto;
    overflow: visible
}

    #container .wrapper.editableItemInterest {
        min-height: 100vh
    }

#container .carousel, #container underlayerSelector {
    padding-top: 0 !important
}

#container .carouselKV.loading {
    height: 548px;
    width: 100%
}

    #container .carouselKV.loading.carouselFlexible .carouselItem {
        width: 100%;
        height: 100%
    }

#container .instagramListWrap:before {
    content: "Instagramの投稿内容が自動で反映されます。"
}

#container .calendarContainer {
    background: none;
    border: none
}

    #container .calendarContainer:before {
        content: "表示位置・内容の変更はできません。";
        background-image: none
    }

#container .instagramListWrap, #container .calendarContainer {
    position: relative;
    min-height: 180px
}

    #container .instagramListWrap:before, #container .calendarContainer:before, #container .instagramListWrap:after, #container .calendarContainer:after {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: absolute;
        z-index: 10;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    #container .instagramListWrap:before, #container .calendarContainer:before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 16px;
        border: 3px dotted #5e5e5e
    }

    #container .instagramListWrap:after, #container .calendarContainer:after {
        content: "※こちらの画面では編集できません。";
        margin-top: 32px;
        font-size: 12px
    }

#container .instagramList {
    position: relative;
    z-index: 0
}

#container .menuFoodsContents .menuItemsList, #container .menuDrinksContents .menuItemsList, #container .menuLunchesContents .menuItemsList {
    padding-top: 40px
}

#container .menuFoodsContents .menuHeading + .menuItemsList, #container .menuDrinksContents .menuHeading + .menuItemsList, #container .menuLunchesContents .menuHeading + .menuItemsList {
    padding-top: 0
}

#container .menuTakeoutsContents .menuItemsList {
    padding-top: 40px
}

#container .menuTakeoutsContents .takeoutHeading + .menuItemsList {
    padding-top: 0
}

#container .menuItemsList > li {
    overflow: visible
}

#container .couponContents .placeholder-plus > div {
    width: 100%
}

#container .popUpWrap {
    display: none
}

#container .jscLazySection, .corona-ipad-preview .jscLazySection {
    opacity: 1
}

.corona-ipad-preview .mapDisplayWrap > iframe {
    pointer-events: none
}

.corona-ipad-edit, .corona-ipad-preview {
    width: 100vw !important
}

@media print {
    .wrapper {
        display: block;
        min-height: auto;
        padding-top: 0 !important
    }

    .pageTopBtn {
        display: none !important
    }

    .carouselItem {
        opacity: 1 !important
    }

    .globalHeader, .globalNavWrap, .headerFixed {
        position: static !important
    }
}

.newsDetailTxt p, .shopAttentionTxt p, .homeFoodDescription p, .moodTxt p, .contCarouselDetail p, .courseDetailDesc p, .courseDetailContentTxt p, .menuItemsDescription p, .foodMessageText p, .menuRemarks p, .couponCondition > dd p, .freeTxt p {
    min-height: 1em
}

.newsDetailTxt > p[style] > img {
    display: inline-block
}

.shutter {
    position: relative
}

    .shutter:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        background-color: transparent
    }

.displayMapArea {
    line-height: 0
}

.pagerWrap {
    font-size: 0;
    text-align: center
}

.newsPagerList {
    display: inline-block
}

.prev {
    margin-right: 44px
}

.next {
    margin-left: 44px
}

.pagerItem, .newsPagerList > li {
    display: inline-block;
    vertical-align: middle
}

.homeFoodMoreShowBtn > span {
    display: inline-block;
    vertical-align: middle
}

.homeFoodMoreShowBtnIcon {
    position: relative;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    border-radius: 50%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .homeFoodMoreShowBtnIcon:before, .homeFoodMoreShowBtnIcon:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 6px
    }

    .homeFoodMoreShowBtnIcon:before {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    .homeFoodMoreShowBtnIcon:after {
        -webkit-transform: translate(-50%, -50%) rotate(90deg);
        -ms-transform: translate(-50%, -50%) rotate(90deg);
        transform: translate(-50%, -50%) rotate(90deg)
    }

.wrapper .carouselWrap .overFlowKv {
    position: relative;
    overflow: hidden
}

    .wrapper .carouselWrap .overFlowKv img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

.jscLazySection {
    opacity: 0
}

    .jscLazySection.isActive {
        -webkit-animation: in_blur_up 1.2s ease-in-out;
        animation: in_blur_up 1.2s ease-in-out;
        -webkit-animation-fill-mode: forwards;
        animation-fill-mode: forwards
    }

@-webkit-keyframes in_blur_up {
    from {
        opacity: 0;
        -webkit-filter: blur(10px);
        filter: blur(10px);
        -webkit-transform: translateY(100px);
        transform: translateY(100px)
    }

    to {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes in_blur_up {
    from {
        opacity: 0;
        -webkit-filter: blur(10px);
        filter: blur(10px);
        -webkit-transform: translateY(100px);
        transform: translateY(100px)
    }

    to {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.popUpWrap {
    position: relative;
    width: 380px;
    height: 100px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    border-radius: 5px;
    color: #fff;
    background: rgba(0,0,0,0.8);
    -webkit-box-shadow: 5px 5px 3px 1px rgba(0,0,0,0.4);
    box-shadow: 5px 5px 3px 1px rgba(0,0,0,0.4)
}

    .popUpWrap.gettingReadyPopUp {
        visibility: hidden
    }

    .popUpWrap.inactive {
        opacity: 0.5
    }

    .popUpWrap.isHidden {
        opacity: 0 !important;
        visibility: hidden
    }

    .popUpWrap > a {
        -webkit-transition: color 0.3s;
        transition: color 0.3s
    }

        .popUpWrap > a:hover {
            color: #f2fcc2
        }

.popUpCardContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 10px 25px 10px 10px
}

    .popUpCardContainer:after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 12px;
        margin: auto;
        width: 10px;
        height: 10px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-top: solid 2px;
        border-right: solid 2px
    }

.popUpCardIcn {
    width: 80px;
    height: 80px;
    border-radius: 5px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.popUpCouponDetailLinkTxtWrap {
    margin-left: 15px;
    font-size: 14px;
    line-height: 1.7
}

.popUpCouponDetailLinkTxt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 250px
}

.calendarWrap .contentsBody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.calendarBlockLeft {
    width: 542px;
    padding: 0 15px 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.calendarBlockRight {
    min-width: 273px;
    width: 273px;
    margin-left: 10px;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.calendarContainer {
    position: relative;
    display: block;
    width: 100%;
    height: 400px
}

    .calendarContainer.empty, .calendarContainer.error {
        border: 1px solid
    }

        .calendarContainer.empty:before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            background-color: #fff;
            background-image: url('/template/img/loading.gif');
            background-position: center center;
            background-repeat: no-repeat;
            background-size: 40px 40px;
            z-index: 1
        }

    .calendarContainer.error {
        position: relative
    }

.calendarHeading + .calendarContainer {
    margin-top: 30px
}

.errorContents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff
}

    .errorContents .reloadBtn {
        position: relative;
        background-color: #c5c5c5;
        width: 40px;
        height: 40px;
        border-radius: 5px;
        vertical-align: middle;
        z-index: 1;
        cursor: pointer;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-transition: opacity 0.2s ease;
        transition: opacity 0.2s ease
    }

        .errorContents .reloadBtn:hover {
            opacity: 0.8
        }

        .errorContents .reloadBtn svg {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto
        }

.errorText {
    margin-bottom: 6px;
    text-align: center;
    font-weight: bold;
    z-index: 1
}

.calendarCell {
    display: block;
    padding: 16px 0;
    line-height: 1
}

    .calendarCell > span {
        display: block
    }

.calendarCellDate {
    font-size: 14px
}

.calendarCellState {
    margin-top: 12px;
    font-size: 14px
}

.calendarContainer thead {
    border: 1px solid;
    border-bottom: none
}

    .calendarContainer thead th {
        padding: 4px 0;
        font-size: 14px;
        font-weight: normal
    }

.calendarContainer tbody {
    border: 1px solid
}

    .calendarContainer tbody tr + tr {
        border-top: 1px solid
    }

.calendarContainer tr {
    width: 100%;
    display: table;
    table-layout: fixed
}

.calendarContainer th, .calendarContainer td {
    display: table-cell;
    text-align: center;
    cursor: default
}

.calendarContainer td {
    position: relative
}

    .calendarContainer td .calendarCell {
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease
    }

    .calendarContainer td + td {
        border-left: 1px solid
    }

    .calendarContainer td:not(.unselectable):not(.selected) {
        cursor: pointer
    }

.calendarPersonNumBalloon {
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    margin: auto;
    width: 56px;
    padding: 7px 2px;
    border: 2px solid;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    border-radius: 5px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .calendarPersonNumBalloon.waiting {
        opacity: 0
    }

    .calendarPersonNumBalloon:after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -5px;
        margin: auto;
        width: 5px;
        height: 5px;
        border-right: 2px solid;
        border-bottom: 2px solid;
        -webkit-transform: rotate(45deg) translateZ(0);
        transform: rotate(45deg) translateZ(0)
    }

.calendarListInfo {
    margin-top: 30px;
    margin-left: -10px;
    font-size: 10px
}

    .calendarListInfo > li {
        display: inline-block;
        margin-left: 10px
    }

.calendarSymbolDetail:before {
    content: ":";
    margin: 0 2px
}

.calendarBtnOtherDay {
    margin-top: 5px;
    text-align: right
}

    .calendarBtnOtherDay > a {
        position: relative;
        padding-right: 12px;
        font-size: 14px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease
    }

        .calendarBtnOtherDay > a:before {
            content: "";
            position: absolute;
            top: 0px;
            bottom: 0px;
            right: 4px;
            width: 8px;
            margin: auto;
            height: 8px;
            border-top: 1px solid;
            border-right: 1px solid;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg)
        }

.calendarError {
    text-align: center;
    font-size: 14px;
    line-height: 1.5
}

.disable .calendarSelectBox {
    border: 1px solid
}

.disable .calendarSelectBox, .disable.calendarSelectSubmit {
    cursor: default;
    -webkit-transition: 0s;
    transition: 0s
}

.disable .calendarSelectSubmitBtn {
    cursor: default
}

.calendarSelectList > li:first-child + li {
    margin-top: 15px
}

.calendarSelectList > li + li {
    margin-top: 10px
}

.calendarSelectList > li:not(.disable) .calendarSelectBox {
    -webkit-box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2)
}

.calendarSelectTitle {
    margin-bottom: 5px;
    font-size: 14px
}

.calendarSelectData {
    font-size: 20px;
    font-weight: bold;
    text-align: center
}

.calendarSelectBox, .calendarSelectSubmit {
    position: relative;
    width: 100%;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
    -webkit-transition-property: background, color, opacity;
    transition-property: background, color, opacity
}

    .calendarSelectBox.open, .calendarSelectSubmit.open {
        border-bottom: none;
        border-radius: 5px 5px 0 0
    }

.calendarSelectBox {
    border: 1px solid
}

.calendarSelectSubmit {
    margin-top: 40px;
    font-weight: bold
}

.calendarSelectBoxSelected, .calendarSelectSubmitBtn {
    display: block;
    padding: 13px 22px;
    line-height: 1
}

.calendarSelectSubmitBtn {
    text-align: center
}

.calendarSelectBoxSelected:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    border-right: 3px solid;
    border-bottom: 3px solid;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.open .calendarSelectBoxList {
    display: block
}

.open .calendarSelectBoxSelected {
    margin: 0 10px;
    padding: 13px 12px;
    border-bottom: 2px solid
}

    .open .calendarSelectBoxSelected:after {
        -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        transform: rotate(225deg)
    }

.calendarSelectBoxList {
    display: none;
    position: absolute;
    left: -1px;
    z-index: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    width: calc(100% + 2px);
    max-height: 240px;
    padding: 0 10px 10px;
    border: 1px solid;
    border-top: none;
    border-radius: 0 0 5px 5px
}

    .calendarSelectBoxList > li {
        padding: 5px 10px;
        cursor: pointer;
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
        -webkit-transition-property: background, color;
        transition-property: background, color
    }

        .calendarSelectBoxList > li.disable {
            cursor: default
        }

    .calendarSelectBoxList::-webkit-scrollbar {
        width: 5px
    }

    .calendarSelectBoxList::-webkit-scrollbar-track {
        border-radius: 5px;
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
        box-shadow: inset 0 0 6px rgba(0,0,0,0.1)
    }

    .calendarSelectBoxList::-webkit-scrollbar-thumb {
        background-color: rgba(0,0,0,0.5);
        border-radius: 5px;
        -webkit-box-shadow: 0 0 0 1px rgba(255,255,255,0.3);
        box-shadow: 0 0 0 1px rgba(255,255,255,0.3)
    }

.calendarBlockLeft, .calendarBlockRight {
    background-color: #ededed;
    color: #333
}

.calendarError {
    color: #333
}

.calendarCellState {
    color: #e41a12
}

.unselectable .calendarCellState {
    color: inherit
}

.selected .calendarCellDate, .selected .calendarCellState {
    color: #fff
}

.calendarContainer.empty, .calendarContainer.error {
    border-color: #ccc
}

.calendarContainer thead {
    background-color: #ededed;
    border-color: #ccc
}

    .calendarContainer thead th.sat {
        color: #3486c9
    }

    .calendarContainer thead th.sun {
        color: #e41a12
    }

.calendarContainer tbody {
    background-color: #fff;
    border-color: #ccc
}

    .calendarContainer tbody tr + tr {
        border-top-color: #ccc
    }

.calendarContainer td + td {
    border-left-color: #ccc
}

.calendarContainer td.selected {
    color: #fff
}

.calendarContainer td.past {
    color: #d5d5d5
}

    .calendarContainer td.past .calendarCell {
        background-color: #f2f2f2
    }

    .calendarContainer td.past .calendarCellDate, .calendarContainer td.past .calendarCellState {
        color: #d5d5d5
    }

.calendarContainer td:not(.unselectable):not(.selected):hover {
    color: #222
}

    .calendarContainer td:not(.unselectable):not(.selected):hover .calendarCell {
        background-color: #e3e3e3
    }

.calendarPersonNumBalloon {
    background-color: #fff
}

    .calendarPersonNumBalloon:after {
        background-color: #fff
    }

.calendarListSymbol.selectable {
    color: #fc7670
}

.disable .calendarSelectTitle {
    color: #9f9f9f
}

.disable .calendarSelectBox {
    border-color: #9f9f9f
}

.disable .calendarSelectBox, .disable.calendarSelectSubmit {
    background-color: #c5c5c5;
    color: #9f9f9f
}

.calendarSelectData {
    color: #777
}

.calendarSelectBox {
    background-color: #fff;
    color: #333
}

.calendarSelectSubmit {
    color: #fff
}

.calendarSelectBoxSelected:after {
    background-color: transparent;
    border-right-color: #666;
    border-bottom-color: #666
}

.open .calendarSelectBoxSelected {
    border-bottom-color: #ccc
}

.calendarSelectBoxList {
    background-color: #fff
}

    .calendarSelectBoxList > li.selected, .calendarSelectBoxList > li:hover {
        color: #fff
    }

    .calendarSelectBoxList > li.disable {
        color: #c7c7cc
    }

        .calendarSelectBoxList > li.disable:hover {
            background-color: inherit
        }
.dropdown-select {
    padding: 8px;
}
    .dropdown-select option {
        padding: 8px;
    }
body {
    position: relative;
    min-width: 1170px;
    overflow-x: hidden
}

.cf:after {
    content: "";
    display: block;
    clear: both;
    height: 0
}

main {
    display: block;
    position: relative
}

.allContentsWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.mainContents {
    position: absolute;
    right: 0;
    z-index: -1;
    width: calc(100% - 270px);
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.overflowScrollingAuto {
    -webkit-overflow-scrolling: auto
}

.contentsInner {
    width: 1080px;
    margin: 0 auto;
    padding-right: 28px;
    padding-left: 28px;
    padding-top: 30px;
    padding-bottom: 30px
}

.sharpContents {
    padding: 50px 44px 44px
}

.linkColor:hover {
    opacity: 0.7
}

.linkColor {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.flexCenter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.contentsHeading {
    position: relative;
    z-index: 1;
    margin-bottom: 50px
}

    .contentsHeading > span:first-child {
        display: block;
        min-height: calc(1em + 20px);
        padding-bottom: 20px
    }

    .contentsHeading > span + span {
        display: inline-block
    }

.toTopPage, .toListBtn, .toDetail {
    margin-top: 50px
}

.phoneNum {
    margin-right: auto;
    margin-left: auto
}

#topPage .fixedBackgroundWrap {
    padding-top: 70px;
    padding-bottom: 100px
}

    #topPage .fixedBackgroundWrap section:first-of-type {
        margin-top: 50px
    }

    #topPage .fixedBackgroundWrap section + section {
        margin-top: 150px
    }

#topPage .noSetFixedBackground {
    padding-bottom: 180px
}

    #topPage .noSetFixedBackground .mapContents {
        padding-top: 75px;
        padding-bottom: 30px;
        padding-left: 0;
        padding-right: 0
    }

    #topPage .noSetFixedBackground .sns {
        margin-top: 40px
    }

.mainContentsInner {
    /*display: inline-block;*/
    width: 100%;
    height: auto;
    overflow: hidden
}

.wrapper:not(#topPage) .fixedBackgroundWrap {
    padding-top: 20px;
    padding-bottom: 95px
}

    .wrapper:not(#topPage) .fixedBackgroundWrap .popUpReservationContents {
        position: fixed;
        bottom: 20px
    }

    .wrapper:not(#topPage) .fixedBackgroundWrap > section:first-of-type {
        margin-top: 20px
    }

    .wrapper:not(#topPage) .fixedBackgroundWrap .sns {
        position: relative;
        margin-top: 95px
    }

.fp {
    margin-top: 25px
}

.fp__reservation_button > a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 300px;
    min-height: 66px;
    padding: 12px 10px
}

#container .globalHeader, #container .globalNavWrap, #container .headerFixed {
    position: static !important
}

#container .carouselKV, #container .carouselKV .carouselItem {
    height: 548px;
    padding-top: 0 !important
}

#container .popUpReservationContents, #container .popUpReservationContentsFixed {
    display: none
}

#container .fixedBackgroundImg {
    width: 100%;
    height: 100%
}

#container .sideHeader {
    position: absolute;
    height: 100%
}

#container .mainContents {
    position: relative;
    left: 270px;
    max-height: none;
    min-height: auto;
    height: 100%;
    overflow-y: visible
}

    #container .mainContents:before {
        position: absolute;
        left: 0
    }

#container .wrapper:not(#topPage) .mainContents {
    overflow-x: visible
}

#container .popUpReservationContents, #container .popUpReservationContentsFixed {
    display: none
}

#container .instagramListWrap:before, #container .calendarContainer:before {
    background-color: rgba(255,255,255,0.8);
    color: #333
}

#container .instagramListWrap:after, #container .calendarContainer:after {
    color: #333
}

#container .homeFoodList > li:after {
    top: 0
}

#container .modalWindow {
    left: calc(50vw - ((100vw - 826px - 270px) / 2) - 270px - 68px)
}

#container .moodIndicatorContainer {
    top: -10px !important
}

.corona-ipad-preview .carouselKV {
    height: calc(100vh + 80px - 120px) !important
}

.corona-ipad-preview .mainContents {
    height: 100vh
}

.notFoundContents .sharpContents {
    padding: 200px 0
}

.notFoundBody {
    margin-top: 8px
}

.couponList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 24px
}

    .couponList > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: calc(50% - 10px);
        min-height: 70px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

        .couponList > li:nth-child(even) {
            margin-left: 13px
        }

        .couponList > li:nth-child(n + 3) {
            margin-top: 13px
        }

    .couponList .couponInnerBorder {
        padding: 10px
    }

.couponConditionList, .couponHeading {
    padding: 20px 15px
}

.couponConditionList {
    padding-top: 15px;
    padding-bottom: 15px
}

    .couponConditionList > li + li {
        margin-top: 10px
    }

.couponCondition {
    display: table;
    table-layout: fixed;
    width: 100%
}

    .couponCondition > dt, .couponCondition dd {
        display: table-cell
    }

    .couponCondition > dt {
        width: 70px;
        -webkit-box-sizing: content-box;
        box-sizing: content-box
    }

.couponTicketInner > .toCouponDetailBtn {
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto
}

.toCouponDetailBtn {
    width: 130px;
    margin: 0 auto;
    padding: 5px 15px 5px 25px
}

.couponDetailContents .contentsInner {
    padding-top: 90px
}

.couponDetailPresent {
    padding: 22px 20px 20px
}

.couponDetailSingleList {
    margin-top: 15px
}

    .couponDetailSingleList .couponHeading {
        padding: 25px 25px 20px
    }

    .couponDetailSingleList .couponConditionList {
        position: relative;
        z-index: 1;
        padding: 20px 25px
    }

.couponDetailCourseList .menuCourseCondition {
    margin-top: 12px
}

.couponAvailable {
    padding-top: 40px
}

.couponAvailableHead + .menuItemsList {
    margin-top: 40px
}

.couponUseCaution {
    padding: 20px 12px 0
}

.couponUseCautionList {
    margin-top: 4px
}

.couponCaution {
    margin-top: 50px
}

.couponCautionList {
    margin-top: 5px
}

    .couponCautionList > li + li {
        margin-top: 5px
    }

.updateDate {
    margin-top: 40px
}

#topPage main .fixedBackgroundWrap section.homeFoodContents .contentsHeading {
    margin-bottom: 45px
}

.homeFoodList > li {
    height: 440px;
    -ms-overflow-style: auto
}

.homeFoodImg {
    width: 400px;
    height: 400px;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .homeFoodImg img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .homeFoodImg img.fixVertical {
            width: 140% !important;
            height: auto !important
        }

        .homeFoodImg img.fixSide {
            width: auto !important;
            height: 100% !important
        }

        .homeFoodImg img.fixSquare {
            width: 100% !important;
            height: 100% !important
        }

.homeFoodTxtInner::-webkit-scrollbar {
    -webkit-appearance: none
}

    .homeFoodTxtInner::-webkit-scrollbar:vertical {
        width: 9px
    }

    .homeFoodTxtInner::-webkit-scrollbar:horizontal {
        height: 9px
    }

.homeFoodTxtInner::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: rgba(0,0,0,0.5)
}

#container .homeFoodTxtInner {
    -ms-overflow-style: none
}

    #container .homeFoodTxtInner::-webkit-scrollbar {
        display: none
    }

.homeFoodTxtInner {
    width: 420px;
    max-height: 300px;
    overflow-y: auto
}

.homeFoodPrice {
    margin-top: 10px
}

.homeFoodDescription {
    position: relative;
    overflow-y: auto;
    margin-top: 10px
}

.homeFoodMoreShowBtn {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 30px
}

.homeFoodMoreShowBtnIcon {
    margin-left: 4px
}

.contCarouselItems {
    width: 2880px
}

.contCarouselWrap {
    padding: 10px
}

.contCarouselItems > .contCarouselItem {
    width: 654px;
    height: 360px
}

.contCarouselBox {
    position: relative;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 50px
}

.contCarouselIndicator {
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    font-size: 0;
    text-align: center;
    z-index: 1
}

    .contCarouselIndicator > li {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 5px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        cursor: pointer
    }

.contCarouselArrowNext:before, .contCarouselArrowPrev:before, .contCarouselArrowNext:after, .contCarouselArrowPrev:after {
    content: '';
    display: block;
    width: 14px;
    height: 2px
}

.contCarouselArrowPrev, .contCarouselArrowNext {
    position: absolute;
    top: 50%;
    z-index: 1;
    padding: 10px 5px 10px 10px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    cursor: pointer
}

    .contCarouselArrowPrev:hover, .contCarouselArrowNext:hover {
        opacity: 0.6
    }

.contCarouselArrowNext {
    right: 0;
    -webkit-transform: translate(-50%, -50%) scale(2);
    -ms-transform: translate(-50%, -50%) scale(2);
    transform: translate(-50%, -50%) scale(2);
    display: block !important;
}

.contCarouselArrowPrev {
    left: 0;
    -webkit-transform: rotate(180deg) translate(-50%, 50%) scale(2);
    -ms-transform: rotate(180deg) translate(-50%, 50%) scale(2);
    transform: rotate(180deg) translate(-50%, 50%) scale(2);
    display:block!important;
}

    .contCarouselArrowNext:before, .contCarouselArrowPrev:before {
        -webkit-transform: rotate(50deg) translateX(-5px);
        -ms-transform: rotate(50deg) translateX(-5px);
        transform: rotate(50deg) translateX(-5px)
    }

    .contCarouselArrowNext:after, .contCarouselArrowPrev:after {
        -webkit-transform: rotate(-50deg) translateX(-5px);
        -ms-transform: rotate(-50deg) translateX(-5px);
        transform: rotate(-50deg) translateX(-5px)
    }

.contCarouselCaptions {
    position: relative;
    margin: 30px 65px 20px;
    z-index: 1;
    max-height: 65px;
    overflow-y: auto
}

.contCarouselCaption {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: justify;
    line-height: 1.6
}

.contCarouselDetail {
    line-height: 1.6
}

.wrapper.mapContentsWrap:not(#topPage) .fixedBackgroundWrap {
    padding-bottom: 180px
}

.displayMapArea {
    margin-top: 50px
}

    .displayMapArea > iframe {
        height: 350px
    }

.mapShopTitleArea, .mainMap, .shopInfoList {
    margin-top: 30px
}

    .shopInfoList > li + li {
        margin-top: 20px
    }

.mapContents .freeTxt {
    margin-top: 20px
}

.mapItems {
    display: table;
    table-layout: fixed;
    width: 100%
}

    .mapItems > dt, .mapItems > dd {
        display: table-cell
    }

    .mapItems > dt {
        width: 180px;
        padding-right: 30px
    }

.snsPageList > li {
    display: inline-block;
    vertical-align: middle
}

.newsList > li > a {
    position: relative;
    display: block;
    padding: 40px 50px 40px 0
}

.newsCassette {
    font-size: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

    .newsCassette .newsSummary {
        -ms-flex-item-align: center;
        align-self: center
    }

.newsImg, .newsSummary {
    display: inline-block;
    vertical-align: middle
}

.newsImg {
    width: 100px;
    height: 100px;
    position: relative;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .newsImg img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .newsImg img.fixVertical {
            width: 100% !important;
            height: auto !important
        }

        .newsImg img.fixSide {
            width: auto !important;
            height: 100% !important
        }

        .newsImg img.fixSquare {
            width: 100% !important;
            height: 100% !important
        }

    .newsImg + .newsSummary {
        margin-left: 25px;
        max-width: calc(100% - (100px + 25px))
    }

.newsTitle {
    margin-top: 6px
}

.newsDate {
    width: 110px
}

.pagerItem, .newsPagerList > li {
    width: 34px;
    min-width: auto;
    height: 34px;
    font-size: 14px
}

    .pagerItem > a, .newsPagerList > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 100%;
        line-height: 1;
        padding: 0;
        text-align: center
    }

.pagerWrap {
    margin: 40px 0 0
}

.newsPagerList > li.dottedLine, .newsPagerList > li.active {
    pointer-events: none
}

.newsPagerList > li + li {
    margin-left: 10px
}

.prev {
    margin-right: 40px
}

.next {
    margin-left: 40px
}

.wrapper:not(#topPage) main .newsDetailContents .contentsInner {
    padding-top: 90px
}

.newsDetailDate {
    text-align: left
}

    .newsDetailDate + .newsHeading {
        margin-top: 15px
    }

.newsHeading {
    padding-bottom: 10px
}

.newsDetailTxt {
    padding-top: 35px
}

    .newsDetailTxt > p {
        line-height: 2
    }

        .newsDetailTxt > p > img {
            display: block;
            max-width: 420px;
            max-height: 420px;
            margin: 25px auto
        }

.courseDetailContents .contentsInner {
    padding-top: 90px
}

.courseDetailContents .sharpContents {
    padding: 40px
}

.menubarList + .courseDetailWrap, .menubarList + .courseDetailMenuWrap {
    margin-top: 50px
}

.courseDetailWrap {
    overflow: hidden
}

.courseDetailImg {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: auto;
    width: 314px;
    max-height: 314px
}

    .courseDetailImg > img {
        max-width: 100%;
        max-height: 314px
    }

        .courseDetailImg > img.fixVertical {
            height: 314px
        }

    .courseDetailImg + .courseDetailAbout {
        width: calc(100% - 314px - 25px);
        margin-left: 25px
    }

.courseDetailAbout {
    display: inline-block;
    vertical-align: top
}

.courseDetailPrice {
    margin-top: 16px
}

.courseDetailFoodNum + .courseDetailPersonNum, .courseDetailNumWrap + .courseDetailFreeDrinkWrap {
    margin-top: 10px
}

.courseDetailInfo {
    margin-top: 20px
}

.courseDetailDesc {
    margin-top: 20px;
    padding-top: 20px
}

.courseDetailNumWrap span {
    vertical-align: middle
}

.useCouponPrice {
    vertical-align: middle
}

.courseDetailContentTxt {
    margin-top: 30px
}

.courseDetailUpdateDate {
    margin-top: 40px
}

.courseDetailReservationDeadline:first-of-type {
    padding-top: 40px
}

.courseDetailReservationDeadline:last-of-type {
    padding-bottom: 40px
}

.courseDetailReservationDeadline + .courseDetailReservationDeadline {
    margin-top: 10px
}

.courseDetailReservationDeadline > dd, .courseDetailReservationDeadline dt {
    display: inline-block;
    vertical-align: middle
}

.courseDetailReservationDeadline > dd {
    margin-left: 12px
}

.courseDetailCoupon {
    margin-top: 40px
}

.courseDetailReservationBtn {
    margin-top: 40px;
    text-align: center
}

    .courseDetailReservationBtn > a {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: 66px;
        padding: 12px 10px
    }

.courseDetailCouponHeading + .couponList {
    margin-top: 40px
}

.courseDetailWrap + .courseDetailMenuBoard {
    margin-top: 50px
}

.courseDetailMenuBoard {
    padding: 25px
}

.courseDetailMenuWrap {
    padding: 45px 40px
}

.courseDetailMenu:first-child {
    padding: 0 0 40px
}

.courseDetailMenu + .courseDetailMenu {
    padding: 40px 0
}

.galleryItems {
    margin-top: 20px
}

.galleryNav {
    display: table;
    overflow: hidden;
    width: 100%;
    height: 36px;
    margin: 0 auto
}

    .galleryNav > li {
        display: table-cell;
        vertical-align: middle;
        width: 25%;
        padding: 12px 5px;
        cursor: pointer
    }

        .galleryNav > li.current {
            cursor: default
        }

.galleryList {
    margin-top: 20px;
    font-size: 0
}

    .galleryList > li {
        display: inline-block;
        width: calc((100% - (8px * 3)) / 4);
        height: 180px;
        margin-left: 8px
    }

        .galleryList > li:nth-child(n + 5) {
            margin-top: 8px
        }

        .galleryList > li:nth-child(7n + 1), .galleryList > li:nth-child(7n + 5) {
            margin-left: 0
        }

        .galleryList > li:nth-child(7n), .galleryList > li:nth-child(7n - 1), .galleryList > li:nth-child(7n - 2) {
            width: calc(((100% - (8px * 2)) / 3) - 0.1px)
        }

.galleryImg {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    cursor: pointer
}

[data-bgimgsrc] {
    opacity: 0
}

.galleryInfo {
    display: none
}

.seatTypes > li + li {
    margin-top: 95px
}

.seatTxt:not(:first-child) {
    margin-top: 15px
}

.hasSeatInfo .seatCapacity + .seatInfoList {
    margin-top: 20px;
    width:100%;
}

.hasSeatInfo .seatInfoList > li + li {
    margin-top: 20px
}

.hasSeatInfo .seatInfoRow {
    display: table
}

.hasSeatInfo .seatInfoTitle {
    display: table-cell
}

.hasSeatInfo .seatInfoData {
    display: table-cell;
    padding-left: 15px;
    line-height: 1.6
}

.hasSeatInfo .seatInfoCaption {
    margin-top: 5px
}

.seatImg {
    position: relative;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .seatImg img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .seatImg img.fixVertical {
            width: 100% !important;
            height: auto !important
        }

        .seatImg img.fixSide {
            width: auto !important;
            height: 100% !important
        }

        .seatImg img.fixSquare {
            width: 100% !important;
            height: 100% !important
        }

.seatCassettes > li.hasSeatInfo:first-child {
    padding-bottom: 40px
}

.seatCassettes > li + li.hasSeatInfo {
    padding: 40px 0
}

.seatTypes > li:last-child .seatCassettes > li.hasSeatInfo:last-child {
    padding: 40px 0 0
}

.hasSeatInfo .seatImg {
    float: left;
    overflow: hidden;
    width: 211.33333333333334px;
    height: 211.33333333333334px;
    text-align: center
}

    .hasSeatInfo .seatImg:after {
        display: inline-block;
        content: '';
        width: 0;
        height: 100%;
        vertical-align: middle
    }

    .hasSeatInfo .seatImg > .fixVertical {
        height: 211.33333333333334px
    }

.hasSeatInfo .seatCassetteInner {
    overflow: hidden
}

.hasSeatInfo .seatImg + .seatContent {
    margin-left: 236.33333333333334px
}

.hasSeatInfo .seatInfoTitle {
    width: 145px
}

.seatCassettes {
    font-size: 0;
    line-height: 1.2
}

    .seatCassettes > li {
        position: relative
    }

        .seatCassettes > li:not(.hasSeatInfo) > .multipleSeatList {
            overflow: hidden;
            padding-bottom: 35px
        }

            .seatCassettes > li:not(.hasSeatInfo) > .multipleSeatList > li {
                display: inline-block;
                width: 211.33333333333334px;
                vertical-align: top
            }

                .seatCassettes > li:not(.hasSeatInfo) > .multipleSeatList > li:nth-child(n + 4) {
                    position: relative;
                    margin-top: 25px
                }

                .seatCassettes > li:not(.hasSeatInfo) > .multipleSeatList > li:not(:nth-child(3n + 1)) {
                    margin-left: 20px
                }

        .seatCassettes > li:not(.hasSeatInfo) .seatImg {
            width: 211.33333333333334px;
            height: 211.33333333333334px;
            text-align: center
        }

            .seatCassettes > li:not(.hasSeatInfo) .seatImg:not(:last-child) {
                margin-bottom: 20px
            }

            .seatCassettes > li:not(.hasSeatInfo) .seatImg:after {
                display: inline-block;
                content: '';
                width: 0;
                height: 100%;
                vertical-align: middle
            }

            .seatCassettes > li:not(.hasSeatInfo) .seatImg > .fixVertical {
                height: 211.33333333333334px
            }

        .seatCassettes > li:not(.hasSeatInfo) + .hasSeatInfo {
            margin-top: 30px
        }

.detailInfoContents {
    margin-top: 95px
}

    .detailInfoContents .contentsInner {
        padding: 0
    }

.detailInfoBlock + .detailInfoBlock {
    margin-top: 90px
}

.detailInfoList > li + li, .relatedShopList > li + li, .relatedShopListLink {
    margin-top: 20px
}

.detailInfoListItem {
    display: table;
    table-layout: fixed;
    width: 100%
}

    .detailInfoListItem > dt, .detailInfoListItem dd {
        display: table-cell
    }

    .detailInfoListItem > dt {
        width: 180px;
        padding-right: 30px
    }

.cautionWordingArea {
    margin-top: 20px
}

.detailInfoBlock.hygieneContents .hygieneContentsInner {
    padding-top: 40px;
    margin-top: -40px
}

.detailInfoBlock.hygieneContents .mediumItemWrap + .mediumItemWrap {
    margin-top: 20px
}

.detailInfoBlock.hygieneContents .mediumItemWrap .mediumItem .mediumItemText {
    color: #333
}

.menuCoursesContents .sharpContents, .menuFoodsContents .sharpContents, .menuDrinksContents .sharpContents, .menuLunchesContents .sharpContents {
    padding: 44px
}

.menubarList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

    .menubarList > li {
        width: 100%
    }

        .menubarList > li > a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-flow: column;
            flex-flow: column;
            width: 100%;
            padding: 14px 10px
        }

        .menubarList > li .postsNumLine.jaNavTitle:only-child {
            margin-top: 26px
        }

.subNavEngTitle + .postsNumLine {
    margin-top: 10px
}

.menuCategoryList, .menubarList + .menuInner {
    margin-top: 50px
}

    .menuInner + .menuInner, .menuCategoryList > li + li {
        margin-top: 95px
    }

.menuItemsCassette {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

    .menuItemsCassette .menuItemsInfoInner {
        -ms-flex-item-align: center;
        align-self: center
    }

.menuItemsList > li {
    position: relative;
    overflow: hidden
}

.menuItemsImg {
    display: inline-block;
    vertical-align: middle;
    width: 440px;
    height: 440px;
    position: relative;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .menuItemsImg img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .menuItemsImg img.fixVertical {
            width: 100% !important;
            height: auto !important
        }

        .menuItemsImg img.fixSide {
            width: auto !important;
            height: 100% !important;
            display:block!important;
        }

        .menuItemsImg img.fixSquare {
            width: 100% !important;
            height: 100% !important
        }

    .menuItemsImg + .menuItemsInfoInner {
        display: inline-block;
        vertical-align: middle;
        width: calc(100% - (440px + 25px));
        margin-left: 25px
    }

.menuItemsPrice {
    margin-top: 16px
}

    .menuItemsPrice > .price {
        vertical-align: middle
    }

    .menuItemsPrice + .menuItemsDescription, .menuItemsTitle + .menuItemsDescription {
        margin-top: 20px
    }

.menuShowDetail {
    margin-top: 16px
}

.menuFoodsContents .menuItemsList > li:first-child, .menuDrinksContents .menuItemsList > li:first-child, .menuLunchesContents .menuItemsList > li:first-child {
    padding-bottom: 40px
}

.menuFoodsContents .menuItemsList > li + li, .menuDrinksContents .menuItemsList > li + li, .menuLunchesContents .menuItemsList > li + li {
    padding: 40px 0
}

.menuRemarks {
    margin-top: 20px
}

.menuCoursesContents .menuItemsList > li > a, .couponAvailable .menuItemsList > li > a {
    display: block;
    padding: 40px 53px 40px 0
}

.menuCoursesContents .menuItemsList > li:first-child > a {
    padding-top: 0
}

.menuItemsSubInfo {
    margin-top: 20px
}

.useCoupon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    padding: 4px
}

.exudingCouponWrap {
    margin-top: 16px
}

.exudingCoupon {
    display: inline-block;
    margin-top: 4px;
    padding: 7px;
    min-width: 300px
}

.drinkOpenBarContent {
    margin-top: 32px
}

.drinkOpenBarList {
    margin-top: 30px
}

    .drinkOpenBarList > li + li {
        margin-top: 30px
    }

.drinkOpenBarListItem > dt + dd {
    margin-top: 10px
}

#topPage main .fixedBackgroundWrap section.calendarContents .contentsHeading {
    margin-bottom: 35px
}

.calendarContents > .sharpContents {
    padding: 50px 30px 20px
}

.calendarContents .contentsBody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.calendarBlockLeft {
    width: 440px;
    padding: 0
}

    .calendarBlockLeft thead, .calendarBlockLeft tbody {
        display: block
    }

    .calendarBlockLeft tbody {
        margin-top: 10px
    }

    .calendarBlockLeft tr {
        display: block;
        table-layout: auto
    }

        .calendarBlockLeft tr > th, .calendarBlockLeft tr > td {
            display: inline-block;
            width: calc(((100% - (1px * 6)) / 7) - 0.1px)
        }
        .calendarBlockLeft thead tr th {
            margin-left: -0px!important
        }
        .calendarBlockLeft tr td + td, .calendarBlockLeft tr th + th {
            margin-left: -3.5px
        }

        .calendarBlockLeft tr + tr {
            margin-top: 1px
        }

.calendarContainer {
    /*height: 352px;*/
    padding: 10px 15px 15px
}

    .calendarContainer thead th {
        padding: 0
    }

.calendarCell {
    padding: 11px 0
}

.calendarCellState {
    margin-top: 7px
}

.calendarBlockRight {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 250px;
    min-width: 0;
    margin-left: 17px;
    padding: 0
}

    .calendarBlockRight > .calendarBorder {
        padding: 15px 15px 10px
    }

.calendarSelectList > li:first-child + li {
    margin-top: 13px
}

.calendarSelectList > li:first-child .calendarSelectTitle {
    margin-bottom: 13px
}

.calendarSelectList > li:not(:first-child) .calendarSelectTitle {
    margin-bottom: 7px
}

.calendarSelectList > li + li {
    margin-top: 13px
}

.calendarSelectBoxSelected, .calendarSelectSubmitBtn {
    padding: 10px
}

    .calendarSelectBoxSelected:after {
        top: 10px;
        right: 10px;
        width: 0;
        height: 6px;
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg)
    }

.open .calendarSelectBoxSelected:after {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
    top: -15px
}

.calendarSelectSubmit {
    margin-top: 33px
}

.calendarListInfo {
    margin-top: 15px
}

.calendarBtnOtherDay {
    margin-top: 16px
}

    .calendarBtnOtherDay > a {
        padding: 0
    }

.newsInner + .instagram {
    margin-top: 75px
}

.instagramListWrap {
    margin-top: 32px
}

.instagramInner {
    padding-top: 32px;
    padding-left: 24px;
    padding-bottom: 24px;
    padding-right: 24px
}

.evcContents.contentsInner {
    padding: 0
}

.evcContentsHead {
    padding: 83px 20px 20px
}

.evcHead {
    margin-top: 0
}

.evcBlockDetailWindow {
    width: 356px
}

.takeoutsRecommend + .menuCategoryList, .takeoutsRecommend + .menuRemarkContents {
    margin-top: 95px
}

.menuTakeoutsContents .menuItemsList > li:first-child {
    padding-bottom: 40px
}

.menuTakeoutsContents .menuItemsList > li + li {
    padding: 40px 0
}

.breadCrumb {
    position: relative;
    z-index: 1
}

.breadCrumbInner {
    width: 826px;
    margin: 0 auto
}

.breadCrumbList {
    display: inline-block;
    vertical-align: middle;
    padding: 4px 10px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

    .breadCrumbList > li {
        display: inline
    }

        .breadCrumbList > li > a {
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

            .breadCrumbList > li > a:hover {
                opacity: 0.7
            }

        .breadCrumbList > li > a {
            cursor: pointer;
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

        .breadCrumbList > li + li:before {
            content: " > ";
            margin: 0 4px
        }

.contCarousel {
    position: relative;
    overflow: hidden;
    width: 100%
}

    .contCarousel:before {
        z-index: 1
    }

.contCarouselItems {
    font-size: 0;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease
}

.contCarouselItem {
    display: inline-block;
    position: relative;
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

    .contCarouselItem img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

        .contCarouselItem img.fixVertical {
            width: 100% !important;
            height: auto !important
        }

        .contCarouselItem img.fixSide {
            width: auto !important;
            height: 100% !important
        }

        .contCarouselItem img.fixSquare {
            width: 100% !important;
            height: 100% !important
        }

.moodIndicatorContainer, .moodIndicatorPlaceholder {
    display: none
}

#container .contCarousel {
    overflow: visible
}

#container .contCarouselItems {
    width: 100%;
    overflow: hidden
}

    #container .contCarouselItems > li + li {
        display: none
    }

#container .contCarouselCaptions > li {
    position: static
}

    #container .contCarouselCaptions > li + li {
        display: none
    }

#container .moodIndicatorContainer, #container .moodIndicatorPlaceholder {
    display: block
}

#container .contCarousel + .moodIndicatorPlaceholder {
    display: none
}

#container .moodIndicatorContainer {
    position: absolute;
    top: -30px;
    right: 10px;
    z-index: 1
}

#container .moodIndicatorText {
    padding: 10px;
    border-radius: 5px 5px 0 0;
    background-color: #29363b;
    color: #fff;
    text-align: left;
    font-size: 18px;
    line-height: 1;
    font-family: "Avenir Next", "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック", "MSPGothic", sans-serif
}

#container .moodIndicatorList {
    padding: 10px;
    background-color: #fff
}

    #container .moodIndicatorList > li {
        display: inline-block
    }

        #container .moodIndicatorList > li > a {
            display: block;
            width: 130px;
            height: 90px;
            font-size: 0;
            text-align: center;
            opacity: 0.6;
            -webkit-transition: all 0.3s ease;
            transition: all 0.3s ease
        }

            #container .moodIndicatorList > li > a:after {
                content: '';
                display: inline-block;
                vertical-align: middle;
                width: 0;
                height: 100%
            }

            #container .moodIndicatorList > li > a > img {
                vertical-align: middle;
                max-width: 100%;
                max-height: 90px
            }

                #container .moodIndicatorList > li > a > img.fixSquare {
                    width: 100%
                }

                #container .moodIndicatorList > li > a > img.fixVertical {
                    height: 90px
                }

            #container .moodIndicatorList > li.current > a, #container .moodIndicatorList > li > a:hover {
                opacity: 1
            }

        #container .moodIndicatorList > li + li {
            margin-left: 4px
        }

#container .moodIndicatorPlaceholder {
    width: 100%;
    text-align: center
}

    #container .moodIndicatorPlaceholder > li.placeholder-plus {
        width: 100%
    }

.rowGroup {
    position: relative
}

.footerContents .contentsInner {
    padding-top: 60px;
    padding-bottom: 180px
}

.fShopInfoList {
    margin-top: 30px
}

    .fShopInfoList > li + li {
        margin-top: 20px
    }

.footerContents .freeTxt {
    margin-top: 14px
}

.fShopInfoListItem {
    display: table;
    table-layout: fixed;
    width: 100%
}

    .fShopInfoListItem > dt, .fShopInfoListItem > dd {
        display: table-cell;
        word-wrap: break-word;
        overflow-wrap: break-word
    }

    .fShopInfoListItem > dt {
        width: 130px;
        padding-right: 20px
    }

.fOtherInfo {
    padding: 16px 0;
    text-align: center
}

    .fOtherInfo .copyright {
        width: 770px;
        margin: 2px auto 0
    }

    .fOtherInfo .cookieLink > a:hover {
        opacity: 0.7
    }

    .fOtherInfo .cookieLink > a {
        cursor: pointer;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

.globalHeader + .gnav {
    margin-top: 35px
}

.gnav {
    padding-bottom: 25px
}

    .gnav + .phoneArea {
        padding-top: 25px
    }

.globalNavItem > li + li, .overFlowListWrap > li + li {
    margin-top: 25px
}

.globalNavItem > li > a, .overFlowListWrap > li > a {
    display: inline-block;
    vertical-align: middle;
    width: 100%
}

.navEngTitle, .navRubyTitle {
    display: block
}

.globalNavItem > li > a .navRubyTitle.jaNavTitle:only-child {
    margin-top: 36px
}

.otherNavWrap > .btnState {
    display: block
}

.overFlowListWrap {
    margin-top: 20px
}

.otherNavWrap {
    display: block
}

.globalNavItem > li:nth-child(n + 9) {
    display: none
}

.overflowNavWrap {
    position: relative;
    width: 100%;
    cursor: pointer
}

.rowGroup .navTopOpen {
    height: auto !important
}

.overFlowListWrap {
    padding-left: 10px;
    -webkit-overflow-scrolling: touch
}

.navBottomOpen {
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.navTopOpen {
    top: 0;
    left: 0;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.navClose {
    display: none
}

.navTopOpen {
    z-index: 997
}

.sideHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 270px;
    height: 100vh;
    padding: 30px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 1
}

.isTabletStyle .sideHeader {
    padding: 30px 30px 100px
}

.shopLogoImg {
    display: inline-block;
    vertical-align: middle;
    text-align: center
}

    .shopLogoImg > a {
        display: block;
        width: 50px;
        height: 50px;
        overflow: hidden
    }

        .shopLogoImg > a:after {
            content: '';
            display: inline-block;
            vertical-align: middle;
            height: 100%
        }

        .shopLogoImg > a > img {
            vertical-align: middle;
            max-width: 100%;
            max-height: 56px
        }

.shopLogo + .shopLogoTxt {
    margin-top: 20px
}

.shopLogoTxt > a {
    display: block
}

.shopLogoImg + .languageArea {
    margin-left: 30px
}

.languageArea {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.langPullDownTitle > a {
    position: relative;
    display: block;
    /*width: 80px;*/
    height: 30px;
    padding: 4px 8px;
    text-align: center;
    -webkit-transition: all 0.7s;
    transition: all 0.7s
}

    .langPullDownTitle > a:after {
        content: "";
        position: absolute;
        top: 10px;
        right: 0
    }

.langPullDownList {
    display: none;
    position: absolute;
    z-index: 11;
    width: 80px;
    text-align: center
}

    .langPullDownList > li > a {
        padding: 5px;
        display: block;
        line-height: 30px;
        -webkit-transition: all 0.7s;
        transition: all 0.7s
    }

.carouselWrap {
    position: relative
}

.carouselItemCaption {
    position: absolute !important;
    z-index: 1;
    top: 50%;
    padding-left: 10%;
    padding-right: 10%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center
}

.carouselKV {
    position: relative;
    z-index: -1;
    overflow: hidden;
    width: 100%;
    height: calc(100vh - 210px)
}

    .carouselKV:not(.carouselVideo) {
        left: -135px
    }

    .carouselKV.loading.carouselFlexible .carouselItem {
        width: 100vw;
        height: 100vh
    }

    .carouselKV.loading .carouselItem + .carouselItem {
        visibility: hidden
    }

    .carouselKV.loading .carouselIndicator {
        visibility: hidden
    }

.carouselFlexible .carouselItems {
    position: relative;
    height: 100%;
    font-size: 0
}

.carouselFlexible .carouselItem {
    display: inline-block;
    position: relative;
    height: 100%;
    vertical-align: top
}

.carouselFlexible .carouselItemImg {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center
}

    .carouselFlexible .carouselItemImg:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
        z-index: 1
    }

.carouselFlexible .carouselItem.current .carouselItemImg:before {
    -webkit-transition: all 0.5s;
    transition: all 0.5s
}

.carouselFlexible .carouselItemImg:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle
}

.carouselFlexible .carouselItemImg > img {
    height: 100%;
    vertical-align: middle
}

.carouselFlexible .carouselItemCaption {
    position: absolute;
    width: 50%;
    margin: auto;
    padding: 5px;
    right: 0;
    left: 0;
    bottom: 50px;
    text-align: center;
    line-height: 1.8
}

.carouselFlexible .carouselIndicator {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center;
    z-index: 1
}

    .carouselFlexible .carouselIndicator li {
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        cursor: pointer
    }

        .carouselFlexible .carouselIndicator li + li {
            margin-left: 10px
        }

.carouselVideo .carouselItems {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%
}

.carouselVideo .carouselItemImg, .carouselVideo .carouselItemVideo {
    height: 100% !important;
    text-align: center
}

.carouselVideo .carouselItem {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100%
}

.carouselVideo .carouselItemVideo:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.carouselVideo .carouselItemVideo iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.carouselVideo .carouselItemCaption {
    position: absolute;
    width: 50%;
    margin: auto;
    padding: 5px;
    right: 0;
    left: 0;
    bottom: 50px;
    line-height: 1.8
}

.carouselFade .carouselItem, .carouselVideo .carouselItem {
    -webkit-transition: opacity 1s, visibility 1s;
    transition: opacity 1s, visibility 1s;
    opacity: 0;
    visibility: hidden
}

    .carouselFade .carouselItem.current, .carouselVideo .carouselItem.current {
        opacity: 1;
        visibility: visible
    }

.carouselItemImg > img {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

[data-device="tablet"] .carouselKV {
    height: calc(100vh - 313px)
}

.snsList {
    font-size: 0;
    text-align: center
}

    .snsList > li {
        display: inline-block;
        vertical-align: middle
    }

        .snsList > li + li {
            margin-left: 30px
        }

.snsBtn {
    display: block;
    width: 46px;
    height: 46px;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .snsBtn:hover {
        opacity: 0.7
    }

.snsBtn {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .snsBtn img {
        width: 100%;
        height: auto
    }

    .snsBtn.mailIcon {
        position: relative
    }

        .snsBtn.mailIcon > svg {
            width: 30px;
            height: 30px;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto
        }

.popUpReservationWrap {
    height: 100px
}

.popUpReservationContents, .popUpReservationContentsFixed {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    bottom: 30px;
    z-index: 10;
    width: 826px;
    margin: 0 auto
}

.popUpReservationContents {
    position: relative
}

.popUpReservationContentsFixed {
    position: fixed;
    left: calc((100% + 270px) / 2);
    -webkit-transform: translateX(-50%) scale(0.9);
    -ms-transform: translateX(-50%) scale(0.9);
    transform: translateX(-50%) scale(0.9)
}

    .popUpReservationContents.theBottom, .popUpReservationContentsFixed.theBottom {
        bottom: 125px
    }

.popUpWrap, .reservationArea {
    height: 100px
}

.popUpWrap {
    position: relative;
    z-index: 0;
    width: 403px
}

    .popUpWrap.gettingReadyPopUp {
        display: none
    }

.popUpCardContainer {
    padding: 15px 25px 15px 20px
}

.popUpCardIcn {
    width: 65px;
    height: 65px
}

.phoneArea + .reservationBtn {
    margin-left: 10px
}

.reservationArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    width: 403px;
    padding: 15px 15px 15px 20px
}

    .reservationArea .reservationBtn {
        width: 170px
    }

        .reservationArea .reservationBtn > a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            height: 68px;
            padding: 12px 5px
        }

.popUpWrap + .reservationArea, .takeoutPopUp + .reservationArea {
    margin-left: 20px
}

.takeoutPopUp {
    width: 403px;
    line-height: 1;
    height: 100px;
    z-index: 0;
    border-radius: 5px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    opacity: 1;
    color: #fff;
    background-color: rgba(0,0,0,0.8);
    -webkit-box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5);
    box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5)
}

    .takeoutPopUp.inactive {
        opacity: 0.5
    }

    .takeoutPopUp.isHidden {
        opacity: 0;
        visibility: hidden
    }

    .takeoutPopUp.gettingReadyPopUp {
        visibility: hidden
    }

.takeoutPopUpLink {
    position: relative;
    display: block;
    padding: 29px 45px 29px 105px;
    height: 100%;
    background-image: url('/template/img/takeout_icn.png');
    background-repeat: no-repeat;
    background-position: 15px 18px;
    background-size: 65px auto;
    font-family: Arial, serif
}

    .takeoutPopUpLink:after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 24px;
        margin: auto;
        width: 10px;
        height: 10px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-top: solid 2px;
        border-right: solid 2px
    }

.takeoutPopUpHeading {
    position: relative;
    padding: 0 10px;
    display: inline-block;
    font-size: 17px;
    font-weight: 800;
    font-family:'Times New Roman'
}

    .takeoutPopUpHeading:before, .takeoutPopUpHeading:after {
        content: '';
        position: absolute;
        width: 17px;
        border-top: 2px solid;
        border-radius: 1px
    }

    .takeoutPopUpHeading:before {
        top: 7px;
        left: -5px;
        -webkit-transform: rotate(70deg);
        -ms-transform: rotate(70deg);
        transform: rotate(70deg)
    }

    .takeoutPopUpHeading:after {
        top: 7px;
        right: -3px;
        -webkit-transform: rotate(-70deg);
        -ms-transform: rotate(-70deg);
        transform: rotate(-70deg)
    }

.takeoutPopUpTxt {
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600
}

.hygieneBtnWrap {
    position: absolute;
    font-size: 14px;
    left: 50%;
    bottom: -55px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #333;
    background: #cfeef1;
    z-index: 10000;
    border-radius: 20px;
    text-align: center;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5);
    box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5);
    opacity: 0
}

    .hygieneBtnWrap.firstView {
        opacity: 0.75;
        pointer-events: auto
    }

    .hygieneBtnWrap .hygieneText {
        position: relative;
        display: block;
        padding: 5px 48px 5px 62px;
        white-space: nowrap;
        opacity: 1;
        text-shadow: 1px 1px 1px rgba(255,255,255,0.3);
        font-family: Arial, Helvetica, sans-serif
    }

        .hygieneBtnWrap .hygieneText:before {
            content: '';
            position: absolute;
            width: 29px;
            height: 28px;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            left: 30px;
            background-image: url('/template/img/icon_irregular_2.png');
            background-repeat: no-repeat;
            background-size: contain
        }

        .hygieneBtnWrap .hygieneText:after {
            content: '';
            position: absolute;
            top: 50%;
            right: 30px;
            width: 7px;
            height: 7px;
            border-left: 2px solid #333;
            border-bottom: 2px solid #333;
            -webkit-transform: translateY(-50%) rotate(-45deg);
            -ms-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg)
        }

@media all and (-ms-high-contrast: none) {
    .takeoutPopUpTxt {
        padding-top: 3px
    }
}

body {
    line-height: 2;
    color: #fff;
    background-color: #000;
    font-size: 14px;
    font-family: Arial, serif;
    font-weight: 200
}

.linkColor {
    color: #f9b500
}

.mainContents {
    -ms-overflow-style: none
}

    .mainContents::-webkit-scrollbar {
        display: none
    }

    .mainContents:before {
        content: '';
        position: fixed;
        top: 0;
        left: 270px;
        z-index: 1;
        width: 100%;
        height: 100%;
        -webkit-box-shadow: 15px 0 20px -15px #333 inset;
        box-shadow: 15px 0 20px -15px #333 inset;
        pointer-events: none
    }

.contentsWrapBorder {
    position: relative;
    border: 4px solid rgba(216,216,216,0.3)
}

    .contentsWrapBorder:before {
        content: '';
        position: absolute;
        left: 2px;
        top: 2px;
        display: block;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border: 2px solid rgba(216,216,216,0.3);
        pointer-events: none
    }

.fixedBackgroundWrap {
    position: relative;
    width: 100%;
    height: 100%
}

    .fixedBackgroundWrap > .fixedBackgroundImg {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        height: 100vh;
        width: 100%;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-transition: top 1s, bottom 1s;
        transition: top 1s, bottom 1s;
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
        background-image: url('/template/image/fixed_img_main.png');
        background-repeat:no-repeat;
        background-size: cover
    }

        .fixedBackgroundWrap > .fixedBackgroundImg:before, .fixedBackgroundWrap > .fixedBackgroundImg:after {
            content: '';
            position: absolute;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: contain;
            background-repeat: no-repeat
        }

        /*.fixedBackgroundWrap > .fixedBackgroundImg:before {
            top: 0;
            background-image: url('/template/img/fixed_img_top_left.png'),url('/template/img/fixed_img_top_right.png');
            background-size: auto 510px, auto 300px;
            background-position: 0 0, 100% 25px
        }

        .fixedBackgroundWrap > .fixedBackgroundImg:after {
            bottom: 0;
            background-image: url('/template/img/fixed_img_bottom_left.png'),url('/template/img/fixed_img_bottom_right.png');
            background-size: auto 180px, auto 240px;
            background-position: 0 100%, 100% 100%
        }*/

.fixedBackgroundImg.bgFixed {
    position: fixed;
    left: 270px;
    -webkit-transition: top 0s, bottom 0s;
    transition: top 0s, bottom 0s
}

.fixedBackgroundImg.theBottom {
    top: auto !important;
    bottom: 0
}

.noSetFixedBackground {
    background-color: #fff
}

.contentsHeading {
    text-align: center
}

    .contentsHeading:before {
        content: '';
        position: absolute;
        right: 0;
        left: 0;
        bottom: -24px;
        z-index: -1;
        width: 150px;
        height: 90px;
        margin: auto;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain
    }

    .contentsHeading > span:first-child {
        font-size: 95px;
        font-family: 'Lobster', cursive, Arial, Helvetica, sans-serif, sans-serif;
        line-height: 1
    }

    .contentsHeading > span + span {
        position: relative;
        font-size: 17px;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1
    }

        .contentsHeading > span + span:before, .contentsHeading > span + span:after {
            content: '';
            position: absolute;
            top: 50%;
            height: 1px;
            width: 10px
        }

        .contentsHeading > span + span:before {
            left: -20px
        }

        .contentsHeading > span + span:after {
            right: -20px
        }

.fixedBackgroundWrap .contentsInner:not(.evcContents) .contentsHeading > span + span:before, .fixedBackgroundWrap .contentsInner:not(.evcContents) .contentsHeading > span + span:after {
    background-color: #fff
}

.fixedBackgroundWrap section:not(.evcContents) .contentsHeading > span:first-child {
    color: transparent;
    background-size: 60px auto;
    background-repeat: repeat;
    -webkit-background-clip: text
}

.fixedBackgroundWrap > section:not(.calendarContents):not(.evcContents) .contentsHeading > span:first-child {
    background-image: url('/template/img/background_clip_blackboard.png')
}

.fixedBackgroundWrap .calendarContents .contentsHeading > span:first-child {
    background-image: url('/template/img/background_clip_tree.png')
}

@media all and (-ms-high-contrast: none) {
    .fixedBackgroundWrap section:not(.evcContents) .contentsHeading > span:first-child {
        color: #fff !important
    }

    .fixedBackgroundWrap > section:not(.evcContents) .contentsHeading > span:first-child {
        background-image: none !important
    }
}

section:not(.calendarContents):not(.evcContents) .contentsHeading:before {
    background-image: url('/template/img/heading_illust_blackboard.png')
}

.calendarContents .contentsHeading:before {
    background-image: url('/template/img/heading_illust_calendar.png')
}

.evcContents .contentsHeading:before {
    background-image: url('/template/img/heading_illust_whiteBg.png')
}

.evcContents .contentsHeading > span + span:before, .evcContents .contentsHeading > span + span:after {
    background-color: #333
}

.noSetFixedBackground section.mapContents .contentsHeading:before {
    background-image: url('/template/img/heading_illust_whiteBg.png')
}

.noSetFixedBackground section.mapContents .contentsHeading > span + span:before, .noSetFixedBackground section.mapContents .contentsHeading > span + span:after {
    background-color: #333
}

.toTopPage, .toListBtn, .toDetail {
    text-align: center
}

    .toTopPage > a, .toListBtn > a, .toDetail > a {
        position: relative;
        display: inline-block;
        padding: 8px 40px 8px 30px;
        border-radius: 30px;
        color: #fff;
        font-family: Arial, Helvetica, sans-serif, sans-serif;
        background-color: #333
    }

        .toTopPage > a:hover, .toListBtn > a:hover, .toDetail > a:hover {
            opacity: 0.7
        }

    .toTopPage > a, .toListBtn > a, .toDetail > a {
        cursor: pointer;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

        .toTopPage > a:after, .toListBtn > a:after, .toDetail > a:after {
            content: '';
            position: absolute;
            top: 50%;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: translateY(-50%) rotate(45deg);
            -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
            right: 25px;
            width: 8px;
            height: 8px;
            border-color: #fff
        }

#topPage main {
    top: 0;
    -webkit-transition: top 1s ease 0s;
    transition: top 1s ease 0s
}

#topPage .fixedBackgroundWrap section {
    background-image: url('/template/image/blackBord.png');
    position: relative;
    z-index: 1;
    background-size: cover;
    -webkit-box-shadow: 30px 30px 50px 0 rgba(0,0,0,0.8);
    box-shadow: 30px 30px 50px 0 rgba(0,0,0,0.8)
}

    #topPage .fixedBackgroundWrap section:not(:first-of-type):before {
        content: '';
        position: absolute;
        top: -110px;
        left: 0;
        right: 0;
        z-index: 1;
        margin: auto;
        width: 1px;
        height: 70px;
        background-color: #fff
    }

#topPage .fixedBackgroundWrap .newsContents .newsList {
    position: relative;
    -webkit-border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    border-style: solid;
    border-width: 3px 0 0 0
}

   /* #topPage .fixedBackgroundWrap .newsContents .newsList:before {
        content: '';
        position: absolute;
        top: -216px;
        left: -40px;
        width: 100%;
        height: 220px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('/template/img/calk_illust1.png')
    }*/

    #topPage .fixedBackgroundWrap .newsContents .newsList > li {
        -webkit-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
        -o-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
        border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
        border-style: solid;
        border-width: 0 0 3px 0
    }

.wrapper:not(#topPage) section {
    position: relative
}

    .wrapper:not(#topPage) section:not(.evcContents) {
        background-image: url('/template/img/blackBord.png');
        -webkit-box-shadow: 30px 30px 50px 0 rgba(0,0,0,0.8);
        box-shadow: 30px 30px 50px 0 rgba(0,0,0,0.8)
    }

.sideHeader {
    -ms-overflow-style: none
}

    .sideHeader::-webkit-scrollbar {
        display: none
    }

.sideHeader {
    background-color: #fff
}

    .sideHeader > .phoneArea {
        color: #999;
        border-top: 1px solid #ddd
    }

        .sideHeader > .phoneArea > .reservationTxt {
            line-height: 1;
            font-size: 12px;
            font-family: Arial, serif
        }

        .sideHeader > .phoneArea > .phoneNum {
            font-size: 20px;
            font-weight: bold;
            font-family: Arial, serif
        }

.shopLogoImg {
    border: solid 2px #9a8d76;
    border-radius: 3px
}

.shopLogoTxt > a {
    color: #333;
    font-size: 23px;
    font-family: Arial, serif;
    font-weight: bold;
    line-height: 1.6
}

.popUpReservationContents, .popUpReservationContentsFixed {
    opacity: 1;
    -webkit-transition: bottom 1s ease 0s, opacity 0.5s ease 0s;
    transition: bottom 1s ease 0s, opacity 0.5s ease 0s
}

    .popUpReservationContents.isHidden, .popUpReservationContentsFixed.isHidden {
        opacity: 0 !important
    }

    .popUpReservationContentsFixed.inactive {
        opacity: 0.5
    }

.popUpWrap {
    -webkit-box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5);
    box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5)
}

.popUpCardIcn {
    background-image: url('/template/img/icn01.png')
}

.popUpCardContainer::after {
    border-color: #e0dc70
}

.popUpCouponDetailLinkTxtWrap {
    color: #fefec5
}

.reservationArea {
    border-radius: 5px;
    background-color: rgba(244,244,244,0.75);
    -webkit-box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5);
    box-shadow: 15px 15px 15px 5px rgba(0,0,0,0.5)
}

    .reservationArea .phoneArea {
        color: #836b07;
        text-shadow: 1px 1px 1px rgba(255,255,255,0.7)
    }

        .reservationArea .phoneArea .reservationTxt {
            text-align: center;
            font-size: 13px;
            font-family: Arial, serif
        }

        .reservationArea .phoneArea .phoneNum {
            font-size: 20px;
            line-height: 1;
            text-align: left;
            font-weight: 700;
            font-family: Arial, serif
        }

            .reservationArea .phoneArea .phoneNum > span {
                font-size: 16px
            }

    .reservationArea .reservationBtn > a {
        background-color: #c33a3a;
        border: 1px solid #fff;
        border-radius: 5px;
        font-size: 16px;
        font-family: Arial, serif
    }

        .reservationArea .reservationBtn > a:hover {
            opacity: 0.7
        }

    .reservationArea .reservationBtn > a {
        cursor: pointer;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

.langPullDownTitle > a, .langPullDownList > li {
    font-size: 11px;
    color: #999
}

.langPullDownTitle > a {
    line-height: 1.5;
    border-top: solid 1px #d1d1d1;
    border-bottom: solid 1px #d1d1d1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
    font-size: 11px
}

    .langPullDownTitle > a:hover {
        opacity: 0.7
    }

.langPullDownTitle > a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .langPullDownTitle > a:after {
        border: 4px solid transparent;
        border-top: 7px solid #999;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

.langPullDownList {
    background-color: #ebebeb
}

    .langPullDownList > li {
        position: relative;
        background-color: #ebebeb;
        border-top: 1px solid #fff
    }

        .langPullDownList > li > a:hover {
            opacity: 0.7
        }

        .langPullDownList > li > a {
            cursor: pointer;
            -webkit-transition: 0.3s;
            transition: 0.3s
        }

.gnav {
    background-color: #fff
}

.globalNavItem > li {
    color: #999
}

    .globalNavItem > li > a .navRubyTitle.jaNavTitle {
        font-size: 10px
    }

.overFlowListWrap {
    background-color: #fff;
    color: #999
}

    .overFlowListWrap > li > a {
        position: relative;
        padding-left: 10px;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

        .overFlowListWrap > li > a:before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            width: 5px;
            height: 5px;
            border-radius: 5px;
            background-color: #999
        }

.navEngTitle {
    font-size: 18px;
    font-family: 'Lobster', cursive, Arial, Helvetica, sans-serif, sans-serif
}

.navRubyTitle {
    line-height: 1
}

.globalNavItem > li:not(.overflowNavWrap):hover, .overFlowListWrap > li:hover {
    opacity: 0.5
}

.globalNavItem > li:not(.overflowNavWrap), .overFlowListWrap > li {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .globalNavItem > li.navActive:not(.overflowNavWrap), .overFlowListWrap > li.navActive {
        opacity: 0.5
    }

.overflowNavWrap {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .overflowNavWrap:hover > .navEngTitle, .overflowNavWrap:hover > .btnState {
        opacity: 0.5
    }

.otherNavWrap.jaNavTitle > .btnState {
    font-size: 10px
}

.otherNavWrap > .btnState {
    line-height: 1
}

[data-device="tablet"] .overflowNavWrap:not(.tabNavClicked):hover > .navEngTitle, [data-device="tablet"] .overflowNavWrap:not(.tabNavClicked):hover > .otherNavWrap > span {
    color: #999;
    opacity: 1
}

[data-device="tablet"] .overflowNavWrap.tabNavClicked > .navEngTitle, [data-device="tablet"] .overflowNavWrap.tabNavClicked > .otherNavWrap > span {
    opacity: 0.5
}

.breadCrumbList {
    background-color: rgba(51,51,51,0.4);
    border-radius: 3px;
    font-size: 12px
}

    .breadCrumbList > li > a, .breadCrumbList > li + li:before {
        color: #f9b500
    }

.carouselWrap {
    top: 0;
    -webkit-transition: top 1s ease 0s;
    transition: top 1s ease 0s
}

.carouselItemsWrap, .decorationKV01, .decorationKV02, .decorationKV03 {
    position: relative;
    width: 100%;
    height: 100%
}

.carouselItemImg:before {
    background-color: rgba(0,0,0,0.5)
}

@media screen and (min-width: 1367px) {
    .carouselItem:not(.current) .carouselItemImg > img {
        -webkit-filter: blur(5px);
        filter: blur(5px)
    }
}

li.carouselItem:first-child {
    border-left: solid 1px #e5c7a7;
    border-right: solid 1px #e5c7a7
}

li.carouselItem + li {
    border-right: solid 1px #e5c7a7
}

.carouselItem.current .carouselItemImg:before {
    background-color: rgba(0,0,0,0)
}

.toMainScrollBtn {
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    z-index: 1;
    width: 50px;
    margin: auto;
    padding-top: 32px;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    cursor: pointer
}

    .toMainScrollBtn:before {
        content: '';
        position: absolute;
        right: 0;
        bottom: 50px;
        left: 0;
        height: 60px;
        margin: auto;
        width: 1px;
        background-color: #fff
    }

    .toMainScrollBtn span:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 16px;
        height: 26px;
        margin: auto;
        border: 2px solid #fff;
        border-radius: 50px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .toMainScrollBtn span:after {
        content: "";
        position: absolute;
        top: 6px;
        right: 0;
        left: 0;
        width: 6px;
        height: 6px;
        margin: auto;
        background-color: #369d86;
        border-radius: 100%;
        -webkit-animation: sdb 2s infinite;
        animation: sdb 2s infinite;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

.calendarContents > .sharpContents {
    position: relative;
    border-radius: 5px;
    background-image: url('/template/img/reservation_wood_board.png');
    background-size: contain;
    -webkit-box-shadow: 0 0 20px -5px inset #fff;
    box-shadow: 0 0 20px -5px inset #fff
}

    .calendarContents > .sharpContents:before, .calendarContents > .sharpContents:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        background-image: url('/template/img/reservation_wood_board_screw.png'),url('/template/img/reservation_wood_board_screw.png');
        background-size: 27px;
        background-repeat: no-repeat
    }

    .calendarContents > .sharpContents:before {
        background-position: 10px 10px,10px calc(100% - 10px)
    }

    .calendarContents > .sharpContents:after {
        background-position: calc(100% - 10px) 10px,calc(100% - 10px) calc(100% - 10px)
    }

.calendarBlockLeft, .calendarBlockRight, .calendarBorder {
    position: relative;
    border-radius: 5px
}

    .calendarBlockLeft:before, .calendarBlockRight:before, .calendarBorder:before {
        content: '';
        position: absolute;
        border-radius: 5px;
        pointer-events: none
    }

.calendarBlockLeft, .calendarBlockRight {
    border: 1px solid #461b0c;
    background-image: url('/template/img/calendar_contents_bg.png');
    background-size: 100% auto
}

    .calendarBlockLeft:before, .calendarBlockRight:before {
        left: -2px;
        top: -2px;
        width: calc(100% + 2px);
        height: calc(100% + 2px);
        border: 1px solid #71483a
    }

.calendarBorder {
    border: 1px solid #290b02
}

    .calendarBorder:before {
        left: 0;
        top: 0;
        width: calc(100% - 2px);
        height: calc(100% - 2px);
        border: 1px solid #e5c7a7
    }

.calendarCellDate {
    font-size: 12px
}

.calendarBlockLeft table {
    border-radius: 5px
}

.calendarBlockLeft thead, .calendarBlockLeft tbody {
    background: none;
    border: none !important
}

.calendarBlockLeft thead {
    color: #fff
}

    .calendarBlockLeft thead th {
        font-size: 13px;
        color: #fff
    }

        .calendarBlockLeft thead th.sat {
            color: #147db6
        }

        .calendarBlockLeft thead th.sun {
            color: #b92525
        }

.calendarBlockLeft tbody tr, .calendarBlockLeft tbody td {
    border: none !important
}

    .calendarBlockLeft tbody tr + tr {
        border-top-color: #7d745f
    }

.calendarBlockLeft tbody td {
    border-radius: 5px
}

    .calendarBlockLeft tbody td:not(.selected) > .calendarCell {
        background-image: url('/template/img/reservation_day_bg.png');
        background-repeat: no-repeat;
        background-size: contain;
        border: 1px solid #a79179 !important;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

    .calendarBlockLeft tbody td.past {
        background-color: #7d745f
    }

        .calendarBlockLeft tbody td.past .calendarCellState, .calendarBlockLeft tbody td.past calendarCell, .calendarBlockLeft tbody td.past .calendarCellDate {
            color: #cacaca
        }

        .calendarBlockLeft tbody td.past > .calendarCell {
            color: #cacaca;
            background-color: #ebebeb;
            border-radius: 5px
        }

    .calendarBlockLeft tbody td.selected {
        background-color: #bd3636 !important
    }

    .calendarBlockLeft tbody td + td {
        border-left-color: #7d745f
    }

    .calendarBlockLeft tbody td:not(.unselectable):not(.selected):hover > .calendarCell {
        background-color: unset;
        background-image: url('/template/img/reservation_day_hover_bg.png');
        background-repeat: no-repeat;
        background-size: contain
    }

.calendarSelectTitle, .calendarSelectData, .calendarListInfo, .calendarListSymbol.selectable {
    color: #fff !important
}

.calendarSelectTitle {
    font-size: 13px
}

.calendarSelectData {
    font-size: 18px;
    font-weight: 700;
    line-height: 1
}

.calendarPersonNumBalloon {
    color: #bd3636;
    border-color: #bd3636
}

    .calendarPersonNumBalloon:after {
        border-right-color: #bd3636;
        border-bottom-color: #bd3636
    }

.calendarSelectTitle {
    line-height: 1
}

.calendarSelectBox, .calendarSelectSubmit {
    border: 1px solid #c4a584
}

.disable .calendarSelectBox {
    border: 1px solid #c4a584
}

.calendarSelectBox {
    background-color: unset;
    background-image: url('/template/img/reservation_select_box_bg.png');
    background-size: 100% 100%
}

.calendarSelectBoxSelected:after {
    border: 5px solid transparent;
    border-bottom: 6px solid #333
}

.calendarSelectSubmit {
    background-color: #c33a3a
}

.calendarSelectBoxList {
    border-color: #d1d1d1
}

.calendarBlockRight .disable .calendarSelectBox {
    background-image: unset;
    background-color: rgba(0,0,0,0.4)
}

.calendarBlockRight .disable .calendarSelectBoxSelected:after {
    border-bottom-color: #858585
}

.calendarBlockRight .calendarSelectSubmit:not(.disable):hover {
    opacity: 0.4
}

.calendarBlockRight .calendarSelectSubmit.disable {
    background-color: rgba(0,0,0,0.4)
}

.calendarBlockRight .calendarSelectBoxList > li.selected, .calendarBlockRight .calendarSelectBoxList > li:not(.disable):hover {
    background-color: #bd3636;
    color: #fff
}

.calendarListInfo {
    line-height: 1.8
}

.calendarBtnOtherDay {
    text-align: center
}

    .calendarBtnOtherDay > a {
        color: #fff
    }

        .calendarBtnOtherDay > a:before {
            content: none
        }

        .calendarBtnOtherDay > a:after {
            content: '';
            position: absolute;
            top: 50%;
            border-top: 3px solid #fff;
            border-right: 3px solid #fff;
            -webkit-transform: translateY(-50%) rotate(45deg);
            -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
            width: 8px;
            height: 8px;
            margin-left: 5px
        }

.newsContents {
    position: relative
}

.newsList {
    -webkit-border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 3 0 0 0 stretch;
    border-style: solid;
    border-width: 3px 0 0 0
}

    .newsList > li a:hover {
        opacity: 0.7
    }

    .newsList > li a {
        cursor: pointer;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }

    .newsList > li + li {
        -webkit-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        -o-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        border-style: solid;
        border-width: 1px 0 0 0
    }

    .newsList > li:last-child {
        -webkit-border-image: url('/template/img/calk_border.png') 1 0 1 0 stretch;
        -o-border-image: url('/template/img/calk_border.png') 1 0 1 0 stretch;
        border-image: url('/template/img/calk_border.png') 1 0 1 0 stretch;
        border-style: solid;
        border-width: 1px 0 1px 0
    }

    .newsList > li > a:after {
        content: '';
        position: absolute;
        top: 50%;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        width: 18px;
        height: 18px;
        right: 25px
    }

.newsImg {
    border-radius: 3px
}

.newsTitle {
    font-weight: 700;
    font-size: 17px
}

.newsDate {
    font-size: 16px;
    font-family: 'Lobster', cursive, Arial, Helvetica, sans-serif, sans-serif
}

.pager {
    position: relative;
    font-weight: 700
}

.newsPagerList > li:not(.dottedLine), .pagerItem {
    background-color: #fff;
    color: #296052
}

    .newsPagerList > li:not(.dottedLine):hover, .pagerItem:hover {
        opacity: 0.7
    }

.newsPagerList > li:not(.dottedLine), .pagerItem {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.pagerItem {
    border-radius: 3px
}

.newsPagerList > li {
    border-radius: 3px
}

    .newsPagerList > li.active, .newsPagerList > li:hover {
        background-color: #c5d0ce;
        color: #fff
    }

    .newsPagerList > li:not(.active):not(.dottedLine) {
        color: #296052;
        background-color: #fff
    }

.newsDetailDate {
    text-align: center;
    font-size: 20px;
    font-family: 'Lobster', cursive, Arial, Helvetica, sans-serif, sans-serif
}

.newsHeading {
    text-align: center;
    -webkit-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-style: solid;
    border-width: 0 0 3px 0;
    font-size: 27px;
    font-weight: bold;
    line-height: 1.6
}

.newsDetailTxt {
    color: #e1e1e1
}

.newsInner + .instagram {
    position: relative
}

    .newsInner + .instagram:before {
        content: '';
        position: absolute;
        top: -154px;
        right: -40px;
        width: 100%;
        height: 160px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('/template/img/calk_illust2.png');
        pointer-events: none
    }

.instagramInner {
    background-color: #fff
}

.instagramTitle {
    background-image: url('/template/img/Instagram_logo_gray.svg')
}

/*.homeFoodContents:after {
    content: '';
    position: absolute;
    top: 38px;
    right: 35px;
    width: 270px;
    height: 300px;
    background-image: url('/template/img/calk_illust3.png');
    background-repeat: no-repeat;
    background-size: contain
}*/

.homeFoodContents > .sharpContents {
    position: relative
}

    /*.homeFoodContents > .sharpContents:after {
        content: '';
        position: absolute;
        bottom: 3px;
        right: 4px;
        width: 300px;
        height: 300px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('/template/img/calk_illust8.png')
    }*/

.homeFoodList > li {
    position: relative
}

    .homeFoodList > li:after, .homeFoodList > li > .homeFoodImgDecoration:after, .homeFoodList > li > .homeFoodTxt:after {
        content: '';
        position: absolute;
        display: block;
        background-repeat: no-repeat;
        background-size: contain;
        pointer-events: none
    }

    .homeFoodList > li > .homeFoodImgDecoration:after, .homeFoodList > li > .homeFoodTxt:after {
        z-index: 10
    }

    .homeFoodList > li > .homeFoodImgDecoration:before {
        pointer-events: none
    }

    .homeFoodList > li > .homeFoodImgDecoration + .homeFoodTxt:after {
        content: none
    }

    .homeFoodList > li:nth-of-type(odd) > .homeFoodImgDecoration {
        left: 20px
    }

    .homeFoodList > li:nth-of-type(odd) > .homeFoodTxt {
        right: 0
    }

    .homeFoodList > li:nth-of-type(even) > .homeFoodImgDecoration {
        right: 39px
    }

    .homeFoodList > li:nth-of-type(even) > .homeFoodTxt {
        left: 44px
    }

    /*.homeFoodList > li:nth-child(1):after {
        top: -170px;
        left: -40px;
        width: 360px;
        height: 266px;
        background-image: url('/template/img/calk_illust4.png')
    }*/

    .homeFoodList > li:nth-child(1) > .homeFoodImgDecoration:after {
        top: -15px;
        left: 0;
        width: calc(100% + 30px);
        height: calc(100% + 30px);
        background-image: url('/template/img/homeFood_img_illust1.png')
    }

    .homeFoodList > li:nth-child(1) > .homeFoodTxt:after {
        top: 0;
        left: -360px;
        width: 319px;
        height: 294px;
        background-image: url('/template/img/homeFood_no_img_illust1.png')
    }

    /*.homeFoodList > li:nth-child(2):after {
        top: -150px;
        right: 0;
        width: 355px;
        height: 385px;
        background-image: url('/template/img/calk_illust5.png')
    }*/

    .homeFoodList > li:nth-child(2) > .homeFoodImgDecoration:after {
        top: -16px;
        right: -20px;
        width: calc(100% + 36px);
        height: calc(100% + 36px);
        background-image: url('/template/img/homeFood_img_illust2.png')
    }

    .homeFoodList > li:nth-child(2) > .homeFoodTxt:after {
        top: -30px;
        right: -360px;
        width: 320px;
        height: 308px;
        background-image: url('/template/img/homeFood_no_img_illust2.png')
    }

   /* .homeFoodList > li:nth-child(3):after {
        top: -210px;
        left: -40px;
        width: 330px;
        height: 350px;
        background-image: url('/template/img/calk_illust6.png')
    }*/

    .homeFoodList > li:nth-child(3) > .homeFoodImgDecoration:after {
        top: -16px;
        left: 64px;
        width: calc(100% + 80px);
        height: calc(100% + 80px);
        background-image: url('/template/img/homeFood_img_illust3.png')
    }

    .homeFoodList > li:nth-child(3) > .homeFoodTxt:after {
        top: 0;
        left: -350px;
        width: 304px;
        height: 286px;
        background-image: url('/template/img/homeFood_no_img_illust3.png')
    }

    .homeFoodList > li > .homeFoodImgDecoration, .homeFoodList > li > .homeFoodTxt {
        position: absolute;
        top: 50%;
        z-index: 2;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }

.homeFoodImgDecoration:hover {
    opacity: 0.7
}

.homeFoodImgDecoration {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.homeFoodName, .homeFoodPrice {
    color: #f8e803
}

.homeFoodName {
    font-size: 27px;
    font-weight: bold;
    line-height: 1.5
}

.homeFoodPrice {
    font-size: 20px;
    font-weight: bold
}

.homeFoodMoreShowBtn {
    line-height: 1;
    color: #157342;
    background-image: url('/template/img/menu_tab_off.png');
    background-size: cover;
    border-radius: 30px
}

    .homeFoodMoreShowBtn:hover {
        opacity: 0.7
    }

.homeFoodMoreShowBtn {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.homeFoodMoreShowBtnIcon {
    background-color: #157342
}

    .homeFoodMoreShowBtnIcon:before, .homeFoodMoreShowBtnIcon:after {
        border-top: 1px solid #f4f9f7
    }

.moodContents:after {
    content: '';
    position: absolute;
    top: 38px;
    right: 28px;
    width: 245px;
    height: 245px;
    background-repeat: no-repeat;
    background-size: contain;
    /*background-image: url('/template/img/calk_illust3.png')*/
}

.moodContents > .sharpContents {
    position: relative
}

    /*.moodContents > .sharpContents:after {
        content: '';
        position: absolute;
        bottom: 4px;
        right: 4px;
        width: 100%;
        height: 245px;
        background-image: url('/template/img/calk_illust9.png');
        background-repeat: no-repeat;
        background-size: contain;
        background-position-x: 100%
    }*/

.contCarouselWrap {
    background-color: #fff;
    position: relative
}

   /* .contCarouselWrap:before {
        content: '';
        position: absolute;
        top: -220px;
        left: -40px;
        width: 360px;
        height: 261px;
        background-image: url('/template/img/calk_illust4.png');
        background-repeat: no-repeat;
        background-size: contain
    }*/

.contCarouselCaptions {
    -ms-overflow-style: none
}

    .contCarouselCaptions::-webkit-scrollbar {
        display: none
    }

.contCarouselDetail {
    font-size: 14px
}

.contCarouselBox {
    background-color: #fff
}

.contCarouselIndicator > li {
    border-radius: 50%;
    border: 1px solid #555;
    background-color: #fff;
    -webkit-transition: background 0.3s ease;
    transition: background 0.3s ease
}

    .contCarouselIndicator > li.current {
        background-color: #555
    }

.contCarouselCaption {
    color: #555
}

.contCarouselArrowNext:before, .contCarouselArrowPrev:before, .contCarouselArrowNext:after, .contCarouselArrowPrev:after {
    background-color: #555
}

.menuFoodsContents .menuItemsImg:hover, .menuDrinksContents .menuItemsImg:hover, .menuLunchesContents .menuItemsImg:hover {
    opacity: 0.7
}

.menuFoodsContents .menuItemsImg, .menuDrinksContents .menuItemsImg, .menuLunchesContents .menuItemsImg {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.menuHeading {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0;
    padding-bottom: 10px;
    margin-bottom: 35px;
    text-align: center;
    font-weight: 700;
    font-size: 27px;
    -webkit-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-style: solid;
    border-width: 0 0 3px 0
}

.menubarList {
    font-size: 16px;
    text-align: center
}

    .menubarList > li {
        background-size: cover;
        -webkit-transition: 0.7s;
        transition: 0.7s
    }

        .menubarList > li:first-child {
            border-top-left-radius: 5px;
            border-bottom-left-radius: 5px
        }

        .menubarList > li:last-child {
            border-top-right-radius: 5px;
            border-bottom-right-radius: 5px
        }

        .menubarList > li + li {
            border-left: solid 1px #296052
        }

        .menubarList > li:not(.currentMenu) {
            color: #296052;
            text-shadow: 1px 1px 0 rgba(255,255,255,0.4);
            background-image: url('/template/img/menu_tab_off.png')
        }

        .menubarList > li:hover, .menubarList > li.currentMenu {
            color: #fff;
            text-shadow: none;
            background-image: url('/template/img/menu_tab_on.png')
        }

        .menubarList > li.currentMenu {
            position: relative;
            z-index: 0
        }

            .menubarList > li.currentMenu:before {
                content: '';
                position: absolute;
                right: 0;
                left: 0;
                z-index: -1;
                width: 90px;
                height: 100%;
                margin: auto;
                background-image: url('/template/img/menuBar_illust_current.png');
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain
            }

        .menubarList > li .postsNum {
            font-size: 16px
        }

        .menubarList > li .postsNumLine {
            font-size: 16px;
            line-height: 1;
            font-weight: 300
        }

.subNavEngTitle {
    font-size: 16px;
    font-family: 'Lobster', cursive, Arial, Helvetica, sans-serif, sans-serif;
    line-height: 1
}

.menuFoodsContents .menuItemsList > li, .menuDrinksContents .menuItemsList > li, .menuLunchesContents .menuItemsList > li, .menuCoursesContents .menuItemsList > li {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0
}

.menuItemsList > li > a {
    -webkit-transition: all 0.7s;
    transition: all 0.7s
}

    .menuItemsList > li > a:after {
        content: '';
        position: absolute;
        top: 50%;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        right: 20px;
        width: 15px;
        height: 15px
    }

.menuItemsImg {
    border-radius: 8px
}

.menuItemsTitle, .menuItemsPrice, .courseDetailHead, .courseDetailPrice {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6
}

.useCoupon {
    color: #157342;
    background-color: #f4f9f7;
    border: 1px solid #157342;
    font-size: 10px;
    font-weight: 400;
    line-height: 1
}

.menuItemsPriceInfo, .courseDetailPriceInfo {
    color: #e1e1e1;
    font-size: 12px;
    line-height: 1.6
}

.menuShowDetail {
    color: #f9b500
}

.menuShowDetailIcon {
    background-color: #f9b500
}

    .menuShowDetailIcon:before, .menuShowDetailIcon:after {
        border-top: 1px solid #296052
    }

.menuRemarks {
    font-family: Arial, Helvetica, sans-serif, sans-serif
}

.menuItemsCondition {
    margin-top: -10px
}

    .menuItemsCondition > li {
        display: inline-block;
        vertical-align: middle;
        margin-top: 10px
    }

        .menuItemsCondition > li:not(:last-child) {
            margin-right: 20px
        }

        .menuItemsCondition > li:before {
            content: '';
            display: inline-block;
            vertical-align: middle;
            margin-right: 10px;
            width: 24px;
            height: 24px;
            background: center center no-repeat;
            background-size: 24px 24px
        }

        .menuItemsCondition > li > span {
            vertical-align: middle
        }

        .menuItemsCondition > li.iconMenu:before {
            background-image: url('/template/img/icon_articles_white.png')
        }

        .menuItemsCondition > li.iconHeads:before {
            background-image: url('/template/img/icon_people_white.png')
        }

        .menuItemsCondition > li.iconNomiho:before {
            background-image: url('/template/img/icon_drink_white.png')
        }

.menuCoursesContents .menuItemsList li:hover, .couponDetailContents .menuItemsList li:hover {
    opacity: 0.7
}

.menuCoursesContents .menuItemsList li, .couponDetailContents .menuItemsList li {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.menuTakeoutsContents .menuItemsImg:hover {
    opacity: 0.7
}

.menuTakeoutsContents .menuItemsImg {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.menuTakeoutsContents .menuItemsList > li {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0
}

.takeoutHeading {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0;
    padding-bottom: 10px;
    margin-bottom: 35px;
    text-align: center;
    font-weight: 700;
    font-size: 27px;
    -webkit-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-style: solid;
    border-width: 0 0 3px 0
}

.exudingCouponWrap .exudingCouponTxt {
    font-size: 12px;
    font-weight: 200;
    color: #e1e1e1
}

.exudingCoupon {
    border-radius: 5px;
    background-image: url('/template/img/coupon_item_inner_bg.png');
    background-size: 250px;
    background-repeat: repeat
}

    .exudingCoupon .exudingCouponHeading {
        font-size: 14px;
        font-weight: 800;
        line-height: 1.6;
        color: #c19511;
        text-shadow: 1px 1px 1px rgba(255,255,255,0.6)
    }

.courseDetailImg {
    text-align: center
}

.courseDetailFreeDrink > dt {
    font-size: 14px
}

.courseDetailFreeDrink > dd {
    color: #e1e1e1;
    font-weight: 200
}

.courseDetailDesc {
    border-top: 1px dotted #cacaca;
    color: #e1e1e1;
    font-weight: 200
}

.courseDetailMenuBoard {
    position: relative;
    background-image: url('/template/img/courseDetail_menu_woodBoard.png');
    background-size: 10% auto;
    border: 1px solid #855a49;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 10px -5px inset #fff;
    box-shadow: 0 0 10px -5px inset #fff
}

    .courseDetailMenuBoard:before {
        content: '';
        position: absolute;
        top: -6px;
        right: 0;
        left: 0;
        z-index: 1;
        width: 160px;
        height: 52px;
        margin: auto;
        background-image: url('/template/img/courseDetail_clip.png');
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: center
    }

.courseDetailMenuWrap {
    background-image: url('/template/img/courseDetail_menu_board.png');
    background-size: 12%;
    background-repeat: repeat
}

.courseDetailMenu + .courseDetailMenu {
    -webkit-border-image: url('/template/img/calk_border_brown.png') 1 0 0 0 stretch;
    -o-border-image: url('/template/img/calk_border_brown.png') 1 0 0 0 stretch;
    border-image: url('/template/img/calk_border_brown.png') 1 0 0 0 stretch;
    border-style: solid;
    border-width: 1px 0 0 0
}

.courseDetailFoodNum:before, .courseDetailPersonNum:before, .courseDetailFreeDrink > dt:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    width: 24px;
    height: 24px;
    background: center center no-repeat;
    background-size: 24px 24px
}

.courseDetailFoodNum:before {
    background-image: url('/template/img/icon_articles_black.png')
}

.courseDetailPersonNum:before {
    background-image: url('/template/img/icon_people_black.png')
}

.courseDetailFreeDrink > dt:before {
    background-image: url('/template/img/icon_drink_black.png')
}

.courseDetailMenuHead {
    color: #333;
    font-weight: 700;
    font-size: 20px
}

.courseDetailContentTxt {
    color: #333;
    font-weight: 200
}

.courseDetailReservationDeadlineWrap {
    -webkit-border-image: url('/template/img/calk_border_brown.png') 1 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border_brown.png') 1 0 1 0 stretch;
    border-image: url('/template/img/calk_border_brown.png') 1 0 1 0 stretch;
    border-style: solid;
    border-width: 1px 0 1px 0
}

.courseDetailReservationDeadline > dt, .courseDetailReservationDeadline > dd {
    color: #333;
    font-family: Arial, Helvetica, sans-serif, sans-serif
}

.courseDetailReservationDeadline > dt {
    font-size: 14px;
    font-weight: bold
}

    .courseDetailReservationDeadline > dt:before {
        content: '※';
        padding-right: 3px;
        color: #da5454
    }

.courseDetailCouponHeading {
    text-align: center;
    font-size: 20px;
    font-weight: bold
}

.courseDetailReservationBtn > a {
    background-color: #bd3636;
    border-radius: 3px;
    font-size: 20px;
    font-weight: bold;
    font-family: Arial, serif
}

    .courseDetailReservationBtn > a:hover {
        opacity: 0.7
    }

.courseDetailReservationBtn > a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.courseDetailUpdateDate {
    text-align: right;
    font-size: 12px
}

.couponHeading {
    color: #c19511;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.6);
    font-weight: 800;
    line-height: 1.6
}

.couponContents .couponHeading {
    font-size: 20px
}

.couponList > li {
    background-image: url('');
    background-size: 30px auto;
    background-repeat: repeat
}

    .couponList > li:hover {
        opacity: 0.7
    }

.couponList > li {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

    .couponList > li > .couponInnerBorder {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100%
    }

        .couponList > li > .couponInnerBorder .couponTicket {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-item-align: stretch;
            align-self: stretch;
            width: 100%
        }

.couponTicketInner {
    width: 100%;
    background-image: url('/template/img/coupon_item_inner_bg.png');
    background-size: 220px auto;
    position: relative
}

.couponHeading + .couponConditionList {
    border-top: dotted 1px #fff;
    border-bottom: dotted 1px #fff
}

.couponConditionList {
    background-image: url('/template/img/coupon_item_board.png');
    background-size: 20%;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.6)
}

    .couponConditionList > li {
        font-size: 14px
    }

    .couponConditionList:after {
        -webkit-transition: opacity 0.7s;
        transition: opacity 0.7s
    }

.couponCondition > dt, .couponCondition > dd {
    word-wrap: break-word;
    overflow-wrap: break-word
}

.couponCondition > dt {
    font-weight: 700;
    font-size: 14px;
    color: #333
}

    .couponCondition > dt:after {
        content: ' : '
    }

.couponCondition > dd {
    font-weight: 300;
    color: #555
}

.toCouponDetailBtn {
    position: relative;
    background-color: #897e63;
    border-radius: 30px;
    border: 1px solid #e1d8b9
}

    .toCouponDetailBtn:before {
        right: 20px;
        width: 7px;
        height: 7px;
        content: '';
        position: absolute;
        top: 50%;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg)
    }

.couponDetailContents .couponHeading {
    font-size: 30px
}

.couponDetailPresent {
    background-image: url('/template/img/coupon_item_outer_bg.png');
    background-size: 30px auto;
    background-repeat: repeat
}

.presentMessage {
    text-align: center;
    font-size: 20px;
    font-weight: bold
}

.couponAvailableHead {
    text-align: center;
    font-weight: 700;
    font-size: 20px
}

    .couponAvailableHead + .menuItemsList {
        -webkit-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        -o-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
        border-style: solid;
        border-width: 1px 0 0 0
    }

.couponDetailContents .menuItemsList > li {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0
}

.couponCautionTitle {
    font-weight: 700;
    font-size: 16px
}

    .couponCautionTitle:before {
        content: '※'
    }

.couponCautionList {
    font-size: 12px
}

    .couponCautionList > li:before {
        content: '・'
    }

.updateDate {
    text-align: right
}

.noSetFixedBackground .mapContents {
    color: #333
}

.mapShopTitle {
    font-size: 28px;
    font-weight: bold;
    font-family: Arial, serif;
    line-height: 1.4
}

.mapItems > dt, .mapItems > dd {
    word-wrap: break-word;
    overflow-wrap: break-word
}

.mapItems > dt {
    font-weight: 700
}

.detailInfoShopRuby {
    font-size: 14px;
    font-family: Arial, serif
}

.snsPageList > li > a:hover {
    opacity: 0.7
}

.snsPageList > li > a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.snsPageList > li + li:before {
    content: '/';
    margin: 0 5px
}

.wrapper:not(#topPage) .mapContents .detailInfoShopRuby, .wrapper:not(#topPage) .mapContents .mapItems > dd, .wrapper:not(#topPage) .mapContents .freeTxt {
    color: #e1e1e1
}

.seatHeading {
    padding-bottom: 10px;
    margin-bottom: 35px;
    text-align: center;
    font-weight: 700;
    font-size: 27px;
    -webkit-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    -o-border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-image: url('/template/img/calk_border_bold.png') 0 0 3 0 stretch;
    border-style: solid;
    border-width: 0 0 3px 0
}

.seatImg {
    border-radius: 8px
}

    .seatImg:hover {
        opacity: 0.7
    }

.seatImg {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.seatCapacity {
    font-weight: 700;
    font-size: 20px
}

.seatTxt {
    color: #e1e1e1;
    font-size: 14px;
    line-height: 2
}

.seatTypes > li:not(:last-child) {
    -webkit-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-image: url('/template/img/calk_border.png') 0 0 1 0 stretch;
    border-style: solid;
    border-width: 0 0 1px 0
}

.seatInfoTitle {
    font-size: 16px;
    font-weight: bold
}

.seatInfo {
    font-size: 14px
}

.hasSeatInfo + .hasSeatInfo {
    -webkit-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
    -o-border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
    border-image: url('/template/img/calk_border.png') 1 0 0 0 stretch;
    border-style: solid;
    border-width: 1px 0 0 0
}

.hasSeatInfo .seatInfoData {
    font-size: 16px
}

.galleryNav {
    text-align: center;
    line-height: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    border-radius: 3px;
    font-size: 16px
}

    .galleryNav > li {
        -webkit-transition: 0.7s;
        transition: 0.7s;
        background-size: contain;
        font-weight: 300
    }

        .galleryNav > li + li {
            border-left: 1px solid #296052
        }

        .galleryNav > li:not(.current) {
            color: #296052;
            text-shadow: 1px 1px 0 rgba(255,255,255,0.4);
            background-image: url('/template/img/gallery_tab_off.png')
        }

        .galleryNav > li:hover, .galleryNav > li.current {
            color: #fff;
            text-shadow: none;
            background-image: url('/template/img/gallery_tab_on.png')
        }

[data-device="tablet"] .galleryNav > li {
    -webkit-transition: unset;
    transition: unset
}

.galleryList > li:hover {
    opacity: 0.7
}

.galleryList > li {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.galleryImg {
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s
}

.evcContents {
    color: #333
}

.evcContentsHead {
    position: relative;
    background-color: #fff
}

    .evcContentsHead:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('/template/img/event_calendar_calk_illust1.png'),url('/template/img/event_calendar_calk_illust2.png');
        background-repeat: no-repeat;
        background-size: 28%, 28%;
        background-position: 100% 0, 0 100%;
        pointer-events: none
    }

.evcBlockDetailListDesc {
    line-height: 1.4
}

.evcListTitle {
    font-size: 26px;
    line-height: 1.6
}

.evcDesc {
    color: #555
}

.evcBlockAnnotate > span:before, .evcSelectorList > li.isCurrent > span, .evcBlockDetailTotal, .evcBlockCalendarTotal {
    background-color: #c19511
}

.evcBlockAnnotate {
    color: #333
}

.evcBlockDetailDate, .evcSelectorList > li:hover {
    color: #333
}

.evcBlockDetailWindow {
    border: solid 4px #a6946a
}

.evcBlockDetailHead {
    border-bottom: solid 1px #a6946a
}

.evcBlockDetailWindow.isVisible.topRight:before, .evcBlockDetailWindow.isVisible.bottomRight:before {
    border-color: transparent #a6946a transparent transparent
}

.evcBlockDetailWindow.isVisible.topLeft:before, .evcBlockDetailWindow.isVisible.bottomLeft:before {
    border-color: transparent transparent transparent #a6946a
}

.fp__reservation_button > a {
    background-color: #bd3636;
    border-radius: 3px;
    font-size: 20px;
    font-weight: bold;
    font-family: Arial, serif
}

    .fp__reservation_button > a:hover {
        opacity: 0.7
    }

.fp__reservation_button > a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.notFoundContents {
    text-align: center
}

.notFoundHeading {
    position: relative;
    z-index: 0;
    font-size: 20px;
    font-weight: bold
}

    .notFoundHeading:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: -1;
        width: 150px;
        height: 90px;
        margin: auto;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('/template/img/heading_illust_blackboard.png')
    }

.notFoundBody {
    position: relative;
    font-family: 'Hiragino Maru Gothic Pro', 'ヒラギノ丸ゴ Pro W4', 'Yu Gothic', sans-serif
}

.notFoundToTop > a:hover {
    opacity: 0.7
}

.notFoundToTop > a {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.notFoundToTop > a {
    position: relative
}

    .notFoundToTop > a:after {
        content: '';
        position: absolute;
        top: 50%;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        right: 20px;
        width: 10px;
        height: 10px
    }

.snsBtn.mailIcon {
    border-radius: 5px;
    background: #0fafca
}

    .snsBtn.mailIcon > svg {
        fill: #fff
    }

.detailInfoContents {
    color: #333
}

.homeInfoHeading {
    margin-bottom: 30px;
    padding-bottom: 16px;
    -webkit-border-image: url('/template/img/calk_border_black.png') 0 0 3 0 stretch;
    -o-border-image: url('/template/img/calk_border_black.png') 0 0 3 0 stretch;
    border-image: url('/template/img/calk_border_black.png') 0 0 3 0 stretch;
    border-style: solid;
    border-width: 0 0 3px 0;
    text-align: center;
    font-weight: 700;
    font-size: 27px
}

.detailInfoListItem > dt {
    font-weight: bold
}

.detailInfoListItem > dt, .detailInfoListItem dd {
    word-wrap: break-word;
    overflow-wrap: break-word
}

.detailInfoListItem > dd.shopList .relatedShopList a:hover, .detailInfoListItem > dd.shopList .relatedShopListLink:hover {
    opacity: 0.7
}

.detailInfoListItem > dd.shopList .relatedShopList a, .detailInfoListItem > dd.shopList .relatedShopListLink {
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.rowGroup {
    top: 0;
    -webkit-transition: top 1s ease 0s;
    transition: top 1s ease 0s;
    background-color: #ece9e2
}

.globalFooter {
    color: #a4762b
}

.fShopInfo {
    color: #333
}

.fShopName {
    font-size: 28px;
    font-weight: bold;
    font-family: Arial, serif;
    line-height: 1.4
}

.footerContents .detailInfoShopRuby {
    color: #555
}

.fShopInfoListItem > dt {
    font-weight: bold
}

.fShopInfoListItem > dd {
    color: #555
}

.fShopInfoListItem > dt, .fShopInfoListItem > dd {
    font-family: Arial, Helvetica, sans-serif, sans-serif
}

.footerContents .freeTxt {
    color: #555
}

.fOtherInfo {
    background-size: 60px;
    background-color: #3a180d
}

.cookieLink, .copyright {
    font-size: 12px
}

.copyright {
    color: #fff;
    font-family: Arial, serif;
    line-height: 1.6
}

@media all and (-ms-high-contrast: none) {
    .menuItemsCondition > li > span, .courseDetailFoodNum span, .courseDetailPersonNum span {
        display: inline-block;
        vertical-align: text-top
    }

    .courseDetailFreeDrink > dt:before {
        vertical-align: top
    }
}

@-webkit-keyframes sdb {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        -webkit-transform: translate(0, 8px);
        transform: translate(0, 8px);
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@keyframes sdb {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        -webkit-transform: translate(0, 8px);
        transform: translate(0, 8px);
        opacity: 0
    }

    100% {
        opacity: 0
    }
}
