/* width */
/*border*/
/*screenmarge*/
/*---------------------------------
	
-----------------------------------*/
.topimage {
  background: url("../imgs/top_main.jpg") center center;
  background-size: cover;
  height: 60vh;
  max-height: 600px;
  min-height: 500px;
  position: relative;
  overflow: hidden; }
  .topimage .read {
    margin: 10vh 0 0 2vw; }
    .topimage .read div {
      display: block;
      height: 20px; }
    .topimage .read p {
      margin: 0 0 4rem;
      color: #FFF;
      font-size: 5rem;
      display: inline;
      line-height: 1.5;
      opacity: 0;
      text-shadow: 0px 0px 7px #1d2087, 0px 0px 2px #1d2087; }
      .topimage .read p span {
        opacity: 0;
        animation: text_anime_on 1s ease-out forwards;
        border-bottom: #FFF 2px solid; }
      @media only screen and (max-width: 900px) {
        .topimage .read p {
          font-size: 4rem;
          text-align: center; } }
  @media only screen and (min-width: 1400px) {
    .topimage {
      height: 70vh;
      max-height: 700px;
      background: url("../imgs/top_main.jpg") center top 10%;
      background-size: cover; } }
  @media only screen and (min-width: 1520px) {
    .topimage {
      height: 70vh;
      max-height: 700px; } }
  .topimage .scrollimage {
    position: absolute;
    bottom: 0;
    background: url("../imgs/top/main_scroll.png") bottom left repeat-x;
    background-size: 100% auto;
    animation: scroll-anim 500s linear infinite;
    width: 100%;
    height: 100%; }
    @media only screen and (min-width: 1520px) {
      .topimage .scrollimage {
        background-size: auto 300px; } }
    @media only screen and (max-width: 1024px) {
      .topimage .scrollimage {
        background-size: auto 100%;
        height: 180px; } }
    @media only screen and (max-width: 680px) {
      .topimage .scrollimage {
        background-size: auto 100%;
        height: 150px; } }

@keyframes text_anime_on {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes scroll-anim {
  from {
    background-position: 0 bottom; }
  to {
    background-position: -16000px bottom; } }
.focus {
  margin-top: -2rem; }
  .focus .block {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
    z-index: 2;
    margin: 0 20% 0 0;
    line-height: 1; }
    .focus .block:nth-last-of-type(1) {
      margin: 0 0 0 20%;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      flex-wrap: nowrap; }
    @media only screen and (max-width: 900px) {
      .focus .block {
        margin: 0 10% 0 0; }
        .focus .block:nth-last-of-type(1) {
          margin: 0 0 0 10%; } }
    @media only screen and (max-width: 780px) {
      .focus .block {
        margin: 0; }
        .focus .block:nth-last-of-type(1) {
          margin: 0; } }
    .focus .block .background {
      background: #1D2087;
      top: 100px;
      bottom: 0;
      left: 0;
      width: 100%;
      height: calc(100%-100px);
      position: absolute; }
      @media only screen and (max-width: 780px) {
        .focus .block .background {
          top: 50px; } }
      .focus .block .background:hover {
        filter: alpha(opacity=90);
        opacity: 0.9; }
    .focus .block a {
      position: relative;
      z-index: 10; }
    .focus .block .face,
    .focus .block .read {
      position: relative;
      z-index: 2; }
    .focus .block .face {
      width: 300px;
      margin-bottom: -1px; }
      @media only screen and (max-width: 780px) {
        .focus .block .face {
          width: 250px; } }
      @media only screen and (max-width: 600px) {
        .focus .block .face {
          width: 200px;
          min-width: 200px; } }
    .focus .block .read {
      color: #FFF;
      margin: 5rem 0 0;
      width: auto; }
      .focus .block .read span {
        font-size: 3.5rem;
        display: block;
        margin-bottom: 2rem; }
        @media only screen and (max-width: 780px) {
          .focus .block .read span {
            font-size: 2.5rem; } }
    .focus .block:nth-last-of-type(1) .read {
      margin: 5rem auto 0 5%; }

.message {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  background: url("../imgs/top/message_bg.jpg") right bottom no-repeat;
  background-size: contain;
  max-width: 1200px;
  margin-left: auto; }
  .message .title {
    background: #1D2087;
    color: #FFF;
    margin: 100px 0 50px 5%;
    padding: 4rem 5rem; }
    .message .title p {
      font-size: 2.2rem;
      margin-bottom: 2rem; }
    .message .title:hover {
      filter: alpha(opacity=80);
      opacity: 0.8; }
    @media only screen and (max-width: 1000px) {
      .message .title {
        width: 50%;
        margin: 100px 0 50px 1%;
        padding: 1.5rem 2rem; }
        .message .title p {
          font-size: 1.8rem; } }
    @media only screen and (max-width: 780px) {
      .message .title {
        margin: 50px 0 100px 1%;
        width: 60%;
        padding: 1rem 1rem; }
        .message .title p {
          font-size: 1.7rem; } }
    @media only screen and (max-width: 600px) {
      .message .title {
        margin: 180px 0 -100px 1%;
        width: 70%; }
        .message .title p {
          font-size: 1.6rem; } }
    @media only screen and (max-width: 420px) {
      .message .title {
        width: 100%; } }
  @media only screen and (max-width: 780px) {
    .message {
      background: url("../imgs/top/message_bg.jpg") right -10vw bottom no-repeat;
      background-size: contain; } }
  @media only screen and (max-width: 600px) {
    .message {
      background: url("../imgs/top/message_bg.jpg") right 0 top no-repeat;
      background-size: 80% auto; } }
  @media only screen and (max-width: 420px) {
    .message {
      background: url("../imgs/top/message_bg.jpg") right 0 top no-repeat;
      background-size: 100% auto; } }

.comictitle {
  background: #FFF;
  font-size: 3.5rem;
  color: #1D2087;
  margin: 8rem auto -4rem;
  text-align: center;
  display: block;
  width: 6em;
  height: 2em;
  position: relative;
  z-index: 3; }
  @media only screen and (max-width: 600px) {
    .comictitle {
      margin-top: 150px; } }

.comic {
  border: 2px solid #1D2087;
  padding: 5rem 2rem 4rem;
  margin: 0 2%; }
  @media only screen and (max-width: 780px) {
    .comic {
      padding: 5rem 0 4rem; } }
  .comic ul {
    display: flex;
    justify-content: space-around;
    align-items: top;
    flex-wrap: wrap; }
    .comic ul li {
      width: 28%;
      margin: 0 0 0 3rem; }
      .comic ul li a {
        margin-top: -5rem;
        display: block;
        font-size: 1.7rem; }
      .comic ul li .episode {
        background: #1D2087;
        color: #FFF;
        font-size: 3rem;
        width: 2em;
        height: 2em;
        display: inline-block;
        padding: 0.4rem 0 0;
        text-align: center;
        margin: 0 0 0 -3rem;
        position: relative;
        z-index: 3; }
      @media only screen and (max-width: 780px) {
        .comic ul li {
          width: 40%; } }
      @media only screen and (max-width: 600px) {
        .comic ul li {
          width: 60%;
          min-width: 280px;
          margin-bottom: 2rem; } }
  .comic p {
    color: #1D2087; }

.interview {
  background: #1D2087;
  padding: 0 2%;
  margin: 8rem 0; }
  .interview a {
    width: 100%;
    display: block;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
    .interview a:hover, .interview a:hover img {
      filter: alpha(opacity=90);
      opacity: 0.9; }
  .interview .photo {
    margin: -3rem auto 0 0;
    display: block;
    width: 70%; }
    .interview .photo:last-of-type {
      margin: 3rem auto -3rem 0;
      margin-left: 30%;
      text-align: right; }
    @media only screen and (max-width: 900px) {
      .interview .photo {
        width: 96%;
        margin-left: 2%;
        margin-right: 2%;
        /**/ }
        .interview .photo:first-of-type {
          overflow: hidden; }
          .interview .photo:first-of-type img {
            margin-left: 12.5%; }
        .interview .photo:last-of-type {
          margin-left: 2%; } }
  .interview h1 {
    width: 24%;
    min-width: 7em;
    max-width: 10em;
    color: #FFF;
    display: inline-block;
    margin: 5rem 4% auto auto; }
    @media only screen and (max-width: 900px) {
      .interview h1 {
        margin: auto; } }
    @media only screen and (min-width: 1280px) {
      .interview h1 {
        padding-top: 5vh; } }
    .interview h1:before {
      border: 10px solid;
      border-color: transparent;
      border-top-color: #FFF;
      margin-left: -10px; }
    .interview h1:after {
      border: 7px solid;
      border-color: transparent;
      border-top-color: #1D2087;
      margin-left: -7px; }

.other {
  width: 15em;
  max-width: 100%;
  margin: 5rem auto;
  text-align: center; }
  .other a {
    padding: 0 1rem;
    margin: 0 auto 5rem;
    color: #25A0D3;
    position: relative;
    width: 100%;
    display: block;
    font-size: 2.5rem; }
    .other a:before, .other a::after {
      position: absolute;
      top: 0;
      content: '';
      width: 8px;
      height: 100%;
      border: 2px solid #25A0D3; }
    .other a:before {
      left: 0;
      border-right: none; }
    .other a:after {
      content: '';
      border-left: none;
      right: 0; }

/*# sourceMappingURL=top.css.map */
