@charset "UTF-8";

/* ログイン画面: 右下トースト（rk-case-toast.css 共用） */
body.portal-login-body {
    --rk-case-toast-clearance-footer: calc(1rem + env(safe-area-inset-bottom, 0px));
}

/* CSRF トークン */
.login-form > input[type="hidden"] {
    display: none !important;
}

.form button.login.mt20 .login-btn-label {
    display: block;
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
    background: #232b83;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: bold;
    padding: 15px;
    border-radius: 20px;
    width: 100%;
    box-sizing: border-box;
}

.form button.login.mt20:hover .login-btn-label {
    opacity: 0.8;
}

.login .menu .mark--fallback.mark {
    display: inline-block;
    width: 25px;
    min-width: 25px;
    height: 25px;
    margin-right: 5px;
    flex-shrink: 0;
}

.mark--fallback.mark--support {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23232B83'%3E%3Cpath d='M12 2a7 7 0 015 5.6V10h3v11H2V10h3V7.6A7 7 0 0112 2zm3 8h-6v1.35A6 6 0 009 21h6a6 6 0 003-9.65V10z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.mark--fallback.mark--contact {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23232B83' stroke-width='1.8'%3E%3Crect x='4' y='8' width='16' height='10' rx='2'/%3E%3Cpath d='M6 10l6 4 6-4'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.portal-signup-fallback-wrap {
    margin: 0;
    padding: 0;
    font-size: inherit;
}

a.portal-signup-fallback-btn {
    display: inline-block;
    text-align: center;
    font-weight: bold;
    padding: 12px 28px;
    border-radius: 10px;
    background: linear-gradient(#ff9a3c, #f27f0c);
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
}

a.portal-signup-fallback-btn:hover {
    opacity: 0.9;
}

a.banner-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 12px 16px;
    text-align: center;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    box-sizing: border-box;
}

a.banner-link--a {
    background: rgba(106, 120, 200, 0.45);
}

a.banner-link--b {
    background: rgba(120, 200, 150, 0.35);
}

a.banner-link--c {
    background: rgba(210, 200, 150, 0.35);
}

a.banner-link--d {
    background: rgba(200, 150, 200, 0.35);
}

a.banner-link:hover {
    opacity: 0.92;
}

.footer-company-name {
    font-weight: bold;
    color: #fff;
}

/*
 * ビューポート縦スクロールバー
 */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    background: transparent;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    background: #7f85c8;
    border-radius: 99px;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
    background: #6268ad;
}
