@charset "utf-8";
@media screen {
	#skipToContent,
	.reader { position: absolute; left: -1000%; top: 0px; width: 1px; heght: 1px; font-size: 0px; line-height: 0px; overflow: hidden; }
	legend,
	caption { display: none; }
}

/*-----------------------------
	btn
----------------------------- */ 
.btn.btn-login{
	padding:1.25rem 0;
	font-size:1.25rem;
	font-weight:500;
	margin:0;
}
.btn.btn-login:hover,
.btn.btn-sns:hover{
	box-shadow:5px 12px 15px -10px rgba(0, 0, 0, 0.1);
}
.btn.btn-sns{
	font-size:19px;
	margin:0;
	padding:0;
}
.btn-sns span{
	line-height:1;
	display:inline-block;
	vertical-align:middle;
}
.btn.btn-naver{
	color:#fff;
	border-color:#03c76a;
	background-color: #03c76a;
}
.btn.btn-kakao{
	color:#191919;
	border-color:#FEE500;
	background-color: #FEE500;
}
.btn.btn-apple{
	color:#fff;
	border-color:#111;
	background-color: #111;
}

/*-----------------------------
	로그인
----------------------------- */ 
.loginBox input.form-control{
	padding:0.85rem 1rem;
	height: 3.25rem;
	font-weight:500;
}
.loginBox .loginSaveBox input[type="checkbox"] + label::before {
	    top: 0.52rem;

}
.loginBox .loginSaveBox{
	font-size:0.925rem;
}
.loginBox .loginSaveBox input[type="checkbox"] + label::before{
    transform: translate(0, -50%);
}
.loginBox .btn-join{
	padding:0.5rem 0;
	position:relative;
	font-size:0.925rem;
}
.loginBox .btn-join:first-child::after{
	content: '';
	display: inline-block;
	width: 1px;
	height: 0.75rem;
	background:#888;
	margin:0 0.55rem 0 0.8rem;
}
.loginBox .login-footer{
	border-top:1px solid #e5e5e5;
	padding-top:2rem;
	margin-top:2rem;
}
.loginBox h4{
	font-size: 1.7rem;
    color: #000;
    font-weight: 600;
    letter-spacing: -0.1rem;
    margin-bottom: 0;
    line-height: 1.2;
}

.loginBox .info-text{
	border-top: 1px solid var(--gray-100);
	padding: 1.5rem 0 0;
	font-size: var(--fs-15);
}
@media (min-width:768px){
	.loginBox{
		border:1px solid #e3e3e3;
		padding:3.5rem 3rem;
		box-shadow:10px 20px 25px -15px rgba(0, 0, 0, 0.1);
		border-radius:0.3rem;
	}
	.loginBox .login-footer{
		padding-top:3rem;
		margin-top:3rem;
	}
}

/*-----------------------------
	회원 유형 선택
----------------------------- */
.join-intro-box .btn{
	font-size: 1.1rem;
}
.join-intro-box h4{
	font-size: 1.2rem;
}
.join-box-tit p{
	font-size: 1.05rem;
	color: #333;
	letter-spacing: -0.07rem;
}
.join-intro-tit p .tit_s{
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	line-height: 2;
}
.join-intro-tit p {
	font-size: 1.7rem;
    color: #000;
    font-weight: 600;
    letter-spacing: -0.1rem;
    margin-bottom: 0;
    line-height: 1.2;
}
.mem_cerify {
    border-radius: 100%;
    width: 10rem;
    height: 8rem;
    background: #eee;
    display: flex;
    justify-content: center !important;
    align-items: center !important;
}
.mem_cerify .material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' -25, 'opsz' 48;
    font-size: 2rem;
    color: #4f4f4f;
}
.join_box h4{
	font-size: 1.7rem;
    color: #000;
    font-weight: 600;
    letter-spacing: -0.1rem;
    margin-bottom: 0;
    line-height: 1.2;
}

.btn-point-color{
	 background: var(--bg-primary);
	 color: #fff !important;

}
.btn-point-color_line {
    background: #fff;
    color: #333 !important;
}
/*-----------------------------
	아이디/비밀번호 조회
----------------------------- */ 
.idpw-search{
	margin-bottom:2rem;
	word-break:keep-all;
}
.search-warp{
	height:100%;
	border:1px solid #e5e5e5;
	border-radius:0.3rem
}
.idpw-search .idpw-search-head{
	border-bottom:1px solid #e5e5e5;
	background:#fafafa;
	border-radius:0.3rem 0.3rem 0 0;
	margin-bottom:2rem;
	padding:2rem 2.6rem 0.5rem;
}
.idpw-search .idpw-search-body{
	padding:0 2.6rem;
}
.idpw-search .form-list{
	padding-top:0.5rem;
}
.idpw-search .form-list .list-row{
	margin-bottom:2rem;
}
.idpw-search .form-list .list-row .col-form-label{
	color:#333;
}
.idpw-search .btn-area{
	text-align:center;
	margin:2.5rem 0;
	padding-top:2rem;
	border-top:1px solid #e5e5e5;
}
.idpw-search .alert-reslut{
	border:1px solid #d5d5d5;
	padding:1.5rem;
	margin-bottom:1rem;
	color:#333;
	font-size:1.1rem;
	box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.07) !important;
	background: linear-gradient(180deg,transparent,rgba(0,0,0,.03));
	border-radius:3px;
}
.idpw-search .alert-reslut strong{
	font-size:1.6rem;
}
@media (min-width: 768px) {
	.idpw-search.pw-box{
		margin-left:-1px;
	}
}


