@charset "UTF-8";

@media print, screen and (min-width: 751px) {
/* -----------------------------------------------------------------------------

お問い合わせ扉

----------------------------------------------------------------------------- */
#pageTtl.ttlImg {
	background-image: url(../contact_form/img/bg_main.jpg);
}
.contactTop #contactGuide h3 + p {
	margin-bottom: 0!important;
}

/* -----------------------------------------------------------------------------

お問い合わせフォーム

----------------------------------------------------------------------------- */
/* 共通
---------------------------------------------*/
.form section .lead span{
	display: block;
	font-size: 1.2rem;
	text-indent: -1em;
	margin-left: 1em;
}
	
.form section .step {
	margin: 0 0 25px;
	text-align: left;
}
.form section .step li {
	display: inline-block;
	position: relative;
	margin-right: 8%;
	padding-left: 0;
}
.form section .step li:after {
	content: "";
	width: 20%;
	height: 1px;
	border-top: 1px dotted #000;
	box-sizing: border-box;
	position: absolute;
	left: 105%;
	top: 50%;
}
.form section .step li .num {
	width: 100px;
	display: table-cell;
	line-height: 40px;
	font-size: 1.6rem;
	text-align: center;
	position: relative;
	background: #efefef;
}
.form section .step li.active .num {
	background: #cb151d;
	color: #fff;
}
.form section .step li.active .num:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 12px;
	border-color: transparent transparent transparent #cb151d;
	position: absolute;
	right: -12px;
	top: 0;
}
.form section .step li .txt {
	font-size: 1.6rem;
	line-height: 1.2;
	display: table-cell;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	padding-left: 20px;
}
.form section .step li:last-child {
	margin-right:0;
}
.form section .step li:last-child:after {
	content:none;
}
.form section table {
	margin: 40px auto 0;
}
.form section table td {
	vertical-align: middle;
}
.form input.size01 {
	width: 100%;
}
.form input.size02 {
	width: 350px;
	margin: 3px 0;
}
.form input.size03 {
	width: 80px;
}
/*error*/ 
.form .error input[type="radio"] + label:before,
.form .error input[type="checkbox"] + label:before,
.form .error input[type="text"],
.form .error input[type="tel"],
.form .error input[type="email"],
.form .error textarea,
.form .error select{
	border: 1px solid #e60012;
	background-color: #fff6f6!important;
}

	
/* input
---------------------------------------------*/
/*error*/
.form.input section .errorBox {
	background: #fff6f6;
	border: 1px solid #e60012;
	margin: 40px auto 0;
	padding: 25px;
}
.form.input section .errorBox p,
.form.input section .errorBox li {
	color: #e60012;
}
.form.input section .errorBox p {
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 0!important;
}
.form.input section .errorBox ul {
	margin: 20px auto 0;
}
.form.input section .errorBox ul li + li {
	margin-top: 6px;
}
/*form*/
.form.input section table th {
	padding-right:60px;
	box-sizing: border-box;
}
.form.input section table th.req::before {
	content: "";
	display: block;
	width: 55px;
	height: 16px;
	background: url(../contact_form_dev/img/form/icon_req_en2.gif) no-repeat left top #efefef;
	background-size: 100% auto;
}
.form.input section table th.any {
	background: url(../contact_form_dev/img/form/icon_any.gif) no-repeat 90% center #efefef;
}
.form.input section table td p span {
	margin-bottom: 0;
}
/*list*/
.form.input section table td .list li {
	display: inline-block;
	margin: 7px 30px 7px 0;
}
.form.input section table td .list li:last-child {
	margin-right: 0;
}
/*group*/
.form.input section table td .group {
	padding: 18px 0;
	border-top: 1px dotted #b2b2b2;
}
.form.input section table td .group:first-child {
	border-top: 0;
	/* padding-top: 0; */
}
.form.input section table td .group dt {
	font-weight: bold;
}
.form.input section table td .group dd {
	margin-top: 10px;
}
/*zip*/
.form.input section table .zip p {
	float: left;
	margin: 0!important;
	font-size: 1.6rem;
}
.form.input section #zipSet {
	width: 120px;
	border: 1px solid #ccc;
	padding: 12px 0;
	text-align: center;
	float: left;
	margin-left: 20px;
	background: #f8f8f8;
	cursor: pointer;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.form.input section #zipSet:hover {
	background-color: #eae9e9;
}
/*select*/
.form.input section td select {
	width:210px;
	background: url(../common/img/icon_arrow_btm.png) no-repeat 96% center;
}
/*secureImg*/
.form.input section table td .secureImg img {
	width: 210px;
	height: auto;
	line-height: 1;
	display: inline-block;
	border: 1px solid #ccc;
	margin-right: 15px;
	box-sizing: border-box;
}
.form.input section table td .secureImg a {
	color: #e60012;
	text-decoration: underline;
}
.form.input section table td .secureImg a:hover {
	text-decoration: none;
}
.form.input section table td .imgTxt {
	margin-top: 20px;
}
.form.input section table td .imgTxt input[type="text"] {
	width: 210px;
	float: left;
	margin-right: 15px;
}
.form.input section table td .imgTxt ul {
	float: left;
	color: #666;
	width: calc(100% - 225px);
	width: -webkit-calc(100% - 225px);
}
.form.input section table td .imgTxt ul li {
	text-indent: -1em;
	margin-left: 1em;
}

