.page-header .page-desc {
  text-align: center;
}

.privacy-submit-section .privacy-text,
.privacy-submit-section .privacy-text p,
.complete-message-wrap .complete-desc,
.complete-message-wrap .complete-desc p {
  text-align: center;
}

.entry-form-page,
.entry-complete-page {
  margin-top: 0 !important;
  background-color: #484E54;
  font-family: 'Noto Sans JP', sans-serif;
}

.form-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.form-row .form-label {
  width: 260px;
  flex-shrink: 0;
  margin-bottom: 0;
}

.form-row .form-input {
  flex: 1;
}

.custom-file-upload {
  align-items: flex-start;
}

.custom-file-button {
  justify-content: center;
  transition: 0.3s;
}

.custom-file-button:hover {
  background: #D7AD54;
  color: #fff;
}

.custom-file-name {
  line-height: 40px;
  color: #999;
}

.file-note {
  color: #ccc;
  line-height: 1.7;
}

.form-confirm-area {
  margin-top: 30px;
  padding: 20px;
  border-radius: 12px;
}

.confirm-row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  min-height: 72px;
}

.confirm-label {
  width: 240px;
  padding: 20px;
  font-weight: 700;
}

.confirm-value {
  flex: 1;
  padding: 20px;
  word-break: break-word;
  line-height: 1.8;
}

.confirm-required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 20px;
  padding: 0 6px;
  border-radius: 4px;
  color: #d60000;
  font-size: 14px;
  font-weight: 700;
}

.confirm-recaptcha {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.confirm-button-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.btn-back,
.btn-submit {
  min-width: 220px;
  height: 56px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  transition: 0.3s;
}

.btn-back {
  background: #e5e5e5;
  color: #333;
}

.btn-submit {
  background: linear-gradient(
    90deg,
    #d7ad54 0%,
    #f7df8d 50%,
    #d7ad54 100%
  );
  color: #000;
}

.btn-submit:disabled,
.btn-entry-large:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

#btnBack:active,
#btnSubmit:active {
  transform: translateY(0);
}

.input-error {
  outline: none !important;
  box-shadow: none !important;
  background-color: rgba(255, 0, 0, 0.15) !important;
  border: 1px solid rgb(220, 53, 69) !important;
}

input:invalid,
textarea:invalid {
  box-shadow: none !important;
}

@media (max-width: 992px) {

  .privacy-submit-section .privacy-text {
    font-size: 14px;
  }

  .form-row {
    flex-direction: column;
    gap: 10px;
  }

  .form-row .form-label,
  .form-row .form-input {
    width: 100%;
  }

  .custom-file-button {
    width: 100%;
  }

  .custom-file-name {
    line-height: 1.6;
  }

  .form-confirm-area {
    padding: 10px;
  }

  .confirm-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 0;
    gap: 8px;
  }

  .confirm-label {
    width: 100%;
    padding: 0;
    font-size: 14px;
  }

  .confirm-value {
    width: 100%;
    padding: 0;
    font-size: 15px;
    line-height: 1.6;
  }

  .confirm-button-group {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .btn-back,
  .btn-submit {
    width: 100%;
    min-width: unset;
  }

  .custom-file-button {
    width: auto;
    display: flex;
    justify-content: center;
  }

  .custom-file-upload {
    width: 100%;
  }
}