@charset "UTF-8";


#container{
    padding-bottom:65px;
    text-align:left;
    width:100%;
}

.box_container{
    width:980px;
    margin-left:auto;
    margin-right:auto;
    position: relative;
}

/****************************************************/
/**   コンテンツ    **/
/****************************************************/
#contents{
    padding-top: 30px;
    padding-left: 15px;
    padding-right: 15px;
}

#contents section{
    margin-bottom: 50px;
}

#contents section.master_contents{
    max-width: 700px;
    margin: 0 auto;
}

#contents section > *,
#contents section form > *{
    margin-bottom:15px;
}

#contents h2{
    width:100%;
    font-size: 1.1em;
    border-bottom: #000000 solid 1px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#contents h3{
    font-size: 1.5em;
    border-left: #000000 5px solid;
    padding-left: 10px;
}

#contents div.names{
    float: left;
}

#contents h3 > span{
    display: inline-block;
    font-size: 0.8em;
    margin-left: 10px;
}

#contents h4{
    font-size: 1.0em;
    border: #9400d3 1px solid;
    padding-left: 10px;
    color: #000000;
}

/****************************************************/
/**   リスト    **/
/****************************************************/
ul.basic_info {
    display: inline-block;
    vertical-align: top;
    border: #A9A9A9 1px solid;
    border-radius:5px;
}

ul.basic_info li {
    display: inline-block;
    padding: 2px 5px 0px 5px;
    margin: 2px 0px 2px 0px;
}

.li_label {
    width: 80px;
    background-color: #efefef;
    font-size: 80%;
    text-align: center;
    vertical-align: middle;
}
.li_text {
    font-size: 90%;
    width: 100px;
}


/****************************************************/
/**   テーブル    **/
/****************************************************/
table{
    background:#b4b5b5;
    border-collapse:separate;
    border-spacing:1px;
    width:100%;
    font-size:12px;
}

table.master_table th{
    text-align: center;
    vertical-align: middle;
}

table th{
    background-color:#efefef;
    box-sizing:border-box;
    padding:3px;
    vertical-align:top;
    color: #000000;
}

table td{
    background:#FFFFFF;
    box-sizing:border-box;
    padding:1px;
    vertical-align:middle;
}

table.thin_table th,
table.thin_table td{
    padding:6px 4px;
}

input[type="button"]{
    cursor: pointer;
    color: #FFFFFF;
    background: #4682b4;
    border-radius: 3px;
}
input[type="button"]:hover{
    opacity: 0.65;
}

ul li > input[type="button"]{
    min-width:60px;
    margin-top:10px;
}

table td > input[type="button"],
input[type="button"].btn_normal_design{
    border: none;
    min-width:60px;
    box-sizing: border-box;
    padding: 2px 2px;
    width: auto;
}

table td > input[type="button"]:disabled,
input[type="button"].btn_normal_design:disabled{
    opacity: 0.6;
}

table tr.disable_tr td > input[type="button"]{
    background: #666666;
    /*margin-bottom: 2px;*/
}

table tr.disable_tr > td{
    background-color:#b0b0b0 !important;
    /*padding-bottom: 2px;*/
}

td input.integer{
    width:30px !important;
    text-align: right;
    ime-mode:disabled;
}

td input.txt{
    ime-mode:active;
    width:100%;
}

td input.kana{
    ime-mode:active;
}


table.detail_table{
    table-layout: auto;
}
table.detail_table th{
    text-align: center;
    vertical-align: middle;
}
table.detail_table td{
    text-align: left;
    vertical-align: top;
    height: auto;
    width: auto;
}
td textarea{
    ime-mode:active;
    resize:none;
    border:none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /*margin-bottom: -8px;*/
}
td textarea.txt_row{
    /*height:200px;*/
    /*width:300px;*/
    height:auto;
    width:100% !important;
}
td textarea.txt_area_parts{
    width:auto !important;
}

