
@media (min-width: 1030px) {





.Required{
  text-align: center;
  font-size: 20px;
  color: #434540; 
  margin: 60px auto; /* 上の要素との余白 */
}


.form-container {
  max-width: 750px;
  margin: 100px auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.form-group {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0 0 20px 0;
}

.form-group label {
  width: 30%;
  font-weight: bold;
  margin-right: 10px;
  text-align: left;
  color: #707070;
}

.form-group input, .form-group textarea {
  width: 70%;
  padding: 10px;
  border: 1px solid #707070;
  border-radius: 3px;
  max-width: 70%;
}

.form-group select {
  width: 70%;
  padding: 10px;
  border: 1px solid #707070;
  border-radius: 3px;
  font-size: 16px;
  background-color: white;
  appearance: none; /* デフォルトの矢印を非表示 */
  cursor: pointer;
  max-width: 70%;
}

/* セレクトボックスの矢印をカスタマイズ */
.form-group {
  position: relative;
}

.form-group select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23707070' d='M6 8l4 4 4-4H6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 26px;
}

.textarea-group {
  align-items: flex-start;
}

.textarea-group label {
  align-self: flex-start;
}

.textarea-group textarea {
  resize: vertical;
  width: 70%;
  min-width: 69%;
  max-width: 70%;
  height: 280px;
}

.form-submit {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}


.form-submit button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 59px;
  border: 3px solid #ff4400;
  color: #ff4400;
  font-size: 18px;
  font-weight: bold;
  border-radius: 3px;
  text-align: center;
  text-decoration: none;
  margin: 40px auto 130px auto;
  transition: background-color 0.3s ease-in-out, color 0.2s ease-in-out;
}

.form-submit button:hover {
  background-color: #ff4400;
  color: #fff;
}

.non-clickable {
  pointer-events: none;
  cursor: default;
}

.privacy-policy {
  font-size: 13pt;
  color: #707070;
  text-align: center;
  margin: 90px auto -20px auto;
}

.privacy-policy a {
  color: #707070;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  overflow: hidden; /* モーダル全体のスクロールを防ぐ */
}

.modal-content {
  background: white;
  padding: 30px;
  border-radius: 10px;
  text-align: left;
  width: 400px;
  max-width: 90%;
  max-height: 80vh; /* モーダルの最大高さを画面の80%に制限 */
  overflow-y: auto; /* コンテンツが長い場合にスクロールを有効化 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-family: 'Noto Sans JP', sans-serif;
}

.modal-content h3 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: #707070;
}

.modal-content p {
  font-size: 16px;
  margin: 10px 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #707070;
}

.modal-content strong {
  display: inline-block;
  font-weight: bold;
  color: #ff4400;
  margin: 0 10px 5px 0;
}

.modal-buttons {
  text-align: center;
  margin-top: 20px;
  position: sticky;
  bottom: 0;
  background: white;
  padding: 10px 0;
}

.modal-buttons button {
  margin: 10px;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}

#cancel {
  background-color: #ccc;
  color: #333;
}

#cancel:hover {
  background-color: #bbb;
}

#submit-form {
  background-color: #ff4400;
  color: white;
}

#submit-form:hover {
  background-color: #ff4400;
}



}


@media (max-width: 1030px) {





.Required{
  text-align: center;
  font-size: 20px;
  color: #434540; 
  margin: 60px auto; /* 上の要素との余白 */
}



.form-container {
  max-width: 750px;
  margin: 100px auto;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.form-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 90%;
  max-width: 90%;
  margin: 0 auto 20px auto;
}

.form-group label {
  width: 100%;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: left;
  color: #707070;
}

.form-group input, .form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #707070;
  border-radius: 3px;
  margin-top: 5px;
  max-width: 100%;
}

.form-group select {
  width: 100%;
  padding: 10px;
  border: 1px solid #707070;
  border-radius: 3px;
  font-size: 16px;
  background-color: white;
  appearance: none;
  cursor: pointer;
  max-width: 100%;
}

.textarea-group {
  align-items: flex-start;
}

.textarea-group label {
  align-self: flex-start;
}

.textarea-group textarea {
  resize: vertical;
  width: 100%;
  min-width: 90%;
  max-width: 100%;
  height: 280px;
}

.form-submit {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}


.form-submit button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  height: 59px;
  border: 3px solid #ff4400;
  color: #ff4400;
  font-size: 18px;
  font-weight: bold;
  border-radius: 3px;
  text-align: center;
  text-decoration: none;
  margin: 20px auto 90px auto;
  transition: background-color 0.3s ease-in-out, color 0.2s ease-in-out;
}

.form-submit button:hover {
  background-color: #ff4400;
  color: #fff;
}

.non-clickable {
  pointer-events: none;
  cursor: default;
}


.privacy-policy {
  font-size: 13pt;
  color: #707070;
  text-align: center;
  margin: 60px auto -20px auto;
}

.privacy-policy a {
  color: #707070;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  overflow: hidden; /* モーダル全体のスクロールを防ぐ */
}

.modal-content {
  background: white;
  padding: 30px;
  border-radius: 10px;
  text-align: left;
  width: 400px;
  max-width: 90%;
  max-height: 80vh; /* モーダルの最大高さを画面の80%に制限 */
  overflow-y: auto; /* コンテンツが長い場合にスクロールを有効化 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-family: 'Noto Sans JP', sans-serif;
}

.modal-content h3 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: #707070;
}

.modal-content p {
  font-size: 16px;
  margin: 10px 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #707070;
}

.modal-content strong {
  display: inline-block;
  font-weight: bold;
  color: #ff4400;
  margin-right: 10px;
}

.modal-buttons {
  text-align: center;
  margin-top: 20px;
  position: sticky;
  bottom: 0;
  background: white;
  padding: 10px 0;
}

.modal-buttons button {
  margin: 10px;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}

#cancel {
  background-color: #ccc;
  color: #333;
}

#cancel:hover {
  background-color: #bbb;
}

#submit-form {
  background-color: #ff4400;
  color: white;
}

#submit-form:hover {
  background-color: #ff4400;
}
  
}