@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans|Noto+Serif");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,700");
@import url("https://fonts.googleapis.com/css?family=Comfortaa:700");

/*色の指定は一括でここで行えます。*/

/*背景が白に近い場合はこちらを編集してご利用ください*/

:root {
    --main-text-color: #6A3906;
    --sub1-text-color: #f19434;
    --sub2-text-color: #FEDD78;
    --sub3-text-color: #000;
    --sub4-text-color: #eabf3d;
    --sub5-text-color: rgba(0, 0, 0, 0.15);
    --sub6-text-color: #797152;
    --sub7-text-color: #949499;
    --sub8-text-color: #ff9600;
    --sub9-text-color: #ffd700;
    --sub10-text-color: rgba(0, 0, 0, 0.85);
    --sub11-text-color: rgba(0, 0, 0, 0.6);
    --sub12-text-color: rgba(255, 255, 255, 0.3);
}

/*背景が白に近い場合はこちらを編集してご利用ください*/

/*背景が黒に近い場合はこちらを編集してご利用ください*/

/*
:root {
    --main-text-color: #f8f8ff;
    --sub1-text-color: #f19434;
    --sub2-text-color: #000;
    --sub3-text-color: #fff;s
    --sub4-text-color: #1a1a1a;
    --sub5-text-color: rgba(255, 255, 255, .15);
    --sub6-text-color: #797152;
    --sub7-text-color: #949499;
    --sub8-text-color: #ff9600;
    --sub9-text-color: #ffd700;
    --sub10-text-color: rgba(255, 255, 255, .85);
    --sub11-text-color: rgba(255, 255, 255, 0.6);
    --sub12-text-color: rgba(0, 0, 0, .3);
}
*/

/*背景が黒に近い場合はこちらを編集してご利用ください*/

.noto {
    font-family: "Noto Serif JP", "Noto Serif", serif !important;
}

.gf_vollkorn {
    font-family: "Vollkorn", serif !important;
}

.gf_open {
    font-family: "Open Sans", sans-serif;
    font-weight: 700 !important;
}

a,
body {
    color: var(--main-text-color);
}

.current,
em {
    color: var(--sub1-text-color);
    font-weight: 700;
}

.current,
.lcmenu,
em {
    font-weight: 700;
}

#loopslider img {
    height: 240px;
    width: auto;
}

#loopslider ul,
#loopslider ul li {
    height: 240px;
    float: left;
    overflow: hidden;
}

#loopslider,
.ttl4 {
    position: relative;
}

body {
    background: var(--sub2-text-color);
    font-family: "Noto Sans", sans-serif !important;
    letter-spacing: 0.08em;
    line-height: 1.8;
    font-size: 14px;
}

#social_share .LINE a,
#social_share .facebook a,
#social_share .googleplus a,
#social_share .hatena a,
#social_share .twitter a {
    text-decoration: none;
    background-size: 40px 40px;
}

.privacy {
    width: auto;
    margin: 0 auto 5rem;
    border: 2px solid #000000;
    padding: 20px;
    height: 500px;
    overflow: auto;
}


.privacy span {
    font-weight: bold;
}

.privacy p {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.second-nrw p.privacy_notes {
    padding: 30px 0;
}

@media screen and (max-width: 767px) {
    .privacy {
        width: 80%;
    }
}

footer {
    border-top: 4px solid var(--sub3-text-color);
}

footer small {
    background-color: var(--sub3-text-color);
}

#google_translate {
    background-color: var(--sub2-text-color);
}

#page-top a {
    color: #444;
}

.current {
    border-bottom: dotted 2px var(--sub1-text-color);
    padding-bottom: 5px;
}

em {
    font-size: 16px;
    font-style: normal;
}

dl.shop-info dd {
    border-bottom: 1px solid var(--sub5-text-color);
}

.lcmenu {
    font-family: Comfortaa, cursive;
}

#social_share {
    height: 40px;
    width: 180px;
}

#social_share ul {
    display: flex;
}

#social_share li:first-child {
    margin-left: 0 !important;
}

#social_share li {
    margin-left: 5px;
}

#social_share li a {
    display: block;
    overflow: hidden;
    width: 40px;
    height: 40px;
    cursor: pointer;
    text-indent: -999px;
    background-repeat: no-repeat;
    background-position: center center;
}

#social_share .LINE a {
    background-image: url(../img/social_line.png);
}

#social_share .facebook a {
    background-image: url(../img/social_facebook.png);
}

#social_share .twitter a {
    background-image: url(../img/social_twitter.png);
}

#social_share .googleplus a {
    background-image: url(../img/social_gplus.png);
}

#social_share .hatena a {
    background-image: url(../img/social_hatena.png);
}

.access dl {
    margin-top: 20px;
}

