.container {
    width: 1300px;
    text-align: center;
    margin: 0 auto;
}
a:hover {
    opacity: 0.8;
}
header {
    margin: 0 auto;
}
img {
    pointer-events: none;
}
a img {
    pointer-events: all;
}
input {
    border: 1px solid #8C8C8C !important;
}
input::-webkit-input-placeholder {
    font-weight: bold;
}
input:-moz-placeholder {
    font-weight: bold;
}
input::-moz-placeholder {
    font-weight: bold;
}
input:-ms-input-placeholder {
    font-weight: bold;
}
main button {
    display: block;
    width: 100%;
    border-radius: 7.5px;
    background-color: #40210D;
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: 1em;
    cursor: pointer;
    font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif
}
main button:hover {
    opacity: 0.8;
}
.table {
    display: table;
    width: 100%;
    text-align: left;
}
.table .row {
    color: #000;
    text-decoration: none;
    display: table-row;
}
.table .row.head {
    color: #888;
}
.table .row.body {
    cursor: pointer;
}
.table .row.body:hover {
    background-color: #ffffe0;
}
.table .row.opened {
    background-color: #ddd;
}
.table .cell {
    display: table-cell;
    padding: 10px;
    border-bottom: 1px solid #ddd;
}
.frame {
    border: 5px solid #A18322;
    margin: 25px auto;
    width: 45%;
    padding: 5px;
}
.frame > div {
    border: 2px solid #A18322;
}
.frame h1 {
    font-size: 2rem;
    background: #40210D;
    padding: 5px;
    color: #fff;
}
#header-menu {
    position: absolute;
    top: 9%;
    left: calc(100% / 4);
    transform: translate(-25%, -25%);
    -webkit-transform: translate(-25%, -25%);
    -ms-transform: translate(-25%, -25%);
}
#header-login-register {
    position: absolute;
    bottom: 3%;
    left: calc(100% / 2 - 12.5px);
    transform: translate(-50%, -30%);
    -webkit-transform: translate(-50%, -30%);
    -ms-transform: translate(-50%, -30%);
}
#header-sub-menu {
    position: absolute;
    top: 97%;
    left: calc(100% / 2);
    transform: translate(-60%, -30%);
    -webkit-transform: translate(-60%, -30%);
    -ms-transform: translate(-60%, -30%);
}
#header-sub-menu a {
    padding: 2%;
    color: #fff;
    text-decoration: none;
}
#header-sub-menu li {
    border-left: 1px solid #fff;
}
#header-sub-menu li:last-child {
    border-right: 1px solid #fff;
}
#about .detail {
    position: absolute;
    top: 2.5%;
    left: 2.5%;
    width: 47.5%;
    padding: 1.5em;
    background-color: rgba(255,255,255,0.4);
}
#about .detail p {
    font-size: 1.25em;
    text-shadow: 1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff,1px 1px 10px #fff;
    color: #000;
    font-weight: bold;
    line-height: 2.2;
}
#about .image {
    position: absolute;
    top: 0;
    right: 1.5%;
    width: 40%;
}

#contact .detail {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: rgba(255,255,255,0.75);
    font-size: 1.5em;
    white-space: nowrap;
    text-align: left;
    color: #000;
    border-radius: 1px;
}
#contact .detail table {
    border-spacing: 3em 1em;
}
#contact .detail th {
    padding: 10px;
    background-color: #9A801D;
    color: #fff;
    text-align: center;
}
#contact .detail th {
    padding-left: 10px;
}
#election-number .detail {
    padding: 20px;
    background-color: #40210D;
}
#election-number .detail .card {
    margin: 20px;
    width: calc(50% - 40px);
    border: 5px solid #9D831F;
    background-color: #fff;
    font-size: 1.75em;
    color: #000;
}
#election-number .detail .card img {
    object-fit: contain;
}
#election-number .detail .card > div {
    padding: 10px 15px;
}
#election-number .detail .card div:nth-of-type(2) {
    border-top: 2px solid #9D831F;
    border-bottom: 2px solid #9D831F;
}
#offer-system .detail,
#tradelaw .detail,
#funds-settlementlaw .detail {
    margin: 20px auto 0;
    width: 95%;
    text-align: left;
    color: #000;
}
#offer-system .detail hr,
#tradelaw .detail hr
#funds-settlementlaw .detail hr {
    margin: 0;
    border: 1px solid #93761A;
}
#offer-system .detail h3, 
#tradelaw .detail h3,
#funds-settlementlaw .detail h3 {
    margin: 10px 0 10px 30px;
    color: #A18322;
}
#offer-system .detail p, 
#tradelaw .detail p,
#funds-settlementlaw .detail p {
    margin: 10px 0;
    width: 100%;
    font-size: 1.5rem;
}
#offer-system .detail h3 {
    width: 20%;
}
#tradelaw .detail h3,
#funds-settlementlaw .detail h3 {
    max-width: 278px;
    width: 30%;
}
#faq .detail,
#agreement .detail {
    margin: 20px auto 0;
    width: 95%;
    text-align: left;
    color: #000;
}
#faq .detail h3,
#agreement .detail h3 {
    margin: 0;
    padding: 10px;
}
#faq .detail p,
#agreement .detail p {
    margin: 10px 10px 20px 10px;
}
#faq .detail h3 {
    color: #fff;
    background-color: #40210D;
}
#faq .detail {
    font-size: 1.5rem;
}
#agreement .detail {
    font-size: 1.25rem;
}
#agreement .detail h3 {
    color: #40210D; 
    background-color: #F0EBD8;
}
#privacy .detail {
    margin: 20px auto 0;
    width: 95%;
    text-align: left;
    color: #000;
}
footer .container {
    padding: 10px 0;
    font-size: 0.75em;
    color: #fff;
    background-color: #40210D;
}
#return-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    cursor: pointer;
    max-width: 96px;
}

#register p {
    font-weight: bold;
}
#home {
    position: absolute;
    top: 82.5%;
    left: calc(100% / 2);
    transform: translate(-50%, -30%);
    -webkit-transform: translate(-50%, -30%);
    -ms-transform: translate(-50%, -30%);
    background-color: #fff;
    border: 5px solid #A18322;
    padding: 5px;
    width: 50%;
}
#home > div {
    border: 2px solid #A18322;
}
#home h2 {
    font-size: 1.5rem;
}
#home a {
    color: #000;
    display: block;
    border: 1px solid #000;
    padding: 5px;
}
#mailbox {
    width: 60%;
}
#customer-information {
    width: 50%;
}
#customer-information td {
    text-align: left;
    vertical-align: baseline;
    padding: 5px;
}
#special-offer {
    width: 60%;
}
#special-offer p {
    margin: 0;
    font-size: 1.5rem;
}
#race-forecast {
    width: 60%;
}
#race-forecast p {
    margin: 0;
    font-size: 1.5rem;
}
#commodity {
    width: 60%;
}

