@charset "utf-8";

/* =========================
   서브 비주얼
========================= */

.sub_visual{
position:relative;
padding:92px 0 84px;
overflow:hidden;
text-align:center;
background:#eef7ee;
}

.sub_visual:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:linear-gradient(90deg,rgba(15,45,22,.78),rgba(47,127,67,.55),rgba(255,255,255,.18));
z-index:1;
}

.sub_visual:after{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(255,255,255,.10);
z-index:2;
}

.sub_visual_intro{
background:url('/img/sub/sub_visual_intro.jpg') center center no-repeat;
background-size:cover;
}

.sub_visual .sdmsc_inner{
position:relative;
z-index:3;
}

.sub_visual span{
display:inline-block;
margin-bottom:16px;
padding:8px 22px;
border-radius:30px;
background:rgba(255,255,255,.92);
color:#2f7f43;
font-size:15px;
font-weight:900;
box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.sub_visual h2{
margin:0;
font-size:54px;
line-height:1.2;
font-weight:900;
letter-spacing:-.06em;
color:#fff;
text-shadow:0 4px 18px rgba(0,0,0,.22);
}


/* =========================
   서브 GNB
========================= */

.sub_gnb{
position:relative;
z-index:20;
margin-top:-36px;
}

.sub_gnb .sdmsc_inner{
display:flex;
justify-content:center;
}

.sub_gnb ul{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;
margin:0;
padding:0;
list-style:none;
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 18px 44px rgba(31,93,52,.14);
border:1px solid rgba(47,127,67,.08);
}

.sub_gnb li{
border-right:1px solid #edf1ea;
}

.sub_gnb li:last-child{
border-right:0;
}

.sub_gnb a{
display:flex;
align-items:center;
justify-content:center;
min-width:150px;
height:66px;
padding:0 24px;
box-sizing:border-box;
font-size:16px;
font-weight:900;
letter-spacing:-.04em;
color:#333;
transition:.25s;
}

.sub_gnb li.on a{
background:#2f7f43;
color:#fff;
box-shadow:inset 0 -4px 0 rgba(255,255,255,.18);
}

.sub_gnb a:hover{
background:#2f7f43;
color:#fff;
}


/* =========================
   서브 공통
========================= */

.sub_wrap{
padding:78px 0 96px;
background:#fff;
}

.sub_title{
text-align:center;
margin-bottom:48px;
}

.sub_title span{
display:block;
margin-bottom:12px;
color:#2f7f43;
font-size:15px;
font-weight:900;
letter-spacing:.08em;
}

.sub_title h3{
margin:0;
font-size:36px;
line-height:1.42;
font-weight:900;
letter-spacing:-.07em;
color:#111;
}


/* =========================
   공통 TEXT
========================= */

.sdmsc_lead{
margin:0 0 28px;
font-size:24px;
line-height:1.65;
font-weight:900;
color:#1f5d34;
letter-spacing:-.04em;
word-break:keep-all;
}

.sdmsc_text{
margin:0 0 22px;
font-size:18px;
line-height:1.9;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

.sdmsc_text:last-child{
margin-bottom:0;
}


/* =========================
   공통 BOX
========================= */

.sdmsc_box{
padding:58px;
border-radius:34px;
background:#f8fbf5;
border:1px solid rgba(47,127,67,.08);
box-shadow:0 22px 60px rgba(31,93,52,.08);
box-sizing:border-box;
}


/* =========================
   공통 PHOTO
========================= */

.sdmsc_photo{
overflow:hidden;
border-radius:32px;
background:#fff;
box-shadow:0 20px 48px rgba(0,0,0,.12);
}

.sdmsc_photo img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}


/* =========================
   공통 SIGN
========================= */

.sdmsc_sign{
margin-top:38px;
padding-top:28px;
border-top:1px solid rgba(47,127,67,.16);
text-align:right;
}

.sdmsc_sign span{
display:block;
margin-bottom:8px;
font-size:20px;
color:#555;
font-weight:700;
}

.sdmsc_sign strong{
display:block;
font-size:16px;
color:#111;
font-weight:700;
letter-spacing:-.05em;
}


/* =========================
   공통 INFO LIST
========================= */

.sdmsc_info_list{
margin:0;
padding:0;
}

.sdmsc_info_list dl{
display:grid;
grid-template-columns:150px 1fr;
align-items:center;
margin:0;
padding:18px 0;
border-bottom:1px solid rgba(47,127,67,.12);
}

.sdmsc_info_list dl:first-child{
border-top:1px solid rgba(47,127,67,.12);
}

.sdmsc_info_list dt{
font-size:16px;
font-weight:900;
color:#1f5d34;
letter-spacing:-.04em;
}

.sdmsc_info_list dd{
margin:0;
font-size:17px;
line-height:1.7;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}


/* =========================
   공통 TABLE
========================= */

.sdmsc_table{
width:100%;
border-collapse:collapse;
border-top:2px solid #2f7f43;
table-layout:fixed;
}

.sdmsc_table th,
.sdmsc_table td{
padding:18px 20px;
border-bottom:1px solid #e4ece3;
font-size:16px;
line-height:1.7;
letter-spacing:-.04em;
word-break:keep-all;
}

.sdmsc_table th{
background:#f4faf4;
color:#1f5d34;
font-weight:900;
text-align:center;
}

.sdmsc_table td{
color:#444;
text-align:center;
vertical-align:middle;
}


/* =========================
   인사말
========================= */

.greeting_box{
display:grid;
grid-template-columns:1fr 420px;
gap:58px;
align-items:center;
}

.greeting_text{
position:relative;
}

.greeting_text:before{
content:"“";
position:absolute;
left:-18px;
top:-52px;
font-size:120px;
line-height:1;
color:rgba(47,127,67,.12);
font-family:serif;
}

.greeting_text p{
position:relative;
z-index:2;
}

.greeting_photo{
text-align:center;
}

.greeting_photo .sdmsc_photo img{
height:520px;
}

.greeting_photo p{
margin:18px 0 0;
font-size:16px;
font-weight:800;
color:#2f7f43;
}


/* =========================
   법인소개
========================= */

.corp_intro{
max-width:980px;
margin:0 auto 42px;
text-align:center;
}

.corp_info_box{
display:grid;
grid-template-columns:1fr 420px;
gap:50px;
align-items:stretch;
}

.corp_info_text h4{
position:relative;
margin:0 0 24px;
padding-left:22px;
font-size:26px;
font-weight:900;
letter-spacing:-.06em;
color:#111;
}

.corp_info_text h4:before{
content:"";
position:absolute;
left:0;
top:50%;
width:12px;
height:12px;
margin-top:-6px;
border-radius:50%;
background:#2f7f43;
box-shadow:0 0 0 6px rgba(47,127,67,.12);
}

.corp_info_img .sdmsc_photo{
height:100%;
min-height:360px;
}

.corp_info_img img{
height:100%;
}


/* =========================
   반응형
========================= */

@media(max-width:1000px){

.sub_visual{
padding:74px 0 70px;
}

.sub_visual h2{
font-size:42px;
}

.sub_wrap{
padding:60px 0 76px;
}

.sub_title h3{
font-size:30px;
}

.sdmsc_box{
padding:42px 32px;
}

.greeting_box,
.corp_info_box{
grid-template-columns:1fr;
gap:38px;
}

.greeting_photo,
.corp_info_img{
order:-1;
}

.greeting_photo .sdmsc_photo img{
height:auto;
max-height:520px;
}

.corp_info_img .sdmsc_photo{
height:auto;
min-height:0;
}

.corp_info_img img{
height:auto;
}

}

@media(max-width:768px){

.sub_visual{
padding:88px 0 82px;
}

.sub_visual h2{
font-size:38px;
}

.sub_gnb{
margin-top:-24px;
}

.sub_gnb .sdmsc_inner{
padding:0 14px;
justify-content:flex-start;
}

.sub_gnb ul{
width:100%;
flex-wrap:nowrap;
overflow-x:auto;
justify-content:flex-start;
-webkit-overflow-scrolling:touch;
border-radius:18px;
}

.sub_gnb li{
flex:0 0 auto;
}

.sub_gnb a{
min-width:auto;
height:56px;
padding:0 18px;
font-size:14px;
white-space:nowrap;
}

.sdmsc_info_list dl{
grid-template-columns:120px 1fr;
}

}

@media(max-width:640px){

.sub_visual{
padding:58px 0 54px;
}

.sub_visual h2{
font-size:32px;
}

.sub_wrap{
padding:46px 0 62px;
}

.sub_title{
margin-bottom:34px;
}

.sub_title h3{
font-size:25px;
}

.sdmsc_box{
padding:30px 22px;
border-radius:24px;
}

.sdmsc_lead{
font-size:20px;
}

.sdmsc_text{
font-size:16px;
line-height:1.85;
}

.sdmsc_sign strong{
font-size:24px;
}

.sdmsc_info_list dl{
display:block;
padding:16px 0;
}

.sdmsc_info_list dt{
margin-bottom:6px;
font-size:15px;
}

.sdmsc_info_list dd{
font-size:16px;
}

.sdmsc_table th,
.sdmsc_table td{
padding:14px 12px;
font-size:14px;
}

}


.sdmsc_info_list dd a{
color:#2f7f43;
font-weight:700;
text-decoration:none;
transition:.2s;
}

.sdmsc_info_list dd a:hover{
text-decoration:underline;
opacity:.8;
}


.corp_intro_box{
max-width:960px;
margin:0 auto 56px;
padding:38px 46px;
background:linear-gradient(135deg,#f8fbf5,#ffffff);
border:1px solid rgba(47,127,67,.12);
border-radius:28px;
box-shadow:0 18px 46px rgba(31,93,52,.08);
text-align:center;
box-sizing:border-box;
position:relative;
}

.corp_intro_box:before{
content:"";
position:absolute;
left:50%;
top:-18px;
width:46px;
height:4px;
background:#2f7f43;
border-radius:10px;
transform:translateX(-50%);
}

.corp_intro_box p{
margin:0;
font-size:18px;
line-height:1.9;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

.corp_intro_box p + p{
margin-top:18px;
padding-top:18px;
border-top:1px dashed rgba(47,127,67,.18);
}

.corp_intro_box strong{
color:#1f7f43;
font-weight:900;
}

.corp_intro_lead{
font-size:20px !important;
font-weight:700;
color:#222 !important;
}

@media(max-width:640px){
.corp_intro_box{
padding:28px 22px;
border-radius:22px;
margin-bottom:36px;
}

.corp_intro_box p{
font-size:16px;
line-height:1.8;
}

.corp_intro_lead{
font-size:18px !important;
}
}


/* =========================
   센터개요 및 현황
========================= */

.overview_box{
display:grid;
grid-template-columns:1fr 380px;
gap:50px;
align-items:center;
margin-bottom:42px;
}

.overview_title{
position:relative;
margin:0 0 24px;
padding-left:24px;
font-size:28px;
font-weight:900;
letter-spacing:-.05em;
color:#111;
}

.overview_title:before{
content:"";
position:absolute;
left:0;
top:50%;
width:12px;
height:12px;
margin-top:-6px;
border-radius:50%;
background:#49a622;
}

.overview_right .sdmsc_photo img{
height:480px;
}

.overview_section{
margin-top:52px;
}

.overview_simple_box{
padding:24px 30px;
border-radius:20px;
background:#f7faf5;
font-size:24px;
font-weight:900;
color:#2f7f43;
}

.overview_purpose{
padding:40px;
}

.overview_status{
display:grid;
grid-template-columns:220px 1fr;
gap:42px;
align-items:center;
}

.overview_status_img .sdmsc_photo img{
height:220px;
}

.overview_status_text ul{
margin:0;
padding:0;
list-style:none;
}

.overview_status_text li{
padding:14px 0;
border-bottom:1px dashed rgba(47,127,67,.16);
}

.overview_status_text li:last-child{
border-bottom:0;
}

.overview_status_text strong{
display:block;
margin-bottom:6px;
font-size:18px;
font-weight:900;
color:#1f5d34;
}

.overview_status_text span{
font-size:18px;
line-height:1.8;
color:#444;
word-break:keep-all;
}

@media(max-width:1000px){

.overview_box,
.overview_status{
grid-template-columns:1fr;
}

.overview_right{
order:-1;
}

.overview_right .sdmsc_photo img{
height:auto;
}

}

@media(max-width:640px){

.overview_title{
font-size:24px;
}

.overview_simple_box{
font-size:20px;
padding:20px 22px;
}

.overview_purpose{
padding:28px 22px;
}

.overview_status_text strong,
.overview_status_text span{
font-size:16px;
}

}




/* =========================
   미션과 비전
========================= */

.mission_top{
display:grid;
grid-template-columns:1fr 1fr;
gap:32px;
margin-bottom:58px;
}

.mission_card{
padding:44px;
border-radius:30px;
background:linear-gradient(135deg,#f4faf4,#fff);
border:1px solid rgba(47,127,67,.12);
box-shadow:0 20px 50px rgba(31,93,52,.08);
box-sizing:border-box;
}

.mission_card span{
display:block;
margin-bottom:10px;
font-size:15px;
font-weight:900;
letter-spacing:.12em;
color:#2f7f43;
}

.mission_card h4{
margin:0 0 18px;
font-size:34px;
font-weight:900;
letter-spacing:-.06em;
color:#111;
}

.mission_card p{
margin:0;
font-size:22px;
line-height:1.65;
font-weight:800;
color:#1f5d34;
word-break:keep-all;
}

.mission_card ul{
margin:0;
padding:0;
list-style:none;
}

.mission_card li{
position:relative;
padding-left:18px;
margin-top:10px;
font-size:18px;
line-height:1.7;
color:#444;
word-break:keep-all;
}

.mission_card li:before{
content:"";
position:absolute;
left:0;
top:13px;
width:6px;
height:6px;
border-radius:50%;
background:#2f7f43;
}

.value_section,
.plan_section{
margin-top:58px;
}

.value_box{
text-align:center;
}

.value_box > strong{
display:block;
font-size:64px;
line-height:1;
font-weight:900;
color:#2f7f43;
}

.value_box > p{
margin:14px 0 34px;
font-size:20px;
font-weight:800;
color:#333;
word-break:keep-all;
}

.value_box ul{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:14px;
margin:0;
padding:0;
list-style:none;
}

.value_box li{
padding:24px 14px;
border-radius:22px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
box-shadow:0 10px 28px rgba(31,93,52,.06);
}

.value_box b{
display:block;
margin-bottom:8px;
font-size:20px;
color:#1f5d34;
}

.value_box span{
display:block;
font-size:15px;
line-height:1.5;
color:#555;
}

.plan_list{
display:flex;
flex-direction:column;
gap:18px;
}

.plan_item{
display:grid;
grid-template-columns:220px 1fr 1fr;
overflow:hidden;
border-radius:24px;
background:#fff;
border:1px solid rgba(47,127,67,.14);
box-shadow:0 14px 36px rgba(31,93,52,.06);
}

.plan_label{
display:flex;
align-items:center;
justify-content:center;
padding:28px 20px;
background:#2f7f43;
color:#fff;
font-size:20px;
font-weight:900;
text-align:center;
letter-spacing:-.05em;
word-break:keep-all;
}

.plan_item:nth-child(2) .plan_label{
background:#76a843;
}

.plan_item.brown .plan_label{
background:#b89b76;
}

.plan_content,
.plan_goal{
padding:28px 34px;
box-sizing:border-box;
}

.plan_content{
border-right:1px solid #edf1ea;
}

.plan_content ul{
margin:0;
padding-left:18px;
}

.plan_content li,
.plan_goal p{
margin:0 0 8px;
font-size:17px;
line-height:1.6;
color:#444;
word-break:keep-all;
}

.plan_goal p{
font-weight:800;
color:#2f7f43;
}

.plan_item.brown .plan_goal p{
color:#9a6b3f;
}

@media(max-width:1000px){

.mission_top{
grid-template-columns:1fr;
}

.value_box ul{
grid-template-columns:repeat(2,1fr);
}

.plan_item{
grid-template-columns:1fr;
}

.plan_content{
border-right:0;
border-bottom:1px solid #edf1ea;
}

}

@media(max-width:640px){

.mission_card{
padding:30px 22px;
border-radius:24px;
}

.mission_card h4{
font-size:28px;
}

.mission_card p{
font-size:19px;
}

.mission_card li{
font-size:16px;
}

.value_box > strong{
font-size:52px;
}

.value_box ul{
grid-template-columns:1fr;
}

.plan_label{
font-size:18px;
}

.plan_content,
.plan_goal{
padding:24px 22px;
}

.plan_content li,
.plan_goal p{
font-size:16px;
}

}



/* =========================
   연혁
========================= */

.history_wrap{
position:relative;
max-width:980px;
margin:0 auto;
padding:20px 0;
}

.history_wrap:before{
content:"";
position:absolute;
left:140px;
top:0;
width:2px;
height:100%;
background:linear-gradient(to bottom,#2f7f43,rgba(47,127,67,.08));
}

.history_item{
position:relative;
display:grid;
grid-template-columns:140px 1fr;
gap:36px;
padding:0 0 34px;
}

.history_item:last-child{
padding-bottom:0;
}

.history_year{
position:relative;
font-size:38px;
line-height:1;
font-weight:900;
letter-spacing:-.06em;
color:#2f7f43;
}

.history_year:after{
content:"";
position:absolute;
right:-47px;
top:10px;
width:18px;
height:18px;
border-radius:50%;
background:#fff;
border:5px solid #2f7f43;
box-shadow:0 0 0 8px rgba(47,127,67,.1);
z-index:2;
}

.history_content{
padding:26px 34px;
border-radius:26px;
background:#fff;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 16px 42px rgba(31,93,52,.07);
}

.history_content dl{
display:grid;
grid-template-columns:78px 1fr;
gap:18px;
margin:0;
padding:15px 0;
border-bottom:1px dashed rgba(47,127,67,.18);
}

.history_content dl:first-child{
padding-top:0;
}

.history_content dl:last-child{
padding-bottom:0;
border-bottom:0;
}

.history_content dt{
font-size:17px;
font-weight:900;
color:#1f5d34;
letter-spacing:-.03em;
}

.history_content dd{
margin:0;
font-size:17px;
line-height:1.65;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

@media(max-width:768px){

.history_wrap{
padding-left:6px;
}

.history_wrap:before{
left:18px;
}

.history_item{
display:block;
padding-left:48px;
}

.history_year{
margin-bottom:14px;
font-size:32px;
}

.history_year:after{
left:-39px;
right:auto;
top:7px;
width:15px;
height:15px;
border-width:4px;
}

.history_content{
padding:24px 22px;
border-radius:22px;
}

.history_content dl{
grid-template-columns:64px 1fr;
gap:12px;
}

.history_content dt,
.history_content dd{
font-size:15px;
}

}



/* =========================
   조직도
========================= */

.org_chart_wrap{
position:relative;
padding-top:20px;
}

.org_top,
.org_middle{
display:flex;
justify-content:center;
}

.org_committee{
position:absolute;
left:0;
top:170px;
}

.org_box{
display:flex;
align-items:center;
justify-content:center;
width:260px;
height:92px;
border-radius:24px;
background:#fff;
box-shadow:0 16px 40px rgba(0,0,0,.08);
border:1px solid rgba(0,0,0,.05);
font-size:30px;
font-weight:900;
letter-spacing:-.05em;
position:relative;
z-index:2;
}

.org_box strong{
display:block;
}

.org_box.green{
background:linear-gradient(135deg,#2f9c52,#22763d);
color:#fff;
}

.org_box.light_green{
background:linear-gradient(135deg,#6dbd5d,#4a9740);
color:#fff;
}

.org_box.blue{
background:linear-gradient(135deg,#2ab6d7,#1d86b8);
color:#fff;
margin-top:120px;
}

.org_middle:before{
content:"";
position:absolute;
top:92px;
left:50%;
width:2px;
height:150px;
background:#d7e3d5;
}

.org_departments{
position:relative;
display:grid;
grid-template-columns:repeat(5,1fr);
gap:18px;
margin-top:110px;
}

.org_departments:before{
content:"";
position:absolute;
left:10%;
top:-44px;
width:80%;
height:2px;
background:#d7e3d5;
}

.dept_box{
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 14px 34px rgba(0,0,0,.06);
border:1px solid rgba(0,0,0,.05);
}

.dept_box h4{
display:flex;
align-items:center;
justify-content:center;
height:76px;
margin:0;
font-size:24px;
font-weight:900;
letter-spacing:-.05em;
color:#fff;
}

.orange h4{background:#d89b4d;}
.yellow h4{background:#c4b12f;}
.purple h4{background:#9b73d8;}
.sky h4{background:#49b6d3;}
.green2 h4{background:#73b74c;}

.dept_box ul{
margin:0;
padding:12px 24px;
list-style:none;
}

.dept_box li{
display:flex;
justify-content:center;
text-align:center;
align-items:center;
padding:14px 0;
border-bottom:1px dashed #ddd;
font-size:17px;
}

.dept_box li:last-child{
border-bottom:0;
}

.dept_box li span{
display:block;width:100%;text-align:center;
}

.dept_box li b{
display:none;
}

.dept_box li.pink{
background:#fff4f7;
margin:0 -24px;
padding:14px 24px;
}

.dept_box li.pink span,
.dept_box li.pink b{
color:#d84b86;
}

.org_care_box{
margin-top:70px;
border-radius:28px;
overflow:hidden;
box-shadow:0 16px 42px rgba(0,0,0,.07);
border:1px solid rgba(0,0,0,.05);
}

.care_title{
display:flex;
align-items:center;
justify-content:center;
height:84px;
background:#efc9d7;
font-size:30px;
font-weight:900;
color:#c2497c;
letter-spacing:-.05em;
}

.care_floor_list{
display:grid;
grid-template-columns:repeat(4,1fr);
background:#fff;
}

.care_floor_list div{
padding:36px 20px;
border-right:1px solid #eee;
text-align:center;
font-size:22px;
font-weight:900;
color:#555;
}

.care_floor_list div:last-child{
border-right:0;
}

@media(max-width:1200px){

.org_departments{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.org_committee{
position:relative;
top:auto;
left:auto;
display:flex;
justify-content:center;
margin-top:24px;
}

.org_middle:before,
.org_departments:before{
display:none;
}

.org_box{
width:100%;
max-width:320px;
height:82px;
font-size:24px;
}

.org_box.blue{
margin-top:24px;
}

.org_departments{
grid-template-columns:1fr;
margin-top:34px;
}

.dept_box h4{
font-size:22px;
}

.care_floor_list{
grid-template-columns:1fr 1fr;
}

.care_floor_list div{
font-size:18px;
padding:26px 12px;
}

}

@media(max-width:640px){

.care_floor_list{
grid-template-columns:1fr;
}

}



/* =========================
   오시는길
========================= */

.location_info{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
margin-bottom:36px;
}

.location_info div{
padding:26px 30px;
border-radius:22px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
}

.location_info strong{
display:block;
margin-bottom:10px;
font-size:18px;
font-weight:900;
color:#1f5d34;
}

.location_info p{
margin:0;
font-size:18px;
line-height:1.7;
color:#333;
word-break:keep-all;
}

.map_area{
overflow:hidden;
margin-bottom:58px;
border-radius:30px;
box-shadow:0 20px 50px rgba(31,93,52,.1);
border:1px solid rgba(47,127,67,.12);
}

.root_daum_roughmap{
width:100% !important;
}

.root_daum_roughmap .wrap_map{
height:460px !important;
}

.traffic_section{
margin-top:20px;
}

.traffic_list{
display:flex;
flex-direction:column;
gap:18px;
}

.traffic_item{
padding:28px 32px;
border-radius:24px;
background:#fff;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 14px 36px rgba(31,93,52,.06);
}

.traffic_route{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:12px;
margin-bottom:16px;
}

.traffic_route span,
.traffic_route em{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:0 20px;
border-radius:100px;
font-size:16px;
font-weight:900;
font-style:normal;
color:#fff;
}

.traffic_route span:after,
.traffic_route em:after{
content:"";
}

.traffic_item.blue .traffic_route span,
.traffic_item.blue .traffic_route em{
background:#42b8c8;
}

.traffic_item.orange .traffic_route span{
background:#f08a22;
}

.traffic_item.green .traffic_route span{
background:#77b947;
}

.traffic_item.purple .traffic_route span{
background:#b565c8;
}

.traffic_item p{
margin:0;
font-size:17px;
line-height:1.8;
color:#444;
word-break:keep-all;
}

.traffic_item p b{
color:#1f5d34;
}

@media(max-width:768px){

.root_daum_roughmap .wrap_map{
height:340px !important;
}


.location_info{
grid-template-columns:1fr;
}

#daum_map{
height:360px;
}

.traffic_item{
padding:24px 22px;
}

.traffic_route span,
.traffic_route em{
min-height:38px;
padding:0 16px;
font-size:14px;
}

.traffic_item p{
font-size:15px;
}

}


/* =========================
   입소안내
========================= */

.admission_intro{
margin-bottom:42px;
background:linear-gradient(135deg,#f8fbf5,#ffffff);
}

.admission_intro_text{
width:100%;
}

.admission_intro_lead{
margin:0 0 34px;
font-size:23px;
line-height:1.65;
font-weight:900;
color:#1f5d34;
letter-spacing:-0.05em;
word-break:keep-all;
}

.care_icon_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.care_icon_card{
position:relative;
min-height:190px;
padding:32px 24px 28px;
border-radius:26px;
background:#fff;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 14px 36px rgba(31,93,52,.06);
text-align:center;
box-sizing:border-box;
transition:.25s;
}

.care_icon_card:hover{
transform:translateY(-4px);
box-shadow:0 22px 52px rgba(31,93,52,.12);
}

.care_icon_card i{
display:flex;
align-items:center;
justify-content:center;
width:66px;
height:66px;
margin:0 auto 18px;
border-radius:22px;
background:#f0f8ef;
font-style:normal;
font-size:34px;
}

.care_icon_card strong{
display:block;
margin-bottom:12px;
font-size:21px;
font-weight:900;
color:#1f5d34;
letter-spacing:-0.05em;
}

.care_icon_card p{
margin:0;
font-size:16px;
line-height:1.7;
color:#555;
letter-spacing:-0.04em;
word-break:keep-all;
}

.admission_grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:26px;
margin-bottom:46px;
}

.admission_content{
display:grid;
grid-template-columns:1fr 280px;
gap:36px;
align-items:center;
}

.admission_item{
margin-bottom:30px;
}

.admission_item:last-child{
margin-bottom:0;
}

.admission_item strong{
display:block;
margin-bottom:14px;
font-size:20px;
font-weight:900;
color:#1f5d34;
}

.admission_item p,
.admission_item li{
font-size:17px;
line-height:1.8;
color:#444;
word-break:keep-all;
}

.admission_item ul,
.admission_item ol{
margin:0;
padding-left:20px;
}

.admission_download{
display:flex;
align-items:center;
justify-content:center;
}

.admission_download a{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
width:100%;
height:84px;
border-radius:20px;
background:#2f7f43;
color:#fff;
font-size:20px;
font-weight:900;
transition:.25s;
box-shadow:0 12px 30px rgba(31,93,52,.16);
}

.admission_download a:hover{
transform:translateY(-2px);
background:#246837;
}

.admission_process .point_text{
font-size:18px;
line-height:1.9;
font-weight:800;
color:#2b8db8;
word-break:keep-all;
}

.admission_fee{
margin-top:56px;
}

.table_wrap{
overflow-x:auto;
}

@media(max-width:1000px){
.care_icon_grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:640px){
.admission_intro_lead{
font-size:19px;
}

.care_icon_grid{
grid-template-columns:1fr;
gap:16px;
}

.care_icon_card{
min-height:auto;
padding:26px 20px;
border-radius:22px;
}

.care_icon_card strong{
font-size:19px;
}

.care_icon_card p{
font-size:15px;
}
.admission_intro,
.admission_grid,
.admission_content{
grid-template-columns:1fr;
}

}

@media(max-width:640px){

.admission_download a{
height:72px;
font-size:17px;
border-radius:18px;
}

.admission_item strong{
font-size:18px;
}

.admission_item p,
.admission_item li,
.admission_process .point_text{
font-size:15px;
}

}




/* =========================
   요양센터 서비스 안내
========================= */

.service_group{
margin-bottom:58px;
}

.service_group:last-child{
margin-bottom:0;
}

.service_group h4{
position:relative;
display:flex;
align-items:center;
gap:14px;
margin:0 0 26px;
font-size:28px;
font-weight:900;
letter-spacing:-.05em;
color:#111;
}

.service_group h4:before{
content:"";
width:14px;
height:14px;
border-radius:50%;
background:#2f7f43;
box-shadow:0 0 0 7px rgba(47,127,67,.12);
}

.service_group h4:after{
content:"";
flex:1;
height:8px;
border-radius:20px;
background:linear-gradient(90deg,#2f7f43,rgba(47,127,67,.08));
}

.service_group.blue h4:before{
background:#19a8c9;
box-shadow:0 0 0 7px rgba(25,168,201,.12);
}

.service_group.blue h4:after{
background:linear-gradient(90deg,#19a8c9,rgba(25,168,201,.08));
}

.service_group.pink h4:before{
background:#df4c8f;
box-shadow:0 0 0 7px rgba(223,76,143,.12);
}

.service_group.pink h4:after{
background:linear-gradient(90deg,#df4c8f,rgba(223,76,143,.08));
}

.service_card_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
}

.service_group.blue .service_card_grid{
grid-template-columns:repeat(4,1fr);
}

.service_card{
overflow:hidden;
border-radius:28px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
box-shadow:0 16px 42px rgba(31,93,52,.08);
transition:.25s;
}

.service_card:hover{
transform:translateY(-4px);
box-shadow:0 24px 56px rgba(31,93,52,.13);
}

.service_img{
overflow:hidden;
aspect-ratio:4/3;
background:#f2f7f2;
}

.service_img img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:.35s;
}

.service_card:hover .service_img img{
transform:scale(1.04);
}

.service_txt{
padding:26px 24px 30px;
text-align:center;
}

.service_txt strong{
display:block;
margin-bottom:12px;
font-size:22px;
font-weight:900;
letter-spacing:-.05em;
color:#2f7f43;
}

.service_group.blue .service_txt strong{
color:#1594b1;
}

.service_group.pink .service_txt strong{
color:#df4c8f;
}

.service_txt p{
margin:0;
font-size:16px;
line-height:1.75;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

@media(max-width:1100px){

.service_card_grid,
.service_group.blue .service_card_grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:640px){

.service_group{
margin-bottom:42px;
}

.service_group h4{
font-size:23px;
}

.service_group h4:after{
height:5px;
}

.service_card_grid,
.service_group.blue .service_card_grid{
grid-template-columns:1fr;
gap:20px;
}

.service_txt{
padding:22px 20px 26px;
}

.service_txt strong{
font-size:20px;
}

.service_txt p{
font-size:15px;
}

}



/* =========================
   계약 및 유의사항
========================= */

.contract_grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:26px;
}

.contract_box{
display:flex;
overflow:hidden;
border-radius:28px;
background:linear-gradient(135deg,#f8fbf5,#fff);
border:1px solid rgba(47,127,67,.12);
box-shadow:0 18px 46px rgba(31,93,52,.08);
min-height:230px;
}

.contract_no{
display:flex;
align-items:center;
justify-content:center;
width:86px;
background:linear-gradient(180deg,#2f7f43,#1f5d34);
font-size:38px;
font-weight:900;
color:#fff;
flex-shrink:0;
}

.contract_content{
flex:1;
padding:32px 34px;
}

.contract_content h4{
position:relative;
margin:0 0 20px;
padding-bottom:14px;
border-bottom:1px solid rgba(47,127,67,.14);
font-size:28px;
font-weight:900;
letter-spacing:-.05em;
color:#1f5d34;
}

.contract_content ul{
margin:0;
padding:0;
list-style:none;
}

.contract_content li{
position:relative;
padding-left:18px;
margin-bottom:12px;
font-size:17px;
line-height:1.75;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

.contract_content li:before{
content:"";
position:absolute;
left:0;
top:12px;
width:6px;
height:6px;
border-radius:50%;
background:#2f7f43;
}

.contract_notice{
margin-top:44px;
padding:24px 30px;
border-radius:22px;
background:#f4faf4;
border:1px solid rgba(47,127,67,.12);
text-align:center;
font-size:20px;
font-weight:900;
color:#1f5d34;
letter-spacing:-.04em;
word-break:keep-all;
}

.contract_notice span{
margin:0 14px;
color:rgba(47,127,67,.35);
}

@media(max-width:1200px){

.contract_grid{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.contract_box{
min-height:auto;
border-radius:22px;
}

.contract_no{
width:64px;
font-size:30px;
}

.contract_content{
padding:24px 20px;
}

.contract_content h4{
font-size:23px;
}

.contract_content li{
font-size:15px;
line-height:1.7;
}

.contract_notice{
padding:20px;
font-size:15px;
line-height:1.7;
}

.contract_notice span{
display:none;
}

}




/* =========================
   하루일과표
========================= */

.daily_timeline{
position:relative;
}

.daily_timeline:before{
content:"";
position:absolute;
left:50%;
top:0;
bottom:0;
width:2px;
background:linear-gradient(to bottom,
rgba(47,127,67,.05),
rgba(47,127,67,.18),
rgba(47,127,67,.05));
transform:translateX(-50%);
}

.daily_item{
position:relative;
display:grid;
grid-template-columns:420px 1fr;
gap:70px;
align-items:center;
padding:40px 0;
border-bottom:1px dashed rgba(47,127,67,.18);
}

.daily_item.reverse{
grid-template-columns:1fr 420px;
}

.daily_item.reverse .daily_img{
order:2;
}

.daily_item.reverse .daily_content{
order:1;
text-align:right;
}

.daily_img{
position:relative;
z-index:2;
overflow:hidden;
border-radius:26px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
box-shadow:0 18px 42px rgba(31,93,52,.08);
}

.daily_img img{
display:block;
width:100%;
aspect-ratio:4/3;
object-fit:cover;
transition:.35s;
}

.daily_item:hover .daily_img img{
transform:scale(1.04);
}

.daily_content{
position:relative;
z-index:2;
}

.daily_bigtime{
position:absolute;
right:0;
bottom:-10px;
font-size:92px;
font-weight:900;
line-height:1;
letter-spacing:-.06em;
color:rgba(47,127,67,.08);
pointer-events:none;
}

.daily_item.reverse .daily_bigtime{
right:auto;
left:0;
}

.daily_content h4{
margin:0 0 24px;
font-size:42px;
font-weight:900;
letter-spacing:-.05em;
color:#2f7f43;
line-height:1.2;
}

.daily_info{
display:flex;
align-items:flex-start;
gap:16px;
margin-bottom:16px;
}

.daily_item.reverse .daily_info{
justify-content:flex-end;
}

.daily_info strong{
min-width:82px;
font-size:34px;
font-weight:900;
line-height:1.2;
color:#333;
letter-spacing:-.05em;
}

.daily_info p{
margin:4px 0 0;
font-size:19px;
line-height:1.7;
color:#555;
letter-spacing:-.04em;
word-break:keep-all;
}

@media(max-width:1200px){

.daily_item,
.daily_item.reverse{
grid-template-columns:1fr;
gap:30px;
}

.daily_timeline:before{
display:none;
}

.daily_item.reverse .daily_img,
.daily_item.reverse .daily_content{
order:initial;
}

.daily_item.reverse .daily_content{
text-align:left;
}

.daily_item.reverse .daily_bigtime{
left:auto;
right:0;
}

.daily_item.reverse .daily_info{
justify-content:flex-start;
}

}

@media(max-width:768px){

.daily_item{
padding:26px 0;
}

.daily_content h4{
margin-bottom:18px;
font-size:28px;
}

.daily_info{
gap:12px;
margin-bottom:12px;
}

.daily_info strong{
min-width:68px;
font-size:24px;
}

.daily_info p{
font-size:15px;
line-height:1.7;
}

.daily_bigtime{
font-size:58px;
bottom:-2px;
}

}


/* =========================
   데이케어 이용안내
========================= */

.daycare_intro{
display:grid;
grid-template-columns:360px 1fr;
gap:50px;
align-items:center;
margin-bottom:46px;
}

.daycare_intro_img img{
height:300px;
}

.daycare_capacity{
display:inline-flex;
align-items:center;
gap:12px;
margin-top:28px;
padding:18px 26px;
border-radius:22px;
background:#f4faf4;
border:1px solid rgba(47,127,67,.14);
}

.daycare_capacity span{
font-size:18px;
font-weight:900;
color:#1f5d34;
}

.daycare_capacity strong{
display:flex;
align-items:center;
justify-content:center;
width:58px;
height:58px;
border-radius:16px;
background:#2f7f43;
font-size:34px;
font-weight:900;
color:#fff;
}

.daycare_capacity em{
font-style:normal;
font-size:18px;
font-weight:900;
color:#333;
}

.daycare_apply_grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
}

.daycare_apply_item{
padding:28px 30px;
border-radius:22px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
box-shadow:0 12px 30px rgba(31,93,52,.05);
}

.daycare_apply_item strong{
display:block;
margin-bottom:14px;
font-size:20px;
font-weight:900;
color:#1f5d34;
}

.daycare_apply_item p,
.daycare_apply_item li{
font-size:17px;
line-height:1.8;
color:#444;
word-break:keep-all;
}

.daycare_apply_item p{
margin:0;
}

.daycare_apply_item ol{
margin:0;
padding-left:20px;
}

@media(max-width:1000px){

.daycare_intro,
.daycare_apply_grid{
grid-template-columns:1fr;
}

.daycare_intro_img{
order:-1;
}

.daycare_intro_img img{
height:auto;
}

}

@media(max-width:640px){

.daycare_apply_item{
padding:24px 22px;
}

.daycare_apply_item strong{
font-size:18px;
}

.daycare_apply_item p,
.daycare_apply_item li{
font-size:15px;
}

.daycare_capacity{
width:100%;
justify-content:center;
box-sizing:border-box;
}

}


/* =========================
   데이케어 서비스 안내
========================= */

.service_policy{
margin-bottom:58px;
}

.policy_grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
margin-top:30px;
}

.policy_grid div{
display:flex;
align-items:center;
justify-content:center;
min-height:140px;
padding:24px 20px;
border-radius:28px;
background:linear-gradient(135deg,#f4faf4,#fff);
border:1px solid rgba(47,127,67,.12);
box-shadow:0 12px 30px rgba(31,93,52,.06);
font-size:18px;
font-weight:900;
line-height:1.55;
color:#1f5d34;
text-align:center;
letter-spacing:-.05em;
word-break:keep-all;
}

.policy_grid div:nth-child(2n){
background:linear-gradient(135deg,#eef9fb,#fff);
color:#1594b1;
}

.policy_grid div:nth-child(3n){
background:linear-gradient(135deg,#fff8f1,#fff);
color:#b66d24;
}

.daycare_service_group{
margin-top:58px;
}

.daycare_service_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
}

.daycare_service_card{
overflow:hidden;
border-radius:28px;
background:#fff;
border:1px solid rgba(47,127,67,.1);
box-shadow:0 16px 42px rgba(31,93,52,.08);
transition:.25s;
}

.daycare_service_card:hover{
transform:translateY(-4px);
box-shadow:0 24px 56px rgba(31,93,52,.13);
}

.daycare_service_card .service_img{
overflow:hidden;
aspect-ratio:4/3;
background:#f2f7f2;
}

.daycare_service_card .service_img img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:.35s;
}

.daycare_service_card:hover .service_img img{
transform:scale(1.04);
}

.daycare_service_card .service_txt{
padding:26px 24px 30px;
text-align:center;
}

.daycare_service_card .service_txt strong{
display:block;
margin-bottom:12px;
font-size:22px;
font-weight:900;
letter-spacing:-.05em;
color:#2f7f43;
}

.daycare_service_card .service_txt p{
margin:0;
font-size:16px;
line-height:1.75;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

@media(max-width:1100px){

.policy_grid{
grid-template-columns:repeat(2,1fr);
}

.daycare_service_grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:640px){

.policy_grid,
.daycare_service_grid{
grid-template-columns:1fr;
}

.policy_grid div{
min-height:auto;
padding:24px 18px;
font-size:16px;
border-radius:22px;
}

.daycare_service_card .service_txt{
padding:22px 20px 26px;
}

.daycare_service_card .service_txt strong{
font-size:20px;
}

.daycare_service_card .service_txt p{
font-size:15px;
}

}



/* =========================
   데이케어 주간일정표
========================= */

.schedule_notice{
display:flex;
align-items:center;
gap:14px;
margin-bottom:28px;
padding:24px 30px;
border-radius:24px;
background:#f4faf4;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 14px 36px rgba(31,93,52,.06);
}

.schedule_notice strong{
font-size:18px;
font-weight:900;
color:#1f5d34;
}

.schedule_notice span{
font-size:22px;
font-weight:900;
color:#2f7f43;
}

.schedule_notice p{
margin:0 0 0 auto;
font-size:15px;
color:#555;
word-break:keep-all;
}

.schedule_table_wrap{
overflow-x:auto;
border-radius:28px;
box-shadow:0 18px 46px rgba(31,93,52,.08);
border:1px solid rgba(47,127,67,.14);
}

.daycare_schedule_table{
width:100%;
min-width:960px;
border-collapse:collapse;
background:#fff;
}

.daycare_schedule_table th,
.daycare_schedule_table td{
padding:18px 14px;
border:1px solid #dfe9d8;
font-size:16px;
line-height:1.55;
text-align:center;
letter-spacing:-.04em;
word-break:keep-all;
}

.daycare_schedule_table thead th{
background:#2f7f43;
color:#fff;
font-weight:900;
}

.daycare_schedule_table tbody th{
background:#f1f8e9;
color:#2f7f43;
font-weight:900;
}

.daycare_schedule_table td{
color:#444;
}

.daycare_schedule_table tbody tr:hover td,
.daycare_schedule_table tbody tr:hover th{
background:#f8fbf5;
}

@media(max-width:768px){

.schedule_notice{
display:block;
padding:22px;
}

.schedule_notice strong,
.schedule_notice span{
display:inline-block;
margin-right:8px;
}

.schedule_notice p{
margin-top:10px;
font-size:14px;
line-height:1.6;
}

.daycare_schedule_table th,
.daycare_schedule_table td{
padding:14px 10px;
font-size:14px;
}

}


/* =========================
   후원안내
========================= */

.support_intro{
display:grid;
grid-template-columns:320px 1fr;
gap:46px;
align-items:center;
margin-bottom:56px;
}

.support_intro_img img{
display:block;
width:100%;
border-radius:26px;
}

.support_intro_text h4{
margin:0 0 18px;
font-size:34px;
font-weight:900;
letter-spacing:-.06em;
color:#2f7f43;
}

.support_intro_text p{
margin:0;
font-size:18px;
line-height:1.85;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

.support_section{
margin-top:54px;
}

.support_type_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.support_type_card{
padding:34px 30px;
border-radius:28px;
background:#fff;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 16px 42px rgba(31,93,52,.08);
}

.support_type_card strong{
display:inline-flex;
align-items:center;
justify-content:center;
height:54px;
padding:0 32px;
margin-bottom:22px;
border-radius:100px;
font-size:22px;
font-weight:900;
color:#fff;
}

.support_type_card.green strong{background:#2f7f43;}
.support_type_card.blue strong{background:#1fa7b9;}
.support_type_card.red strong{background:#c7432d;}

.support_type_card p{
margin:0;
font-size:17px;
line-height:1.7;
color:#444;
word-break:keep-all;
}

.support_benefit{
padding:34px 38px;
}

.support_benefit p{
margin:0;
font-size:19px;
line-height:1.8;
color:#444;
word-break:keep-all;
}

.support_benefit strong{
color:#d63b2f;
font-weight:900;
}

.support_method ul{
margin:0;
padding:0;
list-style:none;
}

.support_method li{
display:grid;
grid-template-columns:120px 1fr;
gap:20px;
padding:18px 0;
border-bottom:1px dashed rgba(47,127,67,.18);
}

.support_method li:last-child{
border-bottom:0;
}

.support_method strong{
font-size:18px;
font-weight:900;
color:#1f5d34;
}

.support_method span{
font-size:17px;
line-height:1.7;
color:#444;
word-break:keep-all;
}

.support_method b{
font-size:22px;
color:#e26b21;
font-weight:900;
}

.support_method .account{
padding:24px;
margin:10px 0;
border-radius:20px;
background:#fffdf4;
border:1px solid rgba(226,107,33,.18);
}

@media(max-width:1000px){

.support_intro,
.support_type_grid{
grid-template-columns:1fr;
}

.support_intro_img{
max-width:360px;
margin:0 auto;
}

}

@media(max-width:640px){

.support_intro{
padding:28px 22px;
}

.support_intro_text h4{
font-size:26px;
}

.support_intro_text p,
.support_type_card p,
.support_benefit p,
.support_method span{
font-size:15px;
}

.support_type_card{
padding:28px 24px;
}

.support_method li{
grid-template-columns:1fr;
gap:6px;
}

.support_method .account{
padding:20px;
}

}


/* =========================
   자원봉사안내
========================= */

.volunteer_intro{
display:grid;
grid-template-columns:360px 1fr;
gap:46px;
align-items:center;
margin-bottom:56px;
}

.volunteer_intro_img img{
display:block;
width:100%;
border-radius:28px;
}

.volunteer_intro_text h4{
margin:0 0 18px;
font-size:34px;
font-weight:900;
letter-spacing:-.06em;
color:#2f7f43;
word-break:keep-all;
}

.volunteer_intro_text p{
margin:0;
font-size:18px;
line-height:1.85;
color:#444;
letter-spacing:-.04em;
word-break:keep-all;
}

.volunteer_target{
margin-top:30px;
padding:26px 30px;
border-radius:24px;
background:#f4faf4;
border:1px solid rgba(47,127,67,.12);
}

.volunteer_target strong{
display:block;
margin-bottom:12px;
font-size:20px;
font-weight:900;
color:#1f5d34;
}

.volunteer_target span{
display:block;
font-size:17px;
line-height:1.7;
color:#444;
word-break:keep-all;
}

.volunteer_section{
margin-top:54px;
}

.volunteer_table th{
vertical-align:middle;
}

.volunteer_table tbody th{
background:#f4faf4;
color:#1f5d34;
font-weight:900;
}

.volunteer_table td{
text-align:center;
}

@media(max-width:1000px){

.volunteer_intro{
grid-template-columns:1fr;
}

.volunteer_intro_img{
max-width:420px;
margin:0 auto;
}

}

@media(max-width:640px){

.volunteer_intro{
padding:28px 22px;
}

.volunteer_intro_text h4{
font-size:26px;
}

.volunteer_intro_text p,
.volunteer_target span{
font-size:15px;
}

.volunteer_target{
padding:22px;
}

}




.policy_box{padding:44px;border-radius:28px;background:#fff;border:1px solid rgba(47,127,67,.12);box-shadow:0 14px 38px rgba(31,93,52,.06);}
.policy_box h4{margin:38px 0 14px;font-size:24px;font-weight:900;color:#2f7f43;letter-spacing:-0.05em;}
.policy_box h4:first-child{margin-top:0;}
.policy_box p,.policy_box li{font-size:17px;line-height:1.9;color:#444;letter-spacing:-0.04em;word-break:keep-all;}
.policy_box ul{margin:0 0 20px;padding-left:22px;}
.policy_date{margin-top:40px !important;padding-top:22px;border-top:1px solid #e4ece3;font-weight:900;color:#1f5d34 !important;}

@media(max-width:768px){
.policy_box{padding:28px 22px;border-radius:22px;}
.policy_box h4{font-size:20px;}
.policy_box p,.policy_box li{font-size:15px;line-height:1.8;}
}

.policy_box h5{margin:24px 0 10px;font-size:19px;font-weight:900;color:#1f5d34;letter-spacing:-0.04em;}



/* =========================
   사이트맵
========================= */

.sitemap_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}

.sitemap_card{padding:34px 32px;border-radius:28px;background:#fff;border:1px solid rgba(47,127,67,.12);box-shadow:0 14px 38px rgba(31,93,52,.06);transition:.25s;}

.sitemap_card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(31,93,52,.1);}

.sitemap_card h4{position:relative;margin:0 0 24px;padding-bottom:18px;font-size:26px;font-weight:900;color:#1f5d34;letter-spacing:-0.05em;}

.sitemap_card h4:after{content:"";position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:10px;background:#2f7f43;}

.sitemap_card ul{margin:0;padding:0;list-style:none;}

.sitemap_card li{border-bottom:1px dashed rgba(47,127,67,.16);}

.sitemap_card li:last-child{border-bottom:0;}

.sitemap_card li a{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:17px;font-weight:700;color:#444;letter-spacing:-0.04em;transition:.2s;}

.sitemap_card li a:after{content:"→";font-size:15px;color:#2f7f43;opacity:.45;transition:.2s;}

.sitemap_card li a:hover{color:#2f7f43;padding-left:6px;}

.sitemap_card li a:hover:after{opacity:1;}

.sitemap_card_full{grid-column:1 / -1;}

.sitemap_card_full ul{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;}

@media(max-width:1000px){
.sitemap_grid{grid-template-columns:repeat(2,1fr);}
.sitemap_card_full ul{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:640px){
.sitemap_grid{grid-template-columns:1fr;gap:18px;}
.sitemap_card{padding:28px 22px;border-radius:22px;}
.sitemap_card h4{font-size:22px;}
.sitemap_card li a{font-size:15px;}
.sitemap_card_full ul{grid-template-columns:1fr;}
}


.footer_link span,
.footer_bar{display:inline-block;margin:0 8px;color:rgba(255,255,255,.28);}

.footer_tel strong{font-weight:800;color:#fff;}

.footer_tel a,
.footer_mail a{color:#dff3e4;}

.footer_tel a:hover,
.footer_mail a:hover{text-decoration:underline;}

.daycare_intro_bottom{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px;}

.daycare_intro_bottom .daycare_capacity{margin-top:0;}

.daycare_down_btn{display:inline-flex;align-items:center;justify-content:center;height:58px;padding:0 28px;border-radius:18px;background:#2f7f43;color:#fff;font-size:17px;font-weight:900;letter-spacing:-0.04em;box-shadow:0 10px 26px rgba(31,93,52,.14);transition:.25s;}

.daycare_down_btn:hover{background:#226733;transform:translateY(-2px);}

@media(max-width:640px){
.daycare_intro_bottom{display:block;}
.daycare_down_btn{width:100%;margin-top:12px;box-sizing:border-box;}
}


/* 게시판 공통 */
.board_wrap{
padding:80px 0 120px;
}

/* 게시판 폭 */
#bo_list,
#bo_w,
#bo_v,
#bo_gall{
width:100%;
max-width:100%;
}

/* 게시판 제목 제거 */
#container_title{
display:none;
}

/* 게시판 테이블 */
.tbl_head01 table,
.tbl_wrap table{
width:100%;
border-top:2px solid #2f7f43;
}

/* 리스트 헤더 */
.tbl_head01 thead th{
height:56px;
background:#f7faf7;
font-size:16px;
font-weight:700;
color:#222;
border-bottom:1px solid #dbe7dc;
}

/* 리스트 내용 */
.tbl_head01 tbody td{
padding:18px 10px;
font-size:15px;
color:#555;
border-bottom:1px solid #eee;
}

/* 게시판 버튼 */
.btn,
.bo_btn,
a.btn{
border-radius:12px !important;
}

/* 보기페이지 */
#bo_v{
border-top:2px solid #2f7f43;
}

/* 글제목 */
#bo_v_title{
font-size:20px;
font-weight:800;
line-height:1.4;
color:#111;
letter-spacing:-0.04em;
}

/* 모바일 */
@media screen and (max-width:768px){

.board_wrap{
padding:50px 0 70px;
}

.tbl_head01 thead{
display:none;
}

.tbl_head01 tbody td{
font-size:14px;
padding:14px 6px;
}

#bo_v_title{
font-size:18px;
line-height:1.35;
}

}


#top_btn{position:fixed;right:24px;bottom:24px;width:52px;height:52px;border:0;border-radius:50%;background:#2f7f43;color:#fff;font-size:24px;font-weight:900;z-index:9999;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer;}

#top_btn:hover{background:#226733;}

@media(max-width:768px){
#top_btn{right:16px;bottom:16px;width:46px;height:46px;font-size:20px;}
}



/* =========================
   서비스 안내 - 아이콘형 카드
========================= */

.service_card.icon_type{
padding:36px 26px 34px;
text-align:center;
}

.service_icon{
display:flex;
align-items:center;
justify-content:center;
width:86px;
height:86px;
margin:0 auto 22px;
border-radius:28px;
background:#f0f8ef;
font-size:44px;
box-shadow:inset 0 0 0 1px rgba(47,127,67,.08);
}

.service_group.blue .service_icon{
background:#eef9fb;
box-shadow:inset 0 0 0 1px rgba(25,168,201,.10);
}

.service_group.pink .service_icon{
background:#fff2f7;
box-shadow:inset 0 0 0 1px rgba(223,76,143,.10);
}

.service_card.icon_type .service_txt{
padding:0;
}

.service_card.icon_type .service_txt strong{
font-size:22px;
}

.service_card.icon_type .service_txt p{
font-size:16px;
line-height:1.75;
}

@media(max-width:640px){

.service_card.icon_type{
padding:30px 22px;
}

.service_icon{
width:76px;
height:76px;
font-size:38px;
border-radius:24px;
}

.service_card.icon_type .service_txt strong{
font-size:20px;
}

.service_card.icon_type .service_txt p{
font-size:15px;
}

}

/* =========================
   하루일과표 - 카드 형식
========================= */

.daily_schedule_wrap{
display:grid;
grid-template-columns:1fr 1fr;
gap:34px;
align-items:start;
}

.daily_schedule_box{
overflow:hidden;
border-radius:28px;
background:#fff;
border:1px solid rgba(47,127,67,.14);
box-shadow:0 18px 46px rgba(31,93,52,.08);
}

.daily_schedule_box h4{
display:flex;
align-items:center;
justify-content:center;
height:76px;
margin:0;
font-size:32px;
font-weight:900;
letter-spacing:-0.05em;
color:#333;
}

.daily_schedule_box.morning h4{
background:#fff7c8;
}

.daily_schedule_box.afternoon h4{
background:#dff2fb;
}

.daily_card_list{
padding:24px;
background:#fff;
}

.daily_card{
display:grid;
grid-template-columns:170px 1fr;
gap:26px;
align-items:start;
padding:24px 28px;
margin-bottom:18px;
border-radius:18px;
background:#f8f8f8;
border:1px solid #e5e5e5;
box-shadow:0 4px 12px rgba(0,0,0,.03);
box-sizing:border-box;
}

.daily_card:last-child{
margin-bottom:0;
}

.daily_card strong{
display:block;
font-size:21px;
font-weight:900;
line-height:1.4;
color:#111;
letter-spacing:-0.04em;
white-space:nowrap;
}

.daily_card ul{
margin:0;
padding-left:20px;
list-style:disc;
}
.daily_card li::marker{
color:#2f7f43;
}

.daily_card li{
margin-bottom:6px;
font-size:18px;
line-height:1.55;
color:#333;
letter-spacing:-0.04em;
word-break:keep-all;
}

.daily_card li:last-child{
margin-bottom:0;
}

.daily_note{
margin-top:26px;
padding:26px 30px;
border-radius:22px;
background:#f8fbf5;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 12px 32px rgba(31,93,52,.06);
}

.daily_note strong{
display:block;
margin-bottom:8px;
font-size:24px;
font-weight:900;
color:#111;
letter-spacing:-0.05em;
}

.daily_note p{
margin:0;
font-size:23px;
line-height:1.6;
color:#111;
letter-spacing:-0.05em;
word-break:keep-all;
}

@media(max-width:1000px){

.daily_schedule_wrap{
grid-template-columns:1fr;
gap:28px;
}

}

@media(max-width:640px){

.daily_schedule_box h4{
height:60px;
font-size:24px;
}

.daily_card_list{
padding:16px;
}

.daily_card{
display:block;
padding:20px;
margin-bottom:14px;
border-radius:16px;
}

.daily_card strong{
margin-bottom:10px;
font-size:18px;
white-space:normal;
}

.daily_card li{
font-size:15px;
line-height:1.6;
}

.daily_note{
padding:22px 20px;
}

.daily_note strong{
font-size:20px;
}

.daily_note p{
font-size:17px;
}

}




/* 데이케어 이용료 안내 */
.daycare_fee{
margin-top:42px;
}

.daycare_fee_section{
margin-top:34px;
}

.fee_title{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:20px;
margin-bottom:14px;
}

.fee_title strong{
position:relative;
padding-left:22px;
font-size:24px;
font-weight:900;
color:#1f5d34;
letter-spacing:-0.05em;
}

.fee_title strong:before{
content:"";
position:absolute;
left:0;
top:9px;
width:12px;
height:12px;
border-radius:50%;
background:#46ad3b;
}

.fee_title span{
font-size:15px;
font-weight:700;
color:#666;
}

.fee_table_wrap{
overflow-x:auto;
border:2px solid #9ccc65;
border-radius:18px;
background:#fff;
padding:8px;
}

.fee_table{
width:100%;
min-width:900px;
border-collapse:collapse;
text-align:center;
font-size:15px;
color:#444;
}

.fee_table th,
.fee_table td{
border:1px solid #d5dec0;
padding:12px 10px;
line-height:1.45;
vertical-align:middle;
}

.fee_table thead th{
background:#eef4d5;
font-weight:900;
color:#333;
}

.fee_table tbody th{
background:#f7fae9;
font-weight:900;
color:#333;
}

.fee_table tbody td{
background:#fff;
font-weight:600;
}

.fee_table small{
font-size:12px;
color:#777;
}

@media(max-width:768px){
.fee_title{
display:block;
}

.fee_title strong{
display:block;
font-size:20px;
margin-bottom:8px;
}

.fee_title span{
display:block;
font-size:13px;
}

.fee_table{
font-size:14px;
}

.fee_table th,
.fee_table td{
padding:10px 8px;
}
}


/* 데이케어 서비스 안내 - 아이콘형 */
.daycare_service_grid.icon_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.daycare_service_card.icon_type{
padding:34px 26px 32px;
text-align:center;
background:#fff;
border-radius:26px;
border:1px solid rgba(47,127,67,.12);
box-shadow:0 14px 36px rgba(31,93,52,.06);
transition:.25s;
}

.daycare_service_card.icon_type:hover{
transform:translateY(-4px);
box-shadow:0 22px 52px rgba(31,93,52,.12);
}

.daycare_service_icon{
display:flex;
align-items:center;
justify-content:center;
width:84px;
height:84px;
margin:0 auto 22px;
border-radius:28px;
background:#f0f8ef;
font-size:42px;
box-shadow:inset 0 0 0 1px rgba(47,127,67,.08);
}

.daycare_service_card.icon_type .service_txt{
padding:0;
}

.daycare_service_card.icon_type .service_txt strong{
display:block;
margin-bottom:12px;
font-size:22px;
font-weight:900;
color:#1f5d34;
letter-spacing:-0.05em;
}

.daycare_service_card.icon_type .service_txt p{
margin:0;
font-size:16px;
line-height:1.75;
color:#555;
letter-spacing:-0.04em;
word-break:keep-all;
}

@media(max-width:1000px){
.daycare_service_grid.icon_grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:640px){
.daycare_service_grid.icon_grid{
grid-template-columns:1fr;
gap:16px;
}

.daycare_service_card.icon_type{
padding:28px 20px;
border-radius:22px;
}

.daycare_service_icon{
width:76px;
height:76px;
font-size:38px;
border-radius:24px;
}

.daycare_service_card.icon_type .service_txt strong{
font-size:20px;
}

.daycare_service_card.icon_type .service_txt p{
font-size:15px;
}
}

/* 모바일 - 데이케어 서비스 방침 제목 정리 */
@media(max-width:640px){

.service_policy .overview_title{
font-size:22px;
line-height:1.45;
padding-left:18px;
word-break:keep-all;
letter-spacing:-0.06em;
}

.service_policy .overview_title:before{
top:12px;
width:10px;
height:10px;
}

}

/* 이미지 박스 자연스럽게 */

.sdmsc_photo{
position:relative;
overflow:hidden;
border-radius:32px;

background:
linear-gradient(135deg,
#eef5ef 0%,
#f7faf6 45%,
#e8f1e9 100%);

box-shadow:
0 18px 40px rgba(60,90,60,.06),
inset 0 1px 0 rgba(255,255,255,.7);
}

.sdmsc_photo img{
position:relative;
z-index:2;
display:block;
width:100%;
height:auto;

filter:drop-shadow(0 14px 24px rgba(40,70,40,.08));
}

.sdmsc_photo:before{
content:"";
position:absolute;
left:-10%;
top:-10%;
width:120%;
height:120%;

background:
radial-gradient(circle at 30% 30%,
rgba(255,255,255,.55) 0%,
rgba(255,255,255,0) 60%);

z-index:1;
pointer-events:none;
}


.schedule_notice{
margin-top:18px;
font-size:15px;
color:#666;
line-height:1.6;
letter-spacing:-0.03em;
word-break:keep-all;
}