@charset "utf-8";

/** 
 * シンプルなデザインのフォームのCSS
 * 
 * @author T.Hanamura87[at]gmail.com	 
 */

form {
	font-size: 104%;
}
 
#navi_step_box {
	margin-bottom: 30px;
	text-align: center;
}
#navi_step {
	max-width: 100%;
}


.closing_box {
	/*max-width: 550px;*/
	width: 100%;
	border: solid 1px #ddd;
	margin: 0 auto 15px;
	text-align: center;
}
.closing_box .title {
	/*background-color: #f60;*/
	background-color: #4591df;
	color: #fff;
	font-size: 115%;
	font-weight: bold;
	/*
	background: -moz-linear-gradient(top, #f60, #ff9b19);  
	background: -webkit-gradient(linear, left top, left bottom, from(#f60), to(#ffaa32));
	*/
	
	padding: 10px;
	margin: 0 0 10px;
}
.closing_box p {
	padding: 2px 3px;
	margin-bottom: 15px;
}

.tel_box {
	display: block;
	width: 250px;
	margin: 5px auto 15px;
	background-color: #eee;
	border: solid 1px #ccc;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	text-align: center;
}
.tel_box .tel_link {
	display: block;
	padding: 10px;
}
.tel_link {
	font-size: 18px;
	line-height: 25px;
	font-weight: bold;
	color: #9E4534;
}
.tel_link img {
	width: 25px;
	margin-right: 8px;
}
@media screen and (max-width: 480px) {
	.tel_box {
		width: 80%;
	}
	.tel_link img {
		width: 20px;
	}
	.tel_link {
		font-size: 16px;
		text-decoration: underline;
	}
}


.errmsg_area {
	margin-top: 10px;
	margin-bottom: 20px;
	position: relative;
	
	text-align: center;
}
/* ページに固定のヘッダーがある場合用 */
.errmsg_area_target {
	position: absolute;
	top: -0px; /* =ヘッダーの高さ */
}
.errmsg {
	display: none;
	color: #ff4f4f;
	padding-top: 4px;
	padding-left: 34px; /* icon24px+margin10px */
	background: url('../image/form/icon_exclamation.png') no-repeat left center;
}
.err_icon {
	margin-right: 10px;
}

.ssl_desc {
	width: 70%;
	font-size: 14px;
	margin: 0 auto 2em;
}


.input_area {
	margin-bottom: 10px;
	border-top: 1px dotted #cccccc;
}
 
/* 行全体 */ 
.form_box {
	padding: 15px 0;
	/*font-size: 14px;*/
	border-bottom: dotted 1px #cccccc;
	width: 100%;
}

/*** 左側 ***/
.form_title {
	width: 30%;
	text-align: right;
	color: #434343;
	font-weight: bold;
	
	padding-right: 0;
	float: left;
	position:relative;
}
.form_title p {
	line-height: 1.5;
	padding-top: 6px;
	/*padding-left: 40%;*/
	margin: 0;
}

