void Update()
    {
        // 画面位置調整(アスペクト比)
        if (m_BattleLogic.m_InitialPhase >= BattleLogic.InitialPhase.QUEST_INIT)
        {
            adjustScreen();
        }

        if (m_TopRightAnchor != null)
        {
            if (SafeAreaControl.HasInstance)
            {
                RectTransform rect_transform = m_TopRightAnchor.GetComponent <RectTransform>();
                if (rect_transform != null)
                {
                    rect_transform.anchoredPosition = new Vector2(320.0f, -SafeAreaControl.Instance.bar_height);
                }
            }
        }

        // チュートリアル更新
        m_BattleTutorialManager.updateTutorial(Time.deltaTime);

        // オートプレイ
        m_BattleAutoPlay.update(Time.deltaTime);

        // タッチ乗っ取り時の手の表示
        _updateOverrideTouchHand();

        // パーティHP表示更新
        if (BattleParam.m_PlayerParty != null)
        {
            BattleParam.m_PlayerParty.updateDispHp(Time.deltaTime);
        }

        switch (m_BattleScenePhase)
        {
        case BattleScenePhase.NOT_BATTLE:
        {
            if (m_IsChangeBattleScenePhase)
            {
                m_IsChangeBattleScenePhase = false;
            }

            // 手札エリアはオブジェクトの初期化が完了したら表示できる.
            bool is_show_hand_area = m_IsShowHandArea && m_BattleLogic.m_InitialPhase >= BattleLogic.InitialPhase.QUEST_INIT;
            m_PartsGroup1.SetActive(is_show_hand_area);
            m_PartsGroup2.SetActive(false);
        }
            return;

        //break;

        case BattleScenePhase.IN_BATTLE:
            if (m_IsChangeBattleScenePhase)
            {
                m_IsChangeBattleScenePhase = false;
            }

            m_PartsGroup1.SetActive(true);
            m_PartsGroup2.SetActive(true);
            break;
        }

        if (gameObject.IsActive())
        {
            // エネミー詳細ウィンドウの制御
            if (BattleParam.m_TargetEnemyWindow != InGameDefine.SELECT_NONE)
            {
                if (m_IsShowEnemyDetailWindow == false)
                {
                    m_IsShowEnemyDetailWindow = true;
                    if (m_EnemyDetailWindowObject == null)
                    {
                        if (m_EnemyDetailWindowPrefab != null)
                        {
                            m_EnemyDetailWindowObject = GameObject.Instantiate(m_EnemyDetailWindowPrefab);
                            BattleSceneUtil.setRide(m_EnemyDetailWindowObject.transform, SceneObjReferGameMain.Instance.m_UIInstanceTargetWindowPosition.transform);
                        }
                    }

                    if (m_EnemyDetailWindowObject != null)
                    {
                        m_EnemyDetailWindowObject.SetActive(true);
                    }
                }
                else
                {
                    if (m_EnemyDetailWindowObject == null || m_EnemyDetailWindowObject.IsNullOrInactive())
                    {
                        BattleParam.m_TargetEnemyWindow = InGameDefine.SELECT_NONE;
                        m_IsShowEnemyDetailWindow       = false;
                        m_EnemyDetailWindowObject       = null;
                    }
                }
            }


            // スキル成立時プレイヤーへ向かって飛んでいくエフェクト
            MasterDataDefineLabel.ElementType[,] elements = m_BattleLogic.m_SkillIconArea.getNewSkillElementInfo();
            if (elements != null)
            {
                for (int field_idx = 0; field_idx < elements.GetLength(0); field_idx++)
                {
                    for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++)
                    {
                        MasterDataDefineLabel.ElementType element = elements[field_idx, idx];
                        if (element != MasterDataDefineLabel.ElementType.NONE)
                        {
                            Transform  start_trans = m_BattleCardArea.GetComponent <BattleCardArea>().getEffectPosition(field_idx, BattleScene._BattleCardManager.EffectInfo.EffectPosition.FIELD_AREA);
                            Transform  goal_trans  = m_BattleLogic.m_BattlePlayerPartyViewControl.getEffectTransform((GlobalDefine.PartyCharaIndex)idx);
                            GameObject effect_obj  = EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_SkillSetupNaught, Vector3.zero, Vector3.zero, start_trans, null);

                            if (effect_obj != null)
                            {
                                effect_obj.transform.tweenToParent(goal_trans, 0.3f);
                            }
                        }
                    }
                }
            }
            m_BattleLogic.m_SkillIconArea.clearNewSkillElementInfo();
        }

        // ユーザー操作可能になってからの経過フレーム数
        {
            BattleParam.BattlePhase phase = BattleParam.getBattlePhase();
            if (phase == BattleParam.BattlePhase.INPUT ||
                phase == BattleParam.BattlePhase.INPUT_HANDLING
                )
            {
                m_InputEnableFrameCounter++;
            }
            else
            {
                m_InputEnableFrameCounter = 0;
            }
        }

        // 手札領域を暗くするマスクのオンオフ
        if (m_InputEnableFrameCounter >= 2)
        {
            m_CardMask.SetActive(false);
        }
        else
        {
            m_CardMask.SetActive(true);
        }

        // パーティUIの拡縮に応じたマスクコリジョンの制御
        {
            float offset_y = 0.0f;
            if (BattleParam.IsKobetsuHP)
            {
                if (BattleParam.isShowPartyInterfaceSkillCost())
                {
                    offset_y += 0.1f;
                }
                if (BattleParam.isShowPartyInterfaceSkillTurn())
                {
                    offset_y += 0.1f;
                }
            }
            m_UIMask.transform.localPosition = new Vector3(0.0f, offset_y, 0.0f);
        }

        // ガイド表示
        if (m_GuideDispTransform != null)
        {
            LocalSaveOption cOption = LocalSaveManager.Instance.LoadFuncOption();
            if (cOption != null)
            {
                bool is_change = false;
                if (m_InputEnableFrameCounter >= 2)
                {
                    if (m_GuideDispMode != cOption.m_OptionGuide)
                    {
                        is_change       = true;
                        m_GuideDispMode = cOption.m_OptionGuide;
                    }
                }
                else
                {
                    if (m_GuideDispMode != -1)
                    {
                        is_change       = true;
                        m_GuideDispMode = -1;
                    }
                }

                if (is_change)
                {
                    m_GuideDispTransform.gameObject.SetActive(m_GuideDispMode > 0);
                }
            }
        }
    }