@charset "UTF-8";
body {
  font-family: 'TsukuOldMinPro-R{pm}', '游明朝', YuMincho, 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;
  color: #2d2d2d;
  background: #fafaf5;
}

/* ヘッダー */
#top-head {
  background: url(../images/noise5.png) repeat #912d14;
  width: 100%;
  height: 50px;
  margin: 0 auto 0;
  z-index: 999;
  border-bottom: 2px solid #fff;
}

@media screen and (max-width: 640px) {
  #top-head {
    height: 50px;
    top: 0;
    position: fixed;
    margin-top: 0;
  }
  #top-head.fixed {
    top: 0;
    position: fixed;
    padding-top: 0;
    z-index: 999;
  }
  #top-head #mobile-head {
    width: 100%;
    z-index: 999;
    position: relative;
  }
}

#top-head .inner {
  position: relative;
  width: 1120px;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  #top-head .inner {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  #top-head .inner {
    width: 100%;
  }
}

#top-head .inner #mobile-head {
  position: absolute;
  z-index: 10;
}

#top_catch {
  position: absolute;
  left: 200px;
  color: #fff;
  font-size: 1.2rem;
}

#global_navi {
  position: absolute;
  top: 15px;
  right: 0;
}

#global_navi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#global_navi ul li {
  margin-left: 30px;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  #global_navi ul li {
    margin-left: 15px;
    font-size: 13px;
  }
}

#global_navi ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
}

#global_navi ul li a:after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

#global_navi ul li a:hover:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

#global_navi ul li.recruit {
  background: #ffca00;
}

@media screen and (max-width: 640px) {
  #global_navi ul li.recruit {
    background: inherit;
  }
}

#global_navi ul li.recruit a {
  padding: 0 20px;
  color: #912d14;
}

@media screen and (max-width: 640px) {
  #global_navi ul li.recruit a {
    color: #fff;
  }
}

#title p {
  color: #fff;
  margin-bottom: 0;
  text-align: center;
}

#title img {
  width: 135px;
  height: auto;
  -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.8));
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.8));
}

@media screen and (max-width: 640px) {
  #title img {
    width: 100px;
    margin-left: 5px;
  }
}

#title h1 {
  margin-bottom: 0;
}

.top-number {
  width: 150px;
  height: 38px;
  padding: 10px 0;
  color: #555;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  line-height: 38px;
  display: block;
}

a.top-number {
  color: #555 !important;
}

a.top-number:hover {
  color: #555 !important;
  text-decoration: none;
}

.button-contact, button {
  margin: 30px auto;
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 30px auto;
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.button-contact:hover, button:hover {
  color: #fff;
  border-color: #888;
  outline: 0;
  opacity: 0.5;
}

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  color: #fff;
  border-color: #888;
  outline: 0;
  opacity: 0.5;
}

.button-contact:focus, button:focus {
  color: #fff;
  border-color: #888;
  outline: 0;
  opacity: 0.5;
}

input[type="submit"]:focus, input[type="reset"]:focus, input[type="button"]:focus {
  color: #fff;
  border-color: #888;
  outline: 0;
  opacity: 0.5;
}

/* パンくずリスト */
.breadcrumb {
  padding: 20px;
  text-align: right;
}

@media screen and (max-width: 640px) {
  .breadcrumb {
    padding: 10px 0;
  }
}

.breadcrumb_single {
  padding-top: 60px;
}

ol.breadcrumb {
  list-style-type: none;
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  ol.breadcrumb {
    font-size: 1.2rem;
  }
}

ol.breadcrumb li {
  display: inline-block;
  color: #4e4e4e;
}

ol.breadcrumb li a {
  color: #4e4e4e;
  vertical-align: middle;
}

ol.breadcrumb li a:link {
  color: #4e4e4e;
}

ol.breadcrumb li a:hover {
  color: #ddd;
}

ol.breadcrumbli a:visited {
  color: #646766;
}

ol.breadcrumb li:before {
  content: " > ";
}

ol.breadcrumb li:first-child:before {
  content: none;
}

