@charset "utf-8";

/* ===================================================================
CSS information
 file name  :  contact.css
 style info :  /form/input・confirm・complete (旧 nagasaki contact.html 由来)
=================================================================== */
#form_contact{
}

/*** form_area ***/
#form_area{
	max-width:1000px;
	width:auto;
	margin:45px auto 50px;
	padding:0 15px;
	box-sizing:border-box;
}

#form_area h2{
	font-size:33px;
	text-align:center;
	margin:0 0 30px;
}

#form_area p.h2_txt{
	font-size:16px;
	text-align:center;
	margin:0 0 20px;
}

#form_area p.h2_txt span{
	color:#CC1C24;
}

/* バリデーションエラー時のメッセージ (h2_txt 直下、赤枠) */
#form_area p.form_error{
	max-width:920px;
	margin:0 auto 20px;
	padding:12px 15px;
	border:2px solid #FF0004;
	background:#fff5f5;
	color:#CC1C24;
	font-size:15px;
	font-weight:bold;
	text-align:center;
	box-sizing:border-box;
}

/* honeypot (スパム対策): 人間には非表示。画面外へ飛ばす (display:none は一部ボットが回避するため) */
#form_area .form_box .hp_field{
	position:absolute !important;
	left:-9999px !important;
	top:-9999px !important;
	width:1px;
	height:1px;
	overflow:hidden;
}


#form_area .form_box table{
	width:100%;
	max-width:920px;
	margin:0 auto;
	border-top:1px solid #D3CEC9;
	border-right:1px solid #D3CEC9;
}

#form_area .form_box table th{
	border-bottom:1px solid #D3CEC9;
	border-left:1px solid #D3CEC9;
	background:#EEECE7;
	padding:20px;
	font-size:14px;
	text-align:left;
	width:205px;
}

#form_area .form_box table th span{
	float:right;
	display:inline-block;
	background:#B12E04;
	color:#FFF;
	font-size:14px;
	font-weight:normal;
	padding:0 5px;
	border-radius:3px;
}


#form_area .form_box table td{
	border-bottom:1px solid #D3CEC9;
	border-left:1px solid #D3CEC9;
	padding:20px;
	font-size:14px;
}

#form_area .form_box table td span.name{
	display:inline-block;
	width:50px;
	text-align:right;
	padding:0 10px 0 0;
}


#form_area .form_box table td input,
#form_area .form_box table td select,
#form_area .form_box table td textarea{
	box-sizing:border-box;
	max-width:100%;
}

#form_area .form_box table td input{
	padding:5px;
	font-size:14px;
}

#form_area .form_box table td input.box_125{
	width:125px;
}

#form_area .form_box table td input.box_256{
	width:256px;
}

#form_area .form_box table td input.box_80{
	width:80px;
}

#form_area .form_box table td .destination{
	margin:0 0 15px;
}

#form_area .form_box table td select{
	padding:5px;
	font-size:14px;
}

#form_area .form_box table td textarea{
	padding:5px;
	font-size:14px;
	width:100%;
	max-width:600px;
}

#form_area .form_box table td .error-message{
	color:#FF0004;
}

#form_area .form_box .gs_seal{
	float:left;
	padding:20px 0 0 40px;
}


#form_area .form_box .button_box{
	text-align:center;
	margin:30px 80px 30px 40px;
}

#form_area .form_box .button_box input[type="submit"]{
	font-size:18px;
	color:#FFF;
	text-align:center;
	background:#001e3a;
	border-radius:3px;
	border:none;
	padding:10px 60px;
	position:relative;
	cursor:pointer;
}


#form_area .form_box .button_box input[type="submit"]:hover{
	opacity:0.7;
}

/* confirm 画面: 「修正する」リンク (button_box 内、送信ボタンの上) */
#form_area .form_box .button_box p.to_back{
	margin:0 0 15px;
}

#form_area .form_box .button_box p.to_back a{
	display:inline-block;
	background:#8a8a8a;
	color:#FFF;
	font-size:16px;
	padding:8px 40px;
	border-radius:3px;
	text-decoration:none;
}

#form_area .form_box .button_box p.to_back a:hover{
	opacity:0.7;
}

/***** form_contact_done *****/
#form_contact_done{
}

#form_contact_done #message_area{
	max-width:1000px;
	width:auto;
	margin:45px auto 200px;
	padding:30px 15px 50px;
	box-shadow:2px 2px 3px #4F4D4D;
	border:#4F4D4D;
	text-align:center;
	box-sizing:border-box;
}

#form_contact_done #message_area .logo{
	margin:0 0 30px;
}

