@charset "utf-8";

/*
	Form Setting
  Table内に設置する場合は640で
    ブレイクポイントを設定
*/

/****************************************

           General Setting

*****************************************/
.sent .formwrap {
	display: none;
	/**送信完了後のフォームを消去(見えなくする)**/
	webkit-appearance: none;
	/**デバイスごとのデフォルトデザイン解除**/
}

.required {
	width: 70px;
	margin: 0 20px;
	padding: 5px;
	line-height: 1;
	font-size: 80%;
	color: #FFFFFF;
	background-color: #FF3300;
	text-align: center;
	display: inline-block;
}
/****************************************

          Forms

*****************************************/
input[type="text"],
input[type="password"],
input[type="email"],
textarea {
	width: 100%;
	padding: 5px;
	outline: none;
	border: 1px solid #C6C6C6;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background-color: #FCFCFC;
	color: #444444;
	font-size: 100%;
	font-family: inherit;
	/**fontの継承**/
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
	border: 1px solid #FFA500;
	background-color: #FFFFFF;
	color: #444444;
}

/**郵便番号**/
.wpform_zip {
	width: 15%;
	margin-bottom: 10px;
}

/**住所**/
.wpform_addr {
	width: 100%;
	margin: 0;
}

/**電話番号**/
.wpform_number {
	width: 30%;
	margin: 0;
}

	@media only screen and (max-width: 640px) {
		.wpform_addr,
		.wpform_number {
			width: 100%;
		}
	}/*** Media Queries ***/

/**ラジオボタン専用CSS**/
.contact_form input[type="radio"] {
	display: none;
}

.radio_label {
	margin-left: 9px;
	/**↑は変更しないで**/
	padding: 8px 0 8px 18px;
	border-radius: 2px;
	font-size: 1em;
	color: #000000;
	text-align: center;
	line-height: 1;
	display: inline-block;
	cursor: pointer;
	position: relative;
}

.radio_label:before {
	content: "";
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: #FFFFFF;
	border: 1px solid #000000;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: -9px;
}

input[type="radio"]:checked + .radio_label:after {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: #0D699B;
	position: absolute;
	top: 50%;
	left: -4px;
}

	@media only screen and (max-width: 640px) {
		.radio_label:before {
			left: -8px;
		}

		input[type="radio"]:checked + .radio_label:after {
			left: -3px;
		}
	}/*** Media Queries ***/

/**チェックボックス専用CSS**/
.contact_form input[type="checkbox"] {
	display: none;
}

.contact_form label {
	margin: 0;
	padding-left: 27px;
	display: inline-block;
	line-height: 1;
	cursor: pointer;
	position: relative;
}

.contact_form label:before {
	content: '';
	width: 5px;
	height: 9px;
	margin-top: -7px;
	display: block;
	border-right: 2px solid #0D699B;
	border-bottom: 2px solid #0D699B;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 6px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.contact_form .mwform-checkbox-field-text:after {
	width: 16px;
	height: 16px;
	margin-top: -8px;
	display: block;
	border: 1px solid #000000;
	position: absolute;
	top: 44%;
	left: 0;
	/*border-radius: 4px;*/
	/**□にしたければborder-radiusをコメントアウト**/
	content: '';
}

.contact_form input[type=checkbox]:checked ~ .mwform-checkbox-field-text:after {
	opacity: 1;
}

