@charset "UTF-8";
@font-face {
  font-family: 'GENJ';
  font-style: normal;
  font-weight: normal;
  src: url("../assets/font/GenJyuuGothic-Regular.eot");
  src: url("../assets/font/GenJyuuGothic-Regular.eot?#iefix") format("embedded-opentype"), url("../assets/font/GenJyuuGothic-Regular.ttf") format("truetype"), url("../assets/font/GenJyuuGothic-Regular.woff") format("woff");
}
@font-face {
  font-family: 'GENJ';
  font-style: normal;
  font-weight: bold;
  src: url("../assets/font/GenJyuuGothic-Bold.eot");
  src: url("../assets/font/GenJyuuGothic-Bold.eot?#iefix") format("embedded-opentype"), url("../assets/font/GenJyuuGothic-Bold.ttf") format("truetype"), url("../assets/font/GenJyuuGothic-Bold.woff") format("woff");
}
#registration div.form-row {
  margin-bottom: 15px;
}
#registration div.form-row:after {
  content: " ";
  display: block;
  clear: both;
}
#registration div.form-row > div.form {
  box-sizing: border-box;
  min-height: 35px;
  line-height: 35px;
  margin: auto;
  padding: 7px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #registration div.form-row > div.form {
    padding: 7px 0 10px;
  }
}
#registration div.form-row > div.form.member-sex div.inputted {
  top: 0;
}
#registration div.form-row > div.form.member-cellular span.help-block:first-child, #registration div.form-row > div.form.member-key_cellular span.help-block:first-child {
  margin-left: 0;
}
#registration div.form-row > div.form.member-cellular .input-group, #registration div.form-row > div.form.member-key_cellular .input-group {
  margin-top: 15px;
}
#registration div.form-row > div.form * {
  line-height: 1.3;
}
#registration div.form-row > div.form span.help-block {
  margin-bottom: 0;
}
@media print, screen and (min-width: 980px) {
  #registration div.form-row > div.form span.help-block {
    margin-left: 15px;
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  #registration div.form-row > div.form span.help-block {
    padding-left: 0;
  }
}
#registration div.form-row > div.form span.help-block.errormessage {
  display: block;
  margin: 0;
}
#registration div.form-row > div.form span.help-block.errormessage:before {
  font-family: FontAwesome;
  content: "";
  padding-left: 3px;
  padding-right: 5px;
}
#registration div.form-row select {
  width: auto;
}
@media print, screen and (min-width: 980px) {
  #registration div.form-row {
    position: relative;
    padding-left: 250px;
  }
}
#registration div.form-row label.control-label {
  background-color: #3db99d;
  box-sizing: border-box;
  color: #fff;
  display: table-cell;
  font-size: 14px;
  font-weight: normal;
  height: 100%;
  left: 0;
  line-height: 20px;
  padding: 7px 7px 7px 15px;
  text-align: left;
  vertical-align: middle;
  width: 210px;
}
@media print, screen and (min-width: 980px) {
  #registration div.form-row label.control-label span.required {
    float: right;
  }
}
@media screen and (max-width: 767px) {
  #registration div.form-row label.control-label {
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #registration div.form-row input[type=button] {
    margin-right: 10px !important;
  }
}
#registration div.form-row input[type=text],
#registration div.form-row input[type=button] {
  display: inline-block;
  width: 60%;
}
#registration div.form-row input[type=text].zip,
#registration div.form-row input[type=button].zip {
  width: 50px;
  margin-left: 5px;
  padding-left: 0;
  padding-right: 0;
}
#registration div.form-row input[type=text]#member-zipcode, #registration div.form-row input[type=text]#member-key_zipcode, #registration div.form-row input[type=text]#member-emergency_zipcode,
#registration div.form-row input[type=button]#member-zipcode,
#registration div.form-row input[type=button]#member-key_zipcode,
#registration div.form-row input[type=button]#member-emergency_zipcode {
  width: 100px;
}
@media screen and (max-width: 767px) {
  #registration div.form-row input[type=text],
  #registration div.form-row input[type=button] {
    width: 100%;
    font-size: 16px;
    line-height: 16px;
  }
  #registration div.form-row input[type=text]#member-zipcode,
  #registration div.form-row input[type=button]#member-zipcode {
    display: inline-block;
  }
  #registration div.form-row input[type=text].zip,
  #registration div.form-row input[type=button].zip {
    width: 50px;
  }
}

