@charset "utf-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  vertical-align: baseline;
}
*{
  -webkit-box-sizing:border-box;
  -mos-box-sizing:border-box;
  -o-box-sizing:border-box;
  -ms-box-sizing:border-box;
  box-sizing:border-box;
}
html{overflow-x: hidden;}
body {
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  overflow: hidden;
  background: #fff;
  /*  color: #3c2e29;*/
  color: #4c4c4c;
  font-size: 14px;
  width: 100%;
  font-weight: 400;
  -ms-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  text-align: center;
  letter-spacing: 0.12em;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}
h1, h2, h3, h4, h5, h6, strong, th {font-weight: normal;}
ol, ul, li {list-style: none;}
dl, dt, dd {margin : 0;padding : 0;}
blockquote, q {quotes: none;}
blockquote::before, blockquote::after, q::before, q::after {content: "";content: none;}
a {padding: 0;margin: 0;font-size: 100%;vertical-align: baseline;background: transparent;color: #4c4c4c;text-decoration: none;}
p {max-height: 999999px;}
ins {background-color: #ff9;color: #f2f2f2;text-decoration: none;}
mark {background-color: #ff9;color: #f2f2f2;font-style: italic;font-weight: bold;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom: 1px dotted;cursor: help;}
table {border-collapse: collapse;border-spacing: 0;}
img {vertical-align: middle;}
input, select {vertical-align: middle;}
.form_reset{-webkit-appearance: none;border:none;}

/* float解除 */
/*#section_pickup .inner_box::after{
  display: block;
  clear: both;
  height: 0;
  content: "";
  }*/

  /*-- ease-in-out 0.3 --*/
  a,header ,.link_act_01,.btn01,.btn01::after,#top_menu ul li::after,.drawer-menu li::after,.btn_go,
  #contents_reserve .reserve_tel,#contents_signup .btn_signup{
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

/****************************************
common (共通スタイル)
****************************************/

::selection {background: #d6cdbf;color: #fff;}
::-moz-selection {background: #d6cdbf;color: #fff;}
img::selection{background: rgba(175, 153, 115, 0.2);}
img::-moz-selection {background: rgba(175, 153, 115, 0.2);}

body{
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  /*font-family: 'Noto Sans JP','游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
  text-align: center;
  min-height: 800px;
  min-width: 320px;
  margin:0 auto;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

/***文字関係***/
.fc_1 {color: #af8a4b;}
.fc_2 {color: #d20606;} /*赤*/
.fc_3{color: #bb2a1a;} /*赤2*/

/*文字サイズ*/
.fs_sss{font-size: 0.7em;}
.fs_ss{font-size: 0.75em;}
.fs_s {font-size: 0.8em;}
.fs_l {font-size: 1.2em;}
.fs_ll{font-size: 1.5em;}
.fw_b {font-weight: bold;}
/* マージン */
.mb_10 {margin-bottom: 10px;}
.mb_20 {margin-bottom: 20px;}

/*ホバー*/
/* ふわっと薄く */
.link_act_01 {
  opacity: 1;
}
.link_act_01:hover{
  opacity: 0.7;
  filter: alpha(opacity=80);
}
/*拡大*/
.link_act_02 {
  transition: all 0.6s ease 0s;
}
.link_act_02:hover {
  cursor: pointer;
  transform: scale(1.1, 1.1);
}
/*浮き上がり*/
.link_act_03{
  transition-duration: 0.5s;
}
.link_act_03:hover{
  box-shadow: 12px 21px 36px 0 rgba(0,0,0,0.15);
  transform: translateY(-10px);
  transition-duration: 0.4s;
}
/*アクセス*/
.dl_type_01 {
  width: 100%;
  text-align: left;
  padding: 4% 4% 20px;
  box-sizing: border-box;
  margin: 0 auto 40px;
  background: #fff;
}
.dl_type_01 dt, .dl_type_01 dd {
  vertical-align: top;
  box-sizing: border-box;
}
.dl_type_01 dt {
  color: #af9973;
  font-size: 1.4em;
  /*    border-bottom: 1px dotted #c7bbb6;*/
  letter-spacing: 4px;
  display: inline-block;
  width: 100%;
}
.dl_type_01 dd {
  font-size: 1.1em;
  margin-bottom: 20px;
  padding: 5px 0 15px;
  display: inline-block;
  width: 100%;
  letter-spacing: 2px;
  border-bottom: 1px dotted #c7bbb6;
}
/*--------
アニメーション
-----------*/
/* フェードイン*/
.fadein{
  transition: opacity 1.2s;
  -moz-transition: opacity 1.2s;
  -webkit-transition: opacity 1.2s;
  -o-transition: opacity 1.2s;
  transition: transform 1.2s;
  -moz-transition: transform 1.2s;
  -webkit-transition: transform 1.2s;
  -o-transition: transform 1.2s;
}
.fadein2{
  opacity : 0;
  transition : all 1.5s;
}
.fadein2.active{
  opacity : 1;
}
/*--------------
共通ベース
--------------*/
img{
  width: 100%;
}
.inner1020 {
  width: 100%;
  max-width: 1020px;
  margin: auto;
}
.inner960 {
  width: 100%;
  max-width: 960px;
  margin: auto;
}
.paypay_box{
  width: 100%;
  margin-top: 20px;
}
.paypay img{
  max-width: 400px;
  margin-bottom: 27px;
  width: 100%;
  padding: 10px;
}
.paypay_moji{
  background: #ff0033;
  max-width: 429px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  top: -40px;
  border-radius: 50px;
  height: 65px;
}
.paypay_moji a{
  color: #fff;
  font-size: 51px;
  text-align: center;
  position: inherit;
  top: -8px;
}
.inner750{
  width: 100%;
  max-width: 750px;
  margin: auto;
}
.title_box h2 img{
  max-width: 220px;
  margin-bottom: 30px;
}

.btn01{
  position: relative;
  width: 90%;
  max-width: 500px;
  padding: 15px;
  display: inline-block;
  border: 1px solid #79604d;
}
.btn01::after {
  position: absolute;
  right: 10px;
  top: 36%;
  content: "";
  background: url(../images/arrow2_1.png)no-repeat;
  width: 16px;
  height: 16px;
  background-size: 16px;
}
.btn01:hover{
  background: #79604d;
  color: #fff;
}
.btn01:hover::after{
  right: 5px;
}
/*文字の下にライン*/
.subtitle1{
  position: relative;
  overflow: hidden;
  padding: 0 0 10px 0;
  font-size: 1.8em;
  color: #7d403b;
  margin-bottom: 30px;
  text-align: left;
}
.subtitle1::before, .subtitle1::after {
  content: "";
  position: absolute;
  bottom: 0;
}
.subtitle1:before {
  border-bottom: 2px solid #dccdc4;
  width: 100%;
}
.subtitle1:after {
  border-bottom: 2px solid #ece7e4;
  width: 100%;
}
/*ベタに白文字*/
.subtitle2{
  background: #d6c3b4;
  font-size: 1.4em;
  padding: 10px 0;
  color: #fff;
  margin-bottom: 25px;
}
/*ベタに白文字2*/
.subtitle2_2{
  /*  background: #714c46;*/
  background: linear-gradient(90deg, rgb(105, 63, 56) 0%, rgb(130, 95, 73) 100%);
  font-size: 1.6em;
  padding: 10px 0;
  color: #fff;
  margin-bottom: 30px;
}
/*左右にスラッシュ*/
.subtitle3 {
  position: relative;
  display: inline-block;
  padding: 0 45px;
  font-size: 1.8em;
  margin-bottom: 30px;
  color: #5e5d5d;
}
.subtitle3:before, .subtitle3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #919191;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.subtitle3:before {
  left:0;
}
.subtitle3:after {
  right: 0;
}
.subtitle4{
  text-align: center;
  border-bottom: 2px solid #ddd;
  font-size: 1.5em;
  color: #98291c;
  padding-bottom: 5px;
  margin-bottom: 20px;
}
/*各ボックス*/
.f_box{
  display: flex;
  flex-wrap: wrap;
}

/*--------------------------------------
メイン
--------------------------------------*/

/*----------------
ヘッダー
-----------------*/
header{
  width: 100%;
  top: 0;
  left: 0;
  z-index:10000;
  position:fixed;
  height: 82px;
  display: flex;
  background: rgba(255, 255, 255, 0.95);
  justify-content: space-between;
  align-items: center;
}
header .header_fbox{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header_logo img{
  width: 200px;
  margin: 0 20px 0 0;
}
header .h_info{
  display: flex;
  align-items: center;
  flex-direction: row;
  padding: 3px;
  position: absolute;
  right: 65px;
  top: 12px;
  letter-spacing: 1px;
  color: #5e5e5e;
}
header .h_contact a {
  color: #5e5e5e;
  display: inline-block;
  letter-spacing: 3.5px;
}
header .h_contact .pc_tel{
  font-size: 1.2em;
}
header .h_contact .shop{
  border-top: 1px solid #e6e3e2;
  font-size: 13px;
  padding-top: 2px;
  margin-top: 2px;
}
header .h_btn{
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #79322a;
  color: #fff;
  letter-spacing: 1px;
  font-size: 12px;
  height: 50px;
  width: 100px;
}
header .h_btn.h_reserve{
  margin: 0 5px 0 10px;
}
header .h_btn.h_contact{
  background: #af9973;
}
header .h_btn:hover{
 background: #9e7150;
}
header .h_btn.h_contact:hover{
  background: #d4a29c;
}
header .h_btn i{
  font-size: 1.2em;
  margin: 2px 0;
  display: block;
}
/*メニューの部分*/
#nav_top{
  display: flex;
  align-items: center;
  margin-left: 25px;
}
#nav_top ul{
  text-align: right;
  padding: 8px 0;
}
#nav_top ul li{
  position: relative;
  display: inline;
  text-align: center;
  line-height: 20px;
}
#nav_top ul li::after {
  position: absolute;
  bottom: -5px;
  left: 50%;
  content: '';
  width: 0;
  height: 2px;
  background-color: #d8a757;
  transition: .3s;
  transform: translateX(-50%);
}
#nav_top ul li:hover::after {
  width: 100%;
}
#nav_top ul li a{
  padding: 10px;
}
#nav_top ul li a:hover{
  color: #bd9b64;
}
#nav_top ul li a.active{
  color: #bd9b64;
}

  /*========================
    以下ドロワー
    ========================*/
    header .drawer_area {
      display: block;
    }
    /*ドロワー上書き*/
    .drawer--right.drawer-open .drawer-hamburger{
      right: 0;
    }
    .drawer--right .drawer_area .drawer-hamburger{
      right: 8px;
      top: 4px;
      -ms-overflow-style: none;
    }
    .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before{
      background-color: #919191;
    }
    .drawer_area .drawer-hamburger .txt{
      font-size: 10px;
      letter-spacing: 1px;
      padding-top: 14px;
      display: inline-block;
      color: #919191;
    }
    .drawer-nav{
      width: 420px;
      top: 82px;
      background-color: #eae2d4;
    }
    .drawer--right .drawer-nav{
      right: -100%;
      -webkit-transition: right 1.6s cubic-bezier(.19,1,.22,1);
      transition: right 1.5s cubic-bezier(.19,1,.22,1);
    }
    .drawer-overlay{
      background-color:rgba(0,0,0,0);
    }
    .drawer-menu{
      padding: 20px 20px 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: baseline;
    }
    .drawer-menu li{
      width: 48%;
      position: relative;
      text-align: left;
      border-bottom: 1px solid #dad2c0;
    }
    .drawer-menu li:not(.btn_box)::after{
      position: absolute;
      right: 20px;
      top: 38%;
      content: "";
      background: url(../images/arrow1.png)no-repeat;
      width: 6px;
      height: 16px;
      background-size: 6px;
    }
    .drawer-menu li:hover::after{
      right: 15px;
    }
    .drawer-menu li.long{width: 100%;}
    .drawer-menu li.last2{margin-bottom: 20px;}
    .drawer-menu li.btn_box{
      border-bottom: 0;
      width: 100%;
    }
    .drawer-menu li.btn_box .d_btn{
      width: 90%;
      background: #79322a;
      border: 1px solid #79322a;
      color: #fff;
      letter-spacing: 1px;
      display: block;
      line-height: 40px;
      margin: 0 auto 10px;
      text-align: center;
      padding: 0;
    }
    .drawer-menu li.btn_box .d_btn.h_contact{
      background: #af9973;
      border:1px solid #af9973;
    }
    .drawer-menu li.btn_box .d_btn:hover{
      color: #79322a;
      background: none;
    }
    .drawer-menu li a{
      padding: 15px 10px;
      display: inline-block;
      width: 100%;
      height: 100%;
    }
    .drawer-menu li a.active{
      background: rgba(255, 255, 255, 0.8);
    }
    /*ドロワー内スクロール対応策*/
    .drawer--top.drawer-open .drawer-nav {
      top: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    .drawer--left.drawer-open .drawer-nav,
    .drawer--left .drawer-hamburger,
    .drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
      left: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }

    .drawer--right.drawer-open .drawer-nav,
    .drawer--right .drawer-hamburger,
    .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
      right: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }
