/*------------------ colors setting ------------------*/
:root {
    /* colors */
    --primary: #E00A15;
    --gold-300: #c62782;
    --gold-400: #c62782;
    --sky-400: #A8E8FF;
    --gray-b: #bababc;
    /* colors-body */
    --font-color: #fff;
    --bg-bn: linear-gradient(90deg, #060b29 0%, #13237b 50%, #060b29 100%);
  }
  
  /*------------------ colors ------------------*/
  .color-main {
    color: var(--primary);
  }
  
  .color01 {
    color: var(--gold-300);
  }
  
  .color02 {
    color: var(--gold-400);
  }
  
  .color03 {
    color: var(--sky-400);
  }
  
  .gray-b {
    color: var(--gray-b);
  }
  
  /*------------------ typo -------------------*/
  @font-face {
    font-family: "aTitGD";
    font-style: normal;
    font-weight: 400;
    src: local("aTITGD2"), url("fonts/aTITGD2.eot") format("embedded-opentype"), url("fonts/aTITGD2.woff") format("woff"), url("fonts/aTITGD2.ttf") format("truetype");
  }
  @font-face {
    font-family: "aTitGD";
    font-style: normal;
    font-weight: 500;
    src: local("aTITGD3"), url("fonts/aTITGD3.eot") format("embedded-opentype"), url("fonts/aTITGD3.woff") format("woff"), url("fonts/aTITGD3.ttf") format("truetype");
  }
  @font-face {
    font-family: "aTitGD";
    font-style: normal;
    font-weight: 600;
    src: local("aTITGD4"), url("fonts/aTITGD4.eot") format("embedded-opentype"), url("fonts/aTITGD4.woff") format("woff"), url("fonts/aTITGD4.ttf") format("truetype");
  }
  /*------------------ base ------------------*/
  * {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    letter-spacing: inherit;
    font-style: normal;
    text-decoration: none;
    list-style: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
  }
  
  html, body {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin-top: 10px;
    padding :0;
  }
  
  html {
    font-family: "aTitGD", "Malgun Gothic", "sans-serif", "Arial";
    font-size: 16px;
    color: var(--font-color);
    line-height: 1.25;
  }
  @media screen and (max-width: 1024px) {
    html {
      font-size: 14px;
    }
  }
  
  body {
    background: url('./bg.png') no-repeat center center fixed;
    background-size: cover;
    scroll-behavior: smooth;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-3dLight-Color: #101010;
    scrollbar-arrow-color: #101010;
    scrollbar-base-color: #262626;
    scrollbar-Face-Color: #101010;
    scrollbar-Track-Color: #262626;
    scrollbar-DarkShadow-Color: #101010;
    scrollbar-Highlight-Color: #101010;
    scrollbar-Shadow-Color: #101010;
  }
  body::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }
  body::-webkit-scrollbar-thumb {
    background-color: #101010;
    border-radius: 4px;
  }
  body::-webkit-scrollbar-track {
    background-color: #262626;
    width: 4px;
    height: 4px;
    border-radius: 4px;
  }
  
  h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
  }
  
  img, video, embed {
    max-width: 100%;
    max-height: 100%;
  }
  
  table {
    border-collapse: separate;
    border-spacing: 0;
  }
  
  caption {
    display: none;
  }
  
  fieldset {
    border: 0 none;
  }
  
  legend {
    width: 0;
    height: 0;
    font-size: 0;
    overflow: hidden;
    visibility: hidden;
  }
  
  input,
  select {
    display: inline-block;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  
  input::-ms-check {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  
  select {
    cursor: pointer;
  }
  select::-ms-expand {
    display: none;
  }
  
  textarea {
    outline: none;
  }
  
  a,
  button {
    display: inline-block;
    outline: none;
    vertical-align: middle;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
  }
  
  .wrap {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-image: var(--bg-body);
  }
  
  .main-visual {
    text-align: center;
  }
  .main-visual .mobile {
    display: none;
  }
  @media screen and (max-width: 1024px) {
    .main-visual .mobile {
      display: block;
    }
    .main-visual .pc {
      display: none;
    }
  }
  
  .container {
    margin: auto;
    max-width: 940px;
    text-align: center;
  }
  .container-image {
    max-width: 100%;
    height: auto;
  }

  .container .content {
    position: relative;
  }
  .container .content + .content {
    margin-top: 1.25rem;
  }
  
  .content .txt-bx {
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.5% 4% 5%;
    width: 100%;
    height: 100%;
    font-size: 1.62rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 2;
  }
  .content .txt-bx p {
    display: block;
    width: 100%;
  }
  .content .txt-bx p + p {
    margin-top: 3%;
  }
  @media screen and (max-width: 1024px) {
    .content .txt-bx {
      font-size: 0.87rem;
    }
  }
  
  .txt-lg {
    margin-bottom: 0.62rem;
    line-height: 1em;
    font-size: 220%;
    font-weight: 500;
  }
  @media screen and (max-width: 1024px) {
    .txt-lg {
      margin-bottom: 0;
      font-size: 200%;
    }
  }
  
  .txt-md {
    font-size: 120%;
    line-height: 1em;
  }
  
  .tit {
    font-size: 145%;
    line-height: 1em;
  }
  
  .under {
    text-decoration: underline;
    text-underline-position: under;
    text-decoration-thickness: 2px;
    text-shadow: rgba(0, 0, 0, 0.75) 3px 3px 3px;
  }
  @media screen and (max-width: 768px) {
    .under {
      text-decoration-thickness: 1px;
    }
  }
  
  .bn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 1% 3%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 500;
    background-image: var(--bg-bn);
    border-radius: 10px;
    text-shadow: rgba(0, 0, 0, 0.35) 1px 1px 3px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.75) 3px 3px 3px;
            box-shadow: rgba(0, 0, 0, 0.75) 3px 3px 3px;
  }
  .bn img {
    margin: 0 10px;
    height: 3.75rem;
  }
  .bn.tgram {
    width: 100%;
    font-size: 240%;
    line-height: 1em;
  }
  @media screen and (max-width: 1024px) {
    .bn.tgram {
      font-size: 110%;
    }
    .bn.tgram img {
      margin: 0 5px;
      height: 2.12rem;
    }
  }
  @media screen and (max-width: 1024px) {
    .bn {
      border-radius: 5px;
    }
  }
  
  .link-area {
    padding: 5%;
    width: 100%;
  }
  .link-area li {
    padding: 3%;
    width: 100%;
    font-size: 110%;
    font-weight: 600;
    background: linear-gradient(90deg, #000000 0%, #1d2023 50%, #000000 100%);
    border-radius: 10px;
    color: #c62782;
  }
  @media screen and (max-width: 1024px) {
    .link-area li {
      border-radius: 5px;
    }
  }
  .link-area li + li {
    margin-top: 2%;
  }
  
  .bn-wrap {
    padding: 3%;
  }
  .bn-wrap .bn + .bn {
    margin-top: 3%;
  }
  
  .ani {
    -webkit-animation: blink 1s ease-in-out infinite alternate;
            animation: blink 1s ease-in-out infinite alternate;
  }
  
  @-webkit-keyframes blink {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  
  @keyframes blink {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }