#form_1{
	text-align: center;
}

.contactFormArea input {
    font-family : inherit;
    letter-spacing: inherit;
}

.exmsg{
	color:#870404;
	font-size:14px;
}
.formArea{
	width:100%;
	max-width:1000px;
	margin:0 auto;
	padding:30px 0;
}
.formArea h1{
	font-size:30px;
	font-weight:bold;
	margin-bottom:50px;
}
.formArea h1 span{
	margin-left:20px;
}
/*-------------------
 *
 * ------------------ */
.formTbl{
	width:100%;
	border-collapse:collapse;
	margin-bottom:80px;
	border-top:solid 1px #666;
}
.formTbl caption{
	font-size:clamp( 17px , 2.2vw ,  20px);
	font-weight:bold;
	text-align:left;
	margin-bottom:15px;
}
.formTbl th{
	color: #333;
	width: 260px;
	padding:10px 25px;
	text-align:left;
	vertical-align: middle;
	background:#E5F0EB;
	border-bottom:solid 1px #666;
	font-weight:normal;
	position:relative;
  font-family: "Noto Serif JP", serif;
  font-size:16px;
}
.formTbl th span{
	position:absolute;
	display:inline-block;
	text-align:center;
	font-size:13px;
	padding:5px 5px;
	width:45px;
	top: 50%;
	left: 95%;
	transform: translateY(-50%) translateX(-95%);
	-webkit- transform: translateY(-50%) translateX(-95%);
	margin: auto;

}
.formTbl th span.nini{
	background:#337ab7;
}
.formTbl th span.hissu{
	color:#f00;
	font-weight:bold;
}
.formTbl td{
	color: #333;
	padding: 25px 25px;
	vertical-align: middle;
	background:#f9fafb;
	border-bottom:solid 1px #666;
}
.contactFormArea input[type="text"],
.contactFormArea input[type="email"],
.contactFormArea input[type="tel"],
.contactFormArea select,
.contactFormArea textarea
{
    display: block;
    width: 100%;
    padding: 15px 10px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	box-sizing:border-box;
}
.contactFormArea select{
}
.contactFormArea textarea{
	height:130px;
	padding:15px 10px;
}
.chklabel{
	display:block;
    font-size: 16px;
	padding:5px 0;
}



/**/




/* -- */
.ziparea{
	display:flex;
	justify-content:left;
	flex-wrap:wrap;
}
.ziparea #zip{
	flex-basis:150px;
}
.ziparea input[name="zipBtn"]{
	flex-basis:150px;
	margin-left:10px;
}


.formError{
    position:static !important;
    margin: 5px 0 !important;
    display: block;
	color:#870404;
}

/* ----- */
.lblsLst{
	display:flex;
	flex-wrap:wrap;
	gap:5px 5px;
}
.lblsLst label{
	width:calc( (100% - 10px) / 3);
	font-size:15px;
	background:#fff;
	border-radius:5px;
	padding:5px;
	border:solid 1px #ccc;
}
/* ----- */

.fileuploadLst{
	display:flex;
	flex-wrap:wrap;
	gap:10px 0;
}
.fileuploadLst li{
	width:100%;
}

