@charset 'utf-8';

/* ------------------------------
 お見積り依頼・お問い合わせ
------------------------------ */

body {
	padding-bottom: 0;
}

#header {
	padding: 27px 30px 27px;
}

.section_inner {
	padding: 40px 30px 80px;
}

.tl {
	padding: 28px 30px;
	font-size: 40px;
}

#step {
	width: 640px;
	margin: 0 auto 40px;
}

#p_form {
	margin: 0 auto 20px;
	text-align: center;
}

#ssl {
	margin-bottom: 40px;
}

#ssl_seal {
	float: left;
	width: 121px;
	margin-right: 20px;
}

#ssl p {
	font-size: 20px;
	line-height: 30px;
}

#form_input dt,
#form_confirm dt {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 30px;
	line-height: 40px;
}

.important,
.optional {
	padding-right: 90px;
}

.important {
	color: #000;
	background: url(/img/sp/form/important.png) no-repeat right center;
}

.optional {
	color: #999;
	background: url(/img/sp/form/optional.png) no-repeat right center;
}

#form_input dd,
#form_confirm dd {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 2px dotted #999;
}

#form_input dd:last-child,
#form_confirm dd:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

#form_confirm dd {
	color: #000;
	font-weight: bold;
	font-size: 40px;
	line-height: 50px;
}

.input_txt,
.select,
.textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	color: #000;
	font-size: 32px;
	line-height: 40px;
	border: 2px solid #ccc;
	border-radius: 8px;
}

.input_txt_half {
	width: 50%;
}

.select {
	margin-right: 10px;
}

.textarea {
	height: 200px;
}

#form_input dl dd select {
	width: auto;
}

.focus {
	background: #ffc;
}

.flex {
	display: flex;
}

.check li {
	margin: 20px 0;
	padding: 10px;
}

.check input[type='radio'],
.check input[type='checkbox'] {
	display: inline-block;
	margin-right: 6px;
}

.check input[type='radio'] + label,
.check input[type='checkbox'] + label {
	position: relative;
	display: inline-block;
	margin-right: 12px;
	font-size: 35px;
	line-height: 40px;
	cursor: pointer;
}

@media (min-width: 1px) {
	.check input[type='radio'],
	.check input[type='checkbox'] {
		display: none;
		margin: 0;
	}

	.check input[type='radio'] + label,
	.check input[type='checkbox'] + label {
		padding: 0 0 0 48px;
	}

	.check input[type='radio'] + label::before,
	.check input[type='checkbox'] + label::before {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		width: 36px;
		height: 36px;
		margin-top: -18px;
		background: #fff;
		content: '';
	}

	.check input[type='radio'] + label::before {
		border: 4px solid #ccc;
		border-radius: 60px;
	}

	.check input[type='checkbox'] + label::before {
		border: 4px solid #ccc;
	}

	.check input[type='radio']:checked + label::after,
	.check input[type='checkbox']:checked + label::after {
		position: absolute;
		top: 50%;
		display: block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		content: '';
	}

	.check input[type='radio']:checked + label::after {
		left: 10px;
		width: 16px;
		height: 16px;
		margin-top: -8px;
		background: #19479d;
		border-radius: 16px;
	}

	.check input[type='checkbox']:checked + label::after {
		left: 6px;
		width: 32px;
		height: 16px;
		margin-top: -16px;
		border-bottom: 6px solid #19479d;
		border-left: 6px solid #19479d;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}

#disp_mess_1 a,
#disp_mess_2 a {
	display: block;
	margin-bottom: 10px;
	color: #19479d;
	font-size: 30px;
	line-height: 40px;
}

#sub,
#btn_toppage {
	width: 502px;
	margin: 30px auto 0;
}

#btn_toppage {
	width: 600px;
}

.example {
	margin-top: 10px;
	color: #444;
	font-size: 20px;
	line-height: 30px;
}

#sys_error {
	margin-bottom: 30px;
	padding: 20px;
	color: #b00;
	font-weight: bold;
	font-size: 28px;
	line-height: 40px;
	background: #f8e5e5;
	border-radius: 10px;
}

.error_name {
	color: #b00;
	font-weight: bold;
}

.disp_error {
	display: block;
	margin-top: 10px;
	padding: 10px 10px 10px 64px;
	color: #b00;
	font-size: 26px;
	line-height: 40px;
	background: #f8e5e5 url(/img/sp/form/ico_error.png) no-repeat 10px center;
	border-radius: 10px;
}

.active {
	ime-mode: active;
}

.inactive {
	ime-mode: inactive;
}

.disabled {
	ime-mode: disabled;
}

#t_regist {
	width: 590px;
	margin: 0 auto 10px;
}

#p_regist {
	width: 490px;
	margin: 0 auto 40px;
}

#thanks {
	text-align: center;
	background: #fff;
}

table.cal_box {
	border: none;
}

.tbl_cal_layout {
	display: table-cell;
	padding: 0;
}

.tbl_cal_layout:not(:last-child) {
	margin-bottom: 0;
	padding-right: 10px;
}

table.cal {
	border: 2px solid #ccc;
	border-collapse: collapse;
}

table.cal th {
	text-align: center;
	background-color: #fff;
}

table.cal th,
table.cal td {
	text-align: center;
	padding: 3px 7px;
	font-size: 20px;
	background: #fff;
	border: 2px solid #ccc;
}

table.cal td {
	cursor: pointer;
}

table.cal td:hover {
	background-color: #ff9 !important;
}

table.cal th {
	border-bottom: 2px dotted #666;
}

.kibou {
	margin: 20px 0;
	padding-bottom: 20px;
	font-size: 24px;
	border-bottom: 2px dashed #ccc;
}

#disp_cal_box {
	display: block;
	margin-top: 10px;
}

/*
--------------------------------------------------------------------------------
 END OF CSS
--------------------------------------------------------------------------------
*/
