@charset "utf-8";
/********************************************************************

  お問合わせ用スタイルシート

/********************************************************************/

.formRow.recaptcha{
	margin:25px 0;
	text-align:center;
}

.formRow.recaptcha .g-recaptcha{
	display:inline-block;
}

.formRow.recaptcha .error{
	margin-top:8px;
	color:#d00;
	font-size:0.9rem;
}

/* ハニーポット */
.hp-field{
	position:absolute !important;
	left:-9999px !important;
	top:-9999px !important;
	width:1px;
	height:1px;
	overflow:hidden;
}

.contact-table {
	/*margin: 0 10px 30px 10px;*/
	width: 100%;
	border-collapse: collapse;
}

.contact-table th,
.contact-table td {
	padding: 14px;
	border-bottom: 4px solid #fff;
	line-height: 1.1em;
}

.contact-table th {
	width: 240px;
	background: #f5f8fc;
	text-align: left;
	font-weight: bold;
	align-items: center;
	font-size: 0.9rem;
}

.contact-table td {
	background:#fff;
}

.contact-table label {
	display:block;
	font-weight:bold;
}

.required {
	display: inline-block;
	margin-left: 4px;
	padding: 1px 4px;
	background: #e53935;
	color: #fff;
	font-size: .70rem;
	border-radius: 3px;
	font-weight: normal;
	vertical-align: middle;
}

.contact-table input[type="text"],
.contact-table input[type="email"],
.contact-table input[type="tel"],
.contact-table select {
	width: 50%;
	padding: 10px 12px;
	font-size: 1rem;
	border: 1px solid #ccc;
	border-radius: 3px;
	box-sizing: border-box;
	background: #fff;
	transition: border-color .2s;
}

.contact-table input[type="text"],
.contact-table input[type="email"],
.contact-table input[type="tel"],
.contact-table select,
.contact-table textarea {
	width:100%;
	padding:10px;
	border:1px solid #cbd5e1;
	border-radius:3px;
	font-size:1rem;
	font-family:inherit;
	background:#fff;
	box-sizing:border-box;

	transition:
		border-color .2s,
		box-shadow .2s;
}

.contact-table input:focus,
.contact-table select:focus,
.contact-table textarea:focus{
	outline:none;
	border-color:#3498db;
	box-shadow:0 0 0 3px rgba(52,152,219,.15);
}

.contact-table textarea {
	resize:vertical;
	min-height:220px;
}

.message-count {
	margin-top:6px;
	font-size:.85rem;
	color:#777;
	text-align:right;
}

.error {
	margin-top:6px;
	color:#dc2626;
	font-size:.85rem;
	font-weight:bold;
}

.privacy-box {
	margin :10px 0;
	padding:15px;
	background:#f8fafc;
	border:1px solid #dbeafe;
	border-radius:3px;
}

.privacy-box label {
	cursor:pointer;
	line-height:1.8;
}

.privacy-box input[type="checkbox"] {
	margin-right:8px;
}

.privacy-box a {
	color:#2563eb;
	text-decoration:none;
}

.privacy-box a:hover {
	text-decoration:underline;
}

.form-button {
	display:flex;
	justify-content:center;
	gap:20px;
	margin:40px 0;
}

.form-button button[type="reset"],
.form-button button[type="submit"] {
	min-width: 220px;
	padding: 5px 20px;
	border: none;
	border-radius: 3px;
	font-size: 1rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.form-button button.arrow::after {
	font-family: "Font Awesome 5 Free";
	content: "\f0a9";
	color: #fff;
	font-weight: bold;
	display: inline-block;
	padding-left: 15px;
	transform: scale(1.4);
	transition: 0.3s;
}

.form-button button[type="reset"] {
	background-color: #ccc;
	color: #333;
}
.form-button button[type="submit"] {
	background-color: #3498db;
	color: #fff;
}

.form-button input:hover,
.form-button button:hover {
	filter: brightness(1.1);
	color: #fff;
}

.form-button button.arrow:hover::after {
	transform: scale(1.5) translateX(1px);
}

.form-button input:active {
	transform:none;
}

.contact-complete {
	text-align: center;
	padding: 30px 10px;
}

.contact-complete p {
	line-height:2;
}

/********************************************************************
  スマホ
********************************************************************/
@media screen and (max-width:999px) {

	.contact-table,
	.contact-table tbody,
	.contact-table tr,
	.contact-table th,
	.contact-table td{
		display:block;
		width:100%;
		box-sizing:border-box;
	}

	.contact-table tr {
		margin-bottom:20px;
		border-bottom:1px solid #e5e7eb;
	}

	.contact-table th{
		width:auto;
		padding:12px;
		border:none;
	}

	.contact-table td {
		padding:12px;
		border:none;
	}

	.form-button{
		flex-direction:column;
		align-items:center;
	}

	.form-button input[type="submit"],
	.form-button input[type="reset"]{
		width:80%;
		max-width: 220px;
	}

}