#loopslider {
    margin: 0 auto 40px;
    width: 100%;
    height: 240px;
    text-align: left;
    overflow: hidden;
}

#loopslider ul {
    display: inline-block;
}

#loopslider ul img {
    height: 240px;
}

#loopslider ul li {
    width: 320px;
    display: inline;
}

#loopslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}

.ttl4 {
    background: var(--sub4-text-color);
    font-size: 24px;
    padding: 15px 20px 15px 68px;
    border-radius: 5px;
    line-height: 1.4;
}

.ttl4:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0f4";
    position: absolute;
    left: 20px;
}

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

    .btn,
    .kv_second h2,
    header ul li {
        font-family: Comfortaa, cursive;
        font-weight: 700;
        letter-spacing: 0.1em;
    }

    .arrow,
    .btn,
    .intro,
    .kv_second h2 {
        text-align: center;
    }

    .info a,
    .second dl a {
        text-decoration: none !important;
    }

    #page-top,
    .persist-header {
        position: fixed;
        z-index: 9999;
    }

    .sp {
        display: none;
    }

    .persist-header {
        background: var(--sub10-text-color);
        font-family: Comfortaa, cursive;
        font-weight: 700;
    }

    header {
        padding: 30px 0 40px;
        max-width: 90%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        position: relative;
    }

    header img {
        width: 200px;
        height: auto;
        position: absolute;
        top: -10px;
    }

    header ul {
        padding-top: 17px;
        display: flex;
    }

    header ul li {
        padding-left: 2vw;
        font-size: 1.5vw;
    }

    .kv_slider {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        max-width: 1200px;
        width: 100%;
        height: 640px;
        margin: -30px auto 0;
    }

    .kv_second,
    .kv_second div {
        height: 240px;
    }

    .kv_second {
        background: url(../img/bg_kv_01.jpg) center no-repeat;
        background-size: cover;
        margin: -30px auto 0;
    }

    .kv_second h2 {
        font-size: 48px;
        line-height: 240px;
        color: var(--sub2-text-color);
        text-shadow: 0 0 5px var(--sub10-text-color);
    }

    .arrow {
        font-size: 32px;
        margin: 30px 0 90px;
    }

    .btn {
        font-size: 16px;
        border: 1px solid var(--sub3-text-color);
        width: 200px;
        margin: 0 auto;
        line-height: 1;
        margin-top: 30px;
    }

    .btn a {
        display: block;
        /*		padding: 12px 0 17px;*/
        padding: 15px 0 15px;
    }

    .gallery-list,
    .menu,
    ul.lcmenu {
        display: flex;
    }

    .intro {
        padding: 100px 0 100px;
        padding-bottom: 30px;
    }

    .intro h2 {
        font-size: 26px;
        line-height: 1.7;
        margin-bottom: 30px;
    }

    .intro p,
    .menu h2 {
        margin-bottom: 40px;
    }

    .intro p {
        line-height: 2.2;
        width: 80%;
        margin: 0 auto;
        max-width: 800px;
    }

    .info h2,
    .menu h2,
    .reserve h2 {
        font-family: Comfortaa, cursive;
        line-height: 1;
        font-weight: 700;
        text-align: center;
    }

    .reserve h2 {
        font-size: 40px;
        margin-bottom: 20px;
    }

    .menu .bg {
        background: url(../img/food1.jpg) center no-repeat;
        background-size: cover;
        width: 50%;
    }

    .menu .bg2 {
        background: url(../img/drink1.jpg) center no-repeat;
        background-size: cover;
        width: 50%;
    }

    .menu .bg3 {
        background: url(../img/lunch1.jpg) center no-repeat;
        background-size: cover;
        width: 50%;
    }

    .menu .bg4 {
        background: url(../img/course1.jpg) center no-repeat;
        background-size: cover;
        width: 100%;
        color: var(--sub2-text-color);
        padding: 80px 0;
        position: relative;
    }

    .menu .bg4 > * {
        position: relative;
        z-index: 999;
    }

    .menu .bg4::before {
        content: "";
        background: var(--sub11-text-color);
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
    }

    .menu .bg4 dl {
        width: 70%;
        margin: 0 auto;
    }

    .menu .bg4 .btn {
        border: solid 1px var(--sub2-text-color);
    }

    .menu .bg4 .btn a {
        color: var(--sub2-text-color);
    }

    .bg {
        background: url(../img/bg1.jpg) center no-repeat;
        background-size: cover;
        width: 50%;
    }

    .menu .txt {
        width: 50%;
        background: var(--sub4-text-color);
        padding: 80px 0;
    }

    .info,
    .second {
        max-width: 980px;
    }

    .menu dl dd,
    .menu dl dt {
        padding: 0 50px;
        text-align: center;
    }

    .menu h2 {
        font-size: 40px;
    }

    .menu dl {
        margin-bottom: 30px;
    }

    .menu dl dt {
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 15px;
    }

    .info {
        margin: 140px auto 160px;
    }

    .info h2 {
        font-size: 40px;
        margin-bottom: 40px;
    }

    .info .btn {
        margin: 0px auto;
    }

    dl.shop-info a,
    footer p,
    footer small {
        font-family: "Open Sans", sans-serif;
    }

    .map {
        margin-bottom: 20px;
    }

    .second,
    .second-nrw {
        margin: 60px auto 80px;
    }

    .second-nrw {
        width: 980px;
    }

    .second-nrw-takeout {
        max-width: 980px;
    }

    .second,
    .second-nrw-menu,
    .second-nrw-lunch,
    .second-nrw-course {
        margin: 60px auto 80px;
    }

    .second-nrw-menu,
    .second-nrw-lunch,
    .second-nrw-course {
        width: 980px;
    }

    ul.lcmenu {
        justify-content: center;
        margin-bottom: 40px;
    }

    ul.lcmenu li {
        padding: 0 20px;
        font-size: 17px;
    }

    ul.lcmenu li i {
        margin-right: 5px;
        vertical-align: 2px;
        font-size: 12px;
    }

    .second div.inner,
    .second-nrw div.inner {
        display: flex;
        padding-top: 25px;
        padding-bottom: 50px;
    }

    .second div.inner figure,
    .second-nrw div.inner figure {
        padding: 0 !important;
    }

    .second div.inner figure img,
    .second-nrw div.inner figure img {
        padding-right: 30px;
        width: 400px;
        height: auto;
    }

    .second div.inner p,
    .second-nrw div.inner p {
        padding: 0 !important;
    }

    .second figure,
    .second-nrw figure {
        padding-top: 30px;
        text-align: center;
    }

    .second p,
    .second-nrw p {
        padding-top: 40px;
        padding-bottom: 150px;
        width: 90%;
        margin: 0 auto;
        max-width: 750px;
    }

    .second-nrw-lunch p {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .second-nrw-course {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .pbn {
        padding-bottom: 0 !important;
    }

    .gallery-list {
        flex-wrap: wrap;
        justify-content: space-between;
        justify-content: center;
    }

    .gallery-list li {
        list-style: none;
        margin: 15px 15px 10px;
    }

    .gallery-list img {
        width: 160px;
        height: 160px;
        border-radius: 50%;
        object-fit: cover;
    }

    .gallery-list span {
        width: 160px;
        display: block;
        margin: 8px 0 0;
        text-align: center;
        font-size: 12px;
    }

    a[href^="tel:"] {
        pointer-events: none;
    }

    a {
        text-decoration: none;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    a:hover {
        opacity: 0.4;
        filter: alpha(opacity=60);
    }

    #google_translate {
        height: 28px;
        margin: auto;
        padding: 0 10px;
    }

    .skiptranslate {
        float: right;
    }

    .skiptranslate select {
        font-size: 10px;
    }

    .persist-header {
        color: var(--sub2-text-color);
        left: 0;
        line-height: 60px;
        top: -60px;
        width: 100%;
    }

    .persist-header ul {
        display: flex;
        margin: 0 auto;
        flex-wrap: wrap;
        justify-content: center;
    }

    .persist-header ul li {
        padding: 0 2vw;
        letter-spacing: 0.05em;
        font-size: 1.5vw;
    }

    .persist-header a {
        color: var(--sub2-text-color);
        background: none;
    }

    dl.shop-info dt {
        clear: both;
        float: left;
        font-weight: 700;
        padding: 10px 0 10px 2px;
        width: 37%;
        white-space: nowrap;
    }

    dl.shop-info dd {
        padding: 10px 0 10px 37%;
    }

    dl.shop-info dd:last-child {
        border-bottom: none;
    }

    dl.shop-info a {
        text-decoration: underline;
    }

    footer {
        padding: 25px 0 60px 0;
    }

    footer div.inner {
        margin: 0 auto;
        width: 90%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    footer p {
        font-size: 40px;
        font-weight: 700;
    }

    footer p i {
        display: inline-block;
        font-size: 27px;
        vertical-align: 4px;
    }

    footer small {
        margin-top: 30px;
        padding: 10px 0;
        font-size: 11px;
        text-align: center;
        display: block;
        color: var(--sub2-text-color);
    }

    footer small span {
        opacity: 0.7;
    }

    footer dl {
        max-width: 90%;
        margin: 15px auto 0;
        font-size: 13px;
    }

    footer dl a {
        text-decoration: none !important;
    }

    #page-top {
        font-size: 50px;
        bottom: 25px;
        right: 15px;
        line-height: 1;
    }
}

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

    .drawer-hamburger-icon,
    .drawer-hamburger-icon:after,
    .drawer-hamburger-icon:before,
    .drawer-nav {
        background-color: var(--main-text-color);
    }

    .btn,
    .kv_second h2 {
        text-align: center;
        font-family: Comfortaa, cursive;
        font-weight: 700;
        letter-spacing: 0.1em;
    }

    .pc,
    .persist-header {
        display: none;
    }

    .drawer-nav {
        font-family: Comfortaa, cursive;
        font-weight: 700;
        color: var(--sub2-text-color);
        z-index: 99999;
    }

    button {}

    button span {
        color: var(--sub2-text-color);
    }

    header {
        margin: 0 auto;
    }

    header h1 {
        text-align: center;
        padding: 0px 0 10px 0;
    }

    header h1 img {
        max-width: 200px;
        width: 140px;
        height: auto;
        margin-bottom: 0px;
    }

    .slick-slide.moving {
        -webkit-animation-name: scale;
        animation-name: scale;
        -webkit-animation-duration: 8s;
        animation-duration: 8s;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    .kv_slider {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 200px;
        width: 100%;
        margin-top: -20px;
    }

    .kv_second,
    .kv_second div {
        height: 140px;
    }

    .kv_second {
        background: url(../img/bg_kv_01.jpg) center no-repeat;
        background-size: cover;
        margin: 0px auto 0;
    }

    .kv_second h2 {
        font-size: 40px;
        line-height: 140px;
        color: var(--sub2-text-color);
        text-shadow: 0 0 5px var(--sub10-text-color);
    }

    .arrow {
        font-size: 32px;
        text-align: center;
        margin: 20px 0 50px;
    }

    .btn {
        font-size: 16px;
        border: 1px solid var(--sub3-text-color);
        margin: 0 auto;
        line-height: 1;
    }

    .btn a {
        display: block;
        /*		padding: 12px 0 17px;*/
        padding: 15px 0 15px;
    }

    .intro {
        padding: 0 20px 30px;
        text-align: center;
    }

    .intro h2 {
        font-size: 24px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .intro p {
        margin-bottom: 15px;
        line-height: 2;
    }

    .info h2,
    .menu h2,
    .reserve h2 {
        font-family: Comfortaa, cursive;
        line-height: 1;
        font-weight: 700;
        text-align: center;
    }

    .menu .txt {
        background: var(--sub4-text-color);
        padding: 30px 20px;
    }

    .menu h2 {
        font-size: 40px;
        margin-bottom: 20px;
    }

    .menu dl {
        margin-bottom: 15px;
        text-align: center;
    }

    .menu dl dt {
        font-size: 18px;
        font-weight: 700;
        text-align: center;
        margin-bottom: 10px;
    }

    .menu .bg4 {
        background: url(../img/course1.jpg) center no-repeat;
        background-size: cover;
        color: var(--sub2-text-color);
        padding: 60px 20px;
        position: relative;
    }

    .menu .bg4 > * {
        position: relative;
        z-index: 999;
        text-align: center;
    }

    .menu .bg4::before {
        content: "";
        background: var(--sub11-text-color);
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
    }

    .menu .bg4 .btn {
        border: solid 1px var(--sub2-text-color);
    }

    .menu .bg4 .btn a {}

    .info {
        padding: 50px 0 100px;
    }

    .info h2 {
        font-size: 40px;
        margin-bottom: 35px;
    }

    .info .btn {
        margin: 0px 20px;
    }

    .drawer-nav ul li:last-child,
    dl.shop-info a,
    footer p,
    footer small {
        font-family: "Open Sans", sans-serif;
    }

    .map {
        margin-bottom: 20px;
    }

    .gallery {
        margin: 0 20px !important;
    }

    .second,
    .second-nrw {
        margin: 30px 20px 40px;
    }

    .second,
    .second-nrw-menu,
    .second-nrw-lunch,
    .second-nrw-course {
        margin: 30px 14px 40px;
    }

    ul.lcmenu {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 30px;
    }

    ul.lcmenu li {
        padding: 0 10px 5px;
        font-size: 15px;
        margin-bottom: 15px;
    }

    ul.lcmenu li i {
        margin-right: 3px;
        vertical-align: 1px;
        font-size: 12px;
    }

    .second figure img,
    .second-nrw figure img {
        padding-top: 15px;
        width: 100%;
        height: 100%;
    }

    .second p,
    .second-nrw p {
        padding-top: 30px;
        padding-bottom: 60px;
    }

    .pbn {
        padding-bottom: 0 !important;
    }

    .gallery-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        justify-content: center;
    }

    .gallery-list li {
        list-style: none;
        margin: 8px;
    }

    .gallery-list img {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .gallery-list span {
        width: 70px;
        display: block;
        margin: 8px 0 0;
        text-align: center;
        font-size: 10px;
        line-height: 1.4;
    }

    #google_translate {
        margin: auto;
        padding: 2px;
        height: 30px;
    }

    .skiptranslate {
        float: left;
    }

    a {
        text-decoration: underline;
    }

    .drawer-nav ul li {
        border-bottom: 1px solid var(--sub11-text-color);
        background: #FEDD78;
    }

    .drawer-nav ul li:last-child a:before {
        content: "";
    }

    .drawer-nav ul li a {
        display: block;
        padding: 15px;
    }

    .drawer-nav ul li:last-child {
        border-bottom: none;
        font-size: 26px;
        line-height: 0.6;
        margin: 0 0 60px;
        text-align: center;
        font-weight: 700;
        padding-top: 20px;
        padding-bottom: 20px;
        background: #FEDD78;
    }

    .drawer-nav ul li:last-child span {
        font-size: 13px;
        color: #6A3906;
    }

    .drawer-nav ul li:last-child i {
        font-size: 16px;
        vertical-align: 3px;
    }

    dl.shop-info dd {
        padding: 0 10px 10px;
    }

    dl.shop-info dt {
        padding: 10px 10px 2px;
        clear: both;
        font-weight: 700;
    }

    dl.shop-info dd:last-child {
        border-bottom: none !important;
    }

    dl.shop-info a {
        text-decoration: underline;
        font-weight: 700;
    }

    footer {
        padding-top: 15px;
        font-size: 13px;
    }

    footer p {
        font-size: 36px;
        font-weight: 700;
        text-align: center;
    }

    footer p i {
        font-size: 23px !important;
        vertical-align: 4px;
    }

    footer small {
        padding: 10px 0;
        font-size: 11px;
        text-align: center;
        display: block;
        color: var(--sub2-text-color);
        letter-spacing: 0.06em;
    }

    footer small span {
        opacity: 0.6;
    }

    #social_share {
        margin: 0 auto 10px !important;
    }

    #page-top {
        display: block;
        position: fixed;
        z-index: 1;
        bottom: 25px;
        right: 10px;
        font-size: 50px;
        line-height: 1;
    }

    .fit {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 340px) {
    .info h2 {
        font-size: 36px;
    }
}

