@charset "UTF-8";
body {
    width: 100vw;
}
.shingroupImg {
    width: 100%;
    text-align: center;
}
.shingroupImg > a > img {
    width: 400px;
    margin-left: 1100px;
}
#chart-container {
    text-align: center; 
}
#chart-container .orgchart {
    display: inline-block; 
}
.orgchart .node .content { white-space: normal; }
/* 複数人の名前は上詰め・左寄せで */
.orgchart .node .content .member {
  text-align: left;
  margin-top: 2px;
}
.leader {
    text-align: center;
}
/* 余計なアイコン類を非表示 */
.orgchart .node .oci,
.orgchart .node .oci-menu,
.orgchart .node .parentNodeSymbol { 
    display:none !important; 
}
.orgchart .node .content {
  white-space: pre-line; /* \n を改行として表示 */
}
.orgchart .node .title,
.orgchart .node .content {
  white-space: pre-line; /* \n を改行として扱う */
}
.orgchart .node { 
    border-radius: 3px; 
}
.orgchart .node .content {
    border: none;
}
.orgchart td {
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.orgchart .node {
  margin-left: -18px !important;
  margin-right: -18px !important;
}
.orgchart .node.eigyousyo {
  margin-left: -26px !important;
  margin-right: -26px !important;
}
.dept-kensetsu .node.chiikiarea   .title {
  background-color: #FF894F;
  color: #FFFFFF;
}
.dept-keibi .node.chiikiarea .title {
  background-color: #3D74B6;
  color: #FFFFFF;
}
.node.in-kensetsu.chiikiarea   .title {
  background-color: #FF894F;
  color: #FFFFFF;
  width: 120px;
}
.node.in-keibi.chiikiarea .title {
  background-color: #3D74B6;
  color: #FFFFFF;
}
.node.in-kensetsu.eigyousyo .node-name {
  background-color: #FF894F;
  color: #FFFFFF;
}
.node.in-keibi.eigyousyo .node-name {
  background-color: #3D74B6;
  color: #FFFFFF;
}
.node.in-kensetsu.eigyousyo .name {
  background-color: #FF894F;
  color: #FFFFFF;
}
.node.in-keibi.eigyousyo .name {
  background-color: #3D74B6;
  color: #FFFFFF;
}
.node.in-kensetsu.eigyousyo .node-name { 
  display: block;
  width: 84px !important; 
}
.node.in-keibi.eigyousyo .node-name { 
  display: block;
  width: 80px !important; 
}
/* mamoruホールディングス */
.orgchart .node.syacho .title {
  padding: 5px;
  font-size: 18px;
  background-color: #5E936C;
  color: #FFFFFF;
  width: 500px;
  height: 30px;
  box-sizing: border-box;
}
/* 社長名前 */
.orgchart .node.syacho .content {
  font-size: 15px;
  margin: 5px auto 0;
  border: none;
  width: 500px;
  box-sizing: border-box;
}
/*社長周りの枠線-----------------------------*/
.orgchart .node.syacho {
    background:#FFFFFF; border:2px solid #67C090; 
}
/*専務-----------------------------*/
.orgchart .node.senmu { 
    border:2px solid #66a3ff; 
}
.orgchart .node.senmu .title,
.orgchart .node.senmu .content {
  font-size:16px;
  width:230px;
  box-sizing:border-box;
}
.orgchart .node.senmu .title {
  background-color: #67C090;
  color: #FFFFFF;
  box-sizing: border-box;
}
/*-----------------------------*/
/*常務-----------------------------*/
.orgchart .node.joumu { border:2px solid #66a3ff; }
.orgchart .node.joumu .title,
.orgchart .node.joumu .content {
  font-size:16px;
  width:230px;
  box-sizing:border-box;
}
.orgchart .node.joumu .title {
  background-color: #67C090;
  color: #FFFFFF;
  box-sizing: border-box;
}
/*-----------------------------*/
/*管理統括部-----------------------------*/
.orgchart .node.kanritoukatsubu .title,
.orgchart .node.kanritoukatsubu .content {
    width: 100px;
    font-size: 12px;
}
.orgchart .node.kanritoukatsubu .title {
  background-color: #FFBC4C;
  color: #FFFFFF;
  height: 20px;
  box-sizing: border-box;
}
.orgchart .node.soumu .title {
  width: 100px;
  background-color: #FFBC4C;
  color: #FFFFFF;
  height: 20px;
  box-sizing: border-box;
}
.orgchart .node.keiri .title {
  width: 100px;
  background-color: #FFBC4C;
  color: #FFFFFF;
  height: 20px;
  box-sizing: border-box;
}
/*-----------------------------*/
/*経営企画部-----------------------------*/
.orgchart .node.keieikikakubu .title,
.orgchart .node.keieikikakubu .content {
    width: 100px;
    font-size: 12px;
}
.orgchart .node.keieikikakubu .title {
  width: 100px;
  background-color: #FFBC4C;
  color: #FFFFFF;
  height: 20px;
  box-sizing: border-box;
}
.orgchart .node.shisutemukouhou .title {
  background-color: #FFBC4C;
  color: #FFFFFF;
  width: 100px;
  height: 20px;
  box-sizing: border-box;
}
/*-----------------------------*/
/*建設事業部-----------------------------*/
.orgchart .node.kensetsujigyoubu .title,
.orgchart .node.kensetsujigyoubu .content {
    width: 230px;
    font-size: 12px;
    line-height: 13px;
}
.kensetsujigyoubu {
    margin-top: 10px;
}
.orgchart .node.kensetsujigyoubu .title {
  background-color: #FF894F;
  color: #FFFFFF;
  box-sizing: border-box;
}
.orgchart .node.kensetsujigyoubu .content {
  margin: 5px auto 0;
  border: none;
  box-sizing: border-box;
}
/*-----------------------------*/
/*警備事業部-----------------------------*/
.orgchart .node.keibijigyoubu .title,
.orgchart .node.keibijigyoubu .content {
    width: 230px;
    font-size: 12px;
}
.orgchart .node.keibijigyoubu .title {
  width: 230px;
  background-color: #3D74B6;
  color: #FFFFFF;
  height: 20px;
  box-sizing: border-box;
}
/*-----------------------------*/
/*建機レンタル事業部-----------------------------*/
.orgchart .node.kenkirentarujigyoubu .title,
.orgchart .node.kenkirentarujigyoubu .content {
    width: 100px;
    font-size: 12px;
}
/*-----------------------------*/
/*管理統括部-----------------------------*/
.orgchart .node.gijutsusyahakenjigyoubu .title,
.orgchart .node.gijutsusyahakenjigyoubu .content {
    width: 90px;
    font-size: 12px;
}
/*-----------------------------*/
.node.in-keibi.soj .title {
  display: block;
  width: 120px !important;
  margin-right: 40px !important; 
  background-color: #3D74B6;
}
.node.in-keibi.team .title {
  display: block;
  width: 150px !important;
  background-color: #3D74B6;
}
.orgchart .node.arupusu,
.orgchart .node.kenkirentarujigyoubu {
  margin-left: 13px !important;
  margin-right: 13px !important;
}
/* ノードのマウス操作不可 */
.orgchart .node {
  pointer-events: none !important;
}
    /* テーブル */
 #members {
  width:100%; border-collapse: collapse;
}
#members th, #members td {
  border:1px solid #ddd; padding:6px 8px; 
}
#members tbody tr:hover {
  background:#f7faff;
}
    /* ツールバー */
