@charset "UTF-8";
/******* setting.scss *******/
.headLink, .headLink2, .headSns, .headMenuCont {
  *zoom: 1; }

.headLink:after, .headLink2:after, .headSns:after, .headMenuCont:after {
  content: " ";
  clear: both;
  display: block; }

.headMenu01 dt,
.headMenu02 dt, .headMenu01 dd:nth-of-type(n+5), .headMenu03 ul li, .headReservationTitle, .headReservation dt, .headReservationTel strong {
  font-family: "Cochin W01 Roman" !important; }

.headReservation dt span {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif, Verdana, "游ゴシック", YuGothic; }

.win .headReservation dt span {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Osaka, sans-serif, Verdana, "游ゴシック", YuGothic; }

.wrapper {
  min-width: 1239px;
  margin: 0 auto;
  padding: 110px 0 0; }

.headMenuBg {
  height: 1px;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  min-width: 1240px;
  width: 100%;
  z-index: -1; }

.headMenuBg.view {
  opacity: 1;
  z-index: 8; }

.headWrap {
  border-top: 4px solid #F2ACB9;
  /*background-color: rgba(131, 118, 112, 0.9);*/
  box-sizing: border-box;
  max-height: 105px;
  min-width: 1024px;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 55;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }

.headWrap.view {
  max-height: 820px;
  height: 100%;
  overflow-y: scroll; }

.headWrap.view .headMenuCont .headMenuBtn {
  opacity: 1; }

.headWrap.view .headLogo2,
.headWrap.view .headMenuCont {
  opacity: 1; }

.headWrap.view .headLogo,
.headWrap.view .headLink,
.headWrap.view .headLink2,
.headWrap.view .headSns {
  opacity: 0;
  display: none; }

header .headMenuBtn {
  right: 0; }

