@charset "utf-8";
/*======================



common.css
ヘッダ・フッタなどの共通スタイルや、
汎用的に使用するclassなどを記載



======================*/
/*========
基本設定
=============*/
body {
  font-size:16px;
  color:#000000;
  line-height:1.4;
  margin:0;
  font-family: 'Sawarabi Mincho', sans-serif;
}
a {
  text-decoration:none;
  color:#000;
  font-family: 'Noto Serif JP', sans-serif;
}
a:hover {
  text-decoration:none;
  filter:alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
  text-decoration:none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a img:hover {
  filter:alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
  text-decoration:none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.pcexclusive {display:block;}
.spexclusive {display:none;}
/*-----ページ・コンテンツ幅-----*/
.wrapper {
  width:80%;
  margin:0 auto;
}
/*-----余白系-----*/
.mt10 {margin-top:10px;}
.mt40 {margin-top:40px;}
.ml1em {margin-left:1em;}
.mr1em {margin-right:1em;}
.mr20 {margin-right:20px;}
.mb05 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px!important;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb45 {margin-bottom:45px;}
.mb50 {margin-bottom:50px!important;}
.mb55 {margin-bottom:55px;}
.mb60 {margin-bottom:60px;}
.mb65 {margin-bottom:65px;}
.mb70 {margin-bottom:70px;}
.mb80 {margin-bottom:80px;}
.mb95 {margin-bottom:95px;}
.mb190 {margin-bottom:190px;}
.mb1em {margin-bottom:1em;}
.pl1em {padding-left:1em;}
.pr1em {padding-right:1em;}
.pr2em {padding-right:2em;}
.pl30 {padding-left:30px;}
.pt05 {padding-top:5px;}
.pt13 {padding-top:13px;}
.pt20 {padding-top:20px;}
.pt30 {padding-top:30px;}
.pt35 {padding-top:35px;}
.pt45 {padding-top:45px;}
.pt60 {padding-top:60px;}
.pb35 {padding-bottom:35px;}
.pb40 {padding-bottom:40px;}
.pb60 {padding-bottom:60px;}
/*-----float-----*/
.fl {float:left;}
.fr {float:right;}
.clear{clear:both;}
/*------フォント系------*/
.fwb {font-weight:bold;}
.tac {text-align:center!important;}
.tal {text-align:left;}
.tac {text-align:center;}
.tar {text-align:right;}
.fc_red {color:#ff0000;}
.fc_red2 {color:#cc0000;}
.fc_red3 {color:#D74B28;}
.fc_blue {color:#061D8A;}
.fc_white {color:#ffffff;}
.fs80 {font-size:80%;}

/*--見出し--*/
.h2_ttl {
  background:#2c4b79;
  text-align:center;
  font-size:2rem;
  color:#ffffff;
  padding:1em 0;
  margin-bottom:80px;
}
.h3_catch {
  text-align:center;
  font-size:1.6rem;
  margin-bottom:40px;
  line-height:1.6;
}
/*========
header
=============*/
/*#header {
  position:fixed;
}*/

/*========
mainvisual
=============*/
#mainvis {
  text-align:center;
  background-size:cover;
  padding:70px 0 0;
  height:100vh;
  min-height:1000px;
  position:relative;
}
#mainvis h1 {
  font-size:1.8rem;
  color:#ffffff;
}
#mainvis h1 span {
  display:block;
}
#mainvis h1 span.maincatch {
  margin-bottom:50px;
}
#mainvis h1 span.mainlogo {
  margin-bottom:70px;
}
#mainvis .shopinfo {
  color:#ffffff;
/*  margin:0 auto 40px;*/
  margin:0 auto;
  text-align:left;
/*  width:60%*/
  display:inline-block;
}
#mainvis .shopinfo dt {
  float:left;
  width:14%;
  margin-left:16%;
}
#mainvis .shopinfo dd {
  float:left;
  width:70%;
  margin-bottom:10px;
}
#mainvis .reserve_box a {
  margin-bottom:20px;
}

#mainvis p {
  position:relative;
}
.sbtn p a {
  color:#ffffff;
  font-size:1.0rem;
}
.sbtn p a span {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-left: -15px;
  border: 1px solid #fff;
  border-radius: 100%;
  box-sizing: border-box;
}
.sbtn a span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 12px;
  height: 12px;
  margin: -10px 0 0 -6px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.sbtn a span::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 30px;
  height: 30px;
  box-shadow: 0 0 0 0 rgba(255,255,255,.1);
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: sdb 3s infinite;
  animation: sdb 3s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255,255,255,.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/*========
３つの和
=============*/
.contents_txtbox {
  background:rgba(255,255,255,0.8);
  padding:20px;
  width:50%;
}
.contents_txtbox.right {
  margin-left:auto;
}
.contents_txtbox h2 {
  font-size:1.8rem;
  margin-bottom:20px;
}
/*contents01
===============*/
#contents01 {
  background:#222222 url(../img/gallary_02.jpg) no-repeat center top;
  background-size:cover;
  padding:160px 0 0;
  height:100vh;
  min-height:400px;
}
/*contents02
===============*/
#contents02 {
  background:#222222 url(../img/bg02.jpg) no-repeat center top;
  background-size:cover;
  padding:160px 0 0;
  height:100vh;
  min-height:400px;
}
/*contents03
===============*/
#contents03 {
  background:#222222 url(../img/img_talk.jpg) no-repeat center top;
  background-size:cover;
  padding:160px 0 0;
  height:100vh;
  min-height:400px;
}

