#navi {
  display: block;
  position: fixed;
  top: 0;
  right: -420px;
  bottom: 0;
  max-width: 420px;
  width: 100%;
  color: #fff;
  padding: 10px 25px 20px;
  background-color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 999;
  opacity: 0; }
  @media (min-width: 768px) {
    #navi {
      padding: 10px 20px 20px;
      max-width: 300px; } }
  #navi nav {
    margin: 120px 0 0 0; }
    #navi nav ul.accordion-area {
      list-style: none; }
      #navi nav ul.accordion-area li {
        opacity: 0;
        margin-bottom: 30px; }
        #navi nav ul.accordion-area li:last-child {
          margin-bottom: 40px; }
        #navi nav ul.accordion-area li a {
          font-size: 1.125em;
          font-weight: 700;
          color: #FF8803;
          transition: .5s; }
          @media (min-width: 1024px) {
            #navi nav ul.accordion-area li a {
              font-size: 1.5em; } }
    #navi nav .mynavi {
      margin-top: 12px;
      opacity: 0; }
      #navi nav .mynavi a {
        position: relative;
        background-color: #FF8803;
        border-radius: 50px;
        width: 100%;
        height: 60px;
        display: flex;
        align-items: center;
        margin: auto;
        justify-content: center;
        text-align: center;
        color: #fff; }
        #navi nav .mynavi a h3 {
          font-size: 1.0em;
          line-height: 1.4em; }
        #navi nav .mynavi a img {
          width: 10px;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 20px;
          display: flex;
          height: 100%;
          transition: .5s; }
    #navi nav .spotify {
      margin: 20px auto 0;
      opacity: 0; }
      #navi nav .spotify a {
        position: relative;
        background-color: #000;
        border-radius: 50px;
        width: 80%;
        height: 50px;
        display: flex;
        align-items: center;
        margin: auto;
        justify-content: center;
        text-align: center;
        color: #fff; }
        #navi nav .spotify a h3 {
          font-size: 1.0em;
          line-height: 1.4em; }
        #navi nav .spotify a img {
          width: 10px;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 20px;
          display: flex;
          height: 100%;
          transition: .5s; }

.open #navi {
  right: 0;
  opacity: 1; }

.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .5;
  z-index: 10;
  cursor: pointer; }

#navi.panelactive ul li {
  animation: fadeInRight1 0.5s ease forwards;
  animation-delay: .5s; }
  #navi.panelactive ul li:nth-of-type(2) {
    animation-delay: .55s; }
  #navi.panelactive ul li:nth-of-type(3) {
    animation-delay: .60s; }
  #navi.panelactive ul li:nth-of-type(4) {
    animation-delay: .65s; }
  #navi.panelactive ul li:nth-of-type(5) {
    animation-delay: .70s; }
  #navi.panelactive ul li:nth-of-type(6) {
    animation-delay: .75s; }
  #navi.panelactive ul li:nth-of-type(7) {
    animation-delay: .80s; }
  #navi.panelactive ul li:nth-of-type(8) {
    animation-delay: .85s; }

@keyframes fadeInRight1 {
  0% {
    opacity: 0;
    transform: translateX(20px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
#navi.panelactive .mynavi {
  animation: fadeInRight2 0.5s ease forwards;
  animation-delay: .85s; }

#navi.panelactive .spotify {
  animation: fadeInRight2 0.5s ease forwards;
  animation-delay: 1.0s; }

@keyframes fadeInRight2 {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeInRight3 {
  0% {
    opacity: 0;
    transform: translateY(0); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
