
body.hoshina-login-page, body.hoshina-login-page .hoshina-login-shell { background:#fff!important; background-image:none!important; }
body.hoshina-login-page .hoshina-login-panel { background:#f8f8f8!important; }
#LoginLogo #CorpLogo { width:580px!important; max-width:calc(100vw - 64px)!important; height:auto!important; object-fit:contain; }
#LoginLogo #ProductLogo { display:none!important; }
#SsoLogin { border-top:0!important; width:100%; box-sizing:border-box; }
#SsoLogin .ssoLoginMessage { display:none!important; }
#SsoLogin .hoshina-divider { display:flex!important; width:100%!important; box-sizing:border-box; align-items:center; gap:16px; margin:22px 0 16px; color:#666; font-size:14px; }
#SsoLogin .hoshina-divider .hoshina-divider-line { display:block!important; height:0!important; min-width:24px; border-top:1px solid #dedede!important; flex:1 1 0!important; }
#SsoLogin .hoshina-divider .hoshina-divider-label { flex:0 0 auto!important; }
#SsoLogin #SSOLogin { display:flex!important; align-items:center; justify-content:center; gap:14px; width:100%!important; height:auto!important; min-height:54px; margin:0!important; padding:12px 20px!important; box-sizing:border-box; border:1px solid transparent!important; border-radius:999px!important; background:#f3f3f3!important; background-image:none!important; color:#171717!important; box-shadow:none!important; font-family:inherit; font-size:16px!important; font-weight:400!important; text-indent:0!important; }
#SsoLogin #SSOLogin:hover { background:#e9e9e9!important; }
#SsoLogin #SSOLogin:focus-visible { outline:3px solid #0078d4; outline-offset:3px; }
#SsoLogin #SSOLogin:disabled { opacity:.55; cursor:wait; }
#SsoLogin #SSOLogin .ui-icon { display:none!important; }
#SsoLogin .hoshina-ms-mark { display:grid; grid-template-columns:repeat(2,12px); grid-template-rows:repeat(2,12px); gap:2px; flex:none; width:26px; height:26px; }
#SsoLogin .hoshina-ms-mark span { display:block; width:12px; height:12px; }

#LoginLogo #Logo {
    overflow: visible !important;
}
#LoginLogo #CorpLogo {
    width: 800px !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
}

body #LoginLogo,
body #LoginLogo #Logo {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}
body #LoginLogo #Logo #CorpLogo {
    width: min(900px, calc(100vw - 32px)) !important;
    min-width: min(900px, calc(100vw - 32px)) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-shrink: 0 !important;
}
