@charset "utf-8";

/*
==================================================
全フォーム共通CSS:デスクトップ用
==================================================
*/

body{
	min-width:740px;
	line-height:1.8;
	font-size:14px;
	color:#363636;
	}
h1,h2{
	font-weight:normal;
	}
a{
	color:#009fe8;
	text-decoration:none;
	}
a:hover{
	text-decoration:underline;
	}
ul{
	padding: 0
	}
li{
	list-style:none;
	padding:0;
	}
a[href$=".pdf"]{
	padding:1px 18px 1px 0;
	background:url(../images/ico_pdf.gif) no-repeat 100% 50%;
	}

/* ヘッダー
---------------------------------------------------------------------------------------------------- */
#header{
	}
	/* 商材ロゴ */
	#header .logo{
		max-width:1000px;
		margin:16px auto 7px;
		}
	/* 商材ロゴ */
	#header h1{
		margin:0;
		padding:40px 0;
		border-top:1px solid #e0e0e0;
		text-align:center;
		font-size:30px;
		}
	/* 現在地 */
	#step{
		overflow:hidden;
		width:740px;
		height:46px;
		margin:0 auto 60px;
		background:url(../images/img_flow.png) no-repeat;
		text-indent: 100%;
		white-space: nowrap;
		}
	#step.step_1{background-position:0 0;}
	#step.step_2{background-position:0 -46px;}
	#step.step_3{background-position:0 -92px;}
	
/* フッター
---------------------------------------------------------------------------------------------------- */
#footer{
	margin-top:80px;
	padding:50px 0;
	background:#363636;
	color:#c5c5c5;
	font-size:12px;
	}
	#footer .inside{
		position:relative;
		max-width:1000px;
		height:57px;
		margin:0 auto;
		}
	#footer .seal{
		float:left;
		padding-right:12px;
		}
	#footer .gs_text{
		width:550px;
		}
	#footer .copyright{
		position:absolute;
		right:0;
		bottom:0;
		color:#919191;
		}

/* フォーム用共通
---------------------------------------------------------------------------------------------------- */

/* フォーム用共通
---------------------------------------------------------------------------------------------------- */
form{
	width:740px;
	margin:0 auto;
	}
.form{
	margin-bottom:60px;
	}
	.form > h2,
	.form > div{
		border-bottom:1px solid #e0e0e0;
		}
	.form > h2{
		margin:40px 0 0;
		padding:0 0 10px 0;
		font-size:22px;
		}
	.form > div{
		position:relative;
		padding:17px 0 17px 260px;
		}
	.form.confirm > div{
		padding:19px 0 19px 260px;
		}
.label{
	position:absolute;
	top:50%;
	left:17px;
	margin-top:-12px;
	font-weight: bold;
	}
.add{
	font-size:12px;
	color:#666;
	}
br + .add{
	display:block;
	margin-top:8px;
	}
hr.sp_dotline{
	border:none;
	}

/* テキスト入力・セレクト
---------------------------------------- */
input,textarea,select{
	outline:none;
	padding:8px;
	border:1px solid #999;
	border-radius: 4px;
	background-color:#fff;
	}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
textarea:focus{
	border:1px solid #7bc6f6;
	box-shadow:rgba(123, 199, 246, 0.5) 0px 0px 5px 2px;
	}
.required input[type="text"]:focus,
.required input[type="tel"]:focus,
.required input[type="url"]:focus,
.required input[type="email"]:focus,
.required input[type="password"]:focus,
.required input[type="date"]:focus,
.required input[type="number"]:focus,
.required textarea:focus{
	border:1px solid #fc5454;
	box-shadow:rgba(252, 84, 84, 0.5) 0px 0px 5px 2px;
	}

/* 横幅の指定 */
input,textarea{
	width:440px;
	}
textarea{
	max-width:440px;
	}
.input_short{
	width:204px;
	margin-right:10px;
	}
.input_num{
	width:4em;
	}
/*
.hope{
	margin-right:10px;
	margin-bottom:10px;
	}
input.hope{
	width:200px;
	margin-left:10px;
	}
select.hope{
	width:auto;
	}
*/
.hope_text{
	margin-right: 5px;
}
.year,.month,.day,.time{
	margin-right: 5px;
	margin-bottom:10px;
	}
.year{
	width: 85px;
	}
.month,.day{
	width: 70px;
	}
.time{
	margin-left: 5px;
	width: 110px;
	}
.ui-datepicker-trigger{
	cursor: pointer;
	vertical-align: middle;
	}
