@charset "utf-8";



/* Common */
body, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, legend, input, textarea, button, select {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none
}
body, html {
    width: 100%;
    height: 100%;
    min-width: 1440px;
}
body {
  width: 100%;
  margin: 0 auto;
}
body, input, textarea, select, button, table {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 12px;
    -webkit-font-smoothing: antialiased
}
img, fieldset, button {
    border: 0
}
ul, ol {
    list-style: none
}
em, address {
    font-style: normal
}
a {
    text-decoration: none
}
a:hover, a:active, a:focus {
    text-decoration: none
}




.bangers-regular {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-weight: 400;
  font-style: normal;
}
.atkinson-regular {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-weight: 300;
  font-style: normal;
}





.blind {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    font-size: 0;
    line-height: 0
}
.edge {
    position: absolute;
    top: 12px;
    right: 4px;
    width: 0;
    height: 0;
    border-width: 0 8px 8px;
    border-style: solid;
    border-color: transparent transparent #333
}
.clear {
    clear: both
}
/* Skip to content */
.skip {
    margin: 0
}
.skip > a {
    display: block;
    overflow: hidden;
    height: 0;
    line-height: 28px;
    text-align: center
}
.skip > a:focus {
    height: auto
}
/* Layout */
.container {
    min-width: 1440px;
    background-color: #fff
}
/* Desktop/Tablet Header Layout (Grid) */
@media screen and (min-width: 1025px) {
    .header {
        position: relative;
        z-index: 2;
        width: 1200px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        grid-template-areas:
            ". . side"
            ". logo ."
            ". gnb .";
        align-items: center;
        margin-bottom: 0;
        padding-top: 10px; /* 상단 여백 축소 */
        padding-bottom: 5px;
        min-height: 110px; /* 최소 높이 축소 (기존 145px) */
    }
    .header > .logo2-item {
        display: none; /* 로고 2 미사용으로 숨김 처리 */
    }
    .header > .logo-item {
        grid-area: logo;
        justify-self: center;
        padding: 0;
        margin-top: -20px; /* 로고 1 위치 상단으로 조정 */
    }
    .header > .side {
        grid-area: side;
        justify-self: end;
        align-self: start;
        margin: 0;
        line-height: 20px;
        display: flex;
        align-items: center;
    }
    .header > .side a {
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    .header > .side a:hover {
        transform: scale(1.05);
        opacity: 0.8;
    }
}

/* Original Mobile/Default Header Styles (Float) */
@media screen and (max-width: 1024px) {
    .header {
        position: relative;
        z-index: 2;
        width: 100%;
        margin: 0 auto;
        display: flex;
        align-items: center;
        padding: 0 15px;
        height: 60px; /* 모바일 헤더 높이 축소 (기존 70px) */
        box-sizing: border-box;
    }
    .header > .logo2-item {
        margin-right: 12px;
        line-height: 1;
        display: flex;
        align-items: center;
    }
    .header > .logo2-item img {
        max-height: 45px !important; /* 로고 2 45px로 미세 조정 */
        width: auto !important;
    }
    .header > h1 {
        float: none;
        margin: 0;
        padding: 0;
        line-height: 1;
        display: flex;
        align-items: center;
    }
    .header > h1 img {
        max-height: 40px; /* 로고 1 크기 유지 */
        width: auto;
        margin-left: -15px; /* 음수 마진으로 강제 밀착 */
    }
    .header > .side {
        display: none;
    }
    .gnb {
        margin-left: auto;
        height: 100%;
        display: flex !important; /* Flex 강제 적용 */
        flex-direction: row !important; /* 가로 정렬 강제 */
        align-items: center !important;
        position: relative;
    }
    /* 모바일 버튼들 가로 정렬 */
    .gnb .mobile_profile_btn {
        display: flex !important;
        position: static !important;
        transform: none !important;
        margin: 0 15px 0 0 !important;
        padding: 0 !important;
        width: auto !important;
    }
    .gnb .menu_btn {
        position: static !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 30px !important;
        height: 30px !important;
    }
    .gnb .menu_btn .menu_bar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        margin: 0 !important;
    }
}
.visual {
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: 100%
}
.body {
    position: relative;
    padding: 0 0 30px 0; /* 상단 여백 제거 (헤더와 밀착) */
}
.body .content {
}
.body.fixed-width {
    width: 1200px;
    margin: 0 auto
}
.header:after, .body:after {
    display: block;
    clear: both;
    content: ''
}
.content {
}
.content:after {
    display: block;
    clear: both;
    content: ''
}
.content > :first-child {
    margin-top: 0
}
/* Header */
.header > h1 {
    float: left;
    padding: 20px 0;
    margin-right: 32px;
    line-height: 60px;
}
@media screen and (min-width: 1025px) {
    .header > h1 {
        float: none;
        margin-right: 0;
    }
}
.header > h1 img {
    vertical-align: middle;
    max-height: 90px;  /* ← 원하는 크기로 수정 */
    height: auto;
}
.header > .logo-item a {
	font-size: 24px;
	color: #888;
}
.header > .logo-item a:hover {
	color: #444;
}
.header > .logo2-item img {
    vertical-align: middle;
    max-height: 65px; /* 로고 2 크기 65px로 조정 */
    height: auto;
}
/* Fixed Header */
.container.fixed_header {
    padding-top: 140px; /* 헤더 높이 축소에 맞춰 패딩 축소 (기존 155px) */
}
.fixed_header .header_wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    z-index: 1000;
    padding: 0;
}
.fixed_header .header_wrap.shrink {
    position: fixed;
    top: 0;
    width:auto;
    z-index: 1000;
    border-bottom: 1px solid #e1e1e1;
    background-color: #fff;
    -webkit-animation: ani-header 0.5s forwards;
    animation: ani-header 0.5s forwards;
    left: 0;
    right: 0;
}
@media screen and (min-width: 1025px) {
    .fixed_header .header_wrap.shrink {
        min-width: 1240px;
    }
    .fixed_header .header_wrap.shrink .header {
        min-height: 80px !important; /* 스크롤 시 헤더 높이 더 축소 */
        padding-top: 5px !important;
    }
    .fixed_header .header_wrap.shrink .header > .logo-item {
        margin-top: -10px !important; /* 스크롤 시 로고 위치 미세 조정 */
    }
    .fixed_header .header_wrap.shrink .header > .logo-item img {
        max-height: 60px !important; /* 스크롤 시 로고 크기 축소 */
    }
    .fixed_header .header_wrap.shrink .gnb > ul > li > a {
        font-size: 19px !important; /* 메인 헤더와 동일하게 19px로 일치 */
        padding: 5px 20px !important; /* 좌우 간격을 메인 헤더(20px)와 동일하게 일치 */
        line-height: 1.2 !important;
    }
    .fixed_header .header_wrap.shrink .header > .side {
        margin: 0 !important;
        align-self: center !important;
    }
}
@media screen and (max-width: 1024px) {
    .fixed_header .header_wrap.shrink .header {
        height: 60px !important;
    }
    .fixed_header .header_wrap.shrink .gnb > ul > li > a {
        line-height: 60px
    }
    .fixed_header .header_wrap.shrink .header > .side {
        display: none;
    }
}
.fixed_header .header_wrap.shrink .header > h1 {
    padding: 0;
    margin: 0;
}
.fixed_header .header_wrap.shrink .search_area {
    padding: 0 20px
}
/* Footer */
.footer {
    background-color: #ffffff;
    text-align: center;
    padding: 40px 0 300px 0; /* 전체 푸터 위아래 여백 */
}
.footer .footer-top-line {
    width: 700px;
    height: 1px;
    background-color: #aaa;
    margin: 20px auto 40px auto; /* 위 20px, 아래 40px */
}

