@charset "UTF-8";
/* Reset
----------------------------------------------------------*/
@import "https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900";
@import "https://fonts.googleapis.com/css?family=Roboto+Slab:100,300,400,700";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Margin
----------------------------------------------------------*/
.mt_0 {
  margin-top: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mr_10 {
  margin-right: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.ml_10 {
  margin-left: 10px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mr_20 {
  margin-right: 20px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.ml_20 {
  margin-left: 20px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

.mr_30 {
  margin-right: 30px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

.ml_30 {
  margin-left: 30px !important;
}

.mt_40 {
  margin-top: 40px !important;
}

.mr_40 {
  margin-right: 40px !important;
}

.mb_40 {
  margin-bottom: 40px !important;
}

.ml_40 {
  margin-left: 40px !important;
}

.mt_50 {
  margin-top: 50px !important;
}

.mr_50 {
  margin-right: 50px !important;
}

.mb_50 {
  margin-bottom: 50px !important;
}

.ml_50 {
  margin-left: 50px !important;
}

.mt_60 {
  margin-top: 60px !important;
}

.mr_60 {
  margin-right: 60px !important;
}

.mb_60 {
  margin-bottom: 60px !important;
}

.ml_60 {
  margin-left: 60px !important;
}

.mt_70 {
  margin-top: 70px !important;
}

.mr_70 {
  margin-right: 70px !important;
}

.mb_70 {
  margin-bottom: 70px !important;
}

.ml_70 {
  margin-left: 70px !important;
}

.mt_80 {
  margin-top: 80px !important;
}

.mr_80 {
  margin-right: 80px !important;
}

.mb_80 {
  margin-bottom: 80px !important;
}

.ml_80 {
  margin-left: 80px !important;
}

.mt_90 {
  margin-top: 90px !important;
}

.mr_90 {
  margin-right: 90px !important;
}

.mb_90 {
  margin-bottom: 90px !important;
}

.ml_90 {
  margin-left: 90px !important;
}

.mt_100 {
  margin-top: 100px !important;
}

.mr_100 {
  margin-right: 100px !important;
}

.mb_100 {
  margin-bottom: 100px !important;
}

.ml_100 {
  margin-left: 100px !important;
}

/* Padding
----------------------------------------------------------*/
.pt_0 {
  padding-top: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pr_10 {
  padding-right: 10px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pl_10 {
  padding-left: 10px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pr_20 {
  padding-right: 20px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

.pl_20 {
  padding-left: 20px !important;
}

.pt_30 {
  padding-top: 30px !important;
}

.pr_30 {
  padding-right: 30px !important;
}

.pb_30 {
  padding-bottom: 30px !important;
}

.pl_30 {
  padding-left: 30px !important;
}

.pt_40 {
  padding-top: 40px !important;
}

.pr_40 {
  padding-right: 40px !important;
}

.pb_40 {
  padding-bottom: 40px !important;
}

.pl_40 {
  padding-left: 40px !important;
}

.pt_50 {
  padding-top: 50px !important;
}

.pr_50 {
  padding-right: 50px !important;
}

.pb_50 {
  padding-bottom: 50px !important;
}

.pl_50 {
  padding-left: 50px !important;
}

.pt_60 {
  padding-top: 60px !important;
}

.pr_60 {
  padding-right: 60px !important;
}

.pb_60 {
  padding-bottom: 60px !important;
}

.pl_60 {
  padding-left: 60px !important;
}

.pt_70 {
  padding-top: 70px !important;
}

.pr_70 {
  padding-right: 70px !important;
}

.pb_70 {
  padding-bottom: 70px !important;
}

.pl_70 {
  padding-left: 70px !important;
}

.pt_80 {
  padding-top: 80px !important;
}

.pr_80 {
  padding-right: 80px !important;
}

.pb_80 {
  padding-bottom: 80px !important;
}

.pl_80 {
  padding-left: 80px !important;
}

.pt_90 {
  padding-top: 90px !important;
}

.pr_90 {
  padding-right: 90px !important;
}

.pb_90 {
  padding-bottom: 90px !important;
}

.pl_90 {
  padding-left: 90px !important;
}

.pt_100 {
  padding-top: 100px !important;
}

.pr_100 {
  padding-right: 100px !important;
}

.pb_100 {
  padding-bottom: 100px !important;
}

.pl_100 {
  padding-left: 100px !important;
}

/* Float
----------------------------------------------------------*/
.alignleft {
  float: left;
}

.alignright {
  float: right;
}

.aligncenter {
  display: block;
  margin: 0px auto;
  clear: both;
}

img.alignleft {
  margin: 0 1em 1em 0;
}
img.alignright {
  margin: 0 0 1em 1em;
}

/* Font
----------------------------------------------------------*/
/* font-size */
.fs_10 {
  font-size: 10px !important;
  font-size: 1rem !important;
}

.fs_11 {
  font-size: 11px !important;
  font-size: 1.1rem !important;
}

.fs_12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fs_13 {
  font-size: 13px !important;
  font-size: 1.3rem !important;
}

.fs_14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fs_15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

.fs_16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.fs_17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.fs_18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.fs_19 {
  font-size: 19px !important;
  font-size: 1.9rem !important;
}

.fs_20 {
  font-size: 20px !important;
  font-size: 2rem !important;
}

.fs_21 {
  font-size: 21px !important;
  font-size: 2.1rem !important;
}

.fs_22 {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}

.fs_23 {
  font-size: 23px !important;
  font-size: 2.3rem !important;
}

.fs_24 {
  font-size: 24px !important;
  font-size: 2.4rem !important;
}

.fs_25 {
  font-size: 25px !important;
  font-size: 2.5rem !important;
}

.fs_26 {
  font-size: 26px !important;
  font-size: 2.6rem !important;
}

.fs_27 {
  font-size: 27px !important;
  font-size: 2.7rem !important;
}

.fs_28 {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}

.fs_29 {
  font-size: 29px !important;
  font-size: 2.9rem !important;
}

.fs_30 {
  font-size: 30px !important;
  font-size: 3rem !important;
}

.fs_31 {
  font-size: 31px !important;
  font-size: 3.1rem !important;
}

.fs_32 {
  font-size: 32px !important;
  font-size: 3.2rem !important;
}

.fs_33 {
  font-size: 33px !important;
  font-size: 3.3rem !important;
}

.fs_34 {
  font-size: 34px !important;
  font-size: 3.4rem !important;
}

.fs_35 {
  font-size: 35px !important;
  font-size: 3.5rem !important;
}

.fs_36 {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

.fs_37 {
  font-size: 37px !important;
  font-size: 3.7rem !important;
}

.fs_38 {
  font-size: 38px !important;
  font-size: 3.8rem !important;
}

.fs_39 {
  font-size: 39px !important;
  font-size: 3.9rem !important;
}

.fs_40 {
  font-size: 40px !important;
  font-size: 4rem !important;
}

/* font-weight */
.fw_b {
  font-weight: bold !important;
}

.fw_n {
  font-weight: normal !important;
}

/* line-height */
.lh_10 {
  line-height: 1 !important;
}

.lh_11 {
  line-height: 1.1 !important;
}

.lh_12 {
  line-height: 1.2 !important;
}

.lh_13 {
  line-height: 1.3 !important;
}

.lh_14 {
  line-height: 1.4 !important;
}

.lh_15 {
  line-height: 1.5 !important;
}

.lh_16 {
  line-height: 1.6 !important;
}

.lh_17 {
  line-height: 1.7 !important;
}

.lh_18 {
  line-height: 1.8 !important;
}

.lh_19 {
  line-height: 1.9 !important;
}

.lh_20 {
  line-height: 2 !important;
}

/* text-align */
.ta_left {
  text-align: left !important;
}

.ta_right {
  text-align: right !important;
}

.ta_center {
  text-align: center !important;
}

/* vertical-align */
.va_top {
  vertical-align: top !important;
}

.va_bottom {
  vertical-align: bottom !important;
}

.va_middle {
  vertical-align: middle !important;
}

/* Form
----------------------------------------------------------*/
button,
input,
select,
textarea {
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%;
  vertical-align: baseline;
  border: 1px solid #CCC;
  border-radius: 5px;
}

/* テキスト・テキストエリア */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"] {
  padding: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

textarea {
  padding: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* ボタン */
button {
  padding: 10px 20px;
  color: #fff;
  border: 1px solid #000;
  background: #000;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button:hover {
  opacity: .7;
}

input[type="button"], input[type="submit"] {
  padding: 10px 20px;
  color: #fff;
  border: 1px solid #000;
  background: #000;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="button"]:hover, input[type="submit"]:hover {
  opacity: .7;
}
input[type="reset"] {
  padding: 10px 20px;
  color: #999;
  border: 1px solid #CCC;
  background: #fff;
  cursor: pointer;
}
input[type="reset"]:hover {
  opacity: .7;
}

input[type="button"][disabled], input[type="reset"][disabled], input[type="submit"][disabled] {
  opacity: .7;
}

label {
  cursor: pointer;
}

/* Column
----------------------------------------------------------*/
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px -10px 0;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .row {
    display: block;
    margin: 20px 0 0;
  }
}

.col-1 {
  width: calc(8.33333% - 20px);
}

.col-2 {
  width: calc(16.666666% - 20px);
}

.col-3 {
  width: calc(24.99999% - 20px);
}

.col-4 {
  width: calc(33.33333% - 20px);
}

.col-5 {
  width: calc(41.66666% - 20px);
}

.col-6 {
  width: calc(49.99999% - 20px);
}

.col-7 {
  width: calc(58.33333% - 20px);
}

.col-8 {
  width: calc(66.66666% - 20px);
}

.col-9 {
  width: calc(74.99999% - 20px);
}

.col-10 {
  width: calc(83.33333% - 20px);
}

.col-11 {
  width: calc(91.66666% - 20px);
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .col-1,
  .col-2,
  .col-3,
  .col-4,
  .col-5,
  .col-6,
  .col-7,
  .col-8,
  .col-9,
  .col-10,
  .col-11,
  .col-12 {
    width: auto;
    margin: 20px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .col-1:nth-child(1),
  .col-2:nth-child(1),
  .col-3:nth-child(1),
  .col-4:nth-child(1),
  .col-5:nth-child(1),
  .col-6:nth-child(1),
  .col-7:nth-child(1),
  .col-8:nth-child(1),
  .col-9:nth-child(1),
  .col-10:nth-child(1),
  .col-11:nth-child(1),
  .col-12:nth-child(1) {
    margin-top: 0;
  }
}

/* Clearfix
----------------------------------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.clear {
  clear: both;
}

@font-face {
  font-family: 'webfont';
  src: url("../fonts/webfont.eot?4sd5pm");
  src: url("../fonts/webfont.eot?4sd5pm#iefix") format("embedded-opentype"), url("../fonts/webfont.ttf?4sd5pm") format("truetype"), url("../fonts/webfont.woff?4sd5pm") format("woff"), url("../fonts/webfont.svg?4sd5pm#webfont") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icn_"], [class*=" icn_"] {
  font-family: 'webfont' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icn_line:before {
  content: "\e900";
}

.icn_facebook:before {
  content: "\ea90";
}

.icn_instagram:before {
  content: "\ea92";
}

/* 全体
----------------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
  /* 10px */
}

body {
  font-family: normal normal normal 1.35em/1 Quicksand, '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4em;
  letter-spacing: .1em;
  line-height: 2;
  background: #FFF2ED;
  color: #797976;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 60px;
  font-weight: normal;
}
h1:nth-child(1),
h2:nth-child(1),
h3:nth-child(1),
h4:nth-child(1),
h5:nth-child(1),
h6:nth-child(1) {
  margin-top: 0;
}

p,
ul,
ol,
dl,
table,
blockquote,
iframe {
  margin-top: 30px;
}
p:nth-child(1),
ul:nth-child(1),
ol:nth-child(1),
dl:nth-child(1),
table:nth-child(1),
blockquote:nth-child(1),
iframe:nth-child(1) {
  margin-top: 0;
}

iframe {
  max-width: 100%;
}

strong {
  font-weight: bold;
}

sup,
sub {
  font-size: 10px;
  height: 0;
  line-height: 1;
  position: relative;
  vertical-align: baseline;
}

sup {
  bottom: 1ex;
}

sub {
  top: .5ex;
}

hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #ddd;
}

a {
  color: #000;
  text-decoration: underline;
  -webkit-transition: .5s;
  transition: .5s;
}
a:hover {
  opacity: .7;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.button01 {
  display: inline-block;
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  border: 2px dashed #000;
  border-radius: 999px;
}

.wrapper {
  position: relative;
}

.container {
  position: relative;
  max-width: 1180px;
  margin: auto;
  padding: 0 8.33333vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0 15px;
  }
}
.container .inner {
  max-width: 960px;
  margin: auto;
}
.container .inner2 {
  max-width: 500px;
  margin: auto;
}

/* ヘッダー
----------------------------------------------------------*/
#header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  color: #ab9b9a;
}

#header_logo {
  /*width: 9.375vw;*/
  padding: 1.5625vw;
  /*background: rgba(255, 255, 255, 0.8);*/
  background: #eae5e4;
  margin-left: 2.5625vw;
  /*margin-top: 2.5625vw;*/
}
@media screen and (max-width: 768px) {
  #header_logo {
    /*width: 20vw;*/
    padding: 15px;
  }
}
#header_logo img {
  width: 100%;
  height: auto;
}

#header_navi {
  /*margin: 6.25vw 0 0 2.08333vw;*/
  margin: 2.25vw 0 0 4.08333vw;
  font-family: 'Roboto Slab', serif;
  letter-spacing: .2em;
}
@media screen and (max-width: 768px) {
  #header_navi {
    display: none;
  }
}
#header_navi li {
  margin-top: 1em;
}
#header_navi li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #ab9b9a;
}
#header_navi li a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  -webkit-transition: .2s ease;
  transition: .2s ease;
}
#header_navi li a:hover {
  opacity: 1;
}
#header_navi li a:hover:after {
  width: 100%;
}
#header_navi li:nth-child(1) {
  margin-top: 0;
}