/*以下、メニューページ食べログ連携用CSS*/


/*以上、メニューページ食べログ連携用CSS*/

/*以下、メニューページRETTY連携用CSS*/
/* 共通 */


/*以上、メニューページRETTY連携用CSS*/

/* @media screen and (min-width: 768px) {
	form {
		padding: 70px 0 0 0;
		max-width: 1000px;
		margin: 0 auto;
	}

	form div {
		margin-bottom: 20px;
	}

	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 18px;
	}

	form select {
		padding: 20px;
		background: var(--sub2-text-color);
		border: #bbb solid 1px;
		border-radius: 3px;
	}

	form input,
	form textarea {
		width: calc(100% - 40px);
		padding: 10px 20px;
		background: var(--sub2-text-color);
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.5em;
	}

	form input[type="submit"] {
		border: 0px;
		width: 50%;
		background: #800000;
		border: 2px solid #444;
		color: var(--sub2-text-color);
		font-size: 26px;
		font-weight: 600;
		padding: 20px 0;
		margin: 0 25%;
	}
}

@media screen and (max-width: 767px) {
	form {
		padding: 30px 20px 0 20px;
	}

	form div {
		margin-bottom: 50px;
	}

	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
		font-size: 14px;
	}

	form select {
		padding: 20px;
		background: var(--sub2-text-color);
		border: #bbb solid 1px;
		border-radius: 3px;
	}

	form input,
	form textarea {
		max-width: 1000px;
		width: calc(100% - 20px);
		padding: 10px 10px;
		background: var(--sub2-text-color);
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.4em;
	}

	form input[type="submit"] {
		border: 0px;
		width: 90%;
		background: #800000;
		border: 2px solid #333;
		color: var(--sub2-text-color);
		font-size: 22px;
		font-weight: 600;
		padding: 16px 0;
		margin: 0 5%;
	}
} */

