@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@font-face {
	font-family: 'SUIT';
	font-weight: 100;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Thin.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Thin.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Thin.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Thin.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Thin.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 200;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraLight.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraLight.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraLight.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraLight.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraLight.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 300;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Light.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Light.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Light.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Light.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Light.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 400;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Regular.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Regular.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Regular.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Regular.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Regular.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 500;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Medium.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Medium.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Medium.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Medium.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Medium.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 600;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-SemiBold.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-SemiBold.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-SemiBold.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-SemiBold.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-SemiBold.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 700;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Bold.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Bold.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Bold.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Bold.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Bold.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 800;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraBold.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraBold.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraBold.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraBold.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-ExtraBold.ttf') format("truetype");
	font-display: swap;
}
@font-face {
	font-family: 'SUIT';
	font-weight: 900;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Heavy.eot');
	src: url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Heavy.eot?#iefix') format('embedded-opentype'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Heavy.woff2') format('woff2'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Heavy.woff') format('woff'),
			url('https://cdn.jsdelivr.net/gh/webfontworld/sunn/SUIT-Heavy.ttf') format("truetype");
	font-display: swap;
}
@import url('//fonts.googleapis.com/earlyaccess/nanummyeongjo.css');

:root {
	--main-bg-light: #FAF7F4;
	--main-bg: #F8EFEC;
	--main-bg-dark: #ECD2CA;
  --main-line: #ECF2FE;
	--main-lightest: #BD5F42;
	--main-lighter: #B38B5A;
	--main-light: #9E7C4F;
	--main: #82643E;
	--main-dark: #793D2A;
	--main-darker: #793D2A;
	--main-darkest: #1C130A;

  --title : #0D111A;
  --tit : #202B40;
	--body : #334466;
	--txt : #4D5E80;
	--txt-sub : #6B7A99;
	--gray-dark : #99A6BF;
	--gray : #ADB8CC;
	--gray-light : #C3CAD9;

	--border: #DFE3EB;
	--line: #E1E5ED;

	--bg01: #F2F3F5;
	--bg02: #F5F6F7;
	--bg03: #F7F8FA;

  --red: #FF383C;

	--shadow-xs:  0 1px 4px -1px hsla(220, 33%, 25%, 0.5);
	--shadow-sm:  0 2px 4px -1px hsla(220, 33%, 30%, 0.16), 0 3px 12px -1px hsla(220, 50%, 22%, 0.26);
	--shadow-md: 0 2px 6px -1px hsla(220, 33%, 30%, 0.16), 0 8px 24px -4px hsla(220, 34%, 28%, 0.38);
	--shadow-lg: 0 3px 18px -2px hsla(220, 33%, 30%, 0.16), 0 12px 48px -6px hsla(220, 34%, 28%, 0.38);
	--shadow-xl: 0 4px 24px -3px hsla(220, 33%, 30%, 0.16), 0 18px 64px -8px hsla(220, 34%, 28%, 0.38);

  --font: 'NanumMyeongjoBold';
  --font: 'NanumMyeongjoExtraBold';
  --font: 'NanumMyeongjo';
}
.f-red{
  color: var(--red);
}
.thumb{
	position:relative;
	height: 0;
	padding-top: 100%;
	/* border: 1px solid #F2F3F5; */
	overflow: hidden;
}
.thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	position: absolute;
	top: 0;
	left: 0;
	transition: all .4s ease;
}
.thumb img:hover{
	transform: scale(1.1);
}
.img-box{
	overflow: hidden;
	/* border: 1px solid #F2F3F5; */
}
.img-box img{
	width: 100%;
	height: 100%;
  object-fit: cover;
	vertical-align: middle;
	transition: all .2s ease;
}

.divider{
	position: relative;
	padding-right: 12px;
	margin-right: 12px;
}
.divider:after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 12px;
	right: -1px;
	top: calc(50% - 5px);
	background: #fff;
	opacity: 50%;
}
.divider-list{
  display: flex;
  align-items: center;
	flex-wrap: wrap;
	gap: 4px 32px;
}
.divider-list li{
  position: relative;
  display: inline-block;
}
.divider-list li + li:before{
  content: "";
  display: block;
  width: 2px;
  height: 12px;
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  background:var(--line);
  left: -16px;
}

.bu-list > li {
  padding-left: 12px;
  position: relative;
  text-align: left;
  line-height: 1.5em;
}
.bu-list > li + li{
  margin-top: 4px;
}