#header_tel {
  /*margin: 2.08333vw 0 0 2.08333vw;*/
  margin: 1.08333vw 0 0 4.08333vw;
  font-family: 'Roboto Slab', serif;
  letter-spacing: .2em;
}
@media screen and (max-width: 768px) {
  #header_tel {
    display: none;
  }
}

#header_sns {
  /*margin: 2.08333vw 0 0 2.08333vw;*/
  margin: 1.08333vw 0 0 4.08333vw;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #header_sns {
    display: none;
  }
}
#header_sns li {
  display: inline-block;
  margin-right: .5em;
}
#header_sns li a {
  text-decoration: none;
}

/* グローバルナビ
----------------------------------------------------------*/
#gnavi {
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 10px 20px;
  border-bottom: 1px solid #eee;
  background: #FFFFF0;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}
@media screen and (max-width: 768px) {
  #gnavi {
    display: block;
    padding: 0 15px;
  }
}

#gnavi.active {
  top: 0;
}

@media screen and (max-width: 768px) {
  #gnavi_logo {
    padding: 10px 0;
    text-align: center;
  }
}
#gnavi_logo img {
  width: 122px;
}
@media screen and (max-width: 768px) {
  #gnavi_logo img {
    width: 81px;
  }
}

#gnavi_trigger {
  position: absolute;
  top: 5px;
  right: 10px;
  display: none;
}
@media screen and (max-width: 768px) {
  #gnavi_trigger {
    display: block;
  }
}
#gnavi_trigger a {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}
#gnavi_trigger a:hover {
  opacity: 1;
}
#gnavi_trigger a span {
  position: absolute;
  top: 19px;
  left: 10px;
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
}
#gnavi_trigger a:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 10px;
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  -webkit-transition: all .4s;
  transition: all .4s;
}
#gnavi_trigger a:after {
  content: "";
  position: absolute;
  top: 26px;
  left: 10px;
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
  -webkit-transition: all .4s;
  transition: all .4s;
}
#gnavi_trigger a.active span {
  opacity: 0;
}
#gnavi_trigger a.active:before {
  -webkit-transform: translateY(7px) rotate(-45deg);
          transform: translateY(7px) rotate(-45deg);
}
#gnavi_trigger a.active:after {
  -webkit-transform: translateY(-7px) rotate(45deg);
          transform: translateY(-7px) rotate(45deg);
}