/*-------------------------
news
---------------------------*/


/* contact */
@media screen and (min-width: 768px) {
    form {
        padding: 70px 0 0 0;
        max-width: 1000px;
        margin: 0 auto;
    }

    form div {
        margin-bottom: 20px;
    }

    form div label {
        display: block;
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 18px;
    }

    form select {
        padding: 20px;
        background: var(--sub2-text-color);
        border: #bbb solid 1px;
        border-radius: 3px;
    }

    form input,
    form textarea {
        width: calc(100% - 40px);
        padding: 10px 20px;
        background: var(--sub2-text-color);
        border: #bbbbbb solid 1px;
        border-radius: 4px;
        font-size: 1.5em;
    }

    form input[type="submit"] {
        border: 0px;
        width: 50%;
        background: #800000;
        border: 2px solid #444;
        color: var(--sub2-text-color);
        font-size: 26px;
        font-weight: 600;
        padding: 20px 0;
        margin: 0 25%;
    }
}

@media screen and (max-width: 767px) {
    form {
        padding: 30px 20px 0 20px;
    }

    form div {
        margin-bottom: 50px;
    }

    form div label {
        display: block;
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 14px;
    }

    form select {
        padding: 20px;
        background: var(--sub2-text-color);
        border: #bbb solid 1px;
        border-radius: 3px;
    }

    form input,
    form textarea {
        max-width: 1000px;
        width: calc(100% - 20px);
        padding: 10px 10px;
        background: var(--sub2-text-color);
        border: #bbbbbb solid 1px;
        border-radius: 4px;
        font-size: 1.4em;
    }

    form input[type="submit"] {
        border: 0px;
        width: 90%;
        background: #800000;
        border: 2px solid #333;
        color: var(--sub2-text-color);
        font-size: 22px;
        font-weight: 600;
        padding: 16px 0;
        margin: 0 5%;
    }
}

