/* お問い合わせフォームのスタイル */
.contact-section p {
  font-size: 16px;
  margin-bottom: 30px;
}

.contact-form .form-group {
  margin-bottom: 20px;
}

.contact-form label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
}

.contact-form .required {
  color:#000; 
  font-size: 12px;
  margin-left: 5px;
  background-color: #ff9d87

}

.contact-form .optional {
  color: #000; 
  font-size: 12px;
  margin-left: 5px;
  background-color: #deff28
}

.contact-form button {
  padding: 10px 20px;
  background-color: #ff9d87;
  color: #000;
  border: none;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease;
}

.contact-form button:hover {
  background-color: #deff28;
}

/* モバイル用レスポンシブ対応 */
@media (max-width: 768px) {
  .contact-form {
    padding: 15px;  /* スペースを少し調整 */
  }

  .form-group input, .form-group textarea {
    font-size: 16px;  /* モバイルでは少し文字を大きく */
  }

  button[type="submit"] {
    font-size: 18px;  /* ボタンの文字サイズを大きく */
  }
}
#page-top {
  z-index: 1000;         
}
/* SNSアイコン共通 */
.social-icons {
  margin-top: 30px;
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

.social-icons img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  transition: opacity 0.3s;
}

.social-icons img:hover {
  opacity: 0.7;
}
#desktopNav nav {
  flex-direction: column;
  align-items: center; /* ← 中央揃え（ズレ防止）*/
}

#desktopNav nav {
  width: 75.32px; /* 他のページと揃える */
}
