@charset "utf-8";
/* ==========================================
*
*  background
*
========================================== */

body {
  background-color: #000;
  color: #fff;
  position: relative;
  animation: fadeIn 3s ease 0.5s 1 both;
}

@media screen and (min-width: 900px) {
  .background {
    background: url(../../../../images/main/next_episode/key4_pc.jpg) top right/contain no-repeat;
    pointer-events: none;
    height: calc(1844 / 1302 * 100vw - 30px);
    max-height: 1844px;
    width: 100%;
    max-width: 1302px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
  }
  .key_sp {
    display: none;
  }
}

/* ==========================================
*
*  layout
*
========================================== */

.wrapper {
  position: relative;
  z-index: 2300;
}

.contents {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 900px) {
  .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
/*    position: fixed; */
  }

  .contents {
/*    margin-top: 50px; */
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    position: relative;
    z-index: 2;
    text-align: left;
  }

  .cont_left {
    position: fixed;
    top: 50px;
    left: 20px;
  }

  .cont_right {
    position: absolute;
    top: 50px;
    right: 20px;
  }

  .catch {
    position: absolute;
    right: 20px;
    top: 40px;
    white-space: nowrap;
  }

  .footer {
    text-align: center;
    padding: 50px 20px;
  }
}

@media screen and (min-width: 900px) and (max-height: 700px) {
  .wrapper {
    position: relative;
  }
}

@media screen and (max-width: 899px) {
  .cont_right, .cont_left, .key2 {
    flex-basis: auto;
    height: 100%;
  }
}

/* ==========================================
*
*  Object
*
========================================== */

.logo {
  font-size: 5.2rem;
  font-weight: 600;
  line-height: 1;
  font-family: 'Droid Serif', serif;
  text-align: center;
  max-width: 300px;
  margin: 0 auto;
}

#g_navi_v {
  line-height: 1.6;
  font-size: 2.7rem;
  font-family: 'Lusitana', TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
}

@media screen and (min-width: 900px) {
  .logo_uni {
    margin-left: 20px;
  }
  #g_navi_v {
    margin-left: 20px;
  }
}

#g_navi_v a {
  color: inherit;
  text-decoration: none;
  transition: 0.5s;
  border-bottom: 1px solid transparent;
}

#g_navi_v a:hover {
  border-color: #fff;
}

#g_navi_v li>span {
  opacity: 0.3;
}

.catch {
  margin: -40vw auto 20px;
  position: relative;
  z-index: 1;
  max-width: calc(507px/2);
}

.copyrights {
  text-align: center;
  margin: 0;
  padding: 2.5em;
}

@media screen and (min-width: 900px) {
  .catch {
    margin: -10px 0 0;
    width: calc(577 / 1920 * 100vw);
    max-width: 577px;
  }

  .copyrights {
    text-align: right;
    padding: 4em;
  }

  .footer {
    pointer-events: none;
    position: relative;
    z-index: 1220;
    height: calc(1844 / 1302 * 100vw - 30px);
    max-height: 1844px;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }

}


@media screen and (min-width: 900px) and (max-height: 700px) {
    .copyrights {
      padding: 4em;
      text-shadow: 0 0 5px #000,0 0 5px #000,0 0 5px #000;
    }

    .footer {
      position: absolute;
      bottom: 0;
      right: 0;
      top: 0;
    }
}