.map {
    margin-top: 50px;
}

/*topページSNS埋め込み*/

.top_sns_share {
    text-align: center;
    display: flex;
    max-width: 980px;
    margin: 100px auto;
}

.top_sns_share_list {
    width: 30%;
    height: 500px;
    margin: auto;
    vertical-align: top;
}

.top_sns_share h2 {
    font-size: 32px;
    margin-bottom: 20px;
    font-family: Comfortaa, cursive;
    line-height: 1;
    font-weight: 700;
    text-align: center;
}

.top_sns_share_list-insta {
    width: 30%;
    height: 300px;
    margin: auto;
    vertical-align: top;
}

@media screen and (max-width: 767px) {
    .top_sns_share {
        display: block;
    }

    .top_sns_share_list {
        width: 100%;
    }

    .top_sns_share_list-insta {
        width: 100%;
    }

    .top_sns_share_list-insta img {
        display: block;
        width: 100%;
    }

    .top_sns_share h2 {
        font-size: 32px;
        margin: auto;
        margin-bottom: 20px;
    }
}

/*topページSNS埋め込み*/

/*予約バナー*/

@media screen and (min-width: 677px) {
    #op_btn {
        color: var(--sub2-text-color);
        letter-spacing: 0.05em;
        padding: 0;
        border: 0;
        outline: 0;
        vertical-align: baseline;
        background: 0 0;
        position: fixed !important;
        right: 0;
        top: 40vh;
        line-height: 1;
        margin: 0;
        z-index: 9999;
        font-size: 15px;

    }

    #op_btn a {
        display: block;
        color: var(--sub2-text-color);
        background: #a01000;
        padding: 30px 0;
        text-decoration: none;
        transition: all 0.4s;
        font-weight: bold;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        width: 50px;
        line-height: 50px;
    }
}