/*-----------------------------
	회원가입 > 가입방법 선택
----------------------------- */ 
.join-sns-wrap{
	padding:2rem 1.75rem 3rem;
	width:94%;
	max-width:650px;
	margin:0 auto;
	border:1px solid #e3e3e3;
	box-shadow:10px 20px 25px -15px rgba(0, 0, 0, 0.1);
	border-radius:0.5rem;
}
.check-all h3{
	font-size: 1.7rem;
    color: #000;
    font-weight: 600;
    letter-spacing: -0.1rem;
    margin-bottom: 0;
    line-height: 1.2;
}
@media (min-width: 992px) {
	.join-sns-wrap{
		padding:3rem 3rem 4rem;
	}
}
.join-sns-footer{
	border-top:1px solid #e5e5e5;
	margin-top:3rem;
	padding-top:2.5rem;
}


/*------------------------------------
  회원가입 - 탭메뉴
------------------------------------*/
.nav-step{
	background-color:#fff;
	border:1px solid #e5e5e5;
	margin-bottom:2.5rem;
	margin-top:0.7rem;
}
.nav-step li{
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	text-align: center;
	color:#888;
	font-weight:500;
	padding:10px 0;
	font-size:0.95rem;
	border-right:1px solid #e5e5e5;
}
.nav-step li:last-child{
	border-right:none;
}
.nav-step a:hover{
	color:#333;
}
.nav-step li.active{
	color: #fff;
    background-color: #616161;
    border: 1px solid #000000;
    padding: 8px 0;
    margin: -10px -1px -1px -1px;
}
.nav-step li.active::after{
	content: '';
	display: block;
	width: 9px;
	height: 9px;
	border-right: 2px solid #f7f7f7;
	border-top: 2px solid #f7f7f7;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
	margin:3px auto;
}
@media (min-width: 992px) {
	.nav-step li{
		font-size:1.1rem;
		padding: 13px 0;
	}
	.nav-step li.active{
		padding:11px 0;
	}
}

/*------------------------------------
  회원가입 - 약관동의
------------------------------------*/
.join_area p.agree_box {
	border:1px solid #ddd;
	margin:5px 0 30px;
	padding:10px;
}
.agree-box h4{
	font-size:1.2rem;
	color:#333;
	margin:0;
	padding:0.3rem 0;
}
.agree-box textarea {
	width: 100%;
	height: 150px;
	border:none;
	font-size:0.92rem;
	color:#777;
}
.check_ok i{
	color:#ccc;
}
.check_ok.on i{
	color:#0065b1;
}


/*------------------------------------
  회원가입 - 정보입력
------------------------------------*/
.member-write{
	border-top:1px solid  #222;
}
.member-write > .form-row{
	margin:0;
	padding:1.2rem;
	border-bottom:1px solid  #eee;
}
.member-write label.col-form-label{
	color:#333;
	padding-right:1.5rem;
	position:relative;
}
.member-write label.bar::after{
	content:'';
	width:1px;
	height:0.9rem;
	background:#ccc;
	position:absolute;
	right:5%;
	top:30%;
}
.member-write .require::after {
    content: '*';
    display: inline-block;
    margin: -2px 0 0 3px;
    color: #de4f41;
    vertical-align: top;
}
#idResult:empty{
	display:none;
}
#idResult::before{
	content:'\f06a';
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900;
	margin-right:0.5rem;
}


/*------------------------------------
  회원가입 - 가입완료
------------------------------------*/
.join-finish-text{
	font-size:1.5rem;
	font-weight:500;
	padding:0 0 1.5rem;
	color:#333;
	letter-spacing:-0.1rem;
}
.join-finish-text::before{
	content:'\f4fc';
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900;
	font-size:250%;
	display:block;
}
.join-finish-box p span{
	font-size: 1.7rem;
    color: #000;
    font-weight: 600;
    letter-spacing: -0.1rem;
    margin-bottom: 0;
    line-height: 1.2;
}
@media (min-width: 992px) {
	.join-finish-text{
		font-size:2rem;
	}
}
@media (max-width: 767px) {
	.join-finish-tit p br{
		display: none;
	}
}


/*------------------------------------
	회원정보수정 > 비밀번호변경 팝업창
------------------------------------*/
h2.pw-modify-title{
	background:#333;
	color:#eee;
	font-size:1.4rem;
	padding:1.1rem;
	text-align:center;
	font-weight:500;
	box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
	margin:0;
}
.pw-modify {
	padding:2rem;
}
.pw-modify .text-guide{
	position:relative;
	padding-left:20px;
}
.pw-modify .text-guide::before{
	content:'\f06a';
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900;
	position:absolute;
	left:0;
	top:-1px;
}