.bu-list > li:before {
  content: "";
  display: block;
  background: var(--main);
  width: 4px;
  height: 4px;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  border-radius: 50%;
  top: calc(50% - 2px);
  top: 0.65em;
}
.bu-list.gray > li:before {
  background: #99A6BF;
}

.num-list {counter-reset:rank}
.num-list > li {
	position:relative;
  text-align: left;

	padding-left: 32px;
	margin-bottom: 20px;
}
.num-list > li:before {
	content:counter(rank);
	counter-increment:rank;

	font-size: .8em;
	display:block;
	text-align: center;
	font-family: 'GmarketSansBold';
	position:absolute;
	left: 0;
	
	width: 24px;
	height: 24px;
	line-height: 24px;
	top: calc(50% - 12px);
	
}
.num-list.type01 > li:before {
	border-radius: 8px;
	color: #1C1C28;
	background: #EBEBF0;
	top: -2px;
}
.num-list.type02{
	line-height: 1.6em;
}
.num-list.type02 > li:before {
	border-radius: 50%;
	color: #fff;
	font-family: 'GmarketSansMedium';
	width: 20px;
	height: 20px;
	line-height: 22px;
	background: var(--main);
	top: 2px;
	font-size: 10px;	
}
.num-list.type02 > li strong {
	font-family: 'GmarketSansMedium';
	font-weight: normal;
	padding-right: 4px;
	color: #1c1c28;
	margin-bottom: 4px;
	display: block;
}

.num-list.type03 > li {
	padding:16px 12px 16px 32px;
	border-bottom:1px solid #D8E5FE;
  line-height: 1.6em;
	margin-bottom: 0;
}
.num-list.type03 > li:last-child {border-bottom:0}
.num-list.type03 > li:before {
	color:#6698FA;
	text-align:center;
	top:18px;
	font-size: 1em;
}
.num-list.type03 > li strong{
	display: block;
	margin-bottom: 4px;
	font-size: 1.05em;
}
.num-box > li:first-child {
	margin-top: 0;
}
.num-box > li {
	display: flex;
	font-size: 16px;
	color: #999999;
	line-height: 24px;
	align-items: center;
	margin-top: 7px;
}
.num-box > li > span.num {
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	color: #cccccc;
	margin-right: 16px;
	background-color: #222c2f;
	border-radius: 20px;
}

.point-list > li {
	margin: 12px 0;
	position: relative;
	background: url(/images/check.svg) no-repeat 0 0.4em;
	background-size: 0.8em;
	padding-left: 1.6em;
	line-height: 1.6em;
	color: #4D5E80;
}
.point-list > li b{
	font-weight: normal;
	color: #334466;
}


/* Form Styles */
select,
textarea,
input[type=text], 
input[type=password], 
input[type=email], 
input[type=url], 
input[type=search], 
input[type=tel], 
input[type=number], 
input[type=datetime] {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 4px;
	height: 48px;
  color:#334466;
}
input{
	padding: 0 16px;
}
input.xs,
select.xs{
	height: 32px;
	font-size: 15px;
	padding: 0 8px;
}
input.sm,
select.sm{
	height: 40px;
	font-size: 15px;
	padding: 0 12px;
}
input.lg,
select.lg{
	height: 56px;
	font-size: 17px;
	padding: 0 20px;
}
input.xl,
select.xl{
	height: 64px;
	font-size: 18px;
	padding: 0 24px;
}
.ui-input{
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 4px;
	height: 48px;
  padding: 0 16px;
  overflow: hidden;
}
.ui-input input,
.ui-input input[type=text]:focus{
  border: 0;
  padding: 0;
  background:transparent;
  outline: 0;
}



textarea {
  overflow-x:hidden;
  overflow-y:auto;
  padding:12px;
  letter-spacing:-0.5px;
  line-height:1.5em;
  color:#334466;
  height: 120px;
}

.textarea_box{
	position: relative;
	border-radius: 4px;
	border: 1px solid var(--border);
	padding: 12px;
}
.textarea_box:focus-within {
	border: 1px solid var(--main);
}
.textarea_box textarea{
	border: 0;
  width: 100%;
  padding: 0 20px 0 0;
	resize: none;
}
.textarea_box textarea:focus {
	outline: 0;
}
select{
	background:url(/images/select.svg) no-repeat right 12px center #fff;
	padding: 0 calc(12px + 12px + 12px) 0 20px;
	background-size: 9px;
	cursor: pointer;
}
select option[value="default"]{
	display: none;
}

