.login-page-container{min-height:var(--viewport-height,100dvh);background:#f8fafc;justify-content:center;align-items:center;width:100%;margin:0;padding:0;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Meiryo,sans-serif;display:flex;overflow-x:hidden}@media (prefers-color-scheme:dark){.login-page-container{color:#e2e8f0;background:#0a0a0a}}.login-main-content{text-align:center;width:100%;max-width:28rem;padding:2rem 1rem}.login-logo{margin-bottom:2rem;display:block}.login-logo img{-o-object-fit:contain;object-fit:contain;width:200px;height:50px;margin:0 auto;display:block}.login-title{color:#1a202c;letter-spacing:-.02em;margin-bottom:2rem;font-size:1.875rem;font-weight:600;line-height:1.2}@media (prefers-color-scheme:dark){.login-title{color:#f7fafc}}.login-error{background:#fed7d7;border:1px solid #fca5a5;border-radius:.75rem;max-width:28rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:1rem}.login-error-icon{color:#e53e3e;margin-right:.5rem}.login-error-title{color:#c53030;margin-bottom:.25rem;font-weight:600}.login-error-text{color:#c53030;font-size:.875rem;line-height:1.6}@media (prefers-color-scheme:dark){.login-error{background:#2d1b1b;border-color:#fc8181}.login-error-title,.login-error-text{color:#feb2b2}}.login-button{cursor:pointer;background:inherit;width:100%;max-width:20rem;color:inherit;font-family:inherit;font-size:1.125rem;font-weight:500;line-height:inherit;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:1rem;padding:1.5rem 3rem;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #0000001a}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.login-button:active:not(:disabled){transform:translateY(0)}.login-button-google{color:#fff!important;background:#3182ce!important}.login-button-google:hover:not(:disabled){background:#2c5aa0;box-shadow:0 4px 12px #3182ce4d}.login-button-line{color:#fff!important;background:#06c755!important}.login-button-line:hover:not(:disabled){background:#05ac48;box-shadow:0 4px 12px #06c7554d}.login-button-icon{margin-right:.75rem;font-size:1.25rem}.login-description{color:#718096;max-width:24rem;margin:0 auto .75rem;font-size:.875rem;line-height:1.6}.login-privacy-text{color:#718096;max-width:24rem;margin:0 auto;font-size:.75rem;line-height:1.6}.login-privacy-link{color:#3182ce;text-decoration:underline}.login-privacy-link:hover{text-decoration:none}@media (prefers-color-scheme:dark){.login-description,.login-privacy-text{color:#a0aec0}.login-privacy-link{color:#63b3ed}}
.login-fade-in{animation:.8s ease-out loginFadeIn}.login-scale-in{animation:.6s ease-out loginScaleIn}.login-delay-1{animation-delay:.2s;animation-fill-mode:both}.login-delay-2{animation-delay:.4s;animation-fill-mode:both}.login-delay-3{animation-delay:.6s;animation-fill-mode:both}.login-delay-4{animation-delay:.7s;animation-fill-mode:both}.login-delay-5{animation-delay:.8s;animation-fill-mode:both}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes loginScaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width:640px){.login-page-container{padding:1rem}.login-main-content{padding:1rem .5rem}.login-logo img{width:160px;height:40px}.login-title{font-size:1.5rem}.login-button{touch-action:manipulation;-webkit-tap-highlight-color:#0000001a;min-height:44px;padding:1.25rem 2rem;font-size:1rem}}.login-loading{pointer-events:none;position:relative}.login-loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:1s linear infinite loginSpin;position:absolute;top:50%;left:50%}@keyframes loginSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-button:focus{outline-offset:2px;outline:2px solid #3182ce}.login-privacy-link:focus{outline-offset:1px;border-radius:2px;outline:2px solid #3182ce}@media (prefers-contrast:high){.login-button{border:2px solid}.login-error{border-width:2px}}


