/* LW Form Mailer - front form styles */
.lwfm-form{max-width:640px;margin:0 auto}
.lwfm-field{margin-bottom:1.25em}
.lwfm-label{display:block;font-weight:600;margin-bottom:.35em}
.lwfm-required{color:#d63638}
.lwfm-field-desc{color:#475569;font-size:.92em;margin:.15em 0 .55em}
.lwfm-field-desc p,.lwfm-field-anno p{margin:0 0 .3em}
.lwfm-field-anno{color:#64748b;font-size:.85em;margin-top:.45em}
.lwfm-form input[type=text],
.lwfm-form input[type=email],
.lwfm-form input[type=tel],
.lwfm-form input[type=url],
.lwfm-form input[type=number],
.lwfm-form input[type=date],
.lwfm-form input[type=month],
.lwfm-form input[type=time],
.lwfm-form input[type=datetime-local],
.lwfm-form select,
.lwfm-form textarea{
	width:100%;box-sizing:border-box;padding:.6em .75em;
	border:1px solid #c3c4c7;border-radius:6px;font-size:1em;line-height:1.5;
}
/* 時間・月など単独入力は横幅を取りすぎないよう上限を設定 */
.lwfm-form input[type=time],
.lwfm-form input[type=month]{max-width:240px}
.lwfm-form input[type=file]{width:100%}
.lwfm-form textarea{min-height:8em;resize:vertical}
.lwfm-choices{display:flex;flex-wrap:wrap;gap:.5em 1.25em}
.lwfm-choices-vertical{flex-direction:column;gap:.5em}
.lwfm-choice{display:inline-flex;align-items:center;gap:.35em;font-weight:400}
.lwfm-agreement{display:inline-flex;align-items:flex-start;gap:.5em;font-weight:400}
.lwfm-submit{margin-top:1.5em;text-align:center}
.lwfm-btn{
	display:inline-block;padding:.8em 2.5em;border:0;border-radius:6px;
	background:#2271b1;color:#fff;font-size:1.05em;font-weight:600;cursor:pointer;text-decoration:none;
	white-space:nowrap;max-width:100%;
}
.lwfm-btn:hover{background:#135e96;color:#fff}
.lwfm-btn:disabled{opacity:.6;cursor:default}
.lwfm-errors{
	background:#fcf0f1;border:1px solid #d63638;border-radius:6px;
	padding:1em 1.25em;margin-bottom:1.5em;color:#8a1f1f;
}
.lwfm-errors ul{margin:0;padding-left:1.2em}
.lwfm-thanks{
	background:#edfaef;border:1px solid #46b450;border-radius:6px;
	padding:1.5em;text-align:center;
}
.lwfm-error{color:#d63638}
/* フォームの説明（タイトル下・フォーム上部） */
.lwfm-form-desc{max-width:640px;margin:0 auto 1.6em;color:#475569;font-size:.95em;line-height:1.8}
.lwfm-form-desc p{margin:0 0 .6em}
/* 説明文・備考 */
.lwfm-field-note{background:#f6f9ff;border:1px solid #dbe6f5;border-radius:8px;padding:1em 1.2em}
.lwfm-note-title{font-weight:700;margin-bottom:.3em}
.lwfm-note-body{color:#334155}
.lwfm-note-body p{margin:0 0 .5em}
.lwfm-note-body p:last-child{margin-bottom:0}
.lwfm-btn-outline{background:#fff;color:#2271b1;border:1px solid #2271b1}
.lwfm-btn-outline:hover{background:#f0f6fc;color:#2271b1}
.lwfm-back{margin-top:1.5em;text-align:center}
/* 確認画面 */
.lwfm-confirm{max-width:640px;margin:0 auto}
.lwfm-confirm-message{margin-bottom:1.25em}
.lwfm-confirm-table{width:100%;border-collapse:collapse;margin-bottom:1.5em}
.lwfm-confirm-table th,.lwfm-confirm-table td{border:1px solid #e2e4e7;padding:.75em 1em;text-align:left;vertical-align:top}
.lwfm-confirm-table th{width:34%;background:#f6f7f7;font-weight:600}
.lwfm-confirm-actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}
.lwfm-confirm-actions .lwfm-btn{min-width:160px}
.lwfm-confirm-send{margin:0}

/* スマホ最適化 */
@media(max-width:640px){
	.lwfm-field{margin-bottom:.9em}
	.lwfm-label{margin-bottom:.25em}
	.lwfm-form textarea{min-height:6em}
	.lwfm-submit{margin-top:1.1em}
	.lwfm-submit .lwfm-btn{display:block;width:100%;padding:.9em 1em;font-size:1em}
	.lwfm-confirm-actions{flex-direction:column-reverse}
	.lwfm-confirm-actions .lwfm-btn,.lwfm-confirm-send{width:100%}
	.lwfm-confirm-send .lwfm-btn{display:block;width:100%}
	.lwfm-confirm-table th{width:38%}
}