@media screen and (max-width: 676px) {
    #op_btn {
        position: fixed;
        left: 50%;
        bottom: 0px;
        width: 60%;
        writing-mode: unset;
        line-height: 1;
        z-index: 9999;
        font-size: 15px;
        text-align: center;
        transform: translateX(-50%);
        width: 100%;
    }

    #op_btn a {
        display: block;
        color: var(--sub2-text-color);
        background: #a01000;
        padding: 15px 0px;
        text-decoration: none;
    }

    #page-top {
        display: block;
        position: fixed;
        z-index: 1;
        bottom: 55px;
        right: 10px;
        line-height: 1;
        font-size: 40px;
    }

    footer small {
        padding: 10px 0 50px;
        font-size: 11px;
        text-align: center;
        display: block;
        color: var(--sub2-text-color);
        letter-spacing: 0.06em;
    }
}

/*予約バナー*/

/*TOP動画*/
.top_video {
    text-align: center;
    margin: auto;
    width: 800px;
    max-width: 100%;
}

.top_video video {
    max-width: 800px;
    width: 100%;
}

@media screen and (max-width: 676px) {
    .top_video {
        text-align: center;
        margin: auto;
        width: 600px;
        max-width: 100%;
    }

    .top_video video {
        max-width: 300px;
        width: 100%;
    }
}

.top_video {
    /*	margin: 100px auto 100px;*/
    margin: 70px auto 100px;
}