/*----------------
フッター
-----------------*/

/*----TOPに戻るボタン----*/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}
#page-top .go_top {
  max-width: 30px;
  margin-bottom: 2px;
}

#page-top a {
  background: rgba(255, 255, 255, 0.9);
  height: 60px;
  width: 60px;
  text-align: center;
  display: flex;
  justify-content: center;
  border-radius: 60px;
  align-items: center;
  flex-direction: column;
  font-size: 10px;
  color: #919191;
}
#page-top a:hover {
  text-decoration: none;
  background: #6f4a46;
}
/*SP下固定フッターボタン*/
#footer_nav{
  display: none;
}

/*----ぱんくず-----*/
.pankuzu{
  padding: 15px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 10px;
}
.pankuzu ol li {
  display: inline-block;
  list-style-type: none;
  padding-right: 5px;
  letter-spacing: 2px;
  font-size: 12px;
}
.pankuzu ol li::before {
  content: " > ";
  padding-right: 5px;
  vertical-align: top;
}
.pankuzu ol li:first-child::before{
  content:none;
}

/*ーーフッターー*/
footer {
  background: #cdb4a2;
}
footer .footer_area {
  padding: 0 40px;
}
footer .f_box{
  padding: 25px 0;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
footer .box_left{
  flex: 2 1 20%;
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: center;
  padding: 30px 0 0 0;
}
footer .box_right{
  flex: 3 1 30%;
}
footer .box_left .f_logo {
  max-width: 220px;
  margin-bottom: 10px;
}
footer .f_add{
  font-size: 0.9em;
  margin:5px 0;
}
footer .box_left .link_google{
  margin-bottom: 10px;
}
footer .box_left .link_google a{
  color: #804c46;
}
footer .info_box{
  border:1px solid #8c7a76;
  padding: 10px 20px;
  margin-bottom: 10px;
}
footer .tel{
  font-size: 1.4em;
  display: inline-block;
}
/*右*/
footer .box_right .in_box {
  width: 100%;
  max-width: 600px;
  width: 100%;
}
footer .menu_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 10px;
}
footer nav ul {
  padding: 0px 0px 10px;
}
footer .f_menu.mc_2 ul{
  width: 100px;
}
footer .f_menu.menu_line {
  margin: 0 70px;
}
footer .f_menu ul li.title {
  font-size: 0.8em;
  letter-spacing: 3px;
  color: #f5eeea;
}
footer .f_menu ul li {
  text-align: left;
  padding: 10px 10px 10px 0;
}
footer .f_menu ul li a {
  position: relative;
  display: inline-block;
  letter-spacing: 2px;
  width: 100%;
  height: 100%;
}
footer .f_menu ul li:hover a{
  color: #ad6f67;
}
footer .f_menu ul li a span{
  position: relative;
  display: inline-block;
}
footer .f_menu ul li a span::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.7);
  transition: .3s;
}
footer .f_menu ul li:hover a span::after {
  width: 100%;
}
footer .f_menu ul li a.active{
  color: #fff;
}
footer .f_info .shop{
  padding: 0 0 8px 0;
}
footer .btn_box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
footer .btn_box .f_btn{
  background: #79322a;
  color: #fff;
  letter-spacing: 1px;
  font-size: 12px;
  padding: 12px 30px;
  width: 49%;
}
footer .btn_box .f_btn.f_contact{
  background: #846a3e;
}
footer .btn_box .f_btn:hover{
  background: #c37a70;
}
footer .btn_box .f_btn.f_contact:hover{
  background: #b39a71;
}
footer .copyright {
  color: #6e5848;
  font-size: 12px;
  padding: 4px 20px;
}


/*---------------------------
メインビジュアル
---------------------------*/
#mainvisual {
  padding: 0;
  margin: 124px 0 0 0;
  position: relative;
  height: 80vh;
  width: 100%;
  overflow: hidden;
}
#mainvisual ul{
  margin: 0;
  padding: 0;
}
#mainvisual .slides li {
  height: 80vh;
  width: 100%;
  position: relative;
}
#mainvisual ul li:nth-of-type(1){
  background: url(../images/mainvisual_01.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(2){
  background: url(../images/mainvisual_02.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(3){
  background: url(../images/mainvisual_03.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(4){
  background: url(../images/mainvisual_04.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(5){
  background: url(../images/mainvisual_05.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(6){
  background: url(../images/mainvisual_06.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(7){
  background: url(../images/mainvisual_07.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li:nth-of-type(8){
  background: url(../images/mainvisual_08.jpg)center bottom no-repeat;
  background-size: cover;
}
#mainvisual ul li p{
/*  color: #fff;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2rem;*/
  position: absolute;
/*  text-align: left;
text-shadow: 1px 0px 8px #000000;*/
z-index: 10;
}
#mainvisual ul li:nth-of-type(1) p{
  right: 10%;
  top: 14%;
  padding:0 0 0 40px;
}
#mainvisual ul li:nth-of-type(1) p img{
  max-width: 600px;
}
#mainvisual ul li:nth-of-type(2) p{
  /*  text-shadow: 1px 1px 4px #000000;*/
  left: 6%;
  bottom: 15%;
  padding: 0 6% 0 0;
}
#mainvisual ul li:nth-of-type(2) p img{
  max-width: 760px;
}
#mainvisual ul li:nth-of-type(3) p{
  writing-mode: vertical-rl;
  top: 10%;
  left: 20%;
}
#mainvisual ul li:nth-of-type(3) p img{
  max-width: 150px;
}
#mainvisual ul li:nth-of-type(4) p{
  top: 20%;
  left: 0;
  padding: 0 10%;
}
#mainvisual ul li:nth-of-type(4) p img,
#mainvisual ul li:nth-of-type(5) p img{
  max-width: 550px;
}
#mainvisual ul li:nth-of-type(5) p{
  text-align: center;
  top: 38%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 0 5%;
}

#mainvisual ul li:nth-of-type(6) p{
  right: 0;
  bottom: 32%;
  padding: 0 10%;
}
#mainvisual ul li:nth-of-type(6) p img{
  max-width: 500px;
}
#mainvisual ul li:nth-of-type(7) p,
#mainvisual ul li:nth-of-type(8) p{
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.mainvisual .flex-active-slide {
  -webkit-animation: increase 4s ease -.1s;
  animation: increase 4s ease -.1s;
}
@-webkit-keyframes increase {
  0% {-webkit-transform: scale(1.1, 1.1);}
  100% {-webkit-transform: scale(1, 1);}
}
@keyframes increase {
  0% { transform: scale(1.1, 1.1);}
  100% { transform: scale(1, 1);}
}
/*ヘッドライン*/
#headline{
  background: #6c5249;
  padding:  6px 0;
  color: #fff;
  position: fixed;
  top: 82px;
  width: 100%;
  z-index: 3;
}
#headline .scroll {
  margin: auto;
  max-width: 1200px;
  width: 96%;
  height: 30px;
  overflow: hidden;
}
#headline .scroll > div{
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  line-height: 30px;
  animation: scrollAnime 40s linear infinite;
}
#headline .scroll span {
  margin: 0 100px 0 0;
}
#headline .scroll span:last-child {
  margin: 0;
}
@keyframes scrollAnime {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}


