@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.errForm {
	background-color:#F3BCBF !important;
}
.errorMessage{
	color:#99150b;
}

#contactformWrap {
	padding: 100px;
	margin-bottom: 100px;
	border: 1px solid #d2d2d2;
	border-radius: 20px;
}

#contactleadTxt1 {
	padding-bottom: 30px;
	text-align: center;
	font-size: 1.8rem;
}

#contactleadFlow {
	text-align: center;
	padding-bottom: 40px;
}

#contactformWrap dt {
	font-size: 1.6rem;
	padding-bottom: 10px;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
}

#contactformWrap dt span {
	padding: 0 10px;
	font-size: 1.2rem;
	color: #FFF;
	background: #99150b;
	border-radius: 5px;
}

#contactformWrap dd {
	padding-bottom: 30px;
}

#contactformWrap dd input[type="text"] {
	padding: 20px;
	border-radius: 10px;
	width: 100%;
	border: 1px solid #c9c9c9;
	font-size: 1.6rem;
}

#contactformWrap dd textarea {
	height: 300px;
	padding: 20px;
	border-radius: 10px;
	width: 100%;
	border: 1px solid #c9c9c9;
	font-size: 1.6rem;
}

#ppCheck {
	/* padding-bottom: 20px; */
	text-align: center;
}

#confirmBtn {
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#confirmBtn a {
	width: 340px;
	padding: 20px;
	font-size: 2rem;
	gap: 10px;
	line-height: 1;
}

.confirmWrap {
	display: flex;
}

#contactformWrap .confirmWrap {
	margin-bottom: 20px;
	border-bottom: 1px solid #e5e5e5;
}

#contactformWrap .confirmWrap dt {
	width: 200px;
	padding: 0 20px 20px 20px;
	display: block;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
}

#contactformWrap .confirmWrap dd {
	padding: 0 20px 20px 20px;
	display: block;
	flex: 1;
	font-size: 1.6rem;
}

#sendBtnWrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
}

#sendBtn {
	padding-bottom: 10px;
}

#sendBtn a {
	width: 340px;
	padding: 20px;
	font-size: 2rem;
	gap: 10px;
	line-height: 1;
}

#backBtn {
	-webkit-transform: translate(-110px, 0);
	transform: translate(-110px, 0);
}

#backBtn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

#backBtn a::before {
	content: "";
	width: 15px;
	height: 15px;
	background: url(../../img/common/icon_back.svg) 0 0 no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}

#contactEndMessage {
	padding-bottom: 40px;
	text-align: center;
	font-size: 1.8rem;
}

.caution {
	color: #dd1c1c;
	font-weight: bold;
}

#contactEndLink {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
}

#contactEndLink a {
	width: 340px;
	padding: 20px;
	font-size: 2rem;
	gap: 10px;
	line-height: 1;
}

#ppCheck a {
	color: #007b43;
}

#ppCheck a:hover {
	text-decoration: underline;
}

/* 見積依頼用 */
/* ----------------------------------- */
#estimateListWrap {
	margin-bottom: 60px;
	position: relative;
}

.estimateInput {
	padding-bottom: 20px;
	text-align: left;
}

#estimateList {
	padding: 60px;
	background: #f6f5f3;
	border-radius: 10px;
}

#estimateList.confirm {
	background: #FFF;
	border: 1px solid #d2d2d2;
}

#estimateList ul {
	padding-bottom: 30px;
}

#estimateList li {
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #FFF;
	gap: 20px;
	font-size: 1.8rem;
}

#estimateList.confirm  li {
	border-bottom: 1px solid #d2d2d2;
}

.estimatePriceWrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.estimatePrice {
	font-size: 1.8rem;
	font-weight: bold;
}

.estimaterentalType {
	width: 22px;
	height: 22px;
	background: #707070;
	color: #FFF;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border-radius: 100vw;
	font-size: 1.3rem;
}

#total {
	background: #FFF;
	padding: 30px;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 50px;
}

.confirm #total {
	border: 3px solid #d2d2d2;
}

#totalTit {
	font-size: 1.8rem;
	font-weight: bold;
}

#total span {
	font-size: 1.6rem;
	font-weight: bold;
	display: block;
}

#total .price {
	font-size: clamp(3rem,3vw,4.4rem);
	line-height: 1;
	color: #dd1c1c;
	letter-spacing: 0.05em;
}

#total .price .small {
	font-size: ;
	font-size: clamp(1.6rem,1.8vw,2.6rem);
	display: inline-block;
}

#correctBtn {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

.estimateInput2 {
	padding-bottom: 10px;
	margin-bottom: 30px;
	text-align: left;
	border-bottom: 3px solid #007b43;
}

.zipWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 1.8rem;
}

.add1 {
	padding-top: 15px;
	padding-bottom: 15px;
}

#contactformWrap dd input.datepicker {
	padding: 20px;
	border-radius: 10px;
	width: 300px;
	border: 1px solid #c9c9c9;
	font-size: 1.6rem;
}

.period {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.hiddenAddress {
	padding: 40px;
	margin-bottom: 30px;
	background: #f6f5f3;
	border-radius: 10px;
	position: relative;
}

#contactformWrap .hiddenAddress dd {
	padding-bottom: 0;
}

