body {
  background: #fcfcfc;
  color: #666666;
  font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Arial, Roboto, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* 全体基準とするフォントサイズ */
html {
  font-size: .9rem;
}

span.require:after {
  color: red;
  content: "*";
}

.error {
  color: #dc3545!important;
  padding-left: .25rem;
}

.custom-switch.custom-switch-lg {
  top: -0.2rem;
}

.custom-switch.custom-switch-lg .custom-control-label {
  padding-left: 0.75rem;
  padding-top: 0.15rem;
}

.custom-switch.custom-switch-lg .custom-control-label::before {
  border-radius: 1rem;
  height: 1.5rem;
  width: 2.5rem;
}

.custom-switch.custom-switch-lg .custom-control-label::after {
  border-radius: 0.65rem;
  height: calc(1.5rem - 4px);
  width: calc(1.5rem - 4px);
}
.custom-switch.custom-switch-lg .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(1rem);
}

.custom-control-input:checked~.custom-control-label::before {
  border-color: #007bff;
  background-color: #007bff;
}

.header {
  border-bottom: 2px solid #191970;
  /* padding: 2rem 0; */
}

.header .logo {
  max-height: 100px;
  /* width: 183px; */
}

.logo {
  margin: .0rem 0;
}

::placeholder {
  color: #bbb!important;
}

.required::after {
  background: red;
  color: white;
  content: "必須";
  /* border: 1px solid red; */
  padding: 0 3px;
  margin-left: 1rem;
  /* margin-right: 1rem; */
  font-size: small;
  font-weight: normal;
  /* vertical-align: super; */
}

.btn-group-check {
  display: none;
}

.btn-group > label.active > .btn-group-check {
  display: inline-block;
}

.btn-group > label.active > .btn-group-default {
  display: none;
}

.no-wrap-body {
  word-break: break-all;
}

/*
  規程幅を超えたら三点リーダで表示する
—————————————————————————————————————————————————————————————*/

.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis a {
  color: #656565;
  text-decoration: underline;
}


/********************************************************************************
 Bootstrap 上書き
********************************************************************************/

/* ジャンボトロンの余白をやや控えめにする */
.jumbotron {
  padding: 2rem;
}

/* ログイン前と合わせる */
.navbar {
  border-bottom: 2px solid #191970;
}

@media only screen and (max-width : 768px) {
  /* トグルボタンで表示されるときは右罫線を隠す */
  #sidebarMenu {
    border: none!important;
    border-bottom: 1px solid #dee2e6!important;
  }
}