/** W3C **/
html {
    height: 100%;
    font-size: 14px;
}
body {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    background-color: #FFF;
    padding: 0;
    color: #000;
}
h1 {
    font-size: 1.5rem;
    margin: 0 0 16px;
    color: #333;
}
h2 {
    font-size: 1.3rem;
    color: #333;
    border-bottom: 1px solid #CCC;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}
h2:before {
    content: " ";
    border-left: 4px solid #1586D1;
    display: inline-block;
    width: 8px;
    height: 1.1rem;
}
h3 {
    font-size: 1.3rem;
    color: #333;
    border-bottom: 1px solid #CCC;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
form {
    margin-bottom: 0rem;
}

hr.blank {
    border: 0;
    overflow: hidden;
    margin: 0 0 2rem;
}
span.blank {
    margin-right: 1rem;
}
span.required {
    color: #FF0000;
    margin-left: 0.5rem;
    position: absolute;
}
.strong {
    font-size: 1.25rem;
}

/** Bootstrap **/
.form-inline .form-group {
    margin-bottom: 4px;
}
.form-inline input[type="file"] {
    display: inline-block !important;
}
.form-horizontal .form-control {
    width: auto;
}
.btn-default {
    background-color: #F0F0F0;
    border-color: #333;
}
.btn-default:hover {
    background-color: #DDD;
    border-color: #333;
}
.btn-danger {
    background-color: #A40016;
    border-color: #66000E;
}
.btn-danger:hover {
    background-color: #C2001A;
    border-color: #66000E;
}
.btn-primary {
    background-color: #1586D1;
    border-color: #0E598B;
}
.btn-primary:hover {
    background-color: #1274B5;
    border-color: #0E598B;
}

.flash {
    position: absolute;
    z-index: 999;
    width: 100%;
    left: 0;
    top: 0;
    margin: 0;
    padding: 8px;
}
.flash span {
    color: #999;
    cursor: pointer;
}
.flash .inner {
    width: 100%;
    opacity: 0.95;
    box-shadow: 2px 2px 8px #999;
    background-color: #FFF;
    left: 0;
    padding: 16px 8px 12px;
    border: 1px solid #333;
    font-weight: bold;
}
.flash.text-success .inner {
    background-color: #f5feff;
    border-color: #3c763d;
}
.flash.text-danger .inner {
    background-color: #ffdfdf;
    border-color: #a94442;
}

.table {
    margin-bottom: 4px;
    font-size: 1rem;
}
.table > thead {
    background-color: #FAFAFA;
}
.table > thead tr th {
    vertical-align: middle;
}
.table > thead td {
    background-color: #4789C0;
    color: #FFF;
    text-align: center;
}
.table > thead td a {
    color: #FFF;
}
.table_fixed {
    table-layout: fixed;
}
.table > thead > tr > td {
    vertical-align: middle;
}
.table > tbody > tr > th {
    background-color: #F6F6F6;
    font-weight: normal;
    text-align: center;
}
.table dl {
    margin-bottom: 0;
}
.table .dl-horizontal dt {
    font-weight: normal;
    width: 10rem;
}
.table .dl-horizontal dd {
    text-align: right;
    margin-left: 10rem;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height 0.2s linear;
    transition: height 0.2s linear;
}

/* paginate */
.page_block {
    overflow: hidden;
    margin: 4px 0;
}
.page_block .count {
    padding: 6px 12px;
    display: inline-block;
}
.page_block .pagination {
    float: right;
    margin: 0;
}
.pagination>li>a,
.pagination>li>span {
    border: none;
}
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    background-color: inherit;
    color: #337ab7;
    font-weight: bold;
}

/** Custom **/
.width_auto {
    width: auto !important;
}
.width_xxs {
    width: 4rem !important;
}
.width_xs {
    width: 6rem !important;
}
.width_sm {
    width: 8rem !important;
}
.width_md {
    width: 10rem !important;
}
.width_lg {
    width: 12rem !important;
}
.width_xl {
    width: 14rem !important;
}
.width_xxl {
    width: 20rem !important;
}
.width_xxxl {
    width: 28rem !important;
}
.width_full {
    width: 100% !important;
}
.width_thumbnail {
    width: 272px;
}
.spacer {
    margin-bottom: 4px !important;
}
.slit {
    margin-right: 2rem !important;
}

.frame {
    margin: 8px 0;
    border: 1px solid #CCC;
    padding: 8px;
    border-radius: 4px;
    overflow: hidden;
}
.frame input[type="file"] {
    display: inline-block;
}
.frame .form-group {
    margin-right: 1rem;
    white-space: nowrap;
    vertical-align: top;
}
.frame .form-control,
.frame .btn {
    margin-bottom: 4px;
}

.panel_items {
    margin-right: -4px;
    margin-left: -4px;
}
.panel_items > div {
    padding-right: 4px;
    padding-left: 4px;
}
.panel_items .item {
    height: 400px;
    border: 1px solid #CCC;
    margin-bottom: 8px;
    padding: 4px;
}
.panel_items .item > a {
    display: block;
    height: 360px;
}
.panel_items .item img {
    max-height: 100%;
}
.panel_items .item .name {
    line-height: 40px;
    white-space: nowrap;
}

.toolbar {
    text-align: left;
    padding: 4px 0;
    overflow: hidden;
}
.toolbar a {
    margin-right: 1rem;
}
.toolbar .command {
    float: right;
}
.toolbar .command a {
    margin-left: 1rem;
    margin-right: 0;
}

.btn_block {
    margin: 24px 0;
}
.btn_block.right {
    text-align: right;
}

.dialog_template {
    display: none;
}
.clickable {
    cursor: pointer !important;
}
.img_thumbnail {
    max-width: 256px;
    max-height: 256px;
}
.fig {
    border: 1px solid #999;
}

.gauge span {
    display: block;
    float: left;
    text-align: center;
    outline: 1px solid #CCC;
    overflow: hidden;
    white-space: nowrap;
}
.gauge span.level1 {
    background-color: #D8F4FF;
}
.gauge span.level2 {
    background-color: #FFEC5E;
}
.gauge span.level3 {
    background-color: #FFC05E;
}
.gauge span.level4 {
    background-color: #FF5050;
}

.table_wrapper {
    position: relative;
}
.table_scroll {
    height: 600px;
    overflow: auto;
}

.soundness4 {
    background-color: #666;
    color: #FFF;
}
.soundness3 {
    background-color: #F2DEDE;
}
.soundness2 {
    background-color: #D9EDF7;
}

/** Header **/
#header {
    background-color: #F0F0F0;
    overflow: hidden;
    border-radius: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #CCC;
    box-shadow: 0 0 4px #999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}
#header .navbar-brand {
    padding: 8px 8px 0;
    color: #333;
}
#header .navbar-brand img {
    height: 44px;
    display: inline-block;
    margin-top: -4px;
}
#header .navbar-text {
    color: #333;
    font-size: 34px;
    margin: 2px 8px 0;
}
#globalmenu {
    border-bottom: 1px solid #666;
    box-shadow: 0 0 4px #999;
    background-color: #FFF;
    padding: 8px;
    position: fixed;
    top: 52px;
    left: 0;
    width: 100%;
    z-index: 9999;
}
#globalmenu ul {
    margin: 0;
}
#globalmenu .items {
    margin-top: 8px;
    font-size: 1.5rem;
}
#globalmenu .items a {
    color: #1586D1;
    margin-right: 2rem;
}
#globalmenu .items a:hover {
    color: #A40016;
    text-decoration: none;
    font-weight: bold;
}
#content {
    position: relative;
    margin-top: 52px;
}
#content > .inner {
    font-size: 1rem;
    margin-right: 8px;
    margin-bottom: 28px;
    width: 100%;
    padding: 16px;
}
#content.has_sidebar > .inner {
    padding: 8px 16px 8px 8px;
    border-left: 240px solid #FAFAFA;
}
.fa.fa-admin:before {
    content: "\f2c2";
}
.fa.fa-editor:before {
    content: "\f2be";
}
.fa.fa-user:before {
    content: "\f2c0";
}
#page_top {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 99;
    margin-bottom: 0;
}
#page_top a {
    color: #337ab7;
    margin: 6px;
    display: block;
    font-size: 32px;
    text-shadow: 1px 1px 4px #CCC;
}
#page_top a:hover {
    text-decoration: none;
    color: #23527c;
}