/*agreement*/
.form.input section .agreement {
	width: 620px;
	margin: 50px auto 0;
	background: #f8f8f8;
	padding: 30px 0;
}
.form.input section .agreement .txt {
	text-align: center;
	margin-bottom: 0!important;
}
.form.input section .agreement .agree {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 0!important;
	font-weight: bold;
}
/*btn*/
.form.input section .confirm {
	width: 32%;
	margin: 40px auto 0;
}
.form.input section .confirm input[type="submit"] {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	border: 1px solid #ccc;
	padding: 13px 7px 13px 0;
	background: url(../common/img/icon_arrow_r.png) 92% center no-repeat;
	transition: all .3s;
	-webkit-transition: all .3s;
	width: 100%;
	cursor: pointer;
}
.form.input section .confirm input[type="submit"]:hover {
	background-color: #f3f3f3;
}
	
/* confirm
---------------------------------------------*/
.form.confirm  section .btnArea {
	text-align: center;
	margin: 80px auto 0;
}
.form.confirm  section .btnArea p {
	width: 32%;
	display: inline-block;
	margin: 0 10px;
	line-height: 1!important;
}
.form.confirm  section .btnArea .return a {
	display: block;
	padding: 15px 0 18px 7px;
	border: 1px solid #ccc;
	background: url(../common/img/icon_arrow_l.png) 8% center no-repeat;
	transition: all .3s;
	-webkit-transition: all .3s;
}
.form.confirm  section .btnArea .return a:hover {
	background-color: #f3f3f3;
	text-decoration: none !important;
}
.form.confirm  section .btnArea .submit input[type="submit"]{

	display: block;
	text-align: center;
	font-size: 1.4rem;
	color: #fff;
	padding: 13px 7px 13px 0;
	background: url(../common/img/icon_arrow_w.png) 92% center no-repeat #cb151d;
	transition: all .3s;
	-webkit-transition: all .3s;
	width: 100%;
	cursor: pointer;
	border: 1px solid #cb151d;
}
.form.confirm  section .btnArea .submit input[type="submit"]:hover {
	background-color: rgba(203, 21, 29, 0.8);
}
/* thanks
---------------------------------------------*/
.form.thanks section .thanksTxt {
	font-size: 2.6rem;
	margin-bottom:0!important;
}
.form.thanks section .thanksTxt + .lead {
	margin-top: 20px;
}
.form.thanks section .btn.back {
	width: 32%;
	margin: 100px auto 0;
}
.form.thanks section .btn.back a:hover {
	background-color: #f3f3f3;
}
	
/* form01
---------------------------------------------*/
.form.input #form01 table td .listGroup li {
	display: block;
	margin: 13px 0 0 0;
}
.form.input #form01 table td .listGroup li:first-child {
	margin-top: 0;
}
.form.input #form01 table td .list .category li {
	display: inline-block;
	margin: 5px 0;
}
.form.input #form01 table td .list  .category li:after {
	content: "/";
	display: inline-block;
	margin: 0 2px 0 4px;
}
.form.input #form01 table td .list  .category li:last-child:after {
	content:none;
}
.form.input #form01 table td .list > li:last-child {
	padding: 18px 0 0 0;
	border-top: 1px dotted #b2b2b2;
}
/* form03
---------------------------------------------*/
.form.input #form03 table td .release > li {
	display: block;
	margin: 0;
}
.form.input #form03 table td .release > li:first-child {
	padding: 0 0 20px 0;
	border-bottom: 1px dotted #b2b2b2;
	margin-bottom: 18px;
}
.form.input #form03 table td .release > li label {
	font-weight: bold;
}
.form.input #form03 table td .release > li dt {
	margin-bottom: 10px;
}
.form.input #form03 table td .release > li dt {
	margin-top: 15px;
}
.form.input #form03 table td .release input:disabled {
	background: #efefef;
}
	
/*
.form.input #form03 table td .release.acd dl {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: all .5s;
	transition: all .5s;
}
.form.input #form03 table td .release.acd dl.active {
	max-height: 200px;
}*/
	
/* form04
---------------------------------------------*/
.form.input #form04 ul.listDot {
	margin-bottom: 60px;
}

/* form05
---------------------------------------------*/
.form.input #form05 .lead {
	margin-bottom: 10px!important;
}
.form.input #form05 .btn.arrow a:hover {
	background-color: #f3f3f3;
}
.form.input #form05 .step {
	margin-top: 40px;
}
}


@media print, screen and (max-width: 1100px) and (min-width: 751px) {
	.form section .step {
	margin-top: 30px;
	text-align: left;
	display: table;
	width: 100%;
}
.form section .step li {
	display: table-cell;
	width: 33.33333%;
	position: relative;
}
.form section .step li:after {
	content: "";
	width: 24%;
	height: 1px;
	border-top: 1px dotted #000;
	box-sizing: border-box;
	position: absolute;
	right: -13%;
	top: 10px;
	left: inherit;
}
.form section .step li .num {
	width: 54%;
	height: 25px;
	display: block;
	line-height: 25px;
	font-size: 1.3rem;
	text-align: center;
	position: relative;
	background: #efefef;
	margin: 0 auto;
}
.form section .step li.active .num {
	background: #cb151d;
	color: #fff;
}
.form section .step li.active .num:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12.5px 0 12.5px 6px;
	border-color: transparent transparent transparent #cb151d;
	position: absolute;
	right: -6px;
	top: 0;
}
.form section .step li .txt {
	display: block;
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	font-size: 1.5rem;
	padding: 0;
}
.form section .step li:last-child:after {
	content:none;
}
}

@media print, screen and (max-width: 1240px) {
.form section .step li .txt br.sp {
	display: block!important;
}
.form section .step li .txt  {
	line-height: 1.2;
}
.form section table th br {
	display: none!important;
}
}

}