/* 必須マーク */
.input_mark {
	/*margin-left: 1em;
	float: right;*/
	margin-right: 1em;
	background-color: #E7874A;
	padding: 2px 7px;
	
	line-height: 1.3;
	color: white;
	font-size: 79%;
	
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

/*** 右側 ***/
.form_parts {
	width: 65%;
	float: right;
	line-height: 1.3;
}

/* エレメントや注などが入るブロック */
.element_block {
	width: 90%; /* 正誤判定のアイコン分を残す */
	float: left;
}
/* radio, checkboxのエレメントが入るボックス */
.options_box {
	padding-top: 3px;
}

/* とりあえず付けているがあんまりよくない */
@media screen and (max-width: 480px) {
	.form_title {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
		font-weight: bold;
	}
	.form_title p {
		padding-left: 0;
		padding-right: 40px;
	}
	.element_block {
		margin-right: 7px; 
	}
	.form_parts {
		width: 100%;
	}
}


label {
	margin-right: 1em;
	white-space: nowrap;
	width: 100%;
}

.input_note {
	font-size: 86%;
	color: #888;
}

.judge_icon {
	height: 2em;
	margin-left: 8px;
}
.input_errmsg {
	display: block;
	padding-top: 5px;
	
	/*font-weight: bold;
	color: #ff3333;*/
	color: #ff4f4f;
	/*color: #f60;*/
	font-weight: normal;
}



/*********** 確認画面 ***************/
.form_title.conf p {
	width: 50%; /* タイトルが収まるくらいの幅に */
	min-width: 100px;
	float: right;
	padding: 2px 8px;
	
	background-color: #4591df;
	color: white;
	text-align: center;
	font-weight: normal;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

.form_parts.conf p {
	width: 80%;
	margin: 0;
	line-height: 2;
}


/*********** 完了画面 ***************/
.thanks {
	text-align: center;
}
.thanks h2 {
	font-size: 32px;
	/*color: #62ccaa;*/
	color: #9E4534;
	margin-top: 20px;
	margin-bottom: 40px;
}
.thanks p {
	margin-bottom: 2em;
}
.thanks .icon_mail {
	display: block;
	margin: 0 auto 3em;
	width: 120px;
}

.thanks .madoguchi {
	width: 16em;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 60px;
}



/*********** エレメント関連 ***************/
.ime_auto{ ime-mode: auto; }
.ime_active{ ime-mode: active; }
.ime_inactive{ ime-mode: inactive; }
.ime_disabled{ ime-mode: disabled; }

form .err_bg {
	background-color: #ffe2ff !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="file"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus {
	background-color: #eaffee;
}
input[type="text"],
input[type="password"],
input[type="file"],
input[type="date"],
textarea,
select {
	padding: 0 6px;
	margin-bottom: 4px;
	
	background: none repeat scroll 0 0 #fafafa;
	border: 1px solid #dddddd;
	width: 97%;
	height: 2em;
	font-family: inherit;
	font-size: 100%;
	
}
input[type="radio"],
input[type="checkbox"] {
	margin-right: 5px;
	vertical-align: -1px;
}
form textarea {
	resize: both;
	/*white-space: pre;*/
	/*height: 270px; /*@Override*/
	height: auto;
}
select {
	max-width: 16em;
	box-sizing: content-box;
}

/*
.datepick {
	width: 8em !important;
}
*/
/* datepickerのヘッダー部分 */
.ui-widget-header{
	background-image: none;
	background-color:#EAE5DC;
}
/* 年を選択可能にした場合レイアウトが少し崩れるのでそれの対応 */
#ui-datepicker-div.ui-datepicker select.ui-datepicker-month {
    width: 35%;
}

input.zip {
	width: 6em;
	margin-right: 1em;
}
.zip_search_link {
	font-size: 12px;
}

.agreement_area {
	width: 100%;
	text-align: center;
	padding: 5px 0;
}
.agreement_area iframe {
	padding: 5px;
	width: 95%;
	display: block;
	margin: 0 auto 1em auto;
	background-color: #fafafa;
}
.agreement_box {
	margin-bottom: 1em;
}
.agreement_box label {
	float: none; /* override */
}

#zip_search_link {
	margin-right: 1em;
}

/*********** ボタン関連 ***************/
.submit_area {
	text-align: center;
	margin-bottom: 1em;
}
/* これ自体がaタグの場合と
 子にinput[type="submitまたはbutton"]が来る場合がある */
.submit_area .control_btn {
	width: 195px;
	height: 44px;
	display: inline-table;
	margin: 0 25px 25px 0;
	position: relative;
	
	text-align: center;
	line-height: 44px;
	color: #ffffff;
	font-size: 14px;
	
	/*background: none repeat scroll 0 0 #0a9ee6;*/
	background: none repeat scroll 0 0 #4591df;
	border-radius: 5px;
}
.control_btn:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
.control_btn.back {
	width: 150px;
	background: none repeat scroll 0 0 gray;
}
a.control_btn {
	text-decoration: none;
}

input[type="submit"], 
input[type="button"] {
	cursor: pointer;
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
	border: medium none;
	font-family: inherit;
	font-size: 14px;
	color: #ffffff;
	line-height: 44px;
	width: 100%;
}
.control_btn span {
	background: url("../image/form/icon_arrow_r.png") no-repeat scroll 0 0 / 6px auto rgba(0, 0, 0, 0);
	height: 10px;
	margin-top: -5px;
	position: absolute;
	right: 13px;
	top: 50%;
	width: 6px;
}
.control_btn.back span {
	background: url("../image/form/icon_arrow_l.png") no-repeat scroll 0 0 / 6px auto rgba(0, 0, 0, 0);
	left: 13px;
}


