*{
    /* pading分の余白を含めたうえで幅を指定してくれる */
    box-sizing: border-box; 
}

html{
    height: 100%;
}

body{
    height: 100%;
    font-size: 12px;
    /*font-family: 'Noto Sans JP', 'メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','sans-serif';*/
    font-family: 'リュウミン R-KL';
}

hede{
    height: 100%;
}

header{
    height: 100%;
}

img{
    max-width: 80%;
}

/* top */
.top{
    background: url(../img/top_.png) center center no-repeat;
    background-size: cover;
    height: 100%;
    position: relative;
}
.top-logo{
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -68px 25px 0px -102px;
    z-index: 1;
}

.btn-gnav{
    width: 35px;
    display: block;
    height: 25px;
    margin-left: -13px;
    position: absolute;
    left: 50%;
    top: 47px;
    z-index: 1;
    transition: left 0.5s ease-out;
}

.btn-gnav span{
    transition: all 0.5s ease-out; 
}

.btn-gnav.is-active span:first-child{
    transform-origin: left;
    width: 45px;
    transform: translate(0px,27px) rotate(-45deg);
}

.btn-gnav.is-active span:nth-child(2){
    opacity: 0;   
}

.btn-gnav.is-active span:last-child{
    transform-origin: right;
    width: 45px;
    transform: translate(-12px,7px) rotate(45deg);  
}

.gnav{
    background-color: rgba(35,45,48,0);
    transition: all 0.5s ease-out;
    height: 0;
    z-index: 2;
    position: relative;
}

.gnav.is-active{
    background-color: rgba(35,45,48,0.5);
    height: 100%;
}

.gnav-inner{
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.gnav-menu{
    padding: 30% 0;
    opacity: 0;
    z-index: 0;
    transition: opacity 0.5s ease-out;
    text-align: center;
}

.gnav-menu.is-active{
    opacity: 1;
    z-index: 1;
}

.gnav-menu li{
    display: block;
    vertical-align: top;
    margin: 50px 0;
}

.gnav-menu li:last-child{
    margin-right: 0;
}

.btn-gnav span{
    display: block;
    width: 35px;
    height: 5px;
    background-color: #fff;
    margin-bottom: 5px;
}

.top-scroll{
    position: absolute;
    bottom: -22px;
    left: 50%;
    margin-left: -22px;
}

/* 共通section */
.section{
    background-color: #fffcf4;
    padding: 65px 0;
    text-align: center;
}
.section-inner{
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 30px;
}

.section-ttl{
    margin-bottom: 45px;
}

.section-subttl{
    font-size: 13px;
    margin-bottom: 15px;
    line-height: 1.7;
}

.section-txt{
    font-size: 12px;
    line-height: 3.4;
    text-align: left;
    width: 80%;
    margin: 0 auto 45px auto;
}

.section-subtxt{
    text-align: center;
    line-height: 1.7;
}

.btn-img{
    margin-bottom: 10px;
}

.lh-s{
    line-height: 1.7; /*行間の高さ調整用 lh=line-height*/
    text-align: left;
}

.no-padding{
    padding: 0;
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

.mgb0{   /*マージンボトム0*/
    margin-bottom: 0;
}

/* greeting */
.owner p{
    margin-bottom: 10px;
}
.owner p:last-child{
    margin-bottom: 0;
    width: 80%;
    margin: 0 auto;
    padding: 0 23px;
}

/*menu*/
.section.section-menu{
    background-color: #b2dbf5;
}

.menu-box{
    margin: 35px 0;
}

.menu-box-ttl{
    margin-bottom: 15px;
}

.menu-box-time{
    font-size: 13px;
    margin-bottom: 20px;
}

.menu-box-list dt{
    margin-bottom: 2px;
}

.menu-box-list dd {
    margin-bottom: 20px;
    line-height: 1.5;
}

.menu-box-list dd span {
    font-size: 10px;
}

.menu-box-txt{
    margin-bottom: 20px;
}

.menu-img{
    margin-top: 50px;
}

/*access*/
.section.section-access{
    background-color: #fdfb6b;
}

.section-subttl-wide{
    margin-bottom: 30px;
}

/*reservation*/
.opentime{
    list-style-type: none;
    text-align: left;
    margin: 25px auto;
    width: 220px;
}

.opentime li{
     margin-bottom: 10px;
}

.opentime img{
     vertical-align: middle;
}

/*page top（トップへ戻る）*/
.pagetop{
    position: fixed;
    right: 10px;
    bottom: 30px;
    display: none;
}

.pagetop-btn{
   
}
    
/*footer*/
.footer{
    background-color: #232b30;
    padding: 50px 0;
    color: #fff;
    text-align: center;
    letter-spacing: 0.2em;
}



@media (orientation: landscape) {
    .gnav-menu {
        padding: 20% 0;
        opacity: 0;
        z-index: 0;
        transition: opacity 0.5s ease-out;
        text-align: center;
    }
    .gnav-menu.is-active{
        opacity: 1;
        z-index: 1;
    }
    .gnav-menu li{
        display: inline-block;
        vertical-align: top;
        width: 17.5%;
    }
    .top-logo{
        margin: -35px 25px 0px -121px;
}
    .hidden-land{
        display: none;
    }
}