#wrapper {}

@media screen and (min-width: 768px),
print {
    #head {
        transition: top 1s ease
    }

    #head.js-active {
        top: 0
    }

    #head .head-top {
        height: 69px !important
    }

    #head .head-logo {}

    #head .pagetop {
        opacity: 1
    }
}

@media screen and (max-width: 767px) {
    #head {
        background-color: transparent;
        position: absolute;
        left: 0;
        top: 0
    }

    body:not(.js-menu-open) #head:not(.headroom--pinned) .head-top-sp {
        transition-duration: .5s;
        transform: translate3d(0, -76px, 0);
        transform: translate3d(0, -20.27vw, 0)
    }
}

.main-visual {
    position: relative
}

.main-visual .mvSlider__item img {
    width: 100%;
    height: auto
}

.main-visual .mvLogo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media screen and (min-width: 768px),
print {
    .main-visual .mvLogo {
        width: 30.67vw;
        max-width: 442px;
    }
}

@media screen and (max-width: 767px) {
    .main-visual .mvLogo {
        width: 180px;
        width: 48vw
    }
}

.main-visual .mvLogo img {
    width: 100%;
    height: auto
}

.main-visual .mvIcon {
    position: absolute
}

@media screen and (min-width: 768px),
print {
    .main-visual .mvIcon {
        width: 4vw;
        top: 2.33vw;
        right: 2.33vw
    }
}

@media screen and (max-width: 767px) {
    .main-visual .mvIcon {
        width: 35px;
        width: 9.33vw;
        top: 13px;
        top: 3.47vw;
        right: 13px;
        right: 3.47vw
    }
}

.main-visual .mvIcon img {
    width: 100%;
    height: auto
}

.main-visual .slick-slide {
    height: auto !important
}

.slide-animation {
    animation: fadezoom 12s ease-out 0s forwards
}

@keyframes fadezoom {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.08)
    }
}

#main-visual-scroll {
    color: #fff !important;
    display: block;
    letter-spacing: .4em;
    position: absolute;
    bottom: 9%;
    left: 50%;
    opacity: 0;
    transition: opacity .2s ease;
    transform: translateX(-50%);
    z-index: 2
}

@media screen and (max-width: 767px) {
    #main-visual-scroll {
        bottom: 80px;
        bottom: 21.33vw
    }
}

#main-visual-scroll:before {
    position: absolute;
    top: 0;
    left: 50%;
    content: "";
    display: block;
    height: 56px;
    width: 1px;
    background: rgba(255, 255, 255, .5)
}

@media screen and (max-width: 767px) {
    #main-visual-scroll:before {
        height: 56px;
        height: 14.93vw
    }
}

#main-visual-scroll span {
    margin-top: 64px;
    display: inline-block
}

@media screen and (max-width: 767px) {
    #main-visual-scroll span {
        margin-top: 64px;
        margin-top: 17.07vw;
        display: none;
    }
}

.pace-done #main-visual-scroll {
    animation: scroll-fadeIn 1s ease forwards .3s
}

.pace-done #main-visual-scroll::before {
    animation: scroll-act 1.5s cubic-bezier(.77, 0, .175, 1) .3s both infinite
}

@keyframes scroll-fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes scroll-act {
    0% {
        transform: scaleY(0);
        transform-origin: top center
    }

    50% {
        transform: scaleY(1);
        transform-origin: top center
    }

    51% {
        transform: scaleY(1);
        transform-origin: bottom center
    }

    100% {
        transform: scaleY(0);
        transform-origin: bottom center
    }
}

.top-nav {
    padding-top: 1.33vw
}

.top-nav-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.top-nav-gnav {
    display: flex;
    line-height: 1
}

.top-nav-gnav li {
    margin-right: 2.67vw;
    white-space: nowrap;
    font-size: 16px;
    font-size: 1.6rem
}

.top-nav-gnav a {
    display: block;
    padding: 1.33vw 0
}

.top-nav-gnav span {
    color: #916545;
    display: block;
    padding-bottom: .53vw;
    font-size: 12px;
    font-size: 1.2rem
}

.top-nav-utility {
    display: flex;
    padding-bottom: 1.33vw
}

.top-nav-utility li {
    line-height: 1;
    padding: 0 .8vw;
    position: relative;
    white-space: nowrap;
    font-size: 12px;
    font-size: 1.2rem
}

.top-nav-utility li:first-child {
    padding-left: 0
}

.top-nav-utility li:first-child:before {
    display: none
}

.top-nav-utility li:last-child {
    padding-right: 0
}

.top-nav-utility li:before {
    content: "/";
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (min-width: 768px) and (max-width:1200px) {
    .top-nav-inner {
        display: block
    }

    .top-nav-gnav {
        justify-content: center
    }

    .top-nav-utility {
        justify-content: center;
        padding: 12px 0 24px
    }
}

@media screen and (max-width: 767px) {
    .top-nav {
        display: none
    }
}

.sct-best-rate {
    border-bottom: 1px solid #e6e6d2;
    margin-bottom: 2.67vw;
    padding: 1.2vw
}

.best-rate-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.07vw 3.2vw
}

@media screen and (max-width: 767px) {
    .sct-best-rate {
        display: none
    }
}

.best-rate-ttl-wrap {
    line-height: 1;
    margin-top: .53vw
}

.best-rate-ttl {
    color: #916545;
    font-size: 24px;
    font-size: 2.4rem
}

.best-rate-ttl>a {
    color: #916545;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .1em
}

@media screen and (min-width: 768px),
print {
    .best-rate-ttl>a:hover {
        text-decoration: none
    }
}

.best-rate-ttl>a[target="_blank"]::after {
    content: none
}

.best-rate-sub {
    font-size: 13px;
    font-size: 1.3rem;
    margin-top: .53vw
}

.best-rate-sub .-color {
    font-weight: 500;
    color: #916545
}

@media screen and (min-width: 768px),
print {
    .best-rate-sub .-color {
        padding-right: .67vw
    }
}

@media screen and (min-width: 768px) and (max-width:900px) {
    .best-rate-ttl-wrap {
        display: block
    }

    .best-rate-ttl {
        padding: 5px 0
    }

    .best-rate-sub {
        padding-bottom: 5px
    }
}

@media screen and (min-width: 768px),
print {
    .best-rate-plan {
        width: 100%;
        text-align: right;
        margin-top: 1.07vw
    }

    .best-rate-plan li {
        line-height: 1.5;
        font-size: 12px;
        font-size: 1.2rem
    }

    .best-rate-plan li:not(:last-child) {
        margin-bottom: .33vw
    }

    .best-rate-plan a:before {
        color: #916545;
        content: "";
        display: inline-block;
        margin-right: .67vw;
        font-family: icomoon !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}

@media screen and (max-width: 767px) {
    .best-rate-plan {
        display: none
    }
}

.topics-inner {
    background-color: #f9f9f4;
    padding: 2.13vw 2.67vw 2.4vw;
    position: relative
}

.topics-ttl {
    color: #916545;
    line-height: 1;
    position: absolute;
    left: 2.67vw;
    top: 50%;
    transform: translateY(-50%)
}

.topics-list {
    position: relative;
    transition: height 1s ease
}

.topics-list li {
    padding: 0 5.33vw;
    text-align: center;
    width: 100%
}

.topics-list li.js-active {
    opacity: 1
}

.topics-list a:before {
    color: #916545;
    content: "";
    display: inline-block;
    margin-right: 1.07vw;
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

#topics-dots {
    display: flex;
    justify-content: center;
    position: absolute;
    left: 0;
    bottom: 1.2vw;
    width: 100%
}

#topics-dots li {
    background-color: #e6e6d2;
    border-radius: 2px;
    margin: 0 3px;
    height: 4px;
    width: 4px;
    transition: background-color .5s ease
}

