@font-face {
	font-family: "Pretendard-Regular";
	src: url("https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
}

:root {
	/* color */
	--color-primary: #89b829;
	--color-secondary: #0a986b;

	/* box-shadow */
	--box-shadow: 0 0 20px rgba(125, 129, 123, 0.05);
	--button-box-shadow: 0 5px 10px rgba(35, 0, 139, 0.2);
}

*,
body {
	font-family: "Noto Sans KR", sans-serif;
}

.form_wrap {
	display: grid;
	min-height: 100vh;
	align-items: center;
	justify-items: center;
	background: #f3f3f3;
}

.form_box {
	position: relative;
	max-width: 90%;
	width: 500px;
	margin: 30px 0;
	padding: 60px 40px;
	border-radius: 10px;
	background: #fff;
	box-shadow: var(--box-shadow);
}

.back {
	position: absolute;
	left: 40px;
	top: 65px;
	font-size: 24px;
}

.form_box h1 {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 50px;
}

.form_box label {
	display: block;
	font-size: 16px;
}

.form_box .btn_box {
	margin-top: 30px;
}

.input_box {
	margin-top: 30px;
}

.hidden {
	display: none;
}

.error_message {
	font-size: 14px;
	color: var(--color-secondary);
	margin: 12px 0 16px;
}

.btn_box a + a {
	margin-top: 14px;
}

.button_style {
	position: relative;
	display: block;
	width: 100%;
	font-size: 16px;
	padding: 12px 14px;
	border-radius: 30px;
	text-align: center;
	overflow: hidden;
	background: var(--color-primary);
	color: #fff;
}

.button_style2 {
	position: relative;
	display: block;
	width: 100%;
	font-size: 16px;
	padding: 12px 14px;
	border-radius: 30px;
	text-align: center;
	overflow: hidden;
	border: 1px solid var(--color-primary);
	margin-top: 15px;
}

.button_list {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.button_list li {
	position: relative;
	flex: 1;
}

.button_list li + li:before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 7.5px);
	width: 1px;
	height: 15px;
	background: #ddd;
}

.button_list li a {
	display: block;
	text-align: center;
	padding: 12px 14px;
}

[class*="btn_style"]:hover:before {
	left: 0;
}

input[type="email"],
input[type="text"],
input[type="password"],
select {
	position: relative;
	width: 100%;
	border: none;
	border-bottom: 1px solid #ddd;
	padding: 10px 5px;
	transition: border 0.3s;
	-webkit-transition: border 0.3s;
}

::placeholder {
	color: #999;
}

::-ms-input-placeholder {
	color: #999;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 5000s ease-in-out 0s;
	-webkit-transition: background-color 9999s ease-out;
	-webkit-box-shadow: 0 0 0px 1000px white inset !important;
}

input[type="email"]:focus,
input[type="text"]:focus,
input[type="password"]:focus {
	outline: none;
	border-bottom: 1px solid var(--color-primary);
}

input[type="email"]:before,
input[type="text"]:before,
input[type="password"]:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--color-primary);
}

input[type="email"]:focus:before,
input[type="text"]:focus:before,
input[type="password"]:focus:before {
	width: 100%;
}

input[type="password"] + input[type="password"] {
	margin-top: 12px;
}

/* error */
.error {
	text-align: center;
}

.error p {
	font-size: 24px;
}

.error span {
	font-size: 1.3px;
}

.error .img {
	width: 300px;
	margin: 0 auto 16px;
	padding: 16px;
	background: #fff;
	border-radius: 12px;
}

.error .img img {
	width: 100%;
}