.footer .footer-inner {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.footer .footer-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 16px;
    color: #333;
}

.footer .footer-info-text {
    font-size: 13px;
    line-height: 22px;
    color: #555;
}


.footer .f_cr_area .mobile-footer-member {
    display: none;
}

.footer .f_logo,
.footer .sub_desc,
.footer .site_map,
.footer .f_info2,
.footer .f_info {
    float: none !important;
    margin: 0 auto !important;
    text-align: center;
}
/* button */
.btn_item {
    display: inline-block;
    margin: 35px 0;
    padding: 0 27px;
    height: 50px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    background-color: #555;
    font-size: 14px;
    line-height: 50px;
    letter-spacing: 1px;
    color: #FFF;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}
.btn_item:hover,
.btn_item:active,
.btn_item:focus {
    background-color: #000;
    color: #fff
}
.btn_item + .btn_item {
    margin-left: 10px;
}
/* Login */
.header > .side > ul > li {
    float: left;
    position: relative
}
.header > .side > ul:after {
    display: block;
    clear: both;
    content: ''
}
.header > .side > ul > li > a {
    display: block;
    width: auto;
    height: auto;
    margin-left: 17px;
    font-size: 14px;
    font-weight: 300; /* 더 얇게 조정 */
    line-height: 1;
    color: #999;
    text-align: center
}
.header > .side > ul > li > a:hover, .header > .side > ul > li > a:focus, .header > .side > ul > li > a:active, .header > .side > ul > li.on > a {
    color: #444
}
.header > .side > ul .ly {
    position: relative;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 13px;
    background-color: #f9f9f9
}
.header > .side > ul .ly.ly_login {
    overflow: hidden;
    margin-top: 0;
    background: url('../img/blank.gif') 0 0 repeat;
    height: 0
}
.header > .side > ul .ly.ly_login ul {
    position: relative;
    margin-top: 18px;
    padding: 8px 0;
    background-color: #333;
    z-index: 3
}
.header > .side > ul .on .ly.ly_login {
    height: auto
}
.header > .side > ul .ly a {
    display: block;
    min-width: 120px;
    height: 40px;
    padding: 0 20px;
    line-height: 40px;
    font-size: 13px;
    color: #9d9d9d
}
.header > .side > ul .ly a:hover {
    color: #fff; /* 노란색 제거 -> 화이트로 강조 */
    text-decoration: none
}
.header > .side > ul > li .login_after {
    overflow: visible;
    width: auto;
    height: auto;
    margin-top: 0;
    border-radius: 0;
}
.header > .side > ul > li .login_after img {
    width: 40px;
    height: 40px
}
.header > .side > ul > li .login_after ~ .ly_login .edge {
    right: 11px
}
/* Magazine Header Type */
.custom_area {
    display: none
}
.magazine .header {
    text-align: center
}
.magazine .header > h1 {
    float: none;
    display: inline-block;
    margin: 0;
    padding: 80px 0 20px;
    vertical-align: top
}
.magazine .header > .side {
    float: none;
    position: absolute;
    top: 0;
    right: 0;
    margin: 30px 0 0
}
.magazine .gnb {
    float: none;
    max-width: 100%;
    margin-bottom: 40px
}
.magazine .gnb > ul {
    display: inline-block;
    vertical-align: top
}
.magazine .gnb > ul > li > a {
    position: relative;
    line-height: 60px
}
.magazine .gnb > ul > li > a:after {
    position: absolute;
    top: 50%;
    left: -1px;
    width: 1px;
    height: 16px;
    margin-top: -8px;
    background-color: #888;
    content: ''
}
.magazine .gnb > ul > li:first-child > a:after {
    background: none
}
.magazine .gnb > ul .depth2:after {
    background: none
}
.magazine .gnb > ul .depth2, .magazine .gnb > ul .depth3 {
    background-color: #f7f7f7
}
.magazine .gnb > ul .depth2 a, .magazine .header > .side > ul .ly a {
    color: #999
}
.magazine .header > .side > ul .ly a:hover {
    color: red
}
.magazine .gnb > ul > li > a:hover, .magazine .gnb > ul > li > a:focus, .magazine .gnb > ul > li > a:focus, .magazine .gnb > ul > li.on > a, .magazine .header > .side > ul > li.on > a, .magazine .header > .side > ul .ly a:hover {
    color: #FFE037
}
.magazine .header > .side > ul .ly.ly_login ul {
    background-color: #f7f7f7;
    text-align: left
}
.magazine .edge {
    border-color: transparent transparent #f7f7f7
}
.magazine .header > .side > ul > li > a:hover,
.magazine .header > .side > ul > li > a:focus,
.magazine .header > .side > ul > li > a:active {
    color: #FFE037
}
.magazine .custom_area {
    display: block;
    position: absolute;
    top: 30px;
    left: 0
}
.magazine .custom_area li {
    float: left;
    margin-right: 30px
}
.magazine .custom_area a {
    font-size: 13px;
    line-height: 15px;
    color: #999
}
.magazine .custom_area a:hover,
.magazine .custom_area a:hover,
.magazine .custom_area a:hover {
    color: #FFE037
}
.magazine .search_area {
    padding: 10px 20px
}
/* Onepage Header Type */
.onepage .header_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000
}
.onepage .gnb > ul {
    background: url(../img/blank.gif) 0 0 repeat
}
.onepage .gnb > ul > li > a {
    line-height: 60px;
    color: #f6f6f6
}
.onepage .gnb > ul > li > a:hover,
.onepage .gnb > ul > li > a:focus,
.onepage .gnb > ul > li > a:focus,
.onepage .gnb > ul > li.on > a {
    color: #fff
}
.onepage .shrink .gnb > ul > li > a {
    color: #888
}
.onepage .shrink .gnb > ul > li > a:hover,
.onepage .shrink .gnb > ul > li > a:focus,
.onepage .shrink .gnb > ul > li > a:focus,
.onepage .shrink .gnb > ul > li.on > a {
    color: #444
}
.onepage .header > .side > ul > li > a {
    color: #f6f6f6
}
.onepage .header > .side > ul > li > a:hover,
.onepage .header > .side > ul > li > a:focus,
.onepage .header > .side > ul > li > a:active,
.onepage .header > .side > ul > li.on > a {
    color: #fff
}
.onepage .search_area .btn_close {
    color: #f6f6f6
}
.onepage .shrink .search_area .btn_close {
    color: #888
}
.onepage .gnb > ul .depth2:after {
    background: none
}
.onepage .gnb {
    margin-top: 20px
}
.onepage .header > h1 {
    padding: 20px 0 0
}
.onepage .search_area input[type=text] {
    color: #f6f6f6
}
.onepage .shrink .search_area input[type=text] {
    color: #888
}
.onepage .visual.sub.sub_type3 {
    margin-top: -100px;
}
/* Search */
.search_wrap {
    position: relative;
    width: 1200px;
    margin: 0 auto
}
.search_area {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 1160px;
    padding: 20px;
    z-index: 3;
    z-index: 3
}
.search_area input {
    font-size: 13px;
    vertical-align: top
}
.search_area input[type=text] {
    position: relative;
    width: 100%;
    height: 40px;
    padding: 10px 0;
    border: 0;
    background-color: transparent;
    font-size: 40px;
    color: #444;
    -webkit-appearance: none;
}
.search_area input[type=text]:focus {
    outline: 0
}
.search_area input[type=text]::-ms-clear {
    display: none
}
.search_area .btn_close {
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-size: 22px;
    color: #888;
    text-align: center;
    line-height: 20px
}
/* GNB */
.gnb {
    position: relative;
    z-index: 1;
    max-width: 742px;
    height: 100%;
    font-size: 13px
}
@media screen and (min-width: 1025px) {
    .gnb {
        grid-area: gnb;
        justify-self: center;
        max-width: 100%;
        height: auto;
        margin-top: 5px; /* 로고 1과의 간격을 위해 양수값으로 변경 */
        margin-bottom: 15px; /* GNB 아래 여백 15px로 조정 */
    }
}
.gnb a {
    text-decoration: none;
    white-space: nowrap
}
.gnb > ul > li {
    float: left;
    position: relative;
    text-align: left
}
.gnb > ul:after {
    display: block;
    clear: both;
    content: ''
}
.gnb > ul > li > a {
    display: block;
    position: relative;
    padding: 0 20px;
    line-height: 50px; /* 라인 높이 절반으로 축소 */
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #1f1f1c;
    letter-spacing: 0.5px;
}
@media screen and (min-width: 1025px) {
    .gnb > ul > li > a {
        padding: 10px 20px; /* 패딩 조정 */
        line-height: 1.2;
        font-size: 19px; /* 폰트 크기 소폭 확대 */
        letter-spacing: -0.5px;
    }
}
.gnb > ul > li > a:hover,
.gnb > ul > li > a:focus,
.gnb > ul > li > a:focus,
.gnb > ul > li.on > a {
    color: #000
}
.gnb > ul > li.on:not(:first-child) > a {
    position: relative;
}
.gnb > ul > li.on:not(:first-child) > a::after {
    content: '';
    position: absolute;
    bottom: 0px; /* 글자와의 간격 조정 */
    left: 20px; /* a 태그의 padding-left와 일치시켜 텍스트 너비에 맞춤 */
    right: 20px; /* a 태그의 padding-right와 일치시켜 텍스트 너비에 맞춤 */
    height: 2px; /* 밑줄 두께 복구 */
    background-color: #000;
}
@media screen and (max-width: 1024px) {
    .gnb > ul > li.on:not(:first-child) > a::after {
        bottom: 10px; /* 모바일에서 위치 조정 */
    }
}
.gnb > ul .depth2 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    padding: 12px 0;
    background-color: #fff;
    border: 1px solid #eee;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); /* 세련된 그림자 추가 */
}
.gnb > ul .depth2:after {
    display: none; /* 노란색 바 삭제 */
}
.gnb > ul .depth2 > li {
    position: relative
}
.gnb > ul .depth2 a {
    display: block;
    position: relative;
    min-width: 170px;
    height: 46px;
    padding: 0 30px;
    line-height: 46px;
    font-size: 14px; /* 14px로 증량 */
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #666;
    transition: all 0.2s ease;
}
.gnb > ul .depth2 a:hover,
.gnb > ul .depth2 a:active,
.gnb > ul .depth2 a:focus,
.gnb > ul .depth2 > li.on > a {
    color: #000; /* 블랙으로 변경 */
    background-color: #f9f9f9; /* 배경색 살짝 강조 */
}
.gnb > ul .depth3 {
    display: none;
    position: absolute;
    top: -8px;
    left: 100%;
    z-index: 2;
    padding: 8px 0;
    background-color: #333
}
.gnb > ul .depth2 > li.more > a:after {
    position: absolute;
    right: 20px;
    content: '>'
}
.onepage .shrink .header > .side > ul > li > a {
    color: #444;
}
.onepage .shrink .gnb {
    margin-top: 0;
}
.magazine .shrink .gnb {
    margin-bottom: 10px;
}
.magazine .shrink h1 {
    margin-top: 10px;
}
.magazine .header_wrap.shrink .gnb > ul > li > a {
    line-height: 40px;
}
/* VISUAL */
.visual.sub {
    position: relative;
    padding: 35px 0;
    background-color: #f6f6f6;
    line-height: 30px
}
.visual.sub .sub_title {
    position: relative;
    z-index: 2;
    width: 1200px;
    margin: 0 auto
}
.visual.sub .sub_title h1 {
    position: relative;
    font-weight: 400;
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    color: #444
}
.visual.sub .sub_title h1:after {
    position: absolute;
    top: 115%;
    left: 0;
    width: 22px;
    height: 2px;
    background-color: #444;
    content: ''
}
.visual.sub .bg_img {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover
}
.visual.sub.sub_type2 {
    padding: 70px 0
}
.visual.sub.sub_type2 .bg_img {
    display: block
}
.visual.sub.sub_type2 .sub_title h1 {
    color: #fff;
    font-weight: 400;
    font-size: 23px;
    letter-spacing: 1px
}
.visual.sub.sub_type2 .sub_title h1:after,
.visual.sub.sub_type3 .sub_title h1:after {
    background: none
}
.visual.sub.sub_type3 {
    padding: 250px 0 210px;
    line-height: 40px;
    text-align: center
}
.visual.sub.sub_type3 .bg_img {
    display: block;
    background-attachment: fixed;
    background-size: auto auto
}
.visual.sub.sub_type3 .sub_title h1 {
    font-size: 39px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 2px
}
/* LNB */
.body.fixed-width .lnb > ul {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 40px 0 0
}
.body.fixed-width .lnb > ul > li {
    margin-bottom: 40px
}
.body.fixed-width .lnb > ul > li > a,
.body.fixed-width .lnb > ul > li > span {
    display: block;
    line-height: 21px;
    margin-bottom: 14px;
    font-size: 15px;
    color: #444
}
.body.fixed-width .lnb ul ul li.on a {
    color: #FFE037
}
.body.fixed-width .lnb ul ul a {
    display: block;
    padding: 10px 0;
    font-size: 14px;
    line-height: 20px;
    color: #888;
    text-decoration: none
}
.body.fixed-width .lnb ul ul a:hover,
.body.fixed-width .lnb ul ul a:focus,
.body.fixed-width .lnb ul ul a:active {
    color: #FFE037
}
.body.fixed-width .lnb img {
    vertical-align: top
}
.body.fixed-width.left .lnb,
.body.fixed-width.right .lnb {
    float: left;
    width: 260px;
    padding: 0 0 16px
}
.body.fixed-width.left .content,
.body.fixed-width.right .content {
    float: right;
    width: 900px;
    min-height: 400px;
    padding: 40px 0 100px
}
.body.fixed-width.right .lnb {
    float: right
}
.body.fixed-width.right .content {
    float: left
}
.body.fixed-width.none .lnb {
    display: none
}
.body.fixed-width.none .content {
    float: none;
    width: 1200px
}
/* Scroll to top link */
.sunflower-btn {
    position: fixed;
    right: 20px;
    bottom: 60px;
    z-index: 1000;
    width: 64px;
    height: 64px;
    background-color: #8b5e3c; /* 해바라기 씨앗 느낌 */
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(255, 193, 7, 0.6);
    text-align: center;
    font-size: 24px;
    color: white;
    line-height: 64px;
    transition: transform 0.3s ease;
    cursor: pointer;
    border: none;
}