#registration {
  margin: 30px auto;
  max-width: 800px;
  width: 100%;
}
#registration div.form-row {
  border: 1px solid #ededed;
  box-sizing: border-box;
  display: table;
  margin: 0 auto -1px;
  padding: 0;
  width: 100%;
}
#registration div.form-row:after {
  content: " ";
  display: block;
  clear: both;
}
@media screen and (max-width: 767px) {
  #registration div.form-row {
    display: block;
    border: none;
  }
}
#registration div.form-row.title {
  margin-top: auto;
  text-align: left;
}
#registration div.form-row.title::before, #registration div.form-row.title::after {
  display: none;
}
#registration div.form-row.void {
  border: none;
}
#registration div.form-row.void h6 {
  color: #b6006e;
  font-size: 18px;
  margin: 30px 0 5px;
  line-height: 1.3;
}
#registration div.form-row.void p {
  font-size: 13px;
}
#registration div.form-row.set_key_address .form label {
  display: inline-block;
  font-weight: normal;
  color: #737373;
}
#registration div.form-row.set_key_address .form label + label {
  margin-left: 1em;
}
#registration div.cart {
  display: none;
}
#registration div.submit {
  text-align: center;
  margin: 30px auto;
}
#registration div.submit button {
  font-size: 20px !important;
}
#registration div.submit button {
  cursor: pointer;
  margin: auto;
  padding: 10px 30px;
  background-color: #517ebb;
  border: 1px solid #517ebb;
  box-sizing: border-box;
  color: #fff;
  font-size: 13px;
  display: inline-block;
  white-space: nowrap;
}
#registration div.submit button:hover {
  background-color: #fff;
  color: #517ebb;
}
@media screen and (max-width: 767px) {
  #registration div.submit button {
    font-size: 16px !important;
  }
}
#registration div.submit button:after {
  font-family: FontAwesome;
  content: "";
  padding-left: 5px;
  padding-right: 0;
}
#registration input[type="button"] {
  width: 50px !important;
  text-align: center;
  margin: 0 0 0 5px !important;
  padding: 8px 0 !important;
}
#registration input[type="button"] {
  cursor: pointer;
  margin: auto;
  padding: 10px 30px;
  background-color: #517ebb;
  border: 1px solid #517ebb;
  box-sizing: border-box;
  color: #fff;
  font-size: 13px;
  display: inline-block;
  white-space: nowrap;
}
#registration input[type="button"]:hover {
  background-color: #fff;
  color: #517ebb;
}
#registration form.confirm div.form-row span.required {
  display: none !important;
}
#registration form.confirm div.form-row span.help-block {
  display: none !important;
}
#registration form.confirm div.submit button[value=modify] {
  background: #aaa;
  border-color: #999;
}
#registration form.confirm div.submit button[value=modify]:hover {
  background-color: white;
  color: #666;
}
#registration form.confirm div.submit button[value=modify]:after {
  display: none;
}
#registration form.confirm div.submit button[value=modify]:before {
  font-family: FontAwesome;
  content: "";
  padding-left: 0;
  padding-right: 5px;
}

body.loggedin #registration div.to_cart {
  display: block;
  margin: 10px 0;
  text-align: center;
}
body.loggedin #registration div.to_cart a {
  font-size: 14px;
  min-width: auto;
}
body.loggedin #registration div.to_cart a:after {
  font-family: FontAwesome;
  content: "";
  padding-left: 5px;
  padding-right: 0;
}

@media screen and (max-width: 767px) {
  #registration div.form-row label.control-label {
    margin-bottom: 10px;
  }
  #registration div.submit button + button {
    margin-top: 20px;
  }

  #privacy {
    padding-bottom: 10px;
  }
  #privacy div.agree {
    margin-bottom: 0;
  }
}
#entry form.form div.form-row {
  width: 50%;
  float: left;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
