/* Basic Form */
.form--basic .form-table {
	/* display: flex;
	flex-wrap: wrap; */
	border-top: 2px solid #434343;
}

.form--basic .form-table::after {
	content: "";
	display: block;
	clear: both;
}

.form--basic .row {
	display: flex;
	align-items: center;
	float: left;
	width: 50%;
	border-bottom:1px solid #434343;
}

.form--basic .row--top {
	align-items: flex-start;
}

.form--basic .row--w100 {
	width: 100%;
}

.form--basic .th {
	width:160px;
	padding:30px 0px 30px 30px;
	font-size:2rem;
	color:#fff;
}

.form--basic .th span {
	color:#dc1f26;
}

.form--basic .td {
	width: calc(100% - 160px);
	padding:15px 30px;
}

.form--basic input {
	max-width:530px;
	width:100%;
	height:50px;
	padding:0px 20px;
	background-color: #262626;
	border:1px solid #434343;
	border-radius:10px;
	font-size:1.8rem;
	color:#fff;
}

.form--basic textarea {
	resize: none;
	display: block;
	width:100%;
	height:250px;
	padding:20px;
	background-color: #262626;
	border:1px solid #434343;
	border-radius:10px;
	font-size:1.8rem;
	color:#fff;
}

.form--basic select {
	display: block;
	max-width:530px;
	width:100%;
	height:50px;
	padding:0px 20px;
	background-color: #262626;
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-image: url('/child/img/form/btn_select.png');
	border:1px solid #434343;
	border-radius:10px;
	font-size:1.8rem;
	color:#fff;
}

.form--basic select:required:invalid {
	color:#737373;
}

.form--basic .file-wrap {
	display: flex;
	align-items: center;
	gap:50px;
}

.form--basic .file-box {
	max-width: 530px;
	width:100%;
	height:50px;
}

.form--basic .file-caution {
	display: block;
	font-size:1.8rem;
	color:#fff;
}

.form--basic .file-label {
	display: flex;
	align-items: center;
	position: relative;
	width:100%;
	height:100%;
	background-color: #262626;
	border:1px solid #434343;
	border-radius:10px;
	overflow: hidden;
}

.form--basic .file-txt {
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1; 
	-webkit-box-orient: vertical;
	overflow: hidden;
	width: calc(100% - 100px);
	padding:0px 20px;
	font-size:1.8rem;
	color:#fff;
}

.form--basic .file-btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top:0px;
	right:0px;
	width:100px;
	height:100%;
	background-color: #434343;
	font-size:2rem;
	color:#fff;
}

.form--basic .file-label input {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	width: 100%;
	height: 100%;
	padding: 0px;
	border: 0px;
	opacity: 0;
	z-index: 10;
	cursor: pointer;
}

.form--basic .form-agree {
	margin-top:30px;
	padding-left: 30px;
}

.form--basic .form-agree label {
	display: flex;
	align-items: center;
	gap:10px;
	position:relative;
	cursor: pointer;
}

.form--basic .form-agree input {
	position: absolute;
	top:0;
	left:0;
	width:100%;
	opacity:0;
	visibility: hidden;
}

.form--basic .form-agree i {
	display: block;
	width:20px;
	height:20px;
	background: url('/child/img/form/btn_agree_off.png') no-repeat center;
}

.form--basic .form-agree span {
	display: block;
	font-size:2rem;
	line-height:1.6;
	color:#fff;
}

.form--basic .form-agree button {
	text-decoration: underline;
	text-underline-position: under;
	text-underline-offset:2px;
	font-size: inherit;
	font-weight: inherit;
	color:#dc1f26;
	font-size: inherit;
	font-weight:600;
	color:#dc1f26;
}

.form--basic .form-agree input:checked + i {
  background-image: url('/child/img/form/btn_agree_on.png');
}

.form--basic .form-btns {
	display: flex;
	justify-content: center;
	margin-top:80px;
}

.form--basic .form-btns .btn {
	width:350px;
	height:50px;
	background-color: #dc1f26;
	border-radius:10px;
	font-size:1.8rem;
	line-height: 1;
	color:#fff;
}

