@charset "UTF-8";
/* ==========================================================================
   setting
   ========================================================================== */
/* breakpoint
   ----------------------------------------------------------------- */
/* color
   ----------------------------------------------------------------- */
/**
 * palette
 */
/* font
   ----------------------------------------------------------------- */
/**
 * font style
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Didact+Gothic&display=swap");
/**
 * size
 */
/* function
   ----------------------------------------------------------------- */
/* mixin
   ----------------------------------------------------------------- */
/* ==========================================================================
  _p-login
   ========================================================================== */
/* base 
   ----------------------------------------------------------------- */
body {
  text-align: center;
  background: #0C0802 url(/ec/premium/images/login/bg_sp.jpg) no-repeat top center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  body {
    background: #0C0802 url(/ec/premium/images/login/bg.jpg) no-repeat top center;
    background-size: contain;
  }
}

.l-header {
  background: none;
}

.l-header__logo {
  display: none;
}

@media screen and (min-width: 768px) {
  .l-header__menu {
    top: 32px;
  }
}

/* p-login
   ----------------------------------------------------------------- */
.p-login {
  margin: 8vw auto 22.6666666667vw;
}
.p-login__logo {
  margin: 0 auto 10.1333333333vw;
  width: 65.3333333333vw;
}
.p-login__logo img {
  width: 100%;
}
.p-login__logo-lead {
  margin: 0 auto 7.4666666667vw;
}
.p-login__logo-premium img {
  width: 98%;
}
.p-login__text {
  width: 85.3333333333vw;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 100;
  font-size: 4vw;
  color: #fff;
}
.p-login__input {
  width: 90.6666666667vw;
  margin: 12vw auto 5.8666666667vw;
  padding: 9.3333333333vw 7.4666666667vw 13.3333333333vw;
  background: rgba(255, 255, 255, 0.8);
  color: #000;
}
.p-login__input dt {
  padding-top: 2.1333333333vw;
  font-size: 4.2666666667vw;
  font-weight: 300;
  line-height: 1;
}
.p-login__input dd {
  display: flex;
  align-items: center;
  margin: 4.2666666667vw 0 6.6666666667vw;
  text-align: left;
  font-size: 4.2666666667vw;
}
.p-login__input dd input[type=tel],
.p-login__input dd input[type=password],
.p-login__input dd input[type=email] {
  width: 100%;
}
.p-login__input dd input[type=tel]:focus,
.p-login__input dd input[type=password]:focus,
.p-login__input dd input[type=email]:focus {
  outline-width: 3px;
  outline-offset: -3px;
}
.p-login__input dd.p-login__password {
  display: block;
}
.p-login__input dd.p-login__password input[type=password],
.p-login__input dd.p-login__password input[type=email] {
  margin-bottom: 3.7333333333vw;
}
.p-login label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.2666666667vw;
}
.p-login__uuper-no {
  display: inline-block;
  margin-right: 10px;
  white-space: nowrap;
}
.p-login__policy p {
  font-size: 4vw;
  margin: 9.3333333333vw 0 5.3333333333vw;
  line-height: 1.86;
}
.p-login__button {
  margin-top: 10.6666666667vw;
}
.p-login__button input {
  font-size: 4.8vw;
  padding: 4vw 16vw;
}
.p-login__memo small {
  font-size: 3.7333333333vw;
  color: #fff;
}
.p-login__card {
  width: 80vw;
  margin: 9.6vw 2.6666666667vw 0;
  display: inline-block;
}
.p-login__card a {
  padding: 5.3333333333vw 8vw;
}
.p-login__card span {
  position: relative;
  display: inline-block;
  padding-left: 21.3333333333vw;
  text-align: left;
  line-height: 1.5;
}
.p-login__card span::after {
  content: "";
  display: block;
  width: 66px;
  height: 43px;
  background: url(/ec/premium/images/login/card-royal.png) no-repeat;
  background-size: 66px auto;
  position: absolute;
  top: 51%;
  left: 0;
  transform: translateY(-50%);
}
.p-login__error {
  margin-bottom: 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  .p-login {
    width: 100%;
    margin: 80px auto 200px;
  }
  .p-login__logo {
    margin-bottom: 55px;
    width: 400px;
  }
  .p-login__logo-lead {
    margin-bottom: 47px;
  }
  .p-login__logo-premium img {
    width: 340px;
  }
  .p-login__text {
    font-family: "游明朝体", "Yu Mincho", "YuMincho", serif;
    font-size: 1.25rem;
  }
  .p-login__input {
    width: 800px;
    margin: 60px auto 40px;
    padding: 53px 150px;
  }
  .p-login__input dt {
    padding-top: 8px;
    font-size: 1.125rem;
    font-weight: 500;
  }
  .p-login__input dd {
    margin: 21px 0 28px;
    font-size: 1.125rem;
  }
  .p-login__input dd.p-login__password input[type=password],
  .p-login__input dd.p-login__password input[type=email] {
    margin-bottom: 17px;
  }
  .p-login label {
    font-size: 1.125rem;
  }
  .p-login__policy p {
    font-size: 1rem;
    margin: 45px 0 25px;
  }
  .p-login__button {
    margin-top: 50px;
  }
  .p-login__button input {
    font-size: 1.25rem;
    padding: 15px 80px;
  }
  .p-login__memo small {
    font-size: 0.9375rem;
  }
  .p-login__card {
    margin-top: 50px;
  }
  .p-login__card a {
    padding: 35px 52px;
    font-size: 1.25rem;
  }
  .p-login__card span {
    padding-left: 76px;
  }
  .p-login__card span::after {
    width: 56px;
    height: 36px;
    background-size: 56px auto;
    top: 47%;
  }
  .p-login__error {
    margin-bottom: 28px;
  }
}/*# sourceMappingURL=login.css.map */