.select_bar{
	padding: 0 36px 0 12px;
	border: 0;
	border-bottom: 2px solid #99A6BF;
	line-height: 38px;
	cursor: pointer;
}
.select_bar:focus{
	outline: 0;
}

textarea::placeholder,
textarea::-ms-input-placeholder,
textarea::-webkit-input-placeholder,
textarea::-moz-placeholder,
textarea::-o-placeholder,
input::placeholder,
input:-ms-input-placeholder,
input::-webkit-input-placeholder,
input::-moz-placeholde,
input::-o-placeholder{
	color:var(--gray-dark);
	letter-spacing:-0.5px;
}
select[disabled="disabled"],
textarea[disabled="disabled"],
textarea:read-only,
input:disabled,
input:read-only,
input[read-only] {background-color:var(--border);}

select:focus,
textarea:focus, 
input[type=text]:focus, 
input[type=password]:focus, 
input[type=email]:focus, 
input[type=url]:focus, 
input[type=search]:focus, 
input[type=tel]:focus, 
input[type=number]:focus, 
input[type=datetime]:focus {
  outline: 1px solid var(--main);
}

.btn{
	position: relative;
  display: inline-flex;
	align-items: center;
	justify-content: center;
  font-weight: normal;
  color: #4D5E80;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-color: #E4E4EB;
	background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  transition: background 0.2s ease, color 0.1s ease;
}
.btn.txt-btn{
	padding: 16px 24px;
  line-height: 20px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  outline: 0;
  text-decoration: none;
	color: #fff;
	background-color: #4D5E80;
	border-color: #4D5E80;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
}

