﻿@charset "utf-8";
html {
  position: relative;
  min-height: 100%;
}
body {
  padding-top: 0px;
  font-size: 12px;
  font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "\6E38\30B4\30B7\30C3\30AF" , "Yu Gothic" , "\6E38\30B4\30B7\30C3\30AF\4F53" , "YuGothic" , "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "\30E1\30A4\30EA\30AA" , Meiryo , "\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF" , "MS PGothic" , sans-serif;
}
.container {
  padding: 0px;
}
p {
  font-size: 14px;
  word-break: break-all;
}
/****** ヘッダー ******/
#header-contents {
  padding: 10px 15px 4px 15px;
  margin: 0;
  border-bottom-left-radius:  6px;
  border-bottom-right-radius:  6px;

}
#main-header {
  margin-top: 0;
}
#logo {
  font-weight: bold;
  font-size: 48px;
}
#logo a:link{
  text-decoration:none;
}

#logo a:visited{
  text-decoration:none;
}
#system-name {
  padding-left: 15px;
  font-size: 28px;
}
#header-btn {
  font-size: 14px;
  width: 110px;
  height: 32px;
  font-weight: bold;
}
#header-btn:active {
  border: none;
}
#main-header-info {
  display: flex;
  flex-direction: column;
  padding-right: 30px;
  font-size: 55%;
}
/****** サイドメニュー ******/
.side-contents {
  width: 15%;
  margin-left: auto;
  margin-right: auto;
  padding: 0px;
}
/*ボックス全体*/
.side-menu {
  margin-top: 24px;
  min-width: 100px;/*最大幅*/
}
/*項目ラベル*/
.side-menu label {
  display: block;
  margin: 1.5px 0;
  padding : 13px 12px;
  font-weight: bold;
  font-size: 12px;
  cursor :pointer;
  transition: all 0.2s;
}
/*アイコンの表示*/
.side-menu label:before {
  content: '\E080';
  font-family: 'Glyphicons Halflings';
  padding-right: 5px;
}
/*チェックボックス非表示*/
.side-menu input {
  display: none;
}
/*中身を非表示にしておく*/
.side-menu .side-menu-show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
/*クリックで中身表示*/
.side-menu-item:checked + label + .side-menu-show {
  height: auto;
  padding: 5px;
  opacity: 1;
}
.side-menu .side-menu-show ul li a {
  font-weight: bold;
}

/*選択中のアイコン*/
.side-menu-item:checked + label:before {
  content: '\e114';
}
/****** フッター ******/
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding:5px;
  /* Set the fixed height of the footer here */
  height: 30px;
}
/****** 全画面共通使用部品 ******/
.width-50 {
  width:50%;
}
.width-60 {
  width:60%;
}
.width-70 {
  width:70%;
}
.width-80 {
  width:80%;
}
.width-90 {
  width:80%;
}
.form-group {
  margin-bottom: 0px;
}
.detail-info .form-group {
  margin-left: 0;
  margin-right: 0;
}
.form-group .form-inline .form-group{
  margin-right: 15px;
  margin-left: 15px;
}

