@charset "utf-8";
/*
 * Copyright (c) 2012 takashi shinohara
 * this Library is licensed. http://aulta.jp/library/
 * http://aulta.jp/library/wordpress/contactForm7Confirm.html
 * last update: 2012-02-15, 0.0.1.
 *
 *	MTL 変更履歴
 *	02-OCT-2012	確認画面の文字色等を変更
 *	24-APR-2019	エラーメッセージの表示位置を各フィールドの次に移動
 */

/*
 * 入力時に付加するclass
 */
 h1.entry-title {
 	display: none;
 }
 h2.top_title {
 	background: #E8C843;
 	color: white;
 	padding: 6px 0 5px 18px;
 	margin: 0 0 34px;
 }
 div.contact_top {
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
 	align-items: center;
 	text-align: center;
 }
 div.contact_top h2 {
 	color: #033333;
 	line-height: 34px;
 	font-weight: bold;
 	font-size: 1.375rem;
 }
 div.contact_top p {
 	font-size: 0.875rem;
 	line-height: 24px;
 }
 div.contact_top p.contact_top_last {
 	color: #006699;
 	font-weight: bold;
 	line-height: 24px;
 	font-size: 1rem;
 	margin-top: 39px;
 }
form.wpcf7-form-mode-edit .contact_top_edit {
	display: block;
}
form.wpcf7-form-mode-edit .contact_top_confirm {
	display: none;
}
form.wpcf7-form table {
	border: solid 3px #006699;
	padding: 51px 55px;
	border-collapse: separate;
	margin-bottom: 70px;
	width: 800px;
	margin-inline: auto;
	margin-top: 33px;
	position: relative;
}
form.wpcf7-form table tr {
	display: flex;
	flex-direction: column;
}
form.wpcf7-form table tr th {
	border: 0;
	background: white;
	color: #033333;
	padding: 0 0 9px 0;
}
form.wpcf7-form table tr td {
	border: 0;
	background: #F0F0F0;
	padding: 0;
	margin-bottom: 32px;
}
form.wpcf7-form table tr:last-of-type td {
	margin-bottom: 0;
}
form.wpcf7-form table tr td input[type=text],
form.wpcf7-form table tr td input[type=email],
form.wpcf7-form table tr td textarea,
form.wpcf7-form table tr td p:has(.wpcf7-radio),
form.wpcf7-form-mode-confirm p:has(span.wpcf7-form-control-wrap-confirm) {
	border: 0;
	background: #F0F0F0;
	padding: 20px 35px;
	width: 100%;
}
form.wpcf7-form table tr td .wpcf7-radio {
	display: flex;
	gap: 12px 0;
	flex-wrap: wrap;
}
form.wpcf7-form .wpcf7-form-control-wrap {
	background: white;
}
form.wpcf7-form table tr td .wpcf7-list-item {
	margin: 0 30px 0 0;
}
form.wpcf7-form table tr td .wpcf7-list-item label:has(input[type=radio]) {
	display: flex;
	align-items: center;
	gap: 3px;
}
form.wpcf7-form table tr td input[type="radio"] {
	width: 20px;
	height: 20px;
	background-color: white;
	border-radius: 50%;
	vertical-align: middle;
	border: 1px solid gray;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	cursor: pointer;
	position: relative;
}
form.wpcf7-form table tr td input[type="radio"]:checked {
	background-color: #006699;
	box-shadow: inset 0px 0px 0px 4px white;
}
form.wpcf7-form span.required, form.wpcf7-form span.not_required {
	margin-right: 6px;
	display: inline-block;
	padding: 0px 5px;
	line-height: 17px;
	font-size: 0.875rem;
	font-weight: 600;
	color: white;
}
form.wpcf7-form span.required {
	background: #D01438;
}
form.wpcf7-form span.not_required {
	background: #848484;
}
form.wpcf7-form .policy_header {
	text-align: center;
	color: #033333;
	margin-bottom: 20px;
}
form.wpcf7-form .policy_box {
	height: 335px;
	padding: 29px 44px;
	background: rgba(132, 132, 132, 0.1);
	color: #333333;
	margin-bottom: 30px;
	width: 900px;
	margin-inline: auto;
}
form.wpcf7-form .policy_box p {
	height: 277px;
	overflow-y: scroll;
	-ms-overflow-style: none;  
	scrollbar-width: none;
}
form.wpcf7-form .policy_box p::-webkit-scrollbar {
  display: none;
}
form.wpcf7-form .policy_box p .policy_box_text {
	display: block;
}
form.wpcf7-form-mode-confirm .policy_header,
form.wpcf7-form-mode-confirm .policy_box {
	display: none;
}
form.wpcf7-form .accept_line {
	text-align: center;
	color: #033333;
	font-weight: 500;
	margin-bottom: 88px;
}
form.wpcf7-form .accept_line label {
	display: flex;
	align-items: center;
	gap: 13px;
}
form.wpcf7-form .accept_line label input[type=checkbox]{
	height: 20px;
	width: 20px;
}
/*
 * 確認時に付加するclass
 */