#topics-dots li.js-active {
    background-color: rgba(180, 149, 49, .7)
}

@media screen and (max-width: 767px) {
    .sct-topics {
        vw;
        width: 100%;
        margin-top: -3vw;
    }

    .sct-topics+* {
        margin-top: 180px;
        margin-top: 48vw
    }

    .sct-topics+.sct-concept {
        background-position-y: bottom !important;
    }

    .topics-ttl {
        border-bottom: 1px solid #e6e6d2;
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        padding-bottom: 12px;
        padding-bottom: 3.2vw;
        position: static;
        transform: none;
        text-align: center;
        font-size: 14px;
        font-size: 1.4rem
    }

    .topics-list li {
        padding-right: 10px;
        padding-right: 2.67vw;
        padding-left: 10px;
        padding-left: 2.67vw;
        top: 0;
        text-align: left
    }

    .topics-list a {
        display: block;
        position: relative;
        padding-left: 20px;
        padding-left: 5.33vw
    }

    .topics-list a:before {
        position: absolute;
        left: 0;
        top: 6px;
        top: 1.6vw
    }

    #topics-dots {
        bottom: 20px;
        bottom: 5.33vw
    }

    #topics-dots li {
        border-radius: 2px;
        border-radius: .53vw;
        height: 4px;
        height: 1.07vw;
        width: 4px;
        width: 1.07vw
    }
}

.topics-area {
    background-color: #FFFCF8;
    padding: 2.13vw 2.67vw 2.4vw;
    position: relative;
    margin-top: 30px
}

@media screen and (max-width: 767px) {
    .topics-area {
        padding-top: 15px;
        padding-top: 4vw;
        padding-right: 20px;
        padding-right: 5.33vw;
        padding-bottom: 40px;
        padding-bottom: 10.67vw;
        padding-left: 20px;
        padding-left: 5.33vw;
        margin-top: 0
    }
}

.sct-topics .slick-dots {
    bottom: -20px
}

@media screen and (max-width: 767px) {
    .sct-topics .slick-dots {
        bottom: -25px
    }
}

.sct-topics .slick-dots li {
    width: 4px;
    height: 4px;
    padding: 0;
    margin: 0 3px
}

.sct-topics .slick-dots li button {
    width: 0;
    height: 0;
    padding: 0
}

.sct-topics .slick-dots li button::before {
    width: 4px;
    height: 4px;
    background-color: #916545;
    border-radius: 2px;
    content: ""
}

.sct-topics .slick-slider {
    margin-bottom: 0 !important
}

