/*
	CSS Document for Toppage
	Author:
	version: 1.0
	Last Update: 2023.1.30
*/
/* =======================
	Main Content
========================= */
main .toppage {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  text-align: center; }
  @media screen and (min-width: 1920px) {
    main .toppage {
      width: 1920px;
      height: 1080px; } }
  main .toppage--catchcopy {
    position: absolute;
    width: 66%;
    height: auto;
    top: 11%;
    left: 4%;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      main .toppage--catchcopy {
        width: 58%;
        top: 12%;
        left: 4.5%; } }
    @media screen and (min-width: 1024px) {
      main .toppage--catchcopy {
        width: 35%;
        top: 10%; } }
    @media screen and (min-width: 1920px) {
      main .toppage--catchcopy {
        width: 700px;
        height: 220px;
        top: 60px;
        right: 100px; } }
    main .toppage--catchcopy img {
      display: block;
      width: 100%;
      height: auto; }
  main .toppage--mark {
    position: absolute;
    top: 32%;
    left: 10%;
    right: auto;
    bottom: auto;
    width: 40%;
    height: 0;
    padding-top: 40%;
    margin: 0; }
    @media screen and (min-width: 768px) {
      main .toppage--mark {
        top: 20%;
        left: 5%;
        right: 0;
        bottom: 0;
        width: 40%;
        height: 0;
        padding-top: 40%;
        margin: auto 0; } }
    @media screen and (min-width: 1024px) {
      main .toppage--mark {
        width: 32.29%;
        height: 57.41%;
        top: 22.4%;
        left: 3.75%;
        margin: 0; } }
    @media screen and (min-width: 1920px) {
      main .toppage--mark {
        width: 620px;
        height: 620px;
        top: 242px;
        left: 72px; } }
    main .toppage--mark #Emblem {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    main .toppage--mark #Emblem > div {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    main .toppage--mark #EmblemName {
      background: url("../svg/emblem-name.svg") center center no-repeat;
      background-size: contain;
      z-index: 4; }
    main .toppage--mark #EmblemMedal {
      background: url("../svg/emblem-medal.svg") center center no-repeat;
      background-size: contain;
      z-index: 3; }
    main .toppage--mark #EmblemDiamond {
      background: url("../svg/emblem-diamond.svg") center center no-repeat;
      background-size: contain;
      z-index: 2; }
    main .toppage--mark #EmblemSword {
      background: url("../svg/emblem-sword.svg") center center no-repeat;
      background-size: contain;
      z-index: 1; }
  main .toppage--exlink {
    position: absolute;
    width: 60%;
    height: auto;
    top: 15px;
    left: auto;
    right: 15px;
    margin: 0;
    z-index: 13; }
    @media screen and (min-width: 768px) {
      main .toppage--exlink {
        width: 40%;
        height: auto;
        top: 5%;
        left: auto;
        right: 5%;
        margin: 0; } }
    @media screen and (min-width: 1024px) {
      main .toppage--exlink {
        width: 30%;
        height: auto;
        top: 8.5%;
        left: auto;
        right: 5%;
        margin: 0; } }
    @media screen and (min-width: 1920px) {
      main .toppage--exlink {
        width: 500px;
        height: 85px;
        top: 90px;
        left: auto;
        right: 90px;
        margin: 0; } }
    main .toppage--exlink ul {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-end;
      height: 100%; }
      main .toppage--exlink ul li {
        margin-left: 3%;
        width: auto;
        height: 100%;
        background-color: white;
        padding: 2px;
        border-radius: 0;
        box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.5);
        overflow: hidden; }
        main .toppage--exlink ul li a {
          display: block;
          height: 100%; }
        main .toppage--exlink ul li:hover {
          cursor: pointer;
          filter: brightness(1.1); }
        @media screen and (min-width: 768px) {
          main .toppage--exlink ul li {
            margin-left: 2.5%; } }
        @media screen and (min-width: 1024px) {
          main .toppage--exlink ul li {
            margin-left: 3%; } }
        @media screen and (min-width: 1920px) {
          main .toppage--exlink ul li {
            margin-left: 15px; } }
    main .toppage--exlink img {
      display: block;
      width: 100%;
      height: auto; }
  main .toppage--charactor {
    position: absolute;
    width: 80%;
    height: 90%;
    top: 10%;
    left: 20%;
    right: 0;
    bottom: 0;
    margin: auto; }
    @media screen and (min-width: 576px) {
      main .toppage--charactor {
        width: 70%; } }
    @media screen and (min-width: 768px) {
      main .toppage--charactor {
        width: 60%;
        height: 80%;
        top: 10%;
        left: 10%;
        right: 0;
        bottom: 0;
        margin: auto; } }
    @media screen and (min-width: 1024px) {
      main .toppage--charactor {
        width: 30%;
        height: 80%;
        top: 10%;
        left: 0;
        right: 16%;
        bottom: 0;
        margin: auto; } }
    @media screen and (min-width: 1920px) {
      main .toppage--charactor {
        width: 500px;
        height: 900px;
        top: 100px;
        left: 550px;
        right: auto; } }
    main .toppage--charactor img {
      display: block;
      width: 100%;
      height: auto; }
  main .toppage--charalink {
    position: absolute;
    display: block;
    width: 40%;
    height: auto;
    top: auto;
    bottom: 8%;
    left: 10%;
    right: auto;
    z-index: 12; }
    @media screen and (min-width: 576px) {
      main .toppage--charalink {
        width: 40%;
        left: 10%; } }
    @media screen and (min-width: 768px) {
      main .toppage--charalink {
        width: 30%; } }
    @media screen and (min-width: 1024px) {
      main .toppage--charalink {
        width: 23.96%;
        top: auto;
        bottom: 15%;
        left: auto;
        right: 14%; } }
    @media screen and (min-width: 1920px) {
      main .toppage--charalink {
        width: 460px;
        height: 94px;
        top: auto;
        bottom: 124px;
        left: 1090px;
        right: auto; } }
    main .toppage--charalink a {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    main .toppage--charalink img {
      display: block;
      width: 100%;
      height: auto; }
    main .toppage--charalink:hover {
      cursor: pointer;
      filter: brightness(1.2); }
    main .toppage--charalink:active {
      opacity: .8;
      filter: brightness(1.2); }
    main .toppage--charalink .menu-kasaimamori-shadow {
      position: absolute;
      top: 2px;
      left: 2px;
      display: block;
      width: 100%;
      height: 100%;
      z-index: -1; }
      @media screen and (min-width: 1024px) {
        main .toppage--charalink .menu-kasaimamori-shadow {
          top: 4px;
          left: 4px; } }
  main .toppage__innerbox {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 10; }
    main .toppage__innerbox--buttons {
      position: absolute;
      top: 60%;
      left: 0;
      right: 0;
      bottom: 0;
      width: 70%;
      height: auto;
      margin: auto;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start; }
      @media screen and (min-width: 576px) {
        main .toppage__innerbox--buttons {
          top: 58%;
          width: 70%; } }
      @media screen and (min-width: 768px) {
        main .toppage__innerbox--buttons {
          top: 20%;
          left: auto;
          right: 5%;
          bottom: 0;
          width: 48%;
          height: 40%;
          margin: auto;
          align-content: center; } }
      @media screen and (min-width: 1024px) {
        main .toppage__innerbox--buttons {
          top: 0;
          left: auto;
          right: 5%;
          bottom: 0;
          width: 38.44%;
          height: 40.55%;
          margin: auto; } }
      @media screen and (min-width: 1920px) {
        main .toppage__innerbox--buttons {
          top: 340px;
          left: 1090px;
          right: auto;
          bottom: auto;
          width: 740px;
          height: 438px; } }
      main .toppage__innerbox--buttons li {
        position: relative;
        display: block;
        width: 100%;
        height: 0;
        padding-top: 15.5%;
        margin: 6px 0;
        overflow: visible; }
        @media screen and (min-width: 576px) {
          main .toppage__innerbox--buttons li {
            margin: 8px 0; } }
        @media screen and (min-width: 768px) {
          main .toppage__innerbox--buttons li {
            margin: 6% 0; } }
        @media screen and (min-width: 1024px) {
          main .toppage__innerbox--buttons li {
            margin: 6% 0; } }
        @media screen and (min-width: 1920px) {
          main .toppage__innerbox--buttons li {
            width: 740px;
            height: 114px;
            padding-top: 0;
            margin: 24px 0; } }
        main .toppage__innerbox--buttons li .menu-shadow {
          position: absolute;
          top: 2px;
          left: 2px;
          width: 100%;
          height: 100%;
          z-index: -1; }
          main .toppage__innerbox--buttons li .menu-shadow img {
            display: block;
            width: 100%;
            height: auto; }
          @media screen and (min-width: 1024px) {
            main .toppage__innerbox--buttons li .menu-shadow {
              top: 3px;
              left: 3px; } }
          @media screen and (min-width: 1920px) {
            main .toppage__innerbox--buttons li .menu-shadow {
              top: 4px;
              left: 4px; } }
        main .toppage__innerbox--buttons li .menu-icon {
          position: absolute;
          top: 0;
          left: 0;
          width: 13.55%;
          height: 100%;
          z-index: 2;
          overflow: hidden; }
          main .toppage__innerbox--buttons li .menu-icon img {
            display: block;
            width: 100%;
            height: auto; }
          @media screen and (min-width: 1920px) {
            main .toppage__innerbox--buttons li .menu-icon {
              left: 0;
              width: 100px;
              height: 114px; } }
        main .toppage__innerbox--buttons li .menu-title {
          position: absolute;
          top: 0;
          left: 6.5%;
          width: 93.5%;
          height: 100%;
          z-index: 1;
          overflow: hidden; }
          main .toppage__innerbox--buttons li .menu-title img {
            display: block;
            width: 100%;
            height: auto; }
          @media screen and (min-width: 1920px) {
            main .toppage__innerbox--buttons li .menu-title {
              left: 50px;
              width: auto;
              height: 114px; } }
        main .toppage__innerbox--buttons li a {
          display: block;
          width: 100%;
          height: 100%; }
          main .toppage__innerbox--buttons li a:hover {
            cursor: pointer; }
            main .toppage__innerbox--buttons li a:hover div {
              transform: translate(-2px, -2px); }
          main .toppage__innerbox--buttons li a:active div {
            transform: translate(2px, 2px); }
