/**
 * skin color
 */
.skin-black .sidebar-menu > li > .treeview-menu,
.skin-blue .sidebar-menu > li > .treeview-menu,
.skin-green .sidebar-menu > li > .treeview-menu,
.skin-purple .sidebar-menu > li > .treeview-menu,
.skin-red .sidebar-menu > li > .treeview-menu,
.skin-yellow .sidebar-menu > li > .treeview-menu
{
  background: #f4f4f5;
}
.skin-black .sidebar-menu .treeview-menu > li > a,
.skin-blue .sidebar-menu .treeview-menu > li > a,
.skin-green .sidebar-menu .treeview-menu > li > a,
.skin-purple .sidebar-menu .treeview-menu > li > a,
.skin-red .sidebar-menu .treeview-menu > li > a,
.skin-yellow .sidebar-menu .treeview-menu > li > a
{
  color: #777777;
}
.skin-black .sidebar-menu .treeview-menu > li.active > a,
.skin-blue .sidebar-menu .treeview-menu > li.active > a,
.skin-green .sidebar-menu .treeview-menu > li.active > a,
.skin-purple .sidebar-menu .treeview-menu > li.active > a,
.skin-red .sidebar-menu .treeview-menu > li.active > a,
.skin-yellow .sidebar-menu .treeview-menu > li.active > a,
.skin-black .sidebar-menu .treeview-menu > li > a:hover,
.skin-blue .sidebar-menu .treeview-menu > li > a:hover,
.skin-green .sidebar-menu .treeview-menu > li > a:hover,
.skin-purple .sidebar-menu .treeview-menu > li > a:hover,
.skin-red .sidebar-menu .treeview-menu > li > a:hover,
.skin-yellow .sidebar-menu .treeview-menu > li > a:hover
{
  color: #000000;
}

/* BS4で.col-xs-*が廃止(.col-12に改名)され、幅・位置が崩れる問題の補正 */
.col-xs-12 {
  float: left;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

/* headerのUIの補正 */
.main-header .navbar {
  display: block;
  padding: 0;
}
.main-header .navbar-custom-menu .navbar-nav {
  display: block;
  float: left;
  margin: 0;
}
.main-header .navbar-custom-menu .navbar-nav > li {
  float: left;
}
.main-header .navbar-custom-menu .navbar-nav > li > a {
  position: relative;
  display: block;
  padding: 15px 15px;
  font-size: 14px;
  line-height: 20px;
}
.main-header .navbar-custom-menu .navbar-nav .dropdown-toggle::after {
  display: none;
}
.main-header .sidebar-toggle {
  font-size: 14px;
  line-height: 20px;
}


/* form-horizontal内の.form-groupがBS4でflexコンテナにならず、label/inputが縦積みになる問題の補正 */
@media (min-width: 992px) {
  .form-horizontal .form-group {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
  }
}

/* BS4で削除された.label/.pull-left/.pull-rightをBS3相当で復元(サイト全体の該当箇所に一括適用) */
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}

/* BS4でテーブルのコンテキストクラスが table-info 等に改名され、素の .info が効かなくなった問題の補正 */
.table > tbody > tr.info > td,
.table > tbody > tr.info > th {
  background-color: #d9edf7;
}

/* BS4でcol-*-offset-*がoffset-*-*に改名され、古いクラス名が効かなくなった問題の補正 */
@media (min-width: 992px) {
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
}

/* BS4でmodal-header/modal-footerがflex化し、DOM順序で位置が決まるようになった問題の補正 */
.modal-header {
  display: block;
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  float: right;
  margin-top: -2px;
}
.modal-footer {
  display: block;
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-bottom: 0;
  margin-left: 5px;
}
.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .2;
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: .5;
}

/* BS4で.input-groupがflex化・.input-group-addonが廃止され、枠と位置が崩れる問題の補正 */
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
  display: table-cell;
}
.input-group-addon,
.input-group-btn {
  display: table-cell;
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group .form-control:first-child,
.input-group-addon:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}

/* BS4で.checkbox/.radioコンポーネントが廃止された問題の補正 */
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px;
}
@media (min-width: 768px) {
  .form-horizontal .radio,
  .form-horizontal .checkbox {
    padding-top: 7px;
    margin-top: 0;
    margin-bottom: 0;
  }
}