/** sidebar **/
#sidebar {
    position: fixed;
    top: 54px;
    left: 0;
    width: 240px;
    font-size: 1rem;
    height: 100%;
    border-right: 1px solid #CCC;
    background-color: #FFF;
}
#sidebar h1 {
    background-color: #1586d1;
    padding: 8px;
    overflow: hidden;
    white-space: nowrap;
    font-size: 1.25rem;
    margin: 0;
}
#sidebar h1 a {
    color: #FFF;
}
#sidebar h2 {
    padding: 4px 8px;
    overflow: hidden;
    white-space: nowrap;
    line-height: 2rem;
    font-size: 1rem;
    border: none;
    margin: 0;
}
#sidebar h2:before {
    content: "";
    border: none;
    width: 0;
    height: 0;
    display: block;
}
#sidebar .list-group {
    margin-bottom: 0;
    padding: 4px;
}
#sidebar .list-group .subject {
    background-color: #d6efff;
    padding: 8px 8px;
    font-weight: bold;
    color: #1586d1;
}
#sidebar a.list-group-item {
    padding: 8px 15px;
}
#sidebar .list-group-item.active,
#sidebar .list-group-item.active:focus,
#sidebar .list-group-item.active:hover {
    color: #000;
    font-weight: bold;
    background-color: #fff6d1;
    border-color: #ffcc00;
}

@media (max-width: 767px) {
.width_auto,
.width_xs,
.width_sm,
.width_md,
.width_lg,
.width_xl,
.width_xxl,
.width_xxxl {
    width: 100% !important;
}
.table_fixed {
    table-layout: initial;
}

#globalmenu .items a {
    display: block;
    background-color: #F9F9F9;
    margin: 4px 0 0;
    padding: 4px 8px;
}
}