.error-text {
  font-weight: bold;
  text-align: left;
}
.form-error {
  display: grid;
  display: -ms-grid;
  padding-left: 15px;
  margin-left: 16.66%;
}
.form-error.padding-detail {
  padding-left: 5px;
}
.form-error.wide-detail {
  margin-left: 16.66%;
}
/*ボタンデザイン*/
.btn {
  border-radius: 3px;
  vertical-align: middle;
  font-size: 16px;
  height: 60px;
  width: 140px;
}
.btn:visited {
  border: none;
}
.btn-sub {
  height: 45px;
}
/*タイトル部*/
h3.title {
  display: block;
  -webkit-margin-before: 0.83em;
  -webkit-margin-after: 0.83em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 0;
  padding: 9px 8px 9px 8px;
  border-radius: 3px;
  font-size: 123%;
  line-height: 1.4;
}
h3.title span {
  display: block;
  padding: 3px 0 1px 15px;
  _padding: 5px 0 0 10px;
  position: relative;
}
h3.title span:before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 100%;
  border-radius: 3px;
  top: 0;
  left: 0;
}
h4.title {
  display: block;
  -webkit-margin-before: 0.83em;
  -webkit-margin-after: 0.83em;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  margin-bottom: 0;
  padding: 9px 8px 9px 8px;
  border-radius: 3px;
  font-size: 100%;
  line-height: 1.4;
}
h4.title span {
  display: inline-block;
  padding: 3px 0 1px 10px;
  position: relative;
  font-weight: bold;
  letter-spacing: 2px;
}
h4.title span:first-child:before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 100%;
  border-radius: 3px;
  top: 0;
  left: 0;
}
h4.title span.label-optionally {
  background-color:#708AA3;
  font-size:90%;
  padding:3px 8px;
  margin-left: 15px;
}
h4.title span.label-required {
  background-color:#EF5A4F;
  font-size:90%;
  padding:3px 8px;
  margin-left: 15px;
}

.important {
  color: red
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}

/****** 共通部品 ******/
/*コンテンツ*/
.main-content {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  opacity: 8.3;
}
.half-content {
  width: 33%;
  margin-left: auto;
  margin-right: auto;
  padding: 5px;
  position: relative;
}
.search-content {
  position: relative;
  width: 100%;
}
.form-group.button-area {
  margin-right: 0;
  margin-left: 0;
  padding-top: 10px;
  padding-bottom: 0;
  clear: both;
}
/*横並び表示用スタイル*/
.display-inline-block {
  display:inline-block;
  vertical-align: top;
  width: 100%;
}
/*詳細表示用スタイル*/
.display-detail-block {
  font-size: 100%;
  width: 100%;
}
.info-group-multiple {
  display: flex;
  box-sizing: border-box;
}
.info-group-multiple .info-detail-line .detail-name{
  width: 33.3%;
}
.info-group-multiple .info-detail-line .detail-info{
  width: 66.7%;
}
.info-group-single {
  display: flex;
}
.info-group-multiple > div:first-child {
  width: 25%;
}
.info-group-multiple > div:last-child {
  width: 75%;
}
.detail-group-name {
  padding: 7px 5px 0px 5px;
  max-width: 100%;
  font-weight: 700;
  vertical-align: middle;
}
.info-detail-line {
  display: flex;
  box-sizing: border-box;
  width: 100%;
}
.detail-name {
  padding: 7px 5px 0px 5px;
  box-sizing: border-box;
  margin-bottom: 0;
  font-size: 90%;
  max-width: 100%;
  min-height: 34px;
  font-weight: 700;
  width: 100%;
}
.detail-info {
  padding: 7px 5px 5px 5px;
  margin-bottom: 0;
  max-width: 100%;
  min-height: 34px;
  height: 100%;
  width: 100%;
}
.detail-info p {
  margin-bottom: 0px;
}

/*条件検索部用のスタイル*/
.search-content .search-block .info-detail-line .detail-name {
  width: 30%;
}
.search-content .search-block .info-detail-line .detail-info {
  width: 70%;
}

.table>tbody>tr>th {
  display: table-cell;
  vertical-align: middle;
  white-space: nowrap;
}
.table>tbody>tr>th {
  display: table-cell;
  vertical-align: middle;
  white-space: nowrap;
}
.with-errors {
  display: inline;
}
.table-no-border {
  border: none;
}
.table-no-border>tbody>tr>th {
  border: none;
}
.table-no-border>tbody>tr>td {
  border: none;
}
.table-no-deco>tbody>tr>td:last-child{
  padding-right: 20px;
  text-align: right;
}
.table-no-deco>tbody>tr>td>p {
  font-size: 115%;
}
.table-no-deco>tbody>tr>th{
  text-align: left;
  font-size: 115%;
}
.th-deco {
  text-align: center;
}

/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.menubar {
  margin: 0px;               /* メニューバー外側の余白 */
  padding: 0px 15px 0px 15px; /* メニューバー内側の余白 */
}

/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.menubar li {
  display: inline-block;  /* 横並びに配置する */
  list-style-type: none;  /* リストの先頭記号を消す */
  position: relative;     /* サブメニュー表示の基準位置にする */
  z-index: 3;
}

/* メニュー項目の横幅(項目が4つの場合) */
.menu:first-child:nth-last-child(4),
.menu:first-child:nth-last-child(4) ~ .menu {
  width: calc((100% - 28px) / 4);
}
/* メニュー項目の横幅(項目が5つの場合) */
.menu:first-child:nth-last-child(5),
.menu:first-child:nth-last-child(5) ~ .menu {
  width: calc((100% - 28px) / 5);           /* メニュー項目の横幅 */
}
/* メニュー項目の横幅(項目が6つの場合) */
.menu:first-child:nth-last-child(6),
.menu:first-child:nth-last-child(6) ~ .menu {
  width: calc((100% - 28px) / 6);           /* メニュー項目の横幅 */
}
/* メニュー項目の横幅(項目が7つの場合) */
.menu:first-child:nth-last-child(7),
.menu:first-child:nth-last-child(7) ~ .menu {
  width: calc((100% - 28px) / 7);           /* メニュー項目の横幅 */
}
/* メニュー項目の横幅(項目が8つの場合) */
.menu:first-child:nth-last-child(8),
.menu:first-child:nth-last-child(8) ~ .menu {
  width: calc((100% - 28px) / 8);           /* メニュー項目の横幅 */
}

ul.menubar > li > ul {
  width: 100%;           /* メニュー項目の横幅 */
}
ul.menubar > li > ul > li {
  width: 100%;           /* メニュー項目の横幅 */
}

ul.menubar a {
  line-height: 40px;         /* メニュー項目のリンクの高さ */
  text-align: center;        /* メインメニューの文字列の配置 */
  text-decoration: none;     /* メニュー項目の装飾 */
  font-weight: bold;         /* 太字にする */
  display: block;            /* 項目内全域をリンク可能にする */
}

.money{
  text-align:right;
}

.date{
  text-align:left;
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.menubar ul {
  display: none;       /* 標準では非表示にする */
  margin: 0px;         /* サブメニュー外側の余白 */
  padding: 0px;        /* サブメニュー内側の余白 */
  position: absolute;  /* 絶対配置にする */
}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */   /* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.menubar li:hover ul {
  display: block;      /* マウスポインタが載っている項目の内部にあるリストを表示する */
}

ul.menubar > li > a:before {
  content: '\E259';
  font-family: 'Glyphicons Halflings';
  padding-right: 5px;
}

/* -------------------- */
/* ▼sticky-stateを使用したstickyテーブルの装飾 */
/* -------------------- */

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  display: table;
  width: 1170px !important;
  border-collapse: collapse;
}
.sticky thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.sticky div{
  display: table-cell;
  vertical-align: middle;
  white-space: nowrap;
  padding: 8px;
  line-height: 1.42857143;
  font-weight: bold;
}

.sticky.sticky-fixed.is-sticky {
  margin-top: 0;
  margin-bottom: 0;
  position: fixed;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}

.sticky.sticky-fixed.is-sticky:not([style*="margin-top"]) {
  margin-top: 0 !important;
}
.sticky.sticky-fixed.is-sticky:not([style*="margin-bottom"]) {
  margin-bottom: 0 !important;
}

.sticky.sticky-fixed.is-absolute{
  position: absolute;
}

.table>tbody>tr>td {
  word-break: break-all;
}

.total-count {
  margin-top: 5px;
}

.sticky-wrap + table, .sticky + table {
  width: 1170px;
  max-width: 1170px;
}