#gnavi_navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0;
  font-family: 'Roboto Slab', serif;
  letter-spacing: .1em;
}
@media screen and (max-width: 768px) {
  #gnavi_navi {
    display: none;
    width: 100%;
    padding-bottom: 15px;
    background: #FFFFF0;
  }
}
#gnavi_navi li {
  margin-left: 3em;
}
@media screen and (max-width: 768px) {
  #gnavi_navi li {
    margin: 0;
    text-align: center;
  }
}
#gnavi_navi li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  #gnavi_navi li a {
    display: block;
    padding: 15px 0;
  }
}
#gnavi_navi li a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 1px;
  background: #000;
  -webkit-transition: .2s ease;
  transition: .2s ease;
}
@media screen and (max-width: 768px) {
  #gnavi_navi li a:after {
    display: none;
  }
}
#gnavi_navi li a[href^="tel:"] {
  cursor: default;
}
#gnavi_navi li a[href^="tel:"]:after {
  display: none;
}
#gnavi_navi li a:hover {
  opacity: 1;
}
#gnavi_navi li a:hover:after {
  width: 100%;
}
#gnavi_navi li.sns {
  margin-left: 2em;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #gnavi_navi li.sns {
    margin-left: 0;
  }
}
#gnavi_navi li.sns a {
  display: inline;
}
#gnavi_navi li.sns a:after {
  display: none;
}
#gnavi_navi li:nth-child(1) {
  margin-top: 0;
}

