@charset "utf-8";
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html,body{
	margin: 0px;
	padding: 0px;
	width: 100%;
    height: 100%;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-feature-settings : "palt";
	overflow: hidden;
	color: #fff;
	}
span {
    margin: 0;
    padding: 0;
}
p {
	font-size: 16px;
	font-weight: normal;
	text-align: justify left;
    line-height: 1.7;
    letter-spacing: 0.15em;
}

.pc {
    display: block;
    }
.sp {
    display: none;
}
.brsp {
    display: none;
}
/* 画面全体の設定 */
#loader_wrap {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
top: 0;
background: #1d1496;
z-index: 20000;
}
/* ローディングアニメーションの設定 */
.loader {
    width: 200px;
    height: 66px;
}
/* ローディング終了後 */
.loaded {
    opacity: 0;
    visibility: hidden;
}
#pageDown {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	animation: sdb 2s infinite;
    width: 100%;
    height: 38px;
    text-align: center;
	position: absolute;
    z-index: 1000;
	margin: 0;
	padding: 0;
    color: #fff;
}
#pageDown2 {
    bottom: 100px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	animation: sdb 2s infinite;
    width: 100%;
    height: 38px;
    text-align: center;
	position: absolute;
    z-index: 1000;
	margin: 0;
	padding: 0;
    color: #fff;
}
.down {
    display: inline-flex;
    transform: rotate(90deg);
} 
.down::after {
  content: '';
  width: 25px;
  height: 7px;
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: skew(45deg);
}
a:link p.scroll {
    margin: 0;
	font-size: 13px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    line-height: 1;
}
a:active p.scroll , a:visited p.scroll {
    color: #fff;
}
@keyframes sdb {
  0% {
    transform: translate(-50%, 0);
  }
  20% {
    transform: translate(-50%, 10px);
  }
  40% {
    transform: translate(-50%, 0);
  }
}
@keyframes sdb2 {
  0% {
    transform: translate(-50%, 0);
  }
  20% {
    transform: translate(-50%, 10px);
  }
  40% {
    transform: translate(-50%, 0);
  }
}

#wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
}
.wrap {
    width: 85%;
    margin: 0 auto;
}
.section {
    overflow: hidden;
}
.page-top {
    background: url("../images/back_top.jpg") 100% 100% no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-concept {
    background: url("../images/back_concept.jpg") 0 0 no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-concept2 {
    background: url("../images/back_concept2.jpg") 50% 100% no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-menu {
    background: url("../images/back_menu.jpg") 0 100% no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-menu2 {
    background: url("../images/back_menu2.jpg") 50% 100% no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-info {
    background: url("../images/back_info.jpg") 0 0 no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.page-calendar {
    background: url("../images/back_calendar.jpg") 50% 100% no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
}
.page-map {
    width: 100%;
    height: 100%;
}
.home {
    position: relative;
    height: 100%;
}
.concept , .menu , .info {
    padding: 70px 0 0 0;
    position: relative;
}
.calendar {
    margin: 0;
    text-align: center;
    height: 100%;
    position: relative;
}
.map {
    margin: 0;
    height: 100%;
    position: relative;
}
header {
    width: 100%;
    padding: 18px 0 15px 0;
    z-index: 10000;
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
}
header .wrap {
    width: 85%;
    margin: 0 auto;
}
header .wrap .tab li {
    margin: 0 20px 0 0;
    height: 46px;
}
.tab li.rogo img {
    height: 46px;
    margin: 0;
}
.shopHours a , em.close , em.open , em.error {
	font-size: 13px;
    color: #222;
	font-weight: normal;
	text-align: left;
    letter-spacing: 0.1em;
    line-height: 68px;
    font-family: 'Montserrat', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.shopHours a:link{
	color: #222;
}
.shopHours a:hover{
	text-decoration: underline;
}
#nav {
    float: right;
}
#nav li {
    float: left;
    margin: 15px 0 5px 20px;
    height: 26px;
}
#nav li a img {
    height: 26px;
}
#nav li a p {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    color: #222;
    margin: 10px 0 0 0;
    padding: 0;
    line-height: 1;
}
.steam {
    position: absolute;
    z-index: 98;
    bottom: 40px;
    left: 55%;
    -webkit-animation: steam_Move 18s infinite linear;
    animation: steam_Move 18s infinite linear;
    transition: all 1s;
}
.move {
    position: absolute;
    z-index: 99;
    bottom: 40px;
    left: 55%;
    -webkit-animation: steam_Move 15s infinite linear;
    animation: steam_Move 15s infinite linear;
    transition: all 0s;
}
.steam2 {
    display: none;
}
@keyframes steam_Move {
    0% {
        filter: blur(10px);
        transform: rotateY(0deg);
        transform: scale(1, 1);
        opacity: 0;
        top: 599px;
    }
    33% {
        transform: rotateY(40deg);
        transform: scale(0.6, 1.2);
        opacity: 0.5;        
    }
    66% {
        transform: rotateY(2deg);
        transform: scaleY(1.2, 0.4);
        opacity: 0.4;        
    }
    80% {
        opacity: 0.4;
    }
    100% {
        filter: blur(35px);
        transform: rotateY(50deg);
        transform: scaleY(1.4, 1.2);
        opacity: 0;
        top: 0;
    }
}
 @-webkit-keyframes steam_Move {
    0% {
        filter: blur(10px);
        transform: rotateY(0deg);
        transform: scale(1, 1);
        opacity: 0;
        top: 599px;
    }
    33% {
        transform: rotateY(40deg);
        transform: scale(0.6, 1.2);
        opacity: 0.5;        
    }
    66% {
        transform: rotateY(2deg);
        transform: scaleY(1.2, 0.4);
        opacity: 0.4;        
    }
    80% {
        opacity: 0.4;
    }
    100% {
        filter: blur(35px);
        transform: rotateY(50deg);
        transform: scaleY(1.4, 1.2);
        opacity: 0;
        top: 0;
    }
}
h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 68px;
    letter-spacing: 0.05em;
    margin: 0 0 30px 0;
}
section p {
    margin: 20px 0 0 0;
}
table {
    margin: 0 0 25px 0;
}
table p {
    margin: 0;
}
table p.reserved {
    margin: 25px 0 0 0;
}
.menu a:link p , .menu a:hover p {
    color: #fff;
}
p.caution {
	font-size: 75%;
	font-style: normal;
    line-height: 1.7;
    text-indent: -1em;
    padding-left: 1em;
}
table td {
	padding: 8px 0 0 0;
}
table td.padding {
    padding: 8px 20px 0 0;
}
table td.padding2 {
    padding: 30px 0 0 0;
}
table td.padding2 img{
    margin: 0 15px 0 0;
}
table td p.info-em {
	font-size: 0.8rem;
	margin: 15px 0;
}
img.menu-mail {
    margin: 0 10px 0 0;
    height: 15px;
}
h2.hito {
    font-family: 'Montserrat', sans-serif;
    font-size: 68px;
    letter-spacing: 0.05em;
    margin: 0 0 -5px 0;
}
h2.mokugei {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 50px;
	font-weight: bold;
    letter-spacing: 0.05em;
    margin: 50px 0 0 0;
}
p.takibibbq a {
	color: #fff;
}
p.takibibbq a:hover {
	color: #fff;
	text-decoration: underline;
	opacity: 100%;
}
p.takibi {
    font-family: 'Montserrat', 'Yu Gothic',sans-serif;
	line-height: 1.7;
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 5px;
}
p.takibibbq {
	line-height: 1.7;
    font-family: 'Montserrat', sans-serif;
}
.calendar iframe {
    border: none;
    width: 60%;
    height: 65%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.map iframe {
    border: none;
    width: 100%;
    height: 100%;
}
#footer{
    padding: 20px 0 18px 0;
    text-align:center;
    width: 100%;
    background: #fff;
    z-index: 19999;
    position: absolute;
    bottom: 0;
    left: 0;
}

#footer p{
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    letter-spacing: 0;
    color: #222;
    margin: 0;
    padding: 0;
}

/*topに戻るボタン*/
a.goto {
    display: inline-block;
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    line-height: 48px;
    text-align: center;
    background: none;
    border: 1px solid #bbb;
    outline: none;
    color: #bbb;
    z-index: 20000;
}
a.goto::before,a.goto::after,
a.goto2::before,a.goto2::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
a.goto,a.goto::before,a.goto::after,
a.goto2,a.goto2::before,a.goto2::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .5s;
  transition: all .5s;
}
a.goto:hover {
    background: #eee;
    border-color: #eee;
    color: #222;
    opacity: 1;
}
/*topに戻るボタン-MAP-*/
a.goto2 {
    display: inline-block;
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    line-height: 48px;
    text-align: center;
    background: #222;
    border: 1px solid #222;
    outline: none;
    color: #fff;
    z-index: 20000;
}
a.goto2:hover {
    background: #eee;
    border-color: #eee;
    color: #222;
    opacity: 1;
}