html {overflow: auto;}
html.wf-loading {
	opacity: 0;
	transition: all .3s ease;
}
html.wf-inactive,
html.wf-active {
	opacity: 1;
}
body {font-family:"YakuHanJP",'Zen Kaku Gothic New', "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;font-size: 16px;color:#000;background: #fff;line-height: 1.8;font-weight: 200;}
.scroll-prevent {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
img {width: 100%;height: auto;}

.prlx { background-position-y: 0%; }

/*flexbox*/
.fbox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}
.fb-center {justify-content: center;}
.fb-between {justify-content: space-between;}


/*リンク*/
a {color:#000;text-decoration: none; transition: opacity .3s ease 0s;}
a:hover {opacity: 0.7}
/*見出し*/

h1 {
    margin:0;
    font-size: 12px;
    font-weight: 200;
    line-height: 1;
}
h2 {
    font-size: 28px;
margin-bottom: 80px;
text-align: center;
font-weight: 200;
}
h3 {
    font-size: 24px;
    margin: 0px 0 40px;
    line-height: 1.6;
    font-weight: 200;
}
h4 {
    font-size: 24px ;
    font-weight: 300;
    line-height: 1.5;
}
h5 {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
    font-weight: normal;
}
p {margin-bottom: 30px;text-align: justify;}
.sp {display: none;}
.tbbr {display: none;}
.spbr {display: none;}


/*リスト・テーブル*/
table {width: 100%;margin: 60px 0;}
td,th {
    padding:  22px 10px 22px;
    border-bottom: solid 1px #c1c1c1;
    line-height: 1.5;
}
th {
    text-align: left;
    width: 25%;
    vertical-align: top;
    font-size: 16px;
    color: #060E5C;
    font-weight: 500;
}
td {width:70%}
dl{display:flex;flex-wrap: wrap;margin-bottom: 20px;width: 100%;}
dt {width: 50%;}
dd {
    width: 50%;
    text-align: right;
    margin: 0;
}

/*カラム設定*/
.wrapper {overflow: hidden;}
.container {padding: 0 40px;margin:0 auto;}
.con-l {max-width: 1180px;}
.con-m {max-width: 1090px;}
.con-s {width: 940px;}

.logo {
    position: absolute;
    width: 217px;
    right: 40px;
    top: 40px;
    z-index: 10;
}
.logo-back {
    position: fixed;
    left: 50px!important;
    top: 50px!important;
    z-index: 5;
    height: 200px!important;
    overflow: initial!important;
}
.logo-back img{
    width: 136px;
}
.main-v {
    margin-bottom: 100px;
    position: relative;
    z-index: 7;
    background: #fff;
}
nav {
    position: fixed!important;
    top: auto!important;
    left: 50px!important;
    overflow: hidden!important;
    height: 200px!important;
    z-index: 10;
    font-size: 18px;
    bottom: 20px;
}
nav li{
    margin-bottom: 0px;
}
nav li::after{
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    background: #000;
}
nav li:last-child::after{
    display: none;
}

#slider-main img {
    height: 100vh;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.title {
    font-family: 'Oswald', sans-serif;
    font-size: 27px;
    text-align: center;
    font-weight: lighter;
    margin-bottom: 80px;
}
.en {
    font-family: 'Oswald', sans-serif;
    color: #808080;
    letter-spacing: 0.08em;
}
.lead-tx {
    text-align: center;
    margin-bottom: 150px;
}
#concept .item {
    width: 48%;
}
#concept .item img{
    margin-bottom: 8%;
}
#concept .item img.small{
    width: 80%;
}
#concept .item:first-child img.small{
    margin-left: auto;
    display: block;
}
.concept-main {
    background: url(./images/concept.png);
    height: 36vw;
    background-size: cover;
    margin: 100px 0;
    position: relative;
}