div.table_wrap{
    width:100%;
    overflow: auto;
}

._sticky {
  position: sticky;
  left: 0;
  z-index: 1;
}
._sticky.th_00 {
  top: 0;
}
._sticky.th_40 {
  top: 40px;
}
._sticky::before {
  pointer-events: none;
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
}

._sticky.zi_02 {
  z-index: 2;
}

._sticky.clm_lf_65 {
   left: 65px;
}

.sticky_table thead th {
    /* 縦スクロール時に固定する */
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    /* tbody内のセルより手前に表示する */
    z-index: 1;
}


/****************************************************/
/**   ボタン    **/
/****************************************************/
/* テーブルヘッダのソートボタン start */
.sort_arrow {
    cursor: pointer;
    font-size:30px;
    width: 25px;
    height: 25px;
    color: #808080;
}
.fa-sort-asc {
    padding-right: 0px;
    vertical-align: middle;
}
.fa-sort-desc {
    padding-left: 0px;
}
/* テーブルヘッダのソートボタン end */

.buttons{
    float:right;
    width: auto;
    position: relative;
}

.buttons > li,
.buttons > input{
    width: 125px;
    height: 50px;
    float: left;
    margin-left: 10px;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.buttons #btn_add::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f067' ' 追加';
}
.buttons #btn_upload::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f093' ' 入力';
}
.buttons #btn_output::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f019' ' 出力';
}
.buttons #btn_save::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f0c7' ' 保存';
}
.buttons #btn_delete::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f2ed' ' 削除';
}
.btn_copy::after{
    font-family: 'FontAwesome';

    content: '\f0c5' ' COPY';
}
.buttons #btn_calc::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f1ec' ' 集計';
}
.buttons #btn_login::after{ content: 'ログイン'; font-size: 100%; }
.buttons #btn_back::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f112' ' 戻る';
}
.buttons #btn_prev::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f100' ' 前月';
}
.buttons #btn_next::after{
  font-family: 'FontAwesome';
  font-weight: normal;
  content: '翌月 ' '\f101';
}
.buttons #btn_sentaku::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f046' ' 全選択';
}
.buttons #btn_output_all::after{
    font-family: 'FontAwesome';
    font-weight: normal;
    content: '\f019' ' 一括出力';
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

.bs_submitWrapper {
    width: 45%;
    margin: 0 auto;
    margin-bottom:25px;
}
.bs_circleBtnWrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  height: 40px;
  background-color: #a9a9a9;
  border-radius: 25px;
  cursor: pointer;
  overflow: hidden;
  position: relative;
}

.bs_circleBtnWrapper::before {
  position: absolute;
  content: "";
  z-index: 0;
  width: 140%;
  height: 100%;
  background: #9400d3;
  top: 0;
  right: 120%;
  transform: skewX(-20deg);
  transition-duration: 0.3s;
}

@media only screen and (max-width: 567px) {
    .bs_circleBtnWrapper {
        background-color: #9400d3;
    }
    .bs_circleBtnWrapper::before {
        display: none;
    }
}

.bs_circleBtnWrapper:hover::before {
  right: -20%;
}

.bs_circleBtn {
  width: 100%;
  height: 100%;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1;
  color: #FFFFFF;
  border: none;
  letter-spacing: 1em;
  padding: 0;
  padding-left: 1em;
  background: none;
  z-index: 1;
  cursor: pointer;
}

.bs_circleBtn:focus {
    outline-style: solid;
    outline-width: 2px;
    outline-color: #ffff00;
    outline-offset: -2px;
    border-radius: 25px;
    background-color: #9400d3;
}

.circle_button {
    width: 120px;
    height: 40px;
    border: none;
    outline: none;
    border-radius: 25px;
    text-align:center;
    background-color: #4682b4;
    font-size: 120%;
    color:#FFFFFF;
    cursor: pointer;
    transition-duration: 0.5s;
}

.circle_button > i{
    vertical-align: middle;
    margin-top: -3px;   /*縦位置微調整*/
}

