@import url('font.css');
@import url('reset.css');

/* ================================
   이메일 등록 시작
================================ */
:root {
	--panel: #fff;
	--text: #111827;
	--muted: #6b7280;
	--primary: #2563eb;
	--ok: #16a34a;
	--err: #dc2626;
	--ring: #60a5fa;
	--shadow: 0 20px 45px rgba(0, 0, 0, .25);
	--radius: 16px;
}


.btn {
	appearance: none;
	border: 0;
	border-radius: 999px;
	padding: 14px 22px;
	font-weight: 700;
	background: var(--primary);
	color: #fff;
	cursor: pointer;
}

/* Overlay & Modal */
.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .6);
	opacity: 0;
	visibility: hidden;
	transition: opacity .18s, visibility .18s;
	z-index: 999998;
}

.overlay.is-open {
	opacity: 1;
	visibility: visible
}

.modal {
	position: fixed;
	inset: 0;
	display: none;
	place-items: center;
	z-index: 999999;
}

.modal.is-open {
	display: grid
}

.modal__panel {
	width: min(560px, 92vw);
	background: var(--panel);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 28px 24px;
	transform: translateY(8px) scale(.98);
	opacity: 0;
	transition: opacity .2s, transform .2s;
}

.modal.is-open .modal__panel {
	transform: none;
	opacity: 1
}

.modal__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 800
}

.modal__desc {
	margin: 0 0 18px;
	color: var(--muted);
	font-size: 14px
}

.field {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 14px 0 10px
}

.field input[type="email"] {
	flex: 1;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 14px 14px;
	font-size: 16px;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
	background: #fff;
}

.field input[type="email"]:focus {
	border-color: var(--ring);
	box-shadow: 0 0 0 4px #e0f2fe
}

.status {
	min-height: 1.4em;
	margin-top: 6px;
	font-size: 14px
}

.status.ok {
	color: var(--ok)
}

.status.err {
	color: var(--err)
}

.modal__footer {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 16px
}

.btn--ghost {
	background: #f3f4f6;
	color: #111827;
	border-radius: 10px;
	padding: 10px 14px;
	font-weight: 700;
	border: 0;
	cursor: pointer;
}

.btn--ghost:hover {
	background: #e5e7eb
}

:focus-visible {
	outline: 3px solid var(--ring);
	outline-offset: 2px
}

body.modal-open {
	overflow: hidden;
	touch-action: none;
	overscroll-behavior: contain
}


/* ================================
   이메일 등록 끝
================================ */


header h1 {
	display: block;
}

header {
	position: relative;
}

footer {
	background-color: #1c1a3f;
}

/* ================================
   이벤트 배너 시작
================================ */
.event-fixed-banner {
	position: fixed;
	right: 0px;
	/* 왼쪽 고정이면 left: 20px 로 변경 */
	top: 280px;
	/* 원하는 높이 조절 */
	z-index: 2;
	/* 최상단 */
}

.event-fixed-banner img {
	width: 120px;
	/* 원하는 크기 */
	height: auto;
	display: block;
	cursor: pointer;
	transition: transform .3s ease;
}

.event-fixed-banner img:hover {
	transform: scale(1);
}

/* ================================
   이벤트 배너 끝
================================ */


/* ================================
   전체메뉴 오버레이
================================ */
.fullmenu-overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: rgba(20, 20, 80, 0.95);
	/* 처음엔 화면 위에 숨겨두기 */
	transform: translateY(-100%);
	opacity: 0;
	transition: transform .45s cubic-bezier(0.22, 0.61, 0.36, 1),
		opacity .45s cubic-bezier(0.22, 0.61, 0.36, 1);
	pointer-events: none;
	/* 안 열려 있을 땐 클릭 안 먹게 */
	z-index: 9999;
	overflow-y: auto;
}

/* 열려 있는 상태 */
.fullmenu-overlay.active {
	transform: translateY(0);
	/* 아래로 스르륵 내려오기 */
	opacity: 1;
	/* 점점 선명해지기 */
	pointer-events: auto;
}

/* 닫기(X) 버튼 */
.fullmenu-close {
	    position: absolute;
    top: 40px;
    right: 40px;
    background: none;
    border: none;
    cursor: pointer;
}

.fullmenu-close span {
	position: absolute;
    width: 37px;
    height: 5px;
    background: #ffffff;
    transform-origin: center;
}

.fullmenu-close span:nth-child(1) {
	transform: translate(-50%, -50%) rotate(45deg);
}

.fullmenu-close span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-45deg);
}


.fullmenu-left img {
	width: 328px;
	border-radius: 8px;
}


.fullmenu-col h3 {
	font-size: 30px;
	color: #fcffb5;
	border-bottom: 1px solid #ffffff;
	padding-bottom: 8px;
	text-align: center;
	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	letter-spacing: 0em;
	text-align: center;
	width: fit-content;
	margin: 0 auto 25px;
}



/* 항목 호버 */
.fullmenu-col a:hover {
	background: #ffffff;
	color: #1a1a40;
	width: inherit;
}


/* ================================
   전체메뉴 하단 이메일 구독 폼
================================ */
.fullmenu-subscribe-area {
	max-width: 1300px;
	margin: 40px auto 0px;
	/* 상하 여백 조절 */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 10001;
}

.subscribe-label {
	display: inline-block;
	background-color: #fff;
	color: #111;
	font-weight: 800;
	padding: 8px 15px;
	margin-right: 15px;
	font-family: 'Paperlogy5', sans-serif;
	font-size: 18px;
	vertical-align: middle;
}

/* 폼 컨테이너 (라벨과 폼을 가로로 배치하려면 flex 사용) */
.fullmenu-subscribe-area {
	flex-direction: row;
	/* 가로 배치 */
}

.subscribe-form {
	display: flex;
	align-items: center;
	background: #fff;
	padding: 5px;
	border-radius: 5px;
	width: 100%;
	max-width: 500px;
	/* 인풋 박스 전체 너비 제한 */
}


.subscribe-input::placeholder {
	color: #999;
}



.subscribe-btn:hover {
	background-color: #1d4ed8;
}

.subscribe-btn:disabled {
	background-color: #9ca3af;
	cursor: not-allowed;
}

/* 상태 메시지 (성공/실패 텍스트) */
.subscribe-status {
	transform: translateX(-50%);
	white-space: nowrap;
}


/* 모바일 대응 */
@media (max-width: 767px) {
	.fullmenu-subscribe-area {
		flex-direction: column;
		gap: 15px;
		width: 90%;
		margin-bottom: 40px;
	}

	.subscribe-label {
		margin-right: 0;
	}

	.subscribe-form {
		width: 100%;
	}
}

/* ===== 이메일등록 사이드 끝 ===== */


/* ===== 상단 우측 고정 전체메뉴 버튼 ===== */
.global-menu-toggle {
	display: none;
}

/* 햄버거 3선 바 */
.global-menu-toggle span {
	display: block;
	width: 40px;
	height: 4px;
	background: #ffffff;
	border-radius: 2px;
}

/* 마우스 올렸을 때만 색상 반전 */
.global-menu-toggle:hover {
	background: #ffffff;
}

.global-menu-toggle:hover span {
	background: #ff2d7a;
}

/* 키보드 포커스용 – 색은 그대로 두고 테두리만 */
.global-menu-toggle:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}



.line {
	text-decoration: underline;
	text-underline-offset: 7px;
}






.volArea {
	position: fixed;
	left: -5%;
	bottom: 45%;
	transform: rotate(-90deg);
	z-index: 2;
}


.volArea .volNum {
	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	font-size: 21px;
	color: #b2b2b2;
	letter-spacing: 0.03em;
}

.voice_t {
	font-size: 17px;
	font-weight: 500;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	letter-spacing: -0.08em !important;
	color: #686868;
	text-align: center;
	margin: 0 0 3px;
}