#toolbar {
  margin:12px 0; display:flex; gap:12px; align-items:center;
}
#q {
  padding:6px 8px; width: 320px;
}
.editbtn, #btn-new, #btn-save, #btn-cancel {
  padding:6px 12px; 
}
    /* モーダル */
.modal {
  display:none; position:fixed; inset:0; background:rgba(0,0,0,.35);
}
.modal .panel {
  background:#fff; border-radius:3px; padding:16px; min-width:360px;
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}
.row {
  margin:8px 0; display:flex; gap:8px; align-items:center;
}
.row label { 
  width:90px; 
}
.row input, .row select {
  flex:1; padding:6px 8px; 
}
.actions {
  display:flex; gap:8px; justify-content:flex-end; margin-top:12px; 
}
.orgchart .node.senmu .content,
.orgchart .node.senmu .content .member,
.orgchart .node.joumu .content,
.orgchart .node.joumu .content .member,
.orgchart .node.syacho .content,
.orgchart .node.syacho .content .member {
  text-align: center !important;
}

/* title 由来で .leader を付けている場合も中央寄せ */
.orgchart .node .content .member.leader {
  text-align: center !important;
}
/* 部署ノードの最上段だけ中央寄せ */
.orgchart .node.kanritoukatsubu   .content .member:first-of-type,
.orgchart .node.keieikikakubu     .content .member:first-of-type,
.orgchart .node.kensetsujigyoubu  .content .member:first-of-type,
.orgchart .node.keibijigyoubu     .content .member:first-of-type,
.orgchart .node.kenkirentarujigyoubu .content .member:first-of-type,
.orgchart .node.gijutsusyahakenjigyoubu .content .member:first-of-type {
  text-align: center !important;
}

