@charset "UTF-8";

#contact {
	margin-top: 60px;
}
.contact-summary {
	text-align: center;
	margin-top: 30px;
}
.contact-form {
	margin-top: 60px;
}
table.mailform {
	width: 100%;
	border-top: 1px solid #ccc;
}
table.mailform tr,
table.mailform th,
table.mailform td {
	border-collapse: collapse;
}
table.mailform tr {
	border-bottom: 1px solid #ccc;
}
table.mailform tr.required-col {
	background: #FFF;
}

table.mailform th {
	width: 300px;
	padding: 22px;
	text-align: left;
	font-weight: 500;
	position: relative;
}
table.mailform th span.required {
	color: #D30062;
	font-size: .6em;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
table.mailform td {
	width: 660px;
	padding: 22px 22px 22px 38px;
	text-align: left;
}
table.mailform td a {
	/*pointer-events: none;*/
	color: #222;
}


.policy {
	margin-top: 30px;
	text-align: center;
}
.submit {
	margin-top: 30px;
	text-align: center;
}
.submit input.btnSubmit {
	background: #008cd8;
  color: #FFF;
  min-width: 420px;
  padding: 18px 18px;
  border-radius: 60px;
	cursor: pointer;
	transition: all .3s;
}
.submit input.btnSubmit.confirm {
	margin-right: 18px;
	background: #cccccc;
    color: #333;
}
.submit input.btnSubmit:hover {
	background: #007ABC;
}



/* フォーム */
input[type="text"],
textarea {
	width: 100%;
	padding: 12px 12px;
	outline: none;
	font-family: sans-serif;
	border: 1px solid #ccc;
	border-radius: 4px;
	transition: all .3s;
}
input[type="text"]:focus,
textarea:focus {
	background: #FFEAF4;
	border: 1px solid #D30062;
}
input[type="radio"] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}
input[type="checkbox"] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}
label {
	display: block;
}
label:not(:first-child) {
	margin-top: 9px;
}
label span {
	margin-left: 12px;
}



input.form-email.confirm {
	margin-top: 12px;
}
input.form-postcode { /* 郵便番号 */
	width: 120px;
}
span.postcode-mark {
	display: inline-block;
	margin-right: 6px;
}
a.lookup {
	font-size: .8em;
    margin-left: auto;
	padding-right: 18px;
	border-bottom: 1px solid;
	color: #666;
	position: relative;
}
a.lookup::after {
	content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url(../img/icon/tab-666666.webp) no-repeat;
    background-size: 100%;
    width: 1em;
    height: 1em;
}
input.form-address1 { /* 住所1 */
	margin-top: 12px;
}
input.form-address2 { /* 住所2 */
	margin-top: 12px;
}
.datetime {
	line-height: 1;
}
.datetime:not(:first-child) { /* 希望日時 */
	margin-top: 12px;
}
.datetime span {
	display: inline-block;
	font-size: .9em;
	margin-bottom: 6px;
}
textarea.form-textarea { /* ご相談やお問い合わせ */
	width: 100%;
    min-height: 200px;
}



@media screen and (max-width: 1194px) {
	table.mailform th {
		width: 250px;
	}
	table.mailform td {
		width: calc(100% - 250px);
	}
	
	.submit input.btnSubmit {
		min-width: 320px;
	}
	
}
@media screen and (max-width: 768px) {
	table.mailform tr {
		
	}
	table.mailform th {
		display: block;
		width: 100%;
		padding: 18px 18px 18px 36px;
	}
	table.mailform th span.required {
		left: 0;
	}
	table.mailform td {
		display: block;
		width: 100%;
		padding: 0 18px 18px 18px;
	}
	br.datetime-br { /* 取付工事・クリーニング希望日時の改行 */
		display: none;
	}
	
	.submit input.btnSubmit {
		min-width: 220px;
	}
	
}
@media screen and (max-width: 559px) {
	table.mailform th {
		padding: 18px 0 18px 30px;
	}
	table.mailform td {
		padding: 0 0 18px 0;
	}
	.submit input.btnSubmit {
		min-width: 145px;
		padding: 15px 12px;
	}
	.submit input.btnSubmit.confirm {
		margin-right: 6px;
	}
	
}
@media screen and (max-width: 430px) {
	.submit input.btnSubmit {
		min-width: 100%;
	}
	.submit input.btnSubmit.confirm {
		margin: 0 0 12px 0;
	}
}



/* ******************************************************
 * 送信完了
 * *************************************************** */

#contact .contact-informaition {
	width: 920px;
	margin: 60px auto 0;
	padding: 60px;
	border: 1px solid #ededed;
}
#contact .contact-informaition-top {
	text-align: center;
}
#contact .contact-informaition-top span {
	font-size: .9em;
	margin-left: 12px;
}
#contact .contact-informaition-flex {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 18px;
}
#contact .contact-informaition-flex .contact-informaition-flex___phone {
	text-align: center;
	margin-right: 3vw;
}
#contact .contact-informaition-flex .contact-informaition-flex___phone p.phone {
	line-height: 1;
	margin: 0;
}
#contact .contact-informaition-flex .contact-informaition-flex___phone p.phone span {
	font-size: 3rem;
}
#contact .contact-informaition-flex .contact-informaition-flex___phone p.open {
	margin-top: 9px;
	font-size: 1.4rem;
}
#contact .contact-informaition-flex .contact-informaition-flex___web {
	text-align: center;
}
#contact .btn-box {
	margin-top: 60px;
}


@media screen and (max-width: 1194px) {
	#contact .contact-informaition {
		width: 100%;
	}
	
}
@media screen and (max-width: 768px) {
	#contact .contact-informaition {
		padding: 45px;
	}
	#contact .contact-informaition-flex {
		flex-direction: column;
	}
	#contact .contact-informaition-flex .contact-informaition-flex___phone {
		margin-right: 0;
	}
	#contact .contact-informaition-flex .contact-informaition-flex___web {
		width: 100%;
		margin-top: 12px;
	}
}
@media screen and (max-width: 559px) {
	#contact .contact-informaition {
		padding: 30px;
	}
	#contact .contact-informaition-top span {
		display: block;
		margin: 0;
	}
}
@media screen and (max-width: 430px) {
	#contact .contact-informaition {
		padding: 30px 0;
		border: none;
		border-top: 1px solid #ededed;
		border-bottom: 1px solid #ededed;
	}
	#contact .contact-informaition-top span {
		display: block;
		margin: 0;
	}
}
@media screen and (max-width: 320px) {
	#contact .btn-box {
		margin-top: 45px;
	}
}
