@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word; }

body {
  font-size: 1.4rem;
  margin: 0;
  padding: 0; }
  @media only screen and (min-width: 750px) {
    body {
      font-size: 1.6rem;
      background-color: #ebebeb; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a:hover {
  opacity: 0.8; }

@media only screen and (min-width: 750px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
@media only screen and (min-width: 750px) {
  .spOnly {
    display: none; } }

.wrap {
  width: 100%;
  background-color: #fff; }
  @media only screen and (min-width: 750px) {
    .wrap {
      width: 750px;
      margin: 0 auto; } }

.keyvisual {
  position: relative;
  width: 100%;
  height: 158.66vw;
  background-color: #ff0000;
  background-image: url("../img/kv_bk.jpg");
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat; }
  @media only screen and (min-width: 750px) {
    .keyvisual {
      width: 750px;
      height: 1190px; } }
  .keyvisual.pre {
    height: 168vw; }
    @media only screen and (min-width: 750px) {
      .keyvisual.pre {
        height: 1260px; } }

.keyvisual--pretext {
  position: absolute;
  width: 93.33vw;
  top: 150.26vw;
  left: 3.33vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--pretext {
      width: 700px;
      top: 1127px;
      left: 25px; } }

.keyvisual--logo {
  position: absolute;
  width: 20.53vw;
  top: 4.66vw;
  left: 6vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--logo {
      width: 154px;
      top: 35px;
      left: 45px; } }

.keyvisual--title {
  position: absolute;
  width: 94vw;
  top: 56.53vw;
  left: 3.33vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--title {
      width: 705px;
      top: 424px;
      left: 25px; } }

.keyvisual--btn {
  position: absolute;
  width: 62vw;
  top: 93.33vw;
  left: 19.2vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--btn {
      width: 465px;
      top: 700px;
      left: 144px; } }

.keyvisual--lavel {
  position: absolute;
  width: 37.6vw;
  top: 24.26vw;
  right: 2.26vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--lavel {
      width: 282px;
      top: 182px;
      right: 17px; } }

.keyvisual--course {
  position: absolute;
  width: 92vw;
  top: 103.2vw;
  left: 4vw; }
  @media only screen and (min-width: 750px) {
    .keyvisual--course {
      width: 690px;
      top: 774px;
      left: 30px; } }

.period {
  position: relative;
  width: 100%;
  background-color: #ff0000;
  text-align: center;
  padding-bottom: 2.66vw; }
  @media only screen and (min-width: 750px) {
    .period {
      padding-bottom: 20px; } }
  .period img {
    width: 84.66vw; }
    @media only screen and (min-width: 750px) {
      .period img {
        width: 635px; } }

.pre .keyvisual--title {
  top: 59.73vw; }
  @media only screen and (min-width: 750px) {
    .pre .keyvisual--title {
      top: 448px; } }

.pre .keyvisual--course {
  top: 98vw; }
  @media only screen and (min-width: 750px) {
    .pre .keyvisual--course {
      top: 735px; } }

.pre .keyvisual--lavel {
  top: 25.6vw; }
  @media only screen and (min-width: 750px) {
    .pre .keyvisual--lavel {
      top: 192px; } }

.pre--start {
  position: absolute;
  width: 92vw;
  top: 154vw;
  left: 4vw; }
  @media only screen and (min-width: 750px) {
    .pre--start {
      width: 700px;
      top: 1155px;
      left: 25px; } }

.period .pre {
  padding-bottom: 2.66vw; }
  @media only screen and (min-width: 750px) {
    .period .pre {
      padding-bottom: 20px; } }

.entry {
  width: 100%;
  margin: 0 auto 0;
  padding: 12.93vw 0 13.6vw;
  background-color: #06c755; }
  @media only screen and (min-width: 750px) {
    .entry {
      width: 750px;
      margin: 0 auto 0;
      padding: 97px 0 102px; } }

.entry--title {
  width: 84vw;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .entry--title {
      width: 630px; } }

.entry--content {
  width: 86.66vw;
  margin: 5.4vw auto 0;
  padding: 6.4vw 0 8.26vw;
  border-radius: 5.3vw;
  background-color: #fff; }
  @media only screen and (min-width: 750px) {
    .entry--content {
      width: 650px;
      margin: 40px auto 0;
      padding: 48px 0 62px;
      border-radius: 40px; } }

.entry--content--step1 {
  width: 73.73vw;
  margin: 0 auto 0 6.26vw; }
  @media only screen and (min-width: 750px) {
    .entry--content--step1 {
      width: 553px;
      margin: 0 auto 0 47px; } }

.entry--content--btn {
  width: 74vw;
  margin: 8vw auto 0;
  filter: drop-shadow(0.66vw 0.66vw 0 #008241); }
  @media only screen and (min-width: 750px) {
    .entry--content--btn {
      width: 554px;
      margin: 60px auto 0;
      filter: drop-shadow(5px 5px 0 #008241); } }

.entry--content--border {
  width: 73.33vw;
  margin: 6vw auto 0; }
  @media only screen and (min-width: 750px) {
    .entry--content--border {
      width: 550px;
      margin: 50px auto 0; } }

.entry--content--step2 {
  width: 69.86vw;
  margin: 6vw auto 0 6.26vw; }
  @media only screen and (min-width: 750px) {
    .entry--content--step2 {
      width: 524px;
      margin: 45px auto 0 47px; } }

.entry--content--step3 {
  width: 67.33vw;
  margin: 6vw auto 0 6.26vw; }
  @media only screen and (min-width: 750px) {
    .entry--content--step3 {
      width: 505px;
      margin: 45px auto 0 47px; } }

.prize {
  width: 100%;
  margin: 0 auto;
  background-color: #ff0000;
  padding-bottom: 7.33vw; }
  @media only screen and (min-width: 750px) {
    .prize {
      width: 750px;
      padding-bottom: 55px; } }

.prize--title {
  width: 100%;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .prize--title {
      width: 750px; } }

.prize--lead {
  width: 86.66vw;
  margin: 3.73vw auto 0; }
  @media only screen and (min-width: 750px) {
    .prize--lead {
      width: 650px;
      margin: 28px auto 0; } }

.prize--note {
  width: 86.66vw;
  margin: 2.66vw auto 0; }
  @media only screen and (min-width: 750px) {
    .prize--note {
      width: 620px;
      margin: 20px auto 0; } }

.prize--content {
  width: 86.66vw;
  margin: 4vw auto 0;
  padding: 6.4vw 0 3.7vw;
  border-radius: 5.3vw;
  background-color: #fff; }
  @media only screen and (min-width: 750px) {
    .prize--content {
      width: 650px;
      margin: 30px auto 0;
      padding: 48px 0 26px;
      border-radius: 40px; } }

.prize--content--01 {
  width: 73.33vw;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .prize--content--01 {
      width: 550px; } }

.prize--content--02 {
  width: 73.33vw;
  margin: 3.33vw auto 0; }
  @media only screen and (min-width: 750px) {
    .prize--content--02 {
      width: 550px;
      margin: 25px auto 0; } }

.prize--content--03 {
  width: 73.33vw;
  margin: 3.33vw auto 0; }
  @media only screen and (min-width: 750px) {
    .prize--content--03 {
      width: 550px;
      margin: 25px auto 0; } }

.prize--btn {
  width: 74vw;
  margin: 8vw auto 0;
  filter: drop-shadow(0.66vw 0.66vw 0 #008241); }
  @media only screen and (min-width: 750px) {
    .prize--btn {
      width: 555px;
      margin: 60px auto 0;
      filter: drop-shadow(5px 5px 0 #008241); } }

.prize--brand {
  width: 74vw;
  margin: 7vw auto 0;
  filter: drop-shadow(0.66vw 0.66vw 0 #B3B3B3); }
  @media only screen and (min-width: 750px) {
    .prize--brand {
      width: 555px;
      margin: 50px auto 0;
      filter: drop-shadow(5px 5px 0 #B3B3B3); } }

.prize--note2 {
  margin: 4.8vw auto 0;
  text-align: center;
  color: #fff;
  font-size: 2.4vw; }
  @media only screen and (min-width: 750px) {
    .prize--note2 {
      margin: 36px auto 0;
      font-size: 2rem; } }

.terms {
  width: 100%;
  margin: 13.33vw auto 0; }
  @media only screen and (min-width: 750px) {
    .terms {
      width: 750px;
      margin: 100px auto 0; } }

.priv {
  width: 100%;
  margin: 8vw auto 0; }
  @media only screen and (min-width: 750px) {
    .priv {
      width: 750px;
      margin: 80px auto 0; } }

.terms--title,
.priv--title {
  width: 73.33vw;
  height: 13.33vw;
  margin: 0 auto;
  background-image: url(../img/terms_btn.svg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  text-indent: -9999px; }
  @media only screen and (min-width: 750px) {
    .terms--title,
    .priv--title {
      width: 550px;
      height: 100px;
      cursor: pointer; } }
  .terms--title.active,
  .priv--title.active {
    background-position: bottom center; }

.priv--title {
  background-image: url(../img/priv_btn.svg); }

.terms--wrap,
.priv--wrap {
  display: none;
  width: 73.33vw;
  margin: 8vw auto 0;
  padding: 5vw 3.73vw;
  border: 1vw solid #000;
  border-radius: 4vw; }
  @media only screen and (min-width: 750px) {
    .terms--wrap,
    .priv--wrap {
      width: 550px;
      margin: 60px auto 0;
      padding: 20px 15px;
      border: 5px solid #000;
      border-radius: 30px; } }

.terms--cont,
.priv--cont {
  height: 68.66vw;
  overflow-y: scroll;
  padding: 0 1vw;
  font-size: 3.4vw; }
  @media only screen and (min-width: 750px) {
    .terms--cont,
    .priv--cont {
      height: 512px;
      padding: 0 10px;
      font-size: 1.6rem; } }
  .terms--cont p,
  .priv--cont p {
    margin-bottom: 1em; }
    .terms--cont p.note,
    .priv--cont p.note {
      padding-left: 1em;
      text-indent: -1em; }
  .terms--cont h3,
  .priv--cont h3 {
    font-size: 3.8vw;
    margin-bottom: 0.75em; }
    @media only screen and (min-width: 750px) {
      .terms--cont h3,
      .priv--cont h3 {
        font-size: 2rem; } }
  .terms--cont h4,
  .priv--cont h4 {
    font-size: 3.4vw;
    font-weight: normal;
    margin: 0 0 0.75em 0; }
    @media only screen and (min-width: 750px) {
      .terms--cont h4,
      .priv--cont h4 {
        font-size: 1.6rem; } }
  .terms--cont ul,
  .priv--cont ul {
    margin-bottom: 1em; }
    .terms--cont ul li,
    .priv--cont ul li {
      list-style: disc;
      margin-left: 1.5em;
      margin-bottom: 0.25em; }
  .terms--cont .course,
  .priv--cont .course {
    margin: -0.5em auto 1.5em 1.5em; }

.contact {
  width: 100%;
  margin: 0 auto;
  padding: 13.33vw 0 10vw; }
  @media only screen and (min-width: 750px) {
    .contact {
      width: 750px;
      margin: 0 auto;
      padding: 100px 0 60px; } }

.contact--title {
  width: 64.66vw;
  margin: 0 auto; }
  @media only screen and (min-width: 750px) {
    .contact--title {
      width: 485px; } }

.contact--name {
  width: 89.46vw;
  margin: 7.6vw auto 0; }
  @media only screen and (min-width: 750px) {
    .contact--name {
      width: 671px;
      margin: 57px auto 0; } }

.contact--telno {
  width: 86.666vw;
  margin: 4vw auto 0; }
  @media only screen and (min-width: 750px) {
    .contact--telno {
      width: 650px;
      margin: 30px auto 0; } }

.contact--time {
  width: 48.26vw;
  margin: 2.93vw auto 0; }
  @media only screen and (min-width: 750px) {
    .contact--time {
      width: 362px;
      margin: 22px auto 0; } }

.contact--links {
  width: 90vw;
  margin: 8vw auto 0;
  padding-left: 1em;
  text-align: center; }
  @media only screen and (min-width: 750px) {
    .contact--links {
      width: 38em;
      margin: 82px auto 0; } }
  .contact--links div {
    display: inline-block;
    font-size: 3.4vw;
    margin: 0 0.75em 0.5em 0;
    padding-right: 0.75em;
    border-right: 1px solid #ff0000; }
    @media only screen and (min-width: 750px) {
      .contact--links div {
        font-size: 2.4rem; } }
    .contact--links div:nth-child(2), .contact--links div:nth-child(4) {
      border-right: none;
      margin-right: 0; }
    .contact--links div a {
      text-decoration: none;
      color: #ff0000;
      line-height: 1; }

.contact--logo {
  width: 26vw;
  margin: 5.6vw auto 0; }
  @media only screen and (min-width: 750px) {
    .contact--logo {
      width: 195px;
      margin: 42px auto 0; } }

.comingsoon {
  position: relative; }
  .comingsoon .hide {
    z-index: 100;
    position: absolute;
    top: -2.93vw;
    left: 0;
    width: 100%;
    height: calc(100% + 2.93vw);
    background-color: gray;
    mix-blend-mode: multiply; }
    @media only screen and (min-width: 750px) {
      .comingsoon .hide {
        top: -22px;
        height: calc(100% + 22px); } }
  .comingsoon .comingsoontext {
    z-index: 101;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/comingsoontext.png);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: repeat-y; }

.closetext {
  background-image: url(../img/closetext.png) !important; }

.contact {
  position: relative; }
  .contact .hide {
    z-index: 100;
    position: absolute;
    top: -13.33vw;
    left: 0;
    width: 100%;
    height: 75vw;
    background-color: gray;
    mix-blend-mode: multiply; }
    @media only screen and (min-width: 750px) {
      .contact .hide {
        height: 570px;
        top: -100px; } }
  .contact .comingsoontext {
    z-index: 101;
    position: absolute;
    top: -16vw;
    left: 0;
    width: 100%;
    height: 75vw;
    background-image: url(../img/comingsoontext.png);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: repeat-y; }
    @media only screen and (min-width: 750px) {
      .contact .comingsoontext {
        height: 570px;
        top: -120px; } }