.sunflower-btn:hover {
    transform: scale(1.05);
}

.sunflower-btn .petals {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90px;  /* 기존 120px → 축소 */
    height: 90px;
    background: radial-gradient(circle, #ffeb3b 30%, #fdd835 70%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    animation: petalPulse 4s infinite ease-in-out;
    box-shadow:
        0 -22px 0 #fdd835,
        0 22px 0 #fdd835,
        22px 0 0 #fdd835,
        -22px 0 0 #fdd835,
        15px 15px 0 #fdd835,
        -15px -15px 0 #fdd835,
        -15px 15px 0 #fdd835,
        15px -15px 0 #fdd835;
}


@keyframes petalPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.05);
        opacity: 0.9;
    }
}

.sunflower-btn i {
    line-height: 64px;
    color: #fffde7;
}
.swiper-container {
    height: 600px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
}
.swiper-container > div > div {
    display: table;
    height: 600px;
    color: #fff;
    background-size: cover;
}
.swiper-container > div > div > div {
    display: table-cell;
    vertical-align: middle;
}
.swiper-container > div > div > div > div {
    width: 1200px;
    margin: 0 auto;
}
.swiper-container h1 {
    font-weight: 700;
    margin: 0 0 19px 0;
    font-size: 60px;
    line-height: 70px;
    text-decoration: none;
}
.swiper-container p {
    font-size: 20px;
    line-height: 22px;
}
.swiper-button {
    position: absolute;
    top: 50%;
    display: none;
    margin:-25px 0 0 0;
}
.swiper-container:hover .swiper-button {
    display: block;
}
.swiper-button.left {
    left: 20px;
}
.swiper-button.right {
    right: 20px;
}
.swiper-button i {
    width: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 24px;
    color: #fff;
}
.swiper-button button {
    background-color: #333;
    border-radius: 50px;
    background-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
}
.swiper-pagination {
    position: absolute;
    left: 0;
    text-align: center;
    bottom: 5px;
    width: 100%;
}
.swiper-pagination-switch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #fff;
    opacity: 0.6;
    margin: 0 3px;
    cursor: pointer;
}
.swiper-active-switch {
    background: #fff;
    opacity: 1;
}
@media all and (max-width: 479px) {
    body, html {
        min-width: 100%;
    }
    a.btn_top {
        display: none;
    }
    /* Layout */
    .container {
        min-width: 100%;
        background-color: #fff
    }
    .header {
        position: relative;
        z-index: 2;
        width: 100%;
        height: auto;
        margin: 0 auto;
    }
    .magazine .header {
	    text-align:left;
    }
    .magazine .header > h1 {
	    text-align:left;
	    display:block;
	    padding:0 15px;
    }
    .header > .side {
        display: none;
    }
    .body.fixed-width {
        width: auto;
        margin: 0
    }
    .header:after, .body:after {
        clear: both;
        content: ''
    }
    .body {
        padding: 0;
    }
    .content {
    }
    .content:after {
        clear: both;
        content: ''
    }
    .content > :first-child {
        margin-top: 0;
    }
    .body.fixed-width.none .content {
	    width:auto;
    }
    .content img {
        max-width: 100%;
        height: auto
    }
    .body.fixed-width.left .content,
    .body.fixed-width.right .content {
        width: auto;
        float: none;
        min-height: 100%;
        padding: 40px 0;
    }
    /* Header */
    .header > h1 {
        float: none;
        margin-right: 0;
        padding: 0 15px;
        line-height: 50px;
        display: block;
    }

    .header > h1 img {
        max-height: 40px;
        height: auto;
    }
    .header.sub_type3 {
        position: absolute;
    }
    /* Fixed Header */
    .container.fixed_header {
        padding-top: 0
    }
    .header_wrap.shrink {
        display: none;
    }
    .onepage .header > h1 {
        padding: 0 14px;
    }
    .fixed_header .header_wrap {
        position: static;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000
    }
    .fixed_header .header_wrap.shrink {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        border-bottom: 1px solid #e1e1e1;
        background-color: #fff;
        animation: ani-header 0.5s forwards;
    }
    .fixed_header .header_wrap.shrink .header > h1 {
        padding: 0
    }
    .fixed_header .header_wrap.shrink .gnb > ul > li > a {
        line-height: 60px
    }
    .fixed_header .header_wrap.shrink .header > .side {
        margin: 19px 0 0 22px
    }
    .fixed_header .header_wrap.shrink .search_area {
        padding: 0 20px
    }
    /* Footer */
    .footer {
		background-color: #ffffff;
		text-align: center;
		padding: 40px 0 60px 0; /* 전체 푸터 위아래 여백 */
	}
	.footer .footer-top-line {
		width: 300px;
		height: 1px;
		background-color: #aaa;
		margin: 20px auto 40px auto; /* 위 20px, 아래 40px */
	}

	/* Footer Layout - Grid 방식 도입으로 확실한 좌우 분리 */
	body .footer .footer-inner {
		max-width: 1300px !important;
		margin: 0 auto !important;
		display: grid !important;
		grid-template-columns: 1fr auto !important; /* 좌측 가변, 우측 고정 */
		align-items: end !important;
		text-align: left !important;
		padding: 0 40px !important;
	}

	body .footer .footer-left {
		text-align: left !important;
	}

	body .footer .footer-title {
		font-size: 14px !important;
		font-weight: bold !important;
		margin-bottom: 12px !important;
		color: #000 !important;
		text-align: left !important;
	}

	body .footer .site_map {
		margin-bottom: 15px !important;
		text-align: left !important;
	}
	body .footer .site_map ul {
		display: flex !important;
		gap: 20px !important;
		justify-content: flex-start !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* SNS 아이콘 강제 검정색 및 우측 하단 고정 */
	body .footer .footer-sns {
		display: flex !important;
		gap: 15px !important;
		margin-bottom: 8px !important;
		justify-content: flex-end !important;
	}
	body .footer .footer-sns a,
	body .footer .footer-sns a i,
	body .footer .footer-sns a i::before {
		font-size: 32px !important;
		color: #000 !important; /* 어떤 상황에서도 검정색 고정 */
		fill: #000 !important;  /* SVG 대비 */
		text-decoration: none !important;
		border: none !important;
		box-shadow: none !important;
		transition: transform 0.2s !important;
	}
	body .footer .footer-sns a:hover {
		transform: scale(1.1) !important;
		opacity: 0.7 !important;
	}

	body .footer .footer-info-text {
		font-size: 12px !important;
		line-height: 1.8 !important;
		color: #666 !important;
		text-align: left !important;
	}
    .footer a:hover, .footer a:focus {
        text-decoration: none
    }
    .footer .f_info_area {
        width: auto;
        margin: 0;
        padding: 0;
		text-align: center;
    }
    .footer .f_cr_area {
        padding: 0;
        background-color: #555;
        color: #fff;
    }
    .footer .copyright {
        width: auto;
        margin: 0;
        font-size: 12px;
        color: #f1f1f1;
        line-height: 16px
    }
    .footer .copyright span {
        display: inline-block;
        margin-left: 0px
    }
    .footer .sub_desc {
        display: none;
    }
    .footer .f_info {
        float: none;
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }
    .footer .f_logo {
        padding: 8px 15px;
        margin-bottom: 0;
    }
    .footer .f_logo.log_txt a {
        font-size: 16px;
        font-weight: bold;
        color: #555
    }
    .footer .f_logo img {
        max-width: auto;
        max-height: 30px;
    }

    .footer .f_logo {
        padding: 8px 15px;
    }
    .footer .f_logo img {
        max-height: 30px;
    }
    .footer .sub_desc {
        display: none;
    }
    .footer .f_cr_area {
        padding: 0;
        background-color: #555;
        color: #fff;
    }
    .footer .f_cr_area p {
        margin: 0;
        padding: 8px 14px;
    }
    .footer .f_cr_area a {
        color: #fff;
    }
    .footer .f_cr_area .mobile-footer-member {
        padding: 0;
        margin: 0;
        border-top: 1px solid #444;
        list-style: none;
        overflow: hidden;
        display: block;
    }
    .footer .f_cr_area .mobile-footer-member li {
        float: left;
        width: 50%;
        border-left: 1px solid #444;
        box-sizing: border-box;
    }
    .footer .f_cr_area .mobile-footer-member li:first-child {
        border-left: 0;
    }
    .footer .f_cr_area .mobile-footer-member li a {
        display: block;
        line-height: 32px;
        text-align: center;
    }
    /* button */
    .btn_item {
        display: inline-block;
        margin: 35px 0;
        padding: 0 27px;
        height: 50px;
        font-family: 'Inter', sans-serif;
    font-weight: 700;
        background-color: #555;
        font-size: 14px;
        line-height: 50px;
        letter-spacing: 1px;
        color: #FFF;
        transition: all .2s ease-in-out;
    }
    .btn_item:hover,
    .btn_item:active
    .btn_item:focus {
        background-color: #CBA061;
        color: #fff
    }
    .btn_item + .btn_item {
        margin-left: 10px;
    }
    /* Login */
    .header > .side {
        display: none;
    }
    .header > .custom_area {
	    display:none;
    }
    /* Search */
    .search_wrap {
        display: none;
    }
    .gnb {
        float: none;
        position: static;
        z-index: 1;
        max-width: 100%;
        height: 100%;
        font-size: 1em;
        background: #fff;
    }
    .onepage .gnb {
	    margin-top:0;
    }
    .magazine .gnb {
	    margin-bottom:0;
    }
    .gnb a {
        white-space: normal;
        font-size: 12px;
        display: block;
        padding: 5px 0;
        border-top: 1px solid #eee;
    }
    .gnb > ul {
        display: none;
        padding: 0 7px 7px 7px;
        max-height: 340px;
        overflow-x: scroll;
        border-bottom: 1px solid #eaeaea;
        background: #fff;
        -webkit-overflow-scrolling: touch;
    }
    .magazine .gnb > ul {
	    display:none;
    }
    .gnb > ul > li {
        float: none;
        position: static;
    }
    .gnb > ul > li:first-child > a {
        border-top: 0;
    }
    .gnb > ul:after {
        display: none;
    }
    .magazine .gnb > ul > li > a,
    .gnb > ul > li > a {
        position: static;
        padding: 10px 0;
        line-height: normal;
        font-size: normal;
        color: #555;
        font-family: 'Inter', sans-serif;
  font-weight: 700;
		font-weight: 300;
		letter-spacing: 0.5px;
    }
    .onepage .gnb > ul > li > a {
        color: #555;
        line-height: normal
    }
    .onepage .gnb > ul > li > a:hover,
    .onepage .gnb > ul > li > a:focus,
    .onepage .gnb > ul > li > a:focus,
    .onepage .gnb > ul > li.on > a {
	    color:#555;
    }
    .magazine .gnb > ul .depth2,
    .magazine .gnb > ul .depth3,
    .gnb > ul .depth2 {
        display: block;
        position: static;
        padding: 0;
        background-color: #fff
    }
    .gnb > ul .depth2 > li {
        position: static
    }
    .gnb > ul .depth2:after {
        display: none
    }
    .gnb > ul .depth2 a {
        position: static;
        min-width: 100%;
        height: auto;
        padding: 10px 0 10px 25px; /* 2차 메뉴 들여쓰기 */
        line-height: normal;
        color: #666;
        font-size: 13px;
        background-color: #fbfbfb; /* 배경색 살짝 다르게 */
    }
    .gnb > ul .depth2 a:before {
        content: "- "; /* 구분 기호 추가 */
        margin-right: 5px;
        opacity: 0.5;
    }
    .gnb > ul .depth3 {
        display: block;
        position: static;
        background-color: #f6f6f6;
        padding: 0;
    }
    .gnb > ul .depth3 a {
        color: #888;
        padding: 8px 0 8px 45px; /* 3차 메뉴 더 깊은 들여쓰기 */
    }
    .gnb > ul .depth2 > li.more > a:after {
        display: none;
    }
    /* GNB */
    .gnb {
        float: none;
        position: static;
        z-index: 1;
        max-width: 100%;
        height: 100%;
        font-size: 1em;
        display: block;
    }
    .gnb #mobile_menu_btn {
        display: block;
    }
    .gnb .menu_btn {
        height: 22px;
        width: 44px;
        display: block;
        position: absolute;
        top: 14px;
        right: 3px;
        display: inline-block;
    }
    .gnb .menu_btn .menu_bar {
        width: 20px;
        height: 14px;
        position: relative;
        top: 4px;
        left: 12px;
    }
    .gnb .menu_btn .menu_bar div {
        height: 0;
        border-top: 2px solid #383431;
        position: absolute;
    }
    .header.sub_type3 .gnb .menu_btn .menu_bar div {
        border-top: 2px solid #fff;
    }
    .gnb .menu_btn .menu_bar div.btn1 {
        width: 20px;
        top: 0;
    }
    .gnb .menu_btn .menu_bar div.btn2 {
        width: 20px;
        top: 6px;
        transition: all 0.1s
    }
    .gnb .menu_btn .menu_bar div.btn3 {
        width: 20px;
        bottom: 0;
    }
    .gnb .menu_btn.opened .menu_bar div.btn1 {
        top: 6px;
        width: 20px;
        transform: rotate(45deg);
    }
    .gnb .menu_btn.opened .menu_bar div.btn2 {
        top: 6px;
        display: none;
    }
    .gnb .menu_btn.opened .menu_bar div.btn3 {
        top: 6px;
        width: 20px;
        transform: rotate(-45deg);
    }
    .body .lnb {
        display: none;
    }
    .body .content {
        overflow: hidden;
    }
    .visual {
        box-sizing: border-box;
    }
    .visual.sub {
        position: relative;
        padding: 15px 14px 30px 14px;
        background-color: #f6f6f6;
        line-height: 30px
    }
    .visual.sub .sub_title {
        position: relative;
        z-index: 2;
        width:auto;
        margin:0;
    }
    .visual.sub .sub_title h1 {
        position: relative;
        font-weight: 700;
        font-family: 'Inter', sans-serif;
    font-weight: 700;
        font-size: 17px;
        color: #444
    }
    .visual.sub .sub_title h1:after {
        position: absolute;
        top: 115%;
        left: 0;
        width: 22px;
        height: 2px;
        background-color: #444;
        content: ''
    }
    .visual.sub .bg_img {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover
    }
    .visual.sub.sub_type2 {
        padding: 40px 15px
    }
    .visual.sub.sub_type2 .bg_img {
        display: block
    }
    .visual.sub.sub_type2 .sub_title h1 {
        color: #fff;
        font-weight: 400;
        font-size: 23px;
        letter-spacing: 1px
    }
    .visual.sub.sub_type2 .sub_title h1:after,
    .visual.sub.sub_type3 .sub_title h1:after {
        background: none
    }
    .visual.sub.sub_type3 {
        padding: 80px 0 0;
        line-height: 40px;
        text-align: center
    }
    .visual.sub.sub_type3 .bg_img {
        display: block;
        background-attachment: fixed;
        background-size: auto auto
    }
    .visual.sub.sub_type3 .sub_title {
	    padding:100px 0 70px 0;
    }
    .visual.sub.sub_type3 .sub_title h1 {
        font-size: 23px;
        font-weight: 400;
        color: #fff;
        letter-spacing: 2px
    }
    .swiper-container {
        height: 270px;
        font-family: Raleway, NanumBarunGothic, Dotum, AppleGothic, Helvetica, sans-serif;
    }
    .swiper-container > div > div {
        display: table;
        height: 270px;
        color: #fff;
    }
    .swiper-container > div > div > div {
        display: table-cell;
        vertical-align: middle;
    }
    .swiper-container > div > div > div > div {
        padding: 0 14px;
        width: auto;
        margin: 0;
    }
    .swiper-container h1 {
        font-weight: 600;
        margin: 0 0 10px 0;
        font-size: 24px;
        line-height: 30px;
        text-decoration: none;
    }
    .swiper-container p {
        font-size: 14px;
        line-height: 18px;
    }

}
/* header animation */
@keyframes ani-header {
    0% {
        top: -60px
    }
    100% {
        top: 0px
    }
}
#ly_btn {
    display: block;
    width: auto;
    height: auto;
    margin-top: 0;
    margin-left: 17px;
    border-radius: 0;
    overflow: visible;
}
#ly_btn img {
    display: none !important;
}