/* social share */
.social {
  display: table-cell;
}

.social-share {
  display: table-cell;
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.social-share li {
  display: table-cell;
}

ul.social-share li a {
  display: table-cell;
  color: #fff;
  background: #404040;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  border-radius: 2px;
}

ul.social-share li a:hover {
  background: #c52d2f;
  color: #fff;
}

/* Fixed */
/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

/* スマホ */
.sp {
  display: none;
}

@media screen and (max-width: 640px) {
  .sp {
    display: block;
  }
}

/* タブレット */
.tb {
  display: block !important;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .tb {
    display: none !important;
  }
}

/* PC */
.pc {
  display: block;
}

@media screen and (max-width: 640px) {
  .pc {
    display: none;
  }
}

/* 中央寄せ */
.center {
  text-align: center;
  margin: 0px auto 30px;
}

.center-inner {
  text-align: center;
  margin: 70px auto;
}

/* テキスト */
p {
  margin-top: 0;
}

p .price {
  font-size: 2.5rem;
  color: #912d14;
}

p.left {
  text-align: left;
}

strong {
  font-weight: bold;
}

.summer {
  display: inline-block !important;
  vertical-align: middle;
  margin-right: 10px;
  padding: 10px;
  font-size: 1.6rem !important;
  background: #001842 !important;
  color: #fff !important;
  border: 1px solid #001842 !important;
  border-radius: 50px;
  text-align: center;
}

.winter {
  display: inline-block !important;
  vertical-align: middle;
  margin-right: 10px;
  padding: 10px;
  font-size: 1.6rem !important;
  background: #912d14 !important;
  color: #fff !important;
  border: 1px solid #912d14 !important;
  border-radius: 50px;
  text-align: center;
}

/* リンク文字色 */
a {
  text-decoration: none;
}

/* 画像 */
img {
  max-width: 100%;
  height: auto;
  border: 0;
}

section img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
}

/* スライダー画像 */
.slider img {
  width: 100%;
  height: 600px;
  -o-object-fit: cover;
  object-fit: cover;
  margin: 0 auto;
  vertical-align: bottom;
}

@media screen and (max-width: 640px) {
  .slider img {
    height: 50vh;
  }
}

/* ギャラリー */
.no-gutter .columns {
  padding-right: 0;
  padding-left: 0;
  margin-left: 6px;
  /*1*/
}

.no-gutter img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
  margin-bottom: 6px;
  /*1と揃える*/
}

.no-gutter p {
  text-align: center;
}

@media (min-width: 550px) {
  .no-gutter .three.columns {
    width: 24%;
  }
}

/* メニューボックス ボタン*/
.menu {
  position: relative;
  width: 350px;
}

.gohst {
  display: inline-block;
  padding: .5em 4em;
  border: 2px solid #fff;
  color: #fff;
  text-align: center;
  text-decoration: none;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: absolute;
  top: 60%;
  /* 上から半分 */
  left: 50%;
  /* 左から半分 */
  width: 100px;
  margin-top: -50px;
  margin-left: -100px;
}

.gohst:hover {
  -webkit-box-shadow: 0 0 45px rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 45px rgba(255, 255, 255, 0.6);
  text-decoration: none;
  color: #fff;
}

.gohst a:hover {
  color: #fff;
  text-decoration: none;
}

.top_btn {
  display: block;
  position: relative;
  color: #912d14;
  width: 300px;
  letter-spacing: 1px;
  font-size: 14px;
  line-height: 1em;
  margin: 30px auto 0;
  padding-bottom: 12px;
  padding-top: 12px;
  text-align: center;
  border-top: 1px solid #912d14;
  border-bottom: 1px solid #912d14;
}

@media screen and (max-width: 640px) {
  .top_btn {
    width: 100%;
  }
}

.top_btn:before {
  right: 0px;
  left: 0px;
  background-color: #912d14;
  height: 1px;
  width: 100%;
  content: "";
  position: absolute;
  top: -3px;
}

