
.field label {
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #333;
}

.required {
  color: #e60000;
  font-weight: bold;
}

label.radio,
label.checkbox {
  display: inline-block;
  font-weight: normal;
  margin-right: 16px;
}

label.sub {
  display: block;
  font-weight: normal;
  font-size: 13px;
  color: #666;
  margin: 6px 0 2px;
}


input[type="email"],
select {
  padding: 6px 10px;
  border: 1px solid #bbb;
  border-radius: 4px;
  margin-right: 8px;
  margin-bottom: 4px;
  font-size: 14px;
}


input[type="email"]:focus,
select:focus {
  border-color: #2a6bb4;
  outline: none;
}

#sei, #mei, #sei_kana, #mei_kana {
  width: calc(5em + 20px);
}

#birth_year, #birth_month, #birth_day {
  width: calc(5em + 20px);
}

#prefecture, #graduate_type {
  width: calc(10em + 20px);
}

#position_type {
  width: calc(22em + 20px);
}

#zip {
  width: calc(8ch + 20px);
}

#city {
  width: calc(10em + 20px);
}

#town, #building {
  width: calc(20em + 20px);
}

#tel {
  width: calc(13ch + 20px);
}

#email {
  width: calc(40ch + 20px);
}

.error {
  color: #e60000;
  font-size: 13px;
  margin-top: 4px;
  min-height: 18px;
  white-space: pre-line;
}