.sct-topics .slick-slide .topics-list-inner {
    opacity: 0 !important;
    transform: translateX(-30px);
    transition-duration: 2s;
    transition-delay: .1s;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

.sct-topics .slick-slide.-hide {
    opacity: 0 !important;
    transition-delay: 0s;
    transition-duration: 0s
}

.sct-topics .slick-current .topics-list-inner {
    opacity: 1 !important;
    transform: translateX(0)
}

@media screen and (max-width: 767px) {
    .sct-topics .slick-list {
        transition: height 1s ease
    }
}

.sct-concept {
    margin-bottom: 7.47vw;
    padding-top: 7.47vw;
    padding-bottom: 7.47vw;
    text-align: center
}

.concept-ttl {
    color: #916545;
    letter-spacing: .5em;
    line-height: 1.2;
    margin-bottom: 3vw;
    font-size: 14px;
    font-size: 1.4rem;
    font-family: "Outfit", sans-serif !important;
}

.concept-lead {
    letter-spacing: .2em;
    line-height: 1.2;
    margin-bottom: 1.6vw;
    transition: color .5s ease;
    font-size: 32px;
    font-size: 3.2rem
}

.concept-lead-sub {
    letter-spacing: .2em;
    line-height: 1.2;
    margin-bottom: 3.33vw;
    font-size: 16px;
    font-size: 1.6rem
}

.concept-text {
    margin-bottom: 4.33vw
}

@media screen and (max-width: 767px) {
    .sct-concept {
        margin-bottom: 12vw;
        margin-top: 10vw;
    }

    .concept-ttl {
        margin-bottom: 8.33vw;
    }

    .concept-lead {
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        font-size: 1.8rem;
    }

    .concept-lead-sub {
        margin-bottom: 54px;
        margin-bottom: 14.4vw;
        font-size: 12px;
        font-size: 1.2rem
    }

    .concept-text {
        margin-bottom: 48px;
        margin-bottom: 12.8vw;
        padding-left: 48px;
        padding-left: 12.8vw;
        padding-right: 48px;
        padding-right: 12.8vw
    }
}

.sct-stay {
    margin-bottom: 8vw;
}

@media screen and (max-width: 767px) {
    .sct-stay {
        margin-bottom: 115px;
        margin-bottom: 30.67vw
    }

    .sct-stay .slick-track {
        margin-left: 0
    }

    .sct-stay .slick-list {
        overflow: visible
    }
}

.stay-ttl {
    color: #916545;
    letter-spacing: .3em;
    line-height: 1.2;
    margin-bottom: 1.33vw;
    text-align: center;
    font-size: 48px;
    font-size: 4.8rem;
    font-family: "Outfit", sans-serif !important;
}

.stay-ttl a {
    color: #916545
}

@media screen and (max-width: 767px) {
    .stay-ttl {
        letter-spacing: .15em;
        margin-bottom: 24px;
        margin-bottom: 6.4vw;
        font-size: 28px;
        font-size: 2.8rem
    }
}

.stay-lead {
    line-height: 1.2;
    margin-bottom: 3.6vw;
    text-align: center
}

@media screen and (max-width: 767px) {
    .stay-lead {
        margin-bottom: 38px;
        margin-bottom: 10.13vw
    }
}

.sct-stay .stay-box-wrap {
    display: flex;
    position: relative
}

.sct-stay .stay-box-wrap.js-active .stay-box-text-wrap {
    opacity: .4
}

.sct-stay .stay-box-wrap.js-active .stay-box.js-active .stay-box-text-wrap {
    opacity: 1
}

@media screen and (min-width: 768px),
print {
    .sct-stay .stay-box:nth-child(1) {
        width: calc(100% / 2);
    }

    .sct-stay .stay-box:nth-child(1) .stay-box-img {
        border-radius: .27vw 0 0 .27vw
    }

    .sct-stay .stay-box:nth-child(2) {
        width: calc(100% / 2);
    }

    .sct-stay .stay-box:nth-child(3) {
        width: 32vw
    }

    .sct-stay .stay-box:nth-child(3) .stay-box-img {
        border-radius: 0 .27vw .27vw 0
    }

    .sct-stay .stay-box.js-active .stay-box-img-on {
        z-index: 10
    }
}

.sct-stay .stay-box-img {
    height: 37.33vw;
    overflow: hidden
}

.sct-stay .stay-box-img-on {
    border-radius: .27vw;
    display: none;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    height: 37.33vw;
    width: 100%
}

.sct-stay .stay-box-img-on a {
    display: block;
    height: 100%
}

.sct-stay .stay-box-text-wrap {
    padding: 2.13vw;
    transition: opacity .5s ease
}

.sct-stay .stay-box-ttl-wrap {
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: .53vw
}

.sct-stay .stay-box-ttl {
    padding-right: .87vw;
    font-size: 20px;
    font-size: 2rem;
    color: #2D241E;
}

.sct-stay .stay-box-floor {
    color: rgba(145, 101, 69, .8);
    font-size: 16px;
    font-size: 1.6rem
}

.sct-stay .stay-box-floor span:last-child {
    display: none;
}

.sct-stay .stay-box-text {
    color: #2D241E;
}

@media screen and (max-width: 767px) {
    .sct-stay .stay-box-wrap {
        display: block;
        overflow: hidden;
        padding-left: 15px;
        padding-left: 4vw;
        padding-right: 15px;
        padding-right: 4vw
    }

    .sct-stay .stay-box a {
        outline: 0
    }

    .sct-stay .stay-box-inner {
        background-color: #f9f9f4;
        border-radius: 4px;
        border-radius: 1.07vw;
        margin-left: 5px;
        margin-left: 1.33vw;
        margin-right: 5px;
        margin-right: 1.33vw;
        overflow: hidden
    }

    .sct-stay .stay-box-img {
        border-radius: 0 !important;
        height: 400px;
        height: 106.67vw;
        width: 100%
    }

    .sct-stay .stay-box-img-on {
        display: none
    }

    .sct-stay .stay-box-text-wrap {
        padding-top: 24px;
        padding-top: 6.4vw;
        padding-right: 24px;
        padding-right: 6.4vw;
        padding-bottom: 32px;
        padding-bottom: 8.53vw;
        padding-left: 24px;
        padding-left: 6.4vw
    }

    .sct-stay .stay-box-ttl-wrap {
        margin-bottom: 15px;
        margin-bottom: 4vw
    }

    .sct-stay .stay-box-ttl {
        font-size: 18px;
        font-size: 1.8rem;
        padding-right: 14px;
        padding-right: 3.73vw
    }

    .sct-stay .stay-box-floor {
        font-size: 14px;
        font-size: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .sct-stay .stay-tab {
        display: block;
        line-height: 1;
        text-align: center;
        display: block;
        padding-right: 10px;
        padding-right: 2.67vw
    }

    .sct-stay .stay-tab:after {
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden
    }

    .sct-stay .stay-tab li {
        float: left;
        width: 50%;
        margin-right: 10px;
        margin-right: 2.67vw
    }

    .sct-stay .stay-tab li:nth-child(2n) {
        margin-right: -10px;
        margin-right: -2.67vw
    }

    .sct-stay .stay-tab li.js-active a {
        border-top-color: #916545
    }

    .sct-stay .stay-tab a {
        border-top: 2px solid #e6e6d2;
        display: block;
        transition: border-top-color .5s ease;
        padding-top: 18px;
        padding-top: 4.8vw;
        padding-bottom: 18px;
        padding-bottom: 4.8vw
    }

    .sct-stay .stay-tab-floor {
        color: #916545;
        margin-bottom: 8px;
        margin-bottom: 2.13vw
    }

    .sct-stay .stay-tab-ttl {
        font-size: 14px;
        font-size: 1.4rem
    }
}

.sct-stay .stay-reserve-room {
    margin-top: 2.67vw
}

.sct-stay .stay-reserve-room-tel {
    border: 1px solid #916545;
    border-radius: .4vw;
    padding: 1.2vw .87vw .87vw;
    width: 33.33%;
    margin: 0 auto;
    text-align: center;
    color: #916545;
}

.sct-stay .stay-reserve-room-tel .tel-txt {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4
}

@media screen and (max-width: 767px) {
    .sct-stay .stay-reserve-room {
        margin-top: 40px;
        margin-top: 10.67vw;
        padding-left: 20px;
        padding-left: 5.33vw;
        padding-right: 20px;
        padding-right: 5.33vw
    }

    .sct-stay .stay-reserve-room-tel {
        width: 100%;
        border-radius: 6px;
        border-radius: 1.6vw;
        padding-top: 16px;
        padding-top: 4.27vw;
        padding-right: 15px;
        padding-right: 4vw;
        padding-bottom: 13px;
        padding-bottom: 3.47vw;
        padding-left: 15px;
        padding-left: 4vw
    }

    .sct-stay .stay-reserve-room-tel .tel-txt {
        font-size: 16px;
        font-size: 1.6rem
    }
}

.sct-restaurants {
    margin-bottom: 12vw
}

@media screen and (max-width: 767px) {
    .sct-restaurants {
        margin-bottom: 115px;
        margin-bottom: 30.67vw
    }

    .sct-restaurants .slick-track {
        margin-left: 0
    }

    .sct-restaurants .slick-list {
        overflow: visible
    }
}

.restaurants-ttl {
    color: #916545;
    letter-spacing: .3em;
    line-height: 1.2;
    margin-bottom: 1.33vw;
    text-align: center;
    font-size: 48px;
    font-size: 4.8rem
}

.restaurants-ttl a {
    color: #916545
}

@media screen and (max-width: 767px) {
    .restaurants-ttl {
        letter-spacing: .15em;
        margin-bottom: 24px;
        margin-bottom: 6.4vw;
        font-size: 28px;
        font-size: 2.8rem
    }
}

.restaurants-lead {
    line-height: 1.2;
    margin-bottom: 3.6vw;
    text-align: center
}

@media screen and (max-width: 767px) {
    .restaurants-lead {
        margin-bottom: 38px;
        margin-bottom: 10.13vw
    }
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-wrap {
        height: 44vw;
        position: relative
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-wrap {
        overflow: hidden;
        padding-left: 15px;
        padding-left: 4vw;
        padding-right: 15px;
        padding-right: 4vw
    }
}

@media screen and (min-width: 768px),
print {
    .restaurants-box {
        display: none;
        height: 44vw;
        width: 100%;
        margin-bottom: 2.67vw;
        position: absolute;
        left: 0;
        top: 0
    }

    .restaurants-box.js-active {
        z-index: 10
    }

    .restaurants-box a:hover .link-more .more,
    .restaurants-box a:hover .link-more .more-overlay {
        opacity: 1
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box {
        background-color: transparent
    }
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-inner a {
        display: flex;
        flex-direction: row-reverse;
        color: #916545;
        height: 100%
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-inner {
        background-color: #f9f9f4;
        border-radius: 4px;
        border-radius: 1.07vw;
        margin-left: 5px;
        margin-left: 1.33vw;
        margin-right: 5px;
        margin-right: 1.33vw;
        overflow: hidden
    }
}

.restaurants-box-text {
    position: relative
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-text {
        background-color: #f9f9f4;
        display: flex;
        flex: 1;
        justify-content: center
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-text {
        display: block;
        padding-right: 20px;
        padding-right: 5.33vw;
        padding-bottom: 35px;
        padding-bottom: 9.33vw;
        padding-left: 20px;
        padding-left: 5.33vw
    }
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-text-inner {
        padding-top: 6.33vw;
        padding-bottom: 6.33vw;
        width: 28vw
    }
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-img {
        width: 48.67vw
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-img {
        width: 100%;
        height: 305px;
        height: 81.33vw
    }
}

.restaurants-box-sub {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 1.33vw;
    line-height: 1;
    text-align: center;
    width: 100%
}

@media screen and (max-width: 767px) {
    .restaurants-box-sub {
        display: none
    }
}

.restaurants-box-ttl-wrap {
    height: 160px
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-ttl-wrap {
        height: 10.67vw
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-ttl-wrap {
        display: flex;
        align-items: center;
        height: 90px;
        height: 24vw
    }
}

.restaurants-box-ttl {
    line-height: 1;
    margin: 0 auto;
    text-align: center
}

.restaurants-box-ttl img {
    display: inline-block;
    -webkit-backface-visibility: hidden;
    width: 100%;
    height: auto
}

@media screen and (min-width: 768px),
print {
    .restaurants-box-ttl img.logo-lecoeur {
        width: 13.33vw
    }

    .restaurants-box-ttl img.logo-kokoro {
        width: 7.33vw
    }

    .restaurants-box-ttl img.logo-grandbleu {
        width: 20vw
    }

    .restaurants-box-ttl img.logo-lepan {
        width: 8.67vw
    }
}

@media screen and (max-width: 767px) {
    .restaurants-box-ttl img.logo-lecoeur {
        width: 125px;
        width: 33.33vw
    }

    .restaurants-box-ttl img.logo-kokoro {
        width: 64px;
        width: 17.07vw
    }

    .restaurants-box-ttl img.logo-grandbleu {
        width: 170px;
        width: 45.33vw
    }

    .restaurants-box-ttl img.logo-lepan {
        width: 80px;
        width: 21.33vw
    }
}

.restaurants-box-lead {
    margin-bottom: 1vw;
    width: 100%
}

@media screen and (max-width: 767px) {
    .restaurants-box-lead {
        font-size: 12px;
        font-size: 3.2vw;
        margin-bottom: 22.5px;
        margin-bottom: 6vw;
        position: static
    }
}

.restaurants-box-tbl-wrap {
    border-top: 1px solid #e6e6d2;
    margin-bottom: .53vw;
    padding-top: .67vw;
    padding-bottom: .67vw
}

@media screen and (max-width: 767px) {
    .restaurants-box-tbl-wrap {
        margin-bottom: 0;
        margin-bottom: 0;
        padding-top: 15px;
        padding-top: 4vw;
        padding-bottom: 15px;
        padding-bottom: 4vw
    }
}

.restaurants-box-contact {
    border-top: 1px solid #e6e6d2;
    text-align: right;
    padding-top: 5px;
    padding-top: 1.33vw
}

.restaurants-box-contact .no-icon {
    display: block
}

.restaurants-tab {
    border: none;
    height: 9.4vw;
    display: flex;
    margin: 0 -.67vw;
    text-align: center
}

.restaurants-tab li {
    margin: 0 .67vw;
    width: 25%
}

.restaurants-tab li.js-active a {
    border-bottom-color: #916545
}

.restaurants-tab li.js-active .restaurants-tab-ttl img {
    filter: grayscale(0);
    opacity: 1
}

.restaurants-tab a {
    border-bottom: 2px solid #e6e6d2;
    display: block;
    height: 100%;
    padding-top: 2.53vw;
    transition: border-bottom-color .5s ease
}

.restaurants-tab-sub {
    color: #916545;
    line-height: 1;
    transition: color .5s ease
}

.restaurants-tab-ttl {
    line-height: 1;
    margin: 0 auto;
    text-align: center
}

.restaurants-tab-ttl img {
    display: inline-block;
    filter: grayscale(.7);
    opacity: .8;
    -webkit-backface-visibility: hidden;
    width: 100%;
    height: auto
}

.restaurants-tab-ttl img.logo-lecoeur {
    width: 7.93vw;
    padding-top: 1vw
}

.restaurants-tab-ttl img.logo-kokoro {
    width: 3.67vw;
    padding-top: .67vw
}

.restaurants-tab-ttl img.logo-grandbleu {
    width: 10vw;
    padding-top: 1vw
}

.restaurants-tab-ttl img.logo-lepan {
    width: 5vw;
    padding-top: .67vw
}

@media screen and (max-width: 767px) {
    .restaurants-tab-ttl {
        margin-bottom: 28px;
        margin-bottom: 7.47vw
    }

    .restaurants-tab-ttl img.logo-lecoeur {
        width: 95px;
        width: 25.33vw;
        padding-top: 10px;
        padding-top: 2.67vw
    }

    .restaurants-tab-ttl img.logo-kokoro {
        width: 45px;
        width: 12vw;
        padding-top: 5px;
        padding-top: 1.33vw
    }

    .restaurants-tab-ttl img.logo-grandbleu {
        width: 120px;
        width: 32vw;
        padding-top: 15px;
        padding-top: 4vw
    }

    .restaurants-tab-ttl img.logo-lepan {
        width: 60px;
        width: 16vw
    }
}

@media screen and (max-width: 767px) {
    .restaurants-tab {
        display: block;
        display: block;
        padding-right: 10px;
        padding-right: 2.67vw
    }

    .restaurants-tab:after {
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden
    }

    .restaurants-tab li {
        float: left;
        margin: 0;
        width: 50%;
        height: 80px;
        height: 21.33vw;
        margin-right: 10px;
        margin-right: 2.67vw
    }

    .restaurants-tab li:nth-child(2n) {
        margin-right: -10px;
        margin-right: -2.67vw
    }

    .restaurants-tab li.js-active a {
        border-top-color: #916545
    }

    .restaurants-tab a {
        border-bottom: none;
        border-top: 2px solid #e6e6d2;
        transition: border-top-color .5s ease
    }
}

.sct-wedding {
    margin-bottom: 2.33vw;
}

.sct-wedding a {
    display: block
}

.wedding-inner {
    height: 47.33vw;
    position: relative;
}

@media screen and (min-width: 768px) and (-webkit-device-pixel-ratio:2) {}

@media screen and (max-width: 767px) {
    .sct-wedding {
              margin-bottom: 10vw;
        background: #d7aa892b;
        padding: 3rem 0;
    }

    .wedding-inner {
        background: none !important;
        height: auto
    }
}

.wedding-ttl-wrap {
    line-height: 1.2
}

.wedding-ttl-sub {
    color: #fff;
    font-size: .8vw;
    letter-spacing: .39em;
    margin-bottom: 1.07vw
}

.wedding-ttl {
    color: #fff;
    font-size: 2.67vw;
    letter-spacing: .24em;
    margin-bottom: 1.2vw
}

.wedding-link {
    letter-spacing: .4em;
    line-height: 1;
    font-size: .8vw
}

.wedding-contact {
    line-height: 1;
    font-size: 1.8vw;
    margin-top: 1.33vw;
    color: #fff
}

.wedding-contact a {
    display: inline-block
}

@media screen and (min-width: 768px),
print {
    .wedding-contact a {
        pointer-events: none
    }
}

@media screen and (min-width: 768px),
print {
    .wedding-ttl-wrap {
        white-space: nowrap;
        position: absolute;
        left: 8.27vw;
        top: 33.33vw;
        width: 17.13vw;
        height: 6.53vw
    }

    .wedding-link {
        position: relative
    }

    .wedding-link span {
        color: #fff;
        display: inline-block;
        padding-right: 1.33vw;
        position: relative
    }

    .wedding-link:before {
        background: url(../image/wedding_link_bg2.svg) no-repeat left top;
        background-size: contain;
        content: "";
        display: block;
        position: absolute;
        right: 0;
        bottom: .1vw;
        width: 102px;
        height: 12px
    }
}

@media screen and (min-width: 768px) and (max-width:1139px) {
    .wedding-ttl-wrap {
        left: 94px;
        top: 160px;
        width: 195px;
        height: 74px
    }

    .wedding-ttl-sub {
        font-size: 12px;
        margin-bottom: 12px
    }

    .wedding-ttl {
        font-size: 30px;
        margin-bottom: 21px;
        font-family: "Outfit", sans-serif !important;
    }

    .wedding-link {
        font-size: 12px
    }
}

@media screen and (max-width: 767px) {
    .wedding-ttl-wrap {
        line-height: 1.2;
        text-align: center
    }

    .wedding-ttl-sub {
        color: #916545;
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 8px;
        margin-bottom: 2.13vw
    }

    .wedding-ttl {
        color: #916545;
        font-size: 24px;
        font-size: 2.4rem;
        margin-bottom: 26px;
        margin-bottom: 6.93vw;
        font-family: "Outfit", sans-serif !important;
    }

    .wedding-link {
        font-size: 12px;
        font-size: 1.2rem
    }

    .wedding-contact {
        color: #916545;
        font-size: 14px;
        font-size: 1.4rem;
        margin-top: 20px;
        margin-top: 5.33vw;
        margin-bottom: 32px;
        margin-bottom: 8.53vw
    }
}

.wedding-lead-wrap {
    color: #916545
}

.wedding-lead {
    font-size: 1.87vw;
    letter-spacing: .16em
}

.wedding-lead-sub {
    font-size: .8vw;
    letter-spacing: .04em
}

@media screen and (min-width: 768px),
print {
    .wedding-lead-wrap {
        position: absolute;
        left: 71.67vw;
        top: 15.13vw
    }
}

@media screen and (min-width: 768px) and (max-width:1139px) {
    .wedding-lead-wrap {
        left: 817px;
        top: 172px
    }

    .wedding-lead {
        font-size: 21px
    }

    .wedding-lead-sub {
        font-size: 9px
    }
}

@media screen and (max-width: 767px) {
    .wedding-lead-wrap {
        background-color: #f9f9f4;
        overflow: hidden;
        text-align: center;
        border-radius: 4px;
        border-radius: 1.07vw
    }

    .wedding-lead-wrap:before {
        content: "";
        display: block;
        height: 43.67vw;
        width: 100%;
    }

    .wedding-lead {
        padding-top: 16px;
        padding-top: 4.27vw;
        font-size: 18px;
        font-size: 1.8rem
    }

    .wedding-lead-sub {
        color: #916545;
        font-size: 12px;
        font-size: 1.2rem;
        padding-bottom: 16px;
        padding-bottom: 4.27vw
    }
}

.sct-spa {
    margin-bottom: 6.67vw;
    position: relative
}

@media screen and (min-width: 768px),
print {
    .sct-spa a:hover .spa-inner-box {
        background-color: #fff;
        box-shadow: 0 16px 44px -12px rgba(0, 0, 0, .16);
        transform: translateY(-.3rem)
    }

    .sct-spa a:hover .link-more .more,
    .sct-spa a:hover .link-more .more-overlay {
        opacity: 1
    }

    .sct-spa a:active .spa-inner-box {
        transition: box-shadow .25s ease, transform .25s ease;
        box-shadow: 0 0 8px rgba(0, 0, 0, .16);
        transform: translateY(0)
    }
}

.spa-img {
    margin-left: auto;
    width: 51.27vw;
    height: 33.33vw
}

.spa-inner {
    position: absolute;
    top: 50%;
    left: 7.33vw;
    width: 32.2vw;
    transform: translateY(-50%);
    display: block
}

@media screen and (min-width: 768px) and (max-width:1139px) {
    .spa-inner {
        width: 367px
    }
}

.spa-inner-box {
    background-color: #f9f9f4;
    padding: 4.4vw 3.2vw 3.87vw;
    transition: box-shadow .5s ease, transform .5s ease, background-color .5s ease;
}

.spa-lead {
    color: #916545;
    line-height: 1.75;
    margin-bottom: .8vw;
    font-size: 1.5rem;
    text-transform: uppercase;
    font-family: "Outfit", sans-serif !important;
}

.spa-ttl {
    color: #916545;
    letter-spacing: .2em;
    line-height: 1.2;
    margin-bottom: 1.8vw;
    font-size: 3.2rem
}

.spa-text {
    color: #2D241E;
    font-size: 1.4rem;
}

.spa-contact {
    color: #916545;
    margin-top: 2vw;
    font-size: 1.2rem;
}

@media screen and (min-width: 768px),
print {
    .sct-spa a:hover .spa-inner-box {
        background-color: #fff;
        box-shadow: 0 16px 44px -12px rgba(0, 0, 0, .16);
        transform: translateY(-.3rem)
    }

    .sct-spa a:hover .link-more .more,
    .sct-spa a:hover .link-more .more-overlay {
        opacity: 1
    }

    .sct-spa a:active .spa-inner-box {
        transition: box-shadow .25s ease, transform .25s ease;
        box-shadow: 0 0 8px rgba(0, 0, 0, .16);
        transform: translateY(0)
    }
}

@media screen and (max-width: 767px) {
    .sct-spa {
        margin-bottom: 80px;
        margin-bottom: 21.33vw
    }

    .sct-spa .box-center>a {
        display: block;
        position: relative;
        padding-top: 177px;
        padding-top: 47.2vw
    }

    .spa-img {
        position: absolute;
        top: 0;
        left: 20px;
        left: 5.33vw;
        height: 217.5px;
        height: 58vw;
        width: 335px;
        width: 89.33vw
    }

    .spa-inner {
        position: relative;
        top: 0;
        left: 0;
        width: 295px;
        width: 78.67vw;
        transform: none
    }

    .spa-inner-box {
        padding-top: 20px;
        padding-top: 5.33vw;
        padding-bottom: 20px;
        padding-bottom: 5.33vw;
        padding-left: 30px;
        padding-left: 8vw;
        padding-right: 30px;
        padding-right: 8vw
    }

    .spa-lead {
        margin-bottom: 8px;
        margin-bottom: 2.13vw;
        font-size: 10px;
        font-size: 1rem
    }

    .spa-ttl {
        color: #916545;
        letter-spacing: .2em;
        line-height: 1.2;
        margin-bottom: 12px;
        margin-bottom: 3.2vw;
        font-size: 1.6rem;
    }

    .spa-text {
        color: #916545;
        line-height: 1.6;
        text-align: left
    }

    .spa-text br {
        display: none
    }

    .spa-contact {
        margin-top: 20px;
        margin-top: 5.33vw
    }
}

.sct-banquet {
    margin-bottom: 6.67vw
}

.banquet-img {
    margin-right: auto;
    width: 51.27vw;
    height: 33.33vw
}

.banquet-inner {
    position: absolute;
    top: 50%;
    left: 45.67vw;
    width: 32.2vw;
    transform: translateY(-50%)
}

@media screen and (min-width: 768px) and (max-width:1139px) {
    .banquet-inner {
        width: 367px
    }
}

.banquet-inner-box {
    background-color: #f9f9f4;
    padding: 4.4vw 3.2vw 3.87vw;
    transition: box-shadow .5s ease, transform .5s ease, background-color .5s ease
}

.banquet-lead {
    color: #916545;
    line-height: 1.8;
    margin-bottom: 1.5vw;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.banquet-ttl {
    color: #916545;
    letter-spacing: .2em;
    line-height: 1.2;
    margin-bottom: 1.5vw;
    font-size: 32px;
    font-size: 3.2rem
}

.banquet-text {
    color: #2D241E;
    font-size: 1.4rem;
}

.banquet-contact {
    color: #916545;
    margin-top: 2vw;
    font-size: 1.2rem;
}

@media screen and (min-width: 768px),
print {
    .sct-banquet a:hover .banquet-inner-box {
        background-color: #fff;
        box-shadow: 0 16px 44px -12px rgba(0, 0, 0, .16);
        transform: translateY(-.3rem)
    }

    .sct-banquet a:hover .link-more .more,
    .sct-banquet a:hover .link-more .more-overlay {
        opacity: 1
    }

    .sct-banquet a:active .banquet-inner-box {
        transition: box-shadow .25s ease, transform .25s ease;
        box-shadow: 0 0 8px rgba(0, 0, 0, .16);
        transform: translateY(0)
    }
}

@media screen and (max-width: 767px) {
    .sct-banquet {
        margin-bottom: 80px;
        margin-bottom: 21.33vw
    }

    .sct-banquet .box-center>a {
        display: block;
        position: relative;
        padding-top: 177px;
        padding-top: 47.2vw
    }

    .banquet-img {
        position: absolute;
        top: 0;
        left: 20px;
        left: 5.33vw;
        height: 217.5px;
        height: 58vw;
        width: 335px;
        width: 89.33vw
    }

    .banquet-inner {
        margin-left: auto;
        position: relative;
        top: 0;
        left: 0;
        width: 295px;
        width: 78.67vw;
        transform: none
    }

    .banquet-inner-box {
        padding-top: 20px;
        padding-top: 5.33vw;
        padding-bottom: 20px;
        padding-bottom: 5.33vw;
        padding-left: 30px;
        padding-left: 8vw;
        padding-right: 30px;
        padding-right: 8vw
    }

    .banquet-lead {
        margin-bottom: 8px;
        margin-bottom: 2.13vw;
        font-size: 10px;
        font-size: 1rem
    }

    .banquet-ttl {
        color: #916545;
        letter-spacing: .2em;
        line-height: 1.2;
        margin-bottom: 12px;
        margin-bottom: 3.2vw;
        font-size: 1.6rem;
    }

    .banquet-text {
        color: #916545;
        line-height: 1.6;
        text-align: left
    }

    .banquet-text br {
        display: none
    }

    .banquet-contact {
        margin-top: 20px;
        margin-top: 5.33vw
    }
}

.sct-online {
    margin-bottom: 6.67vw;
    position: relative
}

.online-img {
    margin-left: auto;
    width: 51.27vw;
    height: 33.33vw
}

.online-inner {
    position: absolute;
    top: 50%;
    left: 7.33vw;
    width: 32.2vw;
    text-align: center;
    transform: translateY(-50%);
    display: block
}

@media screen and (min-width: 768px) and (max-width:1139px) {
    .online-inner {
        width: 367px
    }
}

.online-inner-box {
    background-color: #f9f9f4;
    padding: 4.4vw 3.2vw 3.87vw;
    transition: box-shadow .5s ease, transform .5s ease, background-color .5s ease
}

.online-lead {
    color: #916545;
    line-height: 1.75;
    margin-bottom: .8vw;
    font-size: 12px;
    font-size: 1.2rem
}

.online-ttl {
    color: #916545;
    letter-spacing: .2em;
    line-height: 1.2;
    margin-bottom: 1.8vw;
    font-size: 32px;
    font-size: 3.2rem
}

.online-text {
    color: #916545
}

.online-contact {
    color: #916545;
    margin-top: 2vw;
    text-align: right
}

@media screen and (min-width: 768px),
print {
    .sct-online a:hover .online-inner-box {
        background-color: #fff;
        box-shadow: 0 16px 44px -12px rgba(0, 0, 0, .16);
        transform: translateY(-.3rem)
    }

    .sct-online a:hover .link-more .more,
    .sct-online a:hover .link-more .more-overlay {
        opacity: 1
    }

    .sct-online a:active .online-inner-box {
        transition: box-shadow .25s ease, transform .25s ease;
        box-shadow: 0 0 8px rgba(0, 0, 0, .16);
        transform: translateY(0)
    }
}

@media screen and (max-width: 767px) {
    .sct-online {
        margin-bottom: 0
    }

    .sct-online .box-center>a {
        display: block;
        position: relative;
        padding-top: 177px;
        padding-top: 47.2vw
    }

    .online-img {
        position: absolute;
        top: 0;
        left: 20px;
        left: 5.33vw;
        height: 217.5px;
        height: 58vw;
        width: 335px;
        width: 89.33vw
    }

    .online-inner {
        position: relative;
        top: 0;
        left: 0;
        width: 295px;
        width: 78.67vw;
        transform: none
    }

    .online-inner-box {
        padding-top: 20px;
        padding-top: 5.33vw;
        padding-bottom: 20px;
        padding-bottom: 5.33vw;
        padding-left: 30px;
        padding-left: 8vw;
        padding-right: 30px;
        padding-right: 8vw
    }

    .online-lead {
        margin-bottom: 8px;
        margin-bottom: 2.13vw;
        font-size: 10px;
        font-size: 1rem
    }

    .online-ttl {
        color: #916545;
        letter-spacing: .2em;
        line-height: 1.2;
        margin-bottom: 12px;
        margin-bottom: 3.2vw;
        font-size: 20px;
        font-size: 2rem
    }

    .online-text {
        color: #916545;
        line-height: 1.6;
        text-align: left
    }

    .online-text br {
        display: none
    }

    .online-contact {
        margin-top: 20px;
        margin-top: 5.33vw
    }
}

@media screen and (max-width: 767px) {
    .sct-event {
        padding-top: 75px;
        padding-top: 20vw
    }
}

.sct-news {
    margin-bottom: 8vw;
}

.sct-news .news-list li:last-child {
    border-bottom: 1px solid #e6e6d2
}

.sct-news .news-btn {
    text-align: center;
    margin-top: 4.33vw;
}

@media screen and (max-width: 767px) {
    .sct-news {
        margin-bottom: 80px;
        margin-bottom: 21.33vw
    }

    .sct-news .tab-btn {
        display: none
    }
}

#popup {
    box-sizing: border-box;
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1
}

#popup * {
    box-sizing: border-box
}

#popup.-visible {
    display: block;
    z-index: 9997
}

#popup-overlay {
    background-color: rgba(0, 0, 0, .6);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9998
}

.popup-box {
    background-color: #f3f2ea;
    border-radius: .27vw;
    width: 40.67vw;
    text-align: center;
    overflow: hidden;
    padding: 3.33vw 1.67vw 2.67vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999
}

.popup-box-ttl-sub {
    color: #916545;
    line-height: 1.2;
    margin-bottom: 1vw;
    font-size: 13px;
    font-size: 1.3rem
}

.popup-box-ttl {
    line-height: 1.2;
    margin-bottom: 1.33vw;
    font-size: 26px;
    font-size: 2.6rem
}

.popup-box-lead {
    line-height: 1.2;
    margin-bottom: 2vw;
    font-size: 16px;
    font-size: 1.6rem
}

.popup-box-img img {
    width: 100%;
    height: auto
}

.popup-box-text {
    margin: 1.33vw 0
}

#popup-box-close {
    background-color: #fff;
    border-radius: .27vw;
    cursor: pointer;
    width: 2.67vw;
    height: 2.67vw;
    position: absolute;
    top: 1.33vw;
    right: 1.33vw;
    transition: background-color .2s ease, border-color .2s ease
}

#popup-box-close:after,
#popup-box-close:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transition: background-color .2s ease
}

#popup-box-close:before {
    background-color: #916545;
    height: 1px;
    width: 16px;
    transform: translate(-50%, -50%) rotate(45deg)
}

#popup-box-close:after {
    background-color: #916545;
    height: 1px;
    width: 16px;
    transform: translate(-50%, -50%) rotate(-45deg)
}

@media screen and (max-width: 767px) {
    .popup-box {
        padding-top: 30px;
        padding-top: 8vw;
        padding-right: 15px;
        padding-right: 4vw;
        padding-bottom: 30px;
        padding-bottom: 8vw;
        padding-left: 15px;
        padding-left: 4vw;
        border-radius: 4px;
        border-radius: 1.07vw;
        width: 90%
    }

    .popup-box-ttl-sub {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 8px;
        margin-bottom: 2.13vw
    }

    .popup-box-ttl {
        line-height: 1.4;
        font-size: 22px;
        font-size: 2.2rem;
        margin-bottom: 10px;
        margin-bottom: 2.67vw
    }

    .popup-box-lead {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 15px;
        margin-bottom: 4vw
    }

    .popup-box-text {
        margin-top: 15px;
        margin-top: 4vw;
        margin-bottom: 12px;
        margin-bottom: 3.2vw
    }

    .popup-box-btn {
        padding-right: 20px;
        padding-right: 5.33vw;
        padding-left: 20px;
        padding-left: 5.33vw
    }

    #popup-box-close {
        border-radius: 4px;
        border-radius: 1.07vw;
        width: 40px;
        width: 10.67vw;
        height: 40px;
        height: 10.67vw;
        top: 15px;
        top: 4vw;
        right: 15px;
        right: 4vw
    }
}

