@charset "UTF-8";
#navi {
  display: block;
  position: fixed;
  top: 0;
  right: -420px;
  bottom: 0;
  max-width: 420px;
  width: 100%;
  color: #fff;
  padding: 10px 15px 20px 10px;
  background: linear-gradient(#F43B68, #FFC82F);
  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 15px 20px 40px; } }
  @media (min-width: 1024px) {
    #navi {
      padding: 20px 25px 20px 50px; } }
  #navi nav {
    /*アコーディオン全体*/ }
    #navi nav .sp-logo {
      margin: 0 0 0 0; }
      @media (min-width: 768px) {
        #navi nav .sp-logo {
          display: none; } }
      #navi nav .sp-logo a img {
        width: 240px; }
      #navi nav .sp-logo p {
        font-size: 0.7em;
        font-weight: 700;
        line-height: 1.4em;
        margin-top: 6px;
        color: #000; }
    #navi nav ul.accordion-area {
      list-style: none;
      color: #000; }
      #navi nav ul.accordion-area li.txt:last-child {
        margin-bottom: 18px;
        font-family: "Boldonse", system-ui;
        font-weight: 400;
        font-style: normal;
        font-size: 0.7em; }
        #navi nav ul.accordion-area li.txt:last-child h6 {
          font-size: 0.9em;
          margin-top: 6px;
          color: #fff; }
      #navi nav ul.accordion-area li {
        opacity: 0;
        /*アコーディオンタイトル*/ }
        #navi nav ul.accordion-area li:last-child {
          margin-bottom: 18px; }
        #navi nav ul.accordion-area li .title {
          font-size: 1.125em;
          font-weight: 700;
          color: #fff;
          position: relative;
          cursor: pointer;
          padding: 12px 0 12px 0;
          transition: all .5s ease;
          transition: .5s; }
          @media (min-width: 1024px) {
            #navi nav ul.accordion-area li .title {
              font-size: 1.5em; } }
          #navi nav ul.accordion-area li .title:hover {
            background: linear-gradient(90deg, #75C6CA 0%, #7ABD56 20%, #FACF73 50%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent; }
          #navi nav ul.accordion-area li .title::before, #navi nav ul.accordion-area li .title::after {
            position: absolute;
            content: '';
            width: 15px;
            height: 2px;
            background-color: #fff; }
          #navi nav ul.accordion-area li .title::before {
            top: 50%;
            right: 15px;
            transform: rotate(0deg); }
          #navi nav ul.accordion-area li .title::after {
            top: 50%;
            right: 15px;
            transform: rotate(90deg); }
          #navi nav ul.accordion-area li .title.close::before {
            transform: rotate(45deg); }
          #navi nav ul.accordion-area li .title.close::after {
            transform: rotate(-45deg); }
        #navi nav ul.accordion-area li .box-1 {
          display: none;
          /*はじめは非表示*/ }
          #navi nav ul.accordion-area li .box-1 ul.menu {
            margin: 0 10px 0 0; }
            #navi nav ul.accordion-area li .box-1 ul.menu li {
              padding: 5px 0; }
              @media (min-width: 1024px) {
                #navi nav ul.accordion-area li .box-1 ul.menu li {
                  padding: 10px 0; } }
              #navi nav ul.accordion-area li .box-1 ul.menu li a {
                font-size: 0.9em;
                color: #fff;
                position: relative;
                transition: .5s; }
                @media (min-width: 1024px) {
                  #navi nav ul.accordion-area li .box-1 ul.menu li a {
                    font-size: 1.0em; } }
                #navi nav ul.accordion-area li .box-1 ul.menu li a:hover {
                  background: linear-gradient(90deg, #75C6CA 0%, #7ABD56 40%, #FACF73 80%);
                  -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent; }
          #navi nav ul.accordion-area li .box-1 ul.entry li {
            display: flex;
            margin-bottom: 10px; }
            #navi nav ul.accordion-area li .box-1 ul.entry li a img {
              width: 90%; }
          #navi nav ul.accordion-area li .box-1 ul.entry li.line-entry {
            padding-right: 5%;
            margin-top: 20px; }
            #navi nav ul.accordion-area li .box-1 ul.entry li.line-entry a {
              display: flex;
              align-items: center;
              justify-content: center;
              background-color: #06C755;
              border-radius: 10px;
              width: 100%;
              padding: 8px; }
              #navi nav ul.accordion-area li .box-1 ul.entry li.line-entry a:first-child {
                margin-right: 5%; }
              #navi nav ul.accordion-area li .box-1 ul.entry li.line-entry a img {
                width: 25px;
                margin-right: 5px; }
              #navi nav ul.accordion-area li .box-1 ul.entry li.line-entry a p {
                font-size: 0.75em;
                font-weight: bold;
                color: #fff; }
      #navi nav ul.accordion-area li.txt {
        padding: 15px 0 15px 0; }
      #navi nav ul.accordion-area li h3 {
        font-size: 1.125em;
        font-weight: 700;
        transition: .5s; }
        @media (min-width: 1024px) {
          #navi nav ul.accordion-area li h3 {
            font-size: 1.5em; } }
        #navi nav ul.accordion-area li h3 a {
          position: relative;
          color: #fff; }
          #navi nav ul.accordion-area li h3 a:hover {
            background: linear-gradient(90deg, #75C6CA 0%, #7ABD56 40%, #FACF73 80%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent; }
    #navi nav .pcsp-menu {
      margin: 20px 0 0 20px; }
      @media (min-width: 768px) {
        #navi nav .pcsp-menu {
          margin: 60px 0 0 0; } }
    #navi nav ul.menu-shita {
      margin: 30px 0 0 20px;
      padding-bottom: 40px;
      opacity: 0; }
      @media (min-width: 768px) {
        #navi nav ul.menu-shita {
          margin: 30px 0 0 0;
          padding-bottom: 0; } }
      #navi nav ul.menu-shita li {
        margin-top: 20px; }
        #navi nav ul.menu-shita li:last-child {
          margin-top: 10px; }
          #navi nav ul.menu-shita li:last-child a p {
            font-size: 0.7em;
            font-weight: normal; }
        #navi nav ul.menu-shita li a {
          display: flex; }
          #navi nav ul.menu-shita li a p {
            font-size: 0.8em;
            font-weight: 700;
            line-height: 1.2em;
            position: relative;
            color: #fff; }
            #navi nav ul.menu-shita li a p::after {
              position: absolute;
              bottom: 0;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #fff;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            #navi nav ul.menu-shita li a p:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          #navi nav ul.menu-shita li a img {
            width: 14px;
            margin-left: 10px; }
    #navi nav .fuppi-oeoe {
      position: absolute;
      bottom: 10px;
      right: 10px;
      opacity: 0; }
      #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 {
        position: absolute;
        top: -30px;
        right: -5px;
        margin: auto;
        text-align: center; }
        @media (min-width: 1024px) {
          #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 {
            top: -40px;
            right: 0; } }
        #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li {
          position: relative; }
          #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li h6 {
            background-color: #fff;
            color: #FC9F40;
            font-size: 0.75em; }
            @media (min-width: 1024px) {
              #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li h6 {
                font-size: 0.85em; } }
            #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li h6:before {
              top: 100%;
              left: 55%;
              transform: rotate(0);
              border-top: 15px solid #fff; }
          #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li:first-child {
            width: 160px; }
            @media (min-width: 1024px) {
              #navi nav .fuppi-oeoe ol.parts-fukidashi-type2 li:first-child {
                width: 170px; } }
      #navi nav .fuppi-oeoe ol.ph {
        position: relative;
        width: 130px; }
        @media (min-width: 1024px) {
          #navi nav .fuppi-oeoe ol.ph {
            width: 180px; } }

.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 .menu-shita {
  animation: fadeInRight2 0.5s ease forwards;
  animation-delay: .85s; }

@keyframes fadeInRight2 {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
#navi.panelactive .fuppi-oeoe {
  animation: fadeInRight3 0.5s ease forwards;
  animation-delay: 1.0s; }

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