@charset "UTF-8";

/*====================================================================
  header
=====================================================================*/
header{
  position:fixed;
  z-index:9999;
  width:100%;
  height:100%;
  pointer-events: none;
}

@media print{
  header{
     position:inherit;
  }
}


#toggle-btn{
  display:none;
}


/*====================================================================
  menu(PC)
=====================================================================*/
#nav{
  width: 100%;
  height: 100px;
  transition: 0.6s;
  background-color:#1d1e1e;
  pointer-events: none;
}

#nav.hide{
  transform: translateY(-100px);
  transition: 0.6s;
}

@media screen and (max-width: 1439px) {
  #nav{
    height: 90px;
  }

  #nav.hide{
    transform: translateY(-90px);
  }
}

@media screen and (max-width: 1199px) {
  #nav{
    height: 75px;
  }

  #nav.hide{
    transform: translateY(-75px);
  }
}

@media screen and (max-width: 1023px) {
  #nav{
    height: 100%;
    width:100%;
    margin: 0;
    background-color:inherit;
    transition:0.4s;
  }

  #nav.hide{
    transform: translateY(-70px);
  }

  #toggle-btn:checked ~ #nav.hide{
    transform: translateY(0px);
  }

  #toggle-btn:checked ~ #nav{
    background-color:rgba(130, 131, 131, 0.6);
    pointer-events: auto;
  }
}


/*ヘッダーメニュー =======================================*/
#nav .header-menu{
  pointer-events: auto;
  transition:0.4s;
  padding-top:20px;
}

#nav .header-menu .container-XL{
  background-color:#fff;
  margin-top:20px;
  height:60px;
  padding:8px 10px;
  display:flex;
  justify-content: right;
  border-radius: 100px;
  position:relative;
  pointer-events: none;
  box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.3);
}

@media screen and (max-width: 1023px) {
  #nav .header-menu{
    pointer-events: auto;
    transition:0.4s;
    padding-top:20px;
    margin: 0 0 0 auto;
    margin-right:-60%;/* 検証用 */
    width:60%;
    height:100%;
    background-color:#1d1e1e;
  }

  #toggle-btn:checked + #nav .header-menu{
    margin-right:0;
  }
}

/* ロゴ */
#nav .header-menu .logo{
  display:inline-block;
  width:200px;
  opacity:0;
  transition:0.4s;
}

#nav .header-menu .logo img{
  width:100%;
}

#nav .header-menu.active .logo{
  opacity:1;
  transition:0.4s;
  pointer-events: auto;
}

@media screen and (max-width: 1439px) {
  #nav .header-menu .logo{
    width:170px;
  }
}

@media screen and (max-width: 1199px) {
  #nav .header-menu .logo{
    width:130px;
  }
}

@media screen and (max-width: 1023px) {
  #nav .header-menu .logo{
    display:block;
    width:160px;
    opacity:0; /* 検証用 */
    position:fixed;
    top:15px;
    left:20px;
    z-index:15;
    pointer-events: none;
  }

  #toggle-btn:checked ~ #nav .header-menu .logo{
    opacity:1!important;
    pointer-events: auto;
  }
}

@media screen and (max-width: 743px) {
  #nav .header-menu .logo{
    display:block;
    position:fixed;
    padding-top:15px;
    padding-left:20px;
    padding-bottom:10px;
    top:0;
    left:0;
    z-index:0;
    pointer-events: none;
    width:100%;
    background-color:#1d1e1e;
    opacity:1!important;
  }

  #nav .header-menu .logo img{
    width:160px;
    opacity:0; /* 検証用 */
    transition:0.4s;
  }

  #nav .header-menu.active .logo img{
    opacity:1;
    transition:0.4s;
  }

  #toggle-btn:checked ~ #nav .header-menu .logo img{
    opacity:1!important;
    pointer-events: auto;
  }
}

/* メニュー */
#nav .header-menu ul{
  display:inline-block;
  width:auto;
  margin-left:30px;
  opacity:0;
  transition:0.4s;
}

#nav .header-menu.active ul{
  opacity:1;
  transition:0.4s;
}

#nav .header-menu ul li{
  position:relative;
  display:inline-block;
  width:auto;
  margin-right:10px;
}

#nav .header-menu ul li a{
  color:#fff;
  font-weight:700;
  display:inline-block;
  width:auto;
  padding-left:1.6em;
}

#nav .header-menu ul li a img{
  position:absolute;
  left:0;
  width:1.3em;
  transition:0.4s;
}

#nav .header-menu ul li a img:nth-of-type(1){
  opacity:1;
}

#nav .header-menu ul li a img:nth-of-type(2){
  opacity:0;
}

#nav .header-menu ul li a:hover img:nth-of-type(1){
  opacity:0;
}

#nav .header-menu ul li a:hover img:nth-of-type(2){
  opacity:1;
}