#menu .food {
    width: 66%;
    font-size: 14px;
} 
#menu .food .item{
    width: 45%;
} 
#menu .food .item:first-child{
    margin-right: 12%;
}
#menu .food .item:nth-child(4),#menu .food .item:nth-child(5){
    margin-top: 25px;
}
.course {
    margin-bottom: 30px;
}
#menu .drink {
    width: 33%;
    font-size: 14px;
}
#menu .drink .item{
    width:  100%;
}
.menu-list {
    border-left: solid 1px #707070;
    padding-left: 40px;
}
h3.title {
    font-size: 20px;
    text-align: left;
    margin-bottom: 10px;
}
.kome {
    font-size: 12px;
    margin: 50px 0 0;
    text-align: center;
}
.menu-main, .about-main {
    margin: 100px 0;
}
.menu-main img, .about-main img{
    max-height: 680px;
    object-fit: cover;
    font-family: "object-fit: cover;";
    object-position: center;
    height: 40vw;
}
.menu-main .item, .about-main .item{
    width: 50%;
}
.btn {
    background: #404040;
    border: solid 1px #707070;
    width: 400px;
    margin: 30px auto 0;
    text-align: center;
}
.btn a{
    display: block;
    color: #fff;
    padding: 10px;
}
.btn-yoyaku {
    background: #fff;
    border: solid 1px #707070;
    width: 400px;
    margin: 15px auto 0;
    text-align: center;
}
.btn-yoyaku a{
    display: block;
    padding: 10px;
}
.profile-area .item {
    width: 48%;
}
.profile {
    border-left: solid 1px #707070;
    padding: 20px 20px 20px 40px;
    margin-bottom: 30px;
    font-size: 14px;
    height: 210px;
}
.name {font-size: 20px;}
.name-en {
    font-size: 12px;
    margin-bottom: 20px;
}
.shop-area .item {
    width: 48%;
}
.shopinfo {
    border-left: solid 1px #707070;
    padding: 20px 20px 20px 40px;
    margin-bottom: 30px;
    font-size: 14px;
}
.map iframe {
    height: 353px;
}
.contact {
    border: solid 1px #707070;
    margin-bottom: 20px;
    align-items: center;
    line-height: 1.2;
}
.contact a{
    padding: 15px;
}
.contact .fbox{
    align-items: center;
}

