@charset "UTF-8";
/*
  お問い合わせフォーム（/contact/）の見た目
  - いままでのフォーム（mailformpro.css）の見た目を写したもの
  - ページの頭・メニュー・足は、テーマの CSS（opt / common / sub / contact）のまま
*/

/* フォームの置き場所（幅 800px・中央） */
div.formBox {
	width: 800px;
	margin: 0 auto;
	padding-bottom: 70px;
}

.cf-form {
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
}

/* 「* は必須入力の項目です。」 */
.requiredCaution {
	text-align: right;
	font-size: 12px;
	color: #C00;
	padding-bottom: 10px;
}

/* 1つの欄（左：見出し／右：入力） */
.cf-form dl.mailform {
	overflow: hidden;
	margin: 2px 0 0;
}
.cf-form dl.mailform dt {
	float: left;
	clear: both;
	width: 228px;
	height: 100%;
	margin: 0 2px -1000px 0;
	padding: 20px 30px 1000px 20px;
	background-color: #f0f0f0;
	position: relative;
	text-align: right;
	font-size: 12px;
	font-weight: bold;
	color: #666;
	line-height: 1.5;
	display: inline-block;
}
/* 見出しを入力欄に結びつけた label も、ほかの見出しと同じ太さにする */
.cf-form dl.mailform dt label {
	font-weight: inherit;
}
.cf-form dl.mailform dd {
	float: left;
	width: 570px;
	height: 100%;
	margin: 0;
	padding: 20px;
	text-align: left;
	background-color: #f9f9f9;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
}
.cf-form dl.mailform dd ul,
.cf-form dl.mailform dd ol,
.cf-form dl.mailform dd li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 必須の赤い * */
.cf-form .must {
	display: inline-block;
	position: absolute;
	top: 15px;
	right: 10px;
	color: #C00;
	font-size: 16px;
}

/* 選ぶ形の欄（ラジオボタン） */
.cf-form .radioList label {
	display: inline-block;
	margin: 3px;
	padding: 3px;
	border: solid 1px #EEE;
	border-radius: 3px;
	white-space: nowrap;
	cursor: pointer;
}
.cf-form .radioList label:has(input:checked) {
	border-color: #CCC;
	background-color: #E8EEF9;
	box-shadow: 0 1px 3px #CCC inset;
}
.cf-form input[type="radio"],
.cf-form input[type="checkbox"] {
	vertical-align: middle;
	margin: 0 2px;
}

/* 文字を書く欄・一覧から選ぶ欄 */
.cf-form input[type="text"],
.cf-form input[type="email"],
.cf-form input[type="tel"],
.cf-form select,
.cf-form textarea {
	max-width: 90%;
	margin: 2px;
	padding: 3px 8px;
	border: solid 1px #CCC;
	border-radius: 3px;
	box-shadow: 0 0 5px #CCC inset;
	vertical-align: middle;
}
/* 欄の幅（いままでと同じ） */
.cf-form .cf-w90 { width: 90px; }
.cf-form .cf-w180 { width: 180px; }
.cf-form .cf-w240 { width: 240px; }
.cf-form .cf-w300 { width: 300px; }
.cf-form textarea { width: 300px; height: 90px; }

/* 同意のチェック */
.cf-consent {
	margin-top: 2px;
	padding: 20px;
	background-color: #f9f9f9;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.5;
	color: #333;
}
.cf-consent label {
	cursor: pointer;
}
.cf-consent .cf-mark {
	color: #C00;
	font-size: 16px;
	margin-right: 4px;
	vertical-align: middle;
}
.cf-consent a {
	color: #000;
	text-decoration: underline;
}
.cf-consent .cf-err {
	text-align: center;
}

/* エラー */
.cf-err {
	clear: both;
	margin: 5px 0 0;
	padding: 3px 0 5px;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	text-align: left;
	white-space: pre-line;
}
.cf-err[hidden] {
	display: none;
}
.cf-form .problem {
	background-color: #FCC;
}

/* ボタン */
div.mfp_buttons {
	clear: both;
	padding: 10px 0;
	text-align: center;
}
div.mfp_buttons button {
	margin: 0 4px;
	padding: 10px 20px;
	border: solid 1px #CCC;
	border-radius: 5px;
	background: #eee;
	color: #333;
	text-shadow: 0 2px 0 #FFF;
	font-size: 16px;
	cursor: pointer;
}
div.mfp_buttons button:hover {
	background: #DEDEDE;
	box-shadow: 0 1px 5px #CCC inset;
}
div.mfp_buttons button:disabled {
	cursor: default;
	opacity: .6;
}

/* 送れなかったときなどのお知らせ（ボタンの上） */
.cf-status {
	margin: 10px 0 0;
	padding: 10px;
	background-color: #FEE;
	border: solid 1px #F00;
	color: #F00;
	font-size: 14px;
	text-align: center;
}
.cf-status[hidden] {
	display: none;
}

/* JavaScript が動かないときのお知らせ */
.cf-noscript {
	padding: 10px;
	background-color: #FEE;
	border: solid 1px #F00;
	color: #F00;
	font-size: 14px;
	text-align: center;
}

/* 確認の画面 */
.cf-confirm-box {
	padding: 20px;
	background-color: #f9f9f9;
}
.cf-confirm-box h4 {
	padding: 10px 0 20px;
	color: #666;
	font-size: 18px;
	text-align: center;
}
.cf-confirm-box h4:focus {
	outline: none;
}
table.cf-confirm-table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
table.cf-confirm-table tr:nth-child(odd) {
	background-color: #F6F7F9;
}
table.cf-confirm-table tr:nth-child(even) {
	background-color: #FFF;
}
table.cf-confirm-table th,
table.cf-confirm-table td {
	padding: 5px 10px;
	border-top: solid 1px #CCC;
	color: #333;
	font-size: 12px;
	text-align: left;
	vertical-align: top;
}
table.cf-confirm-table th {
	width: 200px;
	white-space: nowrap;
}
table.cf-confirm-table td {
	line-height: 1.5em;
	word-break: break-all;
	white-space: pre-wrap;
}
.cf-confirm-agree {
	padding: 10px 10px 0;
	color: #333;
	font-size: 12px;
	text-align: center;
}

/* 人には見えない欄（迷惑な送信を見分けるためのもの） */
.cf-hp {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* スマホの幅 */
@media screen and (max-width: 800px) {
	div.mfp_buttons button {
		font-size: 14px;
	}
	/* 見出しの列は、見出しの文字が1行に入る幅にする */
	table.cf-confirm-table th {
		width: 1%;
	}
}
@media screen and (max-width: 736px) {
	div.formBox {
		width: 100%;
		padding: 0 10px;
	}
	.cf-form dl.mailform dt {
		width: 100%;
		margin: 0;
		padding: 20px 10px;
		text-align: left;
	}
	.cf-form dl.mailform dd {
		width: 100%;
		padding: 20px 5px 20px 10px;
		font-size: 10px;
	}
	.cf-form .must {
		top: 0;
		right: 0;
		margin: 0 10px 0 0;
	}
}
