/*-------------------------
  ヘッダー
-------------------------*/
header {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 150px;
  vertical-align: middle;
  justify-content: space-between;
  align-items: center;
  min-width: 800px;
}

/* ヘッダーの上部 */
.header-top {
  margin: 20px 0px;
}

/* ヘッダーの下部ログアウトなど */
.header-bottom {
  text-align: right;
  margin-bottom: 3px;
}

/* ロゴ */
header .logo a {
  padding: 0 20px;
  color: #0c7447;
  font-size: 25px;
  letter-spacing: 0.2em;
}

header .version {
  color: #333333;
  font-weight: bold;
  font-size: 20px;
}

/* ロゴにカーソルを合わせたとき */
header .logo a:hover {
  opacity: 0.7;
}

/* ログイン情報とログアウト */
.header-item {
  height: 20px;
  margin-left: 10px;
  padding: 5px;
  color: #333333;
  font-weight: bold;
  font-size: 13px;
}

/* ログアウトのリンク */
.header-item a {
  color: #333333;
}

/* ログアウトにカーソルを合わせたとき */
.header-item a:hover {
  opacity: 0.7;
}

/*-------------------------
  メニュー
-------------------------*/
nav {
  width: 100%;
  height: 45px;
  margin: 0;
  padding: 0;
  background: #0c7447;
}

/* メニューリスト */
nav ul {
  margin: 0;
  padding: 0;
}

nav li {
  float: left;
  width: 200px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

/* メニューリンク */
nav li a {
  display: block;
  width: auto;
  margin: 0;
  padding: 12px 0;
  color: #ffffff;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
}

/* メニューリストにカーソルを合わせた時 */
/* リスト */
nav li:hover {
  background: #2d8449;
}

/* リンク */
nav li a:hover {
  color: #ffffff;
  text-decoration: none;
}

/* メニューのサブ項目 */
.menusub {
  display: none;
}

.menusub.submenuopen {
  display: block;
}

.menusub li {
  background: #f5fff5;
  width: 100%;
  z-index: 1000;
}

.menusub li a {
  color: #7e7e7e;
  text-decoration: none;
}

.menusub li a:hover {
  color: #7e7e7e;
  background: #d8ecd6;
}

/* 表示中のページのメニューは色を変える */
.menusub li a.active {
  color: #ffffff;
  background: #96c5a5;
}

/*-------------------------
  メイン
-------------------------*/
/* ページタイトル */
.title {
  margin-top: 10px;
  margin-bottom: 5px;
  font-size: 28px;
  font-weight: bold;
}

/* サブタイトル */
.subtitle {
  margin-top: 5px;
  margin-bottom: 1px;
  font-size: 23px;
  font-weight: bold;
}

/* 入力欄 */
.form-control,
.form-select,
.form-check-input,
.input-group-text {
  border: 1px solid gray;
}

.form-control {
  background: none;
}

/* 検索機能付きプルダウン（select2）の設定 */
/* プルダウンの文字 */
.select2-selection--single .select2-selection__rendered {
  line-height: 37px !important;
}

/* プルダウン本体 */
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
  border: solid 1px gray;
  border-radius: 6px;
  border-width: 1px;
  background: none;
}

.select2-container .select2-selection--single {
  height: 38px;
}

/* フォーム用のラベルがあるプルダウンは左上下の角の丸みをなくす */
.has-form-label>.select2-container .select2-selection--single {
  border-radius: 0px 6px 6px 0px;
}

/* プルダウンの矢印 */
.select2-selection__arrow {
  height: 40px !important;
}

/* テーブル内のtextareaは、デフォルトで1行表示とする */
table textarea {
  height: 1px;
}

/* 必須入力マーク */
.required::after {
  content: "＊";
  color: red;
  vertical-align: middle;
}

/* 条件により必須入力マーク */
.required-has-criteria::after {
  content: "＊";
  color: orange;
  vertical-align: middle;
}

/* ボタンアイコン */
/* 削除 */
.delete-button-image {
  background-image: url(../icon/trash.png);
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  margin-bottom: 1px;
}

/* コピー */
.copy-button-image {
  background-image: url(../icon/copy.png);
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  margin-bottom: 1px;
}

