
body {
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

table, label {
  font-size: 12px;
}

hr {
  margin-top: 0;
}

input[type=text]:focus {
  outline: none;
}

table {
  table-layout: fixed;
}

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

.ime-off {
  ime-mode: disabled;
}

.error {
  background-color: #ffc0cb !important;
}

input::-ms-clear {
  display: none;
}

.page-title {
  margin-bottom: 30px;
}

.block {
  border: 1px solid #ccc;
  margin: 0 0 1em 0;
  padding-left: 4px;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.title {
  text-align: right;
}

.title label {
  height: 40px;
  line-height: 30px;
  margin-bottom: 0;
}

.row .title.span1:first-child {
  width: 90px !important;
}
.row .offset1:first-child {
  margin-left: 130px;
}

p.block-header {
  color: #fff;
  background: #2c3e50;
  display: block;
  margin-left: -4px;
  padding: 0.3em 1em;
  outline: none;
}

p.block-header .inner-labels {
  float:right;
}

p.block-header .inner-labels .inner-label {
  font-size: 12px;
  margin-right: 15px;
}

p.block-header .inner-labels .inner-label span {
  font-weight: bold;
  text-decoration:underline;
}

.block hr {
  margin-left: 10px;
  margin-right: 10px;
}

.close-btn {
  color: #fd8585;
  padding: 0;
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
  background: transparent;
}

input[type=text], select, textarea {
  color: #2c3e50;
}

input[type=text], select, textarea {
  color: #2c3e50;
}

.alert-success {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.alert-success h4 {
  color: #468847;
}

.alert-danger,
.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.modal-header {
 padding-top: 5px;
 padding-bottom: 5px;
}

.modal h4 {
  margin: 5px 0;
  font-size: 15px;
}

textarea,
input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"],
input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"],
input[type="tel"], input[type="color"], .uneditable-input {
  border-width: 1px;
}

.datepicker-dropdown.dropdown-menu {
  background-color: #fff;
}

@media print {
  a[href]::after {
    content: "" !important;
  }
  #clear {
    pointer-events: none;
    cursor: default;
  }
  /* 印刷時はヘッダーを非表示 */
  .navbar,
  .navbar-fixed-top {
    display: none !important;
  }
  body {
    padding-top: 0 !important;
  }
  /* フッターをブロックごとに分割しない */
  #footer {
    page-break-inside: avoid;
  }
}

/* disabled の入力欄の文字色もグレーにしない */
input[disabled],
textarea[disabled],
select[disabled] {
  color: #2c3e50 !important;  /* 通常と同じ色にする例 */
}

/* footer（フレックスレイアウト版） */
#footer {
  margin-top: auto;
  background-color: #cfeadf;
  border-top: 1px solid #b5d2c5;
  font-size: 12px;
  color: #000000;
}

#footer .footer-layout {
  display: flex;
  padding: 10px 0;
  position: relative;
}

#footer .footer-column-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

#footer .footer-column {
  flex: 1;
}

/* 左：問い合わせ先ブロック */
#footer .footer-column-left {
  text-align: left;
}

#footer .footer-column-center a {
  color: #000000;
  text-decoration: underline;
}

/* 右：コピーライトを右下寄せ */
#footer .footer-column-right {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  text-align: right;
}

#footer .footer-column-right .footercopyright {
  font-size: 11px;
}