.bor {
	border-radius: 5px;
}

section.theme .container {
	position: relative;
	width: 1300px;
}

#hover-img {}

#hover-img:hover {
	filter: brightness(70%);
	transition-duration: 0.5s;
}

.cover_title {
	font-size: 17px;
	font-weight: 400;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	letter-spacing: -0.08em;
	color: #a2a2a2;
}


.stext {
	font-size: 16px;
	line-height: 25px;
}



/* Bootstrap */

.container {
	padding: 0;
	width: 100%;
	/* max-width: 1840px; */
}

/* Etc */



a {
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	letter-spacing: 0px;
}

p {
	font-family: "NanumSquareNeo", "Malgun Gothic", "sans-serif";
	;
}

a,
a:hover,
a:active,
a:focus {
	text-decoration: none;
}

a.top {
	position: fixed;
	right: 2%;
	bottom: 100px;
	display: none;
	width: 68px;
	height: 68px;
	background-image: url(../img/common/goto_top.png);
	background-size: 68px 68px;
}

img {
	max-width: 100%;
}

body {
	font-size: 18.5px;
	line-height: 1.75em;
	text-align: justify;
	letter-spacing: -0.02em !important;
	color: #000000;
}

@media screen and (max-width:767px) {
	body {
		/* padding-top: 100px; */
		margin: 0;
		font-size: 17px;
		line-height: 30px;
		text-align: justify;
		letter-spacing: -0.7px !important;
		color: #000000;
	}
}


#include-header {
	/* width: 1840px; */
}

#include-header1 {
	/* width: 1840px; */
}

#include-header-section {
	height: 95px;
	position: fixed;

}



header > div {
	position: relative;
	padding: 0;
	width: 100%;
}

header h1 {
	position: absolute;
	top: 0;
	margin: 0;
}

header .main .m {
	display: none;
}


header.fixed {
	position: fixed;
	top: 0;
}


/* header.fixed{position: relative;} */
header.fixed nav > ul > li {
	width: 16%;
	transition: .6s;
}

/* header .wrapper{width: 95%;} */
header.fixed nav > ul > li .sns_share {
	margin-top: -1px;
}


@media screen and (max-width: 1600px) {
	header.fixed .wrapper {
		width: 95%;
	}
}

@media screen and (max-width:1300px) {
	header.fixed nav > ul > li {
		width: 13%;
	}

	header.fixed nav > ul > li a {
		font-size: 15px;
	}
}

@media screen and (min-width:950px) {

	header.main_header h1 {
		width: 0;
		opacity: 0;
		transition: .7s;
	}

	header.fixed h1 {
		width: auto;
		opacity: 1;
	}
}

@media screen and (max-width:750px) {
	#include-header-section {
		height: 60px;
	}



}


header nav > ul {
	display: flex;
	height: 95px;
	justify-content: flex-end;
	align-items: center;
}

header nav > ul > li {
	width: 16%;
	text-align: center;
	height: 95px;
	position: relative;
	transition: .4s;
}

header nav > ul > li:last-child {
	margin-right: 5%;
}


.nav_bg {
	width: 100%;
	height: 0;
	background: rgba(255, 255, 255, 0.97);
	position: absolute;
	top: 95px;
	transition: 0.5s;

}

header nav > ul > li > ul > li,
header nav > ul > li > ul > li:focus,
header nav > ul > li > ul > li:focus-within {
	height: 0;
	overflow: hidden;
	opacity: 1;
	transition: .3s;
	background: #ffffff;
	color: #ffffff;
}

header nav > ul > li:hover,
header nav > ul > li:focus,
header nav > ul > li:focus-within {
	background: #ffffff;
}




header nav > ul > li:hover > ul > li,
header nav > ul > li:focus > ul > li,
header nav > ul > li:focus-within > ul > li {
	height: 48px !important;
	opacity: 1;
}



header nav > ul > li > a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	letter-spacing: 0.00em;
	transition: .5s;
	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	color: #000000;
}


header nav > ul > li.active {
	background: #000000;
}

header nav > ul > li.active > a {
	color: #000000;
}



header nav > ul > li:hover > ul {
	position: relative;
	z-index: 100;
}



/* header nav > ul > li:hover > ul > li:hover{} */
header nav > ul > li:hover > ul > li:hover > a:focus,
header nav > ul > li:hover > ul > li:hover > a:focus-within,
header nav > ul > li:hover > ul > li:hover > a {
	background: #fff;
	color: #000000;
}


header nav > ul > li > ul > li.active > a {
	background-color: #ffffff !important;
	color: #985bb0;
}


footer .wrapper_footer .footer_pc {
	display: flex;
	justify-content: space-between;
	padding: 60px 0 80px;
}

footer .wrapper_footer .footer_pc .footer_left .footer_left_top {
	display: flex;
	align-items: center;
}

footer .wrapper_footer .footer_pc .footer_left .footer_left_top .footer_logo {
	margin-right: 15px;
}

footer .wrapper_footer .footer_pc .footer_right .footer_sns {
	display: flex;
	margin-top: 0px;
	margin-right: 20px;
}


footer .wrapper_footer .footer_pc .footer_right .footer_sns li {
	margin-right: 7px;

}

footer .wrapper_footer .footer_pc .footer_left .footer_left_top .copy {
	display: flex;
	margin-top: 14px;
	margin-left: 20px;
	margin-top: 10px;
	font-size: 17px;
	letter-spacing: -0.00em;
	line-height: 1.4em;
	color: #ffffff;
	font-family: "NanumSquareNeo", "Malgun Gothic", "sans-serif";
}




footer .wrapper_footer .prev .selectPrev ul > li:hover > a {
	background-color: #333;
	color: #fff;
	border: 0px;
}


footer .wrapper_footer .prev .selectPrev.open {
	display: block;
	background-color: #ffffff;
	border: 0px;
	transition: background-color .5s, color .5s;
}

footer .wrapper_footer .prev .selectPrev.open ul {
	display: block;
	width: 165px;
	margin-left: 4px;

}


footer .wrapper_footer .prev .selectPrev ul > li > a {
	display: block;
	padding: 9px 10px;
	color: #000;
	transition: background-color .3s, color .3s;
	font-family: "NanumSquareNeo", "Malgun Gothic", "sans-serif";
}

footer .wrapper_footer .prev .selectPrev ul > li > a:hover {

	background-color: #90c2dd;

}



footer .wrapper_footer .prev {
	position: relative;
	border-radius: 5px;
}

footer .wrapper_footer .prev:after {
	display: block;
	content: '';
	border-left: 5px solid #000;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -5px;
}

footer .wrapper_footer .prev .selectPrev {
	width: 176px;
	height: 44px;
	position: relative;
	padding: 11px 36px 8px 16px;
	border: 0;
	background-color: #ffffff;
	color: #000;
	appearance: none;
	-webkit-appearance: none;
	font-family: "NanumSquareNeo", "Malgun Gothic", "sans-serif";
	font-size: 17px;
	outline: none;
	cursor: pointer;
	border-radius: 5px;
}



footer .wrapper_footer .prev .selectPrev ul {
	display: none;
	width: 100%;
	padding: 0;
	list-style-type: none;
	position: absolute;
	background-color: #ffffff;
	border: 1px solid #eee;
	left: 0;
	bottom: 44px;
	margin: 0;

	/* 스크롤 추가 및 높이값 조정 */
	overflow-y: auto;
	height: 380px;
}