.copyBtn {
	padding: 5px 20px;
	background: #707070;
	color: #FFF;
	font-size: 1.6rem;
	border-radius: 5px;
	position: absolute;
	top: 30px;
	right: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	transition: all 0.3s ease-in-out 0s;
}
.copyBtn a{
	color: #FFF;
	display:block;
}
.copyBtn:hover {
	opacity: 0.7;
}

.copyBtn::before {
	content: "";
	width: 14px;
	height: 14px;
	background: url(../../img/common/icon_copy.svg) 0 0 no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}

.flow{
	display:flex;
	justify-content:space-between;
}

.flowIn{
	width:49%;
	display: flex;
	align-items: center;
	gap: 10px;
}

.flowIn span {
	white-space: nowrap;
}

.hiddenAddress{
	display:none;
}
.addr_p{
	margin-top:5px;
	font-weight:bold;
}
/* チェックボックス */
/* ----------------------------------- */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    content: '';
	width: 17px;
	height: 17px;
    margin-top: -10px;
    position: absolute;
    left: 5px;
    top: 50%;
    background: #fff;
    border: 1px solid #b5b5b5;
}
.checkbox01::after {
	content: "";
    width: 11px;
	height: 12px;
	background: #007b43;
	background-size: contain;
    display: block;
	vertical-align: middle;
    opacity: 0;
    position: absolute;
    margin-top: -6px;
    top: 50%;
    left: 9px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}

/* ラジオボタン */
/* ----------------------------------- */
input[type=radio] {
    display: none;
}
.radio01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.radio01::before {
    background: #fff;
    border: 1px solid #b5b5b5;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.radio01::after {
    background: #007b43;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 10px;
}
input[type=radio]:checked + .radio01::after {
    opacity: 1;
}

.calendar label {
	position: relative;
}

.calendar label::after {
	content: "";
	width: 25px;
	height: 25px;
	background: url(../../img/common/icon_calendar.svg) 0 0 no-repeat;
	background-size: contain;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 5%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	#contactformWrap {
		padding: 40px;
		margin-bottom: 100px;
		border: 1px solid #d2d2d2;
		border-radius: 20px;
	}

	#contactleadTxt1 {
		padding-bottom: 30px;
		text-align: left;
		font-size: 1.6rem;
	}

	#contactformWrap .confirmWrap dt {
		width: 170px;
		font-size: 1.4rem;
	}

	#contactformWrap .confirmWrap dd {
		font-size: 1.4rem;
	}

	#contactEndMessage {
		padding-bottom: 40px;
		text-align: left;
		font-size: 1.6rem;
	}
}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {

}
/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	#contactformWrap {
		padding: 30px 6%;
		margin-bottom: 80px;
		border: 1px solid #d2d2d2;
		border-radius: 20px;
	}

	#contactleadTxt1 {
		padding-bottom: 30px;
		text-align: left;
		font-size: 1.6rem;
	}

	#contactleadFlow img {
		width: 80%;
	}

	.confirmWrap {
		display: flex;
		flex-direction: column;
	}

	#contactformWrap .confirmWrap dt {
		width: 100%;
		padding: 0 0 10px 0;
		margin-bottom: 0;
		font-size: 1.4rem;
		text-align: left;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		border: none;
	}

	#confirmBtn {
		padding-top: 20px;
		width: 100%;
	}

	#confirmBtn a {
		width: 100%;
		padding: 15px;
		font-size: 1.8rem;
	}

	#sendBtn {
		width: 100%;
	}

	#sendBtn a {
		width: 100%;
		padding: 15px;
		font-size: 1.8rem;
	}

	#backBtn {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	#contactEndLink {
		width: 100%;
	}

	#contactEndLink a {
		width: 100%;
		padding: 15px;
		font-size: 1.8rem;
	}

	.estimateInput {
		padding-bottom: 20px;
		text-align: left;
		font-size: 2rem;
	}

	#estimateList {
		padding: 20px 6%;
		background: #f6f5f3;
		border-radius: 10px;
	}

	#estimateList li {
		padding: 10px 0;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		border-bottom: 1px solid #FFF;
		gap: 10px;
		font-size: 1.5rem;
	}

	.estimateName {
		width: 100%;
	}

	#correctBtn {
		margin-top: 15px;
		position: static;
		top: auto;
		right: auto;
	}

	#total {
		background: #FFF;
		padding: 20px 10px;
		border-radius: 10px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	#totalTit {
		font-size: 1.6rem;
		font-weight: bold;
	}

	.estimateInput2 {
		font-size: 2rem;
	}

	.hiddenAddress {
		padding: 90px 6% 20px;
		margin-bottom: 30px;
		background: #f6f5f3;
		border-radius: 10px;
		position: relative;
	}

	.zip1wrap {
		width: 30%;
	}

	.zip2wrap {
		width: 30%;
	}

	#contactformWrap dd input[type="text"] {
		padding: 10px 20px;
		border-radius: 10px;
		width: 100%;
		border: 1px solid #c9c9c9;
		font-size: 1.6rem;
	}	


}