.addr_1{
	width:220px;
	}
label.managed{
	width:16em;
	margin-bottom:15px;
	}
input.hw{
	margin:7px 0;
	}
span.hw_text{
	display:block;
	width:10em;
	float:left;
	margin-top:15px;
	}

/* 必須確認 */
input.required-focus{
	border:1px solid #fc5454;
	background:#ffeaea;
	}
.error{
	margin:3px 0 -5px 0;
	color: #fc5454;
	}
	.label:after{
		margin-left:10px;
		padding:4px 5px;
		color:#fff;
		font-size:10px;
		}
	.label:after{
		background:#0c99fc;
		content:'任意';
		}
	.required .label:after{
		background:#fc5454;
		content:'必須';
		}

/* セレクト */
select{
	width:456px;
	height:40px;
	padding:0 30px 0 10px;
	-webkit-appearance: button;
	appearance: button;
	text-overflow:clip;
	background:url(../images/ico_arrow.png) #fff no-repeat 100% 50%;
	border-radius:4px;	
	}
/* for firefox */
select{
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
}
/* for ie */
select::-ms-expand {
	display: none;
	background: none;
}

select[disabled] {
    border:1px solid #FFF;
    color:#FFF;
    background:#FFF;
}

/* ラジオボタン・チェックボックス
---------------------------------------- */
input[type=radio],
input[type=checkbox] {
	display: inline-block;
	margin-right: 6px;
	display: none;
	margin: 0;
	}
input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	 
	display: inline-block;
	margin-right: 12px;
	padding: 0 0 0 30px;
	 
	font-size: 14px;
	line-height: 30px;
	 
	cursor: pointer;
	}

input[type=radio] + label::before,
input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	 
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 20px;
	height: 20px;
	margin-top: -10px;
}
input[type=radio] + label::before {
	border: 1px solid #999;
	border-radius: 50%;
	background: #fff;
}
input[type=checkbox] + label::before {
	border: 1px solid #999;
	background: #fff;
	border-radius:4px;
}
input[type=radio]:checked + label::after,
input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	top: 50%;
	 
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
input[type=radio]:checked + label::after {
	left: 5px;
	 
	width: 10px;
	height: 10px;
	margin-top: -5px;
	 
	background: #666;
	border-radius: 8px;
}
input[type=checkbox]:checked + label::before {
	background:#666;
	}
input[type=checkbox]:checked + label::after {
	left: 4px;
	 
	width: 12px;
	height: 6px;
	margin-top: -4px;
	 
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
	 
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* ボタン
---------------------------------------- */
.btn{
	width:440px;
	height:64px;
	margin:0 auto;
	padding:0;
	text-align:center;
	}
	.btn .send{
		float:right;
		}
	.btn .back{
		float:left;
		}
.btn-grey,.btn-blue {
	position: relative;
	height:60px;
	top: 0;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	border: none;
	font-size:18px;
	}
.btn-grey:hover,.btn-blue:hover {
	top: 2px;
	}
.btn-grey {
	width:120px;
	background: #a5a9af;
	box-shadow: 0 4px #8f8f8f;
	}
.btn-grey:hover {
	background: #b7bac0;
	box-shadow: 0 2px #8f8f8f;
	}
.btn-blue {
	width:280px;
	background: #247ccf;
	box-shadow: 0 4px #256097;
	}
.btn-blue:hover {
	background: #348fe4;
	box-shadow: 0 2px #256097;
	}
.btn-blue:disabled{
	background: #a5a9af;
	box-shadow: 0 4px #8f8f8f;
	}
.btn-blue:hover:disabled {
	top: 0;
	}
	
/*　個人情報取扱について
---------------------------------------- */
.privacy{
	width:740px;
	margin:80px auto 60px;
	font-size:11px;
	color:#666;
	}
	.privacy > ul{
		text-align:center;
		}
		.privacy >ul > li{
			display:inline;
			padding:0 10px;
			}

/* 完了画面
---------------------------------------------------------------------------------------------------- */
.completion{
	width:740px;
	margin:0 auto 200px;
	}
	.completion > h2{
		margin:40px 0 0;
		padding:0 0 10px 0;
		font-size:22px;
		border-bottom:1px solid #e0e0e0;
		}
	.completion > p{
		margin:40px 20px;
		}
	.completion .link{
		text-align:center;
		}

/* reCaptchaチェックボックス
---------------------------------------- */
.recaptchaLayout{
	padding-left: 240px
}
