body{
    margin: 0;
    /* width: 100vw; */
    width: calc(100vw - calc(100vw - 100%));
    min-height: 100vh;
    /* overflow-x: hidden; */
    font-family: 'Times New Roman','Meiryo',sans-serif;
    display: grid;
    grid-template:
    "header" 40px
    "main" auto/
    auto;
    line-height: 1.25;
}
@media (min-width: 767px){
    body {
        grid-template:
        "header header header " 40px
        "main   main   main " auto/
        100px   auto   120px;
    }
}
main{
    grid-area: main;
    display:grid;
    grid-template:
    "functions" auto/
    auto;
}
@media (min-width: 767px){
  main {
    grid-template:
    "... functions ..." auto/
    1fr auto 1fr;
    }
}
_:lang(x)::-internal-media-controls-overlay-cast-button, 
    fieldset{
        border-color: rgb(240,240,240);
    }
_:lang(x)::-internal-media-controls-overlay-cast-button, 
    select{
        background-color: buttonface;
        height: 26px;
        border-radius: 3px;
    }
_:lang(x)::-internal-media-controls-overlay-cast-button, 
    body{
        text-shadow: 0 0 black;
    }
header{
    grid-area: header;
    /* padding: .5rem; */
    color: #fff;
    background-color: #373a3e;
    font-size: 1.5rem;
    border: solid;
    border-color: #373a3e;
    display: grid;
    grid-template:
    "title ... login" /
    auto auto 120px;
}
simplesim{
    grid-area: title;
}
login{
    grid-area: login;
}
header a{
    color: white;
    text-decoration: none;
}
table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 650px;
    table-layout: fixed;
}

table tr {
    background-color: #e6f2f5;
    padding: .35em;
    border-bottom: 2px solid #fff;
}
table th,
table td {
    padding: 1em 10px 1em 1em;
    border-right: 2px solid #fff;
}
table th {
    font-size: .85em;
}
table thead tr{
    background-color: #167F92;
    color:#fff;
}
table tbody th {
    background: #78bbc7;
    color: #fff;
}
.txt{
   text-align: left;
   font-size: .85em;
}
.non{
    background:#fff
}
@media screen and (max-width: 600px) {
    table {
        border: 0;
        width:100%
    }
    table th{
        background-color: #167F92;
        display: block;
        border-right: none;
    }
    table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    table tr {
        display: block;
        margin-bottom: .625em;
    }
    table td {
        border-bottom: 1px solid #bbb;
        display: block;
        font-size: .8em;
        text-align: right;
        position: relative;
        padding: .625em .625em .625em 4em;
        border-right: none;
    }
    table td::before {
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 10px;
        color: #167F92;
    }
    table td:last-child {
        border-bottom: 0;
    }
    table tbody th {
        color: #fff;
    }
}
functions{
    grid-area: functions;
    max-width: 1000px;
}
functions h3{
    background: #dce1ea;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    padding-left: 0.4rem;    
    margin-top: 2rem;
}
.img{
    text-align: center;
    display: block;
}
p:lang(en) {
    font-size: 19px;
}
h3:lang(en) {
    font-size: 21px;
}