form.wpcf7-form-mode-confirm{
	
}
form.wpcf7-form-mode-confirm th{	/* 問い合わせページのプレビューで、<TH>の幅が広がりすぎるので  */
	width:180px;
}
form.wpcf7-form-mode-confirm .email_confirm_line,
form.wpcf7-form-mode-confirm .accept_line,
form.wpcf7-form-mode-confirm .captcha_line {	/* 確認時に表示しない項目 */
	display: none;
}

/*
 * 「確認へ」を押したときの入力チェックでひっかかった時に表示するメッセージ
 */
/*form.wpcf7-form ul.error-messages{
 *	color:red;
 *}
 */	/* APR-2019 KAZ: revised as follows */
form.wpcf7-form span.wpcf7-form-control-wrap .error-messages {
	display: block;
	color: #D01438;
	background: white;
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 17px;
	letter-spacing: 0.6;
}

/*
 * 入力チェックに引っかかったときに tr.addClass('error')
 */
/*form.wpcf7-form table tr.error td{
 *	background-color:#FFA8EC;
 *}
 */	/* APR-2019 KAZ: c/o */
form.wpcf7-form .wpcf7-not-valid-tip {
	display: none;	/* 2024.10 KAZ */
}
form.wpcf7-form .wpcf7-file + .wpcf7-not-valid-tip {
	display: block;	/* 2024.10 KAZ */
}
form.wpcf7-form table:has(tr.error) {
	padding-top: 88px;
}
form.wpcf7-form tr.error span.error-messages:before {
	content: url("./images/warning_error.svg");
	display: inline-block;
	position: relative;
	top: 2px;
	left: 0;
}
form.wpcf7-form table tr.error td input[type=text],
form.wpcf7-form table tr.error td input[type=email],
form.wpcf7-form table tr.error td textarea,
form.wpcf7-form table tr.error td p:has(.wpcf7-radio) {
	border: 2px solid #D11337;
}
form.wpcf7-form tr.error_warning {
	display: none;
}
form.wpcf7-form tr.error_warning th {
	background-color: #D01438;
	border: 2px solid #D01438;
	width: 579px;
	height: 52px;
	text-align: center;
	margin-inline: auto;
	position: absolute;
	top: -3px;
	color: white;
	line-height: 24px;
	font-size: 1rem;
	font-weight: bold;
	padding: 14px 53px;
	left: calc((800px - 579px) / 2);
}
/*
 * プレビュー時のテキスト
 */
/*form.wpcf7-form table td span.wpcf7-form-control-wrap-confirm{
 *	color:green;
 *}
 */	/* MTL: c/o */
form.wpcf7-form span.wpcf7-form-control-wrap-confirm {	/* MTL */
/*	color: black;
	font-weight: bold; */
	overflow-wrap: break-word;
	word-break: break-word;
}

/*
 * ボタンエリア、確認へ
 */
form.wpcf7-form p.buttons-area-confirm{
	/* padding:20px; */
	text-align: center;
	margin-bottom: 114px;
}
form.wpcf7-form p.buttons-area-confirm input[type=button] {
	font-size: 1.5rem;
	line-height: 30px;
	background: #006699;
	color: white;
	padding: 6.5px 65px 8.5px;
	border: none;
	height: 50px;
}
/*
 * ボタンエリア、書き直す、送信（「書き直す」が加わるため位置調整）
 */
