/* Import Noto Sans */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600&display=swap');


/* Base */


/* Center container */
h1 {
  text-align: center;
  margin-bottom: 10px;
  font-weight: 600;
}

.small {
  text-align: center;
  color: var(--muted);
  margin-bottom: 20px;
}

/* Form card */

form {
  max-width: 500px;
  margin: 0 auto;
  padding: 16px 20px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
}



/* Labels */
label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
}



input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #999;
}

/* Textarea */
textarea {
  min-height: 160px;
  resize: vertical;
}

/* Buttons */
.actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

button {
  padding: 10px 16px;
  font-size: 14px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}


/*  (メッセージを送信する) */
.btn-primary {
  background: #111;
  color: #fff;
}


.btn-primary:hover {
  background: #333; /* lighter black */
}


/* Secondary button */
.btn-secondary {
  background: #444;   /* darker gray */
  color: #fff;
}



.btn-secondary:hover {
  background: #888;   /* lighter gray */
}


/* Badge */
.badge {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 20px;
  background: #eee;
  color: #333;
}



.notice.success {
  background: #f0f0f0;
  border: 1px solid #ccc;
}

.notice.error {
  background: #fff0f0;
  border: 1px solid #e0b4b4;
}

/* Honeypot hidden */
.hidden {
  position: absolute;
  left: -9999px;
}

/* Disabled button */
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}


/*wrapper */
.page-header {
    text-align: center;
}

.instruction {
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
    font-size: 14px;
    color: #555;
}





/* button */
.btn-primary {
    width: 100%;
    padding: 12px;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
}

.btn-primary:hover {
    background: #333;
}

/* Step box */
.step-box {
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
    text-align: center;
}

/* notices */
.notice {
    max-width: 500px;
    margin: 0 auto;
    padding: 10px;
    border-radius: 6px;
    text-align: center;
}

.notice.success {
    background: #e6f7e6;
    color: #2e7d32;
}

.notice.error {
    background: #fdecea;
    color: #c62828;
}

.reset-form {
    text-align: center;
    margin-top: 15px;
}

.btn-secondary {
    background: transparent;
    border: 1px solid #ccc;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
}

.btn-secondary:hover {
    background: #f0f0f0;
}

.contact-wrapper{
  background: #fff;
}


form,
.step-box,
.notice {
  max-width: 500px;
  margin: 0 auto;
}


input, select, textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}


textarea {
  resize: none !important;
}


.page-header {
  margin-top: 100px;
}


form {
  margin-bottom: 100px;
}