/* コンテンツ
----------------------------------------------------------*/
#contents {
  display: block;
  overflow-x: hidden;
}
#contents section {
  position: relative;
}
#contents section.pd {
  padding: 3.125vw 0;
}
@media screen and (max-width: 768px) {
  #contents section.pd {
    padding: 9.375vw 0;
  }
}

.ttl_contents01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: 'Roboto Slab', serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: .2em;
}
@media screen and (max-width: 768px) {
  .ttl_contents01 {
    font-size: 20px;
    font-size: 2rem;
  }
}
.ttl_contents01:before {
  content: "";
  display: inline-block;
  width: 2.8em;
  height: 10px;
  margin-right: .75em;
  /*background: url(../images/bg_slash01.svg) repeat-x 0 0;*/
  background-size: 16px auto;
}
.ttl_contents01:after {
  content: "";
  display: inline-block;
  width: 2.8em;
  height: 10px;
  margin-left: .75em;
  /*background: url(../images/bg_slash01.svg) repeat-x 0 0;*/
  background-size: 16px auto;
}

.ttl_contents02 {
  font-size: 16px;
  font-size: 1.6rem;
}
.ttl_contents02 span {
  padding-bottom: 3px;
  border-bottom: 1px dashed #000;
}

.curtain {
  position: absolute;
  top: 0;
  left: -5%;
  z-index: 5;
  width: 110%;
  height: 100%;
  background: #fafaf7;
  -webkit-transition: 2.5s linear;
  transition: 2.5s linear;
}
@media screen and (max-width: 768px) {
  .curtain {
    -webkit-transition: 1s linear;
    transition: 1s linear;
  }
}
.curtain:before {
  content: "";
  position: absolute;
  top: -25px;
  left: -30px;
  z-index: 10;
  display: block;
  visibility: hidden;
  width: 60px;
  height: 50px;
  background-image: url(../images/img_sissor01.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 60px auto;
  -webkit-animation: scissor 1s steps(4) infinite;
          animation: scissor 1s steps(4) infinite;
}
@media screen and (max-width: 768px) {
  .curtain:before {
    top: -20px;
    left: -24px;
    width: 48px;
    height: 40px;
    background-size: 48px auto;
  }
}

@-webkit-keyframes scissor {
  to {
    background-position: 0 -200px;
  }
}

@keyframes scissor {
  to {
    background-position: 0 -200px;
  }
}
@media screen and (max-width: 768px) {
  @-webkit-keyframes scissor {
    to {
      background-position: 0 -160px;
    }
  }
  @keyframes scissor {
    to {
      background-position: 0 -160px;
    }
  }
}
.curtain.active {
  left: 110%;
}
.curtain.active:before {
  visibility: visible;
}

/* フッター
----------------------------------------------------------*/
#footer {
  padding: 3.125vw 20px;
  font-family: 'Roboto Slab', serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #footer {
    padding: 6.25vw 20px;
  }
}

