@charset "UTF-8";
.page-container {
  background: white !important;
  padding-top: 20px !important;
}

.page-container .comic-list-area .icon-hedding {
  text-align: center !important;
}

.page-container .form-notice {
  background: #fff3cd !important;
  border: 1px solid #ffeaa7 !important;
  border-radius: 4px !important;
  padding: 15px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}
.page-container .form-notice p {
  margin: 0 !important;
  color: #856404 !important;
  font-size: 14px !important;
}

.page-container .register-form {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 20px !important;
  background: white !important;
  border-radius: 8px !important;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}
.page-container .register-form .form-group {
  margin-bottom: 20px !important;
}
.page-container .register-form .form-label {
  display: block !important;
  font-weight: bold !important;
  margin-bottom: 5px !important;
  color: #333 !important;
  font-size: 14px !important;
}
.page-container .register-form .form-required {
  position: relative !important;
}
.page-container .register-form .form-required::after {
  content: "\5FC5\9808" !important;
  background: #e74c3c !important;
  color: white !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  font-weight: bold !important;
  margin-left: 8px !important;
  position: relative !important;
  top: -1px !important;
}
.page-container .register-form .form-sublabel {
  display: block !important;
  font-size: 12px !important;
  color: #666 !important;
  margin-bottom: 3px !important;
}
.page-container .register-form .form-input {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  -webkit-transition: border-color 0.3s ease !important;
  transition: border-color 0.3s ease !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}
.page-container .register-form .form-input:focus {
  outline: none !important;
  border-color: #007bff !important;
  -webkit-box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;
          box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;
}
.page-container .register-form .form-input::-webkit-input-placeholder {
  color: #999 !important;
  font-style: italic !important;
}
.page-container .register-form .form-input::-moz-placeholder {
  color: #999 !important;
  font-style: italic !important;
}
.page-container .register-form .form-input::-ms-input-placeholder {
  color: #999 !important;
  font-style: italic !important;
}
.page-container .register-form .form-input::placeholder {
  color: #999 !important;
  font-style: italic !important;
}
.page-container .register-form .form-name-group {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  gap: 10px !important;
}
.page-container .register-form .form-name-group .form-name-item {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 !important;
          flex: 1 !important;
}
.page-container .register-form .form-checkbox {
  margin-top: 10px !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 8px !important;
}
.page-container .register-form .form-checkbox .form-check-input {
  width: auto !important;
  margin: 0 !important;
}
.page-container .register-form .form-checkbox .form-check-label {
  font-size: 13px !important;
  color: #555 !important;
  cursor: pointer !important;
}
.page-container .register-form .form-radio-group {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  gap: 15px !important;
  margin-top: 8px !important;
}
.page-container .register-form .form-radio-group .form-radio-item {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 5px !important;
}
.page-container .register-form .form-radio-group .form-radio-item .form-radio-input {
  width: auto !important;
  margin: 0 !important;
}
.page-container .register-form .form-radio-group .form-radio-item .form-radio-label {
  font-size: 13px !important;
  color: #555 !important;
  cursor: pointer !important;
}
.page-container .register-form .form-buttons {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  gap: 15px !important;
  margin-top: 30px !important;
}
.page-container .register-form .form-buttons .button-big {
  width: 100% !important;
  padding: 15px 30px !important;
  border: none !important;
  border-radius: 25px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-align: center !important;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}
.page-container .register-form .form-buttons .button-big.button-big-pink {
  background: linear-gradient(135deg, #ff6b9d, #ff8fab) !important;
  color: white !important;
}
.page-container .register-form .form-buttons .button-big.button-big-pink:hover {
  background: linear-gradient(135deg, #ff5a8a, #ff7c98) !important;
  -webkit-transform: translateY(-2px) !important;
          transform: translateY(-2px) !important;
  -webkit-box-shadow: 0 4px 15px rgba(255, 107, 157, 0.4) !important;
          box-shadow: 0 4px 15px rgba(255, 107, 157, 0.4) !important;
}
.page-container .register-form .form-buttons .button-large {
  width: 100% !important;
  padding: 12px 24px !important;
  background: #6c757d !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-align: center !important;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}
.page-container .register-form .form-buttons .button-large:hover {
  background: #5a6268 !important;
  -webkit-transform: translateY(-1px) !important;
          transform: translateY(-1px) !important;
  -webkit-box-shadow: 0 3px 10px rgba(108, 117, 125, 0.3) !important;
          box-shadow: 0 3px 10px rgba(108, 117, 125, 0.3) !important;
}

@media (max-width: 768px) {
  .page-container .register-form {
    margin: 0 10px !important;
    padding: 15px !important;
  }
  .page-container .register-form .form-name-group {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .page-container .register-form .form-radio-group {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 10px !important;
  }
  .page-container .register-form .form-buttons .button-big, .page-container .register-form .form-buttons .button-large {
    padding: 12px 20px !important;
    font-size: 14px !important;
  }
}
.social-login-section {
  max-width: 600px !important;
  margin: 20px auto !important;
  text-align: center !important;
}
.social-login-section h3 {
  font-size: 16px !important;
  color: #333 !important;
  margin-bottom: 20px !important;
}
.social-login-section .social-logins {
  list-style: none !important;
  padding: 0 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  gap: 15px !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  margin-bottom: 20px !important;
}
.social-login-section .social-logins .social-button {
  display: inline-block !important;
  padding: 12px 30px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  color: white !important;
  font-weight: bold !important;
  font-size: 14px !important;
  -webkit-transition: all 0.3s ease !important;
  transition: all 0.3s ease !important;
}
.social-login-section .social-logins .social-button.social-line {
  background-color: #00B900 !important;
}
.social-login-section .social-logins .social-button.social-line:hover {
  background-color: #00A000 !important;
}
.social-login-section .social-logins .social-button.social-docomo {
  background-color: #CC0033 !important;
}
.social-login-section .social-logins .social-button.social-docomo:hover {
  background-color: #AA0028 !important;
}
.social-login-section .social-logins .social-button.social-au {
  background-color: #FF9900 !important;
}
.social-login-section .social-logins .social-button.social-au:hover {
  background-color: #E68A00 !important;
}
.social-login-section .social-logins .social-button.social-softbank {
  background-color: #999999 !important;
}
.social-login-section .social-logins .social-button.social-softbank:hover {
  background-color: #808080 !important;
}

.divider-section {
  max-width: 600px !important;
  margin: 30px auto !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 15px !important;
}
.divider-section .divider {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 !important;
          flex: 1 !important;
  height: 1px !important;
  background-color: #ddd !important;
  border: none !important;
}
.divider-section .divider-text {
  color: #999 !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}