/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 21 2025 | 04:21:36 */
/* ===== CF7 Quick Pretty CSS ===== */
:root{
	--bg: #ffffff;
	--card: #ffffff;
	--text: #1f2937;
	/* slate-800 */
	--muted:#6b7280;
	/* slate-500 */
	--line:#e5e7eb;
	/* slate-200 */
	--primary:#2563eb;
	/* indigo-600 */
	--primary-press:#1d4ed8;
	--ring:#93c5fd;
	/* sky-300 */
	--error:#ef4444;
	/* red-500 */
	--success:#16a34a;
	/* green-600 */
	--radius:16px;
	--shadow:0 8px 30px rgba(0,0,0,.06);
}
@media (prefers-color-scheme: dark){
	:root{
		--bg:#0b1020;
		--card:#0f172a;
		/* slate-900 */
		--text:#e5e7eb;
		/* slate-200 */
		--muted:#9ca3af;
		/* slate-400 */
		--line:#1f2937;
		/* slate-800 */
		--primary:#60a5fa;
		/* blue-400 */
		--primary-press:#3b82f6;
		--ring:#1d4ed8;
		--shadow:0 12px 40px rgba(0,0,0,.35);
	}
}
/* 全体のベース */
body{
	background:var(--bg);
	color:var(--text);
}
.wpcf7{
	max-width: 760px;
	margin: 40px auto;
	padding: 0 16px;
	margin-top: 12px;
}
.wpcf7 form{
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 0;
	box-shadow: var(--shadow);
	padding: clamp(20px, 4vw, 36px);
}
.wpcf7 .contact-phone{
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 0;
	box-shadow: var(--shadow);
	padding: clamp(20px, 4vw, 36px);
}
label:first-child span{
	line-height: 34px;
}
/* ラベル + コントロールの縦並びを安定化 */
.wpcf7 form label{
	display:block;
	font-size: 14px;
	color: var(--muted);
	margin: 14px 0 8px;
}
/* 入力要素の共通スタイル */
.wpcf7-form-control{
	width: 100%;
	box-sizing: border-box;
	background: #fff !important;
	color: var(--text);
	border: 1.5px solid var(--line);
	/*   border-radius: 12px; */
	padding: 12px 14px;
	font-size: 16px;
	line-height: 1.4;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.wpcf7-form-control:focus{
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ring) 40%, transparent);
	background: color-mix(in srgb, var(--primary) 8%, var(--card));
}
/* テキストエリアの高さ */
textarea.wpcf7-form-control{
	min-height: 140px;
	resize: vertical;
}
/* 必須マーク（*）をきれいに */
label:has(.wpcf7-form-control-wrap) {
	position: relative;
	margin-top:20px;
}
label:has([aria-required="true"])::before{
	content:"*";
	color: var(--primary);
	margin-left: 6px;
	font-weight: 700;
}
/* 2列レイアウト（大きい画面で） */
.wpcf7 form .two-col{
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 720px){
	.wpcf7 form .two-col{
		grid-template-columns: 1fr 1fr;
	}
}
/* 送信ボタン */
.wpcf7 .wpcf7-submit{
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin-top: 8px;
	padding: 14px 18px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(180deg, #28486a, #28486a);
	border: none;
	border-radius: 0;
	cursor: pointer;
	/*   transition: transform .06s ease, filter .2s ease, box-shadow .2s ease;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 35%, transparent); */
}
.wpcf7 .wpcf7-submit:hover{
	filter: brightness(1.03);
}
.wpcf7 .wpcf7-submit:active{
	transform: translateY(1px);
}
.wpcf7-spinner{
	margin-left: 10px;
}
/* エラー/成功メッセージ */
.wpcf7-not-valid{
	border-color: color-mix(in srgb, var(--error) 70%, var(--line));
	background: color-mix(in srgb, var(--error) 6%, transparent);
}
.wpcf7-not-valid-tip{
	display:block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--error);
}
.wpcf7 .wpcf7-response-output{
	margin-top: 18px;
	/*   border-radius: 12px; */
	border: 1px dashed var(--line);
	padding: 12px 14px;
	font-size: 14px;
}
.wpcf7 form.sent .wpcf7-response-output{
	border-color: color-mix(in srgb, var(--success) 60%, var(--line));
	background: color-mix(in srgb, var(--success) 8%, transparent);
	color: var(--success);
}
.wpcf7 form.invalid .wpcf7-response-output{
	border-color: color-mix(in srgb, var(--error) 60%, var(--line));
	background: color-mix(in srgb, var(--error) 8%, transparent);
	color: var(--error);
}
/* 微アニメーション */
.wpcf7-form-control,
.wpcf7 .wpcf7-submit{
	will-change: transform, box-shadow, border-color;
}
/* ===== お好み：カード見出しや余白の追加（任意） ===== */
.wpcf7.title{
	color:#28486A;
	font-size: clamp(18px, 2.6vw, 22px);
	font-weight: 700;
	margin: 0;
	padding:0;
	margin-bottom: 32px;
	line-height:0.8px;
}
.wpcf7.title p{
	margin: 0;
}
.wpcf7 form::after{
	content:"必要事項をご入力の上、送信してください。";
	display:block;
	color: var(--muted);
	font-size: 13px;
	margin-bottom: 14px;
}
.contact-phone{
	/* 	max-width:728px; */
	margin: 40px auto;
	padding: 0 16px;
	margin-top: 12px;
}
.contact-phone{
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 0;
	box-shadow: var(--shadow);
	padding: clamp(20px, 4vw, 36px);
	/* 	max-width:43%; */
}
.wpcf7.contact-phone {
	max-width: 728px;
	padding: clamp(20px, 4vw, 36px);
	width: 728px;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background-color: #28486a !important;
}
@media (min-width: 1530px){
	.wpcf7.contact-phone {
		max-width:728px;
		margin: 40px auto;
	}
}
@media (min-width: 1367px){
	.wpcf7 .contact-phone {
		min-width:728px;
	}
}
@media (max-width: 1199px){
	.elementor-2520 .elementor-element.elementor-element-ea8b174 
	width: 43%;
	max-width:499px;
}
}
@media (max-width: 1366px){
	.wpcf7 .contact-phone {
		width:502px;
	}
	.elementor-element.elementor-element-a33219e.wpcf7.contact-phone.elementor-widget.elementor-widget-text-editor {
		width: 502px!important;
	}
	.wpcf7 .contact-phone{
		max-width:502px !important;
	}
	.wpcf7 .contact-phone{
		width:500px;
	}
	.screen-reader-response .contact-phone{
		width:500px;
	}
}
@media (min-width: 1201px){
	.wpcf7 .contact-phone{
		width: 499px;
	}
}
@media (max-width: 1200px){
	
	.wpcf7 form label{
		color:#0c0d0e;
		
	}
	.wpcf7 form,.contact-phone{
		margin: 40px auto;
		padding: 0 16px;
		margin-top: 12px;
	}
	.wpcf7 .contact-phone{
		width: 450px;
		margin-bottom:20px;
	}
	form .wpcf7.title{
		margin-bottom: 6px;
		line-height: 62px;
	}
}
@media (max-width: 767px){
	
	.wpcf7{
		margin:0;
		margin:auto;
	}
	.wpcf7-list-item{
		margin:0 !important;
	}
	span.wpcf7-form-control.wpcf7-acceptance {
		margin: 0;
		padding: 0;
	}
	.elementor-2520 .elementor-element.elementor-element-ea8b174 {
		width: 43%;
		max-width:499px;
	}
	span.wpcf7-list-item {
		width: 91%;
		word-break: break-all;
		margin: 0;
	}
	.wpcf7 form,.wpcf7 .contact-phone{
		box-shadow: 1.2px 4px 8px rgb(0 0 0 / 8%);
		border: 1px solid #ccc;
		background-color:#fff;
	}
	.wpcf7 .contact-phone {
		width: 443px;
		max-width: 100%;
		margin-bottom: 0px;
	}
	
	.contact-phone .wpcf7.title{
		margin-bottom: 16px;
		line-height: normal;
	}
}