header .headMenuIcon span {
  background-color: #fff; }

.headLogo2 {
  margin: 0 auto 5.5%;
  text-align: center;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headOnlineLink {
  position: absolute;
  top: 59px;
  right: 55px;
  font-size: 12px;
  font-size: 1.2rem; }

.headOnlineLink a {
  color: #fff; }

.headOnlineLink a:hover {
  color: #fff;
  text-decoration: none; }

.headSns {
  position: absolute;
  top: 28px;
  right: 100px;
  opacity: 1;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headSns li {
  float: left;
  margin-left: 5px; }

.headSns li a {
  background-color: #fff;
  border-radius: 50%;
  box-sizing: border-box;
  display: block;
  height: 25px;
  padding: 6px 0 4px;
  text-align: center;
  width: 25px;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headSns li a img {
  height: 13px;
  vertical-align: top; }

.headSns li a:hover {
  background-color: #dcdcdc; }

.headMenuBtn {
  position: absolute;
  top: 51px;
  right: 4%;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem; }

.headMenuBtn.open {
  color: #4d403e;
  right: 4%; }

.headMenuBtn.open .headMenuIcon {
  margin-bottom: 8px; }

.headMenuBtn.open .headMenuIcon span:nth-of-type(1) {
  transform: translateY(9px) rotate(-315deg) scale(0.6); }

.headMenuBtn.open .headMenuIcon span:nth-of-type(2) {
  width: 30px;
  height: 30px;
  top: -6px;
  left: -1px;
  background-color: transparent;
  border: 1px solid #4D403E;
  border-radius: 50%; }

.headMenuBtn.open .headMenuIcon span:nth-of-type(3) {
  transform: translateY(-8px) rotate(315deg) scale(0.6); }

.headMenuBtn.open .headMenuIcon i {
  background: #fff; }

.headMenuBtn.open .headMenuIcon i:before {
  transform: translateY(0) rotate(-315deg) scale(0.8); }

.headMenuBtn.open .headMenuIcon i:after {
  transform: translateY(0) rotate(315deg) scale(0.8); }

.win .headMenuBtn,
.mac .headMenuBtn {
  cursor: pointer;
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.win .headMenuBtn:hover,
.mac .headMenuBtn:hover {
  -moz-opacity: 0.6;
  -khtml-opacity: 0.6;
  opacity: 0.6;
  -ms-filter: "alpha(opacity=60)";
  filter: alpha(opacity=60);
  text-decoration: none; }

.headMenuIcon {
  margin: 0 auto 5px;
  width: 30px;
  height: 18px;
  display: block;
  vertical-align: -0.25em;
  position: relative; }

.headMenuIcon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #4D403E;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headMenuIcon span:nth-of-type(1) {
  top: 0; }

.headMenuIcon span:nth-of-type(2) {
  top: 50%;
  left: 0; }

.headMenuIcon span:nth-of-type(3) {
  bottom: 0; }

.headMenu01,
.headMenu02 {
  float: left; }

.headMenu01 dt,
.headMenu02 dt {
  color: #4d3f3e;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.16em; }

.headMenu01 dt.mt,
.headMenu02 dt.mt {
  margin-top: 75px; }

.headMenu01 dd,
.headMenu02 dd {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 14px;
  text-transform: uppercase;
  letter-spacing: 0.15em; }

.headMenu01 dd:before,
.headMenu02 dd:before {
  background-color: rgba(123, 123, 123, 0.2);
  content: "";
  display: inline-block;
  margin-right: 20px;
  height: 1px;
  vertical-align: 0.3em;
  width: 13px; }

.headMenu01 dd a,
.headMenu02 dd a {
  color: #7b7b7b; }

.headMenu01 {
  margin-left: 60px;
  max-width: 445px;
  width: 33.5%; }
/*
.headMenu01 dd:nth-of-type(n+5) {
  font-size: 16px;
  font-size: 1.6rem; }
*/
.headMenu01 dd.jtext,
.headMenu02 dd.jtext {
  font-size: 1.4rem !important;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Osaka, sans-serif, Verdana, "游ゴシック", YuGothic !important; }

.headMenu02 {
  max-width: 475px;
  width: 36.5%; }

@media only screen and (max-width: 1220px) {
  .headMenu01 {
    margin-left: 0; }
  .headMenu01 dt {
    font-size: 15px;
    font-size: 1.5rem; }
  .headMenu01 dd {
    font-size: 12px;
    font-size: 1.2rem; }
/*
  .headMenu01 dd:nth-of-type(n+5) {
    font-size: 14px;
    font-size: 1.4rem; }
*/
  .headMenu02 {
    width: 37.5%; }
  .headMenu02 dt {
    font-size: 15px;
    font-size: 1.5rem; }
  .headMenu02 dd {
    font-size: 12px;
    font-size: 1.2rem; } }

.headMenu03 {
  float: left;
  width: 274px; }

.headMenu03 ul {
  margin-bottom: 20px; }

.headMenu03 ul li {
  font-size: 14px;
  font-size: 1.4rem;
    letter-spacing:0.15em;
  margin-bottom: 10px; }

.headMenu03 ul li a {
  color: #7b7b7b; }

.headMenu03 .menu_2nd {
  border-top: 1px solid #e4e0df;
  padding-top: 20px;
}

@media only screen and (max-width: 1050px) {
  .headMenu01 {
    width: 27.5%; } }

.headBtnLink {
  border: 1px solid #e2e2e2;
  border-radius: 3px;
  margin-bottom: 24px;
  text-align: center;
  width: 100%; }

.headBtnLink a {
  font-size: 12px;
  font-size: 1.2rem;
  display: block;
  padding: 1.2em 0;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headBtnLink a:hover {
  text-decoration: none;
  opacity: .7;
}
.headReservationArea {
  border: 1px solid #e4e0df;
  padding: 25px 20px;
  text-align: center; }

.headReservationTitle {
  border-bottom: 3px double #e4e0df;
  color: #4d3f3e;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 20px;
  padding: 0 0 15px;
  letter-spacing: 0.25em; }

.headReservation dt {
  background: url(../img/common/telIcon2.png) no-repeat 0 0;
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 10px;
  line-height: 100%;
  padding: 0 0 0 35px;
  text-align: left;
  letter-spacing: 0.25em;
  width: 120px; }

.headReservation dt span {
  font-size: 10px;
  font-size: 1rem;
  color: #B2B2B2; }

.headReservationTel {
  color: #000;
  font-size: 22px;
  font-size: 2.2rem;
  margin-bottom: 15px;
  line-height: 100%;
  letter-spacing: 0.18em; }

.headReservationTel strong {
  font-weight: normal; }

.headReservationTel span {
  color: #a2a2a2;
  font-size: 10px;
  font-size: 1rem;
  display: block;
  letter-spacing: 0.12em; }

.headReservationLink a {
  background-color: #101820;
  border: 1px solid #101820;
  border-radius: 2px;
  display: block;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  padding: 13px 0;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headReservationLink a:hover {
  background-color: #fff;
  color: #101820;
  text-decoration: none; }

.win .headLink li a,
.win .headLink2 dt a,
.win .headOnlineLink a,
.mac .headLink li a,
.mac .headLink2 dt a,
.mac .headOnlineLink a {
  display: inline-block;
  padding-bottom: 3px;
  text-decoration: none;
  position: relative;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.win .headLink li a:after,
.win .headLink2 dt a:after,
.win .headOnlineLink a:after,
.mac .headLink li a:after,
.mac .headLink2 dt a:after,
.mac .headOnlineLink a:after {
  content: "";
  height: 2px;
  background: #FFFFFF;
  position: absolute;
  bottom: 0;
  left: 50%;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateX(-50%);
  width: 0; }

.win .headLink li a:hover:after,
.win .headLink2 dt a:hover:after,
.win .headOnlineLink a:hover:after,
.mac .headLink li a:hover:after,
.mac .headLink2 dt a:hover:after,
.mac .headOnlineLink a:hover:after {
  width: 100%; }

.win .headMenu01 dd a,
.win .headMenu02 dd a,
.win .headMenu03 ul li a,
.mac .headMenu01 dd a,
.mac .headMenu02 dd a,
.mac .headMenu03 ul li a {
  display: inline-block;
  padding-bottom: 3px;
  text-decoration: none;
  position: relative;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.win .headMenu01 dd a:after,
.win .headMenu02 dd a:after,
.win .headMenu03 ul li a:after,
.mac .headMenu01 dd a:after,
.mac .headMenu02 dd a:after,
.mac .headMenu03 ul li a:after {
  content: "";
  height: 2px;
  background: #e1e1e1;
  position: absolute;
  bottom: 0;
  left: 50%;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translateX(-50%);
  width: 0; }

.win .headMenu01 dd a:hover:after,
.win .headMenu02 dd a:hover:after,
.win .headMenu03 ul li a:hover:after,
.mac .headMenu01 dd a:hover:after,
.mac .headMenu02 dd a:hover:after,
.mac .headMenu03 ul li a:hover:after {
  width: 100%; }


/*
@media only screen and (max-width: 1220px){
  .headWrap{max-height: 105px;}
  .headLogo {
      margin: 20px auto;
    position:absolute;
    left:calc(50% - 78px);
    top:0;
  }
  .headLink{top:53px;}
  .headLink2{top:55px;}
  .headOnlineLink{top:54px;}
  .headMenuBtn{top:46px;}

}
*/
.headWrap > header {
  width: 100%;
  height: 105px;
  position: relative;
  box-sizing: border-box;
  background-color: #fff; }
  .headWrap > header .head-top {
    padding: 12px 0;
    border-bottom: 1px solid #101820; }
    .headWrap > header .head-top .head-inner {
      display: -ms-flexbox;
      display: flex;
      justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      align-content: center;
      -webkit-align-content: center;
      -ms-flex-line-pack: center;
      align-items: center;
      -webkit-align-items: center;
      -ms-flex-align: center; }
  .headWrap > header .head-bottom {
    padding: 12px 0 0; }
    .headWrap > header .head-bottom .head-inner {
      display: -ms-flexbox;
      display: flex;
      justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      align-content: center;
      -webkit-align-content: center;
      -ms-flex-line-pack: center;
      align-items: center;
      -webkit-align-items: center;
      -ms-flex-align: center; }

.headMenuCont {
  border-bottom: 1px solid #F2F2F2;
  opacity: 0;
  max-width: 1320px;
  margin: 0 auto 0;
  padding: 50px 0;
  text-align: left;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headMenuCont .headMenuBtn {
  opacity: 0; }

.headWrap.view {
  background-color: #fff; }
  .headWrap.view .headMenuCont {
    background-color: #fff;
    padding: 50px 0;
    margin: 0 auto;
    transition-delay: .1s; }

.headFollow {
  padding: 20px 0;
  max-width: 1320px;
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
  opacity: 0;
  text-align: center;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }

.headFollow li {
  background: url(../img/common/facebookIcon2.svg) no-repeat 0 0;
  background-size: 7px;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  padding-left: 20px; }

.headFollow li.facebook:after {
  background-color: #E4E4E4;
  content: "";
  display: inline-block;
  height: 1px;
  margin: 0 25px;
  vertical-align: middle;
  width: 15px; }

.headFollow li.insta {
  background-image: url(../img/common/instaIcon2.png);
  background-size: 14px;
  padding-left: 25px; }

.headWrap.view .headFollow {
  opacity: 1; }

.head-inner {
  min-width: 1240px;
  width: 100%;
  max-width: 1476px;
  margin: 0 auto;
  padding: 0 48px;
  box-sizing: border-box; }
  .head-inner .head-logo a {
    display: block;
    transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }
    .head-inner .head-logo a:hover {
      opacity: .7; }
  .head-inner .head-logo img {
    max-width: 132px; }
  .head-inner .reserve-area {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center; }
    .head-inner .reserve-area .telnum {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.6;
      color: #101820;
      letter-spacing: 0.05em;
      margin-right: .8em;
      padding-left: 1.4em;
      background-image: url(../img/common/phone-icon-2.png);
      background-position: 0% 40%;
      background-repeat: no-repeat; }
    .head-inner .reserve-area .bizhour {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.6;
      color: #101820;
      letter-spacing: 0.05em; }
    .head-inner .reserve-area .shop-reserve-link {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.6;
      color: #101820;
      letter-spacing: 0.2em;
      display: block;
      border: 1px solid #101820;
      border-radius: 4px;
      padding: .4em 3.2em;
      transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1); }
      .head-inner .reserve-area .shop-reserve-link:hover {
        border: 1px solid #101820;
        background-color: #101820;
        color: #fff;
        text-decoration: none;
      }
  .head-inner .head-links {
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center; }
    .head-inner .head-links li {
      margin-right: 2.4em; }
      .head-inner .head-links li a {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.6;
        color: #101820;
        letter-spacing: 0.2em;
        position: relative; }
        .head-inner .head-links li a:after {
          content: "";
          height: 1px;
          background: #101820;
          position: absolute;
          bottom: -4px;
          left: 50%;
          transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
          transform: translateX(-50%);
          width: 0; }
        .head-inner .head-links li a:hover {
          text-decoration: none; }
        .head-inner .head-links li a:hover:after {
          width: 100%; }
  .head-inner .toggle-menu .headMenuBtn {
    position: relative;
    top: 0;
    right: 0;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    color: #101820;
    padding-right: 2em; }
    .head-inner .toggle-menu .headMenuBtn:after {
      right: 0;
      box-sizing: border-box;
      width: 6px;
      height: 6px;
      border: 6px solid transparent;
      border-left: 10px solid #101820;
      transform: rotate(90deg);
      position: absolute;
      top: 6px;
      bottom: 0;
      margin: auto;
      content: "";
      vertical-align: middle;
      transition: all 0.3s cubic-bezier(0.19, 1, 0.34, 1.02); }

.headWrap.view .head-inner .toggle-menu .headMenuBtn:after {
  border-left: 0 solid #101820;
  border-right: 10px solid #101820;
  top: 0;
  right: 3px; }