main {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.main_inner{
  margin: 0 auto;
}
/*---------------
■ サイド関係　■
---------------*/
.section_side{
  padding: 70px 20px 140px;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  width: 50%;
}
/*------メディア掲載------*/
.topmedia_pc{
  margin: 0 0 60px 0;
}
.topmedia_pc img{
  max-width: 350px;
}
.topmedia_sp{
  display: none;
}
/*------ツイッター------*/
#section_twitter{
  position: relative;
  width: 100%;
  max-width: 350px;
  margin: 0 0 60px;
}
#section_twitter .t_outbox{
  margin: 0 auto;
  max-width: 400px;
  width: 100%;
  height: 530px;
  /* border: 1px solid #ddd; */
  /*  overflow: scroll;*/
}
/*@media screen and (min-width:901px) and ( max-width:950px) {
    #section_twitter .t_outbox{
    height: 410px;
  }
}
@media screen and (min-width:951px) and ( max-width:990px) {
    #section_twitter .t_outbox{
    height: 440px;
  }
}
@media screen and (min-width:991px) and ( max-width:1153px) {
    #section_twitter .t_outbox{
    height: 480px;
  }
}*/
#section_twitter .t_outbox > div{
  height: 85%;
  /* overflow: auto;
  -webkit-overflow-scrolling: touch; */
}
#section_side_bnr ul li{
  margin-bottom: 20px;
}
#section_side_bnr ul li:last-of-type{
  margin-bottom: 0;
}
#section_side_bnr ul li img{
  max-width: 330px;
}
/*---------------
■ トップページ　■
---------------*/

/*メニュー部分*/
#top_menu{
  border-bottom: 1px solid #ddd;
}
#top_menu ul{
  display: flex;
  flex-wrap: wrap;
}
#top_menu ul li{
  position: relative;
  width: calc(100% / 2);
  height: 180px;
  padding: 20px 0;
  border-right: 1px solid #ddd;
  background: url(../images/bg_menu_img_pc_price.jpg)right center no-repeat;
  background-size: cover;
}
#top_menu ul li:nth-of-type(2n){
  border-right: none;
}
#top_menu ul li::after{
  position: absolute;
  right: 20px;
  top: 40%;
  content: "";
  background: url(../images/arrow1.png)no-repeat;
  width: 10px;
  height: 23px;
  background-size: 10px;
}
#top_menu ul li:hover::after{
  right: 10px;
}
#top_menu ul li.yomogi{
  background: url(../images/bg_menu_img_pc_yomogi.jpg)right center no-repeat;
  background-size: cover;
}
#top_menu ul li a{
  width: 100%;
  height: 100%;
  display: inline-block;
}
#top_menu ul.set1 img{
  max-width: 310px;
  display: none;
}
#top_menu ul.set2{
  display: none;
}
.section_right{
  background: #f9f7f6;
  padding-bottom: 140px;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 70px 20px 200px;
}
.column2{
  display: flex;
  margin: 0 auto;
}

/*-------- お客様の声 -------*/
#section_voice {
  background: #f9f7f6;
  padding: 0 20px;
}
#voice_box .inner {
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
}
#voice_box {
  background: #fff;
  border-radius: 10px;
  padding: 6%;
  width: 100%;
  min-height: 930px;
  max-width: 700px;
  max-height: 1200px;
  height: auto;
  overflow: scroll;
  margin: 0 auto 30px;
}
#voice_box article{
  margin-bottom: 10%;
  border: 1px solid #eae7e2;
  padding: 20px;
}
#voice_box article:last-of-type{
  margin-bottom: 0;
}
/*共通スタイル*/
.voice article {
  width: 100%;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column-reverse;
}
.voice article .title_time {
  /*position: relative;*/
}
.voice article h3 {
 /* position: relative;*/
 overflow: hidden;
 padding: 0 0px 5px 0;
 font-size: 1.4em;
 border-bottom: 2px solid #d6cdbf;
 text-align: right;
}
.voice article time {
  /*position: absolute;
  left: 0;
  top: 37px;*/
  letter-spacing: 1px;
}
.voice article .txt {
  padding: 10px;
  margin-bottom: 20px;
}
.voice article img{
  width: auto;
  max-width: 100%;
  /*    max-height: 100%;*/
  height: auto!important;
}
.photo_box1{
  max-width: 1000px;
  padding: 0 20px;
  height: 250px;
  margin: -125px auto -125px;
  z-index: 1;
  position: relative;
}
.photo_box1 .bg_pic.lazyloaded{
  background: url(../images/bg_pic1.jpg)center center;
  background-size: cover;
  height: inherit;
}
/*-------- 新着情報 --------*/
#section_news{
  padding: 180px 20px 80px;
  background: #f5eeea;
}
#section_news .news_box{
  background: #fff;
  padding: 15px 30px;
}
#section_news .news_box article:last-of-type .news_titile{
  border-bottom:none;
}
#section_news article img{
  width: auto;
  height: auto!important;
  max-width: 100%;
}
#section_news time{
  font-size: 0.8em;
  color: #ccc;
  margin-bottom: 5px;
  display: inline-block;
}
#section_news .btn_news{
  color: #665141;
  border: 1px solid #856e5d;
  padding: 6px 15px;
  display: inline-block;
  margin: 30px 0 0 0;
}
/*----- アコーディオン設定 -----*/
/*#section_news article:first-of-type .news_detail{
  display: block;
  }*/
  #section_news .news_titile {
    text-align: left;
    position: relative;
    padding: 12px 30px 12px 0;
    border-bottom: 1px solid #ccbeb2;
    cursor: pointer;
  }
  #section_news .news_titile::before {
    position: absolute;
    right: 10px;
    top: 40%;
    content: "";
    background: url(../images/arrow2_1.png)no-repeat;
    width: 16px;
    height: 16px;
    background-size: 16px;
  }
  #section_news .news_titile.open::before {
    background: url(../images/arrow2_2.png)no-repeat;
    width: 16px;
    height: 16px;
    background-size: 16px;
  }
  #section_news .news_detail{
    text-align: left;
    display: none;
    padding: 24px;
    overflow: scroll;
    background: #fbf9f8;
    line-height: 1.8em;
  }
  #section_news .news_detail h3{
    font-size: 1.2em;
    color: #9e8f75;
  }
  #section_news .news_detail p{
    margin-bottom: 15px;
  }
  #section_news .news_detail p:last-child{
    margin-bottom: 0;
  }
  /*----- 動画 -----*/
  #section_movie{
    /*  display: none;*/
    background: #e4d9d0;
    padding: 40px 20px;
  }
  #section_movie .movie_box{
    position: relative;
    width: 100%;
    /*  padding-top: 56.25%;*/
    padding-top: 394px;
    max-width: 700px;
  }
  #section_movie  iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  /*------- トップ下部バナー ----------*/
  #section_topbnr{
    padding: 60px 30px;
  }
  #section_topbnr img{
    max-width: 750px;
  }

/***************************************
下層ページ
****************************************/
#contents_price,#contents_access,#contents_link,#section_err,#section_signup{
  min-height: 250px;
}
.other_title_space{
  background: #f7f6f4;
  height: 300px;
}
#contents_access .other_title_space,
#contents_facilities .other_title_space{
  height: 250px;
}
.other_title_space .title_inner{
  position: relative;
}
.other_title_space .title_inner .title_box_other{
  position: absolute;
  top: 140px;
  left: 0;
  right: 0;
}
#contents_access .title_inner .title_box_other,
#contents_facilities .title_inner .title_box_other{
  top: 120px;
}
#contents_access .other_title_space,
#contents_facilities .other_title_space{
  background: #fff;
}
.other_title_space .title_inner .title_box h2 img{
  margin-bottom: 0px;
  filter: brightness(9) drop-shadow(0px 0px 10px #714c46);
}
#contents_access .other_title_space .title_inner .title_box h2 img,
#contents_link .other_title_space .title_inner .title_box h2 img,
#contents_contact .other_title_space .title_inner .title_box h2 img,
#contents_reserve .other_title_space .title_inner .title_box h2 img,
#contents_facilities .other_title_space .title_inner .title_box h2 img,
#contents_magazine .other_title_space .title_inner .title_box h2 img{
  filter:none;
}
#contents_price .other_title_space{background: url(../images/bg_h_price.jpg) center center no-repeat;background-size: cover;}
#contents_voice_list .other_title_space{background: url(../images/bg_h_voice.jpg) center center no-repeat;background-size: cover;}
#contents_recruit .other_title_space{background: url(../images/bg_h_recruit.jpg) center center no-repeat;background-size: cover;}
#contents_contact .other_title_space{background: url(../images/bg_h_contact.jpg) center center no-repeat;background-size: cover;}
#contents_reserve .other_title_space{background: url(../images/bg_h_reserve.jpg) center center no-repeat;background-size: cover;}
#contents_magazine .other_title_space{background: url(../images/bg_h_magazine.jpg) center center no-repeat;background-size: cover;}
#contents_qa .other_title_space{background: url(../images/bg_h_qa.jpg) center center no-repeat;background-size: cover;}
#contents_link .other_title_space{background: url(../images/bg_h_link.jpg) left center no-repeat;background-size: cover;}

