@charset "utf-8";

/*
==================================================
全フォーム共通CSS:モバイル用
==================================================
*/

body{
	font-size:14px;
	line-height:1.8;
	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{
		margin-bottom: 7px;
		text-align:center;
		}
		#header .logo img{
			width:158px;
			height:auto;
			}
	/* 商材ロゴ */
	#header h1{
		margin:0;
		padding:20px 0;
		border-top:1px solid #e0e0e0;
		text-align:center;
		font-size:20px;
		}
	/* 現在地 */
	#step{
		overflow:hidden;
		width:360px;
		height:26px;
		margin:0 auto;
		background:url(../images/img_flow_sp.png) no-repeat;
		background-size:360px 78px;
		text-indent: 100%;
		white-space: nowrap;
		}
	#step.step_1{background-position:0 0;}
	#step.step_2{background-position:0 -26px;}
	#step.step_3{background-position:0 -52px;}

	
/* フッター
---------------------------------------------------------------------------------------------------- */
#footer{
	position:relative;
	margin-top:30px;
	padding:15px 18px;
	background:#363636;
	color:#c5c5c5;
	font-size:10px;
	}
	#footer .seal{
		position:absolute;
		top:30px;
		left:18px;
		}
	#footer .gs_text{
		padding-left:115px;
		}
	#footer .copyright{
		text-align:center;
		color:#919191;
		}

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

/* フォーム用共通
---------------------------------------------------------------------------------------------------- */
form{
	margin:0 8px;
	}
.form{
	margin-bottom:20px;
	color:#565656;
	}
	h2,
	.form > div{
		border-bottom:1px solid #e0e0e0;
		}
	h2{
		margin:25px 0 0;
		padding:0 0 10px 0;
		font-size:17px;
		line-height:1.2;
		}
		h2 > span{
			display:block;
			padding-left:10px;
			border-left:1px solid #515151;
			}
	.form > div{
		padding:3% 8px 2% 8px;
		}
	.form.confirm > div{
		padding:3% 8px 2% 8px;
		font-size: 16px;
		}
.label{
	display:block;
	color:#000;
	font-weight: bold;
	font-size: 14px;
	}
.add{
	font-size:12px;
	color:#666;
	}
br + .add{
	display:block;
	margin-bottom:5px;
	line-height:1.2;
	}
.note{
	margin-top:20px;
	font-size:12px;
	}
hr.sp_dotline{
	border:none;
	border-top:1px dotted #999;
	margin-top:10px;
	padding-top:10px;
	}

/* テキスト入力・セレクト
---------------------------------------- */
input,textarea,select{
	outline:none;
	margin:1.5% 0;
	padding:2%;
	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:96%;
	}
label + .input_short{
	width:204px;
	margin-right:10px;
	}
/*
input[type="date"]{
	width:10em;
	margin-left:10px;
	}
*/
.input_num{
	width:4em;
	}
/*
.hope{
	margin-right:10px;
	margin-bottom:10px;
	}
input.hope{
	}
select.hope{
	width:5em;
	}
*/
.hope_text{
	display: block;
}
.year,.month,.day,.time{
	margin-right: 10px;
	margin-bottom:10px;
	}
.year{
	width: 96px;
	}
.month,.day{
	width: 76px;
	}
.time{
	width: 110px;
	}
.ui-datepicker-trigger{
	cursor: pointer;
	vertical-align: middle;
	}
label.managed{
	margin-bottom:0 !important;
	}
.managed_num{
	display:block;
	text-align:right;
	}
span.hw_text{
	display:block;
	}

/* 必須確認 */
input.required-focus{
	border:1px solid #fc5454;
	background:#ffeaea;
	}
.error{
	margin:-5px 0 0 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:100%;
	height:40px;
	text-indent: 10px;
	border-radius:4px;
	}
/* カレンダー入力 */
input[type=date]{
	height:38px;
	vertical-align: middle;
	}


/* ラジオボタン・チェックボックス
---------------------------------------- */
input[type=radio],
input[type=checkbox] {
	display: inline-block;
	margin-right: 6px;
	}
input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	 
	display: inline-block;
	margin:0 12px 6px 0;
	
	line-height: 30px;
	 
	cursor: pointer;
	}
 
	input[type=radio],
	input[type=checkbox] {
		display: none;
		margin: 0;
	}
	input[type=radio] + label,
	input[type=checkbox] + label {
		padding: 0 0 0 30px;
	}
	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{
	padding:0 8px;
	}
.btn li{
	}
.btn-grey,.btn-blue {
	position: relative;
	width:100%;
	top: 0;
	margin:10px 0 15px 0;
	border-radius: 4px;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border: none;
	font-size:16px;
	}
.btn-grey:hover,.btn-blue:hover {
	top: 2px;
	}
.btn-grey {
	height:42px;
	background: #a5a9af;
	box-shadow: 0 4px #8f8f8f;
	}
.btn-grey:hover {
	background: #b7bac0;
	box-shadow: 0 2px #8f8f8f;
	}
.btn-blue {
	height:60px;
	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{
	margin:0 3%;
	padding: 0 8px;
	font-size:11px;
	color:#676767;
	}
	.privacy > ul{
		text-align:center;
		}

/* 完了画面
---------------------------------------------------------------------------------------------------- */
.completion{
	margin:0 8px;
	font-size:12px;
	}
	.completion > p{
		margin:20px 20px;
		}
	.completion .link{
		text-align:center;
		}

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