+diff -pruN --exclude build ./demo_clean/src/mainMinimum.cpp ./demo_dev/src/mainMinimum.cpp
+--- ./demo_clean/src/mainMinimum.cpp 2024-03-28 18:39:52.882141826 +0000
++++ ./demo_dev/src/mainMinimum.cpp 2024-03-28 18:43:36.389973918 +0000
+@@ -9,7 +9,6 @@
+
+ #include <sstream>
+ #include <unistd.h>
+-#include <libgen.h>
+ #include <GL/glew.h>
+ #include <GLFW/glfw3.h>
+
+@@ -62,7 +61,7 @@ static LAppAllocator _cubismAllocator; /
+
+ static LAppTextureManager* _textureManager; ///< テクスチャの管理
+
+-static std::string _executeAbsolutePath; ///< アプリケーションの実行パス
++static std::string _rootDirectory; ///< ルートディレクトリ
+ static std::string _currentModelDirectory; ///< 現在のモデルのディレクトリ名
+
+ static GLFWwindow* _window; ///< ウィンドウオブジェクト
+@@ -86,11 +85,33 @@ static void InitializeCubism()
+ }
+
+ /**
+-* @brief アプリケーションの実行パスの設定
++* @brief 文字列の分割
+ *
+-* Linuxのアプリケーションの実行パスを確認し、パスを取得する
++* 指定された区切り文字で文字列を分割する
+ */
+-void SetExecuteAbsolutePath()
++Csm::csmVector<std::string> Split(const std::string& baseString, char delimiter)
++{
++ Csm::csmVector < std::string > elems;
++ std::stringstream ss(baseString);
++ std::string item;
++
++ while (getline(ss, item, delimiter))
++ {
++ if (!item.empty())
++ {
++ elems.PushBack(item);
++ }
++ }
++
++ return elems;
++}
++
++/**
++* @brief ルートディレクトリの設定
++*
++* Linuxのルートディレクトリを確認し、パスを取得する
++*/
++void SetRootDirectory()
+ {
+ const int maximumPathBufferSize = 1024;
+ char path[maximumPathBufferSize];
+@@ -101,8 +122,19 @@ void SetExecuteAbsolutePath()
+ path[len] = '\0';
+ }
+
+- _executeAbsolutePath = dirname(path);
+- _executeAbsolutePath += "/";
++ std::string pathString(path);
++
++ pathString = pathString.substr(0, pathString.rfind("Demo"));
++ Csm::csmVector<std::string> splitStrings = Split(pathString, '/');
++
++ _rootDirectory = "";
++
++ for (int i = 0; i < splitStrings.GetSize(); i++)
++ {
++ _rootDirectory += "/" + splitStrings[i];
++ }
++
++ _rootDirectory += "/";
+ }
+
+ /**
+@@ -112,12 +144,12 @@ void SetExecuteAbsolutePath()
+ */
+ static bool InitializeSystem()
+ {
+- LAppPal::PrintLogLn("START");
++ LAppPal::PrintLog("START");
+
+ // GLFWの初期化
+ if (glfwInit() == GL_FALSE)
+ {
+- LAppPal::PrintLogLn("Can't initilize GLFW");
++ LAppPal::PrintLog("Can't initilize GLFW");
+
+ return GL_FALSE;
+ }
+@@ -126,7 +158,7 @@ static bool InitializeSystem()
+ _window = glfwCreateWindow(LAppDefine::RenderTargetWidth, LAppDefine::RenderTargetHeight, "SIMPLE_SAMPLE", NULL, NULL);
+ if (_window == NULL)
+ {
+- LAppPal::PrintLogLn("Can't create GLFW window.");
++ LAppPal::PrintLog("Can't create GLFW window.");
+
+ glfwTerminate();
+ return GL_FALSE;
+@@ -137,7 +169,7 @@ static bool InitializeSystem()
+ glfwSwapInterval(1);
+
+ if (glewInit() != GLEW_OK) {
+- LAppPal::PrintLogLn("Can't initilize glew.");
++ LAppPal::PrintLog("Can't initilize glew.");
+
+ glfwTerminate();
+ return GL_FALSE;
+@@ -165,7 +197,7 @@ static bool InitializeSystem()
+ // ドラッグ入力管理クラスの初期化
+ MouseActionManager::GetInstance()->Initialize(windowWidth, windowHeight);
+
+- SetExecuteAbsolutePath();
++ SetRootDirectory();
+
+ return GL_TRUE;
+ }
+@@ -209,7 +241,7 @@ void Release()
+ void LoadModel(const std::string modelDirectoryName)
+ {
+ // モデルのディレクトリを指定
+- _currentModelDirectory = _executeAbsolutePath + LAppDefine::ResourcesPath + modelDirectoryName + "/";
++ _currentModelDirectory = _rootDirectory + LAppDefine::ResourcesPath + modelDirectoryName + "/";
+
+ // モデルデータの新規生成
+ _userModel = new CubismUserModelExtend(modelDirectoryName, _currentModelDirectory);