.top_btn:after {
  bottom: -3px;
  right: 0px;
  left: 0px;
  background-color: #912d14;
  height: 1px;
  width: 100%;
  content: "";
  position: absolute;
}

.top_btn.course {
  margin-top: -50px;
}

.shop_btn .top_btn {
  float: right;
  margin: 10px 0 0 0;
}

/* section */
.about_sec {
  padding: 40px 0;
}

.info_sec {
  background: #fff;
  padding: 70px 0;
}

.info_sec dl {
  width: 80%;
  margin: 0 auto 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .info_sec dl {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .info_sec dl {
    width: 100%;
  }
}

.info_sec dl dt {
  width: 150px;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .info_sec dl dt {
    width: 100%;
    margin-bottom: 1em;
  }
}

.info_sec dl dd {
  margin: 0;
}

@media screen and (max-width: 640px) {
  .info_sec dl dd {
    width: 100%;
    margin-left: 0;
  }
}

.box1 {
  margin: -60px 0 70px 0;
}

#about, .box2, .box3, #feature {
  margin: 70px 0;
}

.wrl {
  position: relative;
  width: 100%;
  height: 100%;
}

.rl-inner {
  -webkit-writing-mode: vertical-rl;
  /* 実装済 */
  -moz-writing-mode: vertical-rl;
  /* 未実装 */
  -ms-writing-mode: tb-rl;
  /* 実装済 */
  writing-mode: vertical-rl;
  height: 300px;
  /*縦書きボックスの高さ*/
  line-height: 300px;
  /*縦のセンタリングの為に指定*/
  margin-left: 50%;
}

.gray {
  margin: 70px 0;
  background-color: #e9eaed;
}

.concept {
  display: inline-block;
  margin: 0px auto 30px;
  padding: 10px 0 0 0;
  text-align: center;
  border-bottom: 1px solid #912d14;
  font-size: 3.0rem;
  line-height: 2;
}

@media screen and (max-width: 640px) {
  .concept {
    font-size: 2.4rem;
  }
}

.concept span {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
  color: #912d14;
  line-height: 1;
}

@media screen and (max-width: 640px) {
  .concept span {
    display: block !important;
    margin: 0 auto 15px;
  }
  .concept span.summer {
    width: 20px;
  }
  .concept span.winter {
    width: 20px;
  }
}

.concept.course {
  border-bottom: none;
  margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
  .concept {
    line-height: 1.5em;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .concept.tb {
    margin: 0 -40px;
  }
}

.holiday {
  font-size: 1.4rem;
  margin-top: -20px;
}

h4.ttl {
  font-weight: bold;
  line-height: 1.5;
}

#contact {
  margin: 70px 0;
  width: 100%;
  background-color: #e9eaed;
  text-align: center;
  padding: 70px 0;
}

.contact-page .contact-wrap {
  margin: 20px 20px 0 20px;
}

/* サンプルページの3カラムメニューボックス */
.circle {
  position: relative;
  width: 132px;
  height: 132px;
  /* border-radius */
  border-radius: 50%;
  /* border */
  border: 1px solid #333;
  background-color: #333;
}

.logo {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 20%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.number {
  color: #fff;
  position: absolute;
  top: 40%;
  left: 10%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.waku img {
  border: 3px solid #fff;
  border-radius: 50%;
}

/* サイトマップ */
#bottom {
  margin: 70px 0;
  text-align: center;
}

#bottom ul li a {
  color: #808080;
}

/* table */
table.table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  text-align: center;
  line-height: 1.5;
  border-top: 1px solid #eee;
}

table.table th {
  width: 150px;
  padding: 10px;
  font-weight: bold;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}

table.table td {
  width: 100%;
  padding: 10px;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}

table.table_course {
  width: 100%;
}

@media screen and (max-width: 640px) {
  table.table_course {
    width: calc(100% + 10px);
    margin-left: -10px;
  }
}

table.table_course th {
  padding: 5px;
}

@media screen and (max-width: 640px) {
  table.table_course th {
    padding: 3px;
  }
}

table.table_course td {
  padding: 5px;
}