.btn.primary{
	background-color: var(--main);
	border-color: var(--main);
	color: #fff;
}
.btn.primary:hover{
	background-color: var(--main-dark);
	border-color: var(--main-dark);
}
.btn.secondary{
	background-color: var(--main-bg03);
	border: 1px solid var(--main);
	color: var(--main);
}
.btn.secondary:hover{
	background-color: var(--main-bg01);
}
.btn.tertiary{
	background-color: #fff;
	border: 1px solid var(--body);
	color: var(--body);
}
.btn.tertiary:hover{
	background-color: var(--bg03);
}
.btn.line{
	background-color: #fff;
	border-color: var(--border);
	color: #1C1C28;
}
.btn.line:hover{
  border-color: #4D5E80;
  color: #334466;
}
.btn.type01{
	background: linear-gradient(90deg, #6698FA -6.44%, var(--main) 107.22%);
	border: 0;
	color: #fff;
}
.btn.type01:hover{
	box-shadow: inset 0 4px 4px rgb(0 0 0 / 20%);
}
.btn.round{
	border-radius: 100px;
}
.btn.circle{
	border-radius: 50%;
}
.btn.xs{
	height: 32px;
	padding: 0 8px;
	font-size: 13px;
}
.btn.sm{
	height: 40px;
	padding: 0 12px;
	font-size: 14px;
}
.btn.md{
	height: 48px;
}
.btn.lg{
	height: 56px;
	padding: 0 20px;
}
.btn.xl{
  height: 64px;
  font-size: 17px;
	padding: 0 40px;
}
.btn[class*="ico-"]{
	padding: 0 16px;
	background-repeat: no-repeat;
	background-size: 1em;
	background-position: center left 16px; 
	padding-left: calc(16px + 1em + 8px);
}
.btn[class*="ico-"].lg{
  padding: 0 40px;
  padding-left: calc(40px + 1em + 8px);
  background-position: center left 36px; 
}
.btn[class*="ico-"].right{
	background-position: center right 16px;
	padding-left: 16px;
	padding-right: calc(16px + 1em + 12px);
}

.btn.ico-youtube{	background-image: url(/images/YouTube.svg);}
.btn.ico-blog{	background-image: url(/images/blog.svg);}
.btn.ico-instagram{	background-image: url(/images/Instagram.svg);}
.btn.ico-call{	background-image: url(/images/phone-w.svg);}

.btn.ico-download{	
	background-image: url(/images/download.svg); 
	background-color: #fff;
	border-color: var(--border);
	border-radius: 50px;
}

.btn[class*="fill"] {
  background-color: #334466;
  border-color: #334466;
  color: #fff;
}

.btn.fill-gray {
  background-color: #6B7A99;
  border-color: #6B7A99;
}

.btn.fill-red {
  background-color: var(--red);
  border-color: var(--red);
}

.btn.fill-blue {
  background-color: #2F6FED;
  border-color: #2F6FED;
}

.btn.fill-green {
  background-color: var(--green);
  border-color: var(--green);
}

.btn.fill-pink {
  background-color: #FA4B67;
  border-color: #FA4B67;
}

.btn.fill-orange {
  background-color: #FF8433;
  border-color: #FF8433;
}

.btn[class*="line"] {
  background-color: #fff;
  border-color: var(--border);
  color: #334466;
}

.btn.line-gray {
  color: var(--gray-dark);
  border: 1px solid var(--border);
}

.btn.line-red {
  color: var(--red);
  border: 1px solid var(--red);
}

.btn.line-green {
  color: #08875D;
  border: 1px solid #08875D;
}

.btn.line-black {
  border: 1px solid #334466;
}

.btn.line-white {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}

.btn.sm.line-delete {
  padding: 0;
  width: 32px;
}

.btn.sm.line-delete img {
  width: 20px;
  height: 20px;
}

.btn[class*="tint"] {
  background-color: #eff0f7;
  border-color: #eff0f7;
  color: #334466;
  color: #4D5E80;
}

.btn.tint-primary {
  background-color: var(--main-bg);
  border-color: var(--main-bg);
  color: var(--main);
}

.btn.tint-red {
  background-color: #FEF1F2;
  border-color: #FEF1F2;
  color: #E02D3C;
}

.btn.tint-green {
  background-color: #EDFDF8;
  border-color: #EDFDF8;
  color: #08875D;
}

.btn.tint-blue {
  background-color: #F0F5FF;
  border-color: #F0F5FF;
  color: #2F6FED;
}

.btn.tint-purple {
  background-color: #F8F5FF;
  border-color: #F8F5FF;
  color: #8B54F7;
}

.btn.tint-black {
  background-color: #F5F6F7;
  border-color: #F5F6F7;
  color: #0D111A;
}

.btn.tint-gray {
  background-color: var(--line);
  border-color: var(--line);
  color: #4D5E80;
  color: #6B7A99;
}

.btn.clear {
  background: transparent;
  border: transparent;
  color: #6B7A99;
  padding: 4px;
}


.btn-box{
	display: flex;
  justify-content: center;
	gap: 12px;
}
.btn-box.xs{
	gap: 4px;
}
.btn-box.sm{
	gap: 8px;
}
.btn-box.md{
	gap: 16px;
}
.btn-box.lg{
	gap: 20px;
}

.btn-box.type01{
	padding-top: 20px;
	text-align: center;
	border-top: 1px solid #DFE3EB;
}
.btn-box.type01 .btn {
	width: 140px;
	text-align: center;
	margin: 0 12px;
	display: inline-block;
}
.btn-box.type02 .btn {
  flex: 1;
}

.btn-tag{
	color: #254C9C;
	border: 1px solid #254C9C;
	padding: 4px 8px;
	display: inline-block;
	font-size: 0.95em;
	border-radius: 4px;
}
.badge{
	background-color: #F0F4FF;
	color: #254C9C;
	border-radius: 4px;
	padding: 4px 12px;
	display: inline-block;
	font-size: 0.95em;
	font-family: 'Pretendard-Medium';
}
.tag{
	display: inline-block;
  height: 32px;
  line-height: 32px;
	padding: 0 12px;
	font-size: 14px;
	background: var(--main-bg);
	color: var(--main);
	border-radius: 4px;
}


a[href^="http://"]
, a:hover[href^="http://"] {
	color: #00AAFF;
	text-decoration: underline;
	padding: 0 4px;
}
a.link, a.link:hover {
	color: #00AAFF;
	text-decoration: underline;
	background: url(/images/link.svg) no-repeat right center;
	padding-right: 1.5em;
	background-size: 1em;
}

.ui-chk input[type="checkbox"]{
	display: none;
}
.ui-chk label{
	position: relative;
	padding-left: 28px;
  cursor: pointer;
	display: inline-block;
}
.ui-chk label:before{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 4px;
	background: url("/images/ui_chk.svg") no-repeat center center;
	border: 2px solid var(--border);
	background-color: #fff;
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	transition: all .4s ease-in-out;
}
.ui-chk input[type="checkbox"]:checked + label:before {
	background-color: var(--main);
	border-color: var(--main);
}

.ui-chk.lg label{
	padding-left: calc(24px + 8px);
}
.ui-chk.lg label:before {
	width: 24px;
	height: 24px;
	background-size: 24px;
	top: calc(50% - 12px);
}

.ui-chk.v2 label:before{
	border-radius: 50%;
	background-color: var(--border);
	background-size: 16px;
}

.chk-list{
  display: flex;
  align-items: center;
  gap: 8px;
}
.chk-list input[type="checkbox"]{
	display: none;
}
.chk-list input[type="checkbox"] + label{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}
.chk-list input[type="checkbox"]:checked + label{
  border-color: var(--main);
  color: var(--main);
  background-color: var(--main-bg);
}

.chk-list input[type="radio"]{
	display: none;
}
.chk-list input[type="radio"] + label{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 16px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  color: var(--txt-sub);
}
.chk-list input[type="radio"]:checked + label{
  border-color: var(--main);
  color: var(--main);
  background-color: var(--main-bg);
  font-weight: 500;
}

.custom_radio {
  display: flex;
  align-items: center;
}
.custom_radio input[type="radio"] {
  width: 20px;
  height: 20px;
  margin-right: -20px;
  z-index: -1;
	display: none;
}
.custom_radio input[type="radio"]+label {
  position: relative;
  margin-right: 20px;
  cursor: pointer;
}
.custom_radio input[type="radio"]+label::before {
	content: "";
	display: inline-block;
	height: 20px;
	width: 20px;
	background: #fff;
	border: 4px solid #c6c6c6;
	border-radius: 50%;
	z-index: 2;
	vertical-align: -4px;
	margin-right: 8px;
	transition: all .2s ease;
}
.custom_radio input[type="radio"]+label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%) scale(0);
	width: 10px;
	height: 10px;
	background-color: #fff;
	border-radius: 50%;
	transition: all .2s ease;
}
.custom_radio input[type="radio"]:checked+label::before {
	background: #ffffff;
	border-color: var(--main);
}
.custom_radio input[type="radio"]:checked+label::after {
  transform: translateY(-50%) scale(1);
}

