@charset "utf-8";

input[type="submit"] {
	height: 38px;
	line-height: 38px;
	font-size: 16px;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}

input[type="text"], input[type="password"] {
	height: 38px;
	line-height: 38px;
	font-size: 16px;
	border: 1px solid #ccc;
	text-indent: 10px;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}

input[type="checkbox"] {
	width: 17px;
	height: 17px;
	-webkit-appearance: checkbox;
	cursor: pointer;
}

select {
	padding: 0 0 0 5px;
	min-width: 100px;
	height: 40px;
	line-height: 40px;
	font-size: 16px;
	border: 1px solid #ccc;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
}

input, select {
	vertical-align: middle;
}

.memberstep {
	position: relative;
	/*float: left;*/
	width: 100%;
	height: 50px;
	margin-bottom: 50px;
}

.memberstep li {
	display: inline-block;
	border: 1px solid #d5d5d5;
	background: linear-gradient(to bottom, #fff 1%, #f7f7f7 100%);
	width: 33%;
	font-size: 16px;
	text-align: center;
	padding: 15px 0;
	border-radius: 30px;
}

.memberstep .tab_on {
	color: #fff;
	font-weight: bold;
	background: #9d68c9;
	border: 1px solid #5f2d93;
}

.stipulbox2 {
	margin-top: 5px;
	
}

.stipulbox2 .stipulbottom {
	margin: 20px 0px;
	border: 2px solid #f5f5f5;
	border-top: 2px solid #333;
}

.stipultitle {
	border-left: 3px solid #333;
	padding-left: 7px;
	color: #333;
	font-weight: bold;
	margin: 30px 0 10px 0;
	line-height: 16px;
	display: inline-block;
}

.agree_wrapper .stipulbottom {
	height: 110px;
	border: #bfbfbf solid 1px;
	overflow-x: hidden;
	overflow-y: auto;
	margin-bottom: 10px;
	line-height: 1.5em;
	padding: 20px;
	letter-spacing: 0;
}

.agree_wrapper .input-row {
	line-height: 2.0em;
	font-size: 18px;
	text-align: center;
}

.agree_wrapper .input-row input {
	margin-top: 0;
	width: 17px;
	height: 17px;
}

.formbt {
	float: left;
	padding-top: 50px;
	width: 100%;
	text-align: center;
}

.formbt a {
	vertical-align: middle;
	text-align: center;
	min-width: 100px;
	line-height: 38px;
	padding: 0 0;
	background-color: #545658;
	border: 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	display: inline-block;
	border-radius: 20px;
}

.formbt a:hover {
	background-color: #2b2d2f;
}

.formbt input {
	text-align: center;
	min-width: 100px;
	background-color:#9768d2;
	border: 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	display: inline-block;
	border-radius: 20px;
}

.formbt input:hover {
	background: #6c42a1;
}

.formbt2 {
	padding-top: 50px;
	text-align: center;
}

.formbt2 input {
	text-align: center;
	display: inline-block;
	min-width: 200px;
	padding: 0 10px;
	background-color: #9768d2;
	border: 0;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	border-radius: 30px;
}

.formbt2 input:hover {
	background: #6c42a1;
}

.formbt2 a {
	text-align: center;
	min-width: 100px;
	padding: 0 10px;
	background-color: #9768d2;
	border: 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	display: inline-block;
}

.formbt2 a:hover {
	background: #6c42a1;
}

.formbt .col_b {
	background-color: #9768d2;
}

.formbt .col_b:hover {
	background: #6c42a1;
}

.namecheck {
	float: left;
	padding: 15px 0 0 0;
	width: 670px;
}

.namecheck .bg1 {
	float: left;
	width: 345px;
}

.namecheck .bg1 .text {
	float: left;
	padding: 0 0 0 10px;
}

.namecheck .bg1 .text2 {
	position: relative;
	float: left;
	text-align: center;
	padding: 10px 0 0 25px;
	width: 260px;
	font: normal 8pt dotum;
	color: #fff;
}

.namecheck .bg1 .bt {
	float: left;
	text-align: center;
	width: 200px;
	padding: 18px 0 0 63px;
}

.namecheck .bg2 {
	float: left;
	width: 311px;
}

.namecheck .bg2 .text {
	float: left;
	padding: 0 0 0 10px;
}

.namecheck .bg2 .text2 {
	float: left;
	text-align: center;
	padding: 10px 0 0 25px;
	width: 260px;
	font: normal 8pt dotum;
	color: #fff;
}

.namecheck .bg2 .bt {
	float: left;
	text-align: center;
	width: 200px;
	padding: 18px 0 0 63px;
}

.namecheck li {
	float: left;
	width: 270px;
	padding: 0 0 15px 0;
}

.stiuprtext {
	margin-bottom: 20px;
}

.formtext {
	margin-left: 10px;
	color: #C30;
}

.formtext span {
	margin-left: 3px;
	vertical-align: super;
}

.formlist li dl {
	display: flex;
	align-items: center;
	width: 100%;
	border-bottom: 1px solid #eeeeee;
	/*padding: 5px 0;*/
}

.formlist li:last-child {
	border-bottom: 0;
}

.formlist li textarea {
	border: 1px solid #ccc;
	width: 70%;
	line-height: 25px;
	margin: 0;
	padding: 0;
	display: inline-block;
}

.formlist li dl dt {
	padding:20px ;
	display: inline-flex;
	box-sizing: border-box;
	background:#f8f8f8;
	width: 15%;
	height:100%;
	height:-webkit-fill-available;
	align-items: center;
	font-weight: 700;
	
}
.formlist li dl dt label{word-break: keep-all;}
.formlist li dl dd{padding:10px 20px;}

/*
.formlist li p {
	float: right;
	display: block;
	width: 80%;
}
*/


.formlist li p input[type="radio"] {
	margin: 0 3px 0 15px;
}

.formlist li p input[type="radio"]:first-child {
	margin: 0 3px 0 3px;
}

.formlist li span label {
	display: block;
	margin-right: 10px;
	
	font-size: 15px;
	/*font-weight: bold;
	width: 110px;
	text-align-last: justify;
	text-align: justify;*/
	word-spacing: -3px;
	letter-spacing: -1px;
}

.formlist li img {
	vertical-align: middle;
}

.formlist li a {
	vertical-align: middle;
	display: inline-block;
	padding: 0 10px;
	line-height: 38px;
	font-size: 14px;
	color: #fff;
	border-radius: 3px;
	margin-left:5px;
	-webkit-appearance: none;
	background-color: #8e9bb3;
}

.formlist li a:hover {
	background-color: #007fc1;
}

.join_wrapper abbr {
	display: inline-block;
	text-decoration: none;
	color: #b40d0d;
	font-size: 20px;
}

.mem_addr {
	width: 82.9%;
}

.mem_addr2 {
	width: 90%;
	margin-top: 3px;
}

.attestation {
	
}

.attestation h3 {
	border-left: 3px solid #333;
	padding-left: 7px;
	color: #333;
	font-weight: bold;
	margin: 30px 0 10px 0;
	line-height: 10px;
}

.attestation .attestation_list {
	background-color: #f9f9f9;
	padding: 30px 20px 20px 20px;
	text-align: center;
	border: 1px solid #ccc;
}

.attestation .attestation_list ul {
	width: 70%;
	margin: 0 auto;
	padding: 25px 0 10px 0;
}

.attestation .attestation_list p {
	padding-left: 10px;
}

.attestation .attestation_list span {
	padding-bottom: 5px;
	display: inline-block;
}

.attestation .attestation_list span label {
	width: 80px;
	text-align: right;
	display: inline-block;
	margin-right: 10px;
	color: #333;
}

.attestation .attestation_list span input {
	width: 150px;
	border: 1px solid #ccc;
	height: 23px;
}

.filebg {
	float: left;
	width: 620px;
	padding: 0 0 55px 0;
	margin: 15px 0 0 0;
}

.filebg .title {
	padding: 0 0 0 25px;
}

.filebg .filefilebg {
	float: left;
	width: 400px;
	margin: 30px 0 0 0;
}

.filebg .namechecklist {
	float: right;
	width: 300px;
	padding: 3px 0;
}

.filebg .namechecklist label {
	float: left;
	padding: 0 10px 0 0;
}

.filebg .bt {
	float: left;
	margin: 30px 0 0 10px;
}

.inputa1 {
	border: 1px solid #999;
	height: 20px;
}

.inputa2 {
	border: 1px solid #999;
	height: 20px;
	width: 100px;
}

.stipul_text {
	border:1px solid #dfdfdf;
	margin-top:-11px;
	padding:10px 0;
	background:#f8f8f8;
}

.join_type {
	width: 620px;
	margin: 10px 0;
	text-align: center;
	font-size: 10pt;
}

.join_select {
	width: 620px;
	margin: 10px 0;
	padding: 10px 0;
	text-align: center;
	border-bottom: 1px dashed #C9C9C9;
	font-size: 10pt;
}

.zipall {
	position: relative;
	float: left;
	width: 430px;
	border: 5px solid #dfdfdf;
	background-color: #999;
	height: 400px;
}

.zipcode {
	position: relative;
	float: right;
	width: 430px;
	margin: 10px 0 0 0;
}

.zipcode .search {
	position: relative;
	float: left;
	margin: 0 0 0 10px;
	width: 390px;
	border: 2px solid #cccccc;
	padding: 5px;
}

.zipcode .search span {
	position: relative;
	float: left;
	color: #fff;
	padding: 5px 5px 0 0;
	font-weight: bold;
	letter-spacing: -1px;
}

.zipcode .search #dong {
	position: relative;
	float: left;
	color: #666;
	border: 4px solid #666;
	width: 140px;
	margin: 0 5px 0 0;
}