.kv {
  position: relative;
  padding-left: 3.125vw;
  padding-right: 3.125vw;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .kv {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.kv_slides .slide {
  position: relative;
  height: calc(168vh - 15.25vw);
}
@media screen and (max-width: 768px) {
  .kv_slides .slide {
    height: auto;
    padding-top: 100%;
  }
}
.kv_slides .slide .text {
  position: absolute;
  top: 64%;
  right: 11.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .kv_slides .slide .text {
    right: 2.375vw;
    top: 76%;
  }
}
.kv_slides .slide .text p {
  margin: 0 0 0 2.08333vw;
}
@media screen and (max-width: 768px) {
  .kv_slides .slide .text p {
    margin: 0 0 0 3.75vw;
  }
}
.kv_slides .slide .text p span {
  position: relative;
  display: inline-block;
  padding: 10px 5px;
}
.kv_slides .slide .text p span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  /*background: #fff;*/
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
.kv_slides .slide .text p img {
  width: 26.35416vw;
  height: 10vw;
  opacity: 1;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
@media screen and (max-width: 768px) {
  .kv_slides .slide .text p img {
    width: 60.75vw;
    height: 24vw;
  }
}
.kv_slides .slide01 {
  background: url(../images/top_01.jpeg) no-repeat 0% 0%;
  background-size: cover;
}
.kv_slides .slide02 {
  background: url(../images/top_02.jpeg) no-repeat 50% 50%;
  background-size: cover;
}

.kv_scroll {
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 50px;
  height: 85px;
  background-image: url(../images/img_scroll01.svg);
  background-position: 0 top;
  background-repeat: no-repeat;
  background-size: 350px auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation: kvScroll 3s steps(7) infinite;
          animation: kvScroll 3s steps(7) infinite;
}
@media screen and (max-width: 768px) {
  .kv_scroll {
    width: 30px;
    height: 51px;
    background-size: 210px auto;
  }
}

@-webkit-keyframes kvScroll {
  to {
    background-position: -350px top;
  }
}

@keyframes kvScroll {
  to {
    background-position: -350px top;
  }
}
@media screen and (max-width: 768px) {
  @-webkit-keyframes kvScroll {
    to {
      background-position: -210px top;
    }
  }
  @keyframes kvScroll {
    to {
      background-position: -210px top;
    }
  }
}
#concept {
  margin-top: 3.125vw;
}

.txt_concept01 {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .txt_concept01 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.concept_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .concept_row {
    display: block;
  }
}
.concept_row .concept_photo {
  /*width: 39.65517%;*/
  width: 47%;
}
@media screen and (max-width: 768px) {
  .concept_row .concept_photo {
    width: 100%;
    margin: auto;
  }
}
.concept_row .concept_content {
  /*width: 56.89655%;*/
  width: 49%;
}
@media screen and (max-width: 768px) {
  .concept_row .concept_content {
    width: auto;
    margin-top: 30px;
  }
}
.concept_row .slick-slide img {
  margin: auto;
}

.ul_menu01 li {
  position: relative;
  padding: 1.5em 6em 1.5em 0;
  border-bottom: 1px dashed #666;
}
@media screen and (max-width: 768px) {
  .ul_menu01 li {
    padding: 1.5em 0;
  }
}
.ul_menu01 li .title {
  font-size: 15px;
  font-size: 1.5rem;
}
.ul_menu01 li .title .mini {
  margin-left: 10em;
  font-size: 80%;
}
@media screen and (max-width: 768px) {
  .ul_menu01 li .title .mini {
    margin-left: 0;
  }
}
.ul_menu01 li .title .icn_vip {
  display: inline-block;
  width: 80px;
  margin-right: 1em;
  color: #ab9b9a;
  font-size: 10px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  background: #0071bc;
}
.ul_menu01 li .title .icn_recommend {
  display: inline-block;
  width: 80px;
  margin-right: 1em;
  color: #ab9b9a;
  font-size: 10px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  background: #ff0000;
}
.ul_menu01 li .comment {
  margin-top: .5em;
  color: #666;
  font-size: 12px;
  font-size: 1.2rem;
}
.ul_menu01 li .price {
  position: absolute;
  bottom: 1.5em;
  right: 0;
  margin: 0;
  font-family: 'Roboto Slab', serif;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .ul_menu01 li .price {
    position: static;
    text-align: right;
  }
}

.ul_menu01.column2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -1.04166vw;
}
@media screen and (max-width: 768px) {
  .ul_menu01.column2 {
    display: block;
    margin: 0;
  }
}
.ul_menu01.column2 li {
  width: calc(50% - 2.08322vw);
  margin: 0 1.04166vw;
}
@media screen and (max-width: 768px) {
  .ul_menu01.column2 li {
    width: auto;
    margin: 0;
  }
}

.ul_menu01 + .ul_menu01 {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .ul_menu01 + .ul_menu01 {
    margin-top: 0;
  }
}

.txt_menu01 {
  padding: .5em 1em;
  font-size: 12px;
  font-size: 1.2rem;
  background: #eee;
}

.txt_mini {
   font-size: 10px;
  font-size: 1.0rem;
 }

.ul_faq01 {
  border-bottom: 1px dashed #666;
}
.ul_faq01 li {
  padding: 2em 0;
  border-top: 1px dashed #666;
}
.ul_faq01 li .q {
  position: relative;
  margin-right: 1em;
  padding-right: 2em;
  font-size: 15px;
  font-size: 1.5rem;
  cursor: pointer;
}
.ul_faq01 li .q:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 12px;
  height: 1px;
  background: #000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ul_faq01 li .q:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  display: inline-block;
  width: 1px;
  height: 12px;
  background: #000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ul_faq01 li .q.active:after {
  display: none;
}
.ul_faq01 li .a {
  display: none;
  margin-top: 1em;
  color: #666;
}
.ul_faq01 li .a.open {
  display: block;
}