input[type="radio"].radio {
	display: none;
}
input[type="radio"].radio+label {
  position: relative;
  cursor: pointer;
	display: block;
}
input[type="radio"].radio+label::before {
	content: "";
	display: inline-block;
	height: 20px;
	width: 20px;
	background: #fff;
	border: 4px solid #c6c6c6;
	border-radius: 50%;
	z-index: 2;
	vertical-align: -4px;
	margin-right: 8px;
	transition: all .2s ease;
}
input[type="radio"].radio+label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%) scale(0);
	width: 10px;
	height: 10px;
	background-color: #fff;
	border-radius: 50%;
	transition: all .2s ease;
}
input[type="radio"].radio:checked+label::before {
	background: #ffffff;
	border-color: var(--main);
}
input[type="radio"].radio:checked+label::after {
  transform: translateY(-50%) scale(1);
}

.radio_btn_wrap input[type="radio"].radio_btn+label{
	margin: 0;
	margin-right: 12px;
}
.radio_btn_wrap input[type="radio"].radio_btn+label:last-child{
	margin-right: 0;
}
input[type="radio"].radio_btn {
	display: none;
}
input[type="radio"].radio_btn+label {
  position: relative;
  cursor: pointer;

	display: inline-block;
	padding: 8px 12px;
	background: #fff;
	color: #99A6BF;
	border-radius: 4px;

	font-size: .9em;
	border-radius: 25px;
}
input[type="radio"].radio_btn:checked+label {
	background: var(--main);
	border-color: var(--main);
	color: #fff;
}
/* // form style */
.form-box{}
.form-box > li + li{
	margin-top: 12px;
}
.form-item{
	position: relative;
}
.form-item i{
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}




.scroll-area-outer {
	width: 100%;
	height: 160px;
	padding: 4px;
	background: #fff;
	border: 4px solid var(--border);
	border-radius: 4px;
	overflow: hidden;
	position: relative;
}
.scroll-area {
	width: 100%;
	height: 100%;
	padding-right: 12px;
	position: relative;
  overflow: hidden;
	overflow-y: scroll;
	outline: none;
  padding: 20px;
}
.scroll-area::-webkit-scrollbar-track {
	background: #fff;
}
.scroll-area::-webkit-scrollbar {
  width: 4px;
}
.scroll-area::-webkit-scrollbar-thumb {
	background-color: var(--line);
}