.other_page{
  padding: 100px 0 90px;
  background: #f7f6f4;
}
#contents_price .other_page{
  padding: 70px 0 0;
}
#contents_recruit.recruit_top .other_page{
  padding: 100px 0 0;
}

#contents_price .inner960{
  padding: 0 20px;
  max-width: 1000px;
}

/**--------------------------
料金ページ
--------------------------**/
#contents_price .top_txt{
  max-width: 850px;
  margin-bottom: 20px;
}
#contents_price .menu_box ul li{
  background: #fff;
  padding: 40px;
  margin-bottom: 60px;
}
#contents_price .menu_box .txt_box,
#contents_price .menu_box2 .txt_box{
  margin-top: 10px;
  text-align: left;
  background: #f7f5f4;
  padding: 20px;
}
#contents_price .menu_box .txt_box .note span,
#contents_price .menu_box2 .txt_box span{
  color: #bb2a1a;
  border-bottom: 1px solid #bb2a1a;
  margin-top: 10px;
  display: inline-block;
}

/*メニュー部分*/
#contents_price .menu_box ul li:nth-of-type(even) .f_box {
  flex-direction: row-reverse;
}
#contents_price .menu_box .f_box {
  margin-bottom: 20px;
  justify-content: space-between;
  align-items: center;
}
#contents_price .menu_box .subtitle2_2,
#contents_price .menu_box2 .subtitle2_2{
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#contents_price .menu_box .subtitle2_2 img{
  height: 100%;
  max-height: 40px;
  width: auto;
}
#contents_price img.main_pic {
  width: 50%;
  max-width: 440px;
}
#contents_price .video_side {
  width: 50%;
}
#contents_price .video_side .video_frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#contents_price .video_side .video_frame video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#contents_price .menu_box .price{
  width: 46%;
}
#contents_price .menu_box .txt_box h4{
  font-size: 1.2em;
  margin-bottom: 10px;
  color: #9c855c;
  font-weight: 600;
}
#contents_price .menu_box .txt_box h4 span {
  position: relative;
  display: inline-block;
  background: #af9973;
  color: #fff;
  padding: 3px 5px 3px 10px;
  font-size: 12px;
  letter-spacing: 3px;
  margin-right: 22px;
}
#contents_price .menu_box .txt_box h4 span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 10px solid #af9973;
}
#contents_price .menu_box .txt_box .txt{
  color: #666;
  letter-spacing: 0.8px;
  font-size: 0.95em;
  font-feature-settings : "palt";
  text-align: justify;
  font-weight: 300;
}

/*その他*/
#contents_price .menu_box2{
  margin-bottom: 80px;
}
#contents_price .menu_box2 ul{
  display: flex;
  flex-wrap: wrap;
}
#contents_price .menu_box2 ul li{
  background: #fff;
  margin-right: 1%;
  width: calc(98% / 2);
  padding: 20px;
}
#contents_price .menu_box2 ul li:last-child{
  margin-right: 0;
}
#contents_price .menu_box2 .subtitle2_2 img.facial{
  max-width: 440px;
}
#contents_price .menu_box2 .subtitle2_2 img.yomogi{
  height: 100%;
  max-height: 40px;
  width: auto;
}
#contents_price .menu_box2 img.pic{
  max-width: 440px;
  margin-bottom: 15px;
}
#contents_price .menu_box2 .txt_box a{
  color: #bd9b63;
  border-bottom: 1px solid ;
}
#contents_price .menu_box2 .txt_box span{
  margin: 0 0 10px 0;
}

/*オプション*/
#contents_price .option_box{
  background: #fff;
  max-width: 760px;
  margin: 0 auto 80px;
}
#contents_price .option_box ul{
  padding: 0 40px 40px 40px;
}

/*---- 料金表・オプション金額部分 ----*/
.price table {
  width: 100%;
  border-spacing: 0;
  text-align: center;
  table-layout: fixed;
  margin: 0 auto;
}
.price table tr:not(.last) {
  border-bottom: 1px dotted rgba(214, 205, 191, 0.5);
}
.price table tr.last {
  color: #bf8b86;
}
.price table tr.under_txt{
  border-bottom: none;
}
.price table tr th,
.price table tr td {
  text-align: right;
  padding: 10px 0;
  font-size: 1.4em;
  vertical-align: middle;
}
.price table tr th,.other_price table tr th{
  width: 120px;
}
.price table th span,.price table td span,
.other_price table th span,.other_price table td span{
  font-size: 0.7em;
}
/*他金額部分*/
.other_price table {
  width: 100%;
  color: #616161;
}
.other_price table tr {
  background: #fff;
  font-size: 1.4em;
}
.other_price table tr th {
  padding: 10px 0;
}
.other_price table tr td {
  width: 70%;
  text-align: right;
  padding: 10px 15px 10px 0;
}
.option_box table tr.last {
  border-top: 1px solid #ddd;
}

/*文字入るやつ*/
.price table tr.under_txt th,.price table tr.under_txt td{
  padding: 10px 0 4px 0;
}
.other_price p.note,
.option_box table tr.txt td,
.price table tr.txt td{
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 1px;
  color: #a28c63;
}
.price table tr.txt td{
  padding: 4px 10px 4px 0;
  background: #f7f6f4;
}
.other_price p.note{
  border-top: 1px solid #eae6e3;
  margin-top: 5px;
  padding-top: 4px;
}
.option_box table tr.under_txt th{
  padding: 0 0 0  20px;
  text-align: left;
}
/*オプション*/
.option_box.other_price table tr th{
  width: 25%;
}
.option_box.other_price table tr th:nth-of-type(2){
  width: 50%;
}
.option_box table tr.dot td{
  border-bottom: 1px dotted #eaeaea;
}
.option_box table tr.txt td{
  font-size: 10px;
}
/*-- 注意事項 --*/
#contents_price .note_txt{
  max-width: 760px;
  margin: 0 auto 80px;
}
#contents_price .note_txt > div{
  padding: 30px 20px;
  text-align: left;
  border: 1px solid #ddd;
}
#contents_price .note_txt > div > p{
  margin-bottom: 10px;
}
#contents_price .under_bnr{
  background: #fff;
  padding: 30px 20px;
}
#contents_price .under_bnr img{
  max-width: 750px;
}
/*料金*/
.table_system .top th,
.table_system td{
  padding: 15px 0;
  vertical-align: middle;
}
.table_system th{
  padding: 9% 0 15px;
}
.table_system th p{
  font-size: 1.5em;
}
.table_system td{
  border-top: 1px dotted #d6cecb;
  border-bottom: 1px dotted #d6cecb;
}
.table_system tr.under_txt td{
  border:none;
  font-size: 1em;
  color: #87bfa3;
}
/*注意事項とかの*/
#contents_price .bt_box{
  font-size: 0.9em;
  letter-spacing: 1px;
  background: #fbfbfb;
  padding: 40px 25px 20px;
  text-align: left;
}
#contents_price .bt_box .txt_inner{
  max-width: 760px;
  margin: 0 auto;
}
#contents_price .bt_box .txt_inner > div{
  margin-bottom: 30px;
  line-height: 1.8em;
  font-feature-settings: "palt";
}
#contents_price .bt_box .subtitle{
  font-size: 1.2em;
  border-bottom: 2px solid #dcd3d1;
  margin-bottom: 20px;
}
/**--------------------------
店内風景
--------------------------**/
#contents_facilities .other_page {
  padding: 0 0 90px;
}
#contents_facilities .concept {
  margin-bottom: 60px;
  background: url(../images/point1.png),url(../images/point2.png),#fff;
  background-size: 350px,350px;
  background-position: -3% 332px, 105% 101%,center center;
  background-repeat: no-repeat,no-repeat,repeat;
  padding-bottom: 30px;
}
#contents_facilities .concept > div {
  margin-bottom: 30px;
}
#contents_facilities .concept .sec1 {
  background: url(../images/facilities_img1.jpg)center center no-repeat;
  background-size: cover;
  color: #fff;
  padding: 90px 20px;
  line-height: 2.4em;
  font-size: 1.2em;
  color: #644946;
  text-shadow: 0px 0px 3px #fff,0px 0px 6px #fff, 0px 0px 12px #fff,0px 0px 20px #fff,0px 0px 40px #fff;
}
#contents_facilities .concept > div:not(.sec1) {
  position: relative;
  line-height: 2em;
  z-index: 1;
  font-size: 1.2em;
  font-weight: 300;
}
#contents_facilities .concept > div:not(.sec1) .inner750 {
  padding: 60px 20px;
}
#contents_facilities .concept .sec2:after {
  position: absolute;
  right: 0;
  top: 45px;
  content: "";
  background: url(../images/facilities_img2.jpg)center center no-repeat;
  background-size: cover;
  width: 40%;
  height: 260px;
  z-index: 0;
}
#contents_facilities .concept .sec3:after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  background: url(../images/facilities_img3.jpg)center center no-repeat;
  background-size: cover;
  width: 40%;
  height: 260px;
  z-index: 0;
}
#contents_facilities .concept .sec2 .inbox{
  margin-right: 41%;
}
#contents_facilities .concept .sec3 .inbox {
  margin-left: 50%;
}
/*写真部分*/
#contents_facilities .picture_area {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
#contents_facilities .picture_area .outer {
  padding: 30px 20px 20px;
  background: #fff;
}
#contents_facilities .picture_area .inner {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
/*大きい画像*/
#facilities-img{
  width: 64%;
}
#facilities-img img{
  max-width: 600px;
  height: auto;
}
/*サムネ部分*/
#facilities-thum{
  margin-left: 3%;
  text-align: left;
  font-size: 10px;
  width: 33%;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.4em;
  letter-spacing: 1.5px;
}
#facilities-thum > div{
  width: calc((100% - 24px) / 3);
  margin: 0 4px 5px 4px;
}
#facilities-thum > div a{
  display: flex;
  flex-direction: column;
  align-items: center;
}
#facilities-thum img{
  width: 90px;
  height:60px;
  object-fit: cover;
}
/**--------------------------
店舗案内・アクセスページ
--------------------------**/
#contents_access .top_img{
  height: 370px;
  width: 100%;
  background: url(../images/access_top.jpg)center center no-repeat;
  background-size: cover;
}
#contents_access iframe{
  width: 100%;
  margin: 0 auto 20px;
  max-width: 960px;
  height: 400px;
}
#contents_access .btn_map{
  display: none;
}
/**--------------------------
お客様の声（一覧ページ）
--------------------------**/
#contents_voice_list .other_page{
  position: relative;
  z-index: 2
}
#contents_voice_list .inner{
  margin: 0 auto;
  max-width: 960px;
  padding: 0 20px;
}
#contents_voice_list #voice_list{
  width: 100%;
}
#contents_voice_list .article_box{
  width: 75%;
}
#contents_voice_list article{
  background: rgba(255, 255, 255, 0.98);
  border-radius: 10px;
  padding: 6%;
  margin-bottom: 40px;
  box-shadow: 0px 1px 20px -4px rgba(0, 0, 0, 0.1);
}
#contents_voice_list .voice{
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#contents_voice_list .article_box:nth-of-type(even){
  margin-left: 25%;
}
#contents_voice_list .article_box{
  position: relative;
  z-index: 2
}
#contents_voice_list .article_box:nth-of-type(1)::after {
  position: absolute;
  content: "";
  background: url(../images/voice_list_01.jpg) center center no-repeat;
  background-size: cover;
  width: 70%;
  height: 60%;
  min-height: 200px;
  bottom: -7%;
  right: -50%;
  z-index: -1;
  filter: opacity(0.3);
}
#contents_voice_list .article_box:nth-of-type(4)::after {
  position: absolute;
  content: "";
  background: url(../images/voice_list_02.jpg) left center no-repeat;
  background-size: cover;
  width: 70%;
  height: 100%;
  min-height: 300px;
  top: 20%;
  left: -50%;
  z-index: -1;
  filter: opacity(0.3);
}
#contents_voice_list .btn_box{
  max-width: 480px;
  display: flex;
  align-content: center;
  justify-content: center;
  margin: 0 auto;
}
#contents_voice_list .btn_box .btn01{
  max-width: 300px;
  margin: 0 10px;
}
#contents_voice_list .btn_box .btn01.prev::after{
  left: 10px;
  background: url(../images/arrow2_3.png)no-repeat;
  background-size: 16px;
}
#contents_voice_list .btn_box .btn01.prev:hover::after{
  left: 5px;
}
/**--------------------------
Q&A
--------------------------**/
#contents_qa .subtitle1{
  color: #a14940;
}
#contents_qa .subtitle1:before{
  border-bottom: 2px solid #af7d79;
}
#contents_qa ul:not(.last) {
  margin-bottom: 60px;
}
#contents_qa ul li {
  margin: 0 0 20px 0;
}
#contents_qa .qa_title,
#contents_qa .answer {
  text-align: left;
  line-height: 1.8em;
}
#contents_qa .qa_title {
  position: relative;
  background: #fff;
  cursor: pointer;
  padding: 20px 40px 20px 54px;
}
#contents_qa .qa_title.open {
  background: #e6dad0;
}
#contents_qa .qa_title::before {
  position: absolute;
  left: 15px;
  /*    top: calc(50% - 15px);*/
  top: 16px;
  content: "";
  background: url(../images/qa_q.png)no-repeat;
  width: 30px;
  height: 30px;
  background-size: 30px;
}
#contents_qa .qa_title::after {
  position: absolute;
  right: 15px;
  top: calc(50% - 8px);
  content: "";
  background: url(../images/arrow4_1.png)no-repeat;
  width: 16px;
  height: 16px;
  background-size: 16px;
}
#contents_qa .qa_title.open::after {
  background: url(../images/arrow4_2.png)no-repeat;
  background-size: 16px;
}
#contents_qa .answer {
  display: none;
  background: #fff;
  padding: 15px 30px;
}
#contents_qa .answer p{
  margin-bottom: 15px;
}

