/* 웹폰트 */
@font-face {
    font-family: 'OneStoreMobileGothicTitleFont';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/ONE-Mobile-Title.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

.jua{font-family:'BMJUA','Apple SD Gothic Neo','Noto Sans KR',sans-serif !important;}

*,
*::before,
*::after {
    transition: all 0.28s ease-in-out;
}

:root{
--color-main:#186538;
--color-sub1:#63A532;
--color-sub2:#BBD260;
--color-sub3:#799935;
--color-gray:#C6C6C6;
}

/* Pretendard CDN */
@import url('https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/static/pretendard.css');

html, body {
    height: 100%;
}

body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    color: #111;
    background-color: #fff;
	font-size:1.1em !important;
	-webkit-text-size-adjust: 100%;
}

/* 공통 레이아웃 */
.wrap {
    min-height: 100%;
}

.inner {
    width: 100%;
    max-width: 1440px; /* 컨텐츠 가로폭 1400px */
    margin: 0 auto;
    padding: 0 20px;
}

/* ====== HEADER ====== */

.site-header {
    height: 100px;
    display: flex;
    align-items: center;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    /* 처음엔 투명, 스크롤 시 색 넣을 수 있음 */
    background-color: transparent;
}

.site-header.scrolled {
    background-color: rgba(0, 32, 64, 0.9);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.site-header .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* 로고 */
.site-logo img {
    display: block;
    height: 60px;
}

/* GNB */
.gnb {
    display: flex;
    align-items: center;
    gap: 40px;
    font-size: 16px;
    color: #fff;
}

.gnb > ul {
    display: flex;
    gap: 40px;
}

.gnb > ul > li > a {
    position: relative;
    padding-bottom: 4px;
    font-weight: 500;
}

.gnb > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 0;
    background-color: var(--color-sub1);
    transition: width 0.25s ease;
}

.gnb > ul > li > a:hover::after,
.gnb > ul > li > a:focus::after {
    width: 100%;
}

/* 토글 버튼 (햄버거) */
.header-menu-btn {
    margin-left: 24px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--color-main);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-menu-btn span,
.header-menu-btn span::before,
.header-menu-btn span::after {
    background-color: #fff;
    height: 0.5px;
    width: 18px;
}

.header-menu-btn span {
    position: relative;
}

.header-menu-btn span::before,
.header-menu-btn span::after {
    content: "";
    position: absolute;
    left: 0;
}

.header-menu-btn span::before {
    top: -6px;
}

.header-menu-btn span::after {
    top: 6px;
}




/* 토글 */
body.menu-open { overflow:hidden; touch-action:none; }

.mobile-toggle-menu { position:fixed; inset:0; z-index:99999; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s ease, visibility .35s ease; }
.mobile-toggle-menu.active { opacity:1; visibility:visible; pointer-events:auto; }

.mobile-toggle-overlay { position:absolute; inset:0; background:rgba(0,0,0,.45); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:1; }