footer .wrapper_footer {
	/* display: flex;*/
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

footer .wrapper_footer .footer_right {
	display: flex;
	align-items: center;
}





footer .wrapper_footer .footer_mo .footer_top ul {
	display: flex;
	justify-content: space-between;
	padding-top: 25px;
}

footer .wrapper_footer .footer_mo .footer_top ul li a img {
	width: 79.5px;
}

footer .wrapper_footer .footer_mo .footer_bottom ul.footer_sns {
	display: flex;
	justify-content: space-between;
	padding: 0 50.5px;
	margin-top: 45px;
}

footer .wrapper_footer .footer_mo .footer_bottom ul.footer_sns li {
	margin-left: 2px;
}

footer .wrapper_footer .footer_mo .footer_bottom ul.footer_sns li:last-child {
	margin-left: 0;
}

footer .wrapper_footer .footer_mo .footer_bottom {
	text-align: center;
}

footer .wrapper_footer .footer_mo .footer_bottom .footer_logo {
	width: 200px;
	margin: 0 auto;
	margin-top: 40px;
}

footer .wrapper_footer .footer_mo .footer_bottom .footer_left_bottom {
	font-size: 14.5px;
	padding: 30px 0 30px;
	letter-spacing: -0.02em;
	line-height: 1.65em;
	color: #ffffff;
	font-family: "NanumSquareNeo", sans-serif;
	text-align: center;
}

/* footer .wrapper .footer_mo .footer_bottom ul.footer_sns li a img{} */

@media screen and (max-width:767px) {

	footer .footer_wa {
		margin-top: 10%;
		margin-left: 30%;
		margin-right: 30%;
	}

	footer .wrapper_footer .footer_mo .footer_bottom .footer_logo {
		width: 200px;
		margin: 0 auto;
		margin-top: 35px;
	}

	header .main > a {
		display: block;
		background-image: url(../img/common/logo.png);
		height: 100px;
		padding-left: 170px;
		background-position: left center;
		background-repeat: no-repeat;
	}

	header .main1 > a {
		display: block;
		background-image: url(../img/common/logo_mobile.png);
		height: 100px;
		padding-left: 170px;
		background-position: left center;
		background-repeat: no-repeat;
	}

}


header .story > a {
	display: block;
	height: 100px;
	padding-left: 220px;
	background-image: url('../img/common/logo.png');
	background-position: left center;
	background-repeat: no-repeat;
}

header h1 .vol {
	display: block;
	font-size: 16px;
	line-height: 19px;
	color: #595a5c;
	padding-top: 41px;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	letter-spacing: -0.2px;
}

header .title {
	margin: 0;
	font-size: 20px;
	text-align: center;
	padding-top: 38px;
	color: #000000;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
}

header .cover-nav {
	float: right;
	margin-right: 90px;
	list-style-type: none;
	margin-top: 43px;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
}

header .cover-nav > li {
	float: left;
}

header .cover-nav > li > a {
	display: block;
	position: relative;
	font-weight: 400;
	padding: 0 90px;
	font-size: 21px;
	cursor: pointer;
}

header .cover-nav .title_section1 {
	color: #71bf65 !important;
}

header .cover-nav .title_section1:hover {
	color: #383838 !important;
}

header .cover-nav .title_section2 {
	color: #f68220 !important;
}

header .cover-nav .title_section2:hover {
	color: #383838 !important;
}

header .cover-nav .title_section3 {
	color: #2fa5e6 !important;
}

header .cover-nav .title_section3:hover {
	color: #383838 !important;
}

header .cover-nav .title_section4 {
	color: #2fa5e6 !important;
}

header .cover-nav .title_section4:hover {
	color: #383838 !important;
}


header .cover-nav > li > a:before {
	display: block;
	content: '';
	position: absolute;
	right: 0;
	top: 2px;
	height: 18px;
	border-right: 1px solid #595a5c;
}

header .cover-nav > li:last-child > a:before {
	display: none;
}

header .btn-toggle-nav {
	display: block;
	width: 35px;
	height: 20px;
	background-image: url('../img/common/btn_nav.png');
	background-size: contain;
	position: absolute;
	right: 1.5rem;
	top: 30px;
	cursor: pointer;
}



.top-title {
	position: absolute;
	top: 125px;
	z-index: 1;
	pointer-events: none;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.85);
	left: 50%;
	transform: translateX(-50%);
	border-radius: 3px;
	padding: 7px 8px 4px;
	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	font-size: 19px;
	line-height: 1.0em;
	letter-spacing: 0.01em;
	color: #000000;
}


#side-nav {
	/*
    display:none;
    position:fixed;

    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.4);
    z-index:1000;
    */
}

#side-nav > .wrap {
	position: fixed;
	width: 600px;
	height: 100%;
	right: -600px;
	top: 0;
	background-color: #fff;
	animation-delay: 1s;
	transition: right .3s;
	z-index: 1000;
	padding: 60px 0 60px 0;
	overflow-y: scroll;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
}

#side-nav > .wrap .btn-toggle-nav-close {

	width: 30px;
	height: 30px;
	position: absolute;
	right: 12px;
	top: 19px;
	background-image: url('../img/common/btn_nav_close.png');
	cursor: pointer;
}

#side-nav > .wrap .logo {
	margin: 0 0 30px 32px;
	padding-left: 150px;
	padding-top: 3px;
	height: 45px;
	background-image: url('../img/common/logo_side.png');
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
}

#side-nav > .wrap .logo .vol {
	color: #000;
	font-weight: 500;
	display: block;
	line-height: 19px;
	margin-left: 10px;
	margin-top: -5px;
}

@media screen and (min-width:767px) {

	.lSSlideOuter .lightSlider,
	.lSSlideOuter .lSPager {
		padding: 0 !important;
	}
}

@media screen and (max-width:767px) {

	.top-title {
		position: absolute;
        z-index: 1;
        color: #000;
        pointer-events: none;
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(255, 255, 255, 0.7);
        left: 50%;
        transform: translateX(-50%);
        border-radius: 3px;
        padding: 6px 8px 6px;
	}

	.top-title2 {
		position: absolute;
		z-index: 501;
		top: 110px;
		z-index: 1;
		font-size: 18px !important;
		font-weight: 400;
		font-family: "s-core", "Malgun Gothic", "sans-serif";
		color: #000;
		pointer-events: none;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(255, 255, 255, 0.7);
		left: 50%;
		transform: translateX(-50%);
		border-radius: 5px;
	}
	
	
	.top-title {
        top: 80px;
    }

	#side-nav > .wrap .logo .vol {
		color: #000;
		font-weight: 500;
		display: block;
		line-height: 19px;
		margin-left: -14px;
		margin-top: 17px;
	}
}

#side-nav > .wrap .logo .vol h1,
#side-nav > .wrap .logo .vol h2 {
	/* display: inline-block; */
	font-size: 16px;
}

#side-nav > .wrap .logo .vol h1 {
	padding-right: 15px;
	margin-right: 10px;
}


#side-nav > .wrap .logo .vol h2 b {
	font-size: 22px;
}

#side-nav > .wrap .nav-content {
	margin-bottom: 30px;
}

#side-nav > .wrap .nav-content h3 {
	margin: 0 0 7px 32px;
	padding-bottom: 10px;

	font-family: "Paperlogy7", "Malgun Gothic", "sans-serif";
	font-size: 21px;
	border-bottom: 1px solid #e5e5e5;
	color: #ffffff;
}


#side-nav > .wrap .nav-content ul {
	margin: 0;
	list-style-type: none;
	padding-left: 0;
}

#side-nav > .wrap .nav-content ul > li > a {
	display: block;
	padding: 5px 0 5px 32px;
	color: #141414;
	background-color: #fff;
	transition: background-color .3s, color .3s;
}

#side-nav > .wrap .nav-content ul > li > a small {
	display: inline-block;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	font-weight: 500;
	font-size: 14pt;
	padding-bottom: 1px;
	border-bottom: 1px solid;
	background-color: transparent;
	color: #000;
	transition: color .3s;
}