/* title をメンバー風に描画している（.member.leader）場合も中央寄せ */
.orgchart .node.kanritoukatsubu   .content .member.leader,
.orgchart .node.keieikikakubu     .content .member.leader,
.orgchart .node.kensetsujigyoubu  .content .member.leader,
.orgchart .node.keibijigyoubu     .content .member.leader,
.orgchart .node.kenkirentarujigyoubu .content .member.leader,
.orgchart .node.gijutsusyahakenjigyoubu .content .member.leader {
  text-align: center !important;
}
/* エリア（東海/関東/福島/宮城…）ノードの高さを調整 */
.orgchart .node.chiikiarea .title{
  height: 28px !important;          /* ← 好みの高さに */
  line-height: 28px !important;     /* 垂直中央揃え */
  padding: 2px 13px !important;       /* 左右の余白 */
  font-size: 12px;                  /* 文字サイズ調整は任意 */
  border-radius: 3px;               /* 角の丸み 任意 */
  box-sizing: border-box;
}

/* タイトルの下に無駄な余白が出ないように（エリアは内容なしなので） */
.orgchart .node.chiikiarea .content{
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.orgchart .node.chiikiarea .title{
  font-size: 18px !important;   /* 好みの値に */
}
/* ===== 建設事業部（オレンジの大きい見出し） ===== */
.orgchart .node.kensetsujigyoubu .title {
  width: 300px;            /* ← 横幅 */
  height: 28px;            /* ← 高さ（帯の厚み） */
  line-height: 28px;       /* ← 文字を縦中央に */
  font-size: 14px;         /* ← フォントサイズ */
  box-sizing: border-box;
}
.orgchart .node.kensetsujigyoubu .content {
  width: 300px;            /* ← タイトルと同じ幅にして揃える */
  font-size: 15px;         /* ← 役職・氏名の文字サイズ */
  box-sizing: border-box;
}

/* ===== 管理統括部（左の黄色ラベル） ===== */
.orgchart .node.kanritoukatsubu .title {
  width: 130px;            /* 横幅 */
  height: 22px;            /* 高さ */
  line-height: 22px;       /* 縦中央 */
  font-size: 12px;         /* 文字サイズ */
  box-sizing: border-box;
}
.orgchart .node.kanritoukatsubu .content {
  width: 130px;            /* タイトルと同じ幅に */
  font-size: 15px;
  box-sizing: border-box;
}

/* ===== 経営企画部（右の黄色ラベル） ===== */
.orgchart .node.keieikikakubu .title {
  width: 130px;
  height: 22px;
  line-height: 22px;
  font-size: 12px;
  box-sizing: border-box;
}
.orgchart .node.keieikikakubu .content {
  width: 130px;
  font-size: 15px;
  box-sizing: border-box;
}
/* ===== 警備事業部（青） ===== */
.orgchart .node.keibijigyoubu .title{
  width: 280px;          /* 横幅 */
  height: 26px;          /* 高さ（帯の厚み） */
  line-height: 26px;     /* 文字の縦中央 */
  font-size: 14px;       /* 見出しの文字サイズ */
  box-sizing: border-box;
}
.orgchart .node.keibijigyoubu .content{
  width: 280px;          /* タイトルと同じ幅に */
  font-size: 15px;       /* 役職・氏名のサイズ */
  box-sizing: border-box;
}

/* ===== 建機レンタル事業部（オレンジ） ===== */
.orgchart .node.kenkirentarujigyoubu .title{
  width: 160px;
  height: 22px;
  line-height: 22px;
  font-size: 12px;
  box-sizing: border-box;
}
.orgchart .node.kenkirentarujigyoubu .content{
  width: 160px;
  font-size: 15px;
  box-sizing: border-box;
}

/* ===== 技術者派遣事業部（オレンジ） ===== */
.orgchart .node.gijutsusyahakenjigyoubu .title{
  width: 160px;
  height: 22px;
  line-height: 22px;
  font-size: 12px;
  box-sizing: border-box;
}
.orgchart .node.gijutsusyahakenjigyoubu .content{
  width: 160px;
  font-size: 12px;
  box-sizing: border-box;
}
.orgchart .node.keibijigyoubu .member .nm,
.orgchart .node.kenkirentarujigyoubu .member .nm,
.orgchart .node.gijutsusyahakenjigyoubu .member .nm {
  font-weight: bold;
}
.orgchart .node.kensetsujigyoubu,
.orgchart .node.keibijigyoubu,
.orgchart .node.keieikikakubu,
.orgchart .node.kenkirentarujigyoubu,
.orgchart .node.gijutsusyahakenjigyoubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #66a3ff;
  border-radius:4px;
}

.orgchart .node.kanritoukatsubu,
.orgchart .node.keieikikakubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #FFBC4C;
  border-radius:4px;
}
.orgchart .node.kensetsujigyoubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #FF894F;
  border-radius:4px;
}
.orgchart .node.keibijigyoubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #3D74B6;
  border-radius:4px;
}
.orgchart .node.kenkirentarujigyoubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #E17572;
  border-radius:4px;
}
.orgchart .node.gijutsusyahakenjigyoubu {
  background:#fff;
  box-shadow: inset 0 0 0 2px #E17572;
  border-radius:4px;
}