.top-bnr-area {
    margin-top: 2vw
}

@media screen and (max-width: 767px) {
    .top-bnr-area {
        padding-top: 50px;
        padding-top: 13.33vw
    }

    .top-bnr-area .grid [class*=" col"],
    .top-bnr-area .grid [class^=col] {
        margin-bottom: 30px;
        margin-bottom: 8vw
    }
}

.covid-box,
.covid-box2 {
    margin-top: 4.67vw;
    background-color: #f9f9f4;
    padding: 3.33vw
}

.covid-box .ttl04,
.covid-box2 .ttl04 {
    margin-top: 0
}

.covid-box .col4,
.covid-box2 .col4 {
    padding-left: 8vw
}

.covid-box2 {
    margin-top: 1.33vw
}

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

    .covid-box,
    .covid-box2 {
        margin-top: 180px;
        margin-top: 48vw;
        padding-top: 30px;
        padding-top: 8vw;
        padding-right: 25px;
        padding-right: 6.67vw;
        padding-bottom: 30px;
        padding-bottom: 8vw;
        padding-left: 25px;
        padding-left: 6.67vw
    }

    .covid-box .col4,
    .covid-box2 .col4 {
        margin-top: 15px;
        margin-top: 4vw;
        padding-left: 0;
        padding-left: 0;
        text-align: center
    }

    .covid-box2 {
        margin-top: 30px;
        margin-top: 8vw
    }
}

