@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
フッターメニュー
---------------------------------------------------------------------------------------------------------------------
*/
#footer {
  background-color: #000 !important; }

#footer-v14 {
  max-width: 1400px;
  margin: auto;
  width: 90%;
  padding: 60px 0 20px; }
  @media (min-width: 1024px) {
    #footer-v14 {
      padding: 80px 0 20px;
      width: 95%; } }
  @media (min-width: 1024px) {
    #footer-v14 .title-copy {
      display: flex;
      align-items: center; } }
  #footer-v14 .title-copy img {
    width: 200px;
    margin: 0 0 10px 0; }
    @media (min-width: 1024px) {
      #footer-v14 .title-copy img {
        width: 240px;
        margin: 0 30px 0 0; } }
  #footer-v14 .title-copy p {
    font-size: 0.85em;
    line-height: 1.4em;
    color: #fff;
    margin: 0; }
    @media (min-width: 1250px) {
      #footer-v14 .title-copy p {
        font-size: 0.9em; } }
  #footer-v14 .footer-menu {
    position: relative;
    margin-top: 30px;
    border-top: 1px solid #666;
    padding-top: 30px; }
    @media (min-width: 768px) {
      #footer-v14 .footer-menu {
        display: flex; } }
    @media (min-width: 1024px) {
      #footer-v14 .footer-menu {
        display: block; } }
    @media (min-width: 1400px) {
      #footer-v14 .footer-menu {
        display: flex;
        justify-content: space-between;
        margin-top: 60px;
        padding-top: 60px; } }
    @media (min-width: 768px) {
      #footer-v14 .footer-menu .group1-L {
        width: 20%; } }
    @media (min-width: 1024px) {
      #footer-v14 .footer-menu .group1-L {
        width: 100%; } }
    @media (min-width: 1400px) {
      #footer-v14 .footer-menu .group1-L {
        width: 20%; } }
    #footer-v14 .footer-menu .group1-R {
      margin-top: 40px; }
      @media (min-width: 768px) {
        #footer-v14 .footer-menu .group1-R {
          width: 80%;
          margin-top: 0; } }
      @media (min-width: 1024px) {
        #footer-v14 .footer-menu .group1-R {
          display: flex;
          width: 100%;
          margin-top: 40px; } }
      @media (min-width: 1400px) {
        #footer-v14 .footer-menu .group1-R {
          width: 80%;
          margin-top: 0; } }
    @media (min-width: 1024px) {
      #footer-v14 .footer-menu .group2-L {
        width: 60%;
        padding-right: 4%; } }
    @media (min-width: 1100px) {
      #footer-v14 .footer-menu .group2-L {
        padding-right: 6%; } }
    @media (min-width: 1500px) {
      #footer-v14 .footer-menu .group2-L {
        padding-right: 8%; } }
    #footer-v14 .footer-menu .group2-L .menu-in {
      display: flex;
      justify-content: space-between;
      margin: 20px 0; }
      @media (min-width: 768px) {
        #footer-v14 .footer-menu .group2-L .menu-in {
          margin: 20px 0 0 0; } }
      #footer-v14 .footer-menu .group2-L .menu-in ul {
        margin-right: 20px; }
        @media (max-width: 600px) {
          #footer-v14 .footer-menu .group2-L .menu-in ul:nth-child(2) {
            margin: 0; } }
        #footer-v14 .footer-menu .group2-L .menu-in ul:last-child {
          margin: 0; }
    #footer-v14 .footer-menu .group2-L ul.pc {
      display: none; }
      @media (min-width: 600px) {
        #footer-v14 .footer-menu .group2-L ul.pc {
          display: block; } }
    @media (min-width: 600px) {
      #footer-v14 .footer-menu .group2-L ul.sp {
        display: none; } }
    #footer-v14 .footer-menu .group2-R {
      margin-top: 40px;
      display: flex; }
      @media (min-width: 768px) {
        #footer-v14 .footer-menu .group2-R {
          justify-content: space-between;
          width: 70%; } }
      @media (min-width: 1024px) {
        #footer-v14 .footer-menu .group2-R {
          margin-top: 0;
          width: 40%; } }
      #footer-v14 .footer-menu .group2-R .menu {
        margin: 0 40px 0 0; }
        @media (min-width: 768px) {
          #footer-v14 .footer-menu .group2-R .menu {
            margin: 0; } }
        #footer-v14 .footer-menu .group2-R .menu:last-child {
          margin: 0; }
        #footer-v14 .footer-menu .group2-R .menu .menu-in {
          margin: 20px 0 0 0; }
          @media (min-width: 600px) {
            #footer-v14 .footer-menu .group2-R .menu .menu-in {
              display: flex; } }
          #footer-v14 .footer-menu .group2-R .menu .menu-in ul {
            margin: 0 0 20px 0; }
            @media (min-width: 600px) {
              #footer-v14 .footer-menu .group2-R .menu .menu-in ul {
                margin: 0 40px 0 0; } }
            @media (min-width: 1024px) {
              #footer-v14 .footer-menu .group2-R .menu .menu-in ul {
                margin: 0 20px 0 0; } }
            @media (min-width: 1250px) {
              #footer-v14 .footer-menu .group2-R .menu .menu-in ul {
                margin: 0 40px 0 0; } }
            #footer-v14 .footer-menu .group2-R .menu .menu-in ul:last-child {
              margin: 0; }
    #footer-v14 .footer-menu .menu {
      position: relative; }
      #footer-v14 .footer-menu .menu h3 {
        font-size: 0.9em;
        color: #666; }
      #footer-v14 .footer-menu .menu ul {
        margin: 0; }
        #footer-v14 .footer-menu .menu ul li {
          font-weight: bold;
          color: #fff;
          margin-bottom: 18px; }
          #footer-v14 .footer-menu .menu ul li:last-child {
            margin-bottom: 0; }
          #footer-v14 .footer-menu .menu ul li a {
            position: relative;
            font-size: 0.85em;
            color: #fff;
            font-weight: bold;
            transition: .5s; }
            @media (min-width: 1024px) {
              #footer-v14 .footer-menu .menu ul li a {
                font-size: 0.9em; } }
            #footer-v14 .footer-menu .menu ul li a:hover {
              color: #00A4E3; }
            #footer-v14 .footer-menu .menu ul li a::after {
              position: absolute;
              bottom: 0;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #00A4E3;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            #footer-v14 .footer-menu .menu ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          #footer-v14 .footer-menu .menu ul li.catch {
            display: flex;
            align-items: center; }
            #footer-v14 .footer-menu .menu ul li.catch::before {
              border-top: 1px solid #fff;
              content: "";
              width: 12px;
              margin-right: 0.5em; }
            #footer-v14 .footer-menu .menu ul li.catch a {
              font-weight: lighter;
              font-size: 0.75em; }
              @media (min-width: 1024px) {
                #footer-v14 .footer-menu .menu ul li.catch a {
                  font-size: 0.85em; } }
  #footer-v14 .menu-shita {
    position: relative;
    margin: -24px 0 0; }
    @media (min-width: 600px) {
      #footer-v14 .menu-shita {
        margin: 60px 0 0; } }
    @media (min-width: 1024px) {
      #footer-v14 .menu-shita {
        margin: 120px 0 0; } }
    #footer-v14 .menu-shita .menu-sns {
      display: flex;
      align-items: end; }
      @media (min-width: 600px) {
        #footer-v14 .menu-shita .menu-sns {
          position: absolute;
          bottom: 3px;
          right: 0; } }
      #footer-v14 .menu-shita .menu-sns h3 {
        font-size: 0.9em;
        font-weight: lighter;
        line-height: 1.0em;
        color: #fff;
        margin: 0; }
      #footer-v14 .menu-shita .menu-sns ol {
        display: flex;
        margin: 0; }
        #footer-v14 .menu-shita .menu-sns ol li {
          margin: 0 16px 0 16px; }
          #footer-v14 .menu-shita .menu-sns ol li a:hover svg {
            fill: #00A4E3; }
          #footer-v14 .menu-shita .menu-sns ol li a svg {
            width: 20px;
            fill: #fff;
            transition: .5s;
            vertical-align: bottom; }
          #footer-v14 .menu-shita .menu-sns ol li:last-child {
            margin: 0; }
    #footer-v14 .menu-shita .copylight {
      display: flex;
      justify-content: center;
      margin-top: 40px; }
      @media (min-width: 768px) {
        #footer-v14 .menu-shita .copylight {
          margin-top: 0; } }
      #footer-v14 .menu-shita .copylight ul {
        display: flex;
        margin: 0; }
        #footer-v14 .menu-shita .copylight ul li {
          margin-right: 5px; }
          @media (min-width: 1024px) {
            #footer-v14 .menu-shita .copylight ul li {
              margin-right: 10px; } }
          #footer-v14 .menu-shita .copylight ul li p {
            font-size: 0.8em;
            line-height: 1.2em;
            color: #fff;
            margin: 0; }
          #footer-v14 .menu-shita .copylight ul li a {
            display: flex;
            position: relative;
            transition: .5s; }
            #footer-v14 .menu-shita .copylight ul li a p {
              margin-right: 6px; }
            #footer-v14 .menu-shita .copylight ul li a img {
              width: 10px; }
            #footer-v14 .menu-shita .copylight ul li a::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; }
            #footer-v14 .menu-shita .copylight ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          #footer-v14 .menu-shita .copylight ul li:first-child {
            display: flex;
            align-items: center; }
            #footer-v14 .menu-shita .copylight ul li:first-child::after {
              border-right: 1px solid #fff;
              content: "";
              height: 11px;
              margin: 1px 0 0 5px; }
              @media (min-width: 1024px) {
                #footer-v14 .menu-shita .copylight ul li:first-child::after {
                  margin: 1px 0 0 10px; } }
          #footer-v14 .menu-shita .copylight ul li:last-child {
            margin: 0 0 0 10px; }

/*
---------------------------------------------------------------------------------------------------------------------
トップへ戻るボタン
---------------------------------------------------------------------------------------------------------------------
*/
#page-top {
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 50;
  opacity: 0;
  transform: translateY(100px); }
  @media (min-width: 768px) {
    #page-top {
      right: inherit;
      left: 20px; } }
  #page-top a {
    background-color: #fff;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    text-align: center;
    transition: all 0.3s;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (min-width: 768px) {
      #page-top a {
        width: 50px;
        height: 50px; } }
    #page-top a::after {
      position: absolute;
      content: '';
      top: 20px;
      width: 10px;
      height: 10px;
      border-top: solid 1px #000;
      border-right: solid 1px #000;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      transition: .5s; }
      @media (min-width: 768px) {
        #page-top a::after {
          top: 22px; } }
    #page-top a:hover {
      letter-spacing: 0.08em; }

/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 1s forwards; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime1 0.5s forwards; }

@keyframes DownAnime1 {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 1;
    transform: translateY(100px); } }
