@charset "UTF-8";
#navi {
  display: block;
  position: fixed;
  top: 0;
  right: -420px;
  bottom: 0;
  max-width: 420px;
  width: 100%;
  padding: 0 30px 20px 30px;
  background-color: #F5F5F5;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 999;
  opacity: 0; }
  @media (min-width: 768px) {
    #navi {
      padding: 0 40px 20px 40px; } }
  #navi nav {
    margin-top: 20px; }
    @media (min-width: 768px) {
      #navi nav {
        margin-top: 30px; } }
    #navi nav .sp-logo {
      width: 250px; }
    #navi nav .pcsp-menu {
      margin-top: 40px; }
      #navi nav .pcsp-menu ul.accordion-area {
        list-style: none;
        color: #000;
        margin-bottom: 20px; }
        @media (min-width: 1024px) {
          #navi nav .pcsp-menu ul.accordion-area {
            margin-bottom: 40px; } }
        #navi nav .pcsp-menu ul.accordion-area:last-child {
          margin-bottom: 0; }
        #navi nav .pcsp-menu ul.accordion-area li {
          opacity: 0;
          margin-bottom: 25px;
          /*アコーディオンタイトル*/ }
          @media (min-width: 1024px) {
            #navi nav .pcsp-menu ul.accordion-area li {
              margin-bottom: 20px; } }
          #navi nav .pcsp-menu ul.accordion-area li:last-child {
            margin-bottom: 0; }
          #navi nav .pcsp-menu ul.accordion-area li .title {
            font-size: 1.0em;
            font-weight: 400;
            color: #000;
            position: relative;
            cursor: pointer;
            transition: all .5s ease;
            transition: .5s; }
            @media (min-width: 1024px) {
              #navi nav .pcsp-menu ul.accordion-area li .title {
                font-size: 1.125em; } }
            #navi nav .pcsp-menu ul.accordion-area li .title:hover {
              color: #223588; }
            #navi nav .pcsp-menu ul.accordion-area li .title::before, #navi nav .pcsp-menu ul.accordion-area li .title::after {
              position: absolute;
              content: '';
              width: 15px;
              height: 2px;
              background-color: #000; }
            #navi nav .pcsp-menu ul.accordion-area li .title::before {
              top: 50%;
              right: 15px;
              transform: rotate(0deg); }
            #navi nav .pcsp-menu ul.accordion-area li .title::after {
              top: 50%;
              right: 15px;
              transform: rotate(90deg); }
            #navi nav .pcsp-menu ul.accordion-area li .title.close::before {
              transform: rotate(45deg); }
            #navi nav .pcsp-menu ul.accordion-area li .title.close::after {
              transform: rotate(-45deg); }
          #navi nav .pcsp-menu ul.accordion-area li .box-1 {
            display: none;
            /*はじめは非表示*/ }
            #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.menu {
              margin: 5px 0 0 0; }
              #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.menu li {
                padding: 10px 0 0 0;
                margin: 0; }
                #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.menu li a {
                  font-size: 0.9em;
                  color: #000;
                  position: relative;
                  transition: .5s; }
                  @media (min-width: 1024px) {
                    #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.menu li a {
                      font-size: 1.0em; } }
                  #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.menu li a:hover {
                    color: #223588; }
            #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.entry li {
              display: flex;
              margin-bottom: 10px; }
              #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.entry li a img {
                width: 90%; }
            #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.entry li.line-entry {
              padding-right: 5%;
              margin-top: 20px; }
              #navi nav .pcsp-menu 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 .pcsp-menu ul.accordion-area li .box-1 ul.entry li.line-entry a:first-child {
                  margin-right: 5%; }
                #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.entry li.line-entry a img {
                  width: 25px;
                  margin-right: 5px; }
                #navi nav .pcsp-menu ul.accordion-area li .box-1 ul.entry li.line-entry a p {
                  font-size: 0.75em;
                  font-weight: bold;
                  color: #fff; }
          #navi nav .pcsp-menu ul.accordion-area li a {
            font-size: 1.0em;
            line-height: 1.2em;
            position: relative;
            transition: .5s; }
            @media (min-width: 1024px) {
              #navi nav .pcsp-menu ul.accordion-area li a {
                font-size: 1.125em; } }
            #navi nav .pcsp-menu ul.accordion-area li a:hover {
              color: #223588; }
    #navi nav ul.menu-shita {
      margin-top: 40px;
      padding-bottom: 40px;
      opacity: 0; }
      #navi nav ul.menu-shita li a {
        display: flex; }
        #navi nav ul.menu-shita li a p {
          font-size: 0.8em;
          font-weight: 400;
          line-height: 1.2em;
          position: relative;
          color: #000; }
          #navi nav ul.menu-shita li a p::after {
            position: absolute;
            bottom: 0;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #000;
            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 .sns-logo {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 40px;
      opacity: 0; }
      #navi nav .sns-logo ul {
        display: flex; }
        #navi nav .sns-logo ul li {
          position: relative;
          margin-right: 10px; }
          #navi nav .sns-logo ul li:last-child {
            margin-right: 0; }
          #navi nav .sns-logo ul li a:hover img:first-child {
            opacity: 0.0; }
          #navi nav .sns-logo ul li a img {
            width: 36px;
            transition: .5s; }
            @media (min-width: 1250px) {
              #navi nav .sns-logo ul li a img {
                width: 40px; } }
            #navi nav .sns-logo ul li a img:nth-child(2) {
              position: absolute;
              top: 0;
              left: 0;
              z-index: -1; }
    #navi nav .mynavi {
      margin-top: 12px;
      opacity: 0;
      position: relative; }
      #navi nav .mynavi a {
        background-color: #223588;
        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:hover svg {
          right: 10px; }
        #navi nav .mynavi a h3 {
          font-size: 1.0em;
          line-height: 1.4em; }
        #navi nav .mynavi a svg {
          position: absolute;
          right: 15px;
          width: 30px;
          transition: .5s; }
          @media (min-width: 768px) {
            #navi nav .mynavi a svg {
              width: 34px; } }
          #navi nav .mynavi a svg #en {
            fill: none;
            stroke: #fff;
            stroke-miterlimit: 4;
            stroke-width: 1px; }
          #navi nav .mynavi a svg #ya {
            fill: #fff; }
    #navi nav ul.privacy-btn {
      margin-top: 16px;
      opacity: 0; }
      #navi nav ul.privacy-btn li {
        text-align: center; }
        #navi nav ul.privacy-btn li a {
          font-size: 0.8em;
          color: #000; }

.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 .mynavi {
  animation: fadeInRight3 0.5s ease forwards;
  animation-delay: 1.0s; }

#navi.panelactive .privacy-btn {
  animation: fadeInRight3 0.5s ease forwards;
  animation-delay: 1.0s; }

#navi.panelactive .sns-logo {
  animation: fadeInRight3 0.5s ease forwards;
  animation-delay: 1.0s; }

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