#side-nav > .wrap .nav-content ul > li > a span {
	display: block;
	font-size: 18px;
	background-color: transparent;
	color: #000;
	transition: color .3s;
	margin-top: 8px;
	margin-bottom: 5px;
	letter-spacing: -0.02em;
	font-family: "NanumSquareNeoBold", "Malgun Gothic", "sans-serif";
}

#side-nav > .wrap .nav-content ul > li:hover > a span,
#side-nav > .wrap .nav-content ul > li:hover > a small {
	color: #fff;
}

#side-nav > .wrap .nav-content ul > li.active > a span,
#side-nav > .wrap .nav-content ul > li.active > a small {
	color: #fff;
}





#side-nav > .wrap .nav-content:nth-child(2) ul > li.active > a,
#side-nav > .wrap .nav-content:nth-child(2) ul > li:hover > a {
	background-color: #ffffff;
	color: #fff;
}






#side-nav > .wrap .btn-wrap {
	border-top: 1px solid #e5e5e5;
	padding-top: 50px;
	margin-left: 30px;
}

#side-nav > .wrap .btn-wrap > .row {
	margin: 0;
}

#side-nav > .wrap .btn-x {
	position: relative;
	display: inline-block;
	width: 175px;
	height: 48px;
	line-height: 40px;
	padding: 3px 20px;
	margin-right: 15px;
	background-color: #eeeeee;
	border: 1px solid #e5e5e5;
	color: #000;
	cursor: pointer;
	font-family: "NanumSquareNeoBold", "Malgun Gothic", "sans-serif";
	border-radius: 3px;
}

#side-nav > .wrap .btn-x ul {
	display: none;
	width: 175px;
	padding: 0;
	list-style-type: none;
	position: absolute;
	background-color: #fff;
	border: 1px solid #eee;
	left: -1px;
	bottom: 46px;
	margin: 0;
	height: 400px;

	overflow-y: auto;
}

#side-nav > .wrap .btn-x.open ul {
	display: block;
}

#side-nav > .wrap .btn-x ul > li > a {
	display: block;
	padding: 10px 13px;
	color: #222;
	transition: background-color .3s, color .3s;
	font-family: "NanumSquareNeo", "Malgun Gothic", "sans-serif";
	font-size: 16px;
}

#side-nav > .wrap .btn-x ul > li:hover > a {
	background-color: #90c2dd;
	color: #fff;
}

#side-nav > .wrap .btn-x.btn-newsstand:after {
	display: block;
	content: '';
	border-left: 6px solid #363636;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	right: 10px;
	top: 45%;
	margin-top: -5px;
}

#side-nav > .wrap .btn-x.btn-prev:after {
	display: block;
	content: '';
	border-left: 5px solid #000;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -3px;
}

body.nav-open {
	overflow: hidden;
	font-family: "nanum-square-r", "Malgun Gothic", "sans-serif";
}

body.nav-open #side-nav {
	display: block;
}

body.nav-open #side-nav:before {
	display: block;
	content: '';
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 500;
}

body.nav-open #side-nav > .wrap {
	right: 0;
}





.article-list a .text-wrapper {
	overflow: hidden;
	position: absolute;
	bottom: 60%;
	left: 0%;
	width: 100%;
	text-align: center;
	transition: all 0.3s;
	font-family: "s-core", "Malgun Gothic", "sans-serif";
	font-weight: 500;
}

.article-list a .text-wrapper .title {
	position: relative;
	font-size: 20px;
	color: #fff;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 0;
	height: auto;
	font-weight: bold;
	line-height: 1.3;
	/*display: inline-block;*/
	display: block;
	text-align: left;
	padding: 10px 0 0;
	white-space: nowrap;
}

.article-list a .text-wrapper .desc {
	font-size: 18px;
	line-height: 24px;
}

.article-list a .text-wrapper .desc::before {
	content: "";
	width: 30px;
	height: 1px;
	background-color: white;
	display: block;
	margin: 0;
	opacity: 0;
	transition: opacity 0.3s, margin 0.3s 0.3s;
}

.article-list a .text-wrapper .desc::before {
	/*opacity: 1;*/
	/*margin-top: 10px;*/
	/*margin-bottom: 10px;*/
	/*transition: margin 0.1s, opacity 0.3s 0.3s;*/
}

.article-list a .text-wrapper .desc {
	box-sizing: border-box;
	width: 100%;
	display: block;
	position: relative;
	left: 0;
	/* font-size: 14px; */
	color: #fff;
	margin-bottom: -10px;
	height: 40px;
	max-height: 0;
	white-space: nowrap;
	transition: max-height 0.6s;
	z-index: 9;
	word-break: keep-all;
}

.article-list a:hover .text-wrapper .desc {
	max-height: 100px;
	transition: max-height 0.8s;
}



@media screen and (max-width:767px) {

	.ptn_common {
		background-image: url(../img/contents/ptn_bu.png);
		background-repeat: repeat;

	}


	.mobackwithe {
		background-color: #ffffff;
	}


	body {
		/* padding-top: 64px; */
	}

	.container {
		/* padding: 0 10px; */
	}

	header {
		height: 64px;
	}

	header h1 {
		left: 0px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	header .main > a {
		height: 62px;
		padding-left: 140px;
		background-size: contain;
	}

	header .main1 > a {
		height: 57px;
		padding-left: 120px;
		background-size: auto 33px;
	}

	header .main .vol {
		line-height: 14px;
		font-size: 13px;
		color: #000;
		font-weight: 500;
		padding-top: 25px;
		margin-left: -10px;
	}

	header .main1 .vol {
		line-height: 14px;
		font-size: 13px;
		color: #000;
		font-weight: 500;
		padding-top: 25px;
		margin-left: -10px;
	}

	header .main .vol small {
		font-size: 11px;
		color: #000;
	}


	header .story > a {
		height: 30px;
		width: 40px;
		padding-left: 40px;
		margin-left: 20px;
		margin-top: 5px;
		background-size: auto 21px;
	}

	header .story .vol {
		line-height: 14px;
		padding-top: 0px;
		font-size: 12pt;
		color: #000;
		font-weight: 500;
		padding-left: 10px;
	}

	header .sub .only-logo {}

	header .sub .only-logo > a {
		background-size: 78px 33px;
		margin-top: 10px;
		background-image: url(../img/common/logo_mobile.png);
		height: 39px;

	}

	header .sub .only-logo .vol {
		display: none;
	}

	header .head {
		/*display: flex;*/
		/*justify-content: center;*/
		/*align-items: center;*/
		/*height: 64px;*/
	}

	header .title {
		padding-top: 22px;
		font-weight: 600;
	}

	header .cover-nav {
		display: none;
	}

	header .btn-toggle-nav {
		top: 53%;
		margin-top: -12px;
	}



	#side-nav > .wrap {
		width: 85%;
		padding-top: 20px;
	}

	#side-nav > .wrap .logo {
		margin-left: 20px;
		padding-left: 150px;
		background-size: contain;
		height: 82px;
		margin-right: 15px;
	}

	#side-nav > .wrap .logo .vol h1,
	#side-nav > .wrap .logo .vol h2 {
		font-size: 13px;
		margin-top: 5px;
	}

	#side-nav > .wrap .btn-toggle-nav-close {
		right: 80%;
		top: 23px;
	}

	#side-nav > .wrap .nav-content h3 {
		margin-left: 20px;
	}

	#side-nav > .wrap .nav-content ul > li > a {
		padding-left: 20px;
	}

	#side-nav > .wrap .btn-wrap {}

	#side-nav > .wrap .btn-x {
		margin: 6px 0;
	}
}

