body, #wrapper{
    display:flex;
    flex-direction:column;
    min-height:100vh;
}
h1{
    font-size:1.8rem;
}

h2{
    font-size:1.5rem;
    border-bottom: 3px #202f55 solid;

}

h3{
    font-size:1.2rem;
    border-bottom: 3px #fcc800 solid;
}

header{
    margin-top:100px;
}
footer{
    margin-top:auto;
}

.my-div-style{
    margin-top: 6rem;
}

div.menu{
    display: flex;
    justify-content: center;
    width: 80%;
    margin: 30px 10%;
}
a.btn--yellow {
  color: #000;
  background-color: #fff100;
  border-bottom: 5px solid #ccc100;
}

a.btn--yellow:hover {
  margin-top: 3px;
  color: #000;
  background: #fff20a!important;
  border-bottom: 2px solid #ccc100;
}

.flex_button-box {
    background-color: #dedede;     /* 背景色指定 */
    padding:  5px 30px;             /* 余白指定 */
    display: flex;
    justify-content:center;
}

.flex_button-item {
    padding: 10px;
    color:  #fff;               /* 文字色 */
    margin:  5px 20px;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
    text-decoration:none;
}

.flex_button-item-gray {
    padding: 5px 10px!important;
    background-color: #dedede!important;
    color:  #333;               /* 文字色 */
    margin:  5px;              /* 外側の余白 */
    border-radius:  5px;        /* 角丸指定 */
    border-bottom: 5px solid #cdcdcd;
    border-right: 5px solid #cdcdcd;
}

table.systable{
    border: 3px #999 solid;
}
table.systable th{
    border: 1px #666 solid;
    padding: 5px;
    text-align:center;
    background:#ffffe0;
}

table.systable tr{
    border: 1px #666 solid;
}
table.systable td{
    padding: 13px 12px!important;
    border: 1px #666 solid;
    text-align: left;

}

table.systable td a{
    text-decoration: underline;
}

table.tbl_login ,
table.tbl_login th,
table.tbl_login td{
    border:0;
    vertical-align:middle;
}
table.tbl_login{
    margin:auto;
}