@charset "utf-8";

.footer::before {
    display: none;
}

#wrap {
    min-width: unset;
}
@media screen and (max-width: 767px) {
    .cf-main .login-text,
    .cf-main .login-attention,
    .cf-main .login-box-forget a {
        font-size: 3.5897435897vw;
        line-height: 1.44828;
    }
    .cf-main .login-box {
        width: 100%;
        margin: 7.7% auto 0;
    }
}

@keyframes arrowMove {
  0% { transform: translateY(-50%) translateX(0); opacity: 1; }
  50% { transform: translateY(-50%) translateX(1em); opacity: 0; }
  51% { transform: translateY(-50%) translateX(-1em); opacity: 0; }
  100% { transform: translateY(-50%) translateX(0); opacity: 1; }
}
@-webkit-keyframes arrowMove {
  0% { -webkit-transform: translateY(-50%) translateX(0); opacity: 1; }
  50% { -webkit-transform: translateY(-50%) translateX(1em); opacity: 0; }
  51% { -webkit-transform: translateY(-50%) translateX(-1em); opacity: 0; }
  100% { -webkit-transform: translateY(-50%) translateX(0); opacity: 1; }
}

.cf-main .login-box-submit,
.cf-main .cf-registration-btn {
    height: clamp(0px, 3.4722222222vw, 50px);
    text-align: center;
    margin-top: clamp(0px, 2vw, 40px);
    margin-bottom: clamp(0px, 2vw, 40px);
}
.cf-main .new-registration {
    width: unset;
}

.open-button,
.cf-registration-btn a {
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    border-radius: 100vw;
    transition: all 0.3s;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
    font-size: clamp(0px, 1.1111111111vw, 16px);
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    padding: 0 clamp(0px, 4.1666666667vw, 60px); 
    min-width: clamp(0px, 18.75vw, 270px);
    padding-right: clamp(0px, 5.2631578947vw, 70px);
    padding-top: 0;
    padding-bottom: 0;
    line-height: clamp(0px, 3.4722222222vw, 50px);
}

/* 青ボタン */
.login-box-submit {
    --bg-color: #00a0e9;
    --bg-color-hover: #fff;
    --color: #fff;
    --color-hover: #00a0e9;
}

/* 赤ボタン */
.cf-registration-btn {
    --bg-color: #E60012;
    --bg-color-hover: #fff;
    --color: #fff;
    --color-hover: #E60012;
}

/* ボタン本体に色を適用 */
.open-button,
.cf-registration-btn a {
    background-color: var(--bg-color);
    color: var(--color);
    border: 1px solid var(--bg-color);
}
.open-button::after,
.cf-registration-btn a::after {
    content: "\e5c8";
    font-family: "Material Symbols Outlined";
    font-size: clamp(0px, 1.1111111111vw, 16px);
    font-weight: 400;
    color: currentColor;
    position: absolute;
    right: clamp(0px, 1.3888888889vw, 20px);
    top: 50%;
    transform: translateY(-50%) translateX(0);
    opacity: 1;
}

/* 6. ホバー時のスタイル (アニメーション含む) */
@media (hover: hover) and (pointer: fine) {
  /* 色の反転 */
  .open-button:hover,
  .cf-registration-btn a:hover {
    background-color: var(--bg-color-hover);
    color: var(--color-hover);
    border-color: var(--color-hover);
  }
  /* アニメーション */
  .open-button:hover::after,
  .cf-registration-btn a:hover::after {
    -webkit-animation: alternate arrowMove 0.3s forwards;
    animation: alternate arrowMove 0.3s forwards;
  }
}

@media (max-width: 767px) {

    .cf-main .login-box-submit,
    .cf-main .cf-registration-btn {
        margin-top: clamp(0px, 4vw, 40px);
        margin-bottom: 6vw;
        height: 10.2564102564vw;
        width: unset;
    }
    .cf-main .open-button,
    .cf-main .cf-registration-btn a {
        padding: 0 16vw;
        min-width: unset;
        padding-right: 18vw;
        font-size: 3.5897435897vw;
        line-height: 10.2564102564vw;
    }
    .open-button::after,
    .cf-registration-btn a::after {
        font-size: 5.1282051282vw;
        right: 2.5641025641vw;
    }
    .cf-main .login-box-mail input,
    .cf-main .login-box-password input {
        font-size: inherit;
        padding: 1.6vw;
    }

    @keyframes arrowMoveSP {
        0% { transform: translateY(-50%) translateX(0); opacity: 1; }
        50% { transform: translateY(-50%) translateX(3.58vw); opacity: 0; }
        51% { transform: translateY(-50%) translateX(-3.58vw); opacity: 0; }
        100% { transform: translateY(-50%) translateX(0); opacity: 1; }
    }
    @-webkit-keyframes arrowMoveSP {
        0% { -webkit-transform: translateY(-50%) translateX(0); opacity: 1; }
        50% { -webkit-transform: translateY(-50%) translateX(3.58vw); opacity: 0; }
        51% { -webkit-transform: translateY(-50%) translateX(-3.58vw); opacity: 0; }
        100% { -webkit-transform: translateY(-50%) translateX(0); opacity: 1; }
    }
    @media (hover: hover) and (pointer: fine) {
        .open-button:hover::after,
        .cf-registration-btn a:hover::after {
            -webkit-animation: alternate arrowMoveSP 0.3s forwards;
            animation: alternate arrowMoveSP 0.3s forwards;
        }
    }
}

.container a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: clamp(0px, 0.1388888889vw, 2px);
    width: clamp(0px, 1.0416666667vw, 15px);
    height: clamp(0px, 1.0416666667vw, 15px);
    background: url(/ja/assets/images/icon_blank.svg) no-repeat center center;
    background-size: contain;
}
@media (max-width: 767px) {
    .container a[target=_blank]:after {
        top: 1.5384615385vw;
        width: 2.5641025641vw;
        height: 2.5641025641vw;
    }
}