@media screen and (max-width:767px) {

	section,
	#include-header,
	#include-footer {
		width: 100%;
	}

	.container {
		margin: 0;
		width: auto;
	}

	header {
		width: 100%;
	}

	header h1 .vol {
		display: block;
		font-size: 19pt;
		font-weight: 500;
		line-height: 19px;
		color: #000;
		padding-top: 40px;
		font-family: "s-core", "Malgun Gothic", "sans-serif";
	}

	section.theme {
		padding: 0 10px;
	}

	section.theme .container .col-sm-6.m {
		padding: 0 0px;
	}

	.top-title {
		/* display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		top: 17px;
		font-size: 17pt;
		width: 100vw; */
	}

	.top-title.main {
		display: none;
	}

	.top-title2.main {
		display: none;
	}


	.top-title.section2 > h1 {
		font-size: 17px;
		 font-family: 'Paperlogy5';
	}

}

@media screen and (max-width:1500px) {}


.wrapper {
	width: 90%;
	margin: 0 auto;
}

.wrapper_menu {
	width: 1450px;
	margin: 0 auto;
}

.wrapper_footer {
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width:1600px) {
	.wrapper {
		width: 1580px;
	}

	footer .wrapper_footer {
		width: 95%;
		margin: 0 auto;
	}

	footer .wrapper_footer .footer_pc .footer_left .footer_left_bottom {
		margin-left: 0;
		font-size: 12px;
		line-height: 1.4;
	}
}

@media screen and (min-width:1300px) {}

@media screen and (max-width:1300px) {
	.wrapper {
		width: 850px;
	}

	header h1 {
		left: 1.5rem !important;
	}
}

@media screen and (min-width:950px) {
	header .btn-toggle-nav {
		display: block;
	}

	.sec_con_wrap .sec_tit_mo {
		display: none;
	}

	/* header h1 {display: none;} */
}

@media screen and (min-width:1200px) {
	header .btn-toggle-nav {
		display: none;
	}


	/* header h1 {display: none;} */
}


@media screen and (max-width:1200px) {

	header nav > ul {
		display: none;
	}
}

@media screen and (max-width:950px) {
	.wrapper {
		width: 720px;
		padding: 0 30px;
		box-sizing: border-box;
	}

	header nav > ul {
		display: none;
	}

	footer .wrapper_footer .footer_pc .footer_left .footer_left_bottom {
		font-size: 10px;
		line-height: 1.6;
	}

}

@media screen and (min-width:750px) {
	footer .wrapper_footer .footer_mo {
		display: none;
	}
}

@media screen and (max-width:767px) {
	html {
		font-size: 10px;
	}
}

@media screen and (max-width:750px) {
	.wrapper {
		width: 443px;
		padding: 0 15px;
	}

	.wrapper_menu {
		width: 100%;
		padding: 0 15px;
	}

	footer .wrapper_footer {
		width: 360px;
		padding: 0 15px;
	}

	footer .wrapper_footer .footer_pc {
		display: none;
	}
}

@media screen and (max-width:480px) {
	.wrapper {
		width: 360px;
		padding: 0 15px;
	}
}

@media screen and (max-width:767px) {
	html {
		font-size: 10px;
	}
}

/* ================================
   전체메뉴 이메일 폼 (수정본: 위치/깨짐 해결)
================================ */


/* 2. 왼쪽 이미지 영역 */
.fullmenu-left {
	flex: 0 0 auto;
	/* 이미지 크기 고정 */
}

.fullmenu-left img {
	display: block;
	width: 210px;
	border-radius: 0px;
}

/* 3. 오른쪽 그룹 (메뉴 + 이메일) 세로 배치 */
.fullmenu-right-group {
	flex: 1;
	/* 남은 공간 모두 차지 */
	display: flex;
	flex-direction: column;
	/* 위아래 배치 */
	justify-content: space-between;
	/* 메뉴는 위, 이메일은 아래 끝으로 밀기 */
}

/* (A) 메뉴 영역 스타일 */
.fullmenu-menus {
	display: flex;
	justify-content: space-between;
	/* 컬럼들을 가로로 쫙 펼침 */
	width: 100%;
	margin-top: 50px;
	/* 상단 미세 조정 */
}

.fullmenu-col {
	flex: 1;
	/* 컬럼 너비 균등 분배 */
	/* 텍스트가 세로로 깨지지 않게 최소 너비 보장 */
	min-width: 140px;
}

/* (B) 이메일 입력 영역 (오른쪽 하단 정렬) */
.fullmenu-subscribe-area {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	/* 오른쪽 끝 정렬 */
	gap: 15px;
	position: relative;
	padding-bottom: 0px;
	/* 하단 여백 제거 (이미지 라인에 맞춤) */
	width: 100%;
}

/* 라벨 스타일 */
.subscribe-label {
	background-color: #fff;
	color: #000;
	font-weight: 800;
	padding: 12px 20px;
	font-family: 'Paperlogy5', sans-serif;
	font-size: 18px;
	white-space: nowrap;
}

/* 폼 컨테이너 */
.subscribe-form {
	display: flex;
	align-items: center;
	background: #fff;
	padding: 5px;
	width: 420px;
	max-width: 100%;
	border-radius: 4px;
}

/* 입력창 */
.subscribe-input {
	flex: 1;
	border: none;
	padding: 8px 13px;
	font-size: 18px;
	outline: none;
	color: #333;
	min-width: 0;
}

/* 버튼 */
.subscribe-btn {
	background-color: #2563eb;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 8px 22px 6px;
	line-height: 1.3em;
	font-size: 19px;
	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	letter-spacing: 0em;
	cursor: pointer;
	margin-left: 5px;
	white-space: nowrap;
	transition: background-color 0.2s;
}

.subscribe-btn:hover {
	background-color: #1d4ed8;
}

/* 성공/실패 메시지 */
.subscribe-status {
	position: absolute;
	top: -35px;
	right: 0;
	font-size: 17px;
	color: #fff;
	text-align: right;
}

.subscribe-status.ok {
	color: #4ade80;
}

.subscribe-status.err {
	color: #ff7c7c;
}


/* 모바일 반응형 (필요시) */
@media (max-width: 1024px) {
	.fullmenu-inner {
		flex-direction: column;
        gap: 40px;
        display: flex;
        justify-content: center;
        align-items: stretch;
        margin: 60px auto 80px;
        padding: 0 5%;
        gap: 60px;
	}

	.fullmenu-right-group {
		width: 100%;
		gap: 40px;
	}

	.fullmenu-subscribe-area {
		justify-content: center;
		flex-direction: column;
		align-items: stretch;
	}

	.subscribe-label {
		text-align: center;
		width: 100%;
		box-sizing: border-box;
	}

	.subscribe-form {
		width: 100%;
	}
}


/* ========================================================
   [Common] 인터랙티브 헤더 통합 스타일 (By Senior Publisher)
   ======================================================== */

/* 1. 헤더 컨테이너 (기본 상태: 투명/흰색) */
header {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 95px;
	background-color: transparent;
	/* 초기: 흰색 배경 */
	transition: background-color 0.4s ease, border-bottom 0.4s ease, box-shadow 0.4s ease;
	z-index: 1000;
}

/* 2. 로고 컨테이너 (.main) - 화면 정중앙 배치 */
header .main {
	position: absolute !important;
	left: 50%;
	/* 초기: 화면 정중앙 */
	top: 50%;
	transform: translate(-50%, -50%);
	/* 중앙 정렬 */
	width: auto !important;
	margin: 0 !important;

	/* 부드러운 이동 애니메이션 */
	transition: all 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
	z-index: 100;
}

/* 3. 로고 이미지 (a 태그) - 기본 로고 */
header .main > a {
	display: block;
	/* [기본] 검은색 로고 */
	background-image: url('../img/common/logo.png') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;

	padding-left: 0 !important;
	width: 450px;
	/* 로고 크기 */
	height: 44px;
	margin-top: 3px !important;
	/* 이미지 교체될 때 깜빡임 방지 및 부드러운 효과 */
	transition: all 0.3s ease;
}