/* ----- */
.confirm{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
/*.confirm__back{
	margin-right:15px;
}
.confirm__back input[type="submit"]{
	background:#727272;
}
*/
.confirm__send input[type="submit"]{

}

.error-messages{
	padding:20px 0;
	color:#870404;
}

@media screen and (max-width: 768px) {

	.formArea h1{
		font-size:16px;
	}
	.formArea h1 img{
		display:block;
		margin-bottom:15px;
	}
	.formTbl{
		width:100%;
	}
	.formTbl th{
		display:block;
		width:100%;
		box-sizing:border-box;
	}
	.formTbl td{
		display:block;
		width:100%;
		box-sizing:border-box;
	}

}

/* ボタンエリア全体 */
.contactFormArea .button-area {
    text-align: center;
    margin-top: 20px;

	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
}



/* リセットボタン */
/* リセットボタン */
.confirm__back button,
button.confirm-back-button,
.contactFormArea input.reset-button {
    -webkit-appearance: none; /* デフォルトスタイルリセット */
    appearance: none; /* デフォルトスタイルリセット */
    background-color: #fff; /* 背景色を白に */
    color: #333; /* 文字色を黒に */
    border: 1px solid #666; /* 枠線 */
    border-radius: 5px; /* 角丸 */
    padding: 15px 26px; /* 余白を調整 */
    font-size: 15px; /* フォントサイズ */
    cursor: pointer; /* カーソル */
    font-family: inherit; /* フォントを親要素から継承 */
    letter-spacing: inherit; /* 文字間隔を親要素から継承 */
	min-width:130px;
}


.contactFormArea input.reset-button:hover {
    background-color: #f0f0f0; /* ホバー時の背景色 */
}


/* 確認画面へボタン (confirm-button クラスを付与) */
.contactFormArea button.confirm-button{
	border: none;
    font-size: 15px;
    font-weight: normal;
    padding: 15px 26px;
	background-color: #808080; /* グレー系の背景色に変更 */
	color:#fff;
	position: relative;
	font-family: inherit;
    border-radius: 5px; /* 角丸 */
	min-width:130px;
}

.contactFormArea button.confirm-button:after{
    position: absolute;
    border: none; /* button.confirm-button には不要なので削除 */
    content: "";
    top: 0; /* :after の枠線をなくすので 0 に */
    bottom: 0; /* :after の枠線をなくすので 0 に */
    left: 0; /* :after の枠線をなくすので 0 に */
    right: 0; /* :after の枠線をなくすので 0 に */
}


.contactFormArea button.confirm-button:hover{
	background-color: #a0a0a0; /* ホバー時の背景色を少し明るく */
}

@media screen and (max-width: 450px) {

	.confirm__back,
	.confirm__send{
		min-width:100%;
	}

	.confirm__back button,
	button.confirm-back-button,
	.contactFormArea input.reset-button ,
	.contactFormArea button.confirm-button{
		min-width:100%;
	}
}


/* -------------- */
.zipBox{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	gap:10px;
}
.zipBox input[name="postal_code"]{
	width:200px;
}
.zipBox input[type="button"]{
	display:inline-block;
	border:solid 1px #ccc;
	padding:10px;
	border-radius:5px;
}


/* -------------- */
select[name="prefecture"]{
	width:200px;
}

/* -------------- */

/* 共通スタイル */
.submitArea {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 4%;          /* 要素間のスペース調整 */
  box-sizing: border-box;
}

/* ul>li／div>form 両方に対応 */
.submitArea > li,
.submitArea > form {
  flex-basis: 32%;  /* 横幅をそれぞれ 32% に */
  box-sizing: border-box;
  margin: 0;        /* 不要マージンリセット */
  padding: 0;
}

/* ボタンを幅いっぱいに */
.submitArea .btn {
  display: block;
  width: 100%;
  box-sizing: border-box;

  background-color: #006633;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: right 10px center;

  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 30px;
  border: none;
  text-align: center;
}

.submitArea .btn:hover {
  background-color: #000;
  cursor: pointer;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .submitArea {
    flex-direction: column;
    gap: 10px 0;
  }

  .submitArea > li,
  .submitArea > form {
    flex-basis: auto;
    width: 100%;
    margin: 0;
  }

  /* フォーム版は順序を入れ替え */
  .submitArea form:first-child {
    order: 2;
    margin-bottom: 10px;
  }
  .submitArea form:last-child {
    order: 1;
    margin-bottom: 0;
  }

  .submitArea .btn {
    width: 100%;
    padding: 20px;
  }
}



.errorMessages{
	background:#fee;
	padding:15px;
	color:#f00;
	margin-bottom:20px;
}


.contactFormArea-lead{
	margin-bottom:50px;
	font-size:16px;
}

.contactFormArea-footer{
	margin-top:80px;
	display:flex;
	flex-wrap:wrap;
	gap:15px;
}

.contactFormArea-footer .pic{
	width:150px;
}
.contactFormArea-footer .pic img{
}

.contactFormArea-footer .txt{
	text-align:left;
	width:calc( 100% - (150px + 15px) );
}

@media screen and (max-width: 767px) { /* Smartphone */
	.contactFormArea-footer .pic{
		width:100%;
		text-align:center;
	}
	.contactFormArea-footer .pic img{
	}

	.contactFormArea-footer .txt{
		text-align:left;
		width:100%;
	}
}








.formPolicy {
  max-height: 200px; /* 固定の高さ（必要に応じて調整） */
  overflow-y: auto;  /* 縦スクロールを有効に */
  padding: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.6;
  text-align:left;
  margin-bottom:20px;
}

/* スクロールバーをスタイリッシュに（WebKit系） */
.formPolicy::-webkit-scrollbar {
  width: 8px;
}

.formPolicy::-webkit-scrollbar-thumb {
  background-color: #bbb;
  border-radius: 4px;
}

.formPolicy::-webkit-scrollbar-track {
  background-color: #eee;
}

.formPolicy__lst{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.formPolicy__lst dt,
.formPolicy__lst dd{
	width:100%;
}

.formPolicy_check {
	margin-bottom:30px;
}
.formPolicy_check input{
	margin-right:10px;
	display:inline-block;
}





.formTelContact{
	border:solid 3px #006633;
	padding:20px;
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	gap:3px;
	margin-bottom:20px;
}

.formTelContact .txt1{
	width:100%;
	text-align:center;
	font-size:16px;
}

.formTelContact .txt2{
	width:100%;
	color:#006633;
	padding:15px 0;
	text-align:center;
}
.formTelContact .txt2 a{
	text-decoration:none;
	color:#006633;
}
.formTelContact .txt2 a:hover{
	text-decoration:underline;
}
.formTelContact .txt2 a img{
	width:100%;
	max-width:242px;
}

.formTelContact .txt3{
	width:100%;
	text-align:center;
	font-size:16px;
}
.formTelContact .txt4{
	width:100%;
	text-align:center;
	font-size:16px;
}


.safemessage{
	background:#e5f0eb;
	padding:15px;
	margin-bottom:20px;
}
.safemessage .tit{
	font-size:18px;
	color:#507F56;
	font-weight:bold;
}
.safemessage .txt{
	font-size:16px;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.formTelContact{
		padding:10px;
	}
	.formTelContact .txt2{
		font-size:25px;
		font-weight:bold;
	}
	.safemessage{
		padding:10px;
	}
}
