@charset "utf-8";

/* =====================================================================
 * main
 * =================================================================== */	
h2 {
	margin-bottom: 30px;
}
h3 {
	margin-bottom: 30px;
	padding-bottom: 12px;
	width: 678px;
	border-bottom: 1px solid #bbbbbb;
}
#main h4 {
	margin-bottom: 15px;
}
.circle {
	width: 100%;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}
#byTel h4, #byMail h4, #thanks h4 {
	background: url(/customer/images/ttl_tel.gif) no-repeat;
}
#byMail h4 {
	background: url(/customer/images/ttl_form.gif) no-repeat;
}
#thanks h4 {
	background: url(/customer/images/ttl_thanks.gif) no-repeat;
}
#byTel {
	margin-bottom: 30px;
	background: url(/customer/images/dotline.svg) repeat-x bottom;
}
#byTel p {
	float: left;
	margin: 0 30px 30px 0;
}
#byTel p img {
	margin-top: 3px;
}
ol.attention {
	margin-bottom: 25px;
}
ol.attention li {
	margin: 0 0 10px 25px;
	list-style: decimal;
}
.required {
	color: #436bce;
}
.ssl {
	float: right;
	margin: 0 0 20px 30px;
}
#mailform {
	padding: 30px;
	width: 100%;
	background-color: #FFFFFF;
	border: solid 1px #c8c9ca;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 14px 0;
	border-bottom: solid 1px #c8c9ca;
	text-align: left;
}
.formTop {
	border-top: solid 1px #c8c9ca;
}
.col-form-label {
	width: 25%;
}
.col-form-label .required {
	font-size: 93%;
}
.col-sm-9 {
	width: 75%;
	font-size: 108%;
}
.col-sm-4 .input-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.form-group input, 
.form-group textarea {
	border: solid 1px #cacaca;
	padding: .5em;
	vertical-align: middle;
	line-height: 1.6;
	text-align: left;
	letter-spacing: 1px;
	-webkit-user-select : auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.form-group textarea {
	padding: .4em 10px;
}
.radioBtn div {
	display: inline-block;
	margin-right: 1em;
}
.form-control {
	width: 260px;
}
#companyname, #email, #email_retype, #addr, #comment, #submitBtn {
	width: 100%;
}
#zipcode {
	width: 105px;
}
#work {
	width: 150px;
}
#captcha {
	display: block;
	margin-top: 10px;
}
#submitBtn {
	margin-bottom: 25px;
	padding: 18px 0;
	border-bottom: solid 1px #c8c9ca;
	text-align: center;
}
.input-group-text {
	margin-right: 5px;
}
.notes {
    display: block;
    margin-top: 7px;
    text-align: left;
    font-size: 93%;
}
input.btn {
    display: inline-block;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border-radius: 4px;
    line-height: 1.5;
    text-align: center;
}
.form-group input.btn-info {
	margin-left: 8px;
	width: 9.5em;
	border: solid 2px #17a2b8;
	background: #17a2b8;
	color: #fff;
}
input.btn-primary, input.btn-back {
	width: 12em;
	height: 40px;
	background: #2377cd;
	line-height: 40px;
	letter-spacing: 2px;
	font-size: 116%;
	color: #fff;
}
input.btn-back {
	background: #7c868a;
}
input[type="checkbox"], 
input[type="radio"] {
	position: relative;
	top: -2px;
	box-sizing: content-box;
	margin-right: 7px;
	padding: 0;
}
button, input, textarea {
	margin: 0;
	padding: 0;
}
button, select {
	text-transform: none;
}
select {
	border: solid 1px #cacaca;
	font-size: 100%;
}
button, label {
	background-color: transparent;
}
button, .radioBtn label, 
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
    border: none;
	cursor: pointer;
}
button[disabled], 
input[disabled] {
	cursor: default;
}
button::-moz-focus-inner, 
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}
button, input, input:focus, textarea:focus {
	outline:none;
}
/* IEのinput要素に出てくるマークを消去 */
/* text */
input::-ms-clear {
	visibility: hidden;
}
.form-group input[type="checkbox"]:not(:target) {
	border: 0px\9;
}

/* 確認画面 */
.confirmation {
	display: block;
	margin: 25px auto;
	padding: 8px 10px 6px;
	width: 38%;
	border: solid 1px #2377cd;
	text-align: center;
	letter-spacing: 1px;
	font-size: 123.1%;
	font-weight: bold;
	color: #2377cd;
}
#submiBox {
	padding-top: 25px;
	text-align: center;
}
#submiBox input {
	display: inline-block;
	margin: 0 4px;
}