#ziplist {
	position: relative;
	float: left;
	height: 300px;
	width: 385px;
	overflow: scroll;
	background-color: #fff;
	margin: 15px 0 0 10px;
	padding: 10px;
}

#ziplist li {
	position: relative;
	float: left;
	width: 370px;
	border-bottom: 1px solid #dfdfdf;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 9pt;
	line-height: 18px;
	font-size: 8pt;
}

#ziplist .zipcode {
	position: relative;
	float: left;
	width: 50px;
	margin: 0;
	padding: 0 0 0 10px;
}

#ziplist .address {
	position: relative;
	float: left;
}

@media (max-width:750px){
	.formlist li dl{align-items: flex-start; flex-flow:column wrap;}
	.formlist li dl dt{width:100%;}
	.memberstep{display: flex;}
}
@media screen and (max-width:600px) {
	.memberstep li {
		font-size: 12px;
	}
	#Contents img {
		width: auto;
	}
	.jointext{display: block;}
}

@media screen and (max-width:480px) {
	.formlist li span:first-child {
		margin: 2px 0 0 0;
		width: 100%;
	}
	.formlist li p {
		width: 100%;
	}
}

@media screen and (max-width:320px) {
	.memberstep li {
		font-size: 11px;
	}
}


/*타이틀*/
.joinform_tit{display: flex; justify-content: space-between; align-items: center;}
.joinform_tit h4{font-size:var(--size-24);}
.joinform_tit h4:before{display: inline-block; content:""; vertical-align: -1px; background: url(../img/ic_bullet2.png) no-repeat center; width:20px; height:20px; margin-right:7px;}
.joinform_tit span{color:#ae71e2}
@media (max-width:600px){
	.joinform_tit{flex-flow:column;align-items:flex-start }
}



/*회윈 타입 구분*/
.join-type .con{color:var(--main-color); font-size:var(--size-18); text-align: center; padding:15px ; border-radius: 5px; background:#f8f8f8; margin-bottom:10px;}
.join-type ul{display: flex; column-gap: 5px;}
.join-type ul li{flex:1;}
.join-type ul li label{font-size:var(--size-18); font-weight:bold; display: inline-block; width:100%; text-align: center; border:1px solid #ddd; padding:20px 0; border-radius: 10px;}
.join-type ul li label img{margin-bottom:10px;}
.join-type ul li input[type="checkbox"]{display: none;}
.join-type ul li input[type="checkbox"]:checked+label{color:#8a00ff; border-color:#8a00ff;}
@media (max-width:850px){
	.join-type ul{display: grid; grid-template-columns: repeat(2, 1fr);}
	.join-type ul li {margin-bottom:5px;}
	.join-type ul li label{display: flex; align-items: center; padding:10px ; justify-content: center;}
	.join-type ul li label img{width:60px; margin-right:10px;}
}

/*join 개인정보입력 페이지 개인정보 취급방침*/
.join_private_wrap{background: #f8f8f8; padding:15px 30px; border-radius: 15px; margin-bottom:30px;}

/*자녀정보입력*/
.child_info{margin-top:10px;}
.child_info>div{display: flex; align-items: center;}
.child_info>div+div{margin-top:7px;}
.formlist li .child_info span{
	display: flex;
	align-items: center;
	font-size: 14px;
}
.formlist li .child_info span+span{margin-left:15px;}
.child_info_tit{font-weight: bold;}
em.child_info_tit{display: inline-block; margin-right:6px;}
@media (max-width:900px){
	.child_info{margin:15px 0;}
	.child_info>div{display: block;}
	.child_info>div+div{border-top:1px solid #ddd ; padding-top:10px; margin-top:10px;}
	.formlist li .child_info span+span{margin-left:0;}
}

/*회원가입완료*/
.success_box{width:50%; text-align: center; border-radius: 15px; border:1px solid #aa73e3; padding:80px 40px; margin:0 auto;}
.success_box h3{font-size: 26px; }
.success_box img{margin:30px 0 30px;} 
.success_box p{line-height: 1.6; font-size:18px; word-break: keep-all; color:#666;}
.join_succ_btn{background-color:#9768d2!important;}
.join_succ_btn:hover{background-color:#6c42a1!important;}
@media (max-width:1024px){
	.success_box{width:80%; padding:40px 30px;}
}