/**--------------------------
フォーム(各共通)
--------------------------**/

/*エラーになるので分割*/
input::placeholder,textarea::placeholder{color: #d2cfcc;}
input:-ms-input-placeholder,textarea:-ms-input-placeholder{color: #d2cfcc;}
input::-ms-input-placeholder,textarea::-ms-input-placeholder{color: #d2cfcc;}

input{
  height: 50px;
  padding: 0px 10px;
  font-size: 14px;
  letter-spacing: 1.5px;
  width: 100%;
  background: #fff;
  border:none;
  border: 1px solid #ddd;
}
button, textarea, select{
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: 1px solid #ddd;
}
button{
  border:none;
}
textarea, select{
  width: 100%;
  font-size: 14px;
  padding: 8px;
  letter-spacing: 1.5px;
  border: none;
  background: #fff;
}
textarea{
  border: 1px solid #ddd;
}
select {
  color: #3c2e29;
  text-align: left;
  vertical-align: middle;
  padding: 3px 10px 3px 15px;
  height: 54px;
  border: 1px solid #dad4d1;
  border-radius: 0;
}
button:focus{
  outline:none;
}
select:focus,textarea:focus{
  outline:none;
  border: 1px solid rgb(193, 156, 92);
}
input:focus{
  outline:none;
  border: 1px solid rgb(193, 156, 92);
}
/*input[type=radio], input[type=checkbox] {
  display: none;
  }*/
/*#contents_form input[type=radio], #contents_form input[type=checkbox] {
  display: inline;
  background: #eee;
  padding: 5px 10px;
}
*/
label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 12px;
  text-align: left;
  padding: 0 10px 0 5px;
  margin: 5px 5px 0 0;
  border: 1px solid #afafaf;
}
input[type="radio"] {
  -webkit-appearance: radio;
  content: "●";
  color: #e2e2e2;
  font-size: 30px;
  line-height: 1;
  margin-right: 5px;
  vertical-align: sub;
  width: 20px;
}
input[type=radio]:checked + .radio::before {
  opacity: 1;
}
input[type=checkbox]:checked + .checkbox::before {
  opacity: 1;
}
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f8faff inset;
}
.checkbox::before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 21px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #e49c9c;
  border-bottom: 3px solid #e49c9c;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*ラジオボタンの装飾*/
.checkbox-input {
  display: none;
}
.checkbox-parts {
  font-size: 14px;
  color: #a7a2a0;
  cursor: pointer;
  position: relative;
  padding: 15px 30px 15px 41px;
  transition: .3s;
  border-radius: 5px;
  border: 1px solid #ece6e0;
  display: inline-block;
  line-height: 1;
  margin-bottom: 10px;
}
.checkbox-input:checked+.checkbox-parts {
  background: #efe4d0;
  border: 1px solid #c7b89b;
  color: #78342b;
}
.checkbox-parts::before {
  content: "";
  display: block;
  left: 15px;
  width: 14px;
  height: 14px;
  border-radius: 15px;
  border: 1px solid #f6f3f0;
  position: absolute;
  background: #f6f3f0;
}
.checkbox-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 18px;
  left: 18px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transition: .2s;
  display: block;
}
.checkbox-input:checked+.checkbox-parts::after {
  background: #92554d;
}
/*//装飾ここまで*/

/*チェックボックス装飾*/
input[type=checkbox]{
  height: 20px;
  width: 18%;
}