#form_contact_done #message_area h2{
	font-size:24px;
	font-weight:bold;
	margin:0 0 20px;
}

#form_contact_done #message_area p.h2_txt{
	font-size:18px;
	color:#CC1C24;
	margin:0 0 30px;
}

#form_contact_done #message_area p.to_back a{
	display:inline-block;
	background:#001e3a;
	color:#FFF;
	font-size:18px;
	padding:7px 25px;
	border-radius:3px;
	position:relative;
}

#form_contact_done #message_area p.to_back a:after{
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color:transparent transparent transparent #FFF;
    border-image: none;
    border-style: solid;
    border-width: 5px;
    content: "";
    position: absolute;
    right: 3%;
	top:50%;
	margin-top:-5px;
}

#form_contact_done #message_area p.to_back a:hover{
	opacity:0.7;
}

/* ===================================================================
 レスポンシブ (スマホ実機 = SP レイアウト時)。
 SP テンプレートは作らず、この 1 ファイルで PC/SP 両対応。
 SP レイアウト (sp.php) では common.css が読まれないため、見出し・th 等の
 配色は nagasaki の SmartPhone/form/common.css を参考に合わせている。
 article_header_area / breadcrumb は SP では非表示。
=================================================================== */
@media screen and (max-width:768px){

	/* article_header_area (Form バナー) は SP では非表示 */
	#form_contact #article_header_area,
	#form_contact_done #article_header_area{
		display:none;
	}

	/*** form_area ***/
	#form_area{
		margin:20px auto 30px;
		padding:0;
	}

	/* 見出し「お問い合わせ」: nagasaki SP .top h2 準拠の濃紺バー + 白文字 (th と同色) */
	#form_area h2{
		font-size:16px;
		font-weight:bold;
		background:rgba(0,30,58,1);
		color:#FFF;
		padding:10px 0 10px 15px;
		margin:0 0 15px;
		text-align:left;
	}

	#form_area p.h2_txt{
		font-size:14px;
		text-align:left;
		margin:0 12px 20px;
	}

	#form_area p.form_error{
		margin:0 12px 15px;
		font-size:14px;
		text-align:left;
	}

	/* table を縦積みに */
	#form_area .form_box table{
		width:100%;
		border:none;
	}

	#form_area .form_box table tbody,
	#form_area .form_box table tr,
	#form_area .form_box table th,
	#form_area .form_box table td{
		display:block;
		width:100%;
		box-sizing:border-box;
	}

	/* th (お名前 等): nagasaki SP 準拠の濃紺背景 + 白文字。必須バッジ (th span) は共通の赤 */
	#form_area .form_box table th{
		border:none;
		background:rgba(0,30,58,1);
		color:#FFF;
		padding:10px 15px;
	}

	#form_area .form_box table td{
		border:none;
		border-bottom:1px solid #D3CEC9;
		padding:12px 15px;
	}

	/* 姓/名・セイ/メイ のラベルは block にして横並びを解消 (nagasaki SP 準拠) */
	#form_area .form_box table td span.name{
		display:block;
		width:auto;
		text-align:left;
		padding:0 10px 0 0;
	}

	/* 各入力欄は下マージンを付けて縦積み時に間隔を確保 */
	#form_area .form_box table td input{
		margin:0 0 10px;
	}

	#form_area .form_box table td input.box_125{
		width:70%;
	}

	#form_area .form_box table td input.box_256{
		width:100%;
	}

	#form_area .form_box table td input.box_80{
		width:20%;
	}

	/* 電話番号の「（携帯電話可）」は入力欄の下に */
	#form_area .form_box table td span.tel{
		display:block;
	}

	#form_area .form_box table td select,
	#form_area .form_box table td textarea{
		width:100%;
	}

	#form_area .form_box .button_box{
		margin:25px 0;
	}

	#form_area .form_box .button_box input[type="submit"]{
		font-size:16px;
		padding:12px 40px;
		width:100%;
		max-width:320px;
	}

	#form_area .form_box .button_box p.to_back a{
		font-size:15px;
		padding:8px 30px;
	}

	/* breadcrumb は SP では非表示 */
	#breadcrumb_area{
		display:none;
	}

	/*** form_contact_done ***/
	#form_contact_done #message_area{
		margin:20px auto 60px;
		padding:25px 12px 35px;
	}

	#form_contact_done #message_area h2{
		font-size:20px;
	}

	#form_contact_done #message_area p.h2_txt{
		font-size:15px;
	}

	#form_contact_done #message_area p.to_back a{
		font-size:16px;
	}
}