/**セレクトボックス専用CSS**/
.bto_template_slct select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	/**画像はプルダウンの↓の事**/
	width: auto;
	padding: 5px 30px 5px 5px;
	border: 1px solid #C6C6C6;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background-color: #FFFFFF;
	color: #444444;
	font-size: 100%;
	background: url(../img/arrow.png) right 50% no-repeat, -webkit-linear-gradient(top, #FFFFFF 0%,#FCFCFC 100%);
	background: url(../img/arrow.png) right 50% no-repeat, linear-gradient(to bottom, #FFFFFF 0%,#FCFCFC 100%);
	background-size: 20px, 100%;
	/**画像はプルダウンの↑の事**/
	font-family: inherit;
	/**fontの継承**/
}

@-moz-document url-prefix() { /* for firefox */
	.bto_template_slct select {
	background: none;
	background-color: #FFFFFF;
}
}

select::-ms-expand {
	display: none;
}

	@media only screen and (max-width: 480px) {
		.bto_template_slct select {
			width: 100%;
		}
	}/*** Media Queries ***/
/**セレクトボックス専用CSS**/

/**ファイル選択専用CSS**/
/**
<input type="file">は必ず
<div class="select_file">で囲む
<div class="select_file">&nbsp;ファイルを選択[mwform_image name="photo"]</div>
**/
.file_input[type="file"],
input[type="file"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	cursor: pointer;
}

.select_file {
	height: auto;
	margin: 0;
	padding: 10px 10px;
	outline: none;
	border: 1px solid #DFDFDF;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-weight: normal;
	font-size: 100%;
	line-height: 1;
	color: #444444;
	background-color: #DFDFDF;
	text-decoration: none;
	text-align: center;
	display: inline-block;
	overflow: hidden;
	position: relative;
	font-family: inherit;
	/**fontの継承**/
}

.select_file:hover {
	border: 1px solid #CCCCCC;
	color: #CCCCCC;
	background-color: #444444;
}
/**ファイル選択専用CSS**/

.button,
.quotation_button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	width: 256px;
	/*width: auto;*/
	/**文字数に応じて横幅を変える場合(左右のpaddingを取ること)**/
	height: auto;
	padding: 16px 8px;
	outline: none;
	border: 1px solid #C6C6C6;
	border-radius: 4px;
	text-decoration: none;
	text-align: center;
	font-weight: normal;
	font-size: 100%;
	line-height: 1;
	color: #FFA500;
	background-color: #FEFEFE;
	display: inline-block;
	font-family: inherit;
	/**fontの継承**/
	position: relative;
	/**アイコンを擬似要素として使う場合**/

	/**hoverエフェクトを使う場合は生かす**/
/*	display: inline-block;
	z-index: 12;
	overflow: hidden;
	/**hoverエフェクトを使う場合は生かす**/
}

.quotation_button::after {
	font-size: 100%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	/**freeは疑似要素で使う場合サイズ900でないとダメとの噂**/
	content: "\f078";
	position: absolute;
	top: 36%;
	right: 8px;
	/*margin-top: -17px;*/
}

	@media only screen and (min-width: 768px) {
		.button:hover,
		.quotation_button:hover,
		button:hover,
		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover {
			border: 1px solid #C6C6C6;
			color: #FF8C00;
			background-color: #C6C6C6;
			text-decoration: none;
			opacity: 0.7;
			transition: 0.6s;
		}
	}/*** Media Queries ***/

	/*** デフォルトかhoverエフェクトを選択 ***/
	/*** hoverエフェクト(シンボル付きボタンには使用不可) ***/
/*	@media only screen and (min-width: 640px) {
		.button::before,
		.button::after {
			position: absolute;
			z-index: -11;
			display: block;
			content: '';
		}

		.button,
		.button::before,
		.button::after {
			-webkit-transition: all .3s;
			transition: all .3s;
		}

		.button::after {
			/*top: -100%;*/
			/**※TOPから降りてくる場合**/
			/**※今の設定は左から出てくる場合**/
/*			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
		}

		.button:hover::after {
			/*top: 0;*/
			/**※TOPから降りてくる場合**/
/*			left: 0;
			background-color: #2C347D;
		}
	}/*** Media Queries ***/
	/*** hoverエフェクト(シンボル付きボタンには使用不可) ***/

	@media only screen and (max-width: 768px) {
		.button:hover,
		.quotation_button:hover,
		button:hover,
		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover {
			opacity: 1.0;
		}
	}/*** Media Queries ***/

	@media screen and (max-width: 640px) {
		.button,
		.quotation_button,
		button,
		input[type="submit"],
		input[type="reset"],
		input[type="button"] {
			width: 100%;
			height: auto;
			margin: 10px auto;
			display: block;
		}
	}/*** Media Queries ***/

.set_parallel_center {
	margin: 0 24px;
	/**ボタンを横並び中央寄せにさせる時に付与する**/
}

.set_parallel {
	margin: 0 24px 0 0;
	/**ボタンを横並びにのみさせる時に付与する**/
}

@media only screen and (max-width: 640px) {
	.set_parallel_center,
	.set_parallel {
		margin: 12px auto;
		/**SPでは上下にマージン**/
	}
}/*** Media Queries ***/


/****************************************

          Search Form

*****************************************/
#searchform {
	max-width: 100%;
	height: auto;
	margin: 0 0 20px;
	padding: 0;
	text-align: right;
}

@media screen and (max-width: 768px) {
#searchform {
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}
}/*** Media Queries ***/

#s {
	width: 100%;
	max-width: 350px;
	margin: 0;
	padding: 7px;
	outline: none;
	border: 1px solid #C6C6C6;
	color: #444444;
	font-family: 'FontAwesome';
}

#s:focus {
	border: 1px solid #FFA500;
 	color: #444444;

}