/*フォーム共通*/
.section_form .note_txt{
  padding-bottom: 3%;
  margin-bottom: 3%;
  color: #584d39;
  border-bottom: 1px dotted #ddd;
}
.section_form .note_txt span {
  color: #c53a2b;
}
.section_form .conf_txt{
  font-size: 16px;
  letter-spacing: 5px;
  color: #a79088;
  border-left: 4px solid;
  padding-left: 15px;
  margin-bottom: 30px;
}
.section_form .btnbox {
  text-align: center;
}
.section_form .btn_go{
  position: relative;
  background: #b09973;
  border: 1px solid #b09973;
  color: #fff;
  max-width: 320px;
  width: 80%;
  margin: 20px auto 0;
  padding: 15px 20px;
  font-size: 1.1em;
  letter-spacing: 2px;
}
.section_form .btn_go:hover{
  background: #f7f6f4;
  color:  #9e8a66;
}
.section_form form{
  /*  border: 1px solid rgba(142, 120, 110, 0.8);*/
  padding: 5% 10%;
  text-align: left;
  background: #fff;
}
.section_form .form_inner > div{
  margin-bottom: 30px;
  background: #fff;
  padding: 10px;
}
.section_form .form_inner > div > p{
  padding-bottom: 5px;
}
.section_form .form_inner .input_conf{
  min-height: 50px;
  padding: 15px 5px;
  word-wrap: break-word;
}
.section_form .conf_page .form_inner > div{
  border-bottom:1px solid #ddd;
}
.section_form .conf_page .form_inner > div > p:before,
#contents_recruit.section_form .form_inner > div > p:before{
  font-family: "Font Awesome 5 Free";
  content: '\f0d7';
  font-weight: 900;
  margin-right: 5px;
  color: #ccbda5;
}
.section_form .half input{
  width: 50%;
  margin-right: 10px;
}
.finish_txtbox{
  margin: 20px 10px;
}
.select-wrap{
  position: relative;
}
.select-wrap:before {
  z-index: 1;
  position: absolute;
  top: 18px;
  right: 20px;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #6e564e;
  border-bottom: 2px solid #6e564e;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
/**--------WEB予約ページ--------**/
#contents_reserve .top_txtbox{
  margin-bottom: 20px;
  font-size: 1.2em;
  max-width: 480px;
  margin: 0 auto 30px;
}
#contents_reserve .top_txtbox > div{
  margin: 10px 0;
  background: #e6e1d9;
  border-radius: 20px;
  padding: 10px;
  color: #775037;
}
#contents_reserve .top_txtbox .shop_time{
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #f7f5f4;
}
#contents_reserve .top_txtbox p:not(.shop_time){
  font-size: 1.2em;
  font-weight: 400;
}
#contents_reserve .top_txtbox2{
  padding: 5% 10%;
  background: #fff;
  margin-bottom: 30px;
}
#contents_reserve .reserve_tel{
  display: block;
  padding: 15px;
  font-size: 1.2em;
  background: #775037;
  border: 2px solid #775037;
  color: #fff;
  width: 90%;
  margin:10px auto;
}
#contents_reserve .reserve_tel:hover{
  background: #f7f5f4;
  color: #775037;
}
#contents_reserve .day_box{
  display: flex;
  align-items: flex-end;
}
#contents_reserve .day_box > div{
  width: 50%;
  margin-right: 10px;
}
#contents_reserve .day_box > div:nth-of-type(2){
  margin-left: 20px;
}
#contents_reserve .bottom_txt{
  margin-top: 30px;
  text-align: left;
}
/**--------求人ページ--------**/
#contents_recruit .requirements_box{
  background: #fff;
  height: auto;
  max-height: 530px;
  margin-bottom: 10px;
  overflow-y: scroll;
  overflow-x:hidden; 
  padding: 6%;
  text-align: left;
  word-wrap: break-word;
  width: 100%;
}
#contents_recruit .requirements_box .appeal_contents{ 
  margin-bottom: 40px;
}
#contents_recruit .requirements_box h3{
  color: #7d403b;
  font-size: 1.2rem;
  padding: 0.5em 0;
  margin-bottom: 10px;
  border-top: solid 3px #7d403b;
  border-bottom: solid 3px #7d403b;
}
#contents_recruit .requirements_box .appeal_contents h4{
  font-weight: 600;
  margin-top: 30px;
}
#contents_recruit .requirements_box .appeal_contents h4:first-of-type{
  margin-top: 5px;
}
#contents_recruit .requirements_box h4::after{
  content:"‥‥・*・‥‥………‥‥・*・‥‥………‥‥・";
  display: block;
}
#contents_recruit .top_img{
  max-width: 750px;
  margin-bottom: 10%;
}
#contents_recruit img.owner{
  max-width: 750px;
}
#contents_recruit .subtitle1{
  font-size: 1.4em;
}
#contents_recruit .shop_info dl {
  width  : 100%;
  background: #eae5db;
}
#contents_recruit .shop_info dt {
  float : left;
  clear : both;
  width : 28%;
  background: #eae5db;
  border-top: 1px dotted #fff;
  padding : 15px;
}
#contents_recruit .shop_info dd{
  text-align: left;
  margin-left : 28%;
  border-top: 1px dotted #cdb4a2;
  padding : 15px;
  background: #fff;
}
#contents_recruit .shop_info dt:first-of-type,
#contents_recruit .shop_info dd:first-of-type{
  border: none;
}
#contents_recruit .form_area{
  background: #fff;
}
/*求人エントリーフォーム*/
#contents_recruit.section_form .form_inner > div{
  margin-bottom: 15px;
}
#contents_recruit.section_form .note_txt{
  border-bottom: none;
  margin-bottom: 0;
  text-align: center;
}
#contents_recruit.section_form .check_box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#contents_recruit.section_form .check_box label{
 padding: 8px 10px 8px 5px;
 width: 145px;
}
/***--------------------------
求人会員登録画面＆完了画面
--------------------------**/
#contents_signup,#contents_completed{
  margin-top: 72px;
}
#contents_signup .btn_signup{
  background: #cebc9d;
  border:2px solid #cebc9d;
  color: #fff;
  max-width: 500px;
  width: 90%;
  font-size: 1.2em;
  padding: 10px;
  letter-spacing: 3px;
}
#contents_signup .btn_signup:hover{
  background: #fff;
  color: #846a3e;
}
#contents_completed .inner750{
  padding: 20px 10px;
  background: #fff;
}
/***--------------------------
メルマガ
--------------------------**/
#contents_magazine .top_txt{
  margin-bottom: 20px;
}
#contents_magazine .mail_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #91554d;
  color: #fff;
  padding: 5px 5px 5px 18px;
  margin-bottom: 20px;
}
#contents_magazine .mail_area input {
  width: 80%;
}
#contents_magazine .select_area label {
  margin: 0 5px;
  border: none;
  display: inline-block;
}
#contents_magazine .btn3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
#contents_magazine.section_form .btn_go {
  width: 100%;
  margin: 0;
  padding: 10px 100px;
}
/***--------------------------
リンクページ
--------------------------**/
#contents_link .inner{
  width: 100%;
  max-width: 760px;
  margin: auto;
  font-size: 0.9em;
  text-align: left;
}
#contents_link .dl_type_01{
  width: 530px;
  margin: 0 0 30px;
  height: 600px;
}
#contents_link .dl_type_01 dd{
  margin-bottom: 15px;
  padding: 5px 0 20px;
}
#contents_link .dl_type_01 dd.bnr4{
  border-bottom: none;
}
#contents_link .inner .txt{
  margin-bottom: 40px;
}
#contents_link img{
  width: auto;
}
#contents_link .bnr4{
  color: #92817b;
  font-size: 0.8em;
}

#contents_link aside{
  box-sizing: border-box;
}
#contents_link .subtitle2{
  text-align: center;
}
ul.list_link_box {
  font-size: 11px;
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
ul.list_link_box li {
  margin: 0 20px 12px;
  text-align: center;
}
/**--------------------------
エラーページ
--------------------------**/
#section_err .other_page{
  padding: 13% 30px 10%;
}
#section_err .err_page{
  text-align: left;
  padding: 3%;
  background: rgba(255, 255, 255, 0.8);
}
#section_err .err_title {
  font-size: 1.4em;
  line-height: 1.4;
  padding: 0;
  margin: 0;
}
#err_subtitle {
  font-size: 1.8em;
  margin: 0 0 40px 0;
}
#section_err a{
  color: #af9973;
}


/*------------------------------------------
1200
------------------------------------------*/
@media screen and (max-width: 1250px) {
  #nav_top ul{
    display: none;
  }
  header .h_info{
    right: 70px;
  }
  footer .f_menu.menu_line {
    margin: 0 50px;
  }
}
/*------------------------------------------
1024
------------------------------------------*/
@media screen and (max-width: 1024px) {
  footer .footer_area{
    padding: 0 20px;
  }
  footer .f_menu.menu_line{
    margin: 0 25px;
  }
  footer .f_box{
    flex-direction: column-reverse;
  }
  footer .box_right{
    padding-top: 20px;
  }
  footer .box_left{
    flex: none;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  footer .info_box{
    margin: 0 0 0 30px;
  }
  #top_menu ul li,#top_menu ul li.yomogi{
    background: #fff;
  }
  #top_menu ul li{
    height: auto;
  }
  #top_menu ul.set1 img{
    display: inline-block;
  }

  /*店内写真*/
  #contents_facilities .picture_area .inner{
    flex-direction: column;
    align-content: center;
  }
  #facilities-img{
    width: 100%;
    max-width: 600px;
    margin-bottom: 20px;
  }
  #facilities-thum{
    margin-left: 0;
    max-width: 600px;
    width: 100%;
    justify-content: space-around;
  }
  #facilities-thum > div{
    width: calc((100% - 24px) / 6);
  }

}

/*------------------------------------------
900
------------------------------------------*/
@media screen and (max-width: 900px) {

  /*サイドバー*/
  #section_side_bnr{
    display: none;
  }
  .column2{
    flex-direction: column-reverse;
  }
  .section_side{
    background: url(../images/point1.png),url(../images/point2.png),#fff;
    background-size: 400px,400px;
    background-position: -3% -1%, 105% 101%,center center;
    background-repeat: no-repeat,no-repeat,repeat;
    width: 100%;
    padding: 80px 20px 150px;
  }
  .section_right{
    padding: 80px 20px;
    flex-direction: column;
  }
  /*------メディア掲載------*/
  .topmedia_pc{
    display: none;
  }
  .topmedia_sp{
    display: block;
    margin-bottom: 60px;
  }
  .topmedia_sp img{
    max-width: 700px;
  }
  #voice_box{
    min-height: auto;
  }
  /*下のページ*/
  #contents_price .menu_box2 .subtitle2_2{
    font-size: 1.3em;
  }
}

@media screen and (min-width: 769px) {
  .u_768{
    display: none;
  }
}