.banner {
    margin-top: 4.67vw
}

@media screen and (max-width: 767px) {
    .banner {
        margin-top: 60px;
        margin-top: 16vw
    }
}

.notes-list {
    margin-top: 1.33vw
}

.notes-list li {
    padding-left: 0
}

.directin-sp-form {
    padding: 0;
    gap: 1.07vw;
    width: auto;
    flex-shrink: 0;
    justify-content: flex-start
}

.directin-sp-form>div {
    margin: 0;
    gap: 1.07vw
}

.directin-sp-form>div .directin-sp-form-date-input {
    margin-right: 0 !important
}

.directin-sp-form>div .directin-sp-form-date-input input[type=text].flatpickr-input {

    color: #916545;
    font-size: 15px;
    font-size: 1.5rem;
    border: 1px solid #e6e6d2;
    border-radius: .27vw;
    padding: .4vw .8vw .53vw 2.67vw;
    width: 18.67vw;
    background-size: 1.47vw 1.47vw
}

.directin-sp-form>div .directin-sp-form-date-input input[type=text].flatpickr-input[data-disabled=true] {
    opacity: 1
}

.directin-sp-form>div .directin-sp-form-guest-room-separator {
    margin-right: 0 !important
}

.directin-sp-form .directin-sp-form-submit-button button {

    color: #f9f9f4;
    background: #916545;
    border: 2px solid #916545;
    border-radius: .4vw;
    transition: all .5s ease;
    padding: .53vw 2.13vw;
    font-size: 15px;
    font-size: 1.5rem
}

