html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
abbr,address,cite,code,
del,dfn,em,img,ins,kbd,q,samp,
small,strong,sub,sup,var,
b,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary,
time,mark,audio,video{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  line-height:1.6;
  vertical-align:baseline;
  background:transparent;
}
html{
  min-height:100vh;
  position:relative;
  font-size:1rem;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  box-sizing: border-box;
  padding-bottom: 3rem;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display:block;
  object-fit: cover;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
  user-select:none
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block
}
nav ul{list-style:none}
li{list-style: none}
h1,h2,h3,h4,h5,h6{
  margin:0.3em auto 0.6em auto;
  color:#444;
}
h1{
  font-size:1.8rem;
  text-align: center;
  margin: 1.5em auto;
}
h2{font-size:1.3rem}
h3{font-size:1.1rem}
h4,h5,h6{font-size:1rem}
a{
  margin:0;
  padding:0;
  vertical-align:baseline;
  background:transparent;
  text-decoration:none;
}
b{font-weight:bold}
mark{background:#ff9; color:#000}
del{text-decoration:line-through}
ins{text-decoration:underline}
table{
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
  word-break:break-all;
  word-wrap:break-word
}
hr{
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0
}
input, select{ vertical-align:middle }
blockquote, q{ quotes:none }
blockquote:before,blockquote:after,
q:before, q:after {
  content:'';
  content:none
}
abbr[title],dfn[title] {
  border-bottom:1px dotted;
  cursor:help
}
@media screen and (max-width:480px){ .for_pc{display:none!important} }
@media screen and (min-width:481px){ .for_mobile{display:none!important} }
/*table css
******************************************************************************/
/*--- table css ---*/
.sorttbl{
  font-size: 1rem;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  display: table;
}
@media screen and (max-width:600px){ .sorttbl{font-size:0.8rem;} }
.sorttbl td,
.sorttbl th{
  padding: 0.5em;
  display: table-cell;
}
.sorttbl th{
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #555;
  border-left: 1px solid #555;
}
.sorttbl td{
  text-align: left;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
.sorttbl tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
}
.sorttbl th{
  color: #fff!important;
  background-color: #616161!important;
}

/*--- list css ---*/
.sort-btn{
  border: none;
  display: inline-block;
  padding: 8px 16px;
  vertical-align: middle;
  overflow: hidden;
  text-decoration: none;
  color: #FFFFFF;
  background-color: #4CAF50;
  text-align: center;
  cursor: pointer;
  white-space: nowrap;
}
ul.sortlist{
  list-style-type: none;
}
ul.sortlist li{
  padding: 7px;
  border-bottom: dotted 1px #454545;
}

/*
*/
  .formBox{
    width: 100%;
    margin: 0;
    margin-bottom: 1.8rem;
    padding: 1.8rem;
    border: 1px solid #ccc;
    border-radius: 1rem;
    box-sizing: border-box;
  }
  .form-group{
    margin: auto;
  }
  .form-group + .form-group{
    margin-top: 1rem;
  }
  .frmlabel {
    margin-left: 0.1em;
    margin-bottom: 0.3rem;
    font-weight: bold;
  }
  .frmlabel.bigger{
    font-size: 1.2em;
    margin-bottom: 0.6rem;
  }
  .form-control {
    display: block;
    font-size: 1.1rem;
    background-color: #fff;
    background-clip: padding-box;
    margin: 3px 1px;
    padding: .375rem .75rem;
    width: 100%;
    height: 3rem;
    color: #444;
    border: 1px solid #ced4da;
    border-radius: 3px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    box-sizing: border-box;
  }
  textarea.form-control{
    height: 6rem;
  }
  .form-control:focus{
    outline: 0;
    box-shadow: 0 0 6px 1px #3399FF;
  }
  .form-control.readonly{
    background-color: #eee;
    color: #888;
  }
  .form-control.readonly:focus{
    box-shadow: none;
  }
  input.submitted{
    width:100%;
    height: 3rem;
    font-size: 1.2rem;
    color: #555;
    font-weight: bold;
    border: 1px solid #ced4da;
    text-align: center;
    margin-top:1.8rem;
  }
  input.submitted:focus{
    outline: 0;
    box-shadow: 0 0 6px 1px #999;
  }
  label.password_label {
    align-items: center;
    background: #fff;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    position: relative;
  }
  label.password_label input[type=checkbox] {
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    position: absolute;
    right: -3px;
    width: 2.7rem;
    height: 3rem;
  }
  label.password_label i {
    z-index: 1;
    position: absolute;
    right: 9px;
    font-size: 1.2em;
    color: #666;
  }
  .form_plural{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0.6rem auto;
  }
  .form_plural .form-control{
    height: 2.4rem;
    margin: 0;
  }
  .form_plural.col2 .form-control{
    width:calc(50% - 3.6rem);
  }
  .form_plural.col3 .form-control{
    width:calc(33% - 2.4rem);
  }
  .pluralBtn_box{
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0;
    width: 6rem;
  }
  .pluralBtn{
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    margin: 0.6rem 3px;
    padding: 0;
    font-size: 1.5rem;
    color: #666;
  }

/******************************************************************************/
.tableLimit_form{
  display:flex;
  justify-content: flex-start;
  align-items: center;
  margin: 1rem 0 6px 0;
  padding: 0;
}
.tableLimit_form p{
  color: #444;
  font-size: 1rem;
  margin: 0;
  padding: 0;
}
.tableLimit_form .border{
  border-left: 1px solid #ccc;
  width: 0;
  height: 2rem;
  margin: 0 0.7rem;
  padding: 0;
}
.tableLimit_form input{
  font-size: 1rem;
  line-height: 1;
  background-color: #fff;
  background-clip: padding-box;
  margin: 0;
  padding: .5rem .6rem;
  width: 4rem;
  height: 2rem;
  color: #444;
  border: 1px solid #ced4da;
  border-radius: 2px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  box-sizing: border-box;
}
.tableLimit_form input.tableDateFrom{
  width: auto;
}
.tableLimit_form input:focus{
  outline: 0;
  box-shadow: 0 0 3px 1px #3399FF;
}
.tableLimit_form input.submit{
  width:3.6rem;
  margin: 0 1rem;
  background-color: #eee;
  text-align: center;
}
.tableLimit_form input.submit:focus{
  box-shadow: 0 0 3px 1px #999;
}

/******************************************************************************/
.form_inTable{
}
.form_inTable input[type="checkbox"]{
  display: block;
  height: 1rem;
  width: 1rem;
  margin: auto;
}
.form_inTable input[type="submit"]{
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  background-color: #eee;
  background-clip: padding-box;
  margin: 1em 1em 1em 0;
  padding: .5em .6em;
  width:auto;
  height: auto;
  color: #444;
  border: 1px solid #ced4da;
  border-radius: 2px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  box-sizing: border-box;
  text-align: center;
}
.form_inTable input[type="submit"].mk_userPass{
  font-size: 1.2rem;
  padding: .6em .9em;
}
.form_inTable .mk_userPass:hover{
  outline: none;
  box-shadow: 0 0 6px 1px #007bff;
}
.form_inTable .mk_userPass:focus{
  outline: none;
  color: #fff;
  background-color: #007bff;
  box-shadow: 0 0 6px 1px #007bff;
}
.form_inTable input[type="submit"].data_delete{
}
.form_inTable .data_delete:hover{
  outline: none;
  box-shadow: 0 0 6px 1px red;
}
.form_inTable .data_delete:focus{
  outline: none;
  color: #fff;
  background-color: red;
  box-shadow: 0 0 6px 1px red;
}

/******************************************************************************/
article{
  width: 96%;
  max-width: 1000px;
  margin: auto;
}
.msg{
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  margin: 1.5em auto;
}
.msg.success{
  color: #28a745;
}
.msg.error,.err_msg{
  color: #dc3545;
}
/******************************************************************************/

.for_print{
  display: none;
}
@media print{
  .main_table{
    page-break-before: always;
    font-size: 1rem;
  }
  .for_print{
    display: block!important;
  }
}