/* table detail */
.limit{overflow-x:hidden;overflow-y:auto;}
.tbl_box.fixed {table-layout:fixed;}
.tbl_box {
	width: 100%;
	position: relative;
	border-top:3px solid var(--main);
	line-height: 1.5em;
	color: #4D5E80;
}
.tbl_box th,
.tbl_box td {
	border-bottom: 1px solid #E4E4EB;
	vertical-align: middle;
	-webkit-transition: background 300ms;
	transition: background 300ms;
}
.tbl_box thead th, 
.tbl_box thead td {
	padding: 16px 12px;
	position: relative;
	text-align: center;
	background: #F0F4FF;
	font-family: 'Pretendard-Bold';
}
.tbl_box thead td {
	font-weight: 500;
}
.tbl_box tbody th{
	text-align: center;
 	background: #f5f7ff;
  	background: #fafafc;
  	font-family: 'Pretendard-Medium';
  	font-weight: 500;
  	color: #334466;
}
.tbl_box tbody th,
.tbl_box tbody td {
	padding: 12px 12px;
}

.tbl_box.line {
	border-left: 1px solid #E4E4EB;
}
.tbl_box.line th, .tbl_box.line td{
	border-right: 1px solid #E4E4EB;
}

.tbl_box.type01 {
	border-top: 0;
}
.tbl_box.type01 thead th,
.tbl_box.type01 thead td {
	border-right: 0;
	background: var(--main);
	color: #fff;
	border-bottom: 0;
}
.tbl_box.type01 thead td:before,
.tbl_box.type01 thead th:before {
	content: '';
	display: block;
	width: 1px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -6px;
	background: #fff;
	opacity: 0.8;
}
.tbl_box.type01 thead th:last-child:before,
.tbl_box.type01 thead td:last-child:before {display: none;}

.tbl_box.type02{
  border-top: 2px solid var(--main);
}
.tbl_box.type02 th, .tbl_box.type02 td {
  border: 1px solid #e4e4eb;
}
.tbl_box.type02 thead th, .tbl_box.type02 thead td {
  color: #19346e;
  color: #254C9C;
  background: #ecf2fe;
}
.tbl_box.type02 tbody th{
  background: #f9fbff;
}
.tbl_box.type03{
	border-top: 1px solid #e4e4eb;
	border-left: 3px solid var(--main);
}
.tbl_box.type03 tbody th {
	background: #f0f4ff;
	text-align: left;
	color: var(--main);
}

.tbl_box.type04{
	border-top: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 1px 1px 1px rgb(40 41 61 / 8%), 0.5px 0.5px 2px rgb(96 97 112 / 16%);
}
.tbl_box.type04 thead th, .tbl_box.type04 thead td {
	padding: 8px 12px;
	background: #ebebf0;
}
.tbl_box.type04 tbody th{
	background: #777F8F;
	background: #6F7E9E;
	color: #fff;
}
.tbl_box.type04 tbody td{
	background: #fff;
}

.tbl_box_wrap .tbl_box{
  margin-bottom: 40px;
}
.tbl_box td.tit{
	font-weight: 600;
	text-align: center;
	color: #1c1c28;
}





/* 텍스트디자인 */
.highlight {
  position: relative;
  display: inline-block;
  padding: 0 4px;
}
.highlight:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 12px;
  background:#DEC76B;
  opacity: 0.4;
  z-index: -1;
}
.underline {
	position:relative;
	display: inline-block;
	display: inline;

	text-decoration: underline #FDE181 2px;
	text-decoration: underline #DEB887 2px;
}
.underline:before { 
	/* content: ""; */
	display: block;
	position: absolute;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 4px;
	height: 2px;
	z-index: -1;
	background: #ffefd3;
	opacity: 0.4;
	background: #FFB41A;
}
.marking{
  font-size: 0;
	display: inline-block;
	vertical-align: middle;
	padding: 0 4px 0 0;
}
.marking:before{
  content: "*";
	display: inline-block;
  font-size: 1rem;
  color: #e0615d;
	color: #dc5959;
  color:#FC5A5A;
	color:#FF615D;
	font-weight: 500;
}


.tooltip {
	position: relative;
	display:block;
	border:1px solid var(--border);
	color:#616161;
	font-size:0.9em;
	background-color:#fff;
	padding: 12px 20px 12px 12px;
	border-radius: 4px;
	box-shadow:0 1px 2px #D6D6D6;

	margin-left: 16px;
}
.tooltip:before  {
	content:"";
	position:absolute;
	width:12px;
	height:12px;
	background: #fff;
	border: 1px solid var(--border);
	border-right: 0;
	border-bottom: 0;
	transform: rotate(-45deg);
	top:20px;
	left:-7px;
}