/*------------------------------------------
768
------------------------------------------*/
@media screen and (max-width: 768px) {
  /*-------
  共通
  --------*/
  .u_768{
    display: block;
  }
  .del_768,footer .box_right,footer .info_box,#top_menu ul.set1,#section_topbnr{
    display: none;
  }
  /*----------
  ヘッダー・フッター
  -----------*/
  footer .box_left {
    padding: 0;
  }
  footer .access_box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  footer .access_box .add_box {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    padding-left: 15px;
    margin-left: 20px;
  }
  footer .box_left .f_logo {
    margin-bottom: 0;
  }
  #page-top{
    bottom: 75px;
    right: 20px;
  }
  /*SP下固定フッターボタン*/
  footer{
    padding-bottom: 70px;
  }
  #footer_nav{
    display: block;
    height: 64px;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  #footer_nav .f_navbox{
    padding: 0 5px 5px 5px;
    display: flex;
  }
  #footer_nav .f_navbox a {
    height: 60px;
    width: calc(100% / 3);
    background: #543621;
    display: inline-block;
    letter-spacing: 1px;
    color: #fff;
    border-radius: 3px;
    padding: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
  }
  #footer_nav .f_navbox a i {
    width: 100%;
    font-size: 1.2em;
    margin-bottom: 6px;
  }
  #footer_nav .f_navbox a.nav_reserve{background: #79322a; margin: 0 5px;}
  #footer_nav .f_navbox a.nav_recruit{background: #b38d65;}

  #footer_nav .f_navbox p{
   width: 100%;
   line-height: 1em;
 }
 /*-----------トップページ-----------*/
 #mainvisual ul li:nth-of-type(8) p img{
  width: 700px;
}
#top_menu ul.set2{
  border-top: solid 24px #e4d8d0;
  display: flex;
}
#top_menu ul li{
  width: 100%;
  border-right: none;
  border-bottom: 1px solid #e4d9d0;
  padding: 15px 45px 15px 30px;
}
#top_menu ul li::after{
  right: 18px;
}
#top_menu ul li:hover::after{
  right: 13px;
}
#top_menu ul li.yomogi{
  background: #e4d9d0;
  padding: 20px 10px;
}
#top_menu ul li.yomogi::after{
  content: none;
}
#top_menu ul li a{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#top_menu ul li .txt{
  max-width: 160px;
  margin-right: 10px;
}
#top_menu ul li .bg_pic{
  width: 55%;
  height: 90px;
  background: url(../images/menu_img_system.jpg) center;
  background-size: cover;
}
#top_menu ul li.access .bg_pic{
  background: url(../images/menu_img_access.jpg) center;
  background-size: cover;
}
#top_menu ul li.qa .bg_pic{
  background: url(../images/menu_img_qa.jpg) center;
  background-size: cover;
}
#top_menu ul li.photo .bg_pic{
  background: url(../images/menu_img_photo.jpg) center;
  background-size: cover;
}
#voice_box{
  max-height: 840px;
}
.photo_box1{
  padding: 0 70px;
}
#section_movie .movie_box{
  padding-top: 56.25%;
}
/*----------下層ページ------------*/

.other_page{padding: 80px 30px 50px;}
#contents_price .other_page{padding: 60px 0 0;}
#contents_contact .other_page,#contents_reserve .other_page{padding: 50px 20px;}
#contents_voice_list .other_page{padding: 50px 0;}
/*料金ページ*/
#contents_price .top_txt{
  max-width: 435px;
  margin: 0 auto 30px;
  padding: 0 20px;
}
#contents_price .menu_box .f_box,
#contents_price .menu_box ul li:nth-of-type(even) .f_box{
  flex-direction: column;
}
#contents_price .video_side,
#contents_price img.main_pic,
#contents_price .menu_box .price{
  width: 70%;
}
#contents_price .video_side{
  margin-bottom: 20px;
}
#contents_price .menu_box2 ul li{
  width: 100%;
  padding: 40px;
}
#contents_price .menu_box2 ul li:first-child{
  margin: 0 0 5% 0;
}
#contents_price .menu_box .subtitle2_2 img{
  max-width: 100%;
  height: auto;
}
.menu_box2 table{
  max-width: 440px;
  margin: 0 auto;
}

/*アクセスページ*/
#contents_access .top_img{
  height: 300px;
}
#contents_access .btn_map{
  background: #5f4e49;
  color: #fff;
  max-width: 400px;
  width: 100%;
  padding: 15px;
  display: block;
  text-align: center;
  margin: 0 auto 40px;
}
#contents_access .btn_map:hover{
  background: #cdb4a2;
}
/*店内画像*/
#contents_facilities .concept > div:not(.sec3){
  margin-bottom: 0;
}
#contents_facilities .concept > div:not(.sec1){
  font-size: 1em;
  font-weight: 400;
  text-align: left;
}
#contents_facilities .concept > div:not(.sec1) .inner750{
  padding: 60px 30px;
}
#contents_facilities .concept .sec2:after{
  width: 36%;
}
#contents_facilities .concept .sec3:after{
  top: 8%;
}

/*お客様の声*/
#contents_voice_list .article_box{
  width: 100%;
}
#contents_voice_list .article_box:nth-of-type(even){
  margin-left: 0;
}
#contents_voice_list .article_box:nth-of-type(1)::after{
  right: -20%;
}
#contents_voice_list .article_box:nth-of-type(4)::after{
  left: -20%;
}

/*フォーム周辺*/
#contents_contact form{padding: 40px 25px;}
#section_err .other_page{padding: 100px 30px 50px;}

/*求人*/
#contents_recruit.recruit_top .other_page{
  padding: 60px 0 0;
}
#contents_recruit .top_img{
  padding: 0 10px;
}
#contents_recruit .requirements_wrap{
  padding: 0 20px;
  margin: 0 0 50px 0;
}
.table_rc{
  width: 100%;
  margin: 0 0 20px 0;
}
#contents_recruit .pic1{
  background: url(../images/recruit_pic1_sp.jpg)center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 180px;
  margin-bottom: 20px;
}
/*メルマガ*/
#contents_magazine .btn3 {
  flex-direction: column;
}
#contents_magazine .mail_area {
  flex-direction: column;
  padding: 10px;
}
#contents_magazine .mail_area input {
  width: 100%;
  margin-top: 10px;
}
#contents_magazine .select_area {
  margin-bottom: 10px;
}
/*リンク*/
#contents_link .other_page{padding: 40px 30px 50px;}
#contents_link .f_box{
  justify-content: center;
  align-items: flex-start;
}
#contents_link .dl_type_01,
#contents_link .shop_img img{
  max-width: 700px;
  width: 100%;
  height: auto;
}
#contents_link img{
  width: 100%;
}
}