@media screen and (max-width:1366px) {
	.form--basic select {
		max-width:430px;
	}

	.form--basic .file-wrap {
		gap:30px;
	}

	.form--basic .file-box {
		max-width:430px;
	}
	
	.form--basic .file-caution {
		font-size:1.6rem;
	}
}
@media screen and (max-width:1200px) {
	.form--basic .th {
		width:120px;
		font-size:1.8rem;
		padding:20px 0px 20px 20px;
	}
	
	.form--basic .td {
		width: calc(100% - 120px);
		padding:15px;
	}

	.form--basic input {
		font-size:1.6rem;
	}

	.form--basic select {
		max-width:100%;
		font-size:1.6rem;
	}

	.form--basic textarea {
		font-size:1.6rem;
	}

	.form--basic .file-wrap {
		flex-wrap: wrap;
		gap:10px;
	}

	.form--basic .file-box {
		max-width:100%;
	}

	.form--basic .file-txt {
		font-size:1.6rem;
	}

	.form--basic .file-btn {
		font-size:1.6rem;
	}

	.form--basic .file-caution {
		font-size:1.4rem;
	}

	.form--basic .form-agree span {
		font-size: 1.8rem;
	}

	.form--basic .form-btns .btn {
		font-size:1.6rem;
	}
}
@media screen and (max-width:992px) {
	.form--basic .th {
		padding:16px 0px 16px 16px;
	}

	.form--basic .td {
		padding: 12px;
	}

	.form--basic input {
		height:42px;
		padding:0px 16px;
	}

	.form--basic select {
		height:42px;
		padding:0px 16px;
		background-position: right 16px center;
	}

	.form--basic textarea {
		height:200px;
		padding:16px;
	}

	.form--basic .file-box {
		height:42px;
	}

	.form--basic .file-txt {
		width: calc(100% - 80px);
	}

	.form--basic .file-btn {
		width:80px;
	}

	.form--basic .form-agree {
		margin-top:20px;
		padding-left:20px;
	}

	.form--basic .form-agree i {
		width:16px;
		height:16px;
		background-size:auto 16px;
	}

	.form--basic .form-btns {
		margin-top:60px;
	}

	.form--basic .form-btns .btn {
		max-width:280px;
		height:42px;
	}
}
@media screen and (max-width:768px) {
	.form--basic .row {
		flex-wrap: wrap;
		float: none;
		width:100%;
	}

	.form--basic .th {
		width: 100%;
		padding:16px 0px;
		font-size:1.6rem;
	}

	.form--basic .td {
		width:100%;
		padding:0px 0px 12px;
	}
	
	.form--basic input {
		max-width: 100%;
		font-size:1.4rem;
	}

	.form--basic select {
		font-size:1.4rem;
	}

	.form--basic textarea {
		font-size:1.4rem;
	}

	.form--basic .file-txt {
		font-size:1.4rem;
	}

	.form--basic .file-btn {
		font-size:1.4rem;
	}

	.form--basic .file-caution {
		font-size:1.2rem;
	}

	.form--basic .form-agree {
		padding-left:0px;
	}

	.form--basic .form-agree span {
		font-size:1.6rem;
	}

	.form--basic .form-btns .btn {
		font-size:1.4rem;
	}
}
@media screen and (max-width:576px) {
	.form--basic .th {
		padding:10px 0px;
		font-size:1.4rem;
	}

	.form--basic .td {
		width:100%;
		padding:0px 0px 8px;
	}

	.form--basic input {
		height:38px;
		padding:0px 12px;
		font-size:1.2rem;
	}

	.form--basic select {
		height:38px;
		padding:0px 12px;
		font-size:1.2rem;
		background-position: right 12px center;
		background-size: auto 6px;
	}

	.form--basic textarea {
		font-size:1.2rem;
		height:160px;
		padding:12px;
	}

	.form--basic .file-wrap {
		gap: 6px;
	}

	.form--basic .file-box {
		height:38px;
	}

	.form--basic .file-txt {
		font-size:1.2rem;
	}

	.form--basic .file-btn {
		font-size:1.2rem;
	}

	.form--basic .file-caution {
		font-size:1.1rem;
	}

	.form--basic .form-agree {
		margin-top:16px;
	}

	.form--basic .form-agree label {
		gap: 6px;
	}

	.form--basic .form-agree i {
		width:14px;
		height:14px;
		background-size:auto 14px;
	}

	.form--basic .form-agree span {
		width: calc(100% - 14px);
		font-size:1.2rem;
	}

	.form--basic .form-agree em {
		display: none;
	}

	.form--basic .form-btns {
		margin-top:40px;
	}

	.form--basic .form-btns .btn {
		max-width:200px;
		height:38px;
		font-size:1.2rem;
	}
}