@media screen and (max-width: 640px) {
  table.table_course td {
    padding: 3px;
  }
}

table.table_com {
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  table.table_com {
    width: 100%;
  }
}

table.table_com th {
  width: 190px;
}

@media screen and (max-width: 640px) {
  table.table_com {
    width: 100%;
  }
  table.table_com th {
    display: block;
    width: 100%;
  }
  table.table_com td {
    display: block;
    width: 100%;
    padding: 12px 0 20px 0;
  }
}

table.table_shop {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  text-align: center;
  line-height: 1.5;
  border-top: 1px solid #eee;
}

table.table_shop th {
  width: 80px;
  padding: 10px;
  font-weight: bold;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}

table.table_shop td {
  width: 330px;
  padding: 10px;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}

table.table_car {
  width: 400px;
  margin-top: 20px;
}

@media screen and (max-width: 640px) {
  table.table_car {
    width: 100%;
  }
  table.table_car th {
    display: table-cell !important;
    width: inherit !important;
  }
  table.table_car td {
    display: table-cell !important;
    width: inherit !important;
  }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  table.table_car {
    width: 100%;
  }
  table.table_car th {
    display: table-cell !important;
    width: inherit !important;
  }
  table.table_car td {
    display: table-cell !important;
    width: inherit !important;
  }
}

table.table_car caption {
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  table.table_shop th, table.table_shop td {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  table.table_shop th, table.table_shop td {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
}

.table-responsive {
  text-align: center;
}

/* お問い合わせフォーム送信ボタン */
.form-group label {
  color: #4E4E4E;
  font-size: 16px;
  font-weight: 300;
}

.form-group .form-control {
  padding: 7px 12px;
  border-color: #8a8884;
  -webkit-box-shadow: none;
  box-shadow: none;
}

textarea#message {
  resize: none;
  padding: 10px;
}

.post {
  text-align: center;
  margin: 0 auto;
}

/* ページ上部へ戻るボタン */
.pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 10px;
  z-index: 100;
}

.pagetop a {
  display: block;
  width: 50px;
  height: 50px;
  background-color: #912d14;
  border-radius: 50px;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: normal;
  text-decoration: none;
  line-height: 50px;
  -webkit-box-shadow: 0 0 4px rgba(255, 255, 255, 0.14), 0 4px 8px rgba(255, 255, 255, 0.28);
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.14), 0 4px 8px rgba(255, 255, 255, 0.28);
}

.pagetop a:hover {
  -ms-filter: "alpha(opacity=80)";
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
}

/* フッター */
footer {
  background-color: #912d14;
  text-align: center;
}

footer #footer_nav {
  padding: 10px 0;
  width: 100%;
  height: 15px;
}

footer #footer_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

footer #footer_nav li {
  text-align: center;
  border-right: 1px solid #fff;
  height: 15px;
}

footer #footer_nav li:last-child {
  border-right: none;
}

footer #footer_nav li a {
  font-size: 1.2rem;
  color: #fff;
  padding: 0 15px;
  vertical-align: top;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  footer #footer_nav li a {
    padding: 0 5px;
  }
}

footer .foot_logo {
  padding-top: 15px;
}

footer .foot_logo img {
  width: 60px;
  height: auto;
}

footer small {
  display: block;
  padding: 8px 0;
  color: #fff;
  width: 100%;
  margin: 0 auto;
  background-color: #912d14;
}

address {
  font-style: normal;
}

/* 個別ページのTOP背景画像 */
.page_image {
  position: relative;
}

