        .rating-form {
            max-width: 600px;
            margin: 20px auto;
            padding: 20px;
            border: 1px solid #ddd;
            border-radius: 8px;
            font-family: Arial, sans-serif;
        }

        .rating-input {
            margin-bottom: 20px;
        }

        .rating-input label {
            display: block;
            margin-bottom: 10px;
            font-weight: bold;
        }

        .stars-input {
            display: flex;
            gap: 5px;
            align-items: center;
        }

        /* ラジオボタンを視覚的に隠すが、スクリーンリーダーとキーボードナビゲーションは維持 */
        .stars-input input[type="radio"] {
            position: absolute;
            clip: rect(0, 0, 0, 0);
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            border: 0;
        }

        .stars-input .star {
            cursor: pointer;
            font-size: 24px;
            color: #ddd;
            transition: color 0.2s;
            border: 2px solid transparent;
            border-radius: 4px;
            padding: 4px;
        }

        .stars-input .star:hover,
        .stars-input input[type="radio"]:hover + .star {
            color: #ffc107;
        }

        .stars-input input[type="radio"]:checked + .star,
        .stars-input input[type="radio"]:checked ~ input[type="radio"] + .star {
            color: #ffc107;
        }

        /* フォーカス時のスタイル - キーボードナビゲーション用 */
        .stars-input input[type="radio"]:focus + .star {
            border-color: #007bff;
            outline: 2px solid #007bff;
            outline-offset: 2px;
        }

        .review-input {
            margin-bottom: 20px;
        }

        .review-input label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }

        .review-input textarea {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-family: Arial, sans-serif;
            resize: vertical;
        }

        .review-input textarea:focus {
            border-color: #007bff;
            outline: none;
            box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
        }

        .btn {
            padding: 10px 20px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }

        .btn:hover {
            background-color: #0056b3;
        }

        .btn:focus {
            outline: 2px solid #007bff;
            outline-offset: 2px;
        }

        /* 星の選択状態を動的に更新するための追加スタイル */
        .stars-input input[type="radio"]:checked + .star,
        .stars-input input[type="radio"]:checked ~ input + .star {
            color: #ffc107;
        }

        /* 順序を考慮した星の色付け */
        .stars-input input[type="radio"]:checked + .star {
            color: #ffc107;
        }

        .stars-input input[type="radio"]:checked ~ input + .star {
            color: #ddd;
        }

        .stars-input input[type="radio"]:checked ~ input:checked + .star {
            color: #ffc107;
        }

        /* 正しい星の色付けのための改良版 */
        .star.filled {
            color: #ffc107;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