form.wpcf7-form-mode-confirm .contact_top_edit {
	display: none;
}
form.wpcf7-form-mode-confirm .contact_top_confirm {
	display: block;
}
form.wpcf7-form-mode-confirm p.contact_top_last {
	margin-top: 0;
}
form.wpcf7-form-mode-confirm table {
	margin-bottom: 91px;
	margin-top: 35px;
}
form.wpcf7-form-mode-confirm span.required, form.wpcf7-form-mode-confirm span.not_required {
	display: none;
}
form.wpcf7-form p.buttons-area {
	text-align: center;
	margin-bottom: 110px;
}
form.wpcf7-form p.buttons-area .button-rewrite{
	background: white url("./images/arrow_left.svg") no-repeat left 0 center;
	border: none;
	color: #033333;
	font-size: 1.375rem;
	line-height: 30px;
	width: 221px;
	margin-right: 158px;
}
form.wpcf7-form p.buttons-area .wpcf7-submit{
	background: #006699 url("./images/arrow_right.svg") no-repeat right 35px center;
	border: none;
	color: white;
	font-weight: bold;
	line-height: 30px;
	font-size: 1.375rem;
	padding: 8px 35px;
	width: 250px;
	text-align: left;
}
form.wpcf7-form .wpcf7-spinner {
	display: none;
}

/* 送信後 */
form.wpcf7-form div.wpcf7-mail-sent-ok,
.wpcf7-form.sent .wpcf7-response-output {
	display: none;
}

/* 完了画面 */
section#contact_thanks .top_title_h3 {
	text-align: center;
	font-weight: bold;
	line-height: 15px;
	color: #033333;
	margin-bottom: 26px;
}
.thanks_box {
	border: 3px solid #006699;
	text-align: center;
	width: 800px;
	margin-inline: auto;
	padding: 48px 80px 59px;
}
.thanks_box p {
	color: #033333;
	font-size: 1.125rem;
	line-height: 36px;
	margin-bottom: 51px;
}
.thanks_box p:first-of-type {
	margin-bottom: 35px;
}
.thanks_box h3 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 40px;
	color: #006699;
	background: #F0F0F0;
	margin-bottom: 30px;
}
.thanks_box p.demi {
	font-size: 0.875rem;
	text-align: left;
	margin-bottom: 0;
	font-weight: 400;
	line-height: 24px;
}
.sponly {
	display: none;
}
/* スマホ対応 */
@media (max-width: 800px) {
	form.wpcf7-form table {
		width: 100%;
		padding: 25px;
		margin-bottom: 35px;
	}
	form.wpcf7-form .policy_box {
		width: 100%;
	}
	.sponly {
		display: block;
	}
	form.wpcf7-form .accept_line {
		margin-bottom: 40px;
	}
	form.wpcf7-form p.buttons-area-confirm {
		margin-bottom: 50px;
	}
	form.wpcf7-form p.buttons-area {
		margin-bottom: 50px;
		display: flex;
/*		flex-wrap: wrap; */
		flex-direction: column;	/* 2026.3 KAZ */
		align-items: center;	/* 2026.3 KAZ */
		justify-content: center;
		gap: 20px 0;
	}
	form.wpcf7-form p.buttons-area .button-rewrite,
	form.wpcf7-form p.buttons-area .wpcf7-submit {
		margin-right: 0;
		width: 250px;	/* 2026.3 KAZ: was 30% */
/*		min-width: 170px; */
	}
	.thanks_box {
		width: 100%;
		padding: 20px 5%;
	}
	.thanks_box h3 {
		text-wrap: balance;
	}
	form.wpcf7-form tr.error_warning th {
		width: 80%;
		left: 0;
		height: auto;
		position: relative;
		top: -30px;
	}
	form.wpcf7-form table:has(tr.error) {
		padding-top: 25px;
	}
	form.wpcf7-form table tr td .wpcf7-radio {
		flex-direction: column;
	}
	form.wpcf7-form table tr td .wpcf7-list-item {
		margin: 0;
	}
	form.wpcf7-form .wpcf7-form-control-wrap {
		background: unset;
	}
}