.login {
	width: 100%;
	max-width: 600px;
	justify-content: center;
	margin: 0 auto;
	gap: 30px;
    padding: 160px 20px 270px;
	box-sizing: border-box;
}
.login h2 {
    font-size: 40px;
}
.login .form .label {
	position: relative;
	background: var(--white);
	border-radius: 10px;
	margin-bottom: 16px;
	border: 1px solid #d3d3d3;
	overflow: hidden;
	box-sizing: border-box;
}
.login .form .label input {
	display: block;
	width: 100%;
	height: 51px;
	font-size: 16px;
	padding: 0 20px;
	box-sizing: border-box;
}
.login .form .label.grid2 {
	padding: 0 30px 0 10px;
}
.login .form .label.grid2 input {
	flex: 1;
}
.login .form .label.grid2 input:read-only {
	color: rgba(50, 50, 50, 0.5);
}
.login .form .label.grid2 button {
	height: 34px;
	padding: 0 20px;
	font-size: 15px;
	border-radius: 5px;
	box-sizing: border-box;
}
.login .form .check {
	gap: 20px;
	margin-top: 20px;
}
.login .form .check span {
	font-weight: 300;
}
.login .form .check a {
	color: rgba(50, 50, 50, 0.5);
	text-decoration: underline;
}
.login .form .check > div input {
	display: none;
}
.login .form .check > div input + label {
	position: relative;
	font-size: 16px;
	color: #E1E1E1;
	padding-left: 30px;
}
.login .form .check > div input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	border-radius: 3px;
	border: 1px solid #AAA;
	width: 20px;
	height: 20px;
	box-sizing: border-box;
}
.login .form .check > div input:checked + label:before {
	background: url("../images/ic_check.svg")no-repeat 50% 50% / 11px;
}
.login .form .check > div button {
	width: 16px;
	height: 16px;
	background: url("../images/arrow_right_white.svg")no-repeat 50% 50% / 100%;
}
.login .form .txt {
	margin-top: 20px;
}
.login .util {
	margin-top: 20px;
	justify-content: end;
	padding: 10px 0;
	color: #E1E1E1;
	font-family: 'Open Sans','NanumSquareNeo',sans-serif;
	font-weight: 300;
	gap: 5px;
}
.login .login_btn {
	display: block;
	width: 100%;
	height: 51px;
	margin-top: 30px;
	font-size: 16px;
	border-radius: 5px;
}

.desc {
	padding: 0 20px;
	line-height: 1.2;
	gap: 10px;
	font-weight: 500;
	box-sizing: border-box;
}

.find_box {
	border-radius: 10px;
	background-color: #efefef;
	padding: 40px 16px;
	font-size: 20px;
	letter-spacing: 0.5px;
	line-height: 1.3;
	box-sizing: border-box;
}


.join .form > div {
	height: 0;
	overflow: hidden;
}
.join .form > div.open {
	height: auto;
}
.join .form > div .label.grid2 button {
	min-width: 94px;
}
.join .form > div .btn_area {
	margin-top: 45px;
}
.join .form > div .btn_area button {
	display: block;
	width: 100%;
	height: 51px;
	border-radius: 5px;
	font-size: 16px;
}
.join .form > div.complete h4 {
	font-family: 'Pretendard';
	font-size: 24px;
	padding-bottom: 40px;
}
.join .form > div.complete .btn_area {
	margin-top: 0;
}
.btn_util {
	margin-top: 30px;
	gap: 10px;
}
.btn_util > a {
	flex: 1;
	height: 56px;
	border: 1px solid #323232;
	border-radius: 5px;
	gap: 16px;
	font-weight: 700;
	letter-spacing: 0.4px;
	justify-content: center;
	box-sizing: border-box;
}

.login_history {
	gap: 10px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.30);
	padding: 20px;
	color: #999;
	font-family: 'Open Sans','NanumSquareNeo',sans-serif;
	box-sizing: border-box;
}
.login_history > div {
	flex: 1;
	text-transform: capitalize;
}

.join .member_out {
	margin: 30px 0 0;
}
.join .member_out a {
	display: inline-block;
	color: #E1E1E1;
	font-family: 'Open Sans','NanumSquareNeo',sans-serif;
	border-bottom: 1px solid #E1E1E1;
	background: url("../images/arrow-right-white.svg")no-repeat 100% 50%;
	padding-right: 18px;
}


.agree_modal .modal_cont .scroll {
	padding: 0 20px;
	max-height: calc(95vh - 132px);
}
.agree_modal .form {
	border-radius: 10px;
	border: 1px solid #D3D3D3;
	padding: 16px 30px;
	margin-top: 20px;
	box-sizing: border-box;
}
.agree_modal .form h4 {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.5px;
	margin-bottom: 14px;
}
.agree_modal .form .cont {
    line-height: 1.4;
    letter-spacing: 0.375px;
    max-height: 260px;
    overflow-y: auto;
	font-size: 14px;
}
.agree_modal .form .cont strong {
    font-size: 16px;
}






@media screen and (max-width: 1600px) {
}
@media screen and (max-width: 1400px) {
}
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1024px) {
	.login {
		padding: 70px 20px 120px;
	}
	.login h2 {
		font-size: 30px;
	}
	.login .form .label input {
		font-size: 14px;
	}
	.login .form .label.grid2 button {
		font-size: 14px;
	}
	.btn_util > a {
		gap: 8px;
	}

	.desc {
		font-size: 14px;
	}

	.find_box {
		font-size: 16px;
	}

	.join .form > div .label.grid2 button {
		min-width: 78px;
	}

	.agree_modal .form {
		padding: 16px 20px;
	}
	.agree_modal .form h4 {
    	font-size: 16px;
	}
	.agree_modal .form .cont {
		font-size: 14px;
	}
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 480px) {
	.btn_util > a {
		flex: none;
		width: 100%;
	}
}
@media screen and (max-width: 380px) {
}