#shop {
  padding-bottom: 6.25vw !important;
}
@media screen and (max-width: 768px) {
  #shop {
    padding-bottom: 18.75vw !important;
  }
}

.shop_slides li {
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .shop_slides li {
    padding: 0 10px;
  }
}
.shop_slides .slick-slide:nth-child(even) {
  /*margin-top: 40px;*/
}
@media screen and (max-width: 768px) {
  .shop_slides .slick-slide:nth-child(even) {
    margin-top: 0;
  }
}

.ul_shop01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -1.04166vw;
  padding-top: 30px;
}
@media screen and (max-width: 768px) {
  .ul_shop01 {
    display: block;
    margin: 0;
  }
}
.ul_shop01 li {
  width: calc(50% - 2.08322vw);
  margin: 0 1.04166vw;
  padding: 1.5em 0;
  border-bottom: 1px dashed #666;
}
@media screen and (max-width: 768px) {
  .ul_shop01 li {
    width: auto;
    margin: 0;
  }
}

.shop_map {
  position: relative;
  margin-top: 80px;
  padding-top: 50%;
  background: #333;
}
@media screen and (max-width: 768px) {
  .shop_map {
    padding-top: 100%;
  }
}
.shop_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#reserve {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #reserve {
    display: block;
  }
}
#reserve > div {
  position: relative;
  width: 50%;
  padding: 5.20833vw 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #reserve > div {
    width: auto;
    padding: 40px 20px;
  }
}