#entry form.form div.form-row div.form {
  float: none;
  width: 100%;
}
#entry form.form div.form-row div.form div.inputted {
  padding: 10px;
}
#entry form.form div.form-row div.form div.inputted + .help-block {
  display: none;
}
#entry form.form div.form-row div.form span.errormessage {
  position: absolute;
  top: -30px;
  right: 20px;
}
#entry form.form div.form-row label span.required span {
  padding: 5px;
  vertical-align: middle;
}
#entry form.form div.zipcode label {
  margin-bottom: 0;
}
#entry form.form div.zipcode div.member-zipcode input {
  margin-top: 10px;
}
#entry form.form div.zipcode div.member-zipcode .help-block {
  display: inline-block;
  padding-left: 10px;
}
#entry form.form div.prefecture {
  margin-bottom: 20px;
  padding-bottom: 20px;
}
#entry form.form div.password {
  float: right;
}
#entry form.form label {
  margin-bottom: 10px;
}
#entry form.form label input[type=radio] {
  position: static;
}
#entry div.submit {
  margin-top: 20px;
  text-align: center;
}
#entry div.submit button {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  #entry form.form div.form-row {
    margin: 0 0 15px;
    padding: 0;
    float: none;
    height: auto;
    width: 100%;
  }
  #entry form.form div.form-row div.form {
    float: none;
    width: 100%;
  }
  #entry form.form div.form-row div.form span.errormessage {
    position: static;
  }
  #entry form.form div.mailaddress input {
    width: 100%;
  }
  #entry form.form div.zipcode span.errormessage {
    margin-top: 10px;
  }
  #entry div.submit button {
    margin-right: 0px;
    margin-bottom: 20px;
  }
}
#registration.identify fieldset {
  margin: 20px 0;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  #registration.identify fieldset {
    padding: 20px 0;
    border: none;
  }
}
#registration.identify .document_detail {
  margin: 20px;
  padding: 10px;
  background: #efefef;
}
@media screen and (max-width: 767px) {
  #registration.identify .document_detail {
    margin: 20px 0;
  }
}
#registration.identify .document_detail dt {
  font-weight: bold;
  margin: 0;
  padding: 0;
}
#registration.identify .document_detail dd {
  margin: 0;
  padding: 0 0 0 20px;
}
#registration.identify .document_detail dd + dt {
  margin-top: 10px;
}
#registration.identify .file_format {
  margin: 20px;
  padding: 10px;
  background: #efefef;
}
@media screen and (max-width: 767px) {
  #registration.identify .file_format {
    margin: 20px 0;
  }
}
#registration.identify .file_format h5 {
  font-size: 15px;
  margin: 0;
}
#registration.identify .file_format p {
  margin: 5px 0;
}
#registration.identify .file_format ul {
  margin: 10px 0 0 35px;
  padding: 0;
}
#registration.identify .preview {
  text-align: center;
  margin: 20px 0;
}
#registration.identify .preview img {
  max-width: 100%;
}
#registration.identify .preview p {
  margin: 5px 0;
}
#registration.identify .field {
  margin: 20px;
}
@media screen and (max-width: 767px) {
  #registration.identify .field {
    margin: 20px 0;
  }
}
#registration.identify .field p {
  display: inline-block;
  margin: 0 0 15px;
  background: #fff3fa;
  padding: 5px 10px;
  border: 2px solid #b6006e;
  border-radius: 4px;
  color: #b6006e;
  font-weight: bold;
}
#registration.identify .field p::before {
  font-family: FontAwesome;
  content: "";
  padding-left: 0;
  padding-right: 5px;
}
#registration.identify .alert {
  margin: 20px;
  color: red;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  #registration.identify .alert {
    margin: 20px 0;
  }
}
#registration.identify .alert::before {
  font-family: FontAwesome;
  content: "";
  padding-left: 0;
  padding-right: 2px;
}

/*# sourceMappingURL=registration.css.map */