.page_image .catch {
  position: absolute;
  width: 85%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

.page_image p {
  text-align: center;
  font-size: 4.0rem;
  color: #fff;
  text-shadow: 0 0 10px #000000, 0 0 10px #000000, 0 0 0.1px #000000;
  line-height: 1.5em;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .page_image p {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 640px) {
  .page_image p {
    font-size: 2.0rem;
  }
}

.kushihachi {
  background: url(../images/kushihachi-topbody.jpg) 15% top no-repeat;
  background-size: cover;
  height: 450px;
  color: #fff;
  border-bottom: 4px solid #912d14;
  padding-top: 50px;
}

@media screen and (max-width: 640px) and (orientation: portrait) {
  .kushihachi {
    background-position: 18% top;
  }
}

.denhichi {
  background: url(../images/denhichi-topbody.jpg) 35% 10% no-repeat;
  background-size: cover;
  height: 450px;
  color: #fff;
  border-bottom: 4px solid #912d14;
  padding-top: 50px;
}

.shop_list {
  background: url(../images/shop-topbody.jpg) 30% top no-repeat;
  background-size: cover;
  height: 450px;
  color: #fff;
  border-bottom: 4px solid #912d14;
  padding-top: 50px;
}

@media screen and (max-width: 640px) and (orientation: portrait) {
  .shop_list {
    background-position: 10% top;
  }
}

.recruitment {
  background: url(../images/recruitment-topbody.jpg) 30% top no-repeat;
  background-size: cover;
  height: 450px;
  color: #fff;
  border-bottom: 4px solid #912d14;
  padding-top: 50px;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .recruitment {
    background-position: 60% 0px;
  }
}

@media screen and (max-width: 640px) and (orientation: portrait) {
  .recruitment {
    background-position: 70% 50px;
  }
}

/* Googlemap*/
.gmap {
  position: relative;
  padding: 0 0 50%;
  /* Googlemapの縦÷横×100 */
  height: 0;
  overflow: hidden;
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/
@media screen and (max-width: 640px) {
  #global_navi {
    position: absolute;
    top: -506px;
    background: url(../images/noise5.png) repeat #912d14;
    width: 100%;
    text-align: center;
    padding: 50px 0 20px;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
  #global_navi ul li {
    width: 90%;
    padding-bottom: 10px;
    margin: 0 auto 10px;
    border-bottom: 1px dotted #fff;
  }
  #global_navi ul li a:after {
    content: none;
  }
  #nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  .open #global_navi {
    /* #global_navi top + #mobile-head height */
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
  /* #global_navi スライドアニメーション */
  #footer_nav {
    display: none;
  }
}

@media (max-width: 1200px) {
  .container {
    max-width: 960px;
    margin: 0 auto;
  }
}

@media (max-width: 1000px) {
  .container {
    max-width: 750px;
    margin: 0 auto;
  }
  #top-head.fixed #title {
    margin-top: 20px;
  }
}

@media (max-width: 750px) {
  .container {
    max-width: 550px;
    margin: 0 auto;
  }
  #top-head.fixed #title {
    margin-top: 0;
  }
}

@media (max-width: 550px) {
  .container {
    max-width: 400px;
    margin: 0 auto;
  }
}

@media (max-width: 400px) {
  .container {
    max-width: 360px;
    margin: 0 auto;
  }
  .header_contact {
    display: inline-block;
    width: 150px;
    margin: 0;
    height: 40px;
    line-height: 40px;
  }
  .top-number {
    width: 150px;
    font-size: 14px;
  }
}

@media (max-width: 360px) {
  .container {
    max-width: 310px;
    margin: 0 auto;
  }
  .header_contact {
    display: inline-block;
    width: 120px;
  }
  .top-number {
    width: 120px;
    font-size: 14px;
  }
  #top-head.fixed {
    top: 0;
    position: fixed;
    padding-top: 0;
    background: #fff;
    z-index: 999;
  }
}

.gmap_shop iframe {
  width: 100% !important;
  height: 241px !important;
}

.swiper-container {
  border-bottom: 5px solid #912d14;
}

.swiper-pagination {
  display: none;
}

.swiper-slide {
  position: relative;
}