@media screen and (max-width: 1439px) {
  #nav .header-menu ul{
    margin-left:20px;
  }

  #nav .header-menu ul li a{
    padding-left:1.6em;
    font-size:15px;
  }

  #nav .header-menu ul li a img{
    width:1.2em;
  }
}

@media screen and (max-width: 1199px) {
  #nav .header-menu ul{
    margin-left:15px;
  }

  #nav .header-menu ul li a{
    padding-left:1.55em;
    font-size:14px;
  }

  #nav .header-menu ul li a img{
    width:1.05em;
    top:3.5px;
  }
}

@media screen and (max-width: 1023px) {
  #nav .header-menu ul{
    display:block;
    margin-left:0px;
    opacity:1;
    width:90%;
    margin: 60px auto 0 auto;
  }

  #nav .header-menu ul li{
    position:relative;
    display:block;
    margin-right:0;
    background-color:#701419;
    margin-bottom:10px;
  }

  #nav .header-menu ul li a{
    font-size:15px;
    display:inline-block;
    padding:10px 40px;
    width:100%;
  }

  #nav .header-menu ul li a img{
    width:1.3em;
    top:0;
    bottom:0;
    margin:auto;
    left:15px;
  }

  #nav .header-menu ul li a img:nth-of-type(1){
    opacity:0;
  }

  #nav .header-menu ul li a img:nth-of-type(2){
    opacity:1;
  }
}

@media screen and (max-width: 743px) {
  #nav .header-menu ul li a{
    font-size:14px;
    display:inline-block;
    padding:6px 35px;
    width:100%;
  }

  #nav .header-menu ul li a img{
    width:1em;
    top:0;
    bottom:0;
    margin:auto;
    left:10px;
  }
}

/* 右側メニュー */
#nav .header-menu .header-wrap{
  display:inline-block;
  width:auto;
  float: right;
  margin-top:0px;
}

@media screen and (max-width: 1439px) {
  #nav .header-menu .header-wrap{
    margin-top:-10px;
  }
}

@media screen and (max-width: 1199px) {
  #nav .header-menu .header-wrap{
    margin-top:-20px;
  }
}

@media screen and (max-width: 1023px) {
  #nav .header-menu .header-wrap{
    margin-top:0px;
    position:fixed;
    top:0;
    right:0;
    display:block;
    background-color:#1d1e1e;
    width:100%;
    height:70px;
    text-align: right;
    padding-right:20px;
    z-index:10;
  }
}

@media screen and (max-width: 743px) {
  #nav .header-menu .header-wrap{/*ここ*/
    position:inherit;
    top:inherit;
    right:inherit;
    display:flex;
    flex-wrap:wrap;
    width:100%;
    height:auto;
    text-align: right;
    padding-right:0;
    margin-top:5px;
  }
}

/* お問い合わせ */
#nav .header-menu .header-wrap .info{
  display:none;
}

@media screen and (max-width: 743px) {
  #nav .header-menu .header-wrap .info{
    display:block;
  }

  #nav .header-menu .header-wrap .info{
    display:block;
    padding: 15px 0 70px 0/* ここ */;
    background-color:#301105;
    text-align: center;
  }

  #nav .header-menu .header-wrap .info span{
    color:#fff;
    display:block;
    margin-bottom:3px;
    letter-spacing: 0;
    text-align: center;
    font-size:12px;
  }

  #nav .header-menu .header-wrap .info a.tel{
    font-size:19px;
    color:#fff;
    font-weight:700;
    padding-right:5px;
  }

  #nav .header-menu .header-wrap .info a.tel i{
    color:#fff;
    font-weight:700;
    font-size:18px;
    margin-right:7px;
    position:relative;
    top:-1px;
  }
}

/* SNS */
#nav .header-menu .header-wrap .sns{
  margin-bottom:-7px;
}

#nav .header-menu .header-wrap .sns{
  display:inline-block;
  vertical-align: bottom;
  width:auto;
  margin-right:10px;
}

#nav .header-menu .header-wrap .sns span{
  color:#fff;
  font-size:15px;
  padding-right:8px;
  border-right:solid 1.5px #fff;
  display:inline-block;
  width:auto;
  margin-right:8px;
}

#nav .header-menu .header-wrap .sns a.insta i{
  font-size:19px;
  color:#fff;
}

#nav .header-menu .header-wrap .sns a.line{
  display:inline-block;
  width:1em;
  height:1em;
  background-color:#fff;
  font-size:22px;
  position:relative;
  top:2px;
  border-radius:5px;
}

#nav .header-menu .header-wrap .sns a.line i{
  font-size:24px;
  position:relative;
  top:-1.4px;
  left:-1px;
  color:#1d1e1e;
}

