@charset "UTF-8";

/*======================================================
 *  お問い合わせ（contact）
======================================================*/

/*******フォームパンくず*******/
.flow {
	text-align: center;
}
.flow li  {
	width: 205px;
	display: inline-block;
	height: 44px;
	background: #e6e6e6;
	text-align: center;
	padding: 14px 0 0;
	position: relative;
	margin: 0; 
	color: #999;
	text-align: center;
}
.flow li:nth-child(2) {
	padding-left: 21px;
}
.flow li:after {
	/*各パンくず右側のCSS*/
	content: "";  
	border-top: 22px solid transparent;
	border-bottom: 22px solid transparent;
	border-left: 15px solid #e6e6e6;
	position: absolute;
	right: -14px;
	top: 0;
	z-index: 1;
}
.flow li:before {
	/*各パンくずの左側のCSS*/
	content: "";  
	border-top: 22px solid transparent;
	border-bottom: 22px solid transparent;
	border-left: 14px solid #fff;
	position: absolute;
	left: 0;
	top: 0;
}
.flow li:first-child:before {
	display: none; 
}
.flow li:last-child:after {
	display: none; 
}
.flow li.current {
	/*現在地*/
	color: #fff;
	background: #000;
}
.flow li.current:after {
	border-left-color: #000;
}


/*注意書き（パンくずの下）*/
.flow + p {
	margin: 40px 0;
}
.complete .flow + p { /*送信完了画面用*/
	margin: 40px 0 50px;
}
p .hissu {
	border: 1px solid #000;
	display: inline-block;
	font-size: 80%;
	width: 3em;
	padding: 0.1em 0;
	text-align: center;
	margin: 0 0.2em;
	vertical-align: 0.1em;
}


/*******フォームテーブル*******/
input,textarea,select{
	font-size:16px;
}

.contents table{
	background-color: #fff;
	border-top:2px solid #ccc;
	border-bottom:2px solid #ccc;
	margin-bottom: 40px;
	width:100%;
}
.contents table th{
	background: #f0f0f0;
	border-bottom:1px solid #ccc;
	font-size:16px;
	line-height: 1.8;
	padding: 20px;
	width: 235px;
	text-align:left;
	font-weight:normal;
	position: relative;
	background-clip: padding-box;
}
.contents table th span {
	display: block;
	position: relative;
}
.contents table th span::after{
	position: absolute;
	content: '必須';
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	background-color: #fff;
	border: 1px solid #000;
	display: block;
	font-size: 80%;
	width: 3em;
	padding: 0.1em 0 0.07em;
	line-height: 1.5;
	text-align: center;
}
.contents table td{
	border-bottom:1px solid #ccc;
	padding: 15px;
	font-size: 16px;
	line-height: 1.8;
}
.contents table #name div,
.contents table #add div,
.contents table #mail div,
.contents table .company div {
	margin-bottom: 15px;
}
.contents table #mail div.sp {
	margin-bottom: 0!important;
}
.confirm .contents table #add div { /*確認ページの住所の行間調整*/
	margin-bottom: 0;
}
.contents table p{
	display: inline-block;
	font-size: 14px;
	margin-left: 0.5em;
}
.contents table #name span{
	width: 2.1em;
	display: inline-block;
    text-align: right;
    margin-right: 10px;
}
.contents table #add span{
	width: 4.1em;
	display:inline-block;
	text-align:right;
	margin-right: 10px;
}
.contents table .radio label {
	padding-right: 2em;
}

/*フォームサイズ*/
select{
	padding: 0.3em 1.5em 0.3em 0.5em;
	border: 1px solid #ccc;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	background: url(../images/select_icon.png) no-repeat center right 0.5em,#fff;
    background-size: 8px;
}
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
input[type=url]{
	padding: 0.3em 0.5em;
	border: 1px solid #ccc;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	line-height: 1;
}
input::-webkit-input-placeholder {
    padding-top: 0.3em;
}
.contents table #name input,
.contents table .company input {
	width: 300px;
}
.contents table #mail input {
	width: 440px;
}
.contents table #add input.input_postal{
	width: 120px;
}
.contents table #add input:not(.input_postal){
	width: 500px;
}
.contents table #number input {
	width: 200px;
}
.contents table .radio input {
	margin-right: 0.2em;
}
.contents table textarea{
	border: 1px solid #ccc;
	width: 100%;
	height: 120px;
	padding: 0.3em 0.5em;
	vertical-align:bottom;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}
.contents table td ul {
	margin-top: 0.5em;
}


/*******reCAPTCHA*******/
.g-recaptcha {
	margin-bottom: 40px;
}
.g-recaptcha > div {
	margin: 0 auto;
}


/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:500px) {


/*******フォームパンくず*******/
/*注意書き（パンくずの下）*/
.flow + p {
	margin: 0 0 5vw;
}
.complete .flow + p { /*送信完了画面用*/
	margin: 0 0 8vw;
}


/*******フォームテーブル*******/
.contents table{
	border: none;
	margin-bottom: 5vw;
}
.contents table th,
.contents table td{
	display: list-item;
	list-style-type:none;
	border: none;
	font-size: 4.3vw;
}
@media screen and (max-width:320px) {
	.contents table th,
	.contents table td{
		font-size: 5vw;
	}	
}

.contents table th{
	border: none;
	padding: 2% 3%;
	width: 100%;
}
.contents table th span::after{
	padding: 0;
}
.contents table td{
	border: none;
	padding: 6% 3%;
	/*font-size: 16px;*/
	line-height: 1.8;
}
.contents table p{
	display: none;
}

.contents table #name div,
.contents table #add div,
.contents table #mail div,
.contents table .company div {
	margin-bottom: 0.75em;
}
.contents table #add span{
	width: 4.2em;
	margin-right: 0.5em;
}

.contents table .radio label {
	/*display: block;*/
}

/*フォームサイズ*/
.contents table input,
.contents table textarea,
.contents table select{
	font-size: 4.3vw;
}
.contents table input,
.contents table select{
	height: 2.3em;
}
@media screen and (max-width:320px) {
	.contents table input,
	.contents table textarea,
	.contents table select{
		font-size: 5vw;
	}	
}

select{
    background-size: 2vw;
}

.contents table #name input {
	width: 100%;
}
.contents table #mail input,
.contents table .company input {
	width: 100%;
}
.contents table #add input.input_postal{
	width: 50%;
}
.contents table #add input:not(.input_postal){
	width: 70%;
}
.contents table #number input {
	width: 100%;
}
.contents table textarea{
	height: 50vw;
}
.contents table #mail .sp,
.contents table td ul {
	font-size: 4vw;
}
.contents table td ul {
	line-height: 1.5;
}



/*******reCAPTCHA*******/
.g-recaptcha {
	margin-bottom: 8vw;
	position: relative;
	width: 100vw;
	left: -5vw;
}



	
}