.top_video h2 {
    font-size: 40px;
    margin-bottom: 20px;
    font-family: Comfortaa, cursive;
    line-height: 1;
    font-weight: 700;
    text-align: center;
}

/*TOP動画*/

/*姉妹店*/

.access h2 {
    text-align: center;
    font-size: 40px;
    margin-bottom: 60px;
}

.access_stores h3 {
    text-align: left;
    font-size: 30px;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .access_stores h3 {
        width: 90%;
        margin: 0 auto 20px;
    }
}

@media screen and (max-width: 767px) {
    .access_stores h3 {
        font-size: 22px;
    }
}

.access_stores_img {
    text-align: center;
}

.access_stores_img img {
    text-align: center;
    width: 30%;
    margin: 5px auto 20px;
}

.access_stores .btn {
    margin: 50px auto !important;
}

.second .access_stores p {
    padding-top: 30px;
    padding-bottom: 30px;
}

@media screen and (max-width: 676px) {
    .access_stores_img img {
        text-align: center;
        width: 32%;
        margin: 5px auto 20px;
    }

    .access_stores .btn {
        margin: 50px auto !important;
    }
}

/*姉妹店*/

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

/*TOP予約カレンダー*/

.CMS-RESERVATION-CALENDAR {
    max-width: 960px;
    margin: 50px auto 40px;
    width: 90vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.cms_reservation__calendar {
    margin: auto;
}

.CSS.cms_reservation__calendar-options {
    width: 100%;
}

.CMS-RESERVATION-CALENDAR button {
    margin-top: 0px;
}

@media screen and (min-width: 768px) {
    .cms_reservation__calendar-date-list {
        width: 49% !important;
    }

    .cms_reservation__calendar-options {
        width: 300px !important;
    }
}

@media screen and (max-width: 767px) {
    .CMS-RESERVATION-CALENDAR {
        width: 100%;
        margin: 50px auto 40px;
        display: flex;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 374px) {
    .cms_reservation__calendar-date-list--cell {
        padding: 10px 1px !important;
    }

    .cms_reservation__calendar-date-list--date {
        font-size: 0.7em !important;
    }

    .js-resty-reservation-select-date {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/* iPhone12用 */
@media only screen and (max-width: 450px) and (-webkit-device-pixel-ratio: 3) {
    .cms_reservation__calendar-date-list--cell {
        padding: 10px 2px !important;
    }

    .cms_reservation__calendar-date-list--date {
        font-size: 1em !important;
    }

    .js-resty-reservation-select-date {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* iPhone11用 */
@media only screen and (max-width: 380px) {
    .cms_reservation__calendar-date-list--cell {
        padding: 10px 1px !important;
    }

    .cms_reservation__calendar-date-list--date {
        font-size: 0.8em !important;
    }

    .js-resty-reservation-select-date {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* .rstdtl-course-list__action-btn {
	display: none;
}

.rstdtl-course-list__course-title a {
	pointer-events: none;
}

.rstdtl-course-list__img-target {
	pointer-events: none;
}

.rstdtl-menu-lst__target {
	pointer-events: none;
}

.rstdtl-course-list__coupon-btn {
	display: none;
}

.tblg-coupon__btn {
	display: none;
}

.tblg-coupon__main {
	display: none;
} */

/* Google Translate Overrides対応 */
html,
body {
    min-height: 0 !important;
    height: auto !important;
    position: inherit !important;
}

.goog-logo-link {
    font-size: 9px !important;
}

.goog-te-gadget {
    font-size: 6px !important;
}

.container {
    width: 80%;
    margin: 0 auto;
}

form input[type="submit"] {
    transition: all 0.3s;
}

form input[type="submit"]:hover {
    cursor: pointer;
    opacity: 0.4;
}

@media screen and (max-width: 767px) {
    .top_sns_share_list-insta {
        height: auto;
    }

    .top_sns_share_list-insta a img {
        display: block;
        width: 50vw;
        margin: 0 auto;
    }
}

footer h1 {
    padding-left: 5%;
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    footer {
        padding-bottom: 100px;
    }

    footer h1 {
        padding-left: 0;
        margin: 0 auto;
        text-align: center;
    }

    .footer_logo {
        display: block;
        width: 40vw;
        margin: 10px auto 0 auto;
    }
}

.reserve h2 {
    font-size: 40px;
    margin-bottom: 20px;
}


/*スライダー見たまま編集可能css*/
.main {
    width: 100%;
    /* height: calc(100vh - 80px); */
    height: 48vw;
    position: relative;
    flex: 0 0 100%;
    max-width: 100%;
    order: 1;
}

#main-slider {
    width: 100%;
    /* height: calc(100vh - 80px); */
    height: 48vw;
    overflow: hidden;
    position: relative;
}

.slider {
    width: 100%;
    /* height: calc(100vh - 80px); */
    height: 48vw;
    position: absolute;
    top: 0;
    left: 0;
}

.slider img {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -300%;
    right: -300%;
    margin: auto;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .main {
        width: 100vw;
        height: 60vw;
    }

    #main-slider {
        height: 60vw;
    }

    .slider {
        height: 60vw;
    }

    .slider img {
        bottom: initial;
        width: 100%;
        height: 60vw;
        object-fit: cover;
    }

    .twitter-timeline {
        margin: auto;
    }

    .sns_twitter {
        margin-bottom: 100px;
    }
}

/*スライダー見たまま編集可能css*/

.thanx_btn a {
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0.08em;
    line-height: 1.8;
    font-size: 14px;
}

.top_insta {
    margin: 140px auto 160px;
}

.top_insta h2 {
    font-size: 40px;
    margin-bottom: 40px;
    font-family: Comfortaa, cursive;
    line-height: 1;
    font-weight: 700;
    text-align: center;
}

@media screen and (min-width: 768px) {
    dl.shop-info {
        width: 90%;
        margin: 0 auto;
    }
}

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

    .top_insta {
        margin: 100px 0 50px;
    }
}

/* インスタ連携用CSS */

.insta_wrap {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 20px;
}

.CMS-INSTAGRAM-LIST {
    display: flex;
    flex-wrap: wrap;
}

.CMS-INSTAGRAM-LIST a {
    display: inline-block;

    /* calc(100/横に並べたい枚数% - 左右の余白　*　余白の数) */

    /* ↓2枚並び */
    /* width: calc(50% - 10px * 1/2); */

    /* ↓3枚並び */
    width: calc(33.33333333333% - 10px * 2/3);

    /* ↓4枚並び */
    /* width: calc(25% - 10px * 3/4); */

    margin-right: 10px;
    margin-top: 10px;
}

/* nth-child(横並びの枚数) */

/* ↓2枚並びの時 */
/* .CMS-INSTAGRAM-LIST a:nth-child(2n) {
    margin-right: 0;
  }
  .CMS-INSTAGRAM-LIST a:nth-child(-n+2) {
    margin-right: 0;
  } */

/* ↓3枚並び */
.CMS-INSTAGRAM-LIST a:nth-child(3n) {
    margin-right: 0;
}

.CMS-INSTAGRAM-LIST a:nth-child(-n+3) {
    margin-top: 0;
}

/* ↓4枚並びの時 */
/* .CMS-INSTAGRAM-LIST a:nth-child(4n) {
    margin-right: 0;
  }
  .CMS-INSTAGRAM-LIST a:nth-child(-n+4) {
    margin-right: 0;
  } */

.CMS-INSTAGRAM-LIST a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.CMS-INSTAGRAM-LIST a:nth-of-type(7),
.CMS-INSTAGRAM-LIST a:nth-of-type(8),
.CMS-INSTAGRAM-LIST a:nth-of-type(9) {
    display: none;
}

/* インスタ連携用CSS */

.course-dtl__discount-title {
    display: none;
}

.ready {
    width: 100%;
    text-align: center;
    font-size: 2rem;
    padding: 50px 0;
}

.uberimg {
    width: 3vw;
    max-width: 30px;
    vertical-align: middle;
    padding-bottom: 5px;
}

.link-action-box {
    display: none;
}

.top_ct_img {
    width: 95%;
    max-width: 600px;
    text-align: center;
    margin: 0 auto 50px;
}

.top_ct_img img {
    width: 100%;
}

.menu_bt {
    width: 100%;
}

.menu_bt img {
    width: 100%;
}

.fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
}

.tblg-coupon-btn-wrap {
    display: none;
}

@media only screen and (max-width: 767px) {
    .uberimg {
        width: 25px;
        max-width: 30px;
        vertical-align: middle;
        padding-bottom: 5px;
    }

    .menu_bt {
        width: 95%;
        margin: auto;
    }


}

@media screen and (min-width: 768px) {
    .rstdtl-course-list__option {
        display: block !important;
    }
}

@media screen and (max-width: 768px) {
    .rstdtl-menu-lst__img {
        display: table-cell;
        padding: 20px 0px 0px 0;
        width: 60% !important;
        text-align: left !important;
    }

    .rstdtl-menu-lst__img img {
        width: 100% !important;
        height: auto;
    }

    .rstdtl-course-list__option {
        display: block !important;
    }
}

.menu_list li .head_tx + p {
    margin: 25px 0 30px;
    min-height: 255px;
}

.fixed_wrap a {
    text-decoration: none !important;
}

.course-dtl__coupon-btn {
    display: none;
}

.rstdtl-course-list__price-before {
    font-size: 1.1rem !important;
}
