@charset "utf-8";

@media only screen and (max-width:640px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    a[href*="tel:"] {
        pointer-events: auto;
        cursor: pointer;
    }

    #wrapper {
        min-height: auto;
        overflow: hidden;
        padding-bottom: 50px;
    }

    .contentsarea {
        width: 100%;
        margin: 0 auto;
        padding: 25px 0;
    }

    header {
        height: 60px;
        position: fixed;
        top: 0;
        z-index: 9998;
        padding: 0;
    }

    hgroup {
        width: 100%;
        position: relative;
    }

    .topheader {
        width: 100%;
        height: 60px;
        margin: 0 auto;
        padding: 10px;
        font-size: 0;
    }

    .topheader .headermenu {
        width: 30px;
        top: 25px;
        left: 20px;
    }

    .headernavi li:first-child {
        margin-right: 10px;
    }

    .headernavi li:first-child a {
        font-size: 14px;
    }

    .headernavi li img {
        height: 40px;
    }

    .headernavi_pullmenu {
        display: none;
        top: 0;
        left: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.9);
        padding: 30px;
        text-align: center;
        font-size: 0;
    }

    .headernavi_pullmenu li {
        display: block;
        width: 88%;
        border-right: none;
        border-bottom: 1px solid #000;
        margin: 10px auto;
    }

    .headernavi_pullmenu li:first-child {
        border-left: none;
        border-bottom: 1px solid #000;
        margin-top: 50px;
    }

    .headernavi_pullmenu li:nth-child(7) {
        margin-bottom: 50px;
    }

    .headernavi_pullmenu li a {
        font-size: 16px;
        text-align: justify;
        padding: 8px 0;
    }

    .headernavi_pullmenu .close {
        width: 20px;
        top: 20px;
        left: 20px;
    }

    .headernavi_subpullmenu {
        position: static;
        top: 0;
        overflow: hidden;
    }

    .headernavi_subpullmenu li {
        height: 35px;
        margin-left: 30px;
        overflow: hidden;
    }

    .headernavi_subpullmenu li:first-child {
        margin-top: 0;
    }

    .headernavi_pullmenu li.subpull {
        overflow: auto;
        height: auto;
    }

    .headernavi_subpullmenu li a {
        display: block;
        width: 100%;
        font-size: 14px;
        text-align: justify;
        position: relative;
        padding: 5px 0;
        padding-left: 25px;
    }

    .slick-dots {
        bottom: -20px;
    }

    .slick-dots li {
        width: 20px;
    }

    .slick-dots li button:before {
        font-size: 20px;
    }

    .slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    .slick-arrow:before {
        content: "" !important;
        width: 100% !important;
        height: 100% !important;
        position: absolute;
        top: 0;
        left: 0;
    }

    .slick-prev, .slick-next {
        top: 55%;
        width: 30px;
        height: 70px;
    }

    .slick-next {
        right: -24px;
    }

    .slick-next:before {
        background: url(../img/svg/sp/index-menu-slider-2.svg) !important;
        background-size: cover !important;
    }

    .slick-prev:before {
        background: url(../img/svg/sp/index-menu-slider-1.svg) !important;
        background-size: cover !important;
    }

    footer {
        padding: 0;
    }

    footer #centerfooter {
        width: 95%;
        margin: 0 auto;
    }

    footer .copy {
        margin-top: 30px;
    }

    h1.titlecontents {
        margin-bottom: 20px;
    }

    .bottomlink {
        bottom: 8%;
        right: 10px;
        width: 60px;
    }

    .contentsbox {
        width: 100% !important;
        margin: 0 auto;
        vertical-align: top;
    }

    #spmain {
        width: 100%;
        position: relative;
    }

    #spmain .mainslider {
        height: 500px;
    }

    #spmain .submain {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        margin: auto;
        width: 70%;
        z-index: 9997;
    }

    #spmain .submain img {
        width: 100%;
    }

    .scrollbox {
    position: absolute;
        bottom: -8%;
    /* transform: translateY(-8%) translateX(-50%);
    -webkit-transform: translateY(-8%) translateX(-50%); */
    margin: auto;
    width: 50px;
    z-index: 9997;
    overflow: hidden;
    padding-bottom: 110px;
    }

    #concept .scrollbox,
    #news .scrollbox,
    #menu .scrollbox,
    #drink .scrollbox,
    #interior .scrollbox {
        display: none;
    }

    #news img.pc {
        display: none;
    }

    #access {
        margin-bottom: -90px;
    }

    #concept.contentsarea section,
    #access.contentsarea section {
        top: 15%;
    }

    #concept .conceptbox {
        text-decoration: none;
    }

    #concept .fixbgimg {
        top: -90px;
        left: -5px;
        z-index: 1;
    }

    #news .fixbgimg {
        top: -50px;
        left: auto;
        right: -10px;
        z-index: 0;
    }

    #access .fixbgimg {
        top: -80px;
        left: auto;
        right: -10px;
        z-index: 0;
    }

    #menu .menumainbox .menusubbox {
        top: 15%;
        left: 10%;
        bottom: auto;
    }

    #menu .blockimg .blocktitle {
        position: unset;
        text-align: center;
        width: 100%;
        margin: 0 auto;
        background: none;
        color: #000;
        padding: 10px 0 0 !important;
    }

    #menu .blockimg .blocktitle::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        display: inline-block;
        width: 60px;
        height: 1px;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background-color: black;
        border-radius: 2px;
    }

    #drink .drinkmainbox .drinksubbox {
        top: 15%;
        left: 0%;
        bottom: auto;
    }

    #interior .fixbgimg {
        top: -70px;
        left: -5px;
        z-index: 0;
    }

    #access .map {
        margin: 0 auto;
    }

    #access .map img {}

    #reservation .reservebtn {
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        border: 1px solid #fff;
        display: block;
        width: 88%;
        margin: 0 auto;
    }

    #modal .modal {
        width: 100%;
    }

    #modal .modal__content {
        width: 88%;
        padding: 100px 0 0;
    }

    #submain .menumainbox .menusubbox, #submain .drinkmainbox .drinksubbox {
        position: unset;
        left: 0;
        bottom: 0;
        margin-bottom: 0;
		margin-top: -80px;
    }

    .menulist li::before {
        width: 6px;
        height: 6px;
        bottom: -30%;
        left: 50%;
    }

    .menulist li a::before {
        font-size: 18px;
    }

    .menulist li a::after {
        font-size: 18px;
    }

    .subpage #menu,
    .subpage #season,
    .subpage #course,
    .subpage #lunch {
        margin-top: 70px !important;
        padding-top: -70px !important;
    }

#menu,
#season,
#course,
#lunch {
  padding-top:70px;
  margin-top:-70px;
}