/// <summary>
    /// OKボタン選択
    /// </summary>
    /// <param name="data"></param>
    private void OnSelectOk(ChallengeSelect.EventData data)
    {
        var requirement_id = data.questMaster.quest_requirement_id;
        MasterDataQuestRequirement quest_requirement = null;

        if (requirement_id != 0)
        {
            quest_requirement = MasterDataUtil.GetMasterDataQuestRequirementFromID(requirement_id);
        }

        //--------------------------------
        // ユニット所持数が上限超えてるならクエスト不可
        //--------------------------------
        if (UserDataAdmin.Instance.m_StructPlayer.total_unit < UserDataAdmin.Instance.m_StructPlayer.unit_list.Length)
        {
            openDialogUnitOver();

            SoundUtil.PlaySE(SEID.SE_MENU_RET);
        }
        else if (quest_requirement != null &&
                 quest_requirement.limit_rank > UserDataAdmin.Instance.m_StructPlayer.rank)
        {
            //--------------------------------
            // ランク制限でクエストに入れない場合
            //--------------------------------
            openDialogRankLow();

            SoundUtil.PlaySE(SEID.SE_MENU_RET);
        }
        else if (MainMenuParam.m_QuestStamina != 0 &&
                 UserDataAdmin.Instance.m_StructPlayer.stamina_max < MainMenuParam.m_QuestStamina)
        {
            //--------------------------------
            // スタミナのMAX値が足りずクエストに入れない場合
            //--------------------------------
            openDialogStaminaLow();

            SoundUtil.PlaySE(SEID.SE_MENU_RET);
        }
        else if (MainMenuParam.m_QuestTicket != 0 &&
                 MainMenuParam.m_QuestTicket > UserDataAdmin.Instance.m_StructPlayer.have_ticket)
        {
            //--------------------------------
            // チケット対価不足
            //--------------------------------
            openDialogTicketLow();

            SoundUtil.PlaySE(SEID.SE_MENU_RET);
        }
        else if (MainMenuParam.m_QuestStamina != 0 &&
                 UserDataAdmin.Instance.m_StructPlayer.stamina_max >= data.questMaster.consume_value &&
                 MainMenuParam.m_QuestStamina > UserDataAdmin.Instance.m_StructPlayer.stamina_now)
        {
            //--------------------------------
            // スタミナが足りない場合、スタミナ回復ダイアログを表示
            //--------------------------------

            PacketStructUseItem item = useRecoverItem();

            if (item != null)
            {
                openDialogUseItem(item);
            }
            else
            {
                //--------------------------------
                // チップによる回復ルート
                //--------------------------------

                openDialogUseStone();
            }

            SoundUtil.PlaySE(SEID.SE_MENU_RET);
        }
        else
        {
            //--------------------------------
            // 特にエラーなし。次のフローへ
            //--------------------------------
            //成長ボス選択パラメータ設定
            MainMenuParam.SetChallengeSelectParam(data.questMaster.fix_id, data.bSkip, (data.bSkip ? data.SkipLevel : data.info.challenge_level));

            //成長ボスではMainMenuQuestSelectを経由しないのでAreaCategoryIDをここで設定
            MasterDataArea area = MasterDataUtil.GetAreaParamFromID(data.questMaster.area_id);
            MainMenuParam.m_QuestSelectAreaCateID = (area != null ? area.area_cate_id : 0);

            MainMenuParam.m_QuestAreaAmendList   = m_AreaAmendParam.m_AreaMasterDataAmendList;
            MainMenuParam.m_QuestSelectAreaID    = data.questMaster.area_id;
            MainMenuParam.m_QuestSelectMissionID = data.questMaster.fix_id;
            if (MainMenuManager.HasInstance)
            {
                MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_QUEST_SELECT_FRIEND, false, false);
                SoundUtil.PlaySE(SEID.SE_MENU_OK);
            }
        }
    }