@charset "utf-8";

/*
Theme Name: Original Theme
Author: Matsuzaki Mika
Description: オリジナルテーマ
Version: 1.0
*/

/* << INDEX >> ----------------------------------------------------------------
*
* @ 基本定義
* @ サイト共通設定
* @ ヘッダー
* @ フッター
* @ コンテンツ
* @ メイン
*
* -------------------------------------------------------------------------- */

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ 基本定義
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* @ Webフォント設定
---------------------------------------------------------------------------- */
i {
 margin-right: 5px; 
}
.awesome {
  font-family: 'FontAwesome';
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opensans {
  text-transform: uppercase;
  font-family: 'Open Sans', sans-serif;
}
.ubuntu {
  font-family: 'Ubuntu', sans-serif;
}

/* @ Normalize.css調整（原則として改変禁止）
---------------------------------------------------------------------------- */
/* >>> 日本語フォント対応 */
html,
body {
  margin: 0;
  font-family: "Yu Gothic","YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-text-size-adjust: 100%;
}
/* >>> 禁則処理 */
p,li,dt,dd,th,td,pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: strict;
  word-break: strict;
}
/* >>> フルードイメージ対応 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
p {
  margin: 1.5em 0;
}

/* @ テキスト見出し設定
---------------------------------------------------------------------------- */
h1 { /* 24px */
  font-size: 1.5em;
  line-height: 1.75;
}
h2 { /* 26px */
  font-size: 1.625em;
  line-height: 1.75;
  margin: 0;
}

/* @ 見出し設定
---------------------------------------------------------------------------- */
h1 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
}
h2 {
  color: #76323f;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
}

/* @ リンク設定
---------------------------------------------------------------------------- */
a {
  color: #444;
  text-decoration: none;
  outline: none;
}
a:hover {
  color: #444;
  text-decoration: underline;
}
a {
  color: #444;
  text-decoration: none;
  outline: none;
}
/* @ その他
---------------------------------------------------------------------------- */
body {
  color: #444;
  background-color: #fff;
}
strong,b,table th {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
figure {
  margin: 0;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ サイト共通設定
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.wrap {
  box-sizing: border-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 1200px) {
  .wrap {
    padding: 0 20px;
  }
}

/* @ アイコンスタイル
----------------------------------------------------------------------------- */
.extlink:after {
  margin-left: 10px;
  content: '\f08e';
  font-family: 'FontAwesome';
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* @ ページトップ
----------------------------------------------------------------------------- */
#pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 15px;
  z-index: 8000;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ ヘッダー
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
header #header-navi {
  background-color: #141c3b;
  color: #fff;
}
#header-navi+div.wrap.clearfix{
  position: relative;
}
header ul.menu-navi {
  position: absolute;
  top: 50%;
  right: 0%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
  -webkit- transform: translateY(-50%) translateX(0%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-flow: row nowrap;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1200px) {
  header ul.menu-navi {
    right: 1%;
  }
}
header ul.menu-navi li {
  display: inline-block;
  padding: 0 20px;
  border-right: 1px solid #212121;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
}
header ul.menu-navi li:first-of-type {
  border-left: 1px solid #212121;
}
#nav_toggle{
	display: none;
}

/* @ ロゴ
---------------------------------------------------------------------------- */
header #header-logo {
  float: left;
}
header #header-logo a:hover {
  text-decoration: none;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ ヘッダー（767px以下）
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ コンテンツ
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}

p.txt_phone,
p.txt_adress {
  display: inline-block;
  margin: 5px;
}
p.txt_phone a,
p.txt_adress a {
  color: #fff;
}

/* @ キーイメージ
---------------------------------------------------------------------------- */
.keyimg-w1920 {
  display: block;
}
.keyimg-w1030 {
  display: none;
}
.keyimg-w640 {
  display: none;
}
@media screen and (max-width: 1030px) {
  .keyimg-w1920 {
    display: none;
  }
  .keyimg-w1030 {
    display: block;
  }
  .keyimg-w640 {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .keyimg-w1920 {
    display: none;
  }
  .keyimg-w1030 {
    display: none;
  }
  .keyimg-w640 {
    display: block;
  }
}

/* @ キャッチ部分
---------------------------------------------------------------------------- */
article.catch {
  background-color: #141c3b;
  color: #fff;
  text-align: center;
  padding: 50px 0;
  background-image: url(../image/index-catch_bg.png);
  background-repeat: no-repeat;
  background-position: 80% 55%;
}
@media screen and (max-width: 980px) {
  article.catch {
    padding-left: 30px;
    padding-right: 30px;
  }
}
article.catch p {
  margin: 0;
}
article.catch p.txt-large {
  font-size: 1.625em;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (max-width: 980px) {
  article.catch p.txt-large {
    font-size: 1.375em;
  }
}

/* @ 料理について
---------------------------------------------------------------------------- */
article#about {
  padding: 50px 0;
}
article#about .wrap .flex-box {
  display: flex;
}
article#about .flex-box {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
article#about .flex-box {
  margin-bottom: 50px;
}
}
article#about .flex-box:last-of-type {
  margin-bottom: 0;
}
article#about .wrap .flex-box .col2:first-of-type {
  margin-right: 30px;
}
article#about .wrap .flex-box .col2 h2 {
  display: inline-block;
  margin-top: px;
}
@media screen and (max-width: 768px) {
  article#about .wrap .flex-box .col2 h2 {
    font-size: 1.375em;
    margin-top: 30px;
  }
}
article#about .wrap .flex-box .col2 img {
  width: 360px;
}
article#about .wrap .flex-box .col2:last-of-type {
  width: calc( 100% - 390px );
}
@media screen and (max-width: 768px) {
  article#about .wrap .flex-box {
    flex-flow: column;
    padding: 0 15px;
    box-sizing: border-box;
  }
  article#about .flex-box:first-of-type {
      width: 100%;
  }
  article#about .wrap .flex-box .col2 {
    width: 100%!important;
    text-align: center;
  }
  article#about .wrap .flex-box .col2 img {
    width: 100%;
    max-width: 400px;
  }
  article#about .wrap .flex-box .col2 p {
    text-align: left;
  }
}
.attention {
    border: solid 1px #c33852;
    padding: 16px;
    font-size: 14px;
    color: #c33852;
}
.attention p {
  margin: 0;
}