/* 4. 메뉴 (.nav) - 초기 숨김 상태 */
header nav.nav {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.4s ease;
}

/* ========================================================
   [Scrolled] 스크롤 발생 시 변환 (.scrolled 클래스)
   ======================================================== */

/* 헤더 배경: 남색(#252261)으로 변경 */
header.scrolled {
	background-color: rgb(30 29 93 / 93%) !important;
	border-bottom: 0;
	/* 라인 제거 */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	/* 그림자 추가 */
}

/* 로고 위치: 90% 레이아웃 기준 왼쪽 정렬 */
header.scrolled .main {
	/* (100% - 90%) / 2 = 5% 
       화면 전체에서 90% 영역의 시작점인 5% 위치로 이동 */
	left: 5% !important;
	transform: translate(0, -50%);
	/* X축 중앙정렬 해제, Y축만 유지 */
}

/* 로고 이미지: 흰색 로고로 교체 */
header.scrolled .main > a {
	width: 207px;
	/* 스크롤 시 로고 크기 살짝 축소 */

	/* [교체] 흰색 로고 (logow.png) */
	background-image: url('../img/common/logow.png') !important;

	background-position: left center !important;
	/* 왼쪽 정렬 */

	/* 필터 효과 제거 (이미지 자체를 바꿨으므로) */
	filter: none !important;
}