@media screen and (max-width: 600px) {
  #section_voice{
    padding: 0;
  }
  .topmedia_sp img{
    max-width: 480px;
  }
  /*下層*/
  #contents_price .option_box ul {
    padding: 0 20px 40px 20px;
  }
  /*店内写真*/
  #contents_facilities .concept .sec3 .inbox {
    margin-left: 43%;
  }
  #facilities-thum > div{
    width: calc((100% - 24px) / 3);
  }
  #facilities-thum img{
    width: 98%;
  }
}
@media screen and (max-width: 520px) {
  /*ヘッダー*/

  header{
    flex-direction: column;
    align-items: flex-start;
    padding: 0 0 0 10px;
  }
  header .h_info{
    position: static;
    padding: 0;
  }
  #nav_top{
    margin: 0;
  }
  header .h_contact .shop{
    margin-top: 0;
    letter-spacing: 0.5px;
  }
  header .h_contact .pc_tel{
    display: none;
  }
  .header_logo img{
    margin: 3px 0 0 0;
  }
  .paypay_moji a{
    font-size: 48px;
  }
}

  /*-----------------------------
 スマホ用
 -----------------------------*/

 @media screen and (min-width: 481px) {
   .sp{display: none;}
 }

 @media screen and (max-width: 480px) {
  body{
    font-size: 13px;
  }
  .pc,#section_topbnr,footer .link_google,.photo_box1{
    display: none;
  }
  .sp{display: block;}
  /*共通*/
  .title_box h2 img{
    max-width: 160px;
  }
  .drawer-nav{
    width: 100%;
  }
  /*フッター*/

  footer .access_box .add_box {
    padding-left: 10px;
    margin-left: 10px;
  }
  footer .box_left .f_logo {
    max-width: 120px;
  }
  footer .copyright{
    font-size: 11px;
  }
  #page-top {
    right: 8px;
  }
  #page-top .go_top {
    max-width: 20px;
    margin-bottom: 0;
    filter: brightness(0.6);
  }
  #page-top a {
    background: rgba(255, 255, 255, 0.7);
    height: 54px;
    width: 54px;
  }
  /*メインビジュアル*/

  #mainvisual ul li:nth-of-type(1){
    background: url(../images/mainvisual_sp_01.jpg)left top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(2){
    background: url(../images/mainvisual_sp_02.jpg)center top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(3){
    background: url(../images/mainvisual_sp_03.jpg)20% top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(4){
    background: url(../images/mainvisual_sp_04.jpg)top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(5){
    background: url(../images/mainvisual_sp_05.jpg)top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(6){
    background: url(../images/mainvisual_sp_06.jpg)top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(7){
    background: url(../images/mainvisual_sp_07.jpg)top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li:nth-of-type(8){
    background: url(../images/mainvisual_sp_08.jpg)top no-repeat;
    background-size: cover;
  }
  #mainvisual ul li p {
    font-size: 1.4rem;
    text-shadow: 2px 1px 4px #000000;
  }
  #mainvisual ul li:nth-of-type(1) p {
    right: 0;
    top: 10%;
    padding: 0 20px;
  }
  #mainvisual ul li:nth-of-type(2) p {
    left: 4%;
    bottom: 24%;
  }
  #mainvisual ul li:nth-of-type(2) p img{
    max-width: 360px;
  }
  #mainvisual ul li:nth-of-type(3) p img{
    max-width: 110px;
  }
  #mainvisual ul li:nth-of-type(4) p {
    padding: 0 4%;
  }
  #mainvisual ul li:nth-of-type(4) p img{
    max-width: 330px;
  }
  #mainvisual ul li:nth-of-type(5) p img{
    max-width: 290px;
  }
  #mainvisual ul li:nth-of-type(6) p {
    padding: 0 3%;
  }
  #mainvisual ul li:nth-of-type(7) p,
  #mainvisual ul li:nth-of-type(8) p{
    width: 320px;
  }
  #mainvisual ul li:nth-of-type(8) p img {
    width: 320px;
  }
  /*----トップページ-----*/
  #top_menu ul li .bg_pic {
    height: 80px;
    width: 50%;
  }
  .section_right {
    padding: 9% 25px;
  }
  .section_side {
    background-size: 350px,350px;
    background-position: -55px -3%, calc(100% + 55px) 103%,center;
    padding: 11% 30px 0;
  }
  #section_twitter{
    margin: 0 0 50px;
  }
  .topmedia_sp .media_inbox{
    padding: 0 10px;
  }
  #voice_box {
    height: 480px;
    padding: 20px 10px;
  }
  #voice_box article{
    border: none;
    border-bottom: 1px solid #eae7e2;
    padding: 15px;
  }
  #voice_box article:last-of-type{
    border-bottom: 0;
  }
  .voice article .txt{
    padding: 0;
  }
  .voice article .title_time{
    text-align: right;
  }
  .voice article h3 {
    padding: 0 0 5px 0;
    margin-bottom: 10px;
    font-size: 1.2em;
  }
  .voice article time {
    /*top: auto;
    left: auto;
    bottom: 4px;
    right: 0;*/
  }
  #section_news {
    padding: 12% 10px;
  }
  #section_news .news_box{
    padding: 10px 20px;
  }
  #section_news .news_detail {
    max-height: 450px;
    padding: 20px 15px;
  }
  #section_movie{
    padding: 13% 20px;
  }
  /*----------下層ページ--------*/
  .other_page{padding: 80px 0 50px;}
  .other_title_space{height: 210px;}
  .other_title_space .title_inner .title_box_other{top: 115px;}

  #contents_access .other_title_space,
  #contents_facilities .other_title_space{
    height: 180px;
  }
  #contents_access .title_inner .title_box_other,
  #contents_facilities .title_inner .title_box_other{
    top: 95px;
  }
  #contents_contact .other_page,
  #contents_recruit.recruit_conf .other_page{
    padding:0px;
  }
  #contents_reserve .other_page,
  #contents_recruit.recruit_finish .other_page,
  #contents_magazine .other_page{
    padding: 40px 20px;
  }
  #contents_link .other_page{padding: 40px 20px 50px;}
  #contents_recruit.mainpage .other_page{padding: 30px 0 50px;}
  /*料金*/
  #contents_price .menu_box ul li{
    padding: 0 0 20px 0;
    margin-bottom: 15%;
  }
  #contents_price .menu_box .f_box{padding: 0 30px;}
  #contents_price .video_side, #contents_price img.main_pic,#contents_price .menu_box .price{width: 100%;}
  #contents_price .menu_box .txt_box, #contents_price .menu_box2 .txt_box{
    width: 90%;
    margin: 0 auto;
  }
  #contents_price .menu_box .txt_box .note span,
  #contents_price .menu_box2 .txt_box span{
    border: 1px solid;
    padding: 8px;
  }
  #contents_price .menu_box2 .txt_box span{
    text-align: center;
  }
  #contents_price .menu_box2 img.pic{
    padding: 5% 5% 0;
  }

  /*見出しタイトル*/
  #contents_price .menu_box .subtitle2_2,
  #contents_price .menu_box2 .subtitle2_2{
    height: auto;
    padding: 20px 0;
  }
  #contents_price .menu_box2 .subtitle2_2{
    margin-bottom: 0;
  }
  #contents_price .menu_box .subtitle2_2 img{
    max-height: 30px;
  }
  #contents_price .menu_box2{
    margin-bottom: 15%;
  }
  #contents_price .menu_box2 ul li{
    margin-right: 0;
    padding: 0 0 20px 0;
  }
  .other_price table tr.option_top.sp{
    display: contents;
  }
  .other_price table tr.option_top td{
    position: relative;
    padding: 10px 0;
    text-align: center;
    width: 100%;
  }
  .option_box table tr.txt td{
    text-align: left;
    padding: 5px 10px 10px 15px;
  }
  .option_box table tr.last{
    border-top: 1px solid #949494;
  }
  .option_box.other_price table tr th{
    width: 50%;
  }
  .option_box.other_price table tr th:nth-of-type(2){
    font-size: 0.9em;
  }
  #contents_price .option_box{
    margin: 0 auto 20%;
  }
  /*店内写真*/
  #contents_facilities .concept{
    background-position: -3% 332px, 105% 86%,center center;
    padding-bottom: 0;
  }
  #contents_facilities .concept .sec2:after,
  #contents_facilities .concept .sec3:after{
    width: 100%;
    top:auto;
    bottom: 0;
    height: 130px;
  }
  #contents_facilities .concept > div:not(.sec1) .inner750 {
    padding: 6% 5% 155px;
    text-align: center;
  }
  #contents_facilities .concept .sec2 .inbox,
  #contents_facilities .concept .sec3 .inbox,
  #contents_facilities .concept > div{
    margin: 0;
  }
  #contents_facilities .picture_area .outer{
    padding: 9% 5% 6%;
  }
  #facilities-thum img{
    height: 32px;
  }

  /*アクセス*/
  #contents_access iframe{height: 350px;}
  #contents_access .btn_map{width: 80%;}
  #contents_access .inner960{padding: 0 20px;}

  /*お客様の声*/
  #contents_voice_list article{
    margin-bottom: 30px;
  }
  /*Q&A*/
  #contents_qa .inner750{
    padding: 0 20px;
  }
  /*フォーム関係*/
  select{
    padding: 3px 42px 3px 15px;
  }
  input{
    padding: 0px 8px;
  }
  .section_form .form_inner > div{
    margin-bottom: 25px;
  }
  .section_form .btn_go{
    margin: 0 auto 20px;
  }
  /*WEB予約*/
  #contents_reserve .top_txtbox2,#contents_reserve.section_form form{
    padding: 30px 20px;
  }
  #contents_reserve .top_txtbox > div{
    border-radius: 60px;
    padding: 10px 20px;
  }
  #contents_reserve .top_txtbox{font-size: 1.1em;}
  #contents_reserve .top_txtbox p:not(.shop_time){font-size: 1em;}
  /*求人*/
  #contents_recruit .shop_info{
    padding: 0 20px;
  }
  #contents_recruit .shop_info dl{
    background: none;
  }
  #contents_recruit .shop_info dt,#contents_recruit .shop_info dd{
    border:none;
  }
  #contents_recruit .shop_info dt{
    float: none;
    width: 100%;
    padding: 10px;
  }
  #contents_recruit .shop_info dd{
    margin: 0 0 10px 0;
  }
  #contents_recruit.section_form form{
    padding: 40px;
  }
  #contents_recruit .pic1{
    height: 150px;
  }
  #contents_link aside img{
    width: 100%;
    max-width: 480px;
  }
  #contents_completed .other_page{
    padding: 80px 20px 50px;
  }
  /*メルマガ*/
  #contents_magazine .top_txt{
    text-align: left;
  }
  #contents_magazine.section_form form{
    padding: 20px;
  }
  .paypay_box{
    width: 100%;
    padding: 0px 17%;
  }
  .paypay_moji{
    max-width: 400px;
    height: 40px;
  }
  .paypay_moji img{
    max-width: 320px;
  }
  .paypay_moji a{
    font-size: 25px;
    top: 0px;
    left: 2px;
  }
}

/*-----------
400
------------*/
@media screen and (max-width: 400px) {
  /*共通*/
  .dl_type_01 dt{font-size: 1.2em;}
  .dl_type_01 dd{font-size: 1em;letter-spacing: 1px;}
  #top_menu ul li{
    padding: 15px 40px 15px 20px;
  }
  #top_menu ul li .txt{
    max-width: 140px;
  }
  #top_menu ul li::after {
    right: 15px;
  }
  #top_menu ul li:hover::after {
    right: 10px;
  }
  #footer_nav{
    font-size: 12px;
  }
  #footer_nav{
    height: 58px;
  }
  #footer_nav .f_navbox a{
    height: 54px;
  }
  /*下層ページ*/
  #contents_price .menu_box .f_box {
    padding: 0 20px;
  }
  #contents_price .option_box .subtitle2{
    margin-bottom: 10px;
  }
  #contents_price .option_box ul{
    padding: 0 10px 20px 10px;
  }
  #contents_price .menu_box .txt_box h4 span{
    width: 90%;
    margin-bottom: 4px;
  }
  .paypay_moji a{
    font-size: 23px;
    top: 1px;
    left: 2px;
  }
}
@media screen and (max-width: 386px) {
  .paypay_moji a{
    font-size: 22px;
    top: 3px;
    left: 2px;
  }
}
@media screen and (max-width: 360px) {
  .drawer-menu li a{
    padding: 12px 10px;
  }
  #top_menu ul li{
    padding: 10px 36px 10px 14px;
  }
  #top_menu ul li .txt{
    max-width: 130px;
  }
  #top_menu ul li .bg_pic{
    height: 70px;
  }
  #voice_box article{
    padding: 8px;
  }
  #contents_price .menu_box .f_box {
    padding: 0 10px;
  }
  .price table tr th,.price table tr.under_txt th{
    text-align: left;
    padding: 10px 0 4px 20px;
  }
  .price table tr td,.price table tr.under_txt td{
    padding: 10px 10px 4px 0;
  }
  #contents_reserve .top_txtbox2, #contents_reserve.section_form form {
    padding: 20px 15px;
  }
  #contents_facilities .concept{
    background-position: -35px 260px, calc(100% + 35px) 86%,center;
    background-size: 300px,300px;
  }
  #contents_facilities .concept .sec1{
    padding: 60px 10px;
  }
  .paypay_box{
    width: 100%;
    padding: 0px 14%;
  }
  .paypay_moji{
    max-width: 400px;
    height: 36px;
  }
  .paypay_moji img{
    max-width: 320px;
  }
  .paypay_moji a{
    font-size: 22px;
    top:1px;
  }
}

@media screen and (max-width: 342px) {
  .drawer--right .drawer_area .drawer-hamburger{
    right: 0;
  }
  .option_box.other_price table tr th:nth-of-type(2) {
    font-size: 0.8em;
  }
  .paypay_moji a{
    font-size: 20px;
    top: 1px;
  }
}
@media screen and (max-width: 323px) {
  #section_twitter .t_outbox{
     height: 470px; 
  }
  .paypay_moji a{
    font-size: 18px;
    top:4px;
  }
}
