h1 {
	text-align: center;
	font-weight: normal;
	font-size: 33px;
	margin: 0 auto 30px auto;
}

h2 {
	width: fit-content;
	margin: 0px 0 0px 2px;
	font-size: 19px;
	font-weight: normal;
}
select {
	margin: 3px 0 0 0;
}

section{
	width: 98%;
	margin: 0 auto 15px auto;
}


input {
	width: calc(100% - 10px);
	padding: 5px 11px;
	margin: 5px;
	border: 1px solid #e3ebe8;
	border-radius: 5px;
	font-size: 21px;
	text-align: left;
}




section.sec_nameGender {
    display: flex;
    align-items: center;
    gap: 50px;
}

section.sec_realName {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: nowrap;
}

section.sec_realName > div {
	flex: 1;
}

.sec_birthday h2 {
	margin-bottom: 4px;
}

.birthSelectWrap {
	display: flex;
	align-items: center;
	gap: 8px;
}

.birthSelectWrap select {
    width: auto;
    min-width: 73px;
    font-size: 18px;
    padding: 8px 14px;
    text-align: right;
}

.birthSelectWrap span {
	font-size: 14px;
	color: #555;
}

input.input_name_optional {
	margin: 3px 0 0 0;
	width: 100%;
}

input.input_name {
	margin: 3px 0 0 0;
}
select.input_sex {
    width: 78px;
    font-size: 18px;
    height: 100%;
}

.input_mailArea{
	display: flex;
	align-items: center;
	font-size: 24px;
}

.sec_mailAddress input{
	margin: 0 0 10px 0;
	width: 100%;
}

.sec_password input {
	margin: 0 0 10px 0;
	width: 100%;
}


section.sec_TnC {
	background: #d8dfe2;
	padding: 30px 10px;
	border-radius: 5px;
}


.TnC_txt {
    width: 100%;
    height: 120px;
    overflow-y: auto;
    background: #fff;
    font-size: 12px;
    padding: 5px;
    border-radius: 3px;
}


.check_TnC_label{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	font-size: 14px;
	font-weight: 400;
	margin-top: 15px;
}

.check_TnC {
	width: 15px;
}


input[type="submit"]#sendBtn {
    display: block;
    width: 230px;
    text-align: center;
    margin: 0 auto;
    background: #cab07b;
    color: #fff;
    border: 0;
    border-radius: 50px;
}
input[type="submit"]#noSendBtn {
    display: none;
    width: 230px;
    text-align: center;
    margin: 0 auto;
    background: #cab07b;
    color: #fff;
    border: 0;
    border-radius: 50px;
	opacity: 0.5;
}


#registDone{
	animation:fadeInUp 0.2s ease-out 1 forwards;
}

#registDone h2 {
	font-size: 17px;
	font-weight: bold;
	margin: 15px auto 20px;
}
.txt {
	width: fit-content;
	margin: 0 auto 20px;
	font-size: 15px;
}


#registErr{
	animation:fadeInUp 0.2s ease-out 1 forwards;
}
#registErr h2 {
	font-size: 21px;
	font-weight: bold;
	margin: 15px auto 20px;
}
#registErr button {
	margin: 30px auto 20px;
}

.TnC_txt h2 {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	width: 98%;
}

input[type="button"] {
	background: #ffb82e;
    color: #fff;
    text-align: center;
}


.registInputArea {
    background: #fff;
    padding: 30px 0 30px 0;
    max-width: 650px;
    margin: 0 auto;
}

div#errMsg {
	color: red;
	text-align: center;
}
input#noSendBtn {
	background: #e8e8e8;
}




@media screen and (max-width: 480px) {
    h2, h3 {
        font-size: 14px !important;
    }
	section.sec_nameGender {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.birthSelectWrap {
		gap: 6px;
	}
	.birthSelectWrap select {
		min-width: 76px;
	}
	main.main {
		padding: 10px !important;
	}
	.registInputArea {
		padding: 10px 0 30px 0 !important;
	}
	h1 {
		font-size: 25px !important;
	}
}
