@charset "utf-8";

	/* ---------- ---------- ---------- ---------- ----------
	 *					table style		
	 * ---------- ---------- ---------- ---------- ---------- */
		table								{ border-collapse:separate; border-spacing:0; width:100%; }
		th, td								{ padding:10px 0; }
		th									{ padding:10px 15px 10px 20px;text-align:left;white-space:nowrap;vertical-align:top;}

		/* ---------- ---------- ---------- ---------- ----------
		*				contactArea
		* ---------- ---------- ---------- ---------- ---------- */
		#contactArea				{ background:linear-gradient(to right,#2e7cc5, #0e4284); padding: 100px 0;  }
		#contactArea .title-bgSet a:hover	{ color: #fff; opacity: 0.8; }

	 /* table */
		.boxForm					{ max-width: 800px; margin: 0 auto; box-sizing: border-box; }
		.boxForm table				{ }
		.boxForm th, .boxForm td	{ box-sizing:border-box; }
		.boxForm table th			{ font-weight: normal; padding:20px 0 13px; width:31%; font-size:15px; text-align: left; color: #fff; position: relative; }
		.boxForm table td			{ padding:13px 0; }

		.boxForm table th.not_required	{ padding-left: 63px; }
		
		.boxForm .required			{ color: #fff; background: #ff9100; padding: 0 10px; font-size:12px; margin:0 0 0 8px;  position:absolute; right:23px; line-height: 1.4; top:25px; }
		.boxForm .notes				{ font-size:78%; margin-top:10px; display:inline-block; }
		
		.enq_radio li				{ width:45%; }
		.enq_radio li:nth-child(6)	{ width:90%; }
	
	/* agree */
		#boxAgree					{ color: #fff; }
		#boxAgree section			{ border: 2px solid #dee4eb; padding:15px; font-size:13px; }
		#boxAgree div				{ padding:20px 25px; margin:0 auto; text-align:center; }
		#boxAgree table,
		#boxAgree table *			{ border: none; }
	
	
	/* input */
		input[id="tel1_1"], input[id="tel1_2"], input[id="tel1_3"], 
		input[id="tel2_1"], input[id="tel2_2"], input[id="tel2_3"], 
		input[id="fax1_1"], input[id="fax1_2"], input[id="fax1_3"] { width: 100% !important; }
		input[id="zip"]				{ width:15%; }
		input[id="addr"]			{ width:85%; }
		input[id="other"]			{ width:80%; }
		
		input[type="radio"], 
		input[type="checkbox"]		{ width:20px; position:relative; /*top:4px;*/ height: 20px; margin-right: 10px; }
		
		
		input						{ width:100%; padding: 10px 10px; border:1px solid #b7b7b7; box-sizing:border-box; }
		
		select						{ width:30%; padding: 8px 10px; border:1px solid #b7b7b7; box-sizing:border-box; }
		textarea					{ width: 100%;  padding: 10px; border:1px solid #b7b7b7; box-sizing:border-box; font-family:"游ゴシック", "Yu Gothic","游ゴシック体", "YuGothic","メイリオ"; height: 165px; }
		input[id="agreement"]		{ width:20px; margin:0 11px 0 0; position:relative; }
	
	/* focus */
		input:focus, 
		select:focus, 
		textarea:focus				{ background:#d9f6ff; border:1px solid #000; outline:0; }

	
		.boxForm h3					{ text-align: center; font-size: 16px; font-weight: normal; margin-bottom: 8px; }

	/* button */
		.btnArea					{ margin-top: 80px; text-align:center; }
		.btnArea > *				{ display: inline-block; background:#fff; color:#004994; padding: 17px; cursor: pointer; font-size:18px; box-sizing:border-box; border:none; width:auto; min-width: 340px; }

		input[type="reset"]			{ background-color: #a3a3a3; }
		
		button:hover,
		input[type="reset"]:hover	{ opacity: 0.7; transition:all .3s; }
			
		button.return:hover			{ opacity: 0.7; transition:all .3s; }

	/* contact-message */
		.contact-message 			{ margin-top: 30px; text-align: center;  }
		.contact-message p			{ color: #fff; font-size: 21px; margin-bottom: 40px; }

	
	/*  contact error */
		input + div, textarea + div, select + div
									{ color: red; margin:5px 0 0; }
		.error-form					{ border-color: #fb9a93 !important; }
		.error-form-add				{ border-color: #fb9a93 !important; }

		div.error					{ font-size:13px; color:#FF4F50; padding:9px 10px 0; margin:0; line-height:150%; }

	/* g-recaptcha*/
	 	.g-recaptcha				{ margin-top: -30px; }

	/* confirm */
		#contactArea .logoArea		{ text-align: center; margin: 35px 0 10px; }
		.confirmBox					{ color: #fff; padding: 0 20px; }
		.boxConfirm					{ padding:20px 50px; }
		.boxConfirm p				{ margin:0 0 30px; }
		.boxConfirm .tblConfirm		{ border-top:1px solid #b7b7b7; border-left:1px solid #b7b7b7;  }
		.boxConfirm .tblConfirm th, 
		.boxConfirm .tblConfirm td	{ border-right:1px solid #b7b7b7; border-bottom:1px solid #b7b7b7; padding:15px 15px; }
		.boxConfirm .tblConfirm th	{ background: #003d80; }
		
		.boxConfirm .btnArea		{ margin-top:100px; display: flex; justify-content: space-between; }
		.boxThank .btnArea a		{ margin: 0 auto; }

		
@media screen and ( max-width:810px ) {
		#contactArea .title-bgSet	{ padding: 0 20px; }
		.boxForm					{ padding: 20px 20px 50px; }

}

@media screen and ( max-width:768px ) {
	/* ---------- ---------- ---------- ---------- ----------
	*					table style		
	* ---------- ---------- ---------- ---------- ---------- */
		table							{ /*border-left:1px solid #ddd; border-right:1px solid #ddd;*/ }
		tr								{ display:block; list-style:none; }
		th								{ display:list-item; border-bottom:0px; padding:15px 10px; }
		td								{ display:list-item; padding:15px 10px; }
		#contact					{ padding: 80px 20px 120px; }
		#contactArea				{ padding: 50px 0; }
		#contactArea .title-bgSet	{ background-size: 320px!important; }
		#contactArea .title h3.fontFutura	{ padding-top: 17px; }

	/* caution */
		.contCaution				{ width:100%; }
		.contCaution section		{ width:100%; margin:0; padding:15px; margin-bottom:30px; font-size:100%; }
	
	/* table */
		.boxForm table th			{ width:100%; display:block; font-size: 14px; }
		.boxForm table th.not_required	{ padding-left: 0; }
		.boxForm table td			{ padding: 0 0 10px; }

		
		.boxForm .example			{ float:none; }
		
		.enq_radio li				{ width:100%; }

		.boxForm .required			{ right: 0; }
		
	
	/* input */
		input[id="tel1_1"], input[id="tel1_2"], input[id="tel1_3"], 
		input[id="tel2_1"], input[id="tel2_2"], input[id="tel2_3"], 
		input[id="fax1_1"], input[id="fax1_2"], input[id="fax1_3"] { width: 100% !important; }
		input						{ width:100%; margin:0 0 5px; }
		input[type="radio"]			{ top:1px; }
		input[id="zip"]				{ width:30%; }
		select						{ width:65%; }
		textarea					{ width:100%; }
	
	/* agree */
		#boxAgree > *				{ padding-right:20px !important; padding-left:20px !important; }
	
	/* button */
		.btnArea > *				{ padding:17px 17%; font-size: 15px; min-width: 240px; }

		.contact-message p			{ font-size: 16px; }
		#contactArea .logoArea img	{ width: 140px; }

		.boxConfirm .btnArea		{ display: block;}

	
}

@media screen and ( max-width:620px ) {

	/* button */
		.btnArea > *				{ padding:12px 12%; margin-right: 0; margin-bottom: 15px; }


}