.directin-sp-form .directin-sp-form-submit-button button:hover {
    color: #8c7426;
    background: #fff;
    box-shadow: 0 16px 44px -12px rgba(0, 0, 0, .16);
    transform: translateY(-.3rem)
}

.directin-sp-form .directin-sp-form-submit-button button:hover:before {
    color: #916545
}

.directin-sp-form .directin-sp-form-submit-button button:before {
    content: "";
    color: #fff;
    padding-right: .53vw;
    position: relative;
    top: .13vw;
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.directin-sp-form .directin-sp-form-input {
    margin-right: 0 !important
}

.directin-sp-form .directin-sp-form-input label select {
    font-size: 15px;
    font-size: 1.5rem;
    padding: .27vw;
    border: 1px solid #e6e6d2;
    border-radius: .27vw
}

.directin-sp-form .directin-sp-form-input.directin-sp-form-nodate-checkbox {
    padding-bottom: .67vw
}

.directin-sp-form .directin-sp-form-input.directin-sp-form-nodate-checkbox>label {
    display: flex;
    align-items: center;
    gap: .53vw
}

.directin-sp-form .directin-sp-form-input.directin-sp-form-nodate-checkbox>label input[type=checkbox] {
    margin: 0
}

.directin-sp-form .directin-sp-form-input.directin-sp-form-nodate-checkbox>label .directin-sp-form-checkbox-label {
    line-height: 1;
    font-size: 14px;
    font-size: 1.4rem
}




.main-head {
    position: relative;
    text-align: center
}

.main-head .ttl01-wrap {
    margin-bottom: 2.67vw
}

.main-head-img {
    margin-bottom: 5.53vw;
}

.main-head-lead p {
    margin-bottom: 1.07vw
}

.main-head-lead p:last-child {
    margin-bottom: 0
}

.about-box-ttl-wrap {
    line-height: 1;
    margin-bottom: 4vw;
    text-align: center
}

.about-box-ttl-sub {
    color: #91654536;
    font-size: 60px;
    font-size: 6rem;
    font-family: "Birthstone", cursive !important;
}

.about-box-ttl {
    font-size: 18px;
    font-size: 1.8rem
}

.about-box-text {
    background-color: #f3f2ea
}

.sct-terms {
    border-top: 1px solid #e6e6d2;
    padding-top: 6.67vw
}

.terms-box {
    margin-bottom: 2.67vw;
    padding-top: 2.67vw
}

.terms-box+.terms-box {
    border-top: 1px solid #e6e6d2
}

.terms-box .ttl04 {
    margin-top: 0
}

.terms-box:last-child .terms-box-notes li {
    font-size: 13px;
    font-size: 1.3rem
}

.terms-box-inner {
    font-size: 13px;
    font-size: 1.3rem
}

.terms-box-inner>* {
    margin-bottom: 1.6vw
}

.terms-box-inner>*:last-child {
    margin-bottom: 0
}

.terms-box-notes li {
    font-size: 12px;
    font-size: 1.2rem;
    position: relative;
    padding-left: 1.2em
}

.terms-box-notes li:before {
    content: '窶ｻ';
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (min-width: 768px),
print {
    .main-head {
        /* padding-bottom: 4.33vw !important; */
    }

    .about-box {
        margin-bottom: 8vw;
        padding-top: 2.67vw;
        position: relative
    }

    .about-box:last-child {
        margin-bottom: 10.67vw
    }

    .about-box:nth-child(odd) .about-box-text {
        right: 0;
        padding-left: 2.13vw
    }

    .about-box:nth-child(even) .about-box-text {
        left: 0;
        padding-right: 2.13vw
    }

    .about-box-img {
        margin: 0 auto;
        width: 71.07vw
    }

    .about-box-text {
        width: 21.33vw;
        padding-top: 2.13vw;
        position: absolute;
        top: 40vw;
        font-size: 13px;
        font-size: 1.3rem
    }
}

@media screen and (max-width: 767px) {
    .main-head {
        margin-top: 0 !important;
        margin-bottom: 40px !important;
        margin-bottom: 10.67vw !important;
    }

    .main-head .ttl01-wrap {
        margin-top: 24px;
        margin-top: 6.4vw;
        margin-bottom: 24px;
        margin-bottom: 6.4vw
    }

    .main-head .ttl01-sub {
        font-size: 10px;
        font-size: 1rem
    }

    .main-head-lead {
        padding-left: 32px;
        padding-left: 8.53vw;
        padding-right: 32px;
        padding-right: 8.53vw
    }

    .main-head-lead p {
        margin-bottom: 16px;
        margin-bottom: 4.27vw;
        text-align:left;
    }

    .about-box {
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        padding-top: 40px;
        padding-top: 10.67vw
    }

    .about-box-ttl-wrap {
        margin-bottom: 40px;
        margin-bottom: 10.67vw
    }

    .about-box-ttl-sub {
      
color: #91654536;
    font-family: "Birthstone", cursive !important;
        font-size: 4rem;
    }

    .about-box-ttl {
        font-size: 14px;
        font-size: 1.4rem
    }

    .about-box-img {
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        position: relative
    }

    .about-box-img:before {
        background-color: rgba(204, 204, 186, 0.5);
        content: '';
        display: block;
        height: 60px;
        width: 2px;
        position: absolute;
        left: 50%;
        top: 0;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: 10
    }

    .about-box-img span {
        border-radius: 4px;
        border-radius: 1.07vw;
        display: block;
        height: 240px;
        height: 64vw;
        overflow: hidden
    }

    .about-box-text {
        position: relative;
        margin-left: 20px;
        margin-left: 5.33vw;
        margin-right: 20px;
        margin-right: 5.33vw;
        margin-top: -40px;
        margin-top: -10.67vw;
        padding: 25px;
        padding: 6.67vw
    }

    .sct-terms {
        padding-top: 40px;
        padding-top: 10.67vw
    }

    .sct-terms .ttl01-wrap {
        margin-bottom: 0
    }

    .sct-terms .terms-box:last-child {
        margin-bottom: 0
    }

    .sct-terms .terms-box:last-child .terms-box-notes li {
        margin-bottom: 20px;
        margin-bottom: 5.33vw
    }

    .sct-terms .terms-box:last-child .terms-box-notes li:last-child {
        margin-bottom: 0
    }

    .terms-box {
        margin-bottom: 20px;
        margin-bottom: 5.33vw;
        padding-top: 20px;
        padding-top: 5.33vw
    }

    .terms-box .col3 {
        margin-bottom: 20px;
        margin-bottom: 5.33vw
    }

    .terms-box .ttl04 {
        margin-bottom: 16px;
        margin-bottom: 4.27vw
    }

    .terms-box-inner>* {
        margin-bottom: 16px;
        margin-bottom: 4.27vw
    }

    .terms-box-notes {
        margin-top: 16px;
        margin-top: 4.27vw
    }

    .terms-box-notes li {
        font-size: 11px;
        font-size: 1.1rem
    }
}

.company-con {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
    box-sizing: border-box;
    background-color: #fcf9f2;
    color: #6b533e;
    font-family: sans-serif;
    line-height: 1.8;
    font-size: 15px;
}

.company-con .swiper-container {
    width: 100%;
    height: 350px;
    margin-bottom: 40px;
    border-radius: 8px;
    overflow: hidden;
}

.company-con .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.company-con table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #dcd3c4;
}

.company-con tr {
    border-bottom: 1px solid #dcd3c4;
}

.company-con th,
.company-con td {
    padding: 24px 15px;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
}

.company-con th {
    width: 220px;
    font-weight: normal;
    color: #916545;
    white-space: nowrap;
}

.company-con td {
    color: #2D241E;
}

@media (max-width: 768px) {
    .company-con {
        padding: 20px 15px;
        font-size: 14px;
    }

    .company-con .swiper-container {
        height: 220px;
        margin-bottom: 25px;
    }

    .company-con th,
    .company-con td {
        display: block;
        width: 100%;
        padding: 12px 0;
    }

    .company-con th {
        padding-bottom: 2px;
    }

    .company-con td {
        padding-top: 0;
    }

    .company-con tr {
        padding: 8px 0;
    }
}

.sct-other {
    margin-bottom: 6vw;
}

.guide1-con {
    font-size: 1.6rem;
    color: #828282;
    margin-bottom: 8vw;
}

.guide1-con h4 {
    font-size: 1.4rem;
    color: #2D241E;
    margin-top: 2vw;
}

.guide1-con h2 {
    font-size: 3.2rem;
    color: #916545;
    margin: 1vw 0 2vw 0;
}

.guide1-con table {
    width: 100%;
    margin-bottom: 2vw;
}

.guide1-con table tr {
    border-top: 1px solid #B49531;
    font-size: 1.6rem;
    color: #000000;
}

.guide1-con table tr td {
    padding: 10px;
}

.guide1-con table tr td:first-child {
    background-color: #E4DBCE;
}

.guide1-con table tr td:last-child {}

.topics-con {
    margin-bottom: 8vw;
}

.contact-con {}

.contact-con .main-block-l .ttl01-wrap h2 {
    font-size: 2.4rem;
    color: #2D241E;
    font-weight: 700;
    margin-top: 2vw;
}

.checkbox-acceptance {
    margin: 0;
    position: absolute;
    cursor: pointer;
    width: 16px !important;
    height: 16px;
    border: none !important;
    outline: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    background-color: transparent !important;
}

.custom-checkbox {
    display: inline-block;
    position: relative;
    cursor: pointer;
    user-select: none;
}

.checkmark {
    display: inline-block !important;
    width: 16px;
    height: 16px;
    border: 1px solid #333;
    border-radius: 50%;
    background-color: transparent;
    position: relative;
    transition: all 0.2s ease;
    margin-bottom: 0 !important;
    vertical-align: sub;
}

.checkbox-acceptance:checked+.checkmark {
    background-color: #000;
    border-color: #000;
}

.checkmark::after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-acceptance:checked+.checkmark::after {
    display: block;
}

.checkmark::after {
    left: 4px;
    top: 1px;
    width: 3px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.sec-agree {
    font-size: 1.2rem;
    color: #202020;
    text-align: center;
    margin-top: 5vw;
}

.sec-agree a {
    text-decoration: underline;
    color: #828282;
    margin-left: 2px;
}

.set-btn .btn03:hover {
    background-color: #916545;
    color: #fff;
}

::placeholder {
    color: #91654580;
    opacity: 1;
}

::-webkit-input-placeholder {
    color: #91654580;
}

:-moz-placeholder {
    color: #91654580;
    opacity: 1;
}

::-moz-placeholder {
    color: #91654580;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #91654580;
}

select {
    color: #91654580;
}

select option {
    color: #91654580;
}

.box-utility-wrap {
    padding: 7vw
}

.box-utility-wrap p {
    font-size: 1.6rem;
    color: #000000;
    margin-bottom: 10px;
}

.box-utility-wrap p strong {
    font-weight: 700;
}

@media screen and (max-width: 767px),
print {
    .guide1-con h2 {
        font-size: 2rem;
    }
}

@media screen and (min-width: 768px),
print {
    .box-utility-wrap {
        padding: 8vw
    }
}