.swiper-slide .catch {
  position: absolute;
  width: 85%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

@media screen and (max-width: 640px) {
  .swiper-slide .catch {
    width: 100%;
  }
}

.swiper-slide p {
  text-align: center;
  font-size: 4.0rem;
  color: #fff;
  text-shadow: 0 0 10px #000000, 0 0 10px #000000, 0 0 0.1px #000000;
  line-height: 1.5em;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .swiper-slide p {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 640px) {
  .swiper-slide p {
    font-size: 2.0rem;
  }
}

.kushi_yaki li {
  font-size: 1.6vw;
}

@media screen and (max-width: 640px) {
  .kushi_yaki li {
    font-size: 2.0rem;
  }
}

.kushi_yaki li .type {
  background: #912d14;
  color: #fff;
  width: 100px;
  padding: 10px;
  text-align: center;
  border-radius: 50px;
  font-size: 1.8rem;
  margin-right: 10px;
}

@media screen and (max-width: 640px) {
  .kushi_yaki li .type {
    display: block;
    padding: 5px;
    width: 100px;
    margin: 0 auto;
  }
}

.kushi_yaki li .num {
  margin-left: 15px;
}

@media screen and (max-width: 640px) {
  .kushi_yaki li .num {
    margin-left: 1em;
    font-size: 1.2rem;
  }
}

.kushi_yaki li .price {
  font-size: 4vw;
  color: #912d14;
  margin: 0 10px;
}

@media screen and (max-width: 640px) {
  .kushi_yaki li .price {
    font-size: 3.0rem;
  }
}

.l_catch {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .l_catch {
    width: 100%;
    text-align: left;
  }
}

@media screen and (max-width: 640px) {
  .l_catch {
    width: 100%;
    text-align: left;
  }
}

a[href^="tel:"] {
  pointer-events: none;
  color: #2d2d2d;
}

@media screen and (max-width: 640px) {
  a[href^="tel:"] {
    pointer-events: inherit;
    color: #912d14;
  }
}

.shop_box h3 {
  font-size: 2.2rem;
}

@media screen and (max-width: 640px) {
  .shop_box h3 {
    margin-top: 20px;
  }
}

.shop_image {
  margin-bottom: 30px;
}

.shop_image.row02 {
  margin-top: -30px;
}

.google_map {
  position: relative;
  width: 100%;
  height: 0px;
  padding-top: 56.25%;
}

@media screen and (max-width: 640px) {
  .google_map {
    padding-top: 120%;
  }
}

.google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.qa dl {
  margin-bottom: 50px;
}

.qa dl dt {
  color: #912d14;
  font-size: 1.8rem;
  margin-bottom: 1em;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.qa dl dt span {
  font-size: 2.2rem;
  color: #912d14;
  font-weight: bold;
  margin-right: 5px;
}

.qa dl dd {
  font-size: 1.6rem;
  padding-left: 2em;
  text-indent: -2em;
  margin-left: 0;
}

@media screen and (max-width: 640px) {
  .qa dl dd {
    margin-left: 0;
  }
}

.qa dl dd span {
  font-size: 2.2rem;
  color: #001842;
  font-weight: bold;
  margin-right: 5px;
}

.to_map {
  display: inline-block;
  background: #912d14;
  color: #fff;
  padding: 3px 10px 5px 10px;
  margin-left: 10px;
  border-radius: 50px;
  font-size: 1.3rem;
}

.to_map i {
  margin-right: 5px;
}

@media screen and (max-width: 640px) {
  .kushi_menu .two.columns {
    width: 48%;
    height: 240px;
  }
  .kushi_menu .sp.columns {
    display: none;
  }
}

.kushi_menu p {
  text-align: center;
  line-height: 1.2;
}

.baito dt {
  margin-bottom: 10px;
}

.baito dd {
  margin-left: 0;
}

.baito dd .shop {
  display: inline-block;
  width: 95px;
  margin-bottom: 10px;
}

.baito dd .fee {
  display: inline-block;
  width: 115px;
}

.btn p {
  margin-top: 5px;
  font-size: 1.1rem;
}

.yakitori_menu img {
  width: 65%;
  height: auto;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .yakitori_menu img {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .yakitori_menu img {
    width: 100%;
  }
}

.den_sushi {
  width: 75%;
}

@media screen and (max-width: 1024px) and (orientation: portrait) {
  .den_sushi {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .den_sushi {
    width: 100%;
  }
}
