/** ===============================
 * 
 * FSP追加 CSS
 * 
 * ================================
 */
body {
/*    font-size: 13px;*/
    font-family: "Open Sans",Meiryo,"メイリオ",Arial,sans-serif;
}

.content-header h1 {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0;
    color: #6b6b6b;
}

.form-control,.btn {
    font-size: 0.9rem;
}

.input-group-text {
    background-color: #fff;
}

hr {
  border-top: 1px dashed #ced4da;
  border-bottom: 1px dashed #fff;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.form-control:focus,.input-file-group input:focus,[class*=icheck-]>input:focus+label {
    background-color: #daecff;
}

.bootstrap-switch input[type=checkbox], .bootstrap-switch input[type=radio] {
    visibility: visible; 
    -webkit-appearance: none;
    appearance: none;
}

@media (min-width: 992px){
.col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 {
    float: left;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
}
}

/*------------------------------------

           表示/非表示

--------------------------------------*/
.hide {
    display:none;
}
.show {
    display:block;
}

/*------------------------------------

           テーブル

--------------------------------------*/
.table-bordered th {
    padding: .4rem .55rem;
}

.table-bordered td {
    padding: .2rem .55rem;
}

.bootstrap-datetimepicker-widget table th {
    padding: .4rem .25rem;
}
.bootstrap-datetimepicker-widget table td {
     padding: .2rem .25rem;
}

.table-responsive table.table-bordered {
    margin-bottom: 0;
}
table.table-bordered thead tr,
table.table-bordered tbody tr th,
table.table-bordered tfoot tr th{
    background-color:#f3f3f3;
    vertical-align: middle;
}
table.table-bordered thead tr {
    text-align: center;
}
table.table-bordered tbody tr td {
    vertical-align: middle;
}

