iframe{
-webkit-overflow-scrolling: touch;
overflow: auto;
}
/*BASE*/
body{
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  background-color: #f5f5ea;
}
footer{background-color: #000;}
.foot-area{
  color: #fff;
}
.icon-schedule{
  background-image:url(../img/icon-schedule.png);
  font-size:24px;
}
a{text-decoration: none;}
.max-img{max-width: 100%;}
.shop-info-box a{text-decoration: underline;color: #333;}
/*////////////////////////////////////
min 768px styles
////////////////////////////////////*/
@media screen and (min-width: 768px) {
/*common*/
#topcontrol{display: none;}
html{
  overflow: auto;}
body{
  overflow-x: hidden;
  position: relative;
}
p{
  font-size:16px;
  line-height: 1.4em;
  margin:0 0 10px 0;
}
.tit-line{
  text-align: center;
  margin-bottom: 45px;
}
/*section*/
section{
  width: 1200px;
  margin:0 auto;
}

/*header*/
header{
  background: url(../img/top1.jpg) center center / cover no-repeat fixed;
  height: 780px;
  position: relative;
}
nav ul li a{
-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
  }
nav ul li a:hover{
  color: #f65151;
}
.sns-area{
  background-image:url(../img/sns-box.png);
  width: 235px;
  position: absolute;
  right: -200px;
  top: 0;
}
.sns-content{
  margin:0 0 0 50px;
  display: table;
}
.sns-content a{
  display: table-cell;
  width: 60px;
}
header h1{
  position: absolute;
  left: 50px;
  top: 185px;
}
header nav{
  position: absolute;
  top:300px;
  left: 50px;
}
header a{
  color: #fff;
  font-size: 24px;
}
header nav ul li{
  margin:20px 0 0 0;
}
.reserve-btn-area{
  position: absolute;
  top: 580px;
  right: 50px;
  background: url(../img/reserve-btn-on.png)no-repeat;
}
.reserve-btn-area a img#reserve-btn{
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
.reserve-btn-area a img#reserve-btn:hover{
opacity: 0.6;
}

/*news*/
#menu01{
  width: 490px;
  margin:30px auto;
}
#menu01 h1{
  margin:0 0 20px 0;
}
/*concept*/
#menu02{margin-top: 100px;}
.main-concept{
  height: 1500px;
  width: 1000px;
  margin:0 auto;
  position: relative;
}
#menu02 h1{
  position: absolute;
  top:0;
  left: -120px;
}

.block-01{
  position: absolute;
  top: 220px;
  }
.block-02{
  position: absolute;
  top: 400px;
  right: 0;
}
.block-03{
  position: absolute;
  top: 680px;
  width: 340px;
  line-height: 1.4em;
}
.block-04{
  position: absolute;
  top: 710px;
  right: 180px;
}
.block-05{
  position: absolute;
  top: 870px;
  right: 60px;
}
.block-06{
  position: absolute;
  top:950px;
  left: 220px;
}
.block-07{
  position: absolute;
  top: 1200px;
  left: 440px;
  z-index: 1;
}
.block-08{
  position: absolute;
  top: 1040px;
  right: -60px;
}
.sub-concept{
  width: 550px;
  margin:0 auto;
}
.sub-concept h2{
  text-align: center;
  margin:0 0 60px 0;
}
.concept-left{
  float: left;
}
.concept-right{
  margin:0 0 0 300px;
}
/*staff*/
#menu03{
  width: 1200px;
  margin:200px auto;
}
#menu03 a{color: #333;}
#menu03 a:hover{
  filter:alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
#menu03 h1{
  text-align: center;
  margin:0 0 60px 0;
}
.staff-box{
  width: 250px;
  float: left;
  margin:0 25px 0 25px;
}
.staff-box p{
  font-size:14px;
  height: 77px;
}
.staff-box img{
  display: block;
  margin:10px auto;
}
/*MENU*/
#menu04{
  width: 1000px;
  margin:0 auto;
  position: relative;
}
.menu-random{
  height: 1150px;
margin-bottom: 200px;
}
#menu04 h1{text-align: center;}
#menu04 h2{
  text-align: center;
  margin:10px 0 30px 0;
}
#menu04 ul{list-style: none;}
.menu-box-radius{
  border-radius: 10px;        /* CSS3è‰æ¡ˆ */
  -webkit-border-radius: 10px;    /* Safari,Google Chromeç”¨ */
  -moz-border-radius: 10px;   /* Firefoxç”¨ */
  width: 340px;
  background-color: #fdfdfb;
  padding:10px 70px 30px 70px;
}
.menu-box-radius ul li{margin:4px 0 4px 0;}
.menu-box01{
  position: absolute;
  top: 250px;
}
.menu-box02{
  position: absolute;
  right: 0;
  top:170px;
  width: 380px;
  padding:10px 40px 30px 40px;
}
.menu-box03{
  position: absolute;
  top:470px;
  left: -60px;
}
.menu-box04{
  position: absolute;
  left: 510px;
  top:470px;
}
.menu-box05{
  position: absolute;
  top: 660px;
  left:640px;
}
.menu-box06{
  position: absolute;
  left: 280px;
  top: 840px;
}
.menu-box07{
  position: absolute;
  right: 0;
  bottom: 0;
}
/*Shop Info*/
#menu05 h1{
  text-align: center;
  margin:0 0 60px 0;
}
.ggmap {
margin: 0 -500%;,padding: 0 500%;,width: 100%;
position: relative;
padding-bottom: 36.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
pointer-events: none;
}
.shop-info-box{
  width: 1000px;
  margin:20px auto 60px auto;
}
.shop-info-box h2{
  text-align: center;
  padding:50px 0 20px 0;
  border-bottom: 1px #333 solid;
  font-size: 30px;
  font-weight: 100;
}
.info-left{
  float: left;
  width: 530px;
  padding:20px 0 0 0;
}
.info-cell-box{
  display: table;
  margin-bottom: 20px;
  }