/* @ 季節のイベント
---------------------------------------------------------------------------- */
article#event {
  text-align: center;
  padding: 50px 0 90px;
  background-image: url(../image/event-bg.jpg);
  background-repeat: repeat;
  box-sizing: border-box;
}
@media screen and (max-width: 980px) {
  article#event h2+p {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 980px) {
  article#event h2 {
    font-size: 1.375em;
  }
}

/* @ スライダー
---------------------------------------------------------------------------- */
.carousel-cell {
  width: 70%;
  margin-right: 10px;
  background: #fff;
  padding: 20px;
}
.carousel-cell img {
  width: 360px;
  float: left;
  margin-right: 30px;
}
.carousel-cell .box-text {
  text-align: left;
}
.carousel-cell .box-text p {
  margin: 0 0 10px;
}
.carousel-cell .box-text p.txt-large {
  width: calc( 100% - 390px );
  display: inline-block;
  font-size: 1.375em;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
  margin-top: 0px;
  margin-bottom: 20px;
  border-bottom: 1px solid #212121;
}
.small-img fugre a img {
    max-width: 100px;
    margin-right: 10px;
}
@media screen and (max-width: 980px) {
  .carousel-cell {
    width: 360px;
    margin-right: 10px;
  }
  .carousel-cell img {
    float: none;
    margin-right: 0;
  }
  .carousel-cell .box-text p.txt-large {
    width: 100%;
    display: block;
    margin-top: 15px;
  }
}

/* @ お酒について
---------------------------------------------------------------------------- */
article#osake {
  text-align: center;
  padding: 50px 0 50px;
  background-image: url(../image/osake-bg.jpg);
  background-repeat: repeat;
  box-sizing: border-box;
}
@media screen and (max-width: 980px) {
  article#osake h2+p {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 980px) {
  article#osake h2 {
    font-size: 1.375em;
  }
}
article#osake .flex_cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px;
  -webkit-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around;
}
@media screen and (min-width: 768px) {
  .col4 {
    width: calc((100% - 15px * 3) / 4);
    margin: 0 10px 15px 0;
  }
  .col4:nth-of-type(4n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  article#osake .flex_cols {
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
  }
  .col4 {
    width: calc((100% - 15px) / 2);
    margin: 0 5px 10px 0;
  }
  .col4:nth-of-type(2n) {
    margin-right: 0;
  }
}

/* @ 店舗情報
---------------------------------------------------------------------------- */
article#access {
  padding: 50px 0;
}
article#access h2 {
  color: #fff;
  background-color: #76323f;
  font-size: 1.375em;
  line-height: 1.75;
  font-family: "Yu Gothic","YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 500;
  padding: 8px 0 8px 12px;
  margin-bottom: 20px;
}
.gmap {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 40%;
}
@media screen and (max-width: 780px) {
  .gmap {
    padding-top: 60%;
  }
}
/*
@media screen and (max-width: 640px) {
  .gmap {
    padding-top: 80%;
  }
}
*/
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
article#access .flex-box {
  display: flex;
}
article#access .flex-box .col2 {
  width: 50%;
  display: flex;
}
article#access .flex-box .col2 p strong {
  display: inline-block;
  width: 100px;
}
@media screen and (max-width: 980px) {
  article#access .flex-box {
    flex-flow: column;
    box-sizing: border-box;
  } 
  article#access .flex-box .col2 {
    width: 100%;
  }
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* @ フッター
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
footer {
  border-top: 1px solid #ccc;
  text-align: center;
}
footer p {
  margin: 0;
}
footer #footer-navi {
  padding: 30px 0;
}
footer #footer-navi #footer-logo {
  font-size: 1.5em;
  line-height: 1.75
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Yu Mincho", "YuMincho";
  font-weight: bold;
  margin-bottom: 20px;
}
footer .copyright {
  background-color: #373737;
  color: #fff;
}
footer .copyright p {
  font-size: 0.875em;
  padding: 5px 0;
}

/* @ ページトップ
---------------------------------------------------------------------------- */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 1%;
  bottom: 2%;
  background: #afab40;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before{
  font-family: "Font Awesome 5 Free";
  content: '\f106';
  font-weight: 900;
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 40px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
