/*------------------------------
  ドロワーメニュー
------------------------------*/
/* ボタン */
.menu-btn {
    width: 2.6rem;
    /* padding: 20px 17px 30px; */
    padding: 18px 15px 28px;
    padding: 0;
    background-color: transparent;
    /* border-radius: 20px; */
    border: none;
    box-sizing: content-box;
    display: none;
    font-size: 40px;
    outline: none;
    position: fixed;
    top: 4%;
    right: 2%;
    z-index: 10000;
    /* z-index: 7000; */
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    @media screen and (min-width: 769px) {
      .menu-btn {
        top: 4%;
        right: 4%;
      }
    }
    @media all and (-ms-high-contrast: none){
      .menu-btn {
        height: 40px;
      }
    }
    .pushy-open-right .menu-btn {
      /* メニューopen時 */
      position: fixed; }
  
  .drawer-hamburger-icon {
    width: 100%;
    /* height: 2px; */
    background-color: #733623;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
    .menu-btn .drawer-hamburger-icon {
      margin-top: 10px;
      display: block;
      position: relative;
      width: 100%;
      /* height: 3px; */
      height: 15px;
      background-color: transparent;
      -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
    .pushy-open-right .drawer-hamburger-icon {
      background-color: transparent; }
    .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
      width: 100%;
      height: 2px;
      background-color: #733623;
      -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      content: "";
      position: absolute;
      /* top: -12px; */
      top: -2px;
      left: 0; }
      .menu-btn .drawer-hamburger-icon:before, .menu-btn .drawer-hamburger-icon:after {
        width: 100%;
        height: 3px;
        background-color: #733623;
        -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
    .pushy-open-right .drawer-hamburger-icon:before {
      top: 0;
      border-radius: 2px;
      background-color: #733623;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .drawer-hamburger-icon:after {
      top: 12px; }
      .pushy-open-right .drawer-hamburger-icon:after {
        top: 0;
        top: 0;
        background-color: #733623;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        border-radius: 2px;
       }
        
  
  /* ドロワーメニュー内 */
  .pushy {
    display: none; }
    .pushy .btn_contact {
      /* font-family: 'Noto Sans JP', sans-serif; */
      width: 80%;
      margin: 30px auto 0;
      padding: 30px 0;
      background: #f1701a;
      border-bottom: solid 4px #ba5816;
      border-radius: 5px;
      color: #fff;
      font-size: 4.16vw; }
      @media all and (max-width: 580px) {
        .pushy .btn_contact {
          opacity: 1;
          margin: 25px auto 0;
          padding: 20px 0; } }
    .pushy .pushy-content {
      margin-bottom: 80px;
     }
      /* ロゴ画像無いので、いったん消し */
    .pushy .btn_logo {
      width: 80%;
      margin: 20px auto 50px;
      padding: 0;
      text-align: center; }
      @media all and (max-width: 768px) {
        .pushy .btn_logo {
            margin: 20px auto 30px;
          /* margin: 25px auto; */
      } }
    .pushy .btn_logo img {
      width: 87px;
      height: 36px;
    }
    .pushy .btn_logo span{
      /* font-family: josefin-slab, serif; */
      color: #fff;
      font-size: 8vw;
    }
  nav.pushy ul.menu_01 > li li {
    /* width: 94%; */
    width: 76%;
    /* border-bottom: solid 1px #333; */
    margin: 25px 0 auto auto;
  }
  @media screen and (min-width: 769px) {
    nav.pushy ul.menu_01 > li li {
      width: 86%;
    }
  }
  nav.pushy ul.menu_01 > li li:first-child {
    margin: 25px 0 auto auto;
  }
  
  nav.pushy ul.menu_01 > li li:last-of-type {
    border-bottom: none; }
  
  nav.pushy ul a {
    padding: 40px 0;
    text-align: left; }
  

  nav.pushy ul.menu_01 a,
  nav.pushy .pushy-submenu a {
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;追加 */
    /* font-family: 'Noto Serif JP', serif; */
    width: auto;/* 追加 */
    /* padding: 10px 10px; */
    /* padding: 0 0 5px; */
    padding: 0;
    color: #513834;
    font-size: 24px;
    line-height: 50px;
    font-weight: 700;
    /* line-height: 1.8; */
    line-height: 1;
    letter-spacing: 0.06em;
    text-align: left; }
    @media all and (max-width: 580px) {
      nav.pushy ul.menu_01 a,
      nav.pushy .pushy-submenu a {
        /* padding: 14px 3.9vw; */
        /* padding: 0; */
        padding: 0 5px 5px 0;
        font-size: 16px;
       } }
       @media all and (min-width: 500px) {
        nav.pushy ul.menu_01 a,
        nav.pushy .pushy-submenu a {
          font-size: 18px;
         } }

  nav.pushy ul.menu_01 a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  nav.pushy ul.menu_01 a::after {
    position: absolute;
    bottom: -6px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #513834;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .4s;
  }
  nav.pushy ul.menu_01 a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
  }

nav.pushy ul.menu_01 a.title {
    font-size: 24px;
  }
  @media all and (max-width: 580px) {
    nav.pushy ul.menu_01 a.title {
      font-size: 20px;
    }
  }

  nav.pushy .pushy-submenu button {
    padding: 15px 10px;
    color: #733623;
    font-size: 18px;
    text-align: left;
    font-weight: 700;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
    font-family: 'Noto Serif JP', serif;
   }
    @media all and (max-width: 580px) {
      nav.pushy .pushy-submenu button {
        padding: 20px 3.9vw;
        font-size: 16px; } }
  
  .pushy .pushy-content li a {
    background-repeat: no-repeat;
    background-size: auto 60%; }
  
  nav.pushy .pushy-submenu > ul {
    width: 100%;
    padding: 0;}
  
  nav.pushy .pushy-submenu > ul a {
    padding: 10px 25px;
    font-size: 16px;
    color: #733623; }
  
  /* @media all and (max-width: 768px) { */
    @media all and (max-width: 9999px) {
    .menu-btn,
    .pushy {
      display: block; }
  
    nav.pushy > ul {
      margin: 0 auto;
      border-bottom: none;
      display: block; }
  
    nav.pushy ul li {
      /* width: 80%; */
      height: auto;
      /* border-bottom: solid 1px #733623; */
      /* display: block; */
      margin: 45px auto 0;
      }
      
      nav.pushy ul li:first-child {
        /* border-top: solid 1px #733623; */
      }

      /* nav.pushy ul li:last-child {
        border: none;
      } */

    nav.pushy ul li a {
      height: auto;
      /* overflow: auto; */
      text-indent: initial;
      white-space: initial;
      font-weight: 500;
      font-family: 'Noto Sans JP', sans-serif; }
      nav.pushy ul li a i {
        margin-left: 5px;
        font-size: 80%; } }
  /* @media all and (max-width: 680px) {
    .menu-btn {
      top: 5px; } } */
  /* body .pushy-submenu button:before, body .pushy-submenu button:after {
    width: 20px;
    height: 5px;
    background-image: none;
    background-color: #733623;
    content: '';
    display: block;
    position: absolute; }
    @media all and (max-width: 580px) {
      body .pushy-submenu button:before, body .pushy-submenu button:after {
        width: 15px;
        height: 3px; } }
  body .pushy-submenu button:before {
    top: 48%;
    right: 15px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
    @media all and (max-width: 580px) {
      body .pushy-submenu button:before {
        top: 50%; } }
  body .pushy-submenu button:after {
    right: 15px; }
  body .pushy-submenu-open button:before {
    top: 52%;
    -webkit-transform: translateY(-52%) rotate(-180deg);
    transform: translateY(-52%) rotate(-180deg); }
  body .pushy-submenu-open button:after {
    -webkit-transform: translateY(-52%) rotate(-180deg);
    transform: translateY(-52%) rotate(-180deg); } */

    @media all and (max-width: 580px) {
      nav.pushy ul li {
        height: auto;
        margin: 35px auto 0;
        }
      }