@charset "UTF-8";
/*--------------------
画面共通
----------------------*/
html { overflow-x: auto; }
body { font-size: 80%; height: 100%; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important; }
.errorField { color: #ff0000; padding: 10px; background-color: #f3d9d9; border: 1px solid; margin-bottom: 10px; border-left: 5px solid; }
/*完了・成功表示*/
.successField { padding: 10px; text-align: left; margin-bottom: 10px; background-color: #eaf1ff; color: #0400ff; }

.mainContainer { margin-top: 20px; min-height: calc(100vh - 120px); } 

.required::after {
    content: "必須";
    color: #ffffff;
    background: #cc0000;
    font-size: 0.8em;
    padding: 0.3em;
    border-radius: 0.5em;
    margin-left:0.3em;
}


/*--------------------
ヘッダー
----------------------*/

/*--------------------
フッター
----------------------*/
.footer { padding: 10px; height: 50px; }


/*------------------------------------------------------------
テーブル
-------------------------------------------------------------*/
.table th { background-color: #ebebeb; vertical-align: middle; }
.table td { vertical-align: middle; }

/*------------------------------------------------------------
ページャー
-------------------------------------------------------------*/
.pager { margin: 10px; }
.pager ul { display: flex; align-items: center; justify-content: center; }
.pager li { display: inline-block; width: 30px; height: 30px; margin: 0 2px; padding: 0; }
.pager li a { border-radius: 5px; color: #fff; background-color: #3850b7; font-weight: bold; width: 100%; height: 100%; text-align: center; display: flex; align-items:center; justify-content: center; text-decoration: none; }
.pager li.prev, .pagination li.next { display: inline-block; width: 30px; height: 30px; text-align : center; }
.pager li a span { display: table-cell; vertical-align: middle; }
.pager li a:hover, .pager li a.active { background-color: #3850b7; color: #FFF; }
.pager .pager-current span { border-radius: 5px; color: #fff; background-color: #b5b5b5; font-weight: bold; width: 100%; height: 100%; text-align: center; display: flex; align-items:center; justify-content: center; text-decoration: none; }

/*--------------------
検索条件エリア
----------------------*/
.searchCond {
    width: 100%;
    position: relative;
}

.searchCond a {
    display: block;
    padding: 15px;
    text-decoration: none;
    color: #000;
}

.searchCond label {
    display: block;
    padding : 10px 15px;
    color :#fff;
    background : #003f69;
    cursor :pointer;
}

#searchCondBox {
    display: none;
}

.searchCond ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.searchCond #links01 {
    height: 0;
    overflow: hidden;
}

#searchCondBox:checked ~ #links01 {
    height: auto;
    opacity: 1;
}

.accordion-open::before,
.accordion-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #fff;
  position: absolute;
  top: 20px;
  right: 10px;
  transform: translateY(-50%);
}
.accordion-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}
.accordion:checked + .accordion-open:after {
  transform: translateY(-50%) rotate(0);
}