.info-cell-box h3{
  display: table-cell;
  width: 160px;
}
.info-cell-box p{
  display: table-cell;
  line-height: 1.4em;
}
.info-right{  padding:20px 0 0 0;}

/*footer*/
.foot-area{
  position: relative;
  height: 190px;
}
footer p{
  margin: 0;
}
.footer-left{float: left;}
.footer-right{padding-left: 260px;}
.footer-first-box{
  position: absolute;
  bottom: 40px;
  left: 60px;
  width: 620px;
}
.footer-second-box{
  position: absolute;
  right: 60px;
  top: 20px;
}
.footer-second-box p{
  margin:30px 0 10px 0;
}
.foot-sns-area,.sphone-concept{display: none;}
.gotop{text-align: right;}
}

/*////////////////////////////////////
max 768px styles
////////////////////////////////////*/
@media screen and (max-width: 768px) {
/*common*/
html{overflow-x: hidden;}
body{
  overflow-x: hidden;
}
.img-responsive{
  display: block;
  width: 100% \9;
  max-width: 100%;
  height: auto;
}
p{
  font-size:14px;
  line-height: 1.4em;
  margin:0 0 10px 0;
}
.tit-line{
  text-align: center;
  margin-bottom: 45px;
}
/*section*/
section{
  width: 98%;
  margin:0 auto;
}

/*header*/
header{
  background-image:url(../img/top1.jpg);
  background-size: cover;
  height: 290px;
}
.sns-area{
  background-image:url(../img/sns-box.png);
  width: 235px;
  position: absolute;
  right: 0;
  top: 0;
}
.sns-content,.reserve-btn-area{
  display: none;
}
header h1,nav{
padding: 20px 0 0 10px;
}
header a{
  color: #fff;
  font-size: 16px;
}
header nav ul li{
  margin:10px 0 0 0;
}
/*news*/
#menu01 h1{
  margin:15px 0 10px 0;
}
/*concept*/
#menu02{margin-top: 40px;}
.main-concept{
display: none;
}
.sphone-concept{
  margin-bottom: 15px;
}
.sphone-concept img{
  max-width: 100%;
  margin: 0px auto;
}
.sub-concept{
  margin:0 0 40px 0;
}
.sub-concept h2{
  text-align: center;
  margin:0 0 20px 0;
}
.sub-concept img{
  display: block;
  margin:0 auto 10px auto;
}
/*staff*/
#menu03 a{color: #333;}
#menu03 h1{
  text-align: center;
  margin:0 0 20px 0;
}
.staff-box{
  max-width: 250px;
  margin:20px auto;
}
/*menu*/
#menu04{margin:20px 0 0 0;}
#menu04 h1{
  text-align: center;
}
#menu04 h2{
  text-align: center;
  margin:8px 0 15px 0;
  font-size:16px;
  line-height: 1.4em;
}
#menu04 ul{
  list-style: none;
  font-size:14px;
}
.menu-box-radius{
  border-radius: 10px;        /* CSS3è‰æ¡ˆ */
  -webkit-border-radius: 10px;    /* Safari,Google Chromeç”¨ */
  -moz-border-radius: 10px;   /* Firefoxç”¨ */
  background-color: #fdfdfb;
  padding:2px 10px 3px 10px;
  width: 90%;
  margin:15px auto;
}
.menu-box-radius ul li{margin:4px 0 4px 0;}
.menu-box07{margin-bottom: 20px;}
/*shop info*/
#menu05 h1{
  text-align: center;
  margin-bottom: 15px;
}
.ggmap {
margin: 0 -500%;,padding: 0 500%;,width: 100%;
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.shop-info-box{
  width: 90%;
  margin:0 auto;
}
.shop-info-box h2{
  text-align: center;
  padding:50px 0 20px 0;
  border-bottom: 1px #333 solid;
}
.shop-info-box img{
  max-width: 100%;
  display: block;
  margin:0 auto;
}
.info-left{
  padding:20px 0 0 0;
}
.info-cell-box{
  display: table;
  margin-bottom: 20px;
  }
.info-cell-box h3{
  display: table-cell;
  width: 160px;
}
.info-cell-box p{
  display: table-cell;
  line-height: 1.4em;
}
.info-right{  padding:20px 0 20px 0;}
/*footer*/
footer{text-align: center;}
.foot-area img{
  display: block;
  max-width: 100%;
  margin:10px auto;
}
.footer-second-box p a{display: none;}
.footer-second-box p{margin:0;}
.foot-sns-area{
  display: table;
  margin:0 auto;
}
.foot-sns-area a{
  display: table-cell;
  width: 30%;
}
br.sphone-none{display: none;}
}

