/*! Writen  by SCSS */
div.wrap {
  padding: 0 !important; }

.gnavi_in .gnavi_img .current {
  background: url("../images/common/nav_img_lim.jpg") center center/cover; }

.bg_box {
  position: relative; }
  .bg_box .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100lvh; }
    .bg_box .bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    @media screen and (max-width: 767px) {
      .bg_box .bg {
        height: calc(100svh - 50px);
        height: calc(100lvh - 50px); } }
  .bg_box.bg_fix .bg {
    position: fixed; }
  .bg_box.bg_fix_end .bg {
    position: absolute;
    top: auto;
    bottom: 0; }

.limited_conts {
  width: 100%;
  padding: 120px 0 120px;
  position: relative;
  z-index: 5; }
  @media screen and (max-width: 767px) {
    .limited_conts {
      padding: 90px 0 70px; } }

.limited_inner {
  max-width: 920px;
  margin: 0 auto 70px;
  margin: 0 auto 90px;
  padding: 0 20px;
  box-sizing: content-box; }
  @media screen and (max-width: 480px) {
    .limited_inner {
      margin: 0 auto 50px;
      margin: 0 auto 60px; } }
  .limited_inner .ttl {
    font-size: clamp(20px, calc(40vw / 9.2), 40px);
    font-size: clamp(20px, calc(30vw / 9.2), 30px);
    color: #fff;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.12em;
    margin-bottom: 1em; }
    .limited_inner .ttl .en {
      display: block;
      font-size: 60%;
      font-weight: 400;
      letter-spacing: 0.08em; }
  .limited_inner .read {
    font-size: clamp(12px, calc(18vw / 9.2), 18px);
    text-align: center;
    line-height: 2;
    letter-spacing: 0.06em;
    margin-bottom: 2em;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .limited_inner .read {
        font-size: 14px; } }
  .limited_inner .btn {
    display: flex;
    justify-content: center;
    gap: 60px; }
    @media screen and (max-width: 767px) {
      .limited_inner .btn {
        display: block;
        width: 85%;
        width: 75%;
        max-width: 430px;
        margin: 0 auto; } }
    .limited_inner .btn li {
      width: calc(430% / 9.2);
      width: calc(400% / 9.2);
      box-shadow: 6px 6px 6px 0 rgba(0, 0, 0, 0.3);
      background: #f1f1f1; }
      @media screen and (max-width: 767px) {
        .limited_inner .btn li {
          width: 100%; }
          .limited_inner .btn li:not(:last-child) {
            margin-bottom: 30px; } }
      .limited_inner .btn li .popup,
      .limited_inner .btn li a {
        display: block;
        transition: all 0.3s ease-in-out 0s; }
        .limited_inner .btn li .popup:hover,
        .limited_inner .btn li a:hover {
          opacity: 0.6; }
      .limited_inner .btn li .img {
        position: relative; }
      .limited_inner .btn li .txt {
        font-size: clamp(16px, calc(20vw / 9.2), 20px);
        font-size: clamp(14px, calc(20vw / 9.2), 20px);
        height: 3em;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media screen and (max-width: 767px) {
          .limited_inner .btn li .txt {
            height: 2.5em; } }
        .limited_inner .btn li .txt p {
          color: #004098;
          text-align: center;
          letter-spacing: 0.1em;
          line-height: 1; }

.lim_plan_wrap {
  max-width: 1360px;
  /*col3*/
  margin: 0 auto;
  position: relative;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 480px) {
    .lim_plan_wrap {
      max-width: 80%;
      padding: 25px 0 40px; } }
  .lim_plan_wrap .lim_plan_ttl {
    color: #fff;
    text-align: center;
    font-size: clamp(20px, calc(30vw / 9.2), 30px);
    font-size: clamp(14px, calc(20vw / 9.2), 20px);
    font-size: clamp(17px, calc(25vw / 9.2), 25px);
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.6), 2px 2px 3px rgba(0, 0, 0, 0.6), -2px 2px 3px rgba(0, 0, 0, 0.6), -2px -2px 3px rgba(0, 0, 0, 0.6), 2px -2px 3px rgba(0, 0, 0, 0.6);
    margin-bottom: 20px; }
    @media screen and (max-width: 480px) {
      .lim_plan_wrap .lim_plan_ttl {
        margin-bottom: 15px; } }
  .lim_plan_wrap .box {
    max-width: 1280px;
    /*col3*/
    margin: 0 auto; }
    @media screen and (max-width: 480px) {
      .lim_plan_wrap .box {
        width: 84%;
        max-width: 430px; } }
    .lim_plan_wrap .box + .box {
      margin-top: 60px; }
      @media screen and (max-width: 480px) {
        .lim_plan_wrap .box + .box {
          margin-top: 30px;
          width: 75%;
          max-width: 430px; } }
    .lim_plan_wrap .box .in {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      row-gap: 40px; }
      @media screen and (max-width: 767px) {
        .lim_plan_wrap .box .in {
          row-gap: 30px; } }
      .lim_plan_wrap .box .in.flex_start {
        justify-content: flex-start;
        column-gap: calc(40% / 12.8);
        /*col3*/
        column-gap: calc(50% / 8.5);
        /*col2*/ }
      .lim_plan_wrap .box .in.flex_center {
        justify-content: center;
        column-gap: calc(40% / 12.8);
        /*col3*/ }
      .lim_plan_wrap .box .in a,
      .lim_plan_wrap .box .in > div {
        cursor: pointer;
        width: 31.25%;
        /*col3*/
        display: flex;
        flex-direction: column;
        max-width: 330px;
        max-width: 400px;
        background-color: #f6f7f7;
        padding: 25px clamp(15px, calc(40vw / 12.8), 40px);
        overflow: hidden;
        box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.5);
        position: relative; }
        @media screen and (max-width: 767px) {
          .lim_plan_wrap .box .in a,
          .lim_plan_wrap .box .in > div {
            width: 48%; } }
        @media screen and (max-width: 480px) {
          .lim_plan_wrap .box .in a,
          .lim_plan_wrap .box .in > div {
            width: 100%;
            margin-inline: auto;
            padding-block: 20px; }
            .lim_plan_wrap .box .in a.tab_box,
            .lim_plan_wrap .box .in > div.tab_box {
              padding-top: 40px; } }
        @media (hover: hover) {
          .lim_plan_wrap .box .in a:hover .btn,
          .lim_plan_wrap .box .in > div:hover .btn {
            opacity: 0.6; } }
        .lim_plan_wrap .box .in a.tab_box,
        .lim_plan_wrap .box .in > div.tab_box {
          padding-top: 50px; }
        .lim_plan_wrap .box .in a .tab,
        .lim_plan_wrap .box .in > div .tab {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          display: flex;
          justify-content: flex-end; }
          .lim_plan_wrap .box .in a .tab .new,
          .lim_plan_wrap .box .in > div .tab .new {
            width: calc(70% / 3.3);
            line-height: 1;
            font-weight: 900;
            background: #c7000a;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: clamp(14px, calc(20vw / 12.8), 20px);
            color: #fff;
            padding: 0.4em 0 0.2em;
            position: absolute;
            top: 10px;
            right: 10px; }
            @media screen and (max-width: 480px) {
              .lim_plan_wrap .box .in a .tab .new,
              .lim_plan_wrap .box .in > div .tab .new {
                width: calc(50% / 3.3);
                font-size: calc(14vw / 3.9);
                padding: 0.4em 5px 0.2em;
                top: 0;
                right: 0; } }
          .lim_plan_wrap .box .in a .tab .price,
          .lim_plan_wrap .box .in > div .tab .price {
            flex: 1;
            font-weight: 700;
            line-height: 1;
            background: linear-gradient(90deg, #ddba1d, #cd9a1b);
            background: #000;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: clamp(12px, calc(17vw / 12.8), 17px);
            letter-spacing: 0.03em;
            color: #ba0000;
            color: #fff100;
            padding: 0.4em 0 0.3em; }
            @media screen and (max-width: 480px) {
              .lim_plan_wrap .box .in a .tab .price,
              .lim_plan_wrap .box .in > div .tab .price {
                font-size: calc(16vw / 3.9);
                padding: 0.3em 0 0.25em 0.9em; } }
            .lim_plan_wrap .box .in a .tab .price .ma,
            .lim_plan_wrap .box .in > div .tab .price .ma {
              font-size: 140%;
              font-weight: 200;
              display: inline-block;
              transform: translate(0, -0.1em);
              padding-left: 0.1em; }
          .lim_plan_wrap .box .in a .tab .copy,
          .lim_plan_wrap .box .in > div .tab .copy {
            flex: 1;
            font-weight: 700;
            line-height: 1;
            background: linear-gradient(90deg, #004ea2, #171878);
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: clamp(12px, calc(17vw / 12.8), 17px);
            color: #fff100;
            padding: 0.55em 2px; }
            @media screen and (max-width: 480px) {
              .lim_plan_wrap .box .in a .tab .copy,
              .lim_plan_wrap .box .in > div .tab .copy {
                font-size: calc(16vw / 3.9);
                padding: 0.45em 2px 0.45em; } }
        .lim_plan_wrap .box .in a .p1,
        .lim_plan_wrap .box .in > div .p1 {
          font-size: clamp(24px, calc(26vw / 12.8), 26px);
          line-height: 1;
          color: #004098;
          font-family: "Times New Roman";
          margin-bottom: 0.4em; }
          .lim_plan_wrap .box .in a .p1 span,
          .lim_plan_wrap .box .in > div .p1 span {
            font-size: 70%; }
        .lim_plan_wrap .box .in a .p2,
        .lim_plan_wrap .box .in > div .p2 {
          position: relative;
          font-size: clamp(30px, calc(40vw / 12.8), 40px);
          line-height: 1;
          padding-bottom: 0.3em;
          margin-bottom: 0.3em;
          font-family: "Times New Roman"; }
          .lim_plan_wrap .box .in a .p2::after,
          .lim_plan_wrap .box .in > div .p2::after {
            content: '';
            width: calc(100% + 50px);
            height: 1px;
            background-color: #014099;
            position: absolute;
            bottom: 0;
            left: -25px;
            pointer-events: none; }
            @media screen and (max-width: 480px) {
              .lim_plan_wrap .box .in a .p2::after,
              .lim_plan_wrap .box .in > div .p2::after {
                width: calc(100% + 80px);
                left: -40px; } }
          .lim_plan_wrap .box .in a .p2 span,
          .lim_plan_wrap .box .in > div .p2 span {
            font-size: 70%; }
        .lim_plan_wrap .box .in a .p3,
        .lim_plan_wrap .box .in > div .p3 {
          font-size: clamp(13px, calc(16vw / 12.8), 16px);
          line-height: 1.4;
          color: #38383a;
          margin-bottom: 1em; }
          .lim_plan_wrap .box .in a .p3 .span1,
          .lim_plan_wrap .box .in > div .p3 .span1 {
            font-size: 220%;
            font-family: "Times New Roman"; }
          .lim_plan_wrap .box .in a .p3 .span2,
          .lim_plan_wrap .box .in > div .p3 .span2 {
            font-size: 160%;
            font-family: "Times New Roman"; }
        .lim_plan_wrap .box .in a .p4,
        .lim_plan_wrap .box .in > div .p4 {
          font-size: clamp(15px, calc(18vw / 12.8), 18px);
          line-height: 1.5;
          display: flex;
          flex-direction: column;
          gap: 0.3em;
          padding-bottom: 30px; }
          .lim_plan_wrap .box .in a .p4 p,
          .lim_plan_wrap .box .in > div .p4 p {
            text-indent: -0.5em;
            padding-left: 0.5em; }
        .lim_plan_wrap .box .in a .btn,
        .lim_plan_wrap .box .in > div .btn {
          display: flex;
          align-items: center;
          justify-content: center;
          position: relative;
          font-size: clamp(13px, calc(15vw / 12.8), 15px);
          letter-spacing: 0.05em;
          color: #fff;
          text-align: center;
          line-height: 1;
          padding: 1.3em 10px;
          transition: all 0.3s ease-in-out 0s;
          background: linear-gradient(90deg, #004ea2, #0c2480);
          margin-top: auto; }
          @media screen and (max-width: 767px) {
            .lim_plan_wrap .box .in a .btn,
            .lim_plan_wrap .box .in > div .btn {
              padding: 1em 10px; } }
          .lim_plan_wrap .box .in a .btn .icon,
          .lim_plan_wrap .box .in > div .btn .icon {
            margin-left: 1em;
            letter-spacing: -0.2em;
            transform: scaleX(0.7) translateY(-0.05em); }
          .lim_plan_wrap .box .in a .btn.lim,
          .lim_plan_wrap .box .in > div .btn.lim {
            background: linear-gradient(90deg, #da3915, #9a0004); }

.login_conts {
  width: 100%;
  padding: 120px 0 90px;
  background: url("../images/limited/bg.jpg") center center/cover;
  position: relative; }
  @media screen and (max-width: 767px) {
    .login_conts {
      padding: 90px 0 50px; } }

.login_inner {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: content-box; }
  .login_inner .ttl {
    font-size: clamp(20px, calc(40vw / 9.2), 40px);
    font-size: clamp(20px, calc(30vw / 9.2), 30px);
    color: #fff;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.12em;
    margin-bottom: 1em; }
    .login_inner .ttl .en {
      display: block;
      font-size: 60%;
      font-weight: 400;
      letter-spacing: 0.08em; }
  .login_inner .ent {
    font-size: clamp(12px, calc(16vw / 9.2), 16px);
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin-bottom: 1.2em;
    color: #fff; }
  .login_inner .con_btn {
    margin-bottom: 80px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .login_inner .con_btn {
        margin-bottom: 40px; } }
    .login_inner .con_btn li {
      width: 80%;
      max-width: 520px;
      max-width: 380px; }
      .login_inner .con_btn li a {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        font-size: clamp(16px, calc(24vw / 11.2), 24px);
        font-size: clamp(14px, calc(19vw / 9.2), 19px);
        letter-spacing: 0.05em;
        color: #fff;
        text-align: center;
        line-height: 1;
        padding: 1.1em 10px;
        transition: all 0.3s ease-in-out 0s; }
        @media screen and (max-width: 767px) {
          .login_inner .con_btn li a {
            font-size: clamp(16px, calc(16vw / 7.68), 18px);
            font-size: clamp(18px, calc(21vw / 7.68), 23px);
            padding: 1.6em 10px;
            padding: 1.4em 10px; } }
        .login_inner .con_btn li a:hover {
          opacity: 0.6; }
        .login_inner .con_btn li a::after {
          content: "";
          position: absolute;
          top: 4px;
          left: 4px;
          right: 4px;
          bottom: 4px;
          border: solid 1px #fff; }
        .login_inner .con_btn li a .icon {
          margin-left: 0.3em;
          letter-spacing: -0.2em;
          transform: scaleX(0.7) translateY(-0.05em); }
      .login_inner .con_btn li.menu_ent {
        background: linear-gradient(90deg, #004ea2, #0c2480); }
      .login_inner .con_btn li.menu_lim {
        background: linear-gradient(90deg, #d83515, #aa0b09); }

.login_form {
  background: #d8d9d9;
  margin: 0 auto 60px;
  padding: 60px;
  color: #595757; }
  @media screen and (max-width: 767px) {
    .login_form {
      margin-bottom: 30px; } }
  .login_form .li_ttl {
    font-size: clamp(22px, calc(42vw / 9.2), 42px);
    font-size: clamp(22px, calc(36vw / 9.2), 36px);
    text-align: center;
    line-height: 1;
    letter-spacing: 0.12em;
    margin-bottom: 0.6em;
    font-weight: 400; }
  .login_form .li_read {
    font-size: clamp(12px, calc(18vw / 9.2), 18px);
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.06em;
    margin-bottom: 1.2em; }
    @media screen and (max-width: 767px) {
      .login_form .li_read {
        font-size: 14px; } }

form {
  overflow: hidden;
  max-width: 692px;
  margin: 0 auto;
  border: 1px solid #898989; }

form .password {
  width: calc(520% / 6.9);
  line-height: 38px;
  padding: 4px 20px;
  height: 70px;
  float: left;
  vertical-align: middle;
  box-sizing: border-box;
  font-size: 18px;
  font-family: inherit;
  border: none; }

::-webkit-input-placeholder {
  font-size: 18px;
  color: rgba(0, 0, 0, 0.4);
  letter-spacing: 0.1em;
  font-family: inherit; }

.login_form form p {
  cursor: pointer;
  position: relative;
  height: 70px;
  line-height: 44px;
  width: calc(170% / 6.9);
  padding: 15px;
  float: right;
  box-sizing: border-box;
  vertical-align: middle;
  letter-spacing: normal;
  transition: 0.3s all ease-in-out 0s;
  background: linear-gradient(90deg, #004ea2, #0c2480);
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s ease-in-out 0s;
  position: relative;
  overflow: hidden; }

.login_form form p span {
  position: relative;
  z-index: 2; }

.login_form form p:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  left: -50%;
  background: rgba(255, 255, 255, 0.1); }

.login_form form p:hover:before {
  transition: all 0.5s ease-in-out 0s;
  left: 100%; }

.login_form form p:hover {
  animation: color 0.5s ease 0s both; }

@media screen and (max-width: 767px) {
  .login_form {
    padding: 50px 20px 30px;
    padding: 20px; }

  .login_form > p {
    font-size: 16px; }

  form .password {
    width: 100%;
    float: none;
    font-size: 16px;
    text-align: center; }

  ::-webkit-input-placeholder {
    font-size: 16px; }

  .login_form form p {
    width: auto;
    float: none; } }
@media screen and (max-width: 767px) {
  .limited_ttl {
    width: calc(300%/3.74);
    padding: 0;
    margin: 0 auto 50px; } }

@media screen and (max-width: 767px) {
  form .password {
    height: 60px; } }

@media screen and (max-width: 767px) {
  .login_form form p {
    padding: 15px 10px;
    height: 60px; }
    .login_form form p span {
      line-height: 1; } }

@media screen and (max-width: 767px) {
  .login_form > p.merumaga_txt {
    font-size: 3.6vw;
    margin-bottom: 15px; } }

@media screen and (max-width: 767px) {
  .entry01 {
    width: calc(100% - 40px);
    margin: 0 auto; } }

.last_icon {
  position: absolute;
  max-width: 110px;
  right: 10px;
  top: 10px;
  align-items: center;
  align-self: center;
  padding: 10px;
  line-height: 0;
  z-index: 99;
  background: #3e3328; }
  @media screen and (max-width: 480px) {
    .last_icon {
      right: 0px;
      top: 0px;
      width: 32%;
      max-width: none; } }

/*# sourceMappingURL=limited.css.map */
