@charset "utf-8";
/* =====================================================================
   responsive.css  (2026-11-13)
   - 기존 디자인/컨텐츠는 그대로 두고, 1023px 이하 화면(모바일/태블릿)에서만 적용
   - PC 화면(1024px 이상)에는 아무 영향 없음
   - _MainLayout.cshtml 에서 media.css 다음에 로드
   ===================================================================== */

/* 모바일 전용 요소는 PC에서 숨김 */
.m-only, .m-inline, .m-btn-login { display: none; }

@media (max-width: 1023px) {

    /* ---------- 기본 ---------- */
    html, body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
    body { background-image: none !important; min-width: 0 !important; }
    #wrapper { padding-top: 56px; }
    .m-only { display: block; }
    .pc-only { display: none !important; }

    /* ---------- 헤더 (상단 고정바) ---------- */
    #wrapper #header {
        position: fixed !important;
        top: 0 !important; left: 0; right: 0;
        z-index: 1030 !important;
        min-width: 0 !important;
        width: 100%;
        background: #3b3b3b url("/images/common/bg.png") repeat-x 0 0;
        box-shadow: 0 1px 4px rgba(0,0,0,.25);
    }
    #wrapper #header .head_area { width: auto !important; height: 56px; padding: 0 6px 0 10px; position: relative; }
    #wrapper #header .head_area h1 { float: left; height: 56px; }
    #wrapper #header .head_area h1 a { display: block; height: 56px; }
    #wrapper #header .head_area h1 img { height: 52px; width: auto; margin-top: 2px; }
    #wrapper #header .top_menu,
    #wrapper #header .navi_area { display: none !important; }

    #wrapper #header .navbar-toggle {
        display: block !important;
        float: right;
        margin: 10px 2px 0 0;
        padding: 10px 10px;
        border: 1px solid rgba(255,255,255,.35);
        border-radius: 4px;
        cursor: pointer;
    }
    #wrapper #header .navbar-toggle .icon-bar { width: 22px; height: 2px; background: #fff; }

    /* 모바일 메뉴 패널 */
    #wrapper #header .navbar-collapse {
        display: none;
        clear: both;
        max-height: calc(100vh - 56px) !important;
        overflow-y: auto !important;
        padding: 0 0 10px;
        margin: 0;
        background: #262626;
        border-top: 1px solid #444;
    }
    /* Bootstrap 3.0: 펼친 뒤 클래스가 "navbar-collapse in" (collapse 클래스 없음) */
    #wrapper #header .navbar-collapse.in,
    #wrapper #header .navbar-collapse.collapsing { display: block !important; }
    #wrapper #header .navbar-collapse.collapsing { overflow: hidden !important; }

    #wrapper #header .m-nav { margin: 0; padding: 0; }
    #wrapper #header .m-nav > li { border-bottom: 1px solid #383838; }
    #wrapper #header .m-nav > li > a {
        display: block; padding: 13px 18px;
        color: #fff; font-size: 16px; font-weight: bold;
    }
    #wrapper #header .m-nav > li > a:hover,
    #wrapper #header .m-nav > li > a:focus { background: #333; text-decoration: none; }
    #wrapper #header .m-nav .m-sub { padding: 0 18px 12px 26px; line-height: 1.4; }
    #wrapper #header .m-nav .m-sub a {
        display: inline-block; margin: 0 6px 6px 0; padding: 6px 11px;
        color: #ddd; font-size: 13px;
        border: 1px solid #4a4a4a; border-radius: 15px;
    }
    #wrapper #header .m-nav .m-sub a:hover { color: #fff; border-color: #11bdb2; }

    /* 홈/동사섭/로그인/회원가입 아이콘 줄 */
    #wrapper #header .m-util { margin: 0; padding: 14px 10px 4px; text-align: center; }
    #wrapper #header .m-util li { display: inline-block; float: none; padding: 0; border: 0; }
    #wrapper #header .m-util li a { display: inline-block; padding: 10px 14px; }
    #wrapper #header .m-util li a:hover { background: none; }
    #wrapper #header .m-util li img { display: block; max-width: none; }

    /* ---------- 메인 비주얼 (슬라이드) ---------- */
    #main-visual-box { display: block !important; min-width: 0 !important; height: auto !important; }
    #main-visual-box #pop-visual-img { height: auto !important; }
    #main-visual-box #pop-visual-img .slidesjs-container,
    #main-visual-box #pop-visual-img .slidesjs-container .slidesjs-control { min-height: 0 !important; max-height: none !important; }
    #main-visual-box #pop-visual-img .slidesjs-slide { height: auto !important; min-width: 0 !important; }
    #main-visual-box #pop-visual-img img { display: block; width: 100%; height: auto; margin: 0 auto; }
    #main-visual-box .option-box { display: none; }
    #main-visual-box .slidesjs-navigation { display: none !important; }
    #main-visual-box .slidesjs-pagination { top: -18px !important; }

    /* ---------- 메인 컨텐츠 ---------- */
    #main_container { width: auto !important; top: 0 !important; min-height: 0; padding: 15px 12px 0; overflow: visible; }
    #main_container .main-top-box,
    #main_container .main-mid-box { width: auto !important; padding-bottom: 0; }
    #main_container .main-top-box .main-notice,
    #main_container .main-top-box .main-schedule,
    #main_container .main-mid-box .main-donghang,
    #main_container .main-mid-box .main-donation {
        float: none !important;
        width: auto !important;
        height: auto !important;
        min-height: 130px;
        margin: 0 0 12px;
        padding: 18px 16px;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    #main_container .main-top-box .main-notice .more,
    #main_container .main-mid-box .main-donation .more { left: auto !important; right: 16px !important; top: 18px; }
    #main_container .main-top-box .main-schedule .more,
    #main_container .main-mid-box .main-donghang .more { right: 16px !important; top: 18px; }
    #main_container .main-top-box .main-notice ul li { padding-right: 82px; padding-top: 11px; font-size: 14px; }
    #main_container .main-top-box .main-schedule { background-size: auto 100%; }
    #main_container .main-top-box .main-schedule ul li { float: none; padding: 12px 0 0; }
    #main_container .main-mid-box .main-donghang { background-size: auto 100%; }
    #main_container .main-mid-box .main-donation p { padding-top: 20px; }

    /* '동영상 보러가기' / '지금 후원하기' 버튼 → 박스 우측 하단 */
    #main_container .main-mid-box .main-donghang,
    #main_container .main-mid-box .main-donation { padding-bottom: 60px; }
    #main_container .main-mid-box .main-donghang > p:last-of-type,
    #main_container .main-mid-box .main-donation > div.clear {
        position: absolute;
        right: 16px; bottom: 16px;
        padding: 0 !important; margin: 0;
        clear: none;
        height: auto; font-size: 0; line-height: 0;  /* .clear{height:0} 해제 */
    }
    #main_container .main-mid-box .main-donghang > p:last-of-type img,
    #main_container .main-mid-box .main-donation > div.clear img { display: block; width: 100px; height: 30px; }
    #main_container .main-mid-box .main-donation p img { max-width: 100%; height: auto; }

    #main_container .main-mid-box .sns-box { padding: 6px 0 0; }
    #main_container .main-mid-box .sns-box ul { margin: 0 -4px; }
    #main_container .main-mid-box .sns-box ul li,
    #main_container .main-mid-box .sns-box ul li:first-child {
        float: left; width: 50%; padding: 4px;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    /* 배너 4개 동일 크기 (국세청 배너는 원본 비율이 달라 PC와 같이 243x81 비율로 맞춤) */
    #main_container .main-mid-box .sns-box ul li img { display: block; width: 100%; height: auto; aspect-ratio: 243 / 81; object-fit: fill; }
    #main_container .main-mid-box .sns-box-media { display: none !important; }

    /* ---------- 서브 페이지 공통 ---------- */
    #wrapper #sub_visual { display: none; }
    #wrapper #container,
    #container {
        display: block !important;
        width: auto !important;
        top: 0 !important;
        min-height: 0;
        padding: 15px 12px 0;
        overflow: visible;
    }

    /* 좌측메뉴 → 본문 위 탭(칩) 형태 */
    #togglemenu, .toggleButton { display: none !important; }
    #container #leftmenu-zone {
        display: block !important;
        position: static !important;
        float: none !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        margin: 0 0 18px;
        overflow: visible !important;
    }
    #container #leftmenu-zone h3 { width: auto; height: auto; padding: 0 0 8px; }
    #container #leftmenu-zone h3 img { max-width: 100%; height: auto; }
    #container #leftmenu-zone #t,
    #container #leftmenu-zone .leftmenu { width: auto !important; border-top-width: 3px; padding: 10px 0 0; }
    #container #leftmenu-zone #t #tree,
    #container #leftmenu-zone .leftmenu > ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0; padding: 0; }
    #container #leftmenu-zone #t #tree > li,
    #container #leftmenu-zone .leftmenu > ul > li { border: 0 !important; margin: 0 6px 6px 0; padding: 0; }
    #container #leftmenu-zone #t #tree > li > span,
    #container #leftmenu-zone .leftmenu > ul > li > a {
        display: block; padding: 7px 12px !important;
        font-size: 13px !important; font-weight: bold;
        background: #f4f4f4 !important;
        border: 1px solid #ddd; border-radius: 16px;
    }
    #container #leftmenu-zone #t #tree li ul,
    #container #leftmenu-zone .leftmenu .left-depth { display: none !important; }
    #container #leftmenu-zone .leftmenu .leftmenu2,
    #container #leftmenu-zone #t .leftmenu2 { width: auto; float: none; }

    /* 본문 */
    #container #contents,
    #container #content_wide {
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        position: relative;
    }
    #container #contents h4,
    #container #content_wide h4.title,
    .subtitle {
        width: auto !important;
        height: auto !important;
        min-height: 0;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }
    #container #contents h4 img,
    #container #content_wide h4 img,
    .subtitle img { max-width: 100%; height: auto; }

    /* 고정폭 요소가 화면을 넘지 않도록 */
    #contents div, #contents p, #contents ul, #contents ol, #contents li, #contents dl, #contents form, #contents fieldset, #contents section, #contents header, #contents table,
    #content_wide div, #content_wide p, #content_wide ul, #content_wide ol, #content_wide li, #content_wide dl, #content_wide form, #content_wide fieldset, #content_wide section, #content_wide header, #content_wide table {
        max-width: 100%;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    #contents img, #content_wide img { max-width: 100% !important; height: auto !important; }
    #contents input[type=image], #content_wide input[type=image] { max-width: 100%; height: auto; }
    #contents input[type=text], #contents input[type=password], #contents input[type=email], #contents input[type=tel], #contents input[type=number], #contents select, #contents textarea,
    #content_wide input[type=text], #content_wide input[type=password], #content_wide input[type=email], #content_wide input[type=tel], #content_wide input[type=number], #content_wide select, #content_wide textarea {
        max-width: 100% !important;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    #contents textarea, #content_wide textarea { width: 100% !important; }
    #contents pre, #content_wide pre { white-space: pre-wrap; word-break: break-all; }
    #contents, #content_wide { word-break: keep-all; overflow-wrap: break-word; word-wrap: break-word; }

    /* 표: 기본은 화면폭에 맞춤, 너무 넓으면 JS(.m-table-scroll)로 가로 스크롤 */
    #contents table, #content_wide table { width: 100% !important; }
    .m-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 10px; }
    .m-table-scroll > table { width: auto !important; min-width: 100%; max-width: none !important; }

    /* 동영상/지도 iframe */
    #contents iframe, #content_wide iframe { max-width: 100% !important; }
    #contents iframe[src*="youtube"], #content_wide iframe[src*="youtube"],
    #contents iframe[src*="vimeo"], #content_wide iframe[src*="vimeo"] {
        width: 100% !important; height: auto !important; aspect-ratio: 16 / 9;
    }
    .auto-resizable-iframe,
    .resizable_w376, .resizable_w239, .resizable_w769, .resizable_w1000 { width: 100% !important; max-width: 100% !important; height: auto !important; }
    .auto-resizable-iframe > div,
    .resizable_w376 div, .resizable_w239 div, .resizable_w769 div, .resizable_w1000 div {
        height: 0 !important; padding-bottom: 56.25%; position: relative;
    }
    .auto-resizable-iframe > div iframe { position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto; }

    /* 10분 동행 / 아카데미 목록 */
    .dongsasub_youtube li, .academy_list_wrap li {
        float: none !important; width: 100% !important; height: auto !important;
        margin: 0 0 18px !important; padding-bottom: 12px;
    }
    .dongsasub_youtube label, .academy_list_wrap label { padding: 12px 10px 0; }
    .youtube_detail01, .youtube_detail01_txt, .academy_detail01_txt { width: auto !important; }
    .academy_level2, .academy_level3 { width: 100% !important; }

    /* 게시판 */
    .board-list table { table-layout: auto; }
    .board-list th, .board-list td { padding-left: 4px !important; padding-right: 4px !important; }
    .board-list td.cont a { display: block; }
    .board-view .view-cont { overflow-x: auto; }
    .board-view .view-cont table { width: auto !important; }
    .comment-zone .comment-input .reply_btn { position: relative !important; margin-top: 6px; }
    .page_number, .board-bottom { overflow-x: auto; text-align: center; }
    .pagination { display: inline-block; white-space: nowrap; }
    .msr_search { height: auto !important; padding: 10px !important; }
    .msr_search .search_select { width: 26% !important; }
    .msr_search .s_text { width: 52% !important; height: 28px; }
    .msr_search .s_button { display: inline-block; }

    /* 행복갤러리: 2열 */
    .gallery-list { width: 100% !important; margin: 0 !important; overflow: hidden; }
    .gallery-list li, .gallery-list li.first {
        float: left !important;
        width: 50% !important;
        margin: 0 0 14px !important;
        padding: 0 5px !important;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    .gallery-list li:nth-child(2n+1) { clear: left; }
    .gallery-list li div { width: 100% !important; height: auto !important; aspect-ratio: 214 / 134; overflow: hidden; }
    .gallery-list li div img { width: 100% !important; height: 100% !important; object-fit: cover; }
    .gallery-list li p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    /* 신청서/회원가입 폼 */
    .application-con .top-script { float: none; }
    .dn-form th, .dn-form td, .dn-form2 th, .dn-form2 td { padding-left: 8px; padding-right: 4px; }

    /* ---------- 로그인 (수련회 신청 시 로그인 포함) ---------- */
    .m-inline { display: inline; }
    #container:has(.member .login) #leftmenu-zone { display: none !important; }  /* 로그인 화면은 좌측메뉴 숨겨 폼에 집중 */
    .member .login { padding: 4px 0 0; }
    .member .login .login_box,
    .member .login .login_btn,
    .member .login .login_btn dl { width: auto !important; float: none; }
    .member .login .login_box { padding-bottom: 26px; overflow: visible; }
    .member .login .login_box .input_login { float: none !important; width: auto !important; margin: 0; }
    .member .login .login_box .input_login dt,
    .member .login .login_box .input_login dd { float: none !important; width: auto !important; padding: 0; }
    .member .login .login_box .input_login dt { padding: 14px 0 7px; font-size: 15px; font-weight: bold; color: #2e2e2e; }
    .member .login .login_box .input_login dt img { display: none; }
    .member .login .login_box .input_login dd input {
        display: block;
        width: 100% !important; height: 52px;
        padding: 0 14px;
        font-size: 17px;                         /* 16px 이상: iOS 자동확대 방지 */
        border: 1px solid #cfcfcf; border-radius: 8px;
        background: #fafafa;
        -webkit-appearance: none; appearance: none;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    .member .login .login_box .input_login dd input:focus { outline: none; border-color: #11bdb2; background: #fff; box-shadow: 0 0 0 3px rgba(17,189,178,.18); }
    .member .login .login_box .btn_login { float: none !important; margin-top: 22px; }
    .member .login .login_box .btn_login input[type=image] { display: none; }
    .m-btn-login {
        display: block; width: 100%; height: 56px;
        font-size: 18px; font-weight: bold; letter-spacing: 2px;
        color: #fff; background: #11bdb2;
        border: 0; border-radius: 8px; cursor: pointer;
        -webkit-appearance: none; appearance: none;
    }
    .m-btn-login:active { background: #0ea79d; }
    .member .login .text-danger { padding: 8px 0 0; font-size: 14px; }

    .member .login .login_btn { padding: 8px 0 10px; }
    .member .login .login_btn dt { float: none; height: auto; padding: 18px 0 9px; text-align: center; font-size: 14px; color: #555; }
    .member .login .login_btn dd {
        float: none; height: auto; padding: 0 !important;
        display: -webkit-flex; display: flex;
    }
    .member .login .login_btn dd a {
        -webkit-flex: 1; flex: 1;
        display: -webkit-flex; display: flex;
        -webkit-align-items: center; align-items: center;
        -webkit-justify-content: center; justify-content: center;
        height: 50px; margin: 0 4px;
        font-size: 16px; font-weight: bold; color: #333;
        background: #fff; border: 1px solid #bdbdbd; border-radius: 8px;
        text-decoration: none;
    }
    .member .login .login_btn dd a:first-child { margin-left: 0; }
    .member .login .login_btn dd a:last-child { margin-right: 0; }
    .member .login .login_btn dd a img { display: none; }
    .member .login .login_btn dd a.m-btn-nonmember { color: #0e8f87; border-color: #11bdb2; }

    /* =========================================================
       로그인 후 화면 (개인정보변경 / 회원가입 / 수련회 신청서 / 비밀번호변경 / 탈퇴 / 명상록)
       ========================================================= */

    /* --- 입력 폼 표: 라벨(th) 위, 입력칸(td) 아래로 쌓기 --- */
    .member table[summary], table.dn-form2, table.dn-form, table.msr_table { display: block; width: 100% !important; border-left: 0; border-right: 0; }
    .member table[summary] colgroup, table.dn-form2 colgroup, table.dn-form colgroup { display: none; }
    .member table[summary] tbody, table.dn-form2 tbody, table.dn-form tbody, table.msr_table tbody,
    .member table[summary] tr, table.dn-form2 tr, table.dn-form tr, table.msr_table tr { display: block; width: 100%; }
    .member table[summary] tbody[style*="none"], table.dn-form2 tbody[style*="none"] { display: none; }   /* 청소년캠프 추가항목 등 숨김 상태 유지 */
    .member table[summary] th, table.dn-form2 th, table.dn-form th,
    .member .join table[summary] th, .member .join_input table th {
        display: block !important;
        width: auto !important;
        padding: 16px 0 7px !important;
        font-size: 15px !important; font-weight: bold; color: #2e2e2e;
        text-align: left; vertical-align: top !important;
        border: 0 !important;
    }
    table.dn-form2 th.th-ind { padding-left: 12px !important; background-position: 0 22px !important; }
    .member table[summary] td, table.dn-form2 td, table.dn-form td, table.msr_table td,
    .member .join table[summary] td {
        display: block;
        width: auto !important;
        padding: 0 0 4px !important;
        border: 0 !important;
        line-height: 1.6;
    }
    .member table[summary] tr { border-bottom: 1px solid #eee; padding-bottom: 10px; }
    .member table[summary] td span, table.dn-form2 td span { display: inline-block; margin-top: 6px; line-height: 1.5; }
    .member table[summary] td p { padding-bottom: 6px; }
    .member table[summary] td img { padding-left: 0; vertical-align: middle; }

    /* --- 입력칸 공통: 크고 누르기 쉽게 --- */
    .member input[type=text], .member input[type=password], .member input[type=email], .member input[type=tel],
    .dn-form2 input[type=text], .dn-form2 input[type=password],
    .dn-form input[type=text], .msr_write input[type=text] {
        height: 46px !important;
        padding: 0 12px !important;
        font-size: 16px !important;
        border: 1px solid #cfcfcf !important; border-radius: 6px;
        background-color: #fafafa;
        -webkit-appearance: none; appearance: none;
        -webkit-box-sizing: border-box; box-sizing: border-box;
        vertical-align: middle;
        margin: 0;
    }
    .member select, .dn-form2 select, .dn-form select, .split select {
        height: 46px !important;
        padding: 0 6px !important;
        font-size: 16px !important;
        border: 1px solid #cfcfcf !important; border-radius: 6px;
        background-color: #fff;
        -webkit-box-sizing: border-box; box-sizing: border-box;
        vertical-align: middle;
    }
    .member textarea, .dn-form2 textarea, .msr_write textarea {
        width: 100% !important; height: 130px !important;
        padding: 10px 12px !important;
        font-size: 16px !important; line-height: 1.5;
        border: 1px solid #cfcfcf !important; border-radius: 6px;
        background-color: #fafafa;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    .member input:focus, .member select:focus, .member textarea:focus,
    .dn-form2 input:focus, .dn-form2 select:focus, .dn-form2 textarea:focus,
    .msr_write input:focus, .msr_write textarea:focus { outline: none; border-color: #11bdb2 !important; background-color: #fff; }
    .member input[readonly], .dn-form2 input[readonly] { background-color: #f1f1f1; }
    /* 로그인 화면 입력칸은 더 크게 유지 */
    .member .login .login_box .input_login dd input { height: 52px !important; padding: 0 14px !important; font-size: 17px !important; border-radius: 8px; }

    /* 기본은 한 줄 가득 */
    .member table[summary] input[type=text], .member table[summary] input[type=password],
    .dn-form2 input[type=text], .dn-form2 input[type=password],
    .member table[summary] select, .dn-form2 select,
    .member .pwmodify input, .member .withdraw .input,
    .msr_write .msr_text { width: 100% !important; }

    /* 전화번호 (국번 - 앞 - 뒤) 한 줄 3칸 */
    .member table[summary] select[id$="phone1"], .dn-form2 select[id$="phone1"],
    .member table[summary] input[id$="phone2"], .dn-form2 input[id$="phone2"],
    .member table[summary] input[id$="phone3"], .dn-form2 input[id$="phone3"] { width: calc(33.3% - 12px) !important; }
    /* 이메일 아이디 @ 도메인 */
    .member table[summary] #email_id, .dn-form2 #email_id,
    .member table[summary] #email_domain, .dn-form2 #email_domain { width: calc(50% - 12px) !important; }
    #email_domains { width: 100% !important; margin-top: 6px; }
    /* 우편번호 + 찾기버튼, 인증번호, 학년/횟수 같은 짧은 칸 */
    .member table[summary] #zip_code { width: 130px !important; }
    .member table[summary] .join_c, .member table[summary] #code { width: 150px !important; }
    .dn-form2 #user_times, .dn-form2 #youth_grade { width: 90px !important; }
    .dn-form2 #school_name { width: 60% !important; }

    /* 라디오/체크박스 크게 */
    .member input[type=radio], .member input[type=checkbox],
    .dn-form2 input[type=radio], .dn-form2 input[type=checkbox] {
        width: 20px !important; height: 20px !important;
        margin: 0 4px 0 0 !important; padding: 0 !important;
        vertical-align: middle;
    }
    .member .withdraw ul li { padding: 0 0 12px; line-height: 1.5; }
    .member .withdraw .input01 { width: 100% !important; height: 42px !important; margin-top: 6px !important; }

    /* --- 비밀번호 변경 / 회원탈퇴: dl 폼 세로 배치 --- */
    .member .pwmodify, .member .withdraw { padding-top: 10px; }
    .member .pwmodify .tit, .member .withdraw .tit { font-size: 17px; padding: 0 0 14px; }
    .member .withdraw .stit, .member .withdraw .txt01 { padding: 0 0 14px; }
    .member .pwmodify ul li { margin-left: 0; padding-bottom: 6px; line-height: 1.5; }
    .member .pwmodify dl, .member .withdraw dl { padding: 10px 0 20px; margin-top: 20px; }
    .member .pwmodify dt, .member .withdraw dt { float: none; width: auto; padding: 14px 0 7px; font-size: 15px; }
    .member .pwmodify dd, .member .withdraw dd { margin: 0; }
    .member .pwmodify dd.stxt { padding: 6px 0 0; }
    .member .withdraw ul { padding: 10px 0 20px; }

    /* --- 확인/취소 등 버튼 영역 --- */
    .btn-zone, .btn-zone-ct, .form-btn, .member .pwmodify .btn, .member .withdraw .btn, .botton_area {
        text-align: center !important; padding: 24px 0 10px !important;
    }
    .botton_area { width: auto !important; height: auto !important; }
    .btn-zone .btn-left { position: static; text-align: center; margin-bottom: 10px; }
    .btn-zone a, .form-btn a, .member .btn a { display: inline-block; margin: 0 3px 8px; }
    .member .privacy_modify .info_txt { padding-bottom: 10px; }

    /* --- 명상록 --- */
    .msr_list { height: auto !important; }
    .msr_list .split { margin: 10px 12px; }
    .msr_list .split label { display: block; padding: 0 0 6px; }
    .msr_list .split select { max-width: 100%; margin: 0 0 6px; }
    .msr_list #levelOneSapn select, .msr_list #levelTwoSapn select { width: 100%; }
    .msr_content .t1, .msr_content .t2 { padding: 12px 10px; }
    .msr_content .t2 { width: 64px; }
    .msr_write { padding: 12px !important; }
    .msr_write label { display: block; width: auto !important; padding: 8px 0 6px !important; text-align: left !important; }
    .msr_write .msr_text { margin-bottom: 4px; }
    .board-bottom .button_write { text-align: right; margin: 6px 0; }

    /* --- 수행점검표: 왼쪽 항목명 / 가운데 요일 가로스크롤 / 오른쪽 합계 --- */
    .checklist-gridbox > ul { width: 100% !important; max-width: none !important; overflow: hidden; }
    .checklist-gridbox ul .datatable-first-child { width: 92px !important; }
    .checklist-gridbox ul .datatable-first-child p { width: auto !important; max-width: none !important; padding-left: 3px !important; padding-right: 3px !important; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .checklist-gridbox ul .datatable-last-child,
    .checklist-gridbox ul .datatable-last-child p { width: 48px !important; min-width: 48px !important; max-width: 48px !important; }
    .checklist-gridbox ul .datatable-mid-child { width: calc(100% - 140px) !important; }
    .checklist-gridbox p, .checklist-gridbox li { line-height: 20px !important; }  /* 좌/중/우 행 높이 일치 */
    .checklist-gridbox .scroll-datacontents { -webkit-overflow-scrolling: touch; }
    .checklist-gridbox .scroll-datacontents ul { max-width: none !important; width: max-content; white-space: nowrap; }
    .checklist-gridbox .scroll-datacontents li { max-width: none !important; }
    .checklist-gridbox .scroll-datacontents .scroll-header ul li,
    .checklist-gridbox .scroll-datacontents .scroll-databox ul li { width: 44px !important; min-width: 44px !important; max-width: 44px !important; }

    /* --- 동사섭이란 (/home/about) --- */
    .dongsasub_con { min-height: 0 !important; }
    /* 영문 소개 버튼 2개: 한 줄 반반 */
    .dongsasub_con .en_btn { display: -webkit-flex; display: flex; gap: 8px; text-align: center; }
    .dongsasub_con .en_btn a { -webkit-flex: 1; flex: 1; }
    .dongsasub_con .en_btn a img { display: block; width: 100%; }
    /* 영문 팝업: 본문 위에 겹치지 않고 버튼 아래에 펼쳐지도록 */
    .dong-pop { position: relative !important; top: auto !important; left: auto !important; margin-top: 10px; border-width: 3px; }
    .dong-pop .top_bar { height: auto; padding: 6px 8px; }
    .dong-pop .top_bar img { width: 24px; height: auto; }
    .dong-pop-con { padding: 16px 14px; font-size: 14px; line-height: 1.6; word-break: normal; }
    .dong-pop-con p { padding-bottom: 16px; }
    .dong-pop-con p.pt-txt { font-size: 18px; padding-bottom: 14px; }
    /* 상단 굵은 문구 */
    .dongsasub_con .dong_top { font-size: 17px; line-height: 1.6; padding-top: 20px; }
    /* 본문: 왼쪽 사진(배경)을 위쪽 가운데로 옮기고 글은 전체 폭 사용 */
    .dongsasub_con .greeting {
        padding: 317px 0 4px !important;
        margin: 20px 0;
        background-position: center top !important;
        background-size: 240px auto !important;
    }
    .dongsasub_con .greeting p { font-size: 15px; line-height: 1.75; text-align: left; padding-bottom: 16px; }
    .dongsasub_con > img { display: block; margin: 0 auto; }

    /* --- 후원하기 (/donation) --- */
    #coverstory { width: auto !important; margin: 0 !important; padding: 12px 12px 0; min-height: 0; }
    #coverstory img { max-width: 100%; height: auto; }
    #coverstory .cover-top { padding: 0 0 12px; }
    #coverstory .cover-top img { width: 100%; }
    #coverstory .happy-con,
    #coverstory .cover_talent { float: none; }
    #coverstory .happy-con p img { width: 100%; }
    /* 간편후원(신용카드/계좌이체/휴대폰) 4칸 한 줄 */
    #coverstory .happy-con dl {
        display: grid; grid-template-columns: 172fr 100fr 100fr 100fr; gap: 5px;
        padding: 10px 0 0;
    }
    #coverstory .happy-con dl dt, #coverstory .happy-con dl dd { float: none; padding: 0; margin: 0; }
    #coverstory .happy-con dl dt img, #coverstory .happy-con dl dd img { display: block; width: 100%; }
    /* 후원계좌 */
    #coverstory .happy-con dl + dl { grid-template-columns: 172fr 305fr; }
    #coverstory .happy-con dl + dl dd {
        width: auto !important; height: auto !important; margin: 0 !important;
        display: -webkit-flex; display: flex;
        -webkit-align-items: center; align-items: center;
        -webkit-justify-content: center; justify-content: center;
        text-align: center; line-height: 1.35 !important;
        -webkit-box-sizing: border-box; box-sizing: border-box;
    }
    #coverstory #mySpan { position: static !important; font-size: 19px !important; }
    #coverstory #mySpan span { font-size: 17px !important; }
    #coverstory .cover_talent { padding: 12px 0 0; }
    #coverstory .cover_talent img,
    #coverstory .cover_bot img { display: block; width: 100%; }
    #coverstory .cover_bot { padding: 0; }
    #coverstory .cover_bot .left-img,
    #coverstory .cover_bot .right-img { float: none; margin-top: 12px; }

    /* 재단법인 행복마을 */
    .happyvillage, .purpose { width: 100% !important; }

    /* ---------- 팝업 레이어 ---------- */
    .pop-layer { width: 92% !important; left: 4% !important; margin-left: 0 !important; -webkit-box-sizing: border-box; box-sizing: border-box; }

    /* ---------- 푸터 ---------- */
    #footer { margin-top: 30px; }
    #footer .footer_zone { width: auto !important; padding: 22px 14px 30px; text-align: center !important; font-size: 12px; line-height: 1.6; }
    #footer .footer_zone .logo img { max-width: 100%; height: auto; }
    #footer .footer_zone .footer_menu,
    #footer .footer_zone address {
        position: static !important; float: none !important;
        top: auto !important; right: auto !important;
        margin: 12px 0 0;
    }
    #footer .footer_zone {
        display: -webkit-flex; display: flex;
        -webkit-flex-direction: column; flex-direction: column;
        -webkit-align-items: center; align-items: center;
    }
    #footer .footer_zone .logo img { width: 240px; }
    /* 약관 메뉴: 2열 정렬 */
    #footer .footer_zone .footer_menu {
        display: -webkit-flex; display: flex;
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
        -webkit-justify-content: center; justify-content: center;
        width: 100%; max-width: 360px; margin: 14px 0 0; padding: 0;
    }
    #footer .footer_zone .footer_menu li,
    #footer .footer_zone .footer_menu li:first-child {
        float: none; height: auto; width: 50%;
        padding: 5px 2px; background: none;
        -webkit-box-sizing: border-box; box-sizing: border-box;
        font-size: 12px; line-height: 1.4; white-space: nowrap;
    }
    #footer .footer_zone .footer_menu li b { font-size: 12px !important; }
    /* 재단 정보: 항목별 한 줄씩 */
    #footer .footer_zone .foot-info {
        margin-top: 16px !important; padding-top: 14px;
        border-top: 1px solid #dcdcdc; width: 100%; max-width: 360px;
    }
    #footer .footer_zone .foot-info .foot-name { display: block; font-size: 13px; margin-bottom: 6px; }
    #footer .footer_zone .foot-info p { margin: 0; line-height: 1.75; word-break: keep-all; }
    #footer .footer_zone .foot-info .pc-br { display: none; }
    #footer .footer_zone .foot-info .fi { display: block; }
    #footer .footer_zone .foot-info a { color: inherit; text-decoration: underline; }
    /* 저작권 문구는 맨 아래로 */
    #footer .footer_zone address {
        -webkit-order: 10; order: 10;
        margin: 14px 0 0; font-size: 11px; color: #888; font-style: normal;
    }
}

/* 작은 휴대폰 (600px 이하) */
@media (max-width: 600px) {
    /* 게시판 목록: 파일/작성자 칸 숨김 */
    .board-list col.file, .board-list .file,
    .board-list col.writer, .board-list .writer { display: none; }
    .board-list col.num { width: 48px; }
    .board-list col.date { width: 82px; }
    .board-list td.date { font-size: 12px; }

    .application-con .top-script { display: none; }
    .top-script-mobile { display: block !important; padding: 0 0 12px; }
}

@media (min-width: 1024px) {
    .top-script-mobile, .gender-mobile { display: none; }
}