/*========
お品書き
=============*/
/*slide
===============*/
#menu .slider div {
  height:600px;
}
#menu .slider div.menuslide {
  position:relative;
}
#menu .slider div.menuslide .txtbox {
  position:absolute;
  bottom:0;
  width:100%;
  background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(0,0,0,0.9));
  height:110px;
  padding:24px;
  color:#ffffff;
}
#menu .slider div.menuslide .txtbox h4 {
  font-size:1.4rem;
  margin-bottom:10px;
}
#menu .bx-wrapper {
  position:relative;
  margin-bottom:80px;
}
#menu .bx-wrapper .bx-prev {
  display:inline-block;
  background:rgba(0,0,0,0.6);
  color:#ffffff;
  font-size:3rem;
  padding:0 13px 5px;
  line-height:1;
  border-radius:100%;
  position:absolute;
  left:-2%;
  top:45%;
}
#menu .bx-wrapper .bx-next {
  display:inline-block;
  background:rgba(0,0,0,0.6);
  color:#ffffff;
  font-size:3rem;
  padding:0 13px 5px;
  line-height:1;
  border-radius:100%;
  position:absolute;
  right:-2%;
  top:45%;
}
/*--スライド画像--*/
#menu .slider div.menuslideimg_01 {
  background:url(../img/cuisine_01.jpg) no-repeat center 50%;
  background-size:cover;
}
#menu .slider div.menuslideimg_02 {
  background:url(../img/cuisine_02.jpg) no-repeat center 50%;
  background-size:cover;
}
/*--スライド画像ここまで--*/

#menu .menubox,
#access .menubox {
  margin-bottom:80px;
  text-align:center;
  font-size:1.2rem;
  line-height:1.7;
}
#menu .menubox h3,
#access .menubox h3 {
  font-size:1.6rem;
  position: relative;
  display: inline-block;
  padding: 0 100px;
  margin-bottom:20px;
  color:#947b19;
}
#menu .menubox h3:before,
#menu .menubox h3:after,
#access .menubox h3:before,
#access .menubox h3:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 1px;
  background-color:#947b19;
}

#menu .menubox h3:before,
#access .menubox h3:before {
  left:0;
}
#menu .menubox h3:after,
#access .menubox h3:after {
  right: 0;
}
/*#menu .menubox dl dt {
  font-weight:bold;
}
#menu .menubox dl dd {
  margin-bottom:20px;
}*/
#menu .course dt {
  font-weight:bold;
}
#menu .course dd {
  margin-bottom:20px;
}
#menu .menubox ul li {
  font-weight:bold;
  margin-bottom:20px;
}
#menu .menubox .drinkmenu {
  width:54%;
  margin:0 auto;
}
#menu .menubox .drinkmenu dt,
#menu .menubox .drinkmenu dd {
  margin-bottom:20px;
}
#menu .menubox .drinkmenu dt {
  float:left;
  width:68%;
  text-align:left;
}
#menu .menubox .drinkmenu dd {
  float:right;
  width:32%;
  text-align:right;
}
.menuaside {
  text-align:center;
  margin-bottom:100px;
}
.menuaside p {
  margin-bottom:3px;
}
.menuaside dl {
  width:35%;
  margin:0 auto;
}
.menuaside dt {
  float:left;
  width:45%;
  text-align:right;
}
.menuaside dd {
  float:right;
  width:45%;
  text-align:left;
}
/*========
ギャラリー
=============*/
#gallery ul {
  display:flex;
  margin-bottom:100px;
  flex-wrap: wrap;
}
#gallery ul li {
  width:33.3%;
}
#gallery ul li img {
  width:100%;
}


/*========
アクセス
=============*/
#access .gmap {
  margin:0 auto 50px;
  width:80%;
}
#access .menubox h4 {
  color:#2c4b79;
  font-size:1.4rem;
}

/*営業時間
----------------*/
.business_hour dt {
  font-weight:bold;
}
.business_hour dd {
  margin-bottom:20px;
}

/*========
SNS
=============*/
#sns {
  width:80%;
  text-align:center;
  border:5px solid #2c4b79;
  border-radius:20px;
  padding:50px;
  margin:0 auto;
}
#sns h2 {
  font-size:2em;
  margin-bottom:20px;
}
#sns p {
  margin-bottom:30px;
}
#sns ul li {
  display:inline-block;
  width:80px;
  margin:0 5px;
}
#sns ul li img {
  width:100%;
}

/*========
reserve
=============*/
.reserve_box {
}
.reserve_box a {
  display:block;
  text-align:center;
  color:#fff;
  background:#947b19;
  width:30%;
  padding:20px;
  margin:0 auto 80px;
  border:3px solid #fff;
  border-radius:30px;
}

/*========
footer
=============*/
#footer {
  background:#2c4b79;
  color:#ffffff;
  padding:20px 0;
  margin-top:150px;
  text-align:center;
  font-size:0.8rem;
}




@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}