.exclam_box{
  border-left: 2px solid #ff5252;
  background: #FFF5F5;
  border-radius: 4px;
  padding: 8px 12px;
}
.exclam {
  background: url(/images/exclamation.svg) no-repeat 0 0.4em;
	padding-left: 1.5em;
	background-size: 1em;
	line-height: 1.8em;
}

.info_box{
  margin-bottom: 12px;
  border-radius: 8px;
  border-radius: 4px;
  padding: 16px 20px;
  border-left: 3px solid var(--main);
  background: #F0F4FF;
}
.info{    
  padding-left: 1.5em;
  background: url(/images/info.svg) no-repeat 0 0.4em;
  color: #334466;
  background-size: 1em;
	line-height: 1.8em;
}
.info.fill{    
  background-image: url(/images/info_fill.svg);
  color: var(--main);
	line-height: 1.8em;
}
.txt_check{    
  padding-left: 1.5em;
  background: url(/images/txt_check.svg) no-repeat 0 0.35em;
  color: #334466;
  background-size: 1em;
	line-height: 1.8em;
	display: block;
}

/*  공통디자인 */
.ui-box {
  padding: 16px;
  background: #fff;
  border:1px solid var(--border);
  border-radius: 8px;
}

.intro-box{
	position:relative;
	padding: 16px 24px;
  background: #fff;
  border:4px solid #E4E4EB;
  border-radius: 8px;
	font-size: 1.1em;
	line-height: 1.6em;
	color: #1C1C28;
}
.intro-box:before {
	content: "";
	position: absolute;
	bottom: -4px;
	right: -4px;
	border-right: 4px solid var(--main);
	border-bottom: 4px solid var(--main);
	border-color: var(--main);
	border-radius: 0px 0px 8px 0px;
	padding: 20px;
}

.notice-box {
	position:relative;
	border:6px solid var(--line);
	border-radius: 4px;
	padding: 20px 24px 28px;
	color: #4D5E80;
}
.notice-box:before {
	content: "";
	position: absolute;
	top: -6px;
	left: -6px;
	border-left: 6px solid var(--main);
	border-top:6px solid var(--main);
	border-radius: 4px 0px 0 0px;
	padding: 16px;
}

.step_box{
  background: #f0f4ff;
  padding: 20px;
	margin-bottom: 16px;
}
.step_box ul {
  display: flex;
  justify-content: space-between;
  justify-content: space-evenly;
}

.step_box ul > li{
  border-radius: 8px;
  border-radius: 50px;
  text-align: center;
  padding: 32px;
  background: #fff;
  border: 2px solid #c5d7fd;
  position: relative;

	font-family: 'Pretendard-Medium';
	flex: 1;
	margin: 0 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.5em;
}
.step_box ul > li:before{
  content: "";
  background: url(/images/arrow_next.svg);
  background: url(/images/step_arrow.svg);
  background-size: 100%;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
	top: calc(50% - 10px);
  right: -20px;
}
.step_box ul > li:last-child:before{
  display: none;
}
.step_box.length3 ul > li{
	width: calc(100% / 3 - 40px);
	border-radius: 8px;
	padding: 20px;
}
.step_box i{
	display: inline-block;
	background: var(--main);
	color: #fff;
	padding: 8px 12px;
	border-radius: 50px;
	font-style: normal;
	font-size: .9em;
	font-weight: bold;
}
.step_box strong{
	display: block;
	padding: 16px 0;
	font-size: 1.125em;
	font-weight: bold;
	color: #254c9c;
	border-bottom: 1px solid #d8e5fe;
}
.step_box ul li ol{
	display: inline-block;
	margin: 12px 0;
	color: #4D5E80;
}


.step_list{
  display: flex;
}
.step_list > li {
  border-radius: 4px;
  text-align: center;
  padding: 20px;
  background: #fff;
  position: relative;
  margin-right: 32px;
	border: 4px solid #E4E4EB;

	display: flex;
	justify-content: center;
	align-items: center;
}
.step_list > li:before {
  content: "";
	background: url(/images/paging_right.svg);
	background: url(/images/step_next.svg);
  background-size: 100%;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
	top: calc(50% - 10px);
	right: -28px;
}
.step_list > li:last-child:before {
  display: none;
}


