﻿@charset "utf-8";

        /* ================================
           基本設定・リセット
           ================================ */
        body { 
            font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
            margin: 0; 
            padding: 0;
            background-color: #f4f7f6; /* 清潔感のある薄いグレー */
            color: #333;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* ================================
           ヘッダー
           ================================ */
        .site-header {
            background-color: #2c3e50; /* 信頼感のあるネイビー */
            color: #ffffff;
            padding: 15px 0;
            text-align: center;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }

        .site-header h1 {
            margin: 0;
            font-size: 1.5rem;
            letter-spacing: 2px;
        }

        /* ================================
           メインコンテンツ（再設定フォーム）
           ================================ */
        .forget-wrapper, .success-wrapper {
            flex: 1; 
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 40px 20px;
        }

        .forget-box, .success-box {
            background: #ffffff;
            padding: 40px;
            border-radius: 8px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.05);
            width: 100%;
            max-width: 450px;
            box-sizing: border-box;
        }

        .forget-box h2, .success-box h2 {
            margin-top: 0;
            margin-bottom: 15px;
            text-align: center;
            color: #2c3e50;
            font-size: 1.4rem;
        }

        .description {
            text-align: center;
            font-size: 0.9rem;
            color: #666;
            margin-bottom: 25px;
            line-height: 1.5;
        }

        /* メッセージ表示エリア */
        .message { 
            background-color: #e3f2fd; /* インフォメーションを意味する薄いブルー */
            color: #1565c0; 
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 20px; 
            font-size: 0.9rem;
            border-left: 4px solid #1565c0;
        }

        /* フォームの各項目 */
        .form-group {
            margin-bottom: 20px;
        }

        .form-group label { 
            display: block; 
            margin-bottom: 8px; 
            font-weight: bold;
            font-size: 0.95rem;
            color: #555;
        }

        .form-group input[type="email"],
        .form-group input[type="password"] { 
           width: 100%; 
           padding: 12px; 
           border: 1px solid #ced4da;
           border-radius: 4px;
           box-sizing: border-box; 
           font-size: 1rem;
           background-color: #fafafa;
           transition: all 0.3s ease;
        }

        /* 入力中のフォーカス状態 */
        .form-group input:focus {
            outline: none;
            border-color: #3498db;
            background-color: #ffffff;
            box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
        }

        /* 送信ボタン */
        .btn-submit { 
            display: inline-block;
            text-align: center;
            text-decoration: none;
            box-sizing: border-box;
            width: 100%;
            margin-top: 10px; 
            padding: 14px 20px; 
            background-color: #3498db; /* アクセントのブルー */
            color: #ffffff;
            border: none;
            border-radius: 4px;
            font-size: 1.1rem;
            font-weight: bold;
            cursor: pointer; 
            transition: background-color 0.3s ease, transform 0.1s;
        }

        .btn-submit:hover {
            background-color: #2980b9;
        }

        .btn-submit:active {
            transform: translateY(2px); /* 押した時の沈み込み */
        }

        /* 戻るリンク */
        .back-link-area {
            text-align: center;
            margin-top: 25px;
        }

        .back-link {
            color: #3498db;
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s ease;
        }

        .back-link:hover {
            color: #1d6fa5;
            text-decoration: underline;
        }

        /* ================================
           フッター
           ================================ */
        .site-footer {
            background-color: #2c3e50;
            color: #95a5a6;
            text-align: center;
            padding: 20px 0;
            font-size: 0.85rem;
        }