.reserve_tel {
  color: #fff;
  background: #5C4033;
}
.reserve_tel .ttl_contents02 span {
  border-color: #fff;
}

.reserve_line {

]  color: #ab9b9a;
  background: #FFFFF0;
}
.reserve_line .ttl_contents02 span {
  border-color: #ab9b9a;
}

.txt_tel {
  font-family: 'Roboto Slab', serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 100;
  letter-spacing: .2em;
  line-height: 70px;
}
@media screen and (max-width: 768px) {
  .txt_tel {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
.txt_tel a {
  color: #fff;
  text-decoration: none;
}
.txt_tel a:hover {
  opacity: 1;
}

.txt_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.txt_line span.img img {
  width: 72px !important;
  max-width: none;
}
.txt_line span.txt {
  margin-left: 1em;
  text-align: left;
}
.txt_line span.txt2 {
  margin-left: 1em;
  text-align: center;
}

/* ADD 2021/10/17 */
#special table {
  border-collapse: collapse;
  width: 100%;
}

#special table th {
  border-collapse: collapse;
  border-bottom: 1px solid #000;
  text-align: left;
  padding: 5px;
  font-weight: bold;
}

#special table td {
  border-collapse: collapse;
  border-bottom: 1px solid #000;
  padding: 5px;
}

.price {
  font-family: 'Roboto Slab', serif;
}

.red {
  color: red;
}

.staff_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .staff_row {
    display: block;
  }
}
.staff_row .staff_photo {
  width: 100%;
  text-align: center;
  display: block;
}
@media screen and (max-width: 768px) {
  .staff_row .staff_photo {
    width: 100%;
    margin: auto;
  }
}

.b {
  font-weight: bold;
}

.staff_txt {
  text-align: left;
  display: inline-block;
}
