@charset "utf-8";

.container {width: 100%;max-width: 1500px;}
footer {width: 100% !important;}
.title_square:before {top: 3px;}
.btn.btn_view {background-position: 10px 5px;}
.post_service_form_page .dflex {display: flex;align-items: center;}
.post_service_form_page .dsflex {display: flex;align-items: center;}
.post_service_form_page .gap5 {gap: 5px;}

/* sub1/sub2/sub3 공통 반응형 */
.wrap {min-width: 0;}
#contents, .sub_contents, .con_inner {width: 100%; max-width: 100%; box-sizing: border-box;}
.header .container, .sub_inner, .sub_top_tab > div, .sub_title_area, .footer .container {width: 100%; max-width: 1500px; margin: 0 auto; padding-left: 20px; padding-right: 20px; box-sizing: border-box;}

/* 페이지 안내 텍스트 */
.post_service_main_page .info-text {padding: 30px 120px 0 50px; margin: 0; font-size: 20px; line-height: 1.6;}
.post_service_main_page .sml-text {display: block; padding-left: 30px; font-size: 18px; line-height: 1.6;}

/* sub2 개인정보 동의 페이지 */
.policy_page {width: 100%; box-sizing: border-box;}
.policy_page .title {margin: 50px 0; text-align: center; font-size: 40px; font-weight: 200; color: #333; word-break: keep-all;}
.policy_page .intro {margin-bottom: 50px; padding: 30px; background: #f8f8f8; line-height: 1.75; font-size: 20px; word-break: keep-all;}
.policy_inner {width: 100%;}
.policy_box {margin: 10px 0; padding: 30px; background: #f8f8f8; border-top: 2px solid #555; box-sizing: border-box;}
.policy_box .txt {padding: 20px; background: #fff; color: #444; word-break: keep-all;}
.policy_box .txt b {display: block; margin-top: 20px; font-size: 17px;}
.policy_box .txt b:first-of-type {margin-top: 0;}
.policy_box .txt p {margin: 5px 0 0 0; padding-left: 10px; font-size: 17px; line-height: 1.6;}
.policy_box .txt table {width: 100%; margin-top: 10px; border: 1px solid #ddd; border-collapse: collapse; table-layout: fixed;}
.policy_box .txt table th, .policy_box .txt table td {padding: 15px; border-bottom: 1px solid #ddd; font-size: 17px; vertical-align: top; word-break: keep-all;}
.policy_box .txt table th {background: #f8f8f8; border-right: 1px solid #ddd; text-align: left;}
.policy_chk {margin: 20px 0 50px 0; text-align: center;}
.policy_chk .check_box label {font-size: 18px; line-height: 1.5; word-break: keep-all;}
.policy_page .btn_area {display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;}
.policy_page .btn_area .btn {min-width: 120px; box-sizing: border-box;}

/* sub3 신청 폼 페이지 */
.post_service_form_page .sub_inner .tbl_area {width: 100%; box-sizing: border-box;}
.post_service_form_page .sub_inner .btn_area_wrap {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px;}
.post_service_form_page .sub_inner .btn_area_wrap .btn_area_left, .post_service_form_page .sub_inner .btn_area_wrap .btn_area_right {float: none;}
.post_service_form_page .sub_inner .btn_area_wrap .title_square {font-size: 18px; word-break: keep-all;}
.post_service_form_page .sub_inner .tbl_form {width: 100%; border-collapse: collapse; table-layout: fixed;}
.post_service_form_page .sub_inner .tbl_form th, .post_service_form_page .sub_inner .tbl_form td {word-break: keep-all; vertical-align: middle;}
.post_service_form_page .sub_inner .tbl_form input[type="text"], .post_service_form_page .sub_inner .tbl_form input[type="password"], .post_service_form_page .sub_inner .tbl_form select, .post_service_form_page .sub_inner .tbl_form .btn {max-width: 100%; box-sizing: border-box;}
.post_service_form_page .sub_inner .tbl_form .radio_box {display: inline-block; margin-right: 16px; vertical-align: middle;}
.post_service_form_page .sub_inner .tbl_scroll {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.post_service_form_page .sub_inner .item_table_scroll {width: 100%; max-width: 100%; overflow-x: visible;}
.post_service_form_page .sub_inner .item_table_scroll .tbl_form {width: 100%; min-width: 0; table-layout: fixed;}
.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_group {width: 10%;}
.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_cate {width: 12%;}
.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_list {width: auto;}
.post_service_form_page #unifiedItemBody th[scope='row'] {width: 12%; min-width: 100px; max-width: none; white-space: nowrap; box-sizing: border-box;}
.post_service_form_page .sub_inner > .btn_area {display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;}
.post_service_form_page .sub_inner > .btn_area .btn {min-width: 120px; box-sizing: border-box;}

/* 햄버거 버튼 (기본 숨김) */
.tabt_menu {display: none; position: relative; flex-shrink: 0; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 120;}
.tabt_menu .hdtxt {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;}
.tabt_menu .ham_line {position: absolute; left: 50%; top: 50%; width: 24px; height: 2px; margin-left: -12px; background: #333; border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease;}
.tabt_menu .ham_line:nth-child(1) {top: calc(50% - 8px);}
.tabt_menu .ham_line:nth-child(2) {top: 50%;}
.tabt_menu .ham_line:nth-child(3) {top: calc(50% + 8px);}

/* 모바일 메뉴 오버레이 */
.nav_overlay {display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45); opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s ease; z-index: 900;}
body.nav_open {overflow: hidden;}
body.nav_open .nav_overlay {opacity: 1; visibility: visible;}
body.nav_open .header {z-index: 1000;}
body.nav_open .tabt_menu {visibility: hidden; opacity: 0; pointer-events: none;}

/* 사이드 메뉴 닫기 버튼 */
.nav_drawer_top {display: none; list-style: none;}
.nav_close_btn {display: none;}

/* 1600px 이하 */
@media all and (max-width: 1600px) {
	.sub_inner {width: 100%; padding: 30px 20px;}
	.sub_top_tab > div {width: 100%;}
	.sub_title_area, .sub_top_tab > div {max-width: 100%;}
	.footer_in {padding-left: 280px; padding-right: 280px;}
}

/* 1400px 이하 */
@media all and (max-width: 1400px) {
	.nav_wrap {gap: 30px;}
	.nav_wrap nav > ul > li {padding: 0 18px;}
	.nav_wrap nav > ul > li > a {font-size: 17px;}
	.post_service_main_page .info-text {padding-right: 60px;}
	.post_service_main_page .reform_wrap {padding: 30px 50px;}
	.policy_page .title {margin: 40px 0; font-size: 34px;}
	.policy_page .intro {margin-bottom: 40px; padding: 24px; font-size: 18px;}
	.policy_box {padding: 24px;}
	.post_service_form_page .sub_inner .tbl_form th {font-size: 17px;}
	.post_service_form_page .sub_inner .tbl_form td {font-size: 15px;}
}

/* 1200px 이하 */
@media all and (max-width: 1200px) {
	.sub_title_area strong {font-size: 36px; padding: 30px 0;}
	.sub_top_tab ul li > a {font-size: 18px; height: 54px; padding: 16px 0;}
	.sub_top_tab ul li.on > a {font-size: 20px;}
	.sub_location .s_title {font-size: 26px;}
	.sub_location .s_location li {font-size: 15px;}
	.post_service_main_page .info-text {padding: 24px 30px 0; font-size: 18px;}
	.post_service_main_page .sml-text {font-size: 16px; padding-left: 20px;}
	.post_service_main_page .reform_wrap {padding: 24px 30px;}
	.post_service_main_page .reform_box .item.second {padding-left: 40px;}
	.footer_in {padding-left: 220px; padding-right: 240px;}
	.family_site {width: 260px;}
	.family_site select {width: 190px; font-size: 15px;}
	.policy_page .title {margin: 32px 0; font-size: 30px;}
	.policy_page .intro {margin-bottom: 32px; padding: 20px; font-size: 17px;}
	.policy_box {padding: 20px;}
	.policy_box .txt {padding: 16px;}
	.policy_box .txt b, .policy_box .txt p, .policy_box .txt table th, .policy_box .txt table td {font-size: 16px;}
	.post_service_form_page .sub_inner .btn_area_wrap .title_square {font-size: 17px;}
	.post_service_form_page .sub_inner .tbl_form th {font-size: 16px; padding: 12px 8px;}
	.post_service_form_page .sub_inner .tbl_form td {font-size: 15px; padding: 10px 8px;}
}

/* 1024px 이하 - 햄버거 메뉴 */
@media all and (max-width: 1024px) {
	.tabt_menu {display: block;}
	.nav_overlay {display: block;}
	.header {height: auto; min-height: 60px;}
	.header_in {flex-wrap: wrap; gap: 10px; padding: 10px 0;}
	.logo img {max-height: 42px; width: auto;}
	.nav_wrap {gap: 0; margin-left: auto;}
	.nav_mlink {height: 36px; padding: 0 16px; border-radius: 24px;}
	.nav_mlink a {font-size: 13px; line-height: 36px; height: 36px; white-space: nowrap;}
	.main_nav {position: static;}
	.nav_list {position: fixed; top: 0; right: 0; display: flex; flex-direction: column; align-items: stretch; width: min(320px, 86vw); height: 100vh; height: 100dvh; margin: 0; padding: 0 0 24px; background: #fff; box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12); transform: translateX(100%); transition: transform 0.35s ease; overflow-x: hidden; overflow-y: auto; z-index: 1001; box-sizing: border-box;}
	body.nav_open .nav_list {transform: translateX(0);}
	.nav_drawer_top {display: block; position: absolute; top: 0; left: 0; width: 100%; height: 56px; margin: 0; padding: 0; border: 0; border-bottom: 1px solid #ececec; background: #fff; z-index: 2;}
	.nav_close_btn {display: block; position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 3;}
	.nav_close_btn .hdtxt {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;}
	.nav_close_btn .close_line {position: absolute; left: 50%; top: 50%; width: 22px; height: 2px; margin-left: -11px; background: #333; border-radius: 2px;}
	.nav_close_btn .close_line:nth-child(1) {transform: rotate(45deg);}
	.nav_close_btn .close_line:nth-child(2) {transform: rotate(-45deg);}
	.nav_wrap nav > ul > li, .nav_item {float: none; width: 100%; padding: 0; border-bottom: 1px solid #ececec;}
	.nav_wrap nav > ul > li > a, .nav_item > a {position: relative; justify-content: flex-start; height: auto; min-height: 54px; padding: 16px 48px 16px 24px; font-size: 17px; font-weight: 600; color: #222; box-sizing: border-box;}
	.nav_item > a::after {content: ""; position: absolute; right: 24px; top: 50%; width: 10px; height: 10px; margin-top: -8px; border-right: 2px solid #666; border-bottom: 2px solid #666; transform: rotate(45deg); transition: transform 0.25s ease, margin-top 0.25s ease;}
	.nav_item:not(:has(.depth_list)) > a::after {display: none;}
	.nav_item.sub_open > a {color: #007073; background: #f5fbfb;}
	.nav_item.sub_open > a::after {margin-top: -2px; transform: rotate(-135deg);}
	.depth_list, .nav_item .depth_list {position: static; display: none; width: 100%; height: auto !important; padding: 0; margin: 0; background: #f8f8f8 !important; border-top: 1px solid #e5e5e5; overflow: hidden;}
	.depth_list::before, .active .depth_list::before {display: none !important;}
	.depth_list li {border-top: 1px solid #ececec;}
	.depth_list a {justify-content: flex-start; padding: 14px 24px 14px 36px; font-size: 15px;}
	.depth_list a:hover, .depth_list a:focus {background: #ecfffe;}
	.header .depth_back {display: none !important;}
	.sub_title_area {height: auto; min-height: 100px;display: flex;align-items: center;justify-content: center;}
	.sub_title_area strong {font-size: 30px; padding: 28px 16px;}
	.sub_top_tab ul li > a {font-size: 16px;}
	.sub_top_tab ul li.on > a {font-size: 18px;}
	.sub_location .s_title {display: block; float: none; margin-bottom: 10px;}
	.sub_location .s_location {float: none; margin: 0 0 20px 0;}
	.post_service_main_page .reform_box .item {float: none; width: 100%;}
	.post_service_main_page .reform_box .item.bar::after {display: none;}
	.post_service_main_page .reform_box .item.bar {padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid #ddd;}
	.post_service_main_page .reform_box .item.second {padding-left: 0;}
	.post_service_main_page .reform_input_wrap, .post_service_main_page .ref_certy_wrap {max-width: none; width: 100%; margin: 0 auto;}
	.footer_in {padding: 20px 0 20px;}
	.footer_in .footer_logo {position: static;margin-bottom: 20px;}
	.family_site {position: static; width: 100%; margin-top: 20px;}
	.family_site select {flex: 1; width: auto;}
	.goTop {right: 10px;}
	.policy_page .title {margin: 24px 0; font-size: 26px;}
	.policy_page .intro {margin-bottom: 24px; padding: 18px 16px; font-size: 16px; line-height: 1.65;}
	.policy_box {padding: 16px; margin: 0;}
	.policy_box .txt {padding: 14px;}
	.policy_box .txt b {margin-top: 16px; font-size: 15px;}
	.policy_box .txt p {padding-left: 0; font-size: 15px;}
	.policy_box .txt table {display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;}
	.policy_box .txt table th, .policy_box .txt table td {padding: 12px; font-size: 15px; min-width: 120px;}
	.policy_chk {margin: 16px 0 32px 0;}
	.policy_chk .check_box label {font-size: 16px;}
	.post_service_form_page .sub_inner .tbl_area {overflow-x: visible;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) {min-width: 680px;}
	.post_service_form_page .sub_inner .item_table_scroll {overflow-x: auto; -webkit-overflow-scrolling: touch;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form {width: max-content !important; min-width: 560px !important; table-layout: fixed !important;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_cate {width: 100px !important;}
	.post_service_form_page #unifiedItemBody th[scope='row'] {width: 100px !important; min-width: 100px !important; max-width: 100px !important;}
    .post_service_form_page .dflex {flex-direction: column; align-items: stretch;}
    .post_service_form_page .dsflex .mgl20 {margin-left: 0 !important;}
}

/* 768px 이하 */
@media all and (max-width: 768px) {
    .sub_contents {padding-bottom: 0;}
	.header .container {padding-left: 10px; padding-right: 10px;}
	.nav_mlink a {font-size: 12px; line-height: 36px;}
	.sub_inner {padding: 24px 16px;}
	.sub_top_tab ul li > a {font-size: 14px; height: 48px; padding: 14px 8px;display: flex;align-items: center;justify-content: center;}
	.sub_top_tab ul li.on > a {font-size: 15px; margin-top: 0;}
	.sub_top_tab ul li.on > a::before, .sub_top_tab ul li.on > a::after {display: none;}
	.post_service_main_page .info-text {padding: 20px 0 0; font-size: 16px;}
	.post_service_main_page .sml-text {padding-left: 12px; font-size: 15px;}
	.post_service_main_page .reform_wrap {padding: 20px 16px; border-radius: 10px;}
	.post_service_main_page .reform_box .tit {font-size: 20px;}
	.post_service_main_page .reform_box .tit.tmb {margin-bottom: 24px;}
	.post_service_main_page .rebtn_in {padding-right: 0;}
	.post_service_main_page .btn_rebtn {position: static; width: 100%; margin-top: 8px;}
	.post_service_main_page .reform_input .field .td .select, .post_service_main_page .reform_input .field .td .input {width: 100%; max-width: none; box-sizing: border-box;}
	.post_service_main_page .reform_input .field .td {display: flex; gap: 8px; align-items: center;}
	.post_service_main_page .ref_certy .box {height: auto; min-height: 160px; padding: 20px;}
	.post_service_main_page #afterAuthView .btn_enter {width: 100% !important; box-sizing: border-box;}
	.footer_in {padding-left: 0; text-align: center;}
	.footer_in .footer_logo {position: static; margin-bottom: 16px;}
	.footer_link {justify-content: center; flex-wrap: wrap;}
	.footer_txt p {font-size: 12px; word-break: keep-all;}
    .sub_location .s_location li:after {top: 0;height: 14px;}
    .goTop {display: none !important;}
	.policy_page .title {margin: 20px 0; font-size: 22px;}
	.policy_page .intro {margin-bottom: 20px; padding: 16px; font-size: 15px;}
	.policy_box {padding: 12px;}
	.policy_box .txt {padding: 12px;}
	.policy_box .txt b {font-size: 14px;}
	.policy_box .txt p {font-size: 14px;}
	.policy_box .txt table th, .policy_box .txt table td {padding: 10px; font-size: 14px;}
	.policy_chk {margin: 12px 0 24px 0;}
	.policy_chk .check_box label {font-size: 14px; text-align: left;}
	.policy_page .btn_area {flex-direction: column; align-items: stretch; gap: 8px;}
	.policy_page .btn_area .btn {width: 100%; min-width: 0; margin: 0 !important;}
	.post_service_form_page .sub_inner .tbl_area {overflow-x: visible;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) {display: block; min-width: 0; border-top: 1px solid #06a8a6;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) colgroup {display: none;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) tbody {display: block;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) tr {display: block; padding: 12px 0; border-bottom: 1px solid #e5e5e5;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) th {display: block; width: 100%; padding: 0 0 8px; border-right: 0; background: transparent; font-size: 15px; text-align: left;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) td {display: block; width: 100%; padding: 10px 0 0 0; border-bottom: 0;}
	.post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) td[colspan] {display: block;}
    .post_service_form_page .sub_inner .tbl_form:not(:has(#unifiedItemBody)) td.phone_area {display: flex;align-items: center;gap:10px;}
	.post_service_form_page .sub_inner .tbl_form .w40, .post_service_form_page .sub_inner .tbl_form .w30, .post_service_form_page .sub_inner .tbl_form .wp100 {width: 100% !important; max-width: 100% !important;}
	.post_service_form_page .sub_inner .tbl_form td > div {display: flex; flex-wrap: wrap; gap: 8px;}
	.post_service_form_page .sub_inner .tbl_form td > div.mgt5 {margin-top: 8px !important; flex-direction: column; align-items: stretch;}
	.post_service_form_page .sub_inner .tbl_form td > div.mgt5 input {width: 100% !important;}
	
	.post_service_form_page .sub_inner .tbl_form .radio_box {display: block; margin: 0 0 8px 0;}
	.post_service_form_page .sub_inner .tbl_scroll {overflow-x: auto; margin-top: 8px;}
	.post_service_form_page .sub_inner .item_table_scroll {overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; max-width: 100%;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form {width: max-content !important; min-width: 560px !important; table-layout: fixed !important; display: table !important;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_cate {width: 100px !important;}
	.post_service_form_page #unifiedItemBody th[scope='row'] {width: 100px !important; min-width: 100px !important; max-width: 100px !important;}
	.post_service_form_page .sub_inner > .btn_area {flex-direction: column; align-items: stretch; gap: 8px;}
	.post_service_form_page .sub_inner > .btn_area .btn {width: 100%; min-width: 0; margin: 0 !important;}
    .post_service_form_page .dflex .mgr5 {margin-right: 0 !important;}
    .post_service_form_page .dflex .mgl20 {white-space: nowrap;flex-shrink: 0;}
    .post_service_form_page #deliveryCode {width: 140px;}
    .post_service_form_page #sidoName {width: 100px;}
    .post_service_form_page #sigunguName {width: 100px;}
    .sub_title_area {background-image: none;background-image: linear-gradient(90deg, #46b8ac, #579fb0);}
}

/* 480px 이하 */
@media all and (max-width: 480px) {
	.logo img {max-height: 25px;}
	.nav_list {width: 100%; max-width: none;}
	.sub_title_area strong {font-size: 24px; padding: 22px 12px;}
	.sub_location .s_title {font-size: 22px;}
	.sub_location .s_location li {font-size: 13px; padding: 0 10px;}
	.post_service_main_page .info-text ul {padding-left: 0;}
	.post_service_main_page .reform_submit .submit {height: 46px; line-height: 46px; font-size: 14px;}
	.policy_page .title {font-size: 20px; padding: 0 8px;}
	.policy_page .intro {padding: 14px 12px; font-size: 14px;}
	.post_service_form_page .sub_inner .item_table_scroll {overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; max-width: 100%;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form {width: max-content !important; min-width: 520px !important; table-layout: fixed !important; display: table !important;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_group {width: 0 !important;}
	.post_service_form_page .sub_inner .item_table_scroll .tbl_form .col_item_cate {width: 100px !important;}
	.post_service_form_page #unifiedItemBody th.unified_item_group {display: none !important; width: 0 !important; min-width: 0 !important; max-width: 0 !important; padding: 0 !important; border: 0 !important; font-size: 0 !important; line-height: 0 !important; overflow: hidden; visibility: collapse;}
}
