/* ログイン画面の背景は body にセット（ヘッダー/フッター以外の全面に表示） */
        body {
            background-image:
                    linear-gradient(rgba(255, 220, 240, 0.6), rgba(255, 220, 240, 0.6)),
                    url('/static/assets/images/login-page-background.png');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            background-repeat: no-repeat;
        }
    
        .login-form-box input {
            width: 100%;
            box-sizing: border-box;
            padding: 14px;
            border: 1px solid #ccc;
            border-radius: 10px;
            font-size: 16px;
        }

        /* ==== ここから: インラインstyle外部化分 ==== */

        .login-bg {
            padding: 40px 0;
            min-height: 100vh;
        }

        .login-wrap {
            max-width: 680px;
            margin: 0 auto;
            padding: 24px 16px;
        }

        .login-hero-card {
            background: rgba(255,255,255,0.82);
            border-radius: 24px;
            padding: 28px 22px;
            margin-bottom: 24px;
            box-shadow: 0 8px 24px rgba(0,0,0,0.08);
        }

        .login-hero-title {
            font-size: 30px;
            color: #ff4fa3;
            margin: 0 0 14px;
            font-weight: bold;
        }

        .login-hero-lead {
            font-size: 24px;
            line-height: 1.6;
            color: #333;
            font-weight: bold;
            margin: 0 0 18px;
        }

        .login-hero-features {
            font-size: 20px;
            line-height: 1.9;
            color: #333;
            margin-bottom: 24px;
        }

        .login-hero-cta {
            display: block;
            text-align: center;
            background: linear-gradient(135deg,#ff4fa3,#b46bff);
            color: #fff;
            padding: 18px 20px;
            border-radius: 999px;
            font-size: 24px;
            font-weight: bold;
            text-decoration: none;
            box-shadow: 0 5px 0 rgba(180,80,160,0.35);
        }

        .login-hero-note {
            font-size: 14px;
            color: #777;
            text-align: center;
            margin: 16px 0 0;
        }

        .login-form-box {
            background: rgba(255,255,255,0.72);
            border-radius: 20px;
            padding: 24px 20px;
            box-shadow: 0 5px 18px rgba(0,0,0,0.06);
        }

        .login-form-title {
            font-size: 22px;
            color: #555;
            margin: 0 0 18px;
        }

        .login-field-username {
            margin-bottom: 14px;
        }

        .login-field-password {
            margin-bottom: 20px;
        }

        .form-label {
            display: block;
            font-size: 15px;
            color: #555;
            margin-bottom: 6px;
        }

        .login-submit-btn {
            width: 100%;
            background: linear-gradient(135deg,#9eeaf0,#b8b7ff);
            color: #fff;
            padding: 15px;
            border: none;
            border-radius: 999px;
            font-size: 20px;
            font-weight: bold;
            cursor: pointer;
        }

        .login-form-footer {
            text-align: center;
            margin-top: 18px;
        }

        .login-reset-link {
            color: #3f7ee8;
            font-size: 16px;
            font-weight: bold;
            text-decoration: none;
        }

        .login-alert {
            background: #fff;
            color: #d9534f;
            padding: 14px;
            border-radius: 12px;
            margin-top: 18px;
            text-align: center;
            font-weight: bold;
        }

/* bootstrap の a:hover(青) がクラス色(詳細度0,1,0)に勝つのを防ぐ。ホバーでも各ボタンの色を保つ */
.login-hero-cta:hover { color: #fff; }
.login-reset-link:hover { color: #3f7ee8; }
