/* iOSでのデフォルトスタイルをリセット */






#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;
}

/* ----------
contactTelOnly
   ---------- */
.contactTelOnly{
	border:solid 5px #389D47;
	border-radius:20px;
	overflow:hidden;
	margin-bottom: clamp(30px, 9.6552vw + -6.2069px, 100px); /* Vary between 375px and 1100px */
	padding:15px;
}

/* ---- */
.contactTelOnly .contactTelOnly_title{
	font-size: clamp(16px, 0.9195vw + 8.9655px, 20px); /* Vary between 765px and 1200px */
	text-align:center;
	margin-bottom: clamp(15px, 0.6897vw + 12.4138px, 20px); /* Vary between 375px and 1100px */
}

/* ---- */
.contactTelOnly .contactTelOnly_tel{
}
.contactTelOnly .contactTelOnly_tel a{
	font-family: "lato", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: clamp(20px, 4.5977vw + -15.1724px, 40px);
    color: #006835 !important;
    display: flex ;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: all 0.3s;
}
.contactTelOnly .contactTelOnly_tel a rt{
	font-size:40%;
}

.contactTelOnly .contactTelOnly_tel a img{
}

/* ---- */
.contactTelOnly .contactTelOnly_hours{
	text-align:center;
    font-weight: 700;
    font-style: normal;
	font-size: clamp(16px, 0.9195vw + 8.9655px, 20px); /* Vary between 765px and 1200px */
    color: #006835 !important;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
  .example {
    width: calc(100% - 30px);
  }
}

/* SP */
@media screen and (max-width: 767px) {
	.contactTelOnly .contactTelOnly_tel a img{
		width:25px;
	}
	.contactTelOnly{
		padding:7px;
	}
}


/*-------------------
 *
 * ------------------ */
.contactFormArea-lead{
	margin-bottom:38px;
	font-size: clamp(16px, 0.9195vw + 8.9655px, 20px); /* Vary between 765px and 1200px */
}

/*-------------------
 *
 * ------------------ */
.formTbl-wrap{
	border:solid 5px #389D47;
	border-radius:20px;
	overflow:hidden;
	margin-bottom: clamp(20px, 4.1379vw + 4.4828px, 50px); /* Vary between 375px and 1100px */
}

/*-------------------
 *
 * ------------------ */
.formTbl{
	width:100%;
	border-collapse:collapse;
}
.formTbl caption{
	font-size:clamp( 17px , 2.2vw ,  20px);
	font-weight:bold;
	text-align:left;
	margin-bottom:15px;
}
.formTbl th{
	color: #333;
	width: 245px;
	padding:10px 25px;
	text-align:left;
	vertical-align: middle;
	background:#F3FAF4;
	border-bottom:solid 1px #ACAEAC;
	font-weight:normal;
	position:relative;
	font-weight:bold;
}
.formTbl th span{
	position:absolute;
	display:inline-block;
	/*background:#e9737f;*/
	text-align:center;
	color:#E60101;
	padding:5px 5px;
	width:45px;
	top: 50%;
	left: 95%;
	transform: translateY(-50%) translateX(-95%);
	-webkit- transform: translateY(-50%) translateX(-95%);
	margin: auto;
	border-radius:4px;

}
.formTbl th span.nini{
	background:#337ab7;
}
.formTbl td{
	color: #333;
	padding: 25px 25px;
	vertical-align: middle;
	background:#fff;
	border-bottom:solid 1px #ACAEAC;
}
.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;
	justify-content:left;
	gap:0 10px;
}
.zipBox #postal_code{
	max-width:200px;
}
.zipBox input[type="button"]{
}

.addressBox{
	display:flex;
	justify-content:left;
	flex-wrap:wrap;
	gap:10px 10px;
}



/* --- */

.submitArea .btn,
.btn-submit .btn {
  display: block;
  width: 100%;
  max-width: 435px;
  margin: 0 auto 12px auto; /* ボタン間に余白＋中央寄せ */

  background: #FFB10E;

  border-radius: 10px;
  padding: 10px 15px;
  text-align: center;
  font-size: 16px;
  color: #fff;
  border: none;
  border-bottom: solid 2px #C88803;
  text-decoration: none;
  transition: background 0.3s, box-shadow 0.3s;
  cursor: pointer;
}

.submitArea .btn span,
.btn-submit .btn span {
  display: block;
  width: 100%;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  padding:0 15px;

  background: url(../img/arrow01.png) no-repeat right center;
  background-size:auto 12px;
}

.submitArea .btn:hover,
.btn-submit .btn:hover {
  background: #e89c00;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}


.submitArea-confilm {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.submitArea-confilm form {
  flex: 1 1 0;   /* ボタンの親formに指定するのがポイント！ */
  max-width: 280px; /* 好きな最大幅を指定 */
}

.submitArea-confilm .btn {
  width: 100%;      /* formの幅に合わせて伸びる */
  margin: 0;
}



.btn.btn-fixe{
	background:#9b8351 !important;
	border-bottom-color:#1e1605 !important;
}
.btn.btn-fixe:hover{
	background: #675530 !important;
}


@media screen and (max-width: 767px) {
	.submitArea-confilm {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	.submitArea-confilm form {
		width: 100%;           /* フォームを親の幅に揃える */
		max-width: 280px;      /* 最大幅を指定（お好みで） */
		box-sizing: border-box;
	}

	.submitArea-confilm .btn {
		width: 100%;           /* フォームの幅にフィットさせる */
		box-sizing: border-box;
		margin: 0;
	}
}




/*-------------------
 *formPolicy_check
 * ------------------ */
.formPolicy_check{
	font-size: clamp(16px, 0.9195vw + 8.9655px, 20px); /* Vary between 765px and 1200px */
	margin-bottom: clamp(16px, 0.9195vw + 8.9655px, 20px); /* Vary between 765px and 1200px */
}
.formPolicy_check a{
	color:#E69C01;
	text-decoration: underline #E69C01;
	text-underline-offset: 6px;
}
.formPolicy_check a:hover{
	color:#000;
	text-decoration: underline #000;
}
