/** ベース
---------------------------------------------------------*/
html {
    font-size: 62.5%;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1.4;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    background-color: #fff;
    color: #555;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/** Webfont
---------------------------------------------------------*/
.fa {
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

i.fa {
    margin-right: 5px;
}

.custom-search-form i.fa {
    margin-right: 0 !important;
}

/** input
---------------------------------------------------------*/
input[readonly] {
    cursor: default;
}

input.hasDatepicker {
    cursor: pointer;
}

input[type=checkbox] {
    cursor: pointer;
    background-color: #fff;
    height: 20px;
    width: 20px;
    vertical-align: middle;
    margin: -3px 0 0 0;
}

/** table
---------------------------------------------------------*/
table {
    width: 100%;
}

thead th {
    background-color: #337ab7;
    color: #fff;
}

th {
    padding: 10px;
    border: 1px solid #ccc;
    text-align: center;
}

td {
    padding: 10px;
    border: 1px solid #ccc;
}

.table > tbody > tr > td {
    vertical-align: middle;
}

.table > thead > tr > th {
    border-bottom: 1px solid #ccc !important;
}

/** ログイン
---------------------------------------------------------*/
.login-panel {
    width: 400px;
    padding: 20px;
}

/** サイドバー
---------------------------------------------------------*/
.sidebar {
    position: fixed !important;
}

/** main
---------------------------------------------------------*/
main {
    padding: 80px 30px 30px !important;
}

/** 検索エリア
---------------------------------------------------------*/
.custom-search-form {
    width: 50%;
}

.item-selection > .form-group {
    width: 48%;
}

.item-selection dl,
.log-item-list dl {
    display: table;
}

.item-selection dt,
.log-item-list dt {
    width: 100px;
    background-color: #337ab7;
    color: #fff;
    border-radius: 3px 0 0 3px;
}

.item-selection dt.school-select {
    background-color: #337ab7;
}

.item-selection dt.album-select {
    background-color: #337ab7;
}

.item-selection dd,
.log-item-list dd {
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 0 3px 3px 0;
}

.item-selection dt,
.item-selection dd {
    padding: 5px;
    display: table-cell;
}

.log-item-list {
    margin-top: 0 !important;
}

.log-item-list dl {
    display: flex;
}

.log-item-list dt,
.log-item-list dd {
    padding: 5px;
}

.log-item-list dd {
    margin-right: 10px;
}

/**
---------------------------------------------------------*/
.panel {
    margin-top: 30px;
}

h2.panel-title {
    margin-top: 5px;
    font-size: 2rem;
}

/**
---------------------------------------------------------*/
.fa-no-margin {
    margin-right: 0 !important;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/** ダイアログ
---------------------------------------------------------*/
.modal.fade {
    overflow-y: scroll;
}

.modal-body {
    padding: 30px 15px;
}

.modal-body .form-group {
    width: 100%;
    display: table;
}

.modal-body .form-group label {
    width: 80px;
}

.modal-body .form-group label,
.modal-body .form-group .form-control {
    display: table-cell;
}

/** サイドバー
---------------------------------------------------------*/
.sidebar ul li a.active {
    background-color: #ffb244;
    color: black;
}

/** ローディング
---------------------------------------------------------*/
#loading {
    display: table;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    opacity: 0.8;
    z-index: 1000000;
}

#loading .loadingMsg {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding-top: 140px;
    background: url("../img/loading.gif") center center no-repeat;
}

/* 一覧ヘッダ固定
---------------------------------------------------------- */
.table-header-fixed th {
    position: relative !important;
}

/* エラーメッセージ
---------------------------------------------------------- */
.error-message {
    color: red;
}

#school-search-box, #album-search-box,
.search-box, .input[readonly].search-box, .form-control[readonly].search-box,
.album-dg-search-box, .input[readonly].album-dg-search-box, .form-control[readonly].album-dg-search-box,
.form-control.file-box, .form-control[readonly].file-box, .file-box, .input[readonly].file-box,
.form-control.hasDatepicker, .form-control[readonly].hasDatepicker, .hasDatepicker, .input[readonly].hasDatepicker {
    background-color: #fff;
    cursor: pointer;
}