@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2025 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2025 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.0
 * Update	  : 2025.06.17
 *
 *************************************************************/
body {
  background-color: #070002;
  text-align: center;
}

#bg {
  background-repeat: no-repeat;
  margin: 0 auto;
}
h1 {
  color: #fff;
}
#logo {
  display: inline-block;
}
#logo > img {
  width: 100%;
}
#bg > div.wrap > h2 {
  line-height: 1em;
  color: #efefef;
}
#bg > div.wrap > h3 {
  line-height: 1em;
  color: #dcdddd;
}
#enter > a {
  display: inline-block;
}
#enter > a > img {
  width: 100%;
}
#caution18kin {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
#caution18kin > p {
  line-height: 1.6em;
  text-align: left;
}

#licensed {
  background-color: #3e3a39;
  color: #fff;
  text-align: center;
}


dl > dt {
  display: inline-block;
  border-bottom-style: solid;
  border-bottom-color: #fff;
  padding-bottom: .5em;
  font-weight: bold;
  color: #fff;
  line-height: 1em;
}
dl > dd {
  text-align: center;
}
dl > dd > a {
  display: inline-block;
}
dl > dd > a > img {
  width: 100%;
}

footer {
  border-top-style: solid;
  border-top-color: #fff;
  background-color: #7e1a36;
}


@media print, screen and (min-width: 1024px) {
  /* px */

  body {
    background-image: url('imgs/bg_mesh.png'), url('imgs/bg_cast_left.png'), url('imgs/bg_mesh.png'), url('imgs/bg_cast_right.png');
    background-position-x: 0%, 0%, 100%, 100%;
    background-repeat: no-repeat;
  }
  #bg {
    width: 1024px;
    height: 1000px;
  }
  h1 {
    font-size: 12px;
    line-height: 25px;
  }
  #logo {
    width: 814px;
    height: 270px;
    margin: 120px auto 0;
  }
  #bg > div.wrap > h2 {
    margin-top: 150px;
    font-size: 36px;
  }
  #bg > div.wrap > h3 {
    margin-top: 14px;
    font-size: 21px;
  }
  #enter {
    margin-top: 77px;
  }
  #enter > a {
    width: 300px;
    height: 80px;
  }
  #caution18kin {
    margin-top: 90px;
  }
  #caution18kin > p {
    padding: 0 10px;
    font-size: 14px;
  }

  #licensed {
    font-size: 12px;
    line-height: 25px;
  }
  #licensed > br.sp {
    display: none;
  }

  dl > dt {
    width: 150px;
    margin-top: 100px;
    border-bottom-width: 5px;
    font-size: 24px;
  }
  dl > dd {
    margin-top: 50px;
  }
  dl > dd > a {
    width: 400px;
    margin: 0 50px;
  }
  dl > dd > a:nth-child(n+3) {
    margin-top: 20px;
  }

  footer {
    margin-top: 50px;
    border-top-width: 1px;
    font-size: 14px;
    line-height: 50px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  #bg {
    width: 100%;
    padding-top: 78.125%;
    position: relative;
  }
  #bg > div.wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('imgs/bg_mesh.png'), url('imgs/bg_cast_left.png'), url('imgs/bg_mesh.png'), url('imgs/bg_cast_right.png');
    background-position-x: 0%, 0%, 100%, 100%;
    background-size: auto 100%;
    background-repeat: no-repeat;
  }
  h1 {
    font-size: 9px;
    line-height: 18px;
  }

  #logo {
    width: 75vw;
    margin: 6vw auto 0;
  }
  #bg > div.wrap > h2 {
    margin-top: 8vw;
    font-size: 3.5vw;
  }
  #bg > div.wrap > h3 {
    margin-top: 1.5vw;
    font-size: 2.1vw;
  }
  #enter {
    margin-top: 7vw;
  }
  #enter > a {
    width: 25vw;
  }
  #caution18kin {
    margin-top: 7vw;
  }
  #caution18kin > p {
    padding: 0 1.5vw;
    font-size: 1.2vw;
  }
  #caution18kin > img { 
    width: 6vw;
  }

  #licensed {
    font-size: 1.4051vw;
    line-height: 2.9274vw;
  }
  #licensed > br.sp {
    display: none;
  }

  dl > dt {
    width: 17.5644vw;
    margin-top: 11.7096vw;
    border-bottom-width: 0.5854vw;
    font-size: 2.8103vw;
  }
  dl > dd {
    margin-top: 5.8548vw;
  }
  dl > dd > a {
    width: 40vw;
    margin: 0 2vw;
  }
  dl > dd > a:nth-child(n+3) {
    margin-top: 2.3419vw;
  }

  footer {
    margin-top: 5.8548vw;
    border-top-width: 0.117vw;
    font-size: 1.6393vw;
    line-height: 5.8548vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  #bg {
    width: 100%;
    padding-top: 150%;
    position: relative;
  }
  #bg > div.wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('imgs/bg_mesh.png'), url('imgs/bg_cast_left.png');
    background-position-x: 0%, 0%;
    background-size: auto 100%;
    background-repeat: no-repeat;
  }
  h1 {
    padding: 2vw;
    font-size: 3vw;
    line-height: 1.4em;
  }

  #logo {
    width: 95vw;
    margin: 7vw auto 0;
  }
  #bg > div.wrap > h2 {
    margin-top: 15vw;
    font-size: 5vw;
  }
  #bg > div.wrap > h3 {
    margin-top: 3vw;
    font-size: 3vw;
  }
  #enter {
    margin-top: 22vw;
  }
  #enter > a {
    width: 70vw;
  }
  #caution18kin {
    margin-top: 13vw;
  }
  #caution18kin > p {
    padding: 0 5vw;
    font-size: 2.5vw;
  }
  #caution18kin > img { 
    width: 10vw;
  }

  #licensed {
    padding: 2vw;
    font-size: 2.5vw;
    line-height: 3.5vw;
  }

  dl > dt {
    width: 37.5vw;
    margin-top: 25vw;
    border-bottom-width: 1.25vw;
    font-size: 6vw;
  }
  dl > dd {
    margin-top: 10vw;
  }
  dl > dd > a {
    width: 90vw;
    margin: 0 auto;
  }
  dl > dd > a + a {
    margin-top: 5vw;
  }

  footer {
    margin-top: 12.5vw;
    border-top-width: 0.25vw;
    font-size: 3.5vw;
    line-height: 12.5vw;
  }
}