.circle_button:hover{
    opacity: 0.65;    /*ロールオーバーで透過*/
}


/****************************************************/
/** output_list **/
/****************************************************/
#output_list{
    display: none;
    background:url(../img/common/over_lay_bg.png) repeat;
    position: absolute;
    width: auto;
    heigt:auto;
}
#output_list li{
    padding:10px;
    border-bottom: #FFFFFF dotted 1px;
}
#output_list li:nth-child(2){
    display:none;
}
#output_list li a{
    color:#FFFFFF !important;
}

/****************************************************/
/** オーバレイ **/
/****************************************************/

#overlay{
    width:100%;
    height: 100%;
    position: fixed;
    background:url(../img/common/over_lay_bg.png) repeat;
    z-index: 10;
    display: none;
}

#overlay p#overlay_close{
    width:33px;
    height: 37px;
    background: url(../img/common/btn_overlay_close.png) no-repeat 0 0;
    position: absolute;
    left: 50%;
    margin-left: -16.5px;
    bottom:5%;
}

#overlay div.message_area
{
    width: 50%;
    height: 30%;
    background-color: #FFFFFF;
    text-align: center;
    color: #000000;
    left: 50%;
    top: 50%;
    margin-left: -25%;
    margin-top: -15%;
    position: absolute;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    behavior:url("/PIE.php");
    min-height: 300px;
}

.message_area > h3{
    margin: 100px auto 30px auto;
    font-size: 1.3em;
    font-weight: bold;
}

#overlay div.message_area > p.message_title{
    font-size: 200%;
}

#overlay div.message_area > p.message_det{

}

#overlay .editor{
    padding: 10px;
    width: 80%;
    height: 77%;
    min-height: auto;
    background-color: #FFFFFF;
    text-align: center;
    color: #000000;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    behavior:url("/PIE.php");
    display: inline-block;
    min-height: 500px;
}

.editor{
    display: none;
}

#overlay .editor table{
    margin-bottom:15px;
}

#overlay .editor td{
    text-align: left;
    padding: 3px;
}

#overlay .editor td input[type="text"]
{
    width:100%;
}

.hover_txt{
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    behavior:url("/PIE.php");
    cursor: pointer;
}
.hover_txt:hover
{
    opacity:0.75;
    filter: alpha(opacity=75); /* IE lt 8 */
    -ms-filter: "alpha(opacity=75)"; /* IE 8 */
    -khtml-opacity: .75; /* Safari 1.x */
    -moz-opacity: .75; /* FF lt 1.5, Netscape */
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    behavior:url("/PIE.php");
}
tr.hover_txt:hover > *{
    opacity:0.75;
    filter: alpha(opacity=75); /* IE lt 8 */
    -ms-filter: "alpha(opacity=75)"; /* IE 8 */
    -khtml-opacity: .75; /* Safari 1.x */
    -moz-opacity: .75; /* FF lt 1.5, Netscape */
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    behavior:url("/PIE.php");
}

.img_txt{
    white-space:nowrap;
    text-indent: 150%;
    overflow: hidden;
    background-repeat:no-repeat;
    background-position:0 0;
}
.img_txt a{
    display:block;
    overflow:hidden;
    width:100%;
    height:100%;
}

div.input_inner{
    overflow-x: scroll;
    overflow-y: scroll;
    width:100%;
    height: 650px;
    /*min-height: 100%;*/
    margin-bottom: 0;
    /*border: 1px solid #EFEFEF;*/
}

tr.buf_row,
tr.del_row{
    display: none;
}

.output_button {
    width: 100px;
    height: 35px;
    border: none;
    outline: none;
    border-radius: 20px;
    text-align: center;
   /* background-color: rgb(148, 0, 211);*/
    background-color: #4682b4;
    font-size: 100%;
    color: #FFFFFF;
    cursor: pointer;
    transition-duration: 0.5s;
}