.contact .tx{
    padding-left: 40px;
    padding-right: 15px;
}
.shopinfo {
    height: 280px;

}
.shopinfo .tel a, .shopinfo .yoyaku a {
    display: block;
    text-align: center;
}
.shopinfo .yoyaku a {
    padding: 18px;
}
.shop-area .item:first-child .shopinfo {
    line-height: 2;
}
.shopinfo .tx-yoyaku {
    text-align: center;
    margin-bottom: 10px;
}
.tel img {
    width: 16px;
    margin-right: 10px;
}
.insta a{
    padding: 11px 15px;
}
.insta img {
    width: 25px;
    margin-right: 10px;
    position: relative;
    top: 2px;
}
.num {
    font-size: 20px;
    text-align: center;
}
.copy {
    font-size: 14px;
    text-align: center;
    margin: 50px 0 30px;
}
.white a{color: #fff;}
.white li::after{background: #fff;}


@media (max-width: 1024px) {
    .pcbr {display: none;}
    .tbbr {display: block;}
    nav {
        left: 20px!important;
    }
    .menu-main img, .about-main img {
        height: 40vw;
    }
    #menu .food {
        width: 100%;
    }
    #menu .drink {
        width: 100%;
        margin-top: 50px;
    }
    #menu .drink .item {
        width: 40%;
    }
    #menu .food .item {
        width: 49%;
    }
    .contact .tx {
        padding-left: 0px;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
        padding-right: 0;
    }
    .num {
        font-size: 20px;
        width: 100%;
        text-align: center;
    }
    .profile {
        padding: 2vw 0px 2vw 3vw;
        height: 25vw;
        font-size: 1.6vw;
    }
    .shopinfo {
        height: 320px;
        padding: 2vw 0px 2vw 3vw;
        font-size: 1.6vw;
    }
    .map iframe {
        height: 29.5vw;
    }
    .insta a{padding: 15px;}
}
@media (max-width: 480px) {
    .sp {display: block;}
    .spbr {display: block;}
    body {
        font-size: 15px;
    }
    .container {
        padding: 0 6vw;
    }
    .logo-back {display: none;}
    .nav-area {
        opacity: 0;
        position: fixed;
        width: 80%;
        height: 100%;
        top: 0;
        background: #fff;
        display: block;
        transform: translateX(200%);
        transition: all .4s;
        z-index: 90;
        padding: 0;
    }
    nav {
        position:static!important;
        font-size: 18px;
    }
    nav ul {
        width: 75px;
        margin: 30vw auto 15vw;
    }
    nav li a {
        color: #000!important;
    }
    nav li::after {
        background: #000!important;
    }
    /*メニューボタン*/
    .sp-btn {
        display: block;
        cursor: pointer;
        width: 30px;
        height: 26px!important;
        cursor: pointer;
        z-index: 10100;
        text-align: center;
        position: fixed;
        right: 15px!important;
        top: 15px!important;
        left: auto!important;
    }
    .hbmenu {
        position: relative;
        width: 30px;
        height: 26px;
        cursor: pointer;
    }
    .hbmenu, .hbmenu span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .hbmenu span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #000;
    }
    .white .hbmenu span {
        background-color: #fff;
    }
    .hbmenu span:nth-of-type(1) {
        top: 3px;
    }
    .hbmenu span:nth-of-type(2) {
        top: 14px;
    }
    .hbmenu span:nth-of-type(3) {
        bottom: 0px;
    }
        
    .active .hbmenu span:nth-of-type(1) {
        background-color: #000!important;
        top: 0px;
        animation: active-menu-bar04-01 .75s forwards;
    }
    @keyframes active-menu-bar04-01 {
        0% {
            transform: translateY(0) rotate(0);
        }
        50% {
            transform: translateY(15px) rotate(0);
        }
        100% {
            transform: translateY(14px) rotate(35deg);
        }
    }
    .active .hbmenu span:nth-of-type(2) {
        background-color: #000!important;
        opacity: 0;
        animation: none;
    }
    .active .hbmenu span:nth-of-type(3) {
        background-color: #000!important;
        bottom: 1px;
        animation: active-menu-bar04-03 .75s forwards;
    }
    @keyframes active-menu-bar04-03 {
        0% {
            transform: translateY(0) rotate(0);
        }
        50% {
            transform: translateY(-7px) rotate(0);
        }
        100% {
            transform: translateY(-9px) rotate(-35deg);
        }
    }
    
    /*  メニューアクティブ時  */
    .nav-area.open {
        opacity: 1;
        z-index: 90;
        transform: translateX(25%);
        box-shadow: 0px 0px 8px #ccc;
    }
    .menu-contact {text-align: center;}
    .menu-contact a {color: #000!important;}
    .menu-tel {margin-bottom: 10vw;}
    .menu-tel img {
        width: 13px;
        margin-right: 5px;
        position: relative;
        top: -6px;
    }
    .menu-insta img{
        width: 21px;
        margin-right: 5px;
        position: relative;
        top: -5px;
    }

    .logo {
        top: 32vh;
        width: 42.5vw;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .main-v {
        margin-bottom: 15vw;
    }
    #slider-main img {
        height: 65vh;
    }
    h2 {
        margin-bottom: 10vw;
        font-size: 5vw;
    }
    .title {
        margin-bottom: 10vw;
        font-size: 6vw;
    }
    .lead-tx {
        margin-bottom: 15vw;
        font-size: 3.8vw;
    }
    #concept .fbox {
        width: 94vw;
        margin-left: -2.8vw;
    }
    .concept-main {
        height: 60vw;
        margin: 15vw 0;
        background-position: center;
        background-size: 160%;
    }
    #menu .food .item {
        width: 100%;
    }
    .menu-list {
        border-left: solid 1px #707070;
        padding-left: 5vw;
    }
    #menu .food .item:first-child {
        margin-right: 0%;
    }
    #menu .food .item {
        margin-right: 0%;
    }
    #menu .food, #menu .drink {
        font-size: 3.5vw;
    }
    #menu .food .item:last-child {
        margin-top: 0;
    }
    #menu .drink .item {
        width: 100%;
    }
    .menu-main .item, .about-main .item {
        width: 100%;
    }
    .menu-main img, .about-main img {
        height: auto;
    }
    .btn {
        width: 100%;
    }
    .btn-yoyaku {
        width: 100%;
    }
    .profile-area .item {
        width: 100%;
    }
    .profile-area .item:first-child {
        margin-bottom: 40px;
    }
    .profile {
        height: auto;
        font-size: 3.2vw;
    }
    h3.title {
        font-size: 4.5vw;
    }
    .name {
        font-size: 4.5vw;
    }
    .shop-area .item {
        width: 100%;
    }
    .shop-area .item:first-child {
        margin-bottom: 40px;
    }
    .shopinfo {
        height: auto;
        font-size: 3.2vw;
    }
    .map iframe {
        height: 70vw;
    }
}