/* 메뉴: 나타나기 */
header.scrolled nav.nav {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* 메뉴 텍스트: 흰색으로 변경 */
header.scrolled nav.nav > ul > li > a {
	color: #ffffff !important;
}


/* =========================================
   [최종 수정] 뉴스레터 하단 배너 스타일
   ========================================= */

/* 1. 전체 영역 (배경색 제거, 흰색 유지) */
.newsletter-banner {
	background-color: transparent;
	/* 배경색 투명 또는 #fff */
	width: 100%;
	position: relative;
	padding: 40px 0 0px;
	margin-top: 0px;
	margin-bottom: 0;
	overflow: visible;
	/* 캐릭터가 섹션 밖으로 튀어나와도 보이게 */
	z-index: 10;
}

/* 2. 내부 정렬용 컨테이너 */
.newsletter-inner {
	max-width: 1450px;
	margin: 0 auto;
	padding: 0 0px;
	display: flex;
	align-items: center;
	/* 수직 중앙 정렬 */
	justify-content: center;
	/* 수평 중앙 정렬 */
	position: relative;
	/* 캐릭터 위치 기준점 */
}

/* 3. "뉴스레터 등록 신청" 텍스트 (박스 밖, 검정색) */
.newsletter-text {
	font-family: 'Paperlogy5', sans-serif;
	/* 굵은 폰트 */
	font-size: 23px;
	color: #000000;
	/* 검정색 */
	margin-right: 20px;
	/* 입력창 박스와의 간격 */
	letter-spacing: -0.00em;
	padding-left: 120px;
	margin-top: 7px;
}

/* 4. 입력 폼 박스 (★여기가 남색 박스가 됩니다★) */
.newsletter-form {
	background-color: #1c1a3f;
	padding: 15px 18px 10px;
	border-radius: 10px 10px 0px 0px;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 이메일 입력창 */
.newsletter-form input[type="email"] {
	width: 320px;
	/* 너비 */
	height: 45px;
	/* 높이 */
	border: 0;
	border-radius: 4px;
	padding: 0 15px;
	font-size: 17px;
	font-family: 'Paperlogy5', sans-serif;
	outline: none;
	background-color: #ffffff;
	color: #333;
}

/* 등록 버튼 (보라색) */
.newsletter-btn {
	width: 80px;
	height: 45px;
	background-color: #5345aa;
	/* 버튼 색상 (이미지와 비슷한 보라색) */
	color: #fff;
	font-family: 'Paperlogy5', sans-serif;
	font-size: 17px;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s;
	white-space: nowrap;
}

.newsletter-btn:hover {
	background-color: #433691;
}

/* 5. 캐릭터 (우측 하단 배치) */
.newsletter-character {
	position: absolute;
	right: 0;
	/* 오른쪽 끝 */
	bottom: 0px;
	/* 바닥에 붙이기 (섹션 padding만큼 내려줌) */
	z-index: 20;
	pointer-events: none;
	/* 클릭 방지 */
}

.newsletter-character img {
	height: 384px;
	/* 캐릭터 크기 (원하는대로 조절 가능) */
	width: auto;
	display: block;
}

/* --- 모바일 반응형 --- */
@media screen and (max-width: 1024px) {
	.newsletter-banner {
		padding: 15px 0 0px;
	}

	
	.newsletter-inner {
		flex-direction: column;
		/* 세로로 쌓기 */
		align-items: center;
		gap: 15px;
		margin: 0 auto;
		width: 95%;
		display: block;
	}

	.newsletter-text {
		margin-right: 0;
		font-size: 20px;
		padding-left: 0px;
		text-align: center;
		margin-bottom: 10px;
	}

	/* 모바일에서는 캐릭터 위치 조정 */
	.newsletter-character {
		position: relative;
		right: auto;
		bottom: auto;
		margin-top: 20px;
	}

	.newsletter-character img {
		height: 180px;
	}
}

/* =========================================
   [긴급 수정] 층(Layer) 순서 재정렬
   ========================================= */

/* 1. 뉴스레터 배너 (캐릭터 포함) */
.newsletter-banner {
	position: relative;
	/* 이전 섹션(카드 메뉴)보다 위로 올라오도록 설정 */
	z-index: 50;
}

/* 2. 캐릭터 설정 수정 */
.newsletter-character {

	pointer-events: auto;

}


footer {
	position: relative;
	z-index: 60;
}

footer .wrapper_footer .prev .selectPrev ul {
	z-index: 100 !important;
}

/* =========================================
   [수정] 상단 메뉴 호버 디자인
   마우스 올렸을 때: 배경 흰색 / 글자 검정색
   ========================================= */

/* 1. 메뉴 박스 배경을 흰색으로 */
header nav > ul > li:hover {
	background-color: #ffffff !important;
}



/* (참고) 스크롤 되었을 때도 동일하게 적용 */
header.scrolled nav.nav > ul > li:hover > a {
	color: #000000 !important;
}

/* =========================================
   [최종] 소메뉴(드롭다운) 스타일링 
   1. 박스 디자인: 검정 테두리 + 하단 둥근 모서리(10px)
   2. 형광펜 효과: 높이 20%, 세로 정중앙 배치
   ========================================= */

/* 1. 소메뉴 전체 컨테이너 (ul) 디자인 */
header nav > ul > li > ul {
	background-color: transparent;
	border: 0px solid transparent;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
	box-sizing: border-box;
	display: block;
	width: 100%;
	transition: none !important;
}

/* 3. 소메뉴 개별 아이템 (li) */
header nav > ul > li > ul > li {
	background-color: #ffffff !important;
	/* 배경 흰색 고정 */
	/* 테두리와 겹치지 않도록 마진 조정이 필요할 수 있으나 기본 유지 */
}

/* 4. 형광펜 효과 (span 태그 대상) */
/* a 태그: 클릭 영역 */
header nav > ul > li > ul > li > a {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	text-decoration: none;
	color: #000000 !important;
}

/* 4. 형광펜 효과 (span 태그 대상) */
header nav > ul > li > ul > li > a span {
	position: relative;
	z-index: 1;
	display: inline-block;
	line-height: 1.2;
	/* ★ 핵심 수정: 글씨 양옆에 10px씩 공간을 줘서 형광펜을 길게 만듦 */
	padding: 0 20px;

	/* [핵심] 형광펜 스타일 */
	background-image: linear-gradient(#fffd7c, #fffd7c);
	/* 노란색 */
	background-repeat: no-repeat;

	/* 위치: 가로=왼쪽(0%), 세로=조금 아래(120% 지점 - 취향에 따라 조절) */
	background-position: 0% 80% !important;
	/* 80%~90% 정도가 글씨 하단에 걸칩니다 */

	/* 크기: 초기엔 너비 0%, 높이 20% (얇게) */
	background-size: 0% 70% !important;

	/* 애니메이션: 너비가 스윽 늘어남 */
	transition: background-size 0.5s ease-in-out;

	font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
	font-size: 20px;
	letter-spacing: 0.03em;
}

header nav > ul > li > ul > li:nth-child(1) {
	margin-top: 0 !important;
	transition: none !important;
}

header nav > ul > li:hover > ul > li:nth-child(1) {
	margin-top: 25px !important;

}




/* 5. 소메뉴 호버 시 형광펜 너비 확장 */
header nav > ul > li > ul > li:hover > a span {
	/* 패딩을 포함한 전체 너비(100%)만큼 칠해짐 */
	background-size: 100% 70% !important;
	color: #e42a2a;
}

/* =========================================
   [최종] 대메뉴 호버 디자인 (탭 모양 박스)
   1. 높이: 하단에서 85%만 올라옴
   2. 테두리: 위, 좌, 우 1px 검정 (아래 없음)
   3. 둥근 모서리: 위쪽만 10px
   ========================================= */

/* 1. 대메뉴 리스트 아이템 기준점 설정 */
header nav > ul > li {
	position: relative !important;
	/* 가상요소 위치 잡기 위해 필수 */
}

/* 2. 가상요소(::before)로 '85% 높이의 박스' 생성 */
header nav > ul > li::before {
	content: '';
	position: absolute;
	bottom: 0;
	/* 하단에 딱 붙임 */
	left: 0;
	width: 100%;
	/* 너비는 가득 채움 */
	height: 0%;
	/* 평소에는 높이 0 (안 보임) */

	background-color: #ffffff;
	/* 배경 흰색 */

	/* 테두리: 위(1px) 우(1px) 아래(0) 좌(1px) */
	border-width: 1px 1px 0 1px;
	border-style: solid;
	border-color: #000000;

	/* 모서리: 좌상(10px) 우상(10px) 우하(0) 좌하(0) */
	border-radius: 10px 10px 0 0;
	box-sizing: border-box;
	/* 테두리 포함 사이즈 계산 */
	transition: height 0.3s ease;
	/* 부드럽게 올라오는 애니메이션 */
	z-index: 0;
	/* 글자보다 뒤에 배치 */
	opacity: 0;
	/* 평소 투명 */
}

/* 3. 호버 시 박스 높이를 85%로 설정 */
header nav > ul > li:hover::before {
	height: 95% !important;
	opacity: 1;
}

/* 4. 기존 텍스트(a태그)가 박스 뒤로 숨지 않게 앞으로 꺼냄 */
header nav > ul > li > a {
	position: relative !important;
	z-index: 10 !important;
	/* 박스(z-index:0)보다 앞에 오도록 */
	/* 기존 형광펜 효과 등 유지 */
}

/* 5. (중요) 기존에 설정했던 li 배경색 제거 (충돌 방지) */
header nav > ul > li:hover {
	background-color: transparent !important;
}


/* =========================================
   [최종] 메뉴 애니메이션: 나타날 때만 부드럽게, 사라질 때 즉시
   ========================================= */

/* 1. 소메뉴 아이템 (li) 설정 */
header nav > ul > li > ul > li {
	height: 0;
	overflow: hidden;
	opacity: 1;
	/* [중요] 기본 상태(마우스 뗄 때)는 애니메이션을 끕니다 */
	transition: none !important;
}

header nav > ul > li:hover > ul > li {
	height: 48px !important;
	opacity: 1;
	/* [중요] 호버 상태(마우스 올릴 때)에만 펼쳐지는 애니메이션을 줍니다 */
	transition: height 0.3s ease !important;
	overflow: hidden;
}


/* 2. 대메뉴 배경 탭 (::before) 설정 */
header nav > ul > li::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0%;
	background-color: #ffffff;
	border-width: 1px 1px 0 1px;
	border-style: solid;
	border-color: #8d8d8d;
	border-radius: 10px 10px 0 0;
	box-sizing: border-box;
	z-index: 0;
	opacity: 0;
	/* [중요] 마우스 뗄 때 즉시 사라지게 설정 */
	transition: none !important;
}

header nav > ul > li:hover::before {
	height: 95% !important;
	opacity: 1;
	/* [중요] 마우스 올릴 때만 스르륵 올라오게 설정 */
	transition: height 0.3s ease, opacity 0.3s ease !important;
}




header nav > ul > li:hover > ul {
	background-color: #ffffff;
	border: 1px solid #8d8d8d !important;
	border-radius: 0 0 10px 10px !important;
	display: block;
}

/* 소메뉴 활성화(active) 시 형광펜 효과 */
header nav > ul > li > ul > li.active > a span {
	background-size: 100% 70% !important;
	/* 형광펜 칠하기 */
	color: #e42a2a !important;
	/* 글자색 빨강 */
}

/* ========================================================
   [Mobile Fix Final] 모바일 헤더 애니메이션 강제 적용 (수정본)
   ======================================================== */
@media screen and (max-width: 767px) {
	
	
	.global-menu-toggle {
    position: fixed;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: #ff2d7a;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    z-index: 500;
}
	
	.global-menu-toggle span {
    display: block;
    width: 35px;
    height: 3px;
    background: #ffffff;
    border-radius: 2px;
}
	
	
	
	
	
	

	header {
		height: 60px;
	}

	/* 1. 기존 Flexbox 강제 정렬 해제 및 애니메이션 준비 */
	header h1,
	header h1.main {
		display: block !important;
		/* Flex 제거 */
		position: absolute !important;
		/* 좌표 이동 가능하게 변경 */
		top: 50% !important;
		margin: 0 !important;
		padding: 0 !important;
		width: auto !important;
		/* 100% 너비 해제 */
		justify-content: normal !important;
		/* 정렬 해제 */
		align-items: normal !important;
		/* 정렬 해제 */

		/* 부드러운 이동을 위한 애니메이션 설정 */
		transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
		z-index: 100;
	}

	/* 2. [초기 상태: 스크롤 전] 화면 정중앙 배치 */
	header:not(.scrolled) h1.main {
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		/* 정중앙 보정 */
	}

	/* 초기 로고 이미지 (검정) */
	header:not(.scrolled) h1.main > a {
		display: block !important;
		width: 270px !important;
		height: 60px !important;
		padding-left: 0 !important;
		background-image: url(../img/common/logo.png) !important;
		background-size: contain !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		transition: all 0.3s ease !important;
		margin-top: 9px !important;
	}

	/* 3. [스크롤 후] 좌측 이동 및 배경색 변경 */
	header.scrolled {
		background-color: rgb(30 29 93 / 95%) !important;
		/* 남색 배경 */
		transition: background-color 0.4s ease;
	}

	header.scrolled h1.main {
		left: 15px !important;
		/* 좌측으로 이동 */
		transform: translate(0, -50%) !important;
		/* 중앙 정렬 해제 */
	}

	/* 스크롤 로고 이미지 (흰색) */
	header.scrolled h1.main > a {
		width: 140px !important;
		/* 크기 축소 */
		height: 40px !important;
		padding-left: 0 !important;
		margin-top: 0px !important;
		background-image: url('../img/common/logow.png') !important;
		/* 흰색 로고 교체 */
		background-position: left center !important;
		/* 왼쪽 정렬 */
	}

	/* 4. 애니메이션 방해 요소 숨김 (.vol 텍스트 등) */
	header .main .vol,
	header h1 .vol {
		display: none !important;
	}
}

/* ========================================================
   [Mobile Toggle Fix] 스크롤 시에만 햄버거 버튼 노출
   ======================================================== */
@media screen and (max-width: 767px) {
    
    /* 1. 초기 상태: 버튼 숨김 */
    .global-menu-toggle {
        display: none !important; /* 평소에는 안 보임 */
        opacity: 0;
        transition: opacity 0.3s ease; /* 부드러운 효과 준비 */
    }

    /* 2. 스크롤 상태(header.scrolled): 버튼 등장 */
    header.scrolled .global-menu-toggle {
        display: flex !important; /* 스크롤 되면 보임 (flex 유지) */
        opacity: 1;
    }
}
/* ========================================================
   [Mobile Fullmenu Fix] 전체메뉴 모바일 세로 정렬 및 최적화
   ======================================================== */
@media screen and (max-width: 767px) {

    /* 1. 전체 메뉴 내부 컨테이너 레이아웃 재정비 */
    .fullmenu-inner {
        padding: 80px 20px 40px !important; /* 상단 여백(닫기 버튼 고려) 확보 */
        display: block !important; /* Flex 해제하고 일반 블록으로 */
        overflow-y: auto !important; /* 내용이 길면 스크롤 */
        height: 100% !important;
    }


    /* 3. 오른쪽 그룹 (메뉴 + 이메일) */
    .fullmenu-right-group {
        width: 100% !important;
        display: block !important; /* 세로 배치를 위해 블록화 */
    }

    /* 4. ★핵심★ 메뉴 컬럼들 세로 배치 */
    .fullmenu-menus {
        display: flex !important;
        flex-direction: column !important; /* 가로(Row) -> 세로(Column) 변경 */
        gap: 40px !important; /* 각 덩어리(건강 꼭! 루틴 등) 사이 간격 */
        margin-top: 0 !important;
    }

    /* 5. 개별 컬럼 스타일 정리 */
    .fullmenu-col {
       width: 100% !important;
        min-width: auto !important;
        text-align: center !important;
        /* border-bottom: 1px solid rgba(255, 255, 255, 0.1); */
        padding-bottom: 0px !important;
    }
    
    /* 마지막 컬럼은 구분선 제거 */
    .fullmenu-col:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }

    /* 6. 메뉴 타이틀 (H3) 폰트 조절 */
    .fullmenu-col h3 {
        font-size: 25px !important;
        margin-bottom: 15px !important;
        display: inline-block !important; /* 중앙 정렬 보정 */
    }

    /* 7. 메뉴 링크들 (a) 터치 영역 확보 */
    .fullmenu-col a {
      font-size: 21px !important;
        padding: 5px 0 !important;
        display: block !important;
        border-radius: 3px;
        margin-bottom: 3px;
        font-family: "Paperlogy5", "Malgun Gothic", "sans-serif";
        transition: background .25s, color .25s;
        text-align: center;
        color: #d7d7e7;
    }

    /* 8. 하단 이메일 구독 폼 모바일 최적화 */
    .fullmenu-subscribe-area {
        margin-top: 50px !important;
        width: 100% !important;
        padding-bottom: 50px !important; /* 하단 스크롤 여유 공간 */
    }
    
    .subscribe-form {
        width: 100% !important;
    }
}

/* ========================================================
   [Mobile Fullmenu Fixed Header] 로고/닫기버튼 고정 및 내부 스크롤
   ======================================================== */
@media screen and (max-width: 767px) {

    /* 1. 전체 오버레이 자체의 스크롤은 막음 (헤더 고정을 위해) */
    .fullmenu-overlay {
        overflow: hidden !important; 
    }

    /* 2. 모바일 로고 고정 배치 */
    .fullmenu-mobile-logo {
        display: block !important; /* PC에선 none처리 필요 */
        position: absolute;
        top: 25px;    /* 상단 여백 */
        left: 20px;   /* 좌측 여백 */
        z-index: 10002; /* 닫기 버튼과 동급 */
    }

    .fullmenu-mobile-logo img {
        width: 190px; /* 로고 크기 조절 */
        height: auto;
    }

    /* 3. 닫기 버튼 위치 고정 및 정렬 */
    .fullmenu-close {
        position: absolute !important;
        top: 40px !important;  /* 로고와 높이 균형 맞춤 */
        right: 40px !important;
        z-index: 10002;
    }

    /* 4. ★핵심★ 내부 컨텐츠 영역만 스크롤 되도록 변경 */
    .fullmenu-inner {
        position: absolute;
        top: 15px;
        left: 0;
        width: 100%;
        height: 100% !important; /* 화면 전체 높이 */
        padding-top: 20px !important; 
        padding-bottom: 50px !important;
        
        /* 여기서 스크롤 발생 */
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch; /* 모바일 부드러운 스크롤 */
    }

    /* 5. 메뉴들 간격 미세 조정 (상단 여백 제거) */
    .fullmenu-menus {
        margin-top: 0 !important;
		margin-bottom: 100px;
    }
}
/* ========================================================
   [Mobile Footer Fix] 지난호 보기 모바일 최적화
   ======================================================== */
@media screen and (max-width: 767px) {

    /* 1. 지난호 보기 감싸는 영역 중앙 정렬 */
    footer .wrapper_footer .footer_mo .footer_bottom .prev {
        display: inline-block; /* 부모의 text-align: center 영향을 받아 중앙 배치 */
        margin: 30px auto 20px; /* 위아래 여백 확보 */
        width: auto;
        position: relative;
    }

    /* 2. 셀렉트 박스(버튼) 크기 확대 */
    footer .wrapper_footer .prev .selectPrev {
        width: 260px;       /* 모바일에 맞게 더 넓게 */
        height: 50px;       /* 터치하기 편하도록 높이 확대 */
        line-height: 28px;  /* 텍스트 수직 중앙 정렬 보정 */
        font-size: 16px;    /* 글자 크기 확대 */
        padding: 11px 40px 11px 20px; /* 화살표 공간 확보 */
        box-sizing: border-box;
        text-align: left;   /* 텍스트는 왼쪽 정렬 */
        border: 1px solid #ddd; /* 테두리 추가로 가시성 확보 */
    }

    /* 3. 화살표 아이콘 위치 조정 */
    footer .wrapper_footer .prev:after {
        right: 20px; /* 박스 안쪽으로 위치 조정 */
        pointer-events: none; /* 클릭 시 방해되지 않도록 */
    }

    /* 4. 드롭다운 리스트 (ul) 스타일 최적화 */
    footer .wrapper_footer .prev .selectPrev ul {
        width: 100%;        /* 버튼 너비와 동일하게 */
        left: 0;
        
        /* [핵심] 리스트가 위쪽으로 열리게 설정 (모바일 푸터 공간 부족 해결) */
        bottom: 55px;       
        top: auto;          
        width: 250px !important;
        max-height: 250px;  /* 너무 길어지지 않게 높이 제한 */
        overflow-y: auto;   /* 내부 스크롤 허용 */
        box-shadow: 0 -5px 15px rgba(0,0,0,0.1); /* 그림자 추가 */
        border-radius: 5px;
    }

    /* 5. 리스트 아이템 (li a) 터치 영역 확대 */
    footer .wrapper_footer .prev .selectPrev ul > li > a {
        padding: 12px 15px; /* 터치 영역 넉넉하게 */
        font-size: 18px;    /* 글자 크기 조정 */
        border-bottom: 1px solid #f1f1f1; /* 구분선 추가 */
        text-align: center; /* 리스트 내부 텍스트 가운데 정렬 (선택사항) */
    }
    
    /* 마지막 아이템 밑줄 제거 */
    footer .wrapper_footer .prev .selectPrev ul > li:last-child > a {
        border-bottom: none;
    }
}