#sunflowerEffect {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 300px;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
}


.footer .f_info2 .site_map > ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0 12px;
  padding: 0;
  margin: 12px 0;
  list-style: none;
}

.footer .f_info2 .site_map > ul > li {
  font-size: 13px;
  color: #666;
  position: relative;
  white-space: nowrap;
  padding-right: 12px;
}

.footer .f_info2 .site_map > ul > li:not(:last-child)::after {
  content: "|";
  position: absolute;
  right: 0;
  top: 0;
  color: #ccc;
  font-size: 13px;
}

.footer .f_info2 .site_map > ul > li:last-child {
  padding-right: 0;
}

.footer .f_info2 .site_map > ul > li > a {
  font-size: 13px;
  color: #666;
}

.footer .f_info2 .site_map > ul ul {
  display: none !important;
}


.gnb .mobile_profile_btn {
    display: none;
}
@media all and (max-width: 479px) {
  .footer .f_info2 .site_map > ul {
    justify-content: flex-start !important;
  }


	.gnb .mobile_profile_btn {
		display: flex !important; 
		align-items: center !important;
		justify-content: flex-end !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		max-width: none !important;
		max-height: none !important;
		z-index: 2;
	}

	.gnb .mobile_profile_btn a {
		display: inline-block !important;
		line-height: normal !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
	}

	.gnb .mobile_profile_btn a + a {
		margin-left: 12px !important;
	}


	.gnb .mobile_profile_btn .avatar_btn {
		display: inline-block !important;
		width: auto !important;
		height: auto !important;
		min-width: 0 !important;
		min-height: 0 !important;
		max-width: none !important;
		max-height: none !important;
		border-radius: 0 !important;
		overflow: visible !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		line-height: normal !important;
		transform: none !important;
	}

	.gnb .mobile_profile_btn .avatar_btn img {
		display: none !important;
	}

	.gnb .mobile_profile_btn .avatar_btn .blind {
		display: none;
	}

}