/* エラーテキスト */
.alert-danger {
	margin-top: .5em;
	padding: 7px 1em 5px;
	font-size: 93%;
	border: solid 1px #f6cdcd;
	background: #f8dbdb;
	color: #cf1919;
}
#error_message {
	margin: 0 0 1.5em;
	text-align: center;
	font-size: 116%;
}

/* =====================================================================
 * mediaqueries
 * =================================================================== */
@media screen and (max-width: 960px) {
	.lv25 {
		margin-bottom: 3.6%;
	}
	h2 {
		margin-bottom: 4.4%;
	}
	h3 {
		margin-bottom: 4.4%;
		width: 100%;
	}
	#main h4 {
		margin-bottom: 10px;
	}
	#byTel h4, #byMail h4, #thanks h4 {
		background: none;
	}
	.circle {
		margin-bottom: 10px;
		text-indent: inherit;
		white-space: inherit;
		font-size: 153.9%;
		font-weight: bold;
		text-align: left;
		padding-left: 18px;
		text-indent: -18px;
		line-height: 1.4;
		color: #2ab3a5;
	}
	.circle:before {
		content: "";
		display: inline-block;
		border-radius: 50%;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		vertical-align: middle;
		margin-right: 5px;
		height: 8px;
		width: 8px;
		border: 3px solid #66c7bd;
		position: relative;
		top: -3px;	
	}
	#byTel {
		margin-bottom: 4.4%;
	}
	#byTel p {
		float: none;
		display: table-cell;
		vertical-align: middle;
		width: 52%;
		margin: 0;
		padding: 0 5% 20px 0;
		text-align: left;
	}
	#byTel p:last-child {
		width: 43%;
		padding-right: 0;
	}
	#byTel p img {
		margin-top: 0;
	}
	#byTel p img.lv10 {
		margin-bottom: 0;
	}
	ol.attention {
		margin-bottom: 3.6%;
	}
	.confirmation {
		width: 50%;
	}
}
@media screen and (max-width: 800px) {
	.form-group {
		display: block;
	}
	.form-control, .col-form-label, .col-sm-9 {
		width: 100%;
	}
	.col-form-label {
		display: block;
		margin-bottom: .5em;
	}
	.col-sm-4, .col-sm-5 {
		display: inline-block;
	}
}
@media screen and (max-width: 480px) {
	.lv25 {
		margin-bottom: 20px;
	}
	h3 {
		margin-bottom: 20px;
		padding-top: 5px;
	}
	h3 img {
		width: auto;
		height: 25px;
	}
	#byTel {
		margin-bottom: 20px;
	}
	#byTel p {
		display: inherit;
		width: 100%;
		padding: 0;
	}
	#byTel p:last-child {
		width: 100%;
		margin: 8px 0 20px;
	}
	.circle {
		margin-bottom: 10px;
		font-size: 138.5%;
	}
	ol.attention {
		margin-bottom: 20px;
		padding-right: 5px;
	}
	#mailform {
		padding: 25px 12px;
	}
	.col-form-label .required {
		font-size: 100%;
	}
	.notes {
		font-size: 85%;
	}
	.confirmation {
		margin-bottom: 20px;
		width: 100%;
		font-size: 116%;
	}
	#submiBox {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		padding-top: 20px;
	}
	#submiBox input {
		margin: 0;
	}
	input.btn-primary, input.btn-back {
		width: 49%;
	}
	.alert-danger {
		font-size: 85%;
	}
	#error_message {
		font-size: 108%;
	}
}
@media screen and (max-width: 414px) {
	h2 {
		margin-bottom: 15px;
	}
	h3 {
		padding-bottom: 9px;
	}
	h3 img {
		height: 24px;
	}
}
@media screen and (max-width: 375px) {
	#main h4 {
		margin-bottom: 7px;
	}
	.circle {
		font-size: 123.1%;
	}
}
@media screen and (max-width: 320px) {
	h3 img {
		height: 21px;
	}
	.ssl {
		clear: both;
		float: none;
		margin: 0 0 15px 0;
		text-align: center;
	}
	.form-group input.btn-info {
		margin: 8px 0 0 0;
	}
}