@charset "UTF-8";
/*! Writen  by SCSS */
.pre-inc {
  /*	ログインエラー	*/ }
  .pre-inc .inner_main {
    position: relative; }
    .pre-inc .inner_main .main_image {
      height: 915px;
      background-position: bottom center;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url("../images/login/main_v1.jpg"); }
      @media screen and (max-width: 1200px) {
        .pre-inc .inner_main .main_image {
          height: 700px; } }
      @media screen and (max-width: 820px) {
        .pre-inc .inner_main .main_image {
          height: 600px; } }
      @media screen and (max-width: 480px) {
        .pre-inc .inner_main .main_image {
          height: 600px;
          background-image: url("../images/login/main_sp_v1.jpg"); } }
      .pre-inc .inner_main .main_image:after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(35, 24, 21, 0.7); }
      .pre-inc .inner_main .main_image .cap {
        z-index: 1; }
    .pre-inc .inner_main .login_area {
      position: absolute;
      inset: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      row-gap: clamp(40px, 7.001vw, 70px); }
      @media screen and (max-width: 480px) {
        .pre-inc .inner_main .login_area {
          row-gap: 30px; } }
      .pre-inc .inner_main .login_area .pass_ttl {
        font-size: clamp(35px, 4vw, 40px);
        color: #FFF;
        line-height: 1; }
        @media screen and (max-width: 480px) {
          .pre-inc .inner_main .login_area .pass_ttl {
            width: 100%;
            font-size: 8vw;
            text-align: center; } }
      .pre-inc .inner_main .login_area .pass_read {
        font-size: clamp(14px, 1.5vw, 15px);
        color: #FFF;
        letter-spacing: normal; }
        @media screen and (max-width: 480px) {
          .pre-inc .inner_main .login_area .pass_read {
            font-size: 13px; } }
      .pre-inc .inner_main .login_area .login_over {
        width: 100%;
        align-items: center; }
        @media screen and (max-width: 480px) {
          .pre-inc .inner_main .login_area .login_over {
            flex-direction: column;
            row-gap: 30px; } }
        .pre-inc .inner_main .login_area .login_over .logo_login {
          width: 23.7%; }
          @media screen and (max-width: 480px) {
            .pre-inc .inner_main .login_area .login_over .logo_login {
              width: 40%;
              margin: 0 auto; } }
        .pre-inc .inner_main .login_area .login_over .login_area_in {
          justify-content: center;
          flex-wrap: wrap;
          align-items: center;
          gap: 30px; }
          @media screen and (max-width: 480px) {
            .pre-inc .inner_main .login_area .login_over .login_area_in {
              width: 100%;
              row-gap: 20px; } }
          .pre-inc .inner_main .login_area .login_over .login_area_in .login_form {
            display: flex;
            justify-content: space-between;
            column-gap: 25px; }
            @media screen and (max-width: 480px) {
              .pre-inc .inner_main .login_area .login_over .login_area_in .login_form {
                width: 100%;
                flex-direction: column;
                row-gap: 15px; } }
            .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .form_l {
              column-gap: 10px; }
              @media screen and (max-width: 480px) {
                .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .form_l {
                  column-gap: 3px; } }
              .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .form_l .lim_pass {
                width: 43px;
                line-height: 66px;
                display: flex;
                text-align: center;
                justify-content: center;
                align-items: center;
                vertical-align: middle;
                border: none;
                font-size: 20px; }
                @media screen and (max-width: 480px) {
                  .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .form_l .lim_pass {
                    width: calc(100% / 8);
                    line-height: 50px; } }
            .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .submit {
              text-align: center;
              justify-content: center;
              cursor: pointer;
              width: 197px;
              background: #9E2232;
              line-height: 70px;
              font-size: clamp(16px, 2.5vw, 25px);
              color: #FFF;
              padding: 0;
              z-index: 1;
              transition: 0.3s all ease-in-out 0s; }
              @media screen and (max-width: 820px) {
                .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .submit {
                  line-height: 50px; } }
              @media screen and (max-width: 480px) {
                .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .submit {
                  max-width: 100%;
                  width: 100%;
                  font-size: 6vw;
                  line-height: 52px; } }
              .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .submit:after {
                content: "";
                margin: 0;
                padding: 0;
                border: none;
                border-top: solid 1px #FFF;
                border-right: solid 1px #FFF;
                position: absolute;
                top: 50%;
                margin-top: -5px;
                right: 20px;
                height: 10px;
                width: 10px;
                transform: rotate(45deg);
                transition: 0.3s all ease-in-out 0s; }
                @media screen and (max-width: 480px) {
                  .pre-inc .inner_main .login_area .login_over .login_area_in .login_form .submit:after {
                    right: 15px; } }
          .pre-inc .inner_main .login_area .login_over .login_area_in .pass_read {
            width: 100%;
            text-align: center; }
      .pre-inc .inner_main .login_area .login_bottom {
        max-width: 805px;
        margin: 0 auto;
        width: 100%;
        background: rgba(4, 0, 0, 0.45);
        border: 1px solid #FFF;
        justify-content: center;
        align-items: center;
        column-gap: 30px;
        padding: clamp(25px, 4vw, 40px); }
        @media screen and (max-width: 820px) {
          .pre-inc .inner_main .login_area .login_bottom {
            padding: 25px; } }
        @media screen and (max-width: 480px) {
          .pre-inc .inner_main .login_area .login_bottom {
            row-gap: 15px;
            padding: 20px;
            flex-direction: column; } }
        @media screen and (max-width: 480px) {
          .pre-inc .inner_main .login_area .login_bottom .pass_read {
            width: 100%;
            text-align: center; } }
        .pre-inc .inner_main .login_area .login_bottom .site_btn {
          width: 27.25%;
          display: flex;
          justify-content: center;
          flex-direction: column;
          padding: 12px 0;
          z-index: 1;
          text-align: center;
          transition: 0.3s all ease-in-out 0s;
          color: #FFF;
          font-size: clamp(18px, 2.5vw, 25px); }
          @media screen and (max-width: 480px) {
            .pre-inc .inner_main .login_area .login_bottom .site_btn {
              width: 80%;
              padding: 10px 0;
              margin: 0 auto;
              font-size: 5.4vw; } }
          .pre-inc .inner_main .login_area .login_bottom .site_btn .en {
            letter-spacing: 0.1em; }
          .pre-inc .inner_main .login_area .login_bottom .site_btn .jp {
            font-size: 52%; }
  .pre-inc .lim_midashi_group {
    display: flex;
    flex-direction: column;
    text-align: center;
    row-gap: 10px;
    margin-bottom: clamp(50px, 13vw, 130px); }
    @media screen and (max-width: 820px) {
      .pre-inc .lim_midashi_group {
        margin-bottom: 50px; } }
    @media screen and (max-width: 480px) {
      .pre-inc .lim_midashi_group {
        row-gap: 10px; } }
    .pre-inc .lim_midashi_group .en {
      font-size: clamp(34px, 6vw, 60px);
      color: #9E2232;
      font-weight: 600;
      line-height: 1;
      letter-spacing: -0.01em; }
      @media screen and (max-width: 480px) {
        .pre-inc .lim_midashi_group .en {
          font-size: 12vw; } }
    .pre-inc .lim_midashi_group .jp {
      font-size: clamp(12px, 1.6vw, 16px); }
      @media screen and (max-width: 480px) {
        .pre-inc .lim_midashi_group .jp {
          font-size: 15px; } }
  .pre-inc .flow_area {
    padding: clamp(50px, 6.667vw, 80px) 0 clamp(60px, 10vw, 120px);
    position: relative; }
    @media screen and (max-width: 480px) {
      .pre-inc .flow_area {
        padding: 50px 0 60px; } }
    .pre-inc .flow_area .flow_area_in {
      max-width: 1000px; }
      .pre-inc .flow_area .flow_area_in .flow_group {
        flex-direction: column; }
        @media screen and (max-width: 480px) {
          .pre-inc .flow_area .flow_area_in .flow_group {
            row-gap: 30px;
            max-width: 347px;
            margin: 0 auto; } }
        .pre-inc .flow_area .flow_area_in .flow_group .flow_in {
          align-items: center;
          flex-wrap: wrap; }
          @media screen and (max-width: 480px) {
            .pre-inc .flow_area .flow_area_in .flow_group .flow_in {
              flex-direction: column;
              flex-wrap: nowrap;
              row-gap: 20px; } }
          .pre-inc .flow_area .flow_area_in .flow_group .flow_in .photo {
            width: 34.7%; }
            @media screen and (max-width: 480px) {
              .pre-inc .flow_area .flow_area_in .flow_group .flow_in .photo {
                width: 100%; } }
          .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group {
            width: 60%;
            justify-content: flex-start;
            column-gap: 9.44%;
            flex-direction: column;
            row-gap: 20px;
            align-items: flex-start; }
            @media screen and (max-width: 480px) {
              .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group {
                width: 100%;
                flex-direction: column;
                align-items: center;
                text-align: center;
                row-gap: 15px; } }
            .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_num {
              font-size: clamp(20px, 3.1vw, 31px);
              color: #9E2232;
              justify-content: flex-start;
              align-items: baseline;
              column-gap: 5px;
              font-weight: 600;
              line-height: 1;
              text-align: center; }
              @media screen and (max-width: 480px) {
                .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_num {
                  font-size: 30px; } }
              .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_num .sub {
                display: block;
                font-size: 54%; }
            .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_ttl {
              font-size: clamp(20px, 3vw, 30px);
              color: #9E2232;
              font-weight: 600;
              line-height: 1.2; }
              @media screen and (max-width: 480px) {
                .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_ttl {
                  font-size: 5.6vw; } }
            .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_read {
              font-size: clamp(12px, 1.8vw, 18px); }
              @media screen and (max-width: 480px) {
                .pre-inc .flow_area .flow_area_in .flow_group .flow_in .step_group .step_read {
                  font-size: 3.4vw; } }
          .pre-inc .flow_area .flow_area_in .flow_group .flow_in .under_arrow {
            width: 100%;
            text-align: center;
            margin: clamp(30px, 7.001vw, 70px) 0; }
            @media screen and (max-width: 480px) {
              .pre-inc .flow_area .flow_area_in .flow_group .flow_in .under_arrow {
                margin: 10px 0 0; } }
            @media screen and (max-width: 820px) {
              .pre-inc .flow_area .flow_area_in .flow_group .flow_in .under_arrow img {
                width: 60px; } }
  .pre-inc .login_error_wrap {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100dvh;
    z-index: 99999;
    pointer-events: none;
    opacity: 0;
    transition: 0.2s opacity ease-in-out 0s; }
    .pre-inc .login_error_wrap .login_error_bg {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.7); }
    .pre-inc .login_error_wrap .error_box {
      position: absolute;
      inset: 0;
      margin: auto;
      background: #FFF;
      border-radius: 10px;
      padding: 50px 20px;
      height: max-content;
      border: 2px solid #FFF;
      width: calc(100% - 40px);
      max-width: 600px;
      text-align: center;
      transform: scale(1);
      opacity: 0;
      pointer-events: none; }
      @media screen and (max-width: 480px) {
        .pre-inc .login_error_wrap .error_box {
          padding: 30px 20px; } }
      .pre-inc .login_error_wrap .error_box.err_lim {
        background: linear-gradient(to right, #259C98 0%, #186063 100%); }
      .pre-inc .login_error_wrap .error_box.err_att {
        background: linear-gradient(to right, #259C98 0%, #186063 100%); }
      .pre-inc .login_error_wrap .error_box .error_txt {
        font-size: 16px;
        color: #FFF;
        line-height: 2; }
        @media screen and (max-width: 480px) {
          .pre-inc .login_error_wrap .error_box .error_txt {
            font-size: 14px; } }
        .pre-inc .login_error_wrap .error_box .error_txt .yellow {
          display: inline-block;
          line-height: 1;
          color: #FF9;
          font-size: 120%; }
      .pre-inc .login_error_wrap .error_box .error_cancel {
        width: fit-content;
        margin: 20px auto 0;
        cursor: pointer;
        border-radius: 10px;
        background: #FFF;
        font-size: 16px;
        line-height: 1;
        color: #000;
        padding: 15px 30px;
        transition: 0.3s transform ease-in-out 0s; }
        @media screen and (max-width: 480px) {
          .pre-inc .login_error_wrap .error_box .error_cancel {
            font-size: 14px; } }
      .pre-inc .login_error_wrap .error_box .icon_error {
        width: 80px;
        height: 80px;
        border-width: 4px;
        border-style: solid;
        border-radius: 50%;
        padding: 0;
        position: relative;
        box-sizing: content-box;
        margin: 0 auto 20px;
        border-color: #FFF;
        text-align: center; }
        .pre-inc .login_error_wrap .error_box .icon_error .error_mark {
          position: relative;
          display: block;
          height: 80px;
          transform-origin: center; }
          .pre-inc .login_error_wrap .error_box .icon_error .error_mark .error_line {
            position: absolute;
            height: 5px;
            width: 47px;
            background-color: #FFF;
            display: block;
            top: 37px;
            border-radius: 2px; }
            .pre-inc .login_error_wrap .error_box .icon_error .error_mark .error_line.err_left {
              -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
              left: 17px; }
            .pre-inc .login_error_wrap .error_box .icon_error .error_mark .error_line.err_right {
              -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
              right: 16px; }
@keyframes showSweetAlert {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
    transform: scale(1); }
  1% {
    opacity: 0.1;
    -webkit-transform: scale(0.5);
    transform: scale(0.5); }
  45% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  80% {
    opacity: 1;
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }
@keyframes animateXMark {
  0% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
    opacity: 0; }
  50% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
    opacity: 0; }
  80% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }
  .pre-inc.login_error.log_lim .login_error_wrap .error_box.err_lim {
    pointer-events: all;
    -webkit-animation: showSweetAlert .3s forwards;
    animation: showSweetAlert .3s forwards; }
  .pre-inc.login_error.log_att .login_error_wrap .error_box.err_att {
    pointer-events: all;
    -webkit-animation: showSweetAlert .3s forwards;
    animation: showSweetAlert .3s forwards; }
  .pre-inc.login_error .login_error_wrap {
    pointer-events: all;
    opacity: 1; }
    .pre-inc.login_error .login_error_wrap .error_box .icon_error .error_mark {
      -webkit-animation: animateXMark .5s;
      animation: animateXMark .5s; }
  .pre-inc.wrap:not(.mobile) .login_error_wrap .error_box .error_cancel:hover {
    transform: scale(1.1); }

/*	ログインエラー	*/

/*# sourceMappingURL=login.css.map */