/*------------------------------------

           メニュー

--------------------------------------*/
.sidebar .nav-sidebar .nav-item {
    margin-left: .5em;
    line-height: 1.2;
}
.sidebar .nav-sidebar .nav-item .nav-icon {
    vertical-align: top;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link {
    background-color: inherit;
    color: #fff;
}

/*------------------------------------

           パンくずリスト

--------------------------------------*/
.navbar-breadcrumb {
    display:-ms-flexbox;
    display:flex;
    list-style:none;
    line-height:2.5rem;
    margin-left:-1em;
}

/*------------------------------------

	上部表示メッセージ

--------------------------------------*/
.msg-danger , .msg-warning , .msg-info , .msg-success { padding: 5px 10px; font-size: 0.85rem; margin-bottom: 15px; list-style: disc; list-style-position: inside; }

/*メッセージ danger(赤)*/
.msg-danger { background: #fff0f0; border: 2px solid #f00; color: #f00; }

/*メッセージ warning(黄)*/
.msg-warning { background: #fafad2; border: 2px solid #db8b0b; color: #db8b0b; }

/*メッセージ info(青) */
.msg-info { background: #f0f8ff; border: 2px solid #00a7d0; color: #00a7d0; }

/*メッセージ success(緑)*/
.msg-success { background: #ddf7dd; border: 2px solid #008d4c; color: #008d4c; }

.msg-danger li , .msg-warning li , .msg-info li , .msg-success li { list-style: disc; text-align: left; list-style-position: inside; margin: 5px 0; }

/*------------------------------------

	フォーム要素に表示するエラー

--------------------------------------*/
input[type="text"].err, input[type="email"].err, input[type="tel"].err, input[type="search"].err, input[type="password"].err, input[type="url"].err, input[type="number"].err, select.err, textarea.err { background: #FFCACB; border: 1px solid #D00; }

.input_box { position: relative; box-sizing: border-box; }

.input_box.err input[type="text"], .input_box.err input[type="email"], .input_box.err input[type="tel"], .input_box.err input[type="search"], .input_box.err input[type="password"], .input_box.err input[type="url"], .input_box.err input[type="number"], .input_box.err select, .input_box.err textarea { background: #FFCACB; border: 1px solid #D00; }
.input_box.err .note-editor { border: 1px solid #D00; }
.input_box.err .note-editor.note-frame .note-editing-area .note-editable { background: #FFCACB; }

.input_box.err .err_txt { position: relative; bottom: 4px; left: 10px; display: table-cell; background: #D00; padding: 8px 10px; color: #FFF; font-weight: bold; font-size: 0.75rem; line-height: 1.2; width: max-content; }
.input_box.err .err_txt::before { content: ""; position: absolute; top: -16px; left: 20px; margin-left: -8px; border: 8px solid transparent; border-bottom: 8px solid #D00; }



/*------------------------------------

	ページャー

--------------------------------------*/
.pagination .page-link {
    position: relative;
    display: block;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
}
.pagination .active {
    color: #fff;
    background-color: #007bff;
}
.pagination .pre {
    /* 追加してください */
}
.pagination .next {
    /* 追加してください */
}

/*------------------------------------

    ローディング

--------------------------------------*/
.loader-pr {
  position: relative;
}
.loader-bg {
  opacity:0.6;
  background-color: #FFF;
  width:100%;
  height:100%;
  z-index: 9998;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 1.4em;
  height: 1.4em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #666;
  font-size: 10px;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
  z-index: 9999;
  /* 中央位置指定 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}


/*------------------------------------

    ファイルアップロードフォーム

--------------------------------------*/
.input-file-group .input-file {
    display: none;
}
.input-file-group label {
    font-weight: normal !important;
}
.input-file-group .input-file-text.active {
    cursor: pointer;
    text-decoration: underline;
}
.input-file-group .input-file-reset {
    cursor: pointer;
    font-size: 1.2em;
}

/*------------------------------------

            ボタン

--------------------------------------*/
.btn-default {
    background-color: #f3f3f3;
}
.btn-outline-default {
    color: #444;
    background-color: #f8f9fa;
    border-color: #ddd;
}
.btn-outline-default.active, .btn-outline-default:hover {
    color: #fff;
    background-color: #007bff;  /* primary color */
    border-color: #007bff;    /* primary color */
}
.btn.disabled,.btn:disabled{
    opacity:.30;
    box-shadow:none
}
/*------------------------------------

            Datetimepicker 

--------------------------------------*/
.datepicker-days th.dow:last-child,
.datepicker-days td:last-child {
    color: #00f;
}
.datepicker-days th.dow:first-child,
.datepicker-days td:first-child {
    color: #f00;
}


/*------------------------------------

           登録フォーム

--------------------------------------*/
form h1 { 
  color: #010079;
  font-size: 1.1rem;
  text-shadow: 0 0 5px white;
  border-left: solid 7px #010079;
  background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
  padding : .7rem .5rem;
  margin-bottom: 1.5rem;
}

form h3 { 
    color: #03517f;
    font-size: 1.0rem;
    text-shadow: 0 0 5px white;
    border-bottom: solid 2px #03517f;
    padding: .5rem .5rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
}

form section {
    margin-bottom: 2.5rem !important;
}

/*------------------------------------

    行ホバー時に背景色を変更するテーブル

--------------------------------------*/
.table-hover tr:hover {
    cursor: pointer !important;
}
.card-primary .table-hover tr:hover {
    background-color: #d7ecff !important;
}

/*------------------------------------

	背景色

--------------------------------------*/
.bg_blue { background: #d7ecff;}
.bg_green { background: #ddf7dd;}
.bg_yellow { background: #fafad2;}
.bg_gray { background: #eee !important;}

/*------------------------------------

	要素の表示/非表示切替

--------------------------------------*/
.display-handler {
    float:right; 
    cursor:pointer;
    font-size:1.6em;
    line-height: 1em;
}
.display-handler:hover {
    color:#007bff;
}

/************************************************

	Margin Padding

*************************************************/
.m10 { margin: 10px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.ml5 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }
.p10 { padding: 10px !important; }
.p12 { padding: 12px !important; }
.p20 { padding: 20px !important; }
.pt10 { padding-top: 10px !important; }
.pb10 { padding-bottom: 10px !important; }
.pl20 { padding-left: 20px !important; }
.pl40 { padding-left: 40px !important; }

/*------------------------------------

    患者登録処理ステップメニュー

--------------------------------------*/
.stepbar {
	position: relative;
	list-style: none;
	padding: 0;
	text-align: center;
	width: 100%;
	overflow: hidden;
	margin-bottom: 0;
}
.stepbar li {
	position: relative;
	float: left;
	display: inline-block;
	line-height: 50px;
	padding: 0 40px 0 20px;
	background-color: #eee;
	box-sizing: border-box;
/*	font-size: 1.0rem;*/
	font-weight: bold;
	width: 20%;
}
.stepbar li::before {
	bottom: 0;
	transform: skew(-23deg);
}
.stepbar li::after {
	top: 0;
	transform: skew(23deg);
}
.stepbar li:first-child:before, .stepbar li:first-child:after {
	content: none; 
}
.stepbar li::before, .stepbar li::after {
	position: absolute;
	left: -15px;
	display: block;
	content: '';
	background-color: #eee;
	border-left: 4px solid #fff;
	width: 20px;
	height: 25px;
}
.stepbar li.current {
	color: #FFF;
	background-color: #007bff;
}
.stepbar li.current:before, .stepbar li.current:after {
	background-color: #007bff;
}