.dl-card-box {
  display: flex;
  /* justify-content: space-between; */
  gap: 20px;
}
.dl-card-box dl {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  border: 1px solid var(--border);
  flex: 1;
  /* width: calc(100% / 2 - 20px); */
}
.dl-card-box dl dt {
  font-weight: 700;
  color: var(--tit);
  font-size: 1.125em;
  margin-bottom: 8px;
}

.dl-list{}
.dl-list dl{
  display: flex;
  align-items: center;
}
.dl-list dl + dl{
  margin-top: 16px;
}
.dl-list dl dt{
  color: var(--txt-sub);
  font-weight: 500;
  width: 120px;
}
.dl-list dl dd{
  color: var(--title);
}



/* tab */
.tab-menu-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
}
.tab-menu{
	display: flex;
}
.tab-menu> li {
  position: relative;
  cursor: pointer;
}
.tab-menu> li >a{
  display: block;
}

.tab-menu.type1{
  gap: 20px;
}
.tab-menu.type1 li {
  padding-bottom: 8px;
  font-size: 20px;
  color: var(--txt-sub);
  font-weight: 500;
  font-size: 18px;
}
.tab-menu.type1 li:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  border-bottom: 2px solid var(--main);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.tab-menu.type1 li:hover:after, .tab-menu.type1 li.on-tab:after {
  left: 0;
  width: 100%;
}
.tab-menu.type1 li:hover, .tab-menu.type1 li.on-tab{
  font-weight: 600;
  color: var(--main);
}

.tab-menu.type2{
  gap: 16px;
}
.tab-menu.type2 li{
  border-radius: 50px;
  background: var(--bg01);
  padding: 0 24px;
  height: 48px;
  line-height: 48px;
  font-weight: 500;
  color: var(--txt-sub);
}
.tab-menu.type2 li.on-tab{
  background: var(--main);
  background: var(--main-dark);
  color: #fff;
}


.tab-menu.type3 {
  margin-bottom: 36px;
}

.tab-menu.type3 ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.tab-menu.type3 ul li {
  width: 100%;
  border: 1px solid #E4E4E4;
  border-bottom: 1px solid #222;
  border-right: none;
  cursor: pointer;
}

.tab-menu.type3 ul li.on-tab {
  border: 1px solid #222;
  border-bottom: none;
}

.tab-menu.type3 ul li.on-tab + li {
  border-left: none;
}

.tab-menu.type3 ul li.on-tab:last-child {
  border-right: 1px solid #222;
}

.tab-menu.type3 ul li:first-child {
  border-top-left-radius: 20px;
}

.tab-menu.type3 ul li:last-child {
  border-top-right-radius: 20px;
  border-right: 1px solid #e4e4e4;
}

.tab-menu.type3 ul li{
  display: block;
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 16px 0;
}
.tab-menu.type4 {
  padding: 30px 0;
  background: #F2EEEB;
}
.tab-menu.type4 li {
  width: 60px;
  padding-top: 70px;
  cursor: pointer;
}

.tab-menu.type4 li:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 60px;
  height: 60px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  -webkit-box-shadow: 0px 0px 0px 0px rgba(175, 167, 160, 0.35);
          box-shadow: 0px 0px 0px 0px rgba(175, 167, 160, 0.35);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.tab-menu.type4 li:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid #D8D8D8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.tab-menu.type4 > li{
  display: block;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.tab-menu.type4 li:hover::before, .tab-menu.type4 li.active::before {
  -webkit-box-shadow: 0px 5px 6px 0px rgba(175, 167, 160, 0.35);
          box-shadow: 0px 5px 6px 0px rgba(175, 167, 160, 0.35);
}

.tab-menu.type4 li:hover::after, .tab-menu.type4 li.active::after {
  top: -7px;
  left: -7px;
  width: 74px;
  height: 74px;
}

.tab-menu.type4 li:hover > span, .tab-menu.type4 li.active > span {
  font-weight: 700;
}

.tab-menu.type4 li + li {
  margin-left: 45px;
}


.bar-col{
  display: block;
  background: var(--border);
  background: #635B4B;
  background: var(--main-lighter);
  width: 1px;
  height: 160px;
  margin: 0 auto;
}



.ico-txt{
  display: flex;
  align-items: center;
  gap: 4px;
}



.form-list > li{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-list > li + li{
  margin-top: 24px;
}
.form-list label{
  display: block;
  color: var(--title);
  font-weight: 500;
}
.form-list .chk-list label{
  margin-bottom: 0;
}
.form-list input,
.form-list textarea{
  width: 100%;
}