public static IEnumerator in_fade(int add_clear_count, int add_strength, int add_num)
        {
            // 操作があるまで待つ
            while (!Input.GetMouseButtonUp(0) && !Input.GetKeyUp(KeyCode.Space) && !Input.GetKeyUp(KeyCode.Return))
            {
                yield return(null);
            }

            // 画面をフルフェード
            yield return(GuiService.fadeBacground(1f));

            Time.timeScale = 1f;

            // プレイヤー再初期化
            PlayerService.reset();
            yield return(new WaitForEndOfFrame());

            // BGMチェック
            MessageBroker.Default.Publish <BgmCheck>(new BgmCheck());
            yield return(null);

            // 次のステージ情報更新
            _room_clear_count += add_clear_count;
            if (_room_clear_count < 1)
            {
                _room_clear_count = 1;
            }

            _enemy_strength += add_strength;
            if (_enemy_strength < 1)
            {
                _enemy_strength = 1;
            }

            _enemy_num += add_num;
            if (_enemy_num < 1)
            {
                _enemy_num = 1;
            }

            // ドア閉める

            // NextRoomのエフェクトを消去
            EffectService.nextRoomOff();
            yield return(new WaitForEndOfFrame());

            // 地面に落ちてる装備品を削除
            ItemEquipService.ClearTarget();
            ItemEquipService.destroyEquipItem();
            yield return(new WaitForEndOfFrame());

            // 家具配置範囲再初期化
            EffectiveFloorService.reset();

            // 家具再初期化
            FieldObjectService.reset();
            yield return(new WaitForEndOfFrame());

            // 敵削除
            EnemyService.destroyEnemyDead();
            yield return(new WaitForEndOfFrame());

            // リセット後の状態を保存
            MessageBroker.Default.Publish <SaveDataSave>(new SaveDataSave());
            yield return(new WaitForEndOfFrame());

            Time.timeScale = 0f;
        }