/*------------------------------------
	회원탈퇴
------------------------------------*/
.member-out-list dl dt{
	position:relative;
}
.member-out-list dl dt::after{
	content:'';
	width:1px;
	height:0.8rem;
	background:#ccc;
	position:absolute;
	right:5%;
	top:0.3rem;
}
.member-out-guide{
	position:relative;
	padding-left:21px;
}
.member-out-guide::before{
	content:'\f06a';
	font-family: 'Font Awesome 5 Free';
	font-style: normal;
	font-weight: 900;
	position:absolute;
	left:0;
	top:0;
}
.member-out-box{
}



/* 회원가입 > 팝업 레이어 */
.layerPop_wrap{
	position:fixed !important;
	left:0;
	top:0;
	z-index:99999;
	width:100%;
	height:100% !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background:#fff;
	padding-top:3.6rem;
	-webkit-animation:open-popup 0.3s ease-in-out;
	animation:open-popup 0.3s ease-in-out;
}
@keyframes open-popup {
  from {
    opacity:0;
  }
  to {
     opacity:1;
  }
}
@-webkit-keyframes open-popup {
  from {
    opacity:0;
  }
  to {
     opacity:1;
  }
}
.layerPop_wrap .title-area{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3.6rem;
	background:#0a196e;
	padding:0 1.5rem;
}
.layerPop_wrap .title-area h2{
	font-size:1.2rem;
	color:#fff;
	margin:0;
}
.layerPop_wrap .title-area .btn_popColse{
	font-size:1.3rem;
	color:#fff;
}
.layerPop_wrap .pop_con{
	width:100%;
	height:calc(100% - 4.5rem);
	padding:2.5rem 2rem;
	overflow-y:auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.layerPop_wrap{
		width:500px;
		height:calc(444px + 3.8rem + 1px) !important;
		left:50%;
		top:50%;
		transform:translate(-50%, -50%);
		border:1px solid #d5d5d5;
		box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.15);
	}
}

.agree {
	border:1px solid #ddd;
	margin:5px 0 30px;
	padding:10px;
	width:90%;
}
.agree_check {
	margin:5px 0 30px;
}

/* 커스텀 스크롤 영역 높이 설정 */
.scroll-content {
	height: 250px; /* 고정된 높이 */
	overflow-y: scroll; /* 세로 스크롤 적용 */
	/* Tailwind의 기본 스타일을 오버라이드하여 더 깔끔하게 보이도록 설정 */
	border-radius: 0.5rem;
	line-height: 1.6;
}

._display_none {
	display: none;
}



/* ----------------------------------------------------------------
	회원사 > 회원사 검색
---------------------------------------------------------------- */
/*  btn ----------------------------- */
.gallery-list.gallery-product .btn,
.award-list .btn {
    border-radius: 2rem !important;
    font-size: var(--fs-13);
	font-weight: 400;
	padding: 0.25rem 0.3rem;
}
.gallery-list.gallery-product .btn span,
.award-list .btn span{
    font-size: var(--fs-24);
	font-variation-settings:
	'FILL' 0,
	'wght' 300,
	'GRAD' 0,
	'opsz' 24
}


/*  정보수정 ----------------------------- */


/*  주요제품/서비스 관리 ----------------------------- */
.product-form {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	padding: 2rem;
	border-radius: 1rem;
	margin-bottom: 30px;
	display: none;
}


.gallery-list.gallery-product .card{
	overflow: hidden;
	border-radius: 1em;
}
.gallery-list.gallery-product .img-box {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
	background: #eee;
	border-bottom: 1px solid #eee;
}

.gallery-list.gallery-product .img-box img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.gallery-list.gallery-product .info-box {
	padding: 1em 2em;
	position: relative;
}

.gallery-list.gallery-product .info-box .title {
	font-size: var(--fs-20);
	color: var(--black);
	font-weight: 600;
}

.gallery-list.gallery-product .info-box .content {
	color: #666;
	font-size: 0.9rem;
}

.gallery-list.gallery-product .btn-group {
	margin-top: 10px;
	width: 100%;
}

@media (max-width: 767px) {
	.gallery-list.gallery-product .info-box {
		padding: 1em 1.5em;
	}
}



/*  실적 및 수상내역 관리 ----------------------------- */
.award-form {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	padding: 20px;
	border-radius: 5px;
	margin-bottom: 30px;
	display: none;
}

.award-list .item {
	border-bottom: 1px solid #eee;
	padding: 20px 0;
}

.award-list .item:last-child {
	border-bottom: 0;
}

.award-list .title {
	font-size: 1.2rem;
	font-weight: bold;
	color: #333;
	margin-bottom: 10px;
}

.award-list .content {
	color: #666;
	white-space: pre-line;
	line-height: 1.6;
}

.award-list .btn-group {
	margin-top: 15px;
}