@media screen and (max-width: 1199px) {
  #nav .header-menu .header-wrap .sns{
    margin-bottom:-7px;
  }

  #nav .header-menu .header-wrap .sns{
    margin-right:5px;
  }

  #nav .header-menu .header-wrap .sns span{
    font-size:14px;
    padding-right:8px;
    margin-right:4px;
  }

  #nav .header-menu .header-wrap .sns a.insta i{
    font-size:19px;
    color:#fff;
  }

  #nav .header-menu .header-wrap .sns a.line{
    font-size:21px;
  }

  #nav .header-menu .header-wrap .sns a.line i{
    font-size:23px;
  }
}

@media screen and (max-width: 743px) {
  #nav .header-menu .header-wrap .sns{
    margin-right:15px;
    order:10;
    margin-top:-45px;
  }
}


/* 予約はこちら */
#nav .header-menu .header-wrap a.web{
  display:inline-block;
  vertical-align: bottom;
  width:auto;
  background-color:#701419;
  color:#fff;
  padding:15px 30px;
  border-radius:100px;
  font-size:14px;
  font-weight:700;
  position:relative;
  bottom:-13px;
}

#nav .header-menu .header-wrap a.web::after{
  content:'';
  display:block;
  width:calc(100% - 14px);
  height:calc(100% - 14px);
  position:absolute;
  top:5.5px;
  left:5.5px;
  border:solid 1.5px #fff;
  border-radius:100px;
}

#nav .header-menu .header-wrap a.web i{
  color:#fff;
  margin-right:5px;
  font-size:17px;
}

@media screen and (max-width: 1439px) {
  #nav .header-menu .header-wrap a.web{
    font-size:13px;
  }

  #nav .header-menu .header-wrap a.web i{
    font-size:16px;
  }
}

@media screen and (max-width: 1199px) {
  #nav .header-menu .header-wrap a.web{
    padding:13px 18px;
  }

  #nav .header-menu .header-wrap a.web::after{
    width:calc(100% - 12px);
    height:calc(100% - 12px);
    position:absolute;
    top:4px;
    left:4.5px;
  }

  #nav .header-menu .header-wrap a.web{
    font-size:12px;
  }

  #nav .header-menu .header-wrap a.web i{
    font-size:15px;
    margin-right:3px;
  }
}

@media screen and (max-width: 743px) {
  #nav .header-menu .header-wrap a.web{
    position:relative;
    bottom:inherit;
    margin:7px auto 0 auto;/*ここ*/
    top:-70px;
  }
}

/* トグル */
#nav .header-menu .header-wrap .toggle {
  content: "";
  display:inline-block;
  vertical-align: bottom;
  bottom:-12px;
  position:relative;
  cursor: pointer;
  width: 45px;
  height:45px;
  display:none;
}

@media screen and (max-width: 1023px) {
  #nav .header-menu .header-wrap .toggle{
    display:inline-block;
  }
}

#nav .header-menu .header-wrap .toggle span{
  background: #fff;
  width: 33px;
  height: 3px;
  position: absolute;
  top: 10px;
  right: 0;
  left:0;
  margin:auto;
  transform: translateY(11px);
  display:block;
  transition:0.4s;
  border-radius: 20px;
  transition:0.4s ease;
}

#nav .header-menu .header-wrap .toggle span:before,
#nav .header-menu .header-wrap .toggle span:after {
  position: absolute;
  background: #fff;
  width: 33px;
  height: 3px;
  content: "";
  transition:0.4s ease;
  border-radius: 20px;
}

#nav .header-menu .header-wrap .toggle span:before {
  top: -11px;
}

#nav .header-menu .header-wrap .toggle span:after {
  top: 11px;
}

#toggle-btn:checked ~ #nav .toggle span {
  background: transparent;
  transition:0.4s ease;
}

#toggle-btn:checked ~ #nav .toggle span:before,
#toggle-btn:checked ~ #nav .toggle span:after {
  transition: 0.4s ease;
  top: 0;
}

#toggle-btn:checked ~ #nav .toggle span:before {
  transform: rotate(45deg);
}

#toggle-btn:checked ~ #nav .toggle span:after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 743px) {
  #nav .header-menu .header-wrap .toggle {
    position: absolute;
    top: 12px;
    right:12px;
    width: 52px;
    height:52px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    transition:0.4s;
  }

  #nav .header-menu .header-wrap .toggle span{
    width: 26px;
    height: 3px;
    position: absolute;
    top: 13px;
  }

  #nav .header-menu .header-wrap .toggle span:before,
  #nav .header-menu .header-wrap .toggle span:after {
    width: 26px;
    height: 3px;
  }

  #nav .header-menu .header-wrap .toggle span:before {
    top: -9px;
  }

  #nav .header-menu .header-wrap .toggle span:after {
    top: 9px;
  }
}



































/**/
