* {
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    padding: 0;
    margin: 0;
    line-height: 1.3;
}

body {
    background: #aaa;
}

#container {
    width: 750px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background: white;
}

#head * {
    margin: 0;
    padding: 0;
}

#head {
    background: rgb(59,103,158); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(59,103,158,1) 0%, rgba(43,136,217,1) 50%, rgba(32,124,202,1) 51%, rgba(125,185,232,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(59,103,158,1)), color-stop(50%,rgba(43,136,217,1)), color-stop(51%,rgba(32,124,202,1)), color-stop(100%,rgba(125,185,232,1))); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* IE10+ */
    background: linear-gradient(to bottom,  rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3b679e', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */
    margin-bottom: 10px;
    padding: 0.5em 1em 0.5em 1em;
    color: white;
    box-shadow: 0px 5px 5px rgba(0,0,0,0.4);
}

#footer {
    background: #CCC;
    padding: 0.5em;
    text-align: center;
    font-size: small;
}

#main p {
    margin: 0.5em 1em 0.5em 1em;
}

em {
    color: red;
    font-style: normal;
}

form {
    margin: 0.5em 1em 0.5em 1em;
    padding: 0.5em;
    border: 1px solid lightgray;
    border-radius: 5px;
    font-size: 80%;
}

form table {
    border-collapse: collapse;
    margin: 0.5em 0.5em 0.5em 0.5em;
}

form table, form table td, form table th {
    border: solid 1px gray;
}

form table td {
    padding: 0.5em 1em 0.5em 1em;
}

form table th {
    text-align: center;
    padding: 0.5em 1em 0.5em 1em;
    background: #ddd;
    width: 8em;
}

#submit_button {
    margin: 0.5em 0.5em 0.5em 0.5em;
}    

input[type=submit] {
    font-size: larger;
    font-weight: bold;
    padding: 0.2em 1em 0.2em 1em;
}

#main h2 {
    font-size: 80%;
    font-weight: bold;
    color: #555;
    padding: 0.2em 0.5em 0.2em 0.5em;
    margin: 0.3em 0 0 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #efe457), color-stop(1.00, #feae31));
    background: -webkit-linear-gradient(#efe457, #feae31);
    background: -moz-linear-gradient(#efe457, #feae31);
    background: -o-linear-gradient(#efe457, #feae31);
    background: -ms-linear-gradient(#efe457, #feae31);
    background: linear-gradient(#efe457, #feae31);
    cursor: pointer;
}

#error_messages {
    color: red;
}

.p-mark {
    float: right;
    text-align: right;
    width: 150px;
    padding-right: 10px;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
