@charset "UTF-8";

/*-----------------------------------------------------
* Program : 사용자(user) > 개인정보 처리방침 / 고정형영상정보처리기기 운영·관리 방침
* Etc     : 원본 - 개인정보처리방침(20260727).pdf
-----------------------------------------------------*/

/* 공통 */
.policy_page { color: #444; word-break: keep-all; }
.policy_page .policy_doc + .policy_doc { margin-top: 90px; }

/* 머리말 */
.policy_page .policy_head { margin-bottom: 50px; padding: 40px; border: 1px solid #d4e9ed; border-radius: 20px; background-color: #f4fbfc; }
.policy_page .policy_head .policy_head_title { margin-bottom: 20px; color: #187b8e; font-weight: bold; font-size: 26px; line-height: 1.3; font-family: "Godo"; }
.policy_page .policy_head p { color: #444; font-size: 17px; line-height: 1.8; }
.policy_page .policy_head p + p { margin-top: 12px; }

/* 주요 개인정보 처리 표시(라벨링) */
.policy_page .policy_label { margin-bottom: 50px; }
.policy_page .policy_label_list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.policy_page .policy_label_list > li { display: flex; }
.policy_page .policy_label_list > li > a { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; width: 100%; padding: 26px 12px 22px 12px; border: 1px solid #e3e3e3; border-radius: 14px; background-color: #fff; text-align: center; transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s; }
.policy_page .policy_label_list > li > a:hover,
.policy_page .policy_label_list > li > a:focus { border-color: #2d8e9e; background-color: #f4fbfc; box-shadow: 0 4px 14px rgba(45, 142, 158, 0.12); }
.policy_page .policy_label_list > li > a:hover .label_text,
.policy_page .policy_label_list > li > a:focus .label_text { color: #187b8e; }
.policy_page .policy_label_list .label_img { display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; margin-bottom: 14px; }
.policy_page .policy_label_list .label_img img { width: 100%; height: 100%; object-fit: contain; }
.policy_page .policy_label_list .label_num { margin-bottom: 4px; color: #2d8e9e; font-weight: 500; font-size: 14px; font-family: "Plus Jakarta Sans", sans-serif; letter-spacing: 0; }
.policy_page .policy_label_list .label_text { color: #222; font-weight: 500; font-size: 16px; line-height: 1.4; word-break: keep-all; }

/* 목차 */
.policy_page .policy_index { margin-bottom: 60px; overflow: hidden; border: 1px solid #ddd; border-radius: 15px; }
.policy_page .policy_index .policy_index_title { padding: 16px 20px; background-color: #187b8e; color: #fff; font-weight: 500; font-size: 19px; text-align: center; }
.policy_page .policy_index_list { padding: 25px 30px; column-count: 2; column-gap: 30px; background-color: #fafafa; }
.policy_page .policy_index_list > li { break-inside: avoid; padding: 7px 0; }
.policy_page .policy_index_list > li > a { display: inline-block; position: relative; padding-left: 14px; color: #444; font-size: 16px; line-height: 1.5; }
.policy_page .policy_index_list > li > a:before { display: block; position: absolute; top: 10px; left: 0; width: 4px; height: 4px; border-radius: 100%; background-color: #2d8e9e; content: ""; }
.policy_page .policy_index_list > li > a:hover,
.policy_page .policy_index_list > li > a:focus { color: #187b8e; text-decoration: underline; }

/* 조항 */
.policy_page .policy_sec { padding-top: 15px; }
.policy_page .policy_sec + .policy_sec { margin-top: 45px; }
.policy_page .policy_sec_title { position: relative; margin-bottom: 20px; padding-left: 16px; color: #222; font-weight: bold; font-size: 22px; line-height: 1.4; }
.policy_page .policy_sec_title:before { display: block; position: absolute; top: 8px; left: 0; width: 6px; height: 18px; border-radius: 3px; background-color: #2d8e9e; content: ""; }
.policy_page .policy_sec_body > * + * { margin-top: 15px; }
.policy_page .policy_txt { font-size: 17px; line-height: 1.75; }

/* 목록 */
.policy_page .policy_list > li { position: relative; font-size: 17px; line-height: 1.75; }
.policy_page .policy_list > li + li { margin-top: 10px; }
.policy_page .policy_list > li > .num { position: absolute; top: 0; left: 0; color: #222; }
.policy_page .policy_list.type_num > li { padding-left: 26px; }
.policy_page .policy_list.type_circle > li { padding-left: 26px; }
.policy_page .policy_list.type_dash > li { padding-left: 15px; }
.policy_page .policy_list.type_dash > li:before { display: block; position: absolute; top: 14px; left: 0; width: 7px; height: 1px; background-color: #888; content: ""; }
.policy_page .policy_list.type_han > li { padding-left: 26px; }
.policy_page .policy_list .policy_list { margin-top: 10px; }

/* 참고 문구 */
.policy_page .policy_note { position: relative; margin-top: 12px; padding: 15px 20px 15px 42px; border-radius: 10px; background-color: #f7f7f7; color: #555; font-size: 16px; line-height: 1.7; }
.policy_page .policy_note:before { position: absolute; top: 15px; left: 20px; color: #2d8e9e; content: "※"; }

/* 표 */
.policy_page .policy_tbl { margin-top: 20px; overflow-x: auto; border: 1px solid #ddd; border-radius: 10px; background-color: #fff; }
.policy_page .policy_tbl table { width: 100%; border-style: hidden; table-layout: fixed; }
.policy_page .policy_tbl th,
.policy_page .policy_tbl td { padding: 14px 12px; border: 1px solid #e3e3e3; color: #444; font-size: 16px; line-height: 1.6; text-align: center; vertical-align: middle; word-break: keep-all; }
.policy_page .policy_tbl thead th { background-color: #f4fbfc; color: #222; font-weight: 500; }
.policy_page .policy_tbl tbody th { background-color: #fafafa; color: #222; font-weight: 500; }
.policy_page .policy_tbl td.tl { text-align: left; }
.policy_page .policy_tbl .tbl_list { text-align: left; }
.policy_page .policy_tbl .tbl_list > li { position: relative; padding-left: 12px; }
.policy_page .policy_tbl .tbl_list > li + li { margin-top: 6px; }
.policy_page .policy_tbl .tbl_list > li:before { display: block; position: absolute; top: 11px; left: 0; width: 4px; height: 4px; border-radius: 100%; background-color: #2d8e9e; content: ""; }
.policy_page .policy_tbl .req { color: #187b8e; font-weight: 500; }

/* 서식 다운로드 / 이동 링크 */
.policy_page .policy_form_area { display: flex; flex-wrap: wrap; margin: 20px -5px -10px -5px; }
.policy_page .policy_form_area > * { margin: 0 5px 10px 5px; }
.policy_page .policy_form_link { display: inline-flex; align-items: center; min-height: 54px; padding: 10px 24px; border: 1px solid #2d8e9e; border-radius: 8px; background-color: #fff; color: #187b8e; font-weight: 500; font-size: 16px; line-height: 1.4; text-align: left; word-break: keep-all; transition: background-color 0.15s, color 0.15s; }
.policy_page .policy_form_link:before { flex-shrink: 0; width: 17px; height: 17px; margin-right: 10px; background: url(/user/images/common/icon_file1.svg) no-repeat center/contain; filter: brightness(0) saturate(100%) invert(40%) sepia(83%) saturate(391%) hue-rotate(140deg) brightness(93%) contrast(89%); content: ""; }
.policy_page .policy_form_link:hover,
.policy_page .policy_form_link:focus { background-color: #187b8e; border-color: #187b8e; color: #fff; }
.policy_page .policy_form_link:hover:before,
.policy_page .policy_form_link:focus:before { filter: brightness(0) invert(1); }
.policy_page .policy_form_link.type_page:before { width: 8px; height: 13px; background-image: url(/user/images/common/icon_arrow_r3.svg); }

/* 침해 구제 기관 */
.policy_page .policy_relief_list { display: flex; flex-wrap: wrap; margin: 20px -8px -16px -8px; }
.policy_page .policy_relief_list > li { width: 50%; padding: 0 8px 16px 8px; }
.policy_page .policy_relief_list .relief_box { height: 100%; padding: 22px 25px; border: 1px solid #e3e3e3; border-radius: 12px; background-color: #fafafa; }
.policy_page .policy_relief_list .relief_name { margin-bottom: 6px; color: #222; font-weight: 500; font-size: 17px; }
.policy_page .policy_relief_list .relief_tel { color: #187b8e; font-weight: 500; font-size: 16px; }
.policy_page .policy_relief_list .relief_site { display: inline-block; margin-top: 4px; color: #666; font-size: 15px; }
.policy_page .policy_relief_list .relief_site:hover,
.policy_page .policy_relief_list .relief_site:focus { color: #187b8e; text-decoration: underline; }

/* 시행일자 */
.policy_page .policy_date { margin-top: 50px; padding: 22px 20px; border-radius: 12px; background-color: #f4fbfc; color: #187b8e; font-weight: 500; font-size: 17px; text-align: center; }
.policy_page .policy_date span + span { margin-left: 10px; padding-left: 12px; border-left: 1px solid #b7d9df; }

/* 다른 방침 바로가기 */
.policy_page .policy_move { display: flex; align-items: center; justify-content: center; margin-top: 40px; }

@media screen and (max-width:1280px) {
	.policy_page .policy_label_list { grid-template-columns: repeat(4, 1fr); }
}

@media screen and (max-width:1000px) {
	.policy_page .policy_doc + .policy_doc { margin-top: 70px; }
	.policy_page .policy_head { margin-bottom: 40px; padding: 30px; border-radius: 15px; }
	.policy_page .policy_head .policy_head_title { font-size: 22px; }
	.policy_page .policy_head p { font-size: 16px; }
	.policy_page .policy_label_list { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.policy_page .policy_label_list > li > a { padding: 22px 10px 20px 10px; }
	.policy_page .policy_label_list .label_img { width: 60px; height: 60px; margin-bottom: 12px; }
	.policy_page .policy_label_list .label_text { font-size: 15px; }
	.policy_page .policy_index { margin-bottom: 45px; }
	.policy_page .policy_index_list { padding: 20px; }
	.policy_page .policy_sec + .policy_sec { margin-top: 40px; }
	.policy_page .policy_sec_title { font-size: 20px; }
	.policy_page .policy_sec_title:before { top: 6px; height: 16px; }
	.policy_page .policy_txt,
	.policy_page .policy_list > li { font-size: 16px; }
	.policy_page .policy_tbl table { min-width: 700px; }
	.policy_page .policy_tbl th,
	.policy_page .policy_tbl td { padding: 12px 10px; font-size: 15px; }
}

@media screen and (max-width:768px) {
	.policy_page .policy_head { padding: 25px 20px; }
	.policy_page .policy_head .policy_head_title { margin-bottom: 15px; font-size: 20px; }
	.policy_page .policy_head p { font-size: 15px; line-height: 1.7; }
	.policy_page .policy_label { margin-bottom: 35px; }
	.policy_page .policy_label_list { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.policy_page .policy_label_list > li > a { padding: 20px 10px 18px 10px; border-radius: 12px; }
	.policy_page .policy_label_list .label_img { width: 54px; height: 54px; margin-bottom: 10px; }
	.policy_page .policy_label_list .label_num { font-size: 13px; }
	.policy_page .policy_label_list .label_text { font-size: 14px; }
	.policy_page .policy_index .policy_index_title { padding: 14px 15px; font-size: 17px; }
	.policy_page .policy_index_list { padding: 15px; column-count: 1; }
	.policy_page .policy_index_list > li { padding: 6px 0; }
	.policy_page .policy_index_list > li > a { font-size: 15px; }
	.policy_page .policy_sec_title { margin-bottom: 15px; font-size: 18px; }
	.policy_page .policy_txt,
	.policy_page .policy_list > li { font-size: 15px; }
	.policy_page .policy_list.type_num > li,
	.policy_page .policy_list.type_circle > li,
	.policy_page .policy_list.type_han > li { padding-left: 22px; }
	.policy_page .policy_note { padding: 12px 15px 12px 34px; font-size: 15px; }
	.policy_page .policy_note:before { top: 12px; left: 15px; }
	.policy_page .policy_form_link { min-height: 48px; padding: 10px 18px; font-size: 15px; }
	.policy_page .policy_relief_list > li { width: 100%; }
	.policy_page .policy_relief_list .relief_box { padding: 18px 20px; }
	.policy_page .policy_date { margin-top: 35px; padding: 18px 15px; font-size: 15px; }
	.policy_page .policy_date span { display: block; }
	.policy_page .policy_date span + span { margin-left: 0; padding-left: 0; border-left: 0; }
}
