
/*スマホ版右サイド*/

#drawernav {
  position: relative;
  background: #f2f2f2;
}

#drawernav::before{
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 100px;
        background: url(../img/bg-site_sp.jpg) no-repeat top center / cover;
}

#drawernav .logo {
      position: relative;
          margin: 0;
      width: 100%;
    padding: 10px;
    text-align: center;
    z-index: 10;
    background: none;
}

#drawernav .logo a{
       position: relative;
       padding-right:55px;
}

#drawernav .logo::after{
    position: absolute;
        top:50px;
    right: 5px;
    content: "";
    width: 85px;
    height: 60px;
     display: block;

     background: url("../img/header-illust.png") no-repeat center / contain;
}


/*#drawernav .spnavi1 {
  background: #ccc;
}*/


#drawernav .spnavi1{
       margin-top: 55px;
       padding-inline: 4%;
}
#drawernav .spnavi1 > li > a {
  display: block;
  color: #005F95;
    padding: 5px 10px;
  position: relative;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  background: #fff;
 border-radius: 24px;
}

#drawernav .spnavi1 > li + li{
    margin-top: 10px;
}


#drawernav .spnavi1 > li > a > span{
    display: block;
    font-size: 12px;
      font-weight: 600;
}

#drawernav .spnavi1 > li > a:after {
  content: "";
  display: block;
  border-right: 1px solid #005F95;
  border-top: 1px solid #005F95;
  height: 0.4em;
  width: 0.4em;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

#drawernav .spnavi1 > li ul {
  background: #fff;
  border-radius: 0.5em;
  margin: 0 10px 10px;
}

#drawernav .spnavi1 > li ul li a {
  padding: 8px 10px;
  font-size: 90%;
  letter-spacing: 0;
}

#drawernav .spnavi1 > li ul li + li {
  border-top: 1px dotted #ccc;
}

#drawernav .spinfo {
    margin-inline: auto;
    max-width: 155px;
    width: 100%;
   padding: 5px;

}

#drawernav .spinfo li {
  width: 100%;
  margin: 5px;
}

#drawernav .spinfo li:nth-child(1),
#drawernav .spinfo li:nth-child(2){
    border-bottom: 1px dashed #005F95;
}

#drawernav .spinfo li a {
  display: block;
  padding: 5px 0;
  text-align: center;
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 600;
}

#drawernav .spinfo li .login{
       color: #fff;
       background: #3d94d4;
       border: 1px solid #c3dfec;
}

#drawernav .tel {
   margin-top: 10px;
}

#drawernav .tel a {
  display: block;
  text-align: center;
  border-radius: 0.5em;
  padding: 5px;
}

#drawernav .tel a .num {
  display: block;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px;
}

#drawernav .tel a .num:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto 3px;
  width: 2em;
  height: 1em;
  background: url("../img/tel_icon.svg") no-repeat center / contain;
}




/*ドロワー設定*/
#humberger,
.closeBtn {
  display: none;
}

body {
  min-height: 100vh;
  height: 100%;
}

@media screen and (min-width:768px) {
  #drawernav {
    display: none;
  }
}

@media screen and (max-width:767px) {
  /* transition 共通 */
  #wrapper,
  #drawernav,
  #humberger,
  #humberger span,
  #overlay {
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }

  #wrapper {
    right: 0;
    position: relative;
    z-index: 0;
    width: 100%;
  }

  #drawernav {

    position: fixed;
    top: 0;
    right: -240px;
    width: 240px;
    height: 100%;
    background: #dcf5ff;
    overflow: auto;
    z-index: 1000;
  }

  #humberger {
    display: block;
    position: fixed;
           top: 10px;
           right: 2%;
        z-index: 10000;
        width: 50px;
        height: 50px;
        padding: 10px 5px;
    /*background-color: #c91c21;*/
    cursor: pointer;
  }

  #humberger span {
      height: 4px;
      background: #469ddd ;
      display: block;
      margin-bottom: 8px;
      border-radius: 5px;
  }

  #humberger .drawerName:before {
    content: "メニュー";
    font-family: sans-serif;
    font-weight: 400;
    color: #469ddd ;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.07em;
    display: block;
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    text-align: center;
  }

  .drawer-opened #humberger {
    right: 240px;
  }

  #overlay {
    z-index: -1;
    opacity: 0;
    background: #000;
    top: -10px;
    left: 0;
    right: 0;
    bottom: -10px;
    width: 100%;
    position: fixed;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  /* ドロワー開放時 */
  body.drawer-opened #wrapper {
    right: 240px;
    width: 100vw;
    overflow: inherit;
  }

  body.drawer-opened .closeBtn {
    position: fixed;
    top: 0;
    right: 240px;
    overflow: hidden;
    text-indent: -120px;
    display: block;
    width: 45px;
    height: 45px;
    padding: 17px 10px 10px;
    cursor: pointer;
    z-index: 10001;
  }

  body.drawer-opened #drawernav {
    right: 0;
  }

  body.drawer-opened #humberger span {
    background: #fff;
  }

  body.drawer-opened     #humberger .drawerName:before {
        color: #fff;
    }

  body.drawer-opened #humberger span:nth-child(1) {
    -webkit-transform: translate(0, 7px) rotate(45deg);
    transform: translate(0, 7px) rotate(45deg);
  }

  body.drawer-opened #humberger span:nth-child(2) {
    -webkit-transform: translate(-20px, 0);
    transform: translate(-20px, 0);
    opacity: 0;
  }

  body.drawer-opened #humberger span:nth-child(3) {
    -webkit-transform: translate(0, -16px) rotate(-45deg);
    transform: translate(0, -16px) rotate(-45deg);
  }

  body.drawer-opened #overlay {
    z-index: 100;
    opacity: 0.3;
    left: -240px;
  }
}