@media all and (max-width: 768px) {
    html, body, .container, .body.fixed-width.none .content {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0;
    }
}

/* 1) 섹션1이 있을 때만 body/컨테이너의 폭 고정 해제 */
html:has(#content #sec-hero) body{
  width: 100% !important;
  min-width: 0 !important;
  margin: 0;              /* 가운데 정렬 마진 제거 */
}
html:has(#content #sec-hero) .container{
  min-width: 0 !important;  /* layout.css의 .container min-width:1440 무력화 */
}

/* Footer Final Customized Styles */
.sunday-footer { background-color: #fff !important; padding: 20px 0 60px 0 !important; }
.sunday-footer-inner {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding-top: 40px !important;
    border-top: 1px solid #bbb !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: flex-end !important;
    text-align: left !important;
}
.sunday-footer-left { flex: 1 !important; text-align: left !important; }
.sunday-footer-sns {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
}
.sunday-footer-sns a {
    text-decoration: none !important;
    display: inline-block !important;
    width: 32px;
    height: 32px;
    transition: transform 0.2s !important;
}
.sunday-footer-sns a svg {
    width: 100%;
    height: 100%;
    fill: #000 !important;
}
.sunday-footer-sns a:hover { transform: scale(1.1); opacity: 0.7; }
.footer-top-line { display: none !important; }
.footer-info-text { 
    font-size: 13px !important; 
    line-height: 1.8 !important; 
    color: #333 !important; 
    font-weight: 600 !important; 
    text-align: left !important; 
}
.footer-title { 
    font-size: 15px !important; 
    font-weight: 800 !important; 
    margin-bottom: 12px !important; 
    color: #000 !important; 
    text-align: left !important; 
}
.site_map ul { display: flex !important; gap: 20px !important; list-style: none !important; padding: 0 !important; margin: 0 0 15px 0 !important; justify-content: flex-start !important; }
.site_map ul li a { 
    font-size: 14px !important; 
    color: #777 !important; 
    font-weight: 600 !important; 
}
.site_map ul li:not(:last-child)::after {
    content: "|";
    margin-left: 20px;
    color: #ccc;
    font-weight: normal;
}

/* 모바일 푸터 최적화 */
@media screen and (max-width: 1024px) {
    .sunday-footer { padding: 40px 0 !important; }
    .sunday-footer-inner {
        grid-template-columns: 1fr !important; /* 1단 세로 배치 */
        padding: 40px 20px !important; /* 상단 여백 복구 및 좌우 여백 부여 */
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; /* 모든 요소 왼쪽 정렬 */
        text-align: left !important;
    }
    .sunday-footer-left {
        width: 100% !important;
    }
    .footer-title { 
        font-size: 15px !important; 
        margin-bottom: 8px !important; /* 아래 여백 축소 */
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .f_info2, .site_map { 
        margin: 0 !important; 
        padding: 0 !important; 
        text-align: left !important; /* 중앙 정렬 강제 해제 */
    }
    .site_map ul { 
        justify-content: flex-start !important; /* 왼쪽으로 밀착 */
        margin: 0 0 12px 0 !important; 
        padding: 0 !important;
        list-style: none !important;
    }
    .site_map ul li a { font-size: 13px !important; }
    .site_map ul li:not(:last-child)::after {
        margin-left: 15px !important;
    }
    .footer-info-text { 
        font-size: 12px !important; 
        line-height: 1.8 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .sunday-footer-sns {
        order: 1 !important;
        justify-content: flex-start !important;
        margin-top: 15px !important;
        margin-bottom: 0 !important;
    }
}
