@charset "utf-8";
#site_name {
	background-image: url(../img/ttl_contact_sp.png), url(../img/bg_ttl.png);
}
#main {
	background: url(../img/bg_contact_sp.jpg) no-repeat 50% 100%;
	background-size: auto;
	padding-bottom: 30px;
}
#main.contact.fixbg {
	background-attachment: fixed;
}

#main.contact .section {
	padding-bottom: min(9vw, 70px);
}

.h2_contact {
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	font-weight: 500;
	padding-bottom: min(2.5vw, 20px);
	margin-bottom: min(3.8vw, 30px);
	border-bottom: 1px solid #fff;
}
.h2_contact em {
	color: #d3291e;
	font-style: normal;
}


@media screen and (min-width:641px) {
	#main.contact {background-size: 100% auto;}
	.contact #site_name {background-image: url(../img/ttl_contact_pc.png), url(../img/bg_ttl.png);}
	#main.contact .section {
		padding-bottom: min(3.125vw, 60px);
	}
	.h2_contact {
		font-size: min(2.085vw, 1.6rem);
	}
}
@media screen and (min-width:768px) {
	#main.contact {
		background: url(../img/bg_contact_pc.jpg) no-repeat 50% 100%;
		background-size: 100% auto;
		/*background-attachment: fixed;*/
	}
	#main.contact.fixbg {
		background-attachment: fixed;
	}
}

/*form*/
/*************/
.formdl {border-bottom: 1px solid #fff;}
.formdl dt {
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	font-weight: 500;
	border: 1px solid #fff;
	padding: min(5.6vw, 44px) min(4.8vw, 34px);
}
.formdl dt em {
	color: #d3291e;
	font-style: normal;
}
.formdl dd {
	padding: min(5.6vw, 44px) min(4.8vw, 34px);
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
}
.formdl dd,
.formdl dd * {
	color: #fff;
	font-size: clamp(1.2rem, 3.126vw, 2.4rem);
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.formdl.__confirm dd {
	font-size: clamp(1.3rem, 3.386vw, 2.6rem);
}
.formdl dd div + div,
.formdl dd p + input,
.formdl dd p + textarea {margin-top: min(1.2vw, 10px);}

.formdl .error-txt {
	color: #d3291e;
	margin-top: 3px;
	display: none;
}
.formdl .is-error .error-txt {
  display: block;
}
.formdl input,
.formdl textarea {
	border: none;
	background-color: #3f3f3f;
	padding: min(2.3vw, 18px);
	width: 100%;
}

.agree_flx {
	display: flex;
	align-items: center;
	margin-bottom: min(3.8vw, 30px);
}
.agreement .txt_link {margin-bottom: min(3.2vw, 25px);}
.agreement .btn_c {margin-top: min(8.8vw, 65px);}

@media screen and (min-width:641px) {
	.formdl {
		display: flex;
		flex-wrap: wrap;
		border: 1px solid #fff;
		border-bottom: none;
	}
	.formdl dt {
		font-size: min(2.085vw, 1.6rem);
		width: min(35vw, 340px);
		padding: min(2.5vw, 50px) min(1.25vw, 25px);
		border: none;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	.formdl dd {
		padding: min(2vw, 40px) min(1.25vw, 25px);
		width: calc(100% - min(35vw, 340px));
		border: none;
		border-bottom: 1px solid #fff;
	}
	.formdl dd,
	.formdl dd * {font-size: min(1.82vw, 1.4rem);}
	.formdl.__confirm dd {
		font-size: min(2.085vw, 1.6rem);
		padding: min(2.5vw, 50px) min(1.25vw, 25px);
	}

	.formdl dd div + div {margin-top: min(1.8vw, 30px);}
	.formdl dd.flex {
		display: flex;
		justify-content: space-between;
	}
	.formdl dd.flex div + div {margin-top: 0;}
	.formdl dd.flex div {width: 48%;}
	.formdl input,
	.formdl textarea {padding: min(1vw, 12px);}
}
@media screen and (min-width:800px) {
	.formdl dt {
		width: min(35%, 340px);
	}
	.formdl dd {
		width: calc(100% - min(35%, 340px));
	}
}
@media screen and (min-width:1080px) {
	.formdl dt {
		width: 340px;
		padding: 40px 25px;
	}
	.formdl dd {
		width: calc(100% - 340px);
		padding: 35px 25px;
	}
}

/*checbox*/
.checkbox {
	appearance: none;
	width: min(4.8vw, 34px);
	height: min(4.8vw, 34px);
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	margin-right: min(2.5vw, 20px);
	position: relative;
	/*box-shadow: inset -3px -3px 5px 0px rgba(0,0,0,0.5);*/
	/*background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(7,6,6,0.75) 100%);*/
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(127,127,127,0.75) 100%);
}
.checkbox::before {
	display: none;
	content: '';
	width: min(1.6vw, 12px);
	height: min(4vw, 30px);
	border-right: 3px solid #da1128;
	border-bottom: 3px solid #da1128;
	transform: rotate(45deg);
	position: absolute;
	left: calc(50% - 2px);
	bottom: calc(50% - 4px);
	opacity: 0;
	visibility: hidden;
}
.checkbox:checked::before {
	display: block;
	opacity: 1;
	visibility: visible;
}

/*radio*/

@media screen and (min-width:641px) {
	.checkbox {
		width: 22px;
		height: 22px;
		margin-right: 12px;
	}
	.checkbox::before {
		width: 9px;
		height: 20px;
	}
}