.mobile-toggle-panel { position:absolute; top:0; right:0; width:100%; max-width:560px; height:100%; background:#fff; box-shadow:-10px 0 30px rgba(0,0,0,.15); transform:translateX(100%); transition:transform .35s ease; overflow:hidden; z-index:2; }
.mobile-toggle-menu.active .mobile-toggle-panel { transform:translateX(0); }

.mobile-toggle-top { display:flex; align-items:center; justify-content:space-between; padding:24px 28px; border-bottom:1px solid #e9e9e9; background:#fff; }
.mobile-toggle-logo { display:inline-flex; align-items:center; }
.mobile-toggle-logo img { display:block; height:36px; width:auto; }

.mobile-toggle-close { position:relative; width:34px; height:34px; border:0; background:none; cursor:pointer; flex:0 0 34px; }
.mobile-toggle-close::before { content:""; position:absolute; top:16px; left:4px; width:26px; height:2px; background:#111; transform:rotate(45deg); }
.mobile-toggle-close::after { content:""; position:absolute; top:16px; left:4px; width:26px; height:2px; background:#111; transform:rotate(-45deg); }

.mobile-toggle-body { height:calc(100% - 85px); overflow-y:auto; -webkit-overflow-scrolling:touch; background:#fff; padding:10px 0 28px; }
.mobile-main-menu { list-style:none; margin:0; padding:0; }
.mobile-main-menu > li { border-bottom:1px solid #efefef; }

.mobile-main-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 28px; min-height:76px; }
.mobile-main-link { display:flex; align-items:center; flex:1 1 auto; min-height:76px; font-size:24px; font-weight:700; color:#111; text-decoration:none; line-height:1.3; }

.mobile-sub-toggle { position:relative; width:44px; height:44px; border:0; background:none; cursor:pointer; flex:0 0 44px; }
.mobile-sub-toggle::before { content:""; position:absolute; top:21px; left:12px; width:20px; height:2px; background:#111; }
.mobile-sub-toggle::after { content:""; position:absolute; top:12px; left:21px; width:2px; height:20px; background:#111; transition:opacity .25s ease; }
.mobile-main-menu > li.is-open .mobile-sub-toggle::after { opacity:0; }

.mobile-sub-menu { display:none; padding:0 28px 22px; background:#fff; }
.mobile-main-menu > li.is-open .mobile-sub-menu { display:block; }

.mobile-sub-menu a { display:block; padding:14px 0 14px 14px; font-size:16px; font-weight:500; color:#555; text-decoration:none; line-height:1.5; border-top:1px solid #f3f3f3; }
.mobile-sub-menu a:first-child { border-top:1px solid #eaeaea; }
.mobile-sub-menu a:hover { color:#111; }

@media (min-width:1280px) {
.mobile-toggle-panel { max-width:620px; }
.mobile-toggle-top { padding:28px 34px; }
.mobile-toggle-logo img { height:40px; }
.mobile-toggle-body { height:calc(100% - 93px); }
.mobile-main-head { padding:0 34px; min-height:82px; }
.mobile-main-link { min-height:82px; font-size:26px; }
.mobile-sub-menu { padding:0 34px 24px; }
.mobile-sub-menu a { font-size:17px; }
}

@media (max-width:768px) {
.mobile-toggle-panel { max-width:100%; }
.mobile-toggle-top { padding:18px 18px; }
.mobile-toggle-logo img { height:30px; }
.mobile-toggle-body { height:calc(100% - 69px); }
.mobile-main-head { padding:0 18px; min-height:62px; }
.mobile-main-link { min-height:62px; font-size:19px; }
.mobile-sub-menu { padding:0 18px 16px; }
.mobile-sub-menu a { padding:12px 0 12px 12px; font-size:14px; }
}

@media (max-width:480px) {
.mobile-toggle-top { padding:16px 16px; }
.mobile-toggle-logo img { height:28px; }
.mobile-main-head { padding:0 16px; min-height:58px; }
.mobile-main-link { min-height:58px; font-size:18px; }
.mobile-sub-toggle { width:38px; height:38px; flex:0 0 38px; }
.mobile-sub-toggle::before { top:18px; left:9px; width:18px; }
.mobile-sub-toggle::after { top:9px; left:17px; height:18px; }
.mobile-sub-menu { padding:0 16px 14px; }
.mobile-sub-menu a { padding:11px 0 11px 10px; font-size:14px; }
}









/* 드롭다운 기본 숨김 */
.gnb-sub {
    position: absolute;
    top: 60px;
    left: 0;
    background: #0064A8;
    padding: 15px 0;
    border-radius: 4px;
    display: none;
    flex-direction: column;
    gap: 10px;
    min-width: 140px;
    text-align: left;
}

.gnb-sub li a {
    display: block;
    padding: 8px 20px;
    white-space: nowrap;
    color: #fff;
}

/* 호버 시 열림 */
.gnb > ul > li:hover > .gnb-sub {
    display: flex;
}


/* ====== 상단 비주얼 영역 (슬라이더) ====== */

.main-visual {
    position: relative;
    height: 684px;          /* 최대 높이 750px */
    max-height: 684px;
    min-height: 480px;
    color: #fff;
    overflow: hidden;
}

@media (max-height: 700px) {
    .main-visual {
        height: 100vh;
        max-height: none;
    }
}

.visual-slider {
    position: relative;
    width: 100%;
    height: 100%;
}

/* 각 슬라이드 */
.visual-slide {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.visual-slide .visual-inner {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.visual-slide.is-active {
    opacity: 1;
    visibility: visible;
}


/* 컨트롤: 텍스트 박스 하단에 위치 */
.visual-controls {
    position: absolute;
    left: 50%;
    bottom: 60px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 20px;
    z-index: 5;
}

.visual-bullets {
    display: flex;
    gap: 8px;
}

.visual-bullet {
    width: 40px;
    height: 2px;
    background: rgba(255,255,255,0.4);
    transition: background .25s ease;
}

.visual-bullet.is-active {
    background: #fff;
}

.visual-arrow {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    padding: 0;
}

/* ====== 반응형 ====== */

/* 1200 이하 */
@media (max-width: 1200px) {
    .gnb {
        gap: 24px;
    }
    .gnb > ul {
        gap: 24px;
    }
}

/* 992 이하: GNB 접고 햄버거만 */
@media (max-width: 992px) {
    .gnb > ul {
        display: none;
    }
}

/* 768 이하: 헤더 높이/텍스트 크기 조정 */
@media (max-width: 768px) {
    .site-header {
        height: 64px;
    }
    .site-logo img {
        height: 32px;
    }
}

/* ====== 반응형 비주얼 ====== */

@media (max-width: 1200px) {
    .visual-title {
        font-size: 40px;
    }
}

@media (max-width: 992px) {
    .main-visual {
        height: 600px;
        max-height: 600px;
    }
    .visual-title {
        font-size: 23px;
    }
    .visual-desc {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .main-visual {
        height: 520px;
        max-height: 520px;
    }
    .visual-text {
        max-width: none;
        padding-bottom: 50px;
    }
}

@media (max-width: 480px) {
    .main-visual {
        height: 480px;
        max-height: 480px;
    }
    .visual-title {
        font-size: 28px;
    }
    .visual-desc {
        font-size: 14px;
    }
    .visual-bullet {
        width: 28px;
    }
}

.site-header{
position:relative;
width:100%;
background:#fff;
z-index:999;
transition:box-shadow .3s ease, transform .3s ease;
}

.site-header.is-fixed{
position:fixed;
left:0;
top:0;
width:100%;
box-shadow:0 8px 24px rgba(0,0,0,0.08);
animation:headerDown .3s ease;
}

@keyframes headerDown{
0%{transform:translateY(-100%);}
100%{transform:translateY(0);}
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;
height:120px;
}

.gnb{
display:flex;
align-items:center;
}

.gnb-depth1{
display:flex;
align-items:center;
gap:40px;
}

.gnb-depth1 > li{
position:relative;
}

.gnb-depth1 > li > a{
display:inline-block;
padding:10px 0;
font-size:20px;
font-weight:600;
color:#111;
text-decoration:none;
white-space:nowrap;
transition:color .2s ease;
}

.gnb-depth1 > li > a:hover{
color:var(--color-main);
}

.subnav_panel{
position:absolute;
left:0;
top:100%;
width:100%;
background:transparent;
opacity:0;
visibility:hidden;
pointer-events:none;
transition:opacity .25s ease, visibility .25s ease;
}

.site-header.submenu-open .subnav_panel{
opacity:1;
visibility:visible;
pointer-events:auto;
}

.subnav_inner{
width:1440px;
margin:0 auto;
background:var(--color-main);
overflow:hidden;
}

.subnav_list{
display:none;
align-items:stretch;
justify-content:center;
min-height:120px;
}

.subnav_list.is-active{
display:flex;
}

.subnav_list li{
flex:1;
min-width:0;
border-left:1px solid rgba(255,255,255,0.08);
}

.subnav_list li:first-child{
border-left:0;
}

.subnav_list li a{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
height:120px;
padding:15px 10px;
text-decoration:none;
transition:background .2s ease;
}

.subnav_list li a:hover{
background:var(--color-sub1);
}

.subnav_icon{
display:block;
width:50px;
height:50px;
margin:0 auto 12px auto;
}

.subnav_icon img {width:100%; display:block;}

.subnav_list li a em{
display:block;
font-size:22px;
font-style:normal;
font-weight:500;
line-height:1.3;
color:#fff;
text-align:center;
word-break:keep-all;
}

.site-header.is-fixed .subnav_panel{
position:absolute;
}

.gnb-depth2{
display:none;
}

@media (max-width:1440px){
.subnav_inner{
width:calc(100% - 40px);
}
}

@media (max-width:1024px){
.gnb-depth1{
display:none;
}
.subnav_panel{
display:none;
}
}





.notice-photo-section{
    position:relative;
    width:100%;
    min-height:810px;
    padding:100px 0 110px;
    background:#edf1df;
    overflow:hidden;
}

.notice-photo-section .inner{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 20px;
}

.notice-photo-head{
    text-align:center;
    margin-bottom:38px;
}

.notice-photo-head h2{
    margin:0;
    font-size:56px;
    font-weight:800;
    line-height:1.2;
    color:#1f6b3a;
    letter-spacing:-0.04em;
}

.notice-photo-box{
    position:relative;
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:48px 68px 34px;
    background:#ffffff;
    border-radius:60px;
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

.notice-photo-latest{
    width:100%;
}

/* 좌우 장식 공통 */
.notice-photo-deco{
    position:absolute;
    z-index:1;
    pointer-events:none;
}

.notice-photo-deco img{
    display:block;
    width:100%;
    height:auto;
}

/* 구름 */
.notice-photo-deco--cloud-left{
    top:95px;
    left:6%;
    width:86px;
}

.notice-photo-deco--cloud-right{
    top:110px;
    right:6%;
    width:86px;
}

/* 하단 사람 이미지 */
.notice-photo-deco--people-left{
    left:34px;
    bottom:74px;
    width:118px;
}

.notice-photo-deco--people-right{
    right:34px;
    bottom:62px;
    width:132px;
}

@media (max-width:1600px){
    .notice-photo-deco--people-left{
        left:12px;
    }

    .notice-photo-deco--people-right{
        right:12px;
    }
}

@media (max-width:1280px){
    .notice-photo-section{
        min-height:auto;
        padding:90px 0 90px;
    }

    .notice-photo-head h2{
        font-size:46px;
    }

    .notice-photo-box{
        padding:42px 40px 30px;
        border-radius:42px;
    }

    .notice-photo-deco--people-left,
    .notice-photo-deco--people-right{
        width:96px;
    }
}

@media (max-width:1024px){
    .notice-photo-head{
        margin-bottom:28px;
    }

    .notice-photo-head h2{
        font-size:40px;
    }

    .notice-photo-box{
        padding:34px 24px 24px;
        border-radius:32px;
    }

    .notice-photo-deco--cloud-left,
    .notice-photo-deco--cloud-right{
        width:64px;
    }

    .notice-photo-deco--people-left,
    .notice-photo-deco--people-right{
        display:none;
    }
}

@media (max-width:768px){
    .notice-photo-section{
        padding:70px 0 70px;
    }

    .notice-photo-head h2{
        font-size:32px;
    }

    .notice-photo-box{
        padding:24px 16px 20px;
        border-radius:24px;
    }

    .notice-photo-deco--cloud-left{
        top:60px;
        left:20px;
        width:52px;
    }

    .notice-photo-deco--cloud-right{
        top:72px;
        right:20px;
        width:52px;
    }
}





.quick_service_section{
    width:100%;
    display:flex;
    justify-content:center;
    margin:50px 0;
    padding:0 20px;
}

.quick_service_wrap{
    display:flex;
    align-items:stretch;
    width:100%;
    max-width:1440px;
    border-radius:30px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.quick_service_left{
    width:280px;
    flex:0 0 280px;
    background:var(--color-main);
    padding:40px 30px;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.quick_service_left h3{
    font-size:40px;
    line-height:1.3;
    font-weight:700;
    word-break:keep-all;
}

.quick_service_left h3 span{
    color:var(--color-sub2);
}

.quick_service_left p{
    font-size:18px;
    margin-top:15px;
    opacity:0.9;
    word-break:keep-all;
}

.quick_service_list{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    width:calc(100% - 280px);
    padding:30px 40px;
    margin:0;
    list-style:none;
    gap:18px;
}

.quick_service_list li{
    flex:1 1 0;
    min-width:0;
    text-align:center;
}

.quick_service_list li a{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    height:100%;
    padding:10px 8px;
    text-decoration:none;
}

.quick_service_list .icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:96px;
    height:96px;
    margin:0 auto 15px auto;
    border-radius:20px;
}

.quick_service_list .icon img{
    max-width:80px;
    max-height:80px;
    width:auto;
    height:auto;
    display:block;
}

.quick_service_list p{
    font-size:22px;
    font-weight:500;
    color:#222;
    line-height:1.4;
    word-break:keep-all;
}

/* 1440 이하 */
@media (max-width:1440px){
    .quick_service_left{
        width:250px;
        flex:0 0 250px;
        padding:36px 24px;
    }

    .quick_service_left h3{
        font-size:34px;
    }

    .quick_service_left p{
        font-size:16px;
    }

    .quick_service_list{
        width:calc(100% - 250px);
        padding:28px 24px;
        gap:14px;
    }

    .quick_service_list .icon{
        width:88px;
        height:88px;
    }

    .quick_service_list .icon img{
        max-width:52px;
        max-height:52px;
    }

    .quick_service_list p{
        font-size:19px;
    }
}

/* 태블릿 */
@media (max-width:1024px){
    .quick_service_section{
        margin:40px 0;
    }

    .quick_service_wrap{
        flex-direction:column;
        border-radius:24px;
    }

    .quick_service_left{
        width:100%;
        flex:none;
        padding:28px 24px;
        text-align:center;
    }

    .quick_service_left h3{
        font-size:30px;
    }

    .quick_service_left p{
        margin-top:10px;
        font-size:15px;
    }

    .quick_service_list{
        width:100%;
        padding:24px;
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:18px 12px;
    }

    .quick_service_list li{
        flex:none;
        width:calc(33.333% - 8px);
    }

    .quick_service_list li a{
        padding:12px 8px;
    }

    .quick_service_list .icon{
        width:84px;
        height:84px;
        margin:0 auto 12px auto;
        border-radius:18px;
    }

    .quick_service_list .icon img{
        max-width:48px;
        max-height:48px;
    }

    .quick_service_list p{
        font-size:17px;
    }
}

/* 모바일 */
@media (max-width:768px){
    .quick_service_section{
        margin:30px 0;
        padding:0 16px;
    }

    .quick_service_wrap{
        border-radius:20px;
    }

    .quick_service_left{
        padding:24px 18px;
    }

    .quick_service_left h3{
        font-size:26px;
    }

    .quick_service_left p{
        font-size:14px;
    }

    .quick_service_list{
        padding:18px;
        gap:14px 10px;
    }

    .quick_service_list li{
        width:calc(50% - 5px);
    }

    .quick_service_list .icon{
        width:72px;
        height:72px;
        margin:0 auto 10px auto;
        border-radius:16px;
    }

    .quick_service_list .icon img{
        max-width:42px;
        max-height:42px;
    }

    .quick_service_list p{
        font-size:15px;
    }
}

/* 소형 모바일 */
@media (max-width:480px){
    .quick_service_left h3{
        font-size:23px;
    }

    .quick_service_left p{
        font-size:13px;
    }

    .quick_service_list{
        padding:16px 14px;
        gap:12px;
    }

    .quick_service_list li{
        width:100%;
    }

    .quick_service_list li a{
        flex-direction:row;
        justify-content:flex-start;
        text-align:left;
        gap:14px;
        padding:12px 10px;
        border:1px solid #f0f0f0;
        border-radius:16px;
        background:#fff;
    }

    .quick_service_list .icon{
        flex:0 0 58px;
        width:58px;
        height:58px;
        margin:0;
        border-radius:14px;
    }

    .quick_service_list .icon img{
        max-width:34px;
        max-height:34px;
    }

    .quick_service_list p{
        font-size:15px;
    }
}







.main-news-meal-section{width:100%;padding:0 20px;margin:40px 0 80px 0;}
.main-news-meal-inner{display:flex;justify-content:space-between;gap:40px;width:100%;max-width:1440px;margin:0 auto;padding:38px 38px 44px;background:#fff; box-shadow:0 10px 30px rgba(0,0,0,0.08);border-radius:56px;}
.main-news-area{flex:1;min-width:0;}
.main-news-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
.main-news-tab{min-width:164px;height:54px;padding:0 26px;border:1px solid #d8d8d8;border-radius:999px;background:#f6f6f6;font-size:18px;font-weight:600;color:#222;line-height:52px;text-align:center;cursor:pointer;transition:all .25s ease;}
.main-news-tab:hover{background:var(--color-sub1);border-color:var(--color-sub1);color:#fff;}
.main-news-tab.active{background:var(--color-sub1);border-color:var(--color-sub1);color:#fff;}
.main-news-panels{position:relative;}
.main-news-panel{display:none;}
.main-news-panel.active{display:block;}

.main-news-panel .pic_lt{background:transparent;}
.main-news-panel .pic_lt_list{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;}
.main-news-panel .pic_lt_item{width:calc((100% - 36px) / 3);margin:0;padding:0;}
.main-news-panel .pic_lt_link{display:block;text-decoration:none;}
.main-news-panel .pic_lt_thumb{width:100%;height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8f8f8;}
.main-news-panel .pic_lt_thumb img{width:100%;height:100%;object-fit:none;display:block;}
.main-news-panel .pic_lt_link:hover .pic_lt_thumb img{transform:scale(1.05);}
.main-news-panel .pic_lt_txt{padding:14px 2px 0;text-align:left;}
.main-news-panel .pic_lt_subject{margin:0;font-size:17px;font-weight:700;line-height:1.45;color:#222;letter-spacing:-0.03em;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.main-news-panel .pic_lt_date{display:block;margin-top:6px;font-size:15px;font-weight:500;line-height:1.3;color:#a2a2a2;}
.main-news-panel .pic_lt_empty{width:100%;padding:60px 20px;border-radius:24px;background:#fff;text-align:center;font-size:16px;color:#777;}

.main-meal-area{width:100%;max-width:456px;flex:0 0 456px;padding:28px 30px 30px;background:var(--color-main);border-radius:28px;position:relative;overflow:hidden;}
.main-meal-head{display:flex;align-items:center;position:relative;margin-bottom:18px;}
.main-meal-head h3{margin:0;font-size:22px;font-weight:800;line-height:1.3;color:#fff;letter-spacing:-0.03em;}
.main-meal-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:12px;border-radius:50%;overflow:hidden;}
.main-meal-badge img{display:block;width:100%;height:100%;object-fit:cover;}
.main-meal-more{margin-left:auto;font-size:36px;font-weight:500;line-height:1;color:#fff;text-decoration:none;}
.main-meal-body{position:relative;min-height:340px;padding:26px 28px;background:#fff;border-radius:28px;overflow:hidden;}
.main-meal-latest{position:relative;z-index:2;}
.main-meal-deco{position:absolute;z-index:1;pointer-events:none;}
.main-meal-deco img{display:block;width:100%;height:auto;}
.main-meal-deco1{right:66px;bottom:74px;width:42px;}
.main-meal-deco2{right:28px;bottom:22px;width:54px;}
.main-meal-deco3{right:90px;bottom:18px;width:46px;}

.main-meal-area .food_lt{background:transparent;}
.main-meal-area .food_lt ul{margin:0;padding:0;list-style:none;}
.main-meal-area .food_lt li{position:relative;padding-left:14px;font-size:17px;font-weight:600;line-height:1.8;color:#222;letter-spacing:-0.02em;word-break:keep-all;}
.main-meal-area .food_lt li:before{content:"·";position:absolute;left:0;top:0;}
.main-meal-area .food_lt .empty_li{padding-left:0;color:#777;}
.main-meal-area .food_lt .empty_li:before{display:none;}

@media (max-width:1280px){.main-news-meal-inner{gap:28px;padding:30px 28px 34px;border-radius:40px;} .main-news-tab{min-width:140px;height:50px;padding:0 20px;font-size:16px;line-height:48px;} .main-news-panel .pic_lt_item{width:calc((100% - 24px) / 3);} .main-meal-area{max-width:400px;flex:0 0 400px;padding:24px;} .main-meal-body{padding:22px 22px;}}
@media (max-width:1024px){.main-news-meal-inner{flex-direction:column;padding:24px 24px 28px;border-radius:32px;} .main-news-tabs{margin-bottom:22px;} .main-news-tab{min-width:auto;padding:0 18px;font-size:15px;} .main-meal-area{max-width:none;flex:none;width:100%;}}
@media (max-width:768px){.main-news-meal-section{padding:0 16px;margin:30px 0 0;} .main-news-meal-inner{gap:22px;padding:18px 18px 22px;border-radius:24px;} .main-news-tabs{gap:10px;} .main-news-tab{flex:1 1 calc(50% - 5px);height:46px;padding:0 14px;font-size:14px;line-height:44px;} .main-news-panel .pic_lt_list{gap:14px;} .main-news-panel .pic_lt_item{width:calc((100% - 14px) / 2);} .main-news-panel .pic_lt_thumb{border-radius:18px;} .main-news-panel .pic_lt_subject{font-size:15px;} .main-news-panel .pic_lt_date{font-size:13px;} .main-meal-area{padding:20px 18px 18px;border-radius:22px;} .main-meal-head h3{font-size:20px;} .main-meal-body{min-height:220px;padding:20px 18px;border-radius:22px;} .main-meal-area .food_lt li{font-size:15px;line-height:1.75;}}
@media (max-width:560px){.main-news-tab{flex:1 1 100%;} .main-news-panel .pic_lt_item{width:100%;} .main-news-panel .pic_lt_thumb{aspect-ratio:1 / 0.7;} .main-meal-body{min-height:210px;} .main-meal-deco1{right:56px;bottom:68px;width:34px;} .main-meal-deco2{right:20px;bottom:18px;width:46px;} .main-meal-deco3{right:76px;bottom:18px;width:38px;}}










/*index페이지 스타일*/




.section-partners { padding: 0px 0; background: #fff; overflow: hidden; }
.partners-inner { max-width: 1440px; margin: 0 auto; }


.partners-marquee { position: relative; overflow: hidden; width: 100%; }
.partners-marquee::before { content: ""; position: absolute; top: 0; left: 0; width: 120px; height: 100%; background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%); z-index: 2; pointer-events: none; }
.partners-marquee::after { content: ""; position: absolute; top: 0; right: 0; width: 120px; height: 100%; background: linear-gradient(to left, #fff 0%, rgba(255,255,255,0) 100%); z-index: 2; pointer-events: none; }

.partners-track { display: flex; align-items: center; width: max-content; animation: partners-marquee 32s linear infinite; }
.partners-marquee:hover .partners-track { animation-play-state: paused; }

.partner-item { flex: 0 0 180px; width: 180px; height: 100px; display: flex; align-items: center; justify-content: center; padding: 10px 20px; box-sizing: border-box; }
.partner-item img { display:block; max-width:100%; max-height:35px; width:auto; height:auto; object-fit:contain; filter:none; opacity:1; transition:all .3s ease; }
.partner-item:hover img { filter:none; opacity:1; transform:translateY(-2px); }

@keyframes partners-marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 1440px) {
    .partner-item { flex: 0 0 160px; width: 160px; }
}

@media (max-width: 1200px) {
    .section-partners { padding: 60px 0; }
    .partners-title { font-size: 30px; }
    .partner-item { flex: 0 0 140px; width: 140px; height: 90px; padding: 10px 16px; }
    .partner-item img { max-height: 46px; }
    .partners-marquee::before { width: 80px; }
    .partners-marquee::after { width: 80px; }
}

@media (max-width: 768px) {
    .section-partners { padding: 50px 0; }
    .partner-item { flex: 0 0 120px; width: 120px; height: 80px; padding: 8px 12px; }
    .partner-item img { max-height: 40px; }
    .partners-track { animation-duration: 24s; }
    .partners-marquee::before { width: 50px; }
    .partners-marquee::after { width: 50px; }
}

@media (max-width: 480px) {
    .partner-item { flex: 0 0 100px; width: 100px; height: 72px; padding: 6px 10px; }
    .partner-item img { max-height: 34px; }
    .partners-track { animation-duration: 20s; }
    .partners-marquee::before { width: 30px; }
    .partners-marquee::after { width: 30px; }
}




.site-footer { background:#fff; border-top:1px solid #dfdfdf; padding:42px 0 44px; color:#222; }
.site-footer .footer-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:60px; }
.site-footer .footer-left { flex:0 0 38%; }
.site-footer .footer-right { flex:0 0 53%; }
.site-footer .footer-logo { margin:0; }
.site-footer .footer-logo a { display:inline-block; }
.site-footer .footer-logo img { display:block; max-width:100%; height:58px; }

.site-footer .footer-policy { display:flex; flex-wrap:wrap; align-items:center; gap:0; margin:0 0 22px; padding:0; list-style:none; }
.site-footer .footer-policy li { position:relative; padding:0 18px; line-height:1; }
.site-footer .footer-policy li:first-child { padding-left:0; }
.site-footer .footer-policy li::before { content:"|"; position:absolute; left:0; top:50%; transform:translateY(-50%); font-size:14px; color:#222; }
.site-footer .footer-policy li:first-child::before { display:none; }
.site-footer .footer-policy a { display:inline-block; font-size:16px; font-weight:500; color:#222; text-decoration:none; transition:opacity .2s ease; }
.site-footer .footer-policy a:hover { opacity:.7; }

.site-footer .footer-info { margin:0; }
.site-footer .footer-line { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 0px; font-size:15px; line-height:1.8; color:#222; }
.site-footer .footer-line span { position:relative; }
.site-footer .footer-line span + span { padding-left:14px; }
.site-footer .footer-line span + span::before { content:"|"; position:absolute; left:0; top:50%; transform:translateY(-50%); color:#666; font-size:13px; }
.site-footer .footer-copy { margin:0px 0 0; font-size:15px; line-height:1.8; color:#222; }

@media (max-width:1200px) {
.site-footer { padding:38px 0 40px; }
.site-footer .footer-inner { gap:40px; }
.site-footer .footer-left { flex:0 0 32%; }
.site-footer .footer-right { flex:0 0 68%; }
.site-footer .footer-logo img { height:50px; }
.site-footer .footer-policy a { font-size:15px; }
.site-footer .footer-line { font-size:14px; }
.site-footer .footer-copy { font-size:14px; }
}

@media (max-width:991px) {
.site-footer .footer-inner { flex-direction:column; gap:28px; }
.site-footer .footer-left { flex:0 0 auto; width:100%; }
.site-footer .footer-right { flex:0 0 auto; width:100%; }
.site-footer .footer-logo img { height:52px; }
}

@media (max-width:768px) {
.site-footer { padding:34px 0 36px; }
.site-footer .footer-policy { margin:0 0 18px; }
.site-footer .footer-policy li { padding:0 12px; margin-bottom:8px; }
.site-footer .footer-policy a { font-size:14px; }
.site-footer .footer-line { display:block; margin:0 0 6px; font-size:14px; line-height:1.7; }
.site-footer .footer-line span { display:block; padding-left:0 !important; }
.site-footer .footer-line span + span::before { display:none; }
.site-footer .footer-copy { font-size:14px; line-height:1.7; }
}

@media (max-width:480px) {
.site-footer .footer-logo img { height:42px; }
.site-footer .footer-policy li { padding:0 10px; }
.site-footer .footer-policy a { font-size:13px; }
.site-footer .footer-line { font-size:13px; }
.site-footer .footer-copy { font-size:13px; }
}





/* 서브페이지 */
.sub-visual--pg1, .sub-visual--default {background-image:url('/theme/basic/img/sub_visual_1.png');background-size:cover;background-position:50% 50%;background-repeat:no-repeat;}

.sub-visual {
    position: relative;
    height: 400px;
    color: #fff;
    overflow: hidden;
}

.sub-visual-inner {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sub-visual-eyebrow {
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 12px;
    opacity: 0.9;
}

.sub-visual-title {
    font-family: 'OneStoreMobileGothicTitleFont', sans-serif;
    font-size: 32px;
    margin-bottom: 12px;
}

.sub-visual-desc {
    font-size: 16px;
    line-height: 1.8;
    opacity: 0.9;
}

/* ===============================
   서브 브래드크럼 + 드롭다운
================================ */

.sub-breadcrumb {
    border-bottom: 1px solid #e3e3e3;
    background-color: #f9f9f9;
}

.sub-breadcrumb-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 56px;
    font-size: 13px;
    color: #555;
}

/* HOME 아이콘 */
.bc-home {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid #ddd;
    color: #555;
    text-decoration: none;
}

.bc-home i {
    font-size: 12px;
}

.bc-sep {
    color: #bbb;
    font-size: 11px;
}

/* 아이템(대메뉴/서브메뉴 공통) */
.bc-item {
    position: relative;
}

.bc-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: transparent;
    font-size: 17px;
    color: #555;
    cursor: pointer;
}

.bc-btn i {
    font-size: 10px;
    color: #999;
}

/* 드롭다운 박스 */
.bc-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 140px;
    background-color: #ffffff;
    border-radius: 6px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    padding: 8px 0;
    list-style: none;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index: 30;
}

.bc-dropdown li a {
    display: block;
    padding: 7px 14px;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    white-space: nowrap;
}

.bc-dropdown li a:hover {
    background-color: #f5f7fb;
    color: #0064A8;
}

/* open 상태 */
.bc-item.is-open .bc-btn {
    border-color: #ddd;
    background-color: #ffffff;
}

.bc-item.is-open .bc-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}