/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 13 2025 | 20:19:25 */
/* お問い合わせフォーム */

.contactWrap {
	position: relative;
	border: 1px solid #bebebe;
	z-index: 1;
}
@media (min-width: 600px) {
	.contactWrap .item {
		display: flex;
		align-items: center;
	}
}
.contactWrap .item dt {
	width: min(344px, 25%);
	background-color: #F6F6F6;
	display: grid;
	align-items: center;
	height: auto;
	align-self: stretch;
	padding-left: 20px;
	padding-right: 20px;
	min-height: 150px;
}
.contactWrap .item:not(:last-of-type) dt {
	border-bottom: 1px solid #bebebe;
}
@media (max-width: 599px) {
	.contactWrap .item dt {
		width: 100%;
		min-height: 100px;
	}
}
.contactWrap .item:not(.textarea) dt {
	height: 150px;
}
.contactWrap .item.textarea dt {
	background-color: #fff;
	align-self: flex-start;
}
@media (max-width: 599px) {
	.contactWrap .item:not(.textarea) dt  {
		height: 80px;
		min-height: 80px;
	}
}
.contactWrap .item dt span.required {
	background-color: #C72027;
	display: block;
	width: max-content;
	color: #fff;
	padding: 2px 10px;
	font-size: .8em;
}
@media (max-width: 599px) {
	.contactWrap .item dt > span > span.required,
	.contactWrap .item dt > span > span.any {
		display: inline-block;
		margin-left: 10px;
	}
}
.contactWrap .item dt span.any {
	background-color: #646464;
	display: block;
	width: max-content;
	color: #fff;
	padding: 2px 10px;
	font-size: .8em;
}
.contactWrap .item dd {
	width: 75%;
	display: grid;
	place-items: center;
	background-color: #fff;
	height: 100%;
}
.contactWrap .item:not(:last-of-type) dd {
	border-bottom: 1px solid #bebebe;
}
@media (max-width: 599px) {
	.contactWrap .item dd {
		width: 100%;
	}
}
.contactWrap .item:not(.textarea) dd {
	height: 150px;
}
@media (max-width: 599px) {
	.contactWrap .item:not(.textarea) dd {
		height: 100px;
	}
}
.contactWrap .item.textarea dd {
	padding-bottom: 100px!important;
}
@media (max-width: 599px) {
	.contactWrap .item.textarea dd {
		padding-bottom: 40px!important;
	}
}
@media (max-width: 599px) {
	.contactWrap .item dd {
		width: 100%;
	}
}
.contactWrap .wpcf7-form-control-wrap {
	text-align: center;
}
.contactWrap input[type="text"],
.contactWrap input[type="email"],
.contactWrap input[type="tel"],
.contactWrap textarea {
	width: min(590px, 60vw);
	padding: 1em;
	border: 1px solid #bebebe;
	line-height: 1.6;
}
@media (max-width: 599px) {
	.contactWrap input[type="text"],
	.contactWrap input[type="email"],
	.contactWrap input[type="tel"],
	.contactWrap textarea {
		width: 95%;
	}
}
.contactWrap textarea {
	margin-top: 50px;
	resize: vertical; 
	min-height: 200px;
}
@media (max-width: 599px) {
	.contactWrap textarea {
		margin-top: 15px;
	}
}
.privacyWrap {
	width: min(570px, 100%);
	margin: 60px auto;
}
.privacyWrap .linkPrivacy {
	font-weight: normal;
	color: #333;
	border-bottom: 1px solid #333;
}


/* ボタン */
label.submit {
	margin: 0 auto;
	display: block;
	width: max-content!important;
	position: relative;
	width: 100%;
	padding: 40px 45px 40px 13%!important;
	gap: 55px!important;
	transition: .2s;
	background-color: #E5DF08;
	font-weight: bold;
	border-radius: 10px;
	border: 4px solid #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
	z-index: 2;
}
@media (max-width: 599px) {
	label.submit { 
		padding: 30px 20px 30px 10%!important;
		gap: 20px!important;
	}
}
.wpcf7 label.submit input[type="submit"] {
	font-weight: bold;
	letter-spacing: .2em;
}
@media (max-width: 599px) {
	.wpcf7 label.submit .wpcf7-spinner {
		position: absolute;
		top: 0;
		left: 0;
	}
}
label.submit .mask {
	position: absolute;
	content: "";
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	inset: 3px;
	transition: .2s;
	background: #fff;
	border-radius: 10px;
	opacity: 0;
	z-index: -1;
}
label.submit {
	cursor: pointer;
}
label.submit input {
	position: relative;
	background: transparent;
	border: 0;
	line-height: 1;
	transition: .1s;
}
label.submit svg {
	position: relative;
	transform: rotate(90deg);
	font-size: .75em;
}
label.submit svg {
	transition: .1s;
}
label.submit:hover .mask {
	opacity: 1;
}
label.submit:hover input[type="submit"] {
	color: #DDA63A;
}
label.submit:hover svg {
	fill: #DDA63A;
}
label.submit br {
	display: none;
}

.cf7-cf-turnstile {
	margin-top: 20px!important;
}
.cf7-cf-turnstile div {
	text-align: center!important;
}