/*
 * 入れ子構造のCSSを使う
 * 例 : parent {...}
 *      parent child {***}
 *   これを下記のように書く
 *      parent {
 *         ...
 *         child {***}
 *      }
 */
/* 0. 定数 : --定数名 で定義し、 var(--定数名); として使う */
:root {
--info-area-width: 1670px;    /* 情報ペインの幅 */
--nav-bgcolor: rgb(44, 44, 44);
--nav-bgcolor-active: rgb(233, 233, 233); /* サイドメニュー選択時の背景色 */
--nav-bgcolor-hover: black;
--nav-text-color: white;
--nav-text-color-active: rgb(44, 44, 44);
--area-border: 1px solid #e7e7e7; /* メニュー、ヘッダ、フッタの線色 */
--area-left: 12.1rem;      /* サイドメニューの幅+1 = 情報ペインのY位置 */
--hf-btn-bgcolor: rgb(44, 44, 44); /* ヘッダ、フッタボタンの背景色 */ /* --head-btn-bgcolor から変更(伊賀:ok, 平野:?) */
--hf-btn-active-hocolor: black;  /* ヘッダ、フッタボタンのホバー色 */ /* --head-btn-active-hocolor から変更(伊賀:ok, 平野:?) */
    --h-btn-active-bgcolor: #1E87F0; /* ヘッダボタン選択時の背景色 */ /* 使っていないことを確認したら削除する(伊賀:ok, 平野:?) */
--form-title-bgcolor: #464646; /* 入力フォームタイトルの背景色 */
--form-error-coloer: #f0506e; /* 入力フォームエラー時の文字色、枠色 */
--grid-stripe-color: #f1f1f1; /* AG-Gridのストライプ色. ここでは定義のみ、設定は.js のgetRowStyle */

--default-gridlist-height: 750px; /* 一覧画面のAgGrid幅 */
--default-mainmin-height: 750px; /* <main>の最小高さ */
}
/* 1. サイトBase */

body { height: 100%; width: 1280px; }
body.sp { height: 100%; width: 375px !important; }
/* 2. サイドメニュー */
nav {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  min-width: 12rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-right: var(--area-border);
  background-color: var(--nav-bgcolor) !important;

  div.sidemenu-scroll {
    position: fixed;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
    width: 11rem;
    overflow: auto;
  }
  div.no-menu-title {
    border: var(--area-border);
    width: 90%;
    margin-top: 10px;
    padding: 0.5rem 1rem;
  }
  .uk-parent > a { color: var(--nav-text-color) !important;}
  li[name="sidemenu-item"]:hover { background-color: var(--nav-bgcolor-hover); }
  li[name="sidemenu-item"] a:not(.selected-menu) { color: var(--nav-text-color) !important;}
  li[name="sidemenu-item"] a.selected-menu {  /* サイドメニュー選択時のスタイル */
    background-color: var(--nav-bgcolor-active);
    color: var(--nav-text-color-active) !important;
  }
  li.menu-sub { color: white; } /* サイドメニュー 区分"Y" 見出し表示 */

}
.space-right { margin-right: 1rem; }  /* サイドメニュー 開くアイコン^vの右側のスペース */

/* 2.1. 情報ペイン */
div.info-area {
  position: fixed;
  top: 3.5rem;
  left: var(--area-left);
  height: 760px;
  width: var(--info-area-width);
}
/* 3. ヘッダー *//* 枠はfixedで固定 、ボタンは flex で配置 */
header {
  position: fixed;
  top: 0;
  left: var(--area-left);
  width: var(--info-area-width);
  background-color: white;
  height: 3.5rem;
  border-bottom: var(--area-border);
  z-index: 30;

  div { display: inline-block; }  /* 地区ボタンとログアウト・ロゴを2つのdivに分けて横並びにする */
  div:first-child {  /* 地区ボタンの位置調整(default float:left) */
    margin-top: 8px;
  }
  div:first-child .uk-button:not(.uk-button-primary) {
    background-color: var(--hf-btn-bgcolor);
    color: white;
  }
  div:first-child .uk-button:not(.uk-button-primary):hover { background-color: var(--hf-btn-active-hocolor); }
  div:first-child .uk-button:first-child { margin-left: 8px; }
  div:last-child { float: right; }      /* ログアウトボタン,ロゴの位置調整 */
  div:last-child a:nth-last-child(1) {
    margin-left: 8px;
  }
  div:last-child a:nth-last-child(2) {
    padding: 0 10px;
  }

  div:last-child a:hover { background-color: #ff8080; }   /* ログアウトボタンのホバー色 */
  /* ヘッダーボタン非活性化時(マウスポインタ矢印). 主に情報ページ */
  .uk-button-default.btn-defactive:hover {
    cursor: default !important;
  }
  .uk-button-primary.btn-defactive:hover {
   cursor: default !important;
  }

}
/* 4. フッター */ /* 枠はfixedで固定 、ボタンは flex で配置かな */
footer {
  position: fixed;
  bottom: 0;
  left: var(--area-left);
  width: var(--info-area-width);
  background-color: #f1f1f1;
  height: 3.5rem;
  border-top: var(--area-border);
  z-index: 30;

  a {
    margin: 8px 0 0 0px !important;
    width: 6em;
    height: 40px;
    padding: unset !important;
   }
  a.uk-button:first-child { margin-left: 8px !important; }
  a.uk-button-default {
    background-color: var(--hf-btn-bgcolor);
    color: white;
  }
  a.uk-button-default:not(.disabled):hover {
    background-color: var(--nav-bgcolor-hover);
    color: white;
  }
  a.disabled { cursor: default !important; }  /* 空ボタンのスタイル */
  a.disabled:hover {
    background-color: var(--nav-bgcolor);
    border: 1px solid #e5e5e5;
  }
}
/* 5. ページメッセージ */
p.page-message {
  position: relative;
  margin: 0;
  width: 100%;
  height: 1.5rem;
}
/* 6. メインコンテンツ */
main {
  width: 100%;
  min-height: var(--default-mainmin-height);
  /*border: 1px solid #e7e7e7;*/

  /* 読み取り専用の背景色. :not()は1行で続ける. checkboxが対象になるとAG-Grid表中のチェックボックスがOnにならない */
  /* select:read-only を指定するとreadonly でなくてもreadonlyと同じ状態になるので削除した */
  input:read-only:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="reset"]):not([type="button"]):not([type="image"]),
  textarea:read-only  {
    background-color: #f1f1f1;
    pointer-events: none;
    cursor: default;
  }

  .input-right { text-align: right; }  /* 入力BOX 文字右寄せ */

  .default-gridlist-height { height: var(--default-gridlist-height); }  /* 一覧画面 AG-Gridのリスト幅 */

}

/* 7. 入力BOXバリデーションエラーのツールチップ表示*/
.tooltip-error {
  background-color: white;
  border: 1px solid var(--form-error-coloer);
  font-size: 0.8rem;
  color: var(--form-error-coloer);
  padding: 5px;
  animation: fadeout 0.5s linear 3s forwards;
}
.tooltip-error:before { /* ツールチップ左側 三角形の表示 */
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  margin-top: -10px;
  border: 10px solid transparent;
  border-right: 10px solid var(--form-error-coloer);
}
@keyframes fadeout {
  0% {
     opacity: 1;
     /*transform: translateX(0);*/
  }
  100% {
     opacity: 0;
     /*transform: translateX(20px);*/
  }
}
.tooltip-error-none { display: none; }  /* エラーなし時のツールチップ非表示 */


/* 8. AG-Grid CSS追加・上書き変更 */
.ag-theme-quartz {
  --ag-background-color: #fff3f3;
}
/* change the font style of a single UI component */
.ag-theme-quartz .ag-header-cell-label {
  font-style: italic;
}


/* 9. ログイン/ニ要素認証 */
.login2fa {
  .align-center { text-align: center !important; }
  .code2fa {  /* QRコード */
    font-size: 2rem !important;
    text-align: center !important;
    width: 10rem !important;
  }
}

/* 10. 例外エラーページ */
.backpage {
  margin: 50px;
}

/*行を一行おきに色を変える*/
/* .ag-theme-quartz .ag-row:nth-child(odd) {
  background-color: rgb(241, 241, 241);
} */