body {
    box-sizing: border-box;
    max-width: 42em;
    padding: 1em;
    margin: 5em auto;
    font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans', sans-serif;
}

h1 {
    text-align: center;
    font-size: 2.5em;
}

h2 {
    margin-top: 1.5em;
    font-size: 1.8em;
}

h4 {
    font-weight: normal;
}


ul {
    padding: 0 1em 1em 1em;
}

th, tr {
    text-align: left;
    padding: 0 1em 0 0;
}

.c-stage {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

.c-stage:after {
  display: table;
  content: " ";
  clear: both;
}

.c-stage_center {
    text-align: center;
}

.c-stage_1, .c-stage_2, .c-stage_3, .c-stage_6 {
    float:left;
    min-height: 1px;
}
.c-stage_1 {
  width: 8.3%
}

.c-stage_2 {
  width: 16.6%
}

.c-stage_3 {
  width: 25%
}
.c-stage_6 {
  width: 50%
}

.j-validate-error {
    color: red;
}
input {
    border: 0;
    font-size: 1.3em;
    padding: 0.8em;
    outline: none;
    border: 1px solid #DDD;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

input[type="text"]:focus,
texture:focus {
    box-shadow: 0 0 7px #3498db;
    border: 1px solid #3498db;
}

.b-button {
    font-size: 1em;
    border-radius: 0;   
    background: #000000;
    border: 1px solid #000000;
    color: #ffffff;
    padding: 1em 2.5em;
    margin: 1.5em 2em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.b-button:hover {
    background: #ffffff;    
    color: #000000;
}

.b-button_right {
  float: right;
}

.b-button_second {
    background: #888888;
}

@media screen and (max-width: 480px) {
    body {
        margin: 0 1em;
    }

    input,
    .b-button {
        box-sizing: border-box;
    }

    .b-button {
        margin: 10%;
        width: 80%;
    }
    
    .b-button_s_half {
        margin: 2.5%;
        width: 45%;
        padding: 1em;
    }
    
    input {
        width: 100%;
    }
}
