/* -- use cretbird mailform system -----------*/
textarea ,
input,
select,
option {
	font-size:inherit;
	line-height:inherit;
	font-family: inherit;
}
select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}
#formBox sup,
#cretFormHead,
#cretFormFoot,
#formBox .cretFormCaution {
	color: #e74c3c;
}
#formBox .cretFormCaution {
	font-weight: bold;
}

#cretFormHead,
#cretFormFoot {
	margin: 1rem 0;
	line-height: 1.25rem;
	text-align:center;
}
#cretFormSubmit {
  display: block;
  width: 15rem;
  margin: 30px auto 0;
  padding: 15px;
  background-color: #529554;
  color: #fff;
  text-shadow: 1px 1px 1px #666;
  border: none;
  border-radius: 30px;
  font-size: 1.25rem;
  cursor: pointer;
  transition: background-color 0.3s;
}
#formBox input[type="submit"]:hover {
  background-color: #62b28a;
}

#formBox input[type="text"],
#formBox input[type="email"],
#formBox textarea {
	width: 80%;
	padding :0.5rem;
}

#formBox input[type="text"],
#formBox input[type="email"],
#formBox textarea,
#cretFormSubmit {
	border: 1px solid #888;
}
#formBox input[type="text"]:invalid,
#formBox input[type="email"]:invalid,
#formBox textarea:invalid {
  border-color: #62b28a !important;
  -webkit-box-shadow: 0 0 3px rgba(98, 178, 138, 0.5);
  box-shadow: 0 0 3px rgba(98, 178, 138, 0.5);
	background-color: rgba(107, 237, 0, 0.05);
}

/* -- use cretbird mailform system -----------*/

/* フォーム全体のコンテナ */
#formBox {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
}

/* テーブルの基本設定 */
#formBox table {
  width: 100%;
  border-collapse: collapse;
}

/* 各行の余白 */
#formBox tr {
  border-bottom: 1px solid #eee;
}

/* 見出し（項目名）のスタイル */
#formBox th {
  width: 30%;
  padding: 20px 10px;
  text-align: left;
  vertical-align: middle;
  font-weight: bold;
  font-size: 15px;
}

/* 「必須」ラベルの装飾 */
#formBox th sup {
  display: inline-block;
	position: relative;
  top: -2px;
  border: 1px solid #e74c3c;
  color: #e74c3c;
  padding: 3px 4px;
  border-radius: 2px;
  font-size: 10px;
  margin-left: 5px;
  vertical-align: middle;
	line-height: 1;
}

/* 入力エリアのスタイル */
#formBox td {
  padding: 15px 10px;
}

/* 入力フォーム共通（input, textarea） */
#formBox input[type="text"],
#formBox input[type="email"],
#formBox input[type="tel"],
#formBox textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box; /* 幅を100%に収める */
  font-size: 16px; /* スマホでズームされないサイズ */
  transition: border-color 0.3s;
}

/* フォーカス時の色 */
#formBox input:focus,
#formBox textarea:focus {
  outline: none;
  border-color: #3498db;
  box-shadow: 0 0 5px rgba(52, 152, 219, 0.3);
}

/* テキストエリアの高さ */
#formBox textarea {
  height: 150px;
  line-height: 1.5;
}

/* ラジオボタンの余白 */
#formBox input[type="radio"] {
  margin-right: 5px;
  margin-left: 10px;
}


/* --- SP表示 --- */
@media screen and (max-width: 600px) {
  #formBox th,
  #formBox td {
    display: block;
    width: 100%;
    border-bottom: none;
  }

  #formBox th {
    padding-bottom: 5px;
  }

  #formBox td {
    padding-top: 5px;
  }

  #formBox tr {
    display: block;
    padding-bottom: 15px;
  }
}


