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

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

/* top */
.top{
    background: url(../img/top.png) center center no-repeat;
    background-size: cover;
    height: 776px;
    position: relative;
}
.top-logo{
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -79px 0 0 -104px;
}

.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.is-active{
    left: 0;
}

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

.btn-gnav.is-active span:first-child{
    transform-origin: left;
    width: 45px;
    transform: translate(-8px,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(-20px,7px) rotate(45deg);   
}

.gnav{
    background-color: rgba(35,45,48,0);
    transition: background-color 0.5s ease-out;
}

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

.gnav-inner{
    width: 800px;
    margin: 0 auto;
    position: relative;
}

.gnav-menu{
    width: 718px;
    margin-left: 82px;
    padding: 52px 0;
    opacity: 0;
    z-index: 0;
    transition: opacity 0.5s ease-out;
}

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

.gnav-menu li{
    display: inline-block;
    vertical-align: top;
    margin-right: 77px
}

.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-txt{
    font-size: 12px;
    line-height: 3.4;
    margin-bottom: 50px;
    opacity: 0;
    transition: opacity 1500ms ease-out;  
}

.section-txt.is-active {
    opacity: 1;
}

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

.hover{
    transition: opacity 1000ms ease-out;
}

.hover:hover{
    opacity: 0.8;
}

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

.no-padding{
    padding: 0;
}

.photolist{
    list-style: none;
}

.photolist li{
    float: left;
}

.photolist li img{
    vertical-align: top;
}

.onecolumn{
    width: 25%;
    overflow: hidden;
}

.twocolumn{
    width: 50%;
    overflow: hidden;
}

/*.anime{
    transition: all 1000ms ease-out 300ms;
}*/

.anime01{
    transform: translateX(-100%);
    transition: all 600ms ease-out;
}

.anime01.is-active{
    transform: translateX(0px);
}

.anime02{
    transform: translateX(100%);
    transition: all 600ms ease-out 200ms;
}

.anime02.is-active{
    transform: translateX(0px);
}

.anime03{
    transform: translateY(-100%);
    transition: all 1200ms ease-out 300ms;
}

.anime03.is-active{
    transform: translateY(0px);
}

.anime04{
    transform: translateX(100%);
    transition: all 1200ms ease-out 100ms;
}

.anime04.is-active{
    transform: translateX(0px);
}

.anime05{
    transform: translateY(100%);
    transition: all 1400ms ease-out;
}

.anime05.is-active{
    transform: translateY(0px);
}

.anime06{
    transform: translateX(-100%);
    transition: all 600ms ease-out 200ms;
}

.anime06.is-active{
    transform: translateX(0px);
}

.anime07{
    transform: translateX(100%);
    transition: all 1000ms ease-out 400ms;
}

.anime07.is-active{
    transform: translateX(0px);
}

.anime08{
    transform: translateX(100%);
    transition: all 1000ms ease-out 400ms;
}

.anime08.is-active{
    transform: translateX(0px);
}



/* greeting */
.owner p{
    margin-bottom: 10px;
}
.owner p:last-child{
    margin-bottom: 0;
}

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

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

/*reservation*/
.opentime{
    margin-bottom: 50px;
}

.opentime dt{
    display: inline;
    padding: 5px 0;
    padding-left: 20px;
}

.opentime dd{
    display: inline;
    
}

.opentime-lunch{
    background: url(../img/lunch.png) left center no-repeat;    
}

.opentime-dinner{
    background: url(../img/dinner.png) left center no-repeat; 
    margin-left: 30px;
}

/*page top（トップへ戻る）*/
.pagetop{
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
    text-align: right;
    display: none;
}

.pagetop-btn{
    position: relative;
    right: 40px;
}

.pagetop-inner{
    position: fixed;
    bottom: 150px;
    display: inline-block;
}
    
/*footer*/
.footer{
    background-color: #232b30;
    padding: 100px 0;
    color: #fff;
    text-align: center;
    letter-spacing: 0.2em;
}

/*ユーティリティ系クラス*/
.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

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