/* sub 공통 */
 h1.sub_tit { font-size:30px; color:#555; margin:0 auto; padding:40px 0; text-align:center}
.titleArea h2 {font-size:30px; color:#555; margin:0 auto; padding:40px 0; text-align:center}
@media (max-width: 545px) { 
     h1.sub_tit,.titleArea h2 { font-size:23px !important}
}

/* sub 여백 공통 */
@media (max-width: 768px) { 
    .sub_intro,.sub_contact,.sub_parking,.sub_calendar {padding:20px 0 !important}
}


        /* 기본적으로 숨김 처리 */
        .pc-only, .m-only, .xm-only {
            display: none;
        }
        /* 768px 또는 1024px 이상의 화면에서만 줄바꿈 적용 */
        @media (min-width: 769px) {
            .pc-only {
                display: block; /* 또는 inline */
            }
        }
        /* 스마트폰 해상도(예: 768px 이하)에서만 보이게 설정 */
        @media (min-width: 401px) and (max-width: 768px) {
            .m-only {
                display: block;
            }
        }
        /* 스마트폰 해상도(예: 400px 이하)에서만 보이게 설정 */
        @media (max-width: 400px) {
            .xm-only {
                display: block;
            }
        }



/* sub_intro */
.sub_intro {
    background: url('../img/dd_img/sub01.png') no-repeat center / cover;
    padding: 60px 0;
}
.intro_box_wrap {    
    max-width: 1380px;
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}
.intro_box {
    max-width: 1000px;
    margin: 40px auto;
    text-align: center;
    padding: 10px 30px 20px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
    border-radius: 10px;
}

.intro_box .txt_box {margin:40px 0}
.intro_box .txt_box p {
    font-size: 15px;
    color: #555;
    margin: 0 0 10px;
    line-height: 1.5rem;
}
.intro_box .txt_box p.txt_sub {
    border: 1px solid #ddd;
    max-width: 90%;
    margin: 0 auto;
    padding: 30px ;
    background: #f8f8f8;
}
.intro_box .txt_box p.txt_main {margin:10px 0 0; padding:30px 0; font-size:18px; line-height: 2rem;color:#000;}
.intro_box .txt_box p.txt_main span {
	color: #ef7600;
    font-weight: bold;
    font-size:23px;
}
.intro_box .img_box {margin:20px 0}
.intro_box .img_box img { width:100%; max-width:600px; margin:0 auto }


@media (max-width: 1024px) { 
	.intro_box {
    	margin:40px 20px;
        padding:60px 40px;
    }
    .intro_box .txt_box p.txt_sub {
    	padding: 40px 10px;
    }
}
@media (max-width: 637px) { 
    
    .intro_box .txt_box p.txt_sub {
    	max-width:100%;
        padding: 30px 10px;
    }
    .intro_box .txt_box p {
    	font-size: 14px;
    }   
}
@media (max-width: 545px) { 
	.intro_box {
    	margin:20px 20px;
        padding:20px 20px;
    }
    .intro_box .txt_box p {font-size:13px}
    .intro_box .txt_box p.txt_main {
        font-size: 16px;
        line-height: 1.8rem;
    }
    .intro_box .txt_box p.txt_main span {font-size:20px;}

    .float-img { max-width:50px !important}
    .shadow {width:40px!important; margin-left:-20px!important}
}

/***** 아이콘 효과 ******/
.icon-box {
    position: relative;
    display: inline-block;
    padding-bottom: 30px; 
    text-align: center;
}
/**/
@keyframes float {
    0%, 100% {
        transform: translateY(0); 
    }
    50% {
        transform: translateY(-10px);
    }
}
.float-img {
    height: auto;
    position: relative;
    z-index: 2;
    /* 애니메이션 적용: 이름, 지속시간, 속도곡선, 무한반복 */
    animation: float 2.5s ease-in-out infinite;
    width:100%; 
    max-width:73px;
}
/**/
@keyframes shadow {
    0%, 100% {
        transform: scale(1); 
        opacity: 0.5;
    }
    50% {
        transform: scale(0.6); /* 아이콘이 올라가면 60%로 작아짐 */
        opacity: 0.2; /* 아이콘이 올라가면 더 흐려짐 */
    }
}
.shadow {
    width: 60px; 
    height: 10px;
    background: rgba(0, 0, 0, 0.4); 
    border-radius: 50%;
    margin-left: -30px;
    position: absolute;
    bottom: 0; 
    left: 50%;
    filter: blur(4px);
    z-index: 1; 
    animation: shadow 2.5s ease-in-out infinite;
}





/* sub_contact */
.sub_contact {
    padding: 60px 0;
}
.contact_box_wrap {    
    max-width: 1380px;
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}
.contact_box {
	max-width: 1380px;
    margin: 40px auto;
    text-align: center;
    padding: 0 60px;
}

.contact_box .map_box {
    margin:40px 0;
    display:flex;
}
.map_box dl {
    border:1px solid #ddd;
    margin: 0 5px;
    max-width:600px;
    background: #f8f8f8;
}
.map_box dl p img {
	width:100%;
    max-width:600px;
}
.map_box dl dt {
	padding: 10px 0;
    font-size: 18px;
    font-weight:bold;
    color:#555;
    border-top: 1px solid #ddd;
    background:#fff;
}
.map_box dl dd {
	font-size: 14px;
    padding: 15px 10px 20px;
}

@media (max-width: 768px) { 
    .contact_box { margin:0 auto 40px}
    .contact_box .map_box {
        flex-direction: column;
        margin:0 auto;
    }
    .map_box dl {margin:0 5px 20px}
}
@media (max-width: 545px) {
    .contact_box {
        padding: 0 20px;
    }
    .map_box dl dt {font-size: 15px;}
    .map_box dl dd {font-size: 13px;}
}

/* sub parking */
.sub_parking {
    padding: 60px 0;
}
.parking_box_wrap {    
    max-width: 1380px;
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}
.parking_box {
	max-width: 1380px;
    margin: 40px auto;
    text-align: center;
    padding: 0 60px;
}

.parking_box .park_box {
    margin:40px 0;
    display:flex;
	justify-content: center;
}
.park_box dl {
    border:1px solid #ddd;
    margin: 0 5px;
    max-width:600px;
    background: #f8f8f8;
}
.park_box dl p img {
	width:100%;
    max-width:600px;
}
.park_box dl dt {
	padding: 10px 0;
    font-size: 18px;
    font-weight:bold;
    color:#555;
    border-top: 1px solid #ddd;
}
.park_box dl dd {
	font-size: 14px;
    padding: 15px 10px 30px;
}
@media (max-width: 768px) { 
    .parking_box { margin:0 auto 40px}
    .parking_box .park_box {
        flex-direction: column;
        margin:0 auto;
    }
    .park_box dl {margin:0 5px 20px}
}
@media (max-width: 545px) {
    .parking_box {
        padding: 0 20px;
    }
    .parking dl dt {font-size: 15px;}
    .parking dl dd {font-size: 13px;}
}


/* board 공통 */
h1.sub_tit {    
	font-weight: 700;
    font-size: 30px;
	padding:20px 0;
    color: #555;
	text-align:center;
}
#bo_v, #bo_w { 
	width:90%!important; 
	max-width: 1140px;
	margin: 30px auto;
	font-size: 1.2em;
}
#bo_v_share { display:none!important}
.cmt_btn { display:none!important}
#bo_vc { display:none!important}
#bo_vc_w { display:none!important}

/* bo_list */
.bo_tit { font-size:1.2em}
#bo_list {    
	width:100%; 
    max-width:1140px; 
    margin:0 auto; 
    padding:30px 10px;
}
#bo_list .td_name {width:100px !important}

/* sub_calendar */
.sub_calendar {
    width:100%; 
    max-width:1140px; 
    margin:0 auto; 
    padding:30px 0;
    text-align: center;
}
#calendar_wrap.mobile {padding: 0 20px}
.bo_calendar {
    width: 100%;
	background: #f5f5f5;
	padding:0 10px 20px;
}

/* 글쓰기 버튼 추가 */
.r_admin {
	clear: both;
	position: relative;
    width: 100%;
    text-align: right;
}
.r_admin a { padding:10px; background: #888; color:#fff; border-radius: 5px;display: inline-block;}
