@charset "utf-8";
/* 
	common.css : 헤더, 푸터, 레이아웃 정의
*/

html {
	scrollbar-gutter: stable;
	font-family: 'pretendard', sans-serif;
  }


.mo-only-br {
	display: none;
}

.pc-only-br {
	display: block;
}

body.page-sub-consultation #header{
	background: #372c2456;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

@media (max-width: 1024px) {
	body.page-sub-consultation #header{
		background: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

@media (max-width: 560px) {
	.mo-only-br {
		display: block;
	}

	.pc-only-br {
		display: none;
	}
}


/******************************************************************************
 header { ******************************************************************************* */

:root {
	--header-inner-width: 95%;
}

.inner__header {
	width: var(--header-inner-width);
	margin: 0 auto;
}

#header {
	--header-icon-fill: #ffffff;
	pointer-events: none;
}

html.header-icons--dark #header {
	--header-icon-fill: #372c24;
}

 #header .header__main__box{
	padding: 16px 0;
	pointer-events: none;
 }

 #header .inner__cen1688,
 #header .header__main__box .logo__wr,
 #header .header__main__box .ham__menu__wr {
	pointer-events: none;
 }

 /* 로고: PNG 실루엣 + mask로 --header-icon-fill 단색 (메인에서 스크롤로 전환) */
 #header .header__main__box .logo__wr a {
	position: relative;
	display: inline-block;
	line-height: 0;
	pointer-events: auto;
 }

 #header .header__main__box .logo__wr a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--header-icon-fill, #ffffff);
	-webkit-mask-image: url("/images/logo.png");
	mask-image: url("/images/logo.png");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	pointer-events: none;
 }

 #header .header__main__box .logo__wr .logo {
	width: 111.38px;
	height: 48px;
	object-fit: contain;
	opacity: 0;
	vertical-align: top;
 }

 #header .header__main__box .ham__menu__wr{
	display: flex;
	margin-left: auto;
	position: static;
	width: auto;
	height: auto;
	background: transparent;
	z-index: auto;
 }

 #header .header__main__box .ham__menu__wr .btn__ham__open{
	display: block;
	width: 28px;
	height: 28px;
	border: 0;
	padding: 0;
	cursor: pointer;
	background-color: var(--header-icon-fill, #ffffff);
	-webkit-mask-image: url("/images/icon_ham_open.png");
	mask-image: url("/images/icon_ham_open.png");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	pointer-events: auto;
 }
 
 #header .header__main__box .ham__menu__wr .btn__ham__close{
	display: none;
 }

body.page-main #header{
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

body.page-main.main-header-ready #header{
	opacity: 1;
	visibility: visible;
	pointer-events: none;
}

.btn__to__top{
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 48px;
	height: 48px;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	z-index: 1200;
}

.btn__to__top img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.btn__to__top.is-show{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

@media (max-width: 820px) {
	#header .header__main__box .logo__wr .logo {
		height: 38px;
	}

	#header .header__main__box {
		padding: 10px 0;
	}

}

/* } header *****************************************************************************
***************************************************************************************/



/******************************************************************************
side menu { ******************************************************************************* */

.full__menu {
	--full__menu_dur: 0.42s;
	--full__menu_ease: cubic-bezier(0.22, 1, 0.36, 1);
	position: fixed;
	inset: 0;
	z-index: 10050;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
	pointer-events: none;
}

.full__menu.full__menu__on {
	pointer-events: auto;
}

body.full__menu__scroll__lock {
	overflow: hidden;
}

/* 딤: 패널과 무관하게 뷰포트 전체를 덮음 (패널은 그 위 레이어) */
.full__menu__dim {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	background: rgba(0, 0, 0, 0.6);
	-webkit-appearance: none;
	appearance: none;
	opacity: 0;
	transition: opacity var(--full__menu_dur) var(--full__menu_ease);
}

.full__menu.full__menu__on .full__menu__dim {
	opacity: 1;
}

.full__menu__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 664px;
	max-width: min(664px, 100%);
	box-sizing: border-box;
	background: #332b26;
	color: #fff;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.25);
	transform: translate3d(100%, 0, 0);
	transition: transform var(--full__menu_dur) var(--full__menu_ease);
	will-change: transform;
}

.full__menu.full__menu__on .full__menu__panel {
	transform: translate3d(0, 0, 0);
}

.full__menu__panel__inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 120px 80px 80px;
    position: relative;
    box-sizing: border-box;
}

/* X: 패널 밖 + fixed — transform 패널 안에 두면 햄버거와 어긋남, 위치는 JS로 햄버거 rect 동기화 */
.full__menu__close {
	position: fixed;
	top: calc(16px + (48px - 28px) / 2);
	right: calc((100% - var(--header-inner-width)) / 2);
	width: 28px;
	height: 28px;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	z-index: 10052;
	pointer-events: auto;
}

.full__menu:not(.full__menu__on) .full__menu__close {
	visibility: hidden;
	pointer-events: none;
}

.full__menu__close__icon {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.full__menu__close__icon::before,
.full__menu__close__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 26px;
	height: 2px;
	background: #fff;
	transform-origin: center;
}

.full__menu__close__icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.full__menu__close__icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.full__menu__nav {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
}

.full__menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.full__menu__item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}


.full__menu__link {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 24px 0;
	text-decoration: none;
	color: #fff;
	transition: opacity 0.2s ease;
}

.full__menu__item:first-of-type .full__menu__link {
	padding-top: 0;
}


.full__menu__link:hover,
.full__menu__link:focus {
	opacity: 0.85;
	outline: none;
}

.full__menu__num {
	flex: 0 0 auto;
	font-family: 'tenor-sans', sans-serif;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.55);
}

.full__menu__label {
	font-family: 'noto-serif-kr', serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.full__menu__contact {
	flex-shrink: 0;
	padding: 30px;
	background: #3d342e;
	box-sizing: border-box;
	font-family: 'pretendard', sans-serif;
	font-size: 13px;
	line-height: 1.55;
	color: #F5EFE6;
}

.full__menu__addr {
	font-size: 16px;
	font-weight: 600;
}

.full__menu__tel {
	font-size: 16px;
	font-weight: 600;
}

.full__menu__tel::after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #F5EFE6;
	opacity: 0.13;
	margin: 16px 0 24px;
}

.full__menu__tel a {
	text-decoration: none;
	color: #F5EFE6;
}

.full__menu__hours {
	margin: 0 0 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.full__menu__hours__row {
	display: flex;
	gap: 10px;
}

.full__menu__hours__row dt {
	width: 60px;
	margin: 0;
	font-weight: 600;
	font-size: 14px;
}

.full__menu__hours__row dd {
	margin: 0;
	font-size: 14px;
}

.full__menu__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.full__menu__btn {
	display: flex;
	align-items: center;
	gap: 7px;
	justify-content: center;
	padding: 12px 24px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: background 0.2s ease, border-color 0.2s ease;
	box-sizing: border-box;
}

.full__menu__btn:hover,
.full__menu__btn:focus {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.35);
	outline: none;
}

.full__menu__btn__icon {
	display: block;
	width: 16px;
	height: 16px;
	object-fit: contain;
	flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
	.full__menu__panel {
		transition: none;
		will-change: auto;
	}

	.full__menu__dim {
		transition: none;
	}
}

@media (max-width: 1800px) {
	.full__menu__label {
		font-size: 38px;
	}
}

@media (max-width: 1024px) {
	.full__menu__label {
		font-size: 34px;
	}

	.full__menu__panel {
		width: 500px;
		max-width: min(500px, 100%);
	}

	.full__menu__panel__inner {
		flex: 1;
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding: 120px 50px 80px;
		position: relative;
		box-sizing: border-box;
	}

	.full__menu__addr {
		font-size: 14px;
	}

	.full__menu__tel {
		font-size: 14px;
	}

	.full__menu__hours__row dt,.full__menu__hours__row dd {
		font-size: 12px;
	}

	.full__menu__btn {
		padding: 10px 15px;
		font-size: 10px;
	}
}

@media (max-width: 820px) {

}

@media (max-width: 570px) {

	.full__menu__label {
        font-size: 24px;
    }


    .full__menu__panel {
        width: 100%;
        max-width: 100%;
    }

	.full__menu__contact {
	}

	.full__menu__panel__inner {
        padding: 50px 20px 20px;
    }

	.full__menu__hours {
		margin: 0;
	}

	.full__menu__tel::after {
		margin: 10px 0 10px;
	}

	.full__menu__actions{
		display: none;
	}

}



/* } side menu *****************************************************************************
***************************************************************************************/




/******************************************************************************
footer { ******************************************************************************* */
.inner__footer {
	width: 95%;
	margin: 0 auto;
}

.footer{
	background: #261E19;
	color:#fff;
	position: relative;
	overflow: visible;
	padding:0 0 80px;
}

.footer .footer__curve{
    z-index: 100;
    position: absolute;
    left: 0;
    top: -220px;
    width: 100%;
    height: 220px;
    line-height: 0;
    pointer-events: none;
}

.footer .footer__curve svg{
	display: block;
	width: 100%;
	height: 100%;
}

.footer a{
	color:#a8a5a3
}

.ft__box__wr{
	display: flex;
	justify-content: space-between;
}


.ft__left__box{}

.ft__left__box .ft__logo__wr{
	width: 112px;
	margin-bottom: 40px;
}

.ft__left__box .ft__logo__wr img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ft__left__box .ft__logo__wr .ft__info__ul{
	font-size: 14px;
}

.ft__left__box .ft__info__ul li{
	color:#a8a5a3
}

.ft__left__box .ft__info__ul li:nth-of-type(2){
	margin: 10px 0;
}

.ft__right__box{

}

.ft__right__box .ft__nav__wr{
	display: flex;
	gap:80px;
}

.ft__right__box .ft__nav__wr .ft__nav__ul{
	font-size: 16px;
}

.ft__right__box .ft__nav__wr .ft__nav__ul > li{
	text-align: right;
}

.ft__right__box .ft__nav__wr .ft__nav__ul > li > a{
	color:#fff;
}

.ft__right__box .ft__nav__wr .ft__nav__ul li .ft__subnav__ul{
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}


.ft__btmbox__wr:before{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #423b37;
	margin: 40px 0;
}

.ft__btmbox__wr .ft__btmbox{
	display: flex;
	justify-content: space-between;
	align-items: center;
}


.ft__btmbox__wr .ft__copy__wr{
	font-size: 14px;
	color:#a8a5a3
}

.ft__btmbox__wr .ft__policy__wr ul{
	display: flex;
	gap: 10px;
	font-size: 14px;
}

.ft__btmbox__wr .ft__policy__wr ul li:nth-of-type(2)::before{
	content: '|';
	color:#a8a5a3;
	display: inline-block;
	margin-right: 10px;
}

@media (max-width: 1024px) {
	.footer .footer__curve {
		top: -140px;
		height: 140px;
	}

	.ft__box__wr{
		flex-direction: column-reverse;
	}

    .ft__right__box .ft__nav__wr {
        display: flex;
        justify-content: space-between;
        gap: 80px;
        margin-top: 20px;
    }

	.ft__left__box {
		margin-top: 50px;
	}
	


}

@media (max-width: 820px) {
	.footer .footer__curve {
		top: -100px;
		height: 100px;
	}

	.ft__right__box .ft__nav__wr .ft__nav__ul {
		font-size: 12px;
	}

	.ft__btmbox__wr .ft__copy__wr {
		font-size: 10px;
	}

	.ft__btmbox__wr .ft__policy__wr ul {
		font-size: 10px;
	}
}

@media (max-width: 520px) {
	.footer .footer__curve {
        top: -60px;
        height: 60px;
    }

	.ft__right__box {
		display: none;
		
	}

	.btn__to__top {
		right: 14px;
		bottom: 14px;
		width: 38px;
		height: 38px;
	}
	
}


/* 상담 영역 */

.main__consultation__section {
	position: relative;
	overflow: hidden;
	height: 985px;
}

.main__consultation__section .main__consultation__bg {
	position: absolute;
	inset: -50% 0;
	background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/images/main_sequence_img1.jpg') no-repeat;
	background-position: calc(50% - -30px) center;
	background-size: cover;
	z-index: 0;
	will-change: transform;
}

.main__consultation__section .inner__cen1688 {
	position: relative;
	z-index: 1;
	color:#fff;
	width: 100%;
	height: 100%;
}

.main__consultation__section .main__consultation__wr {
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.main__consultation__section .main__consultation__wr a {
	display: flex;
	align-items: center;
	letter-spacing: 15px;
	gap:40px;
	justify-content: center;
	width: 100%;
	height: 100%;
	color:#fff;
}
.main__consultation__section .main__consultation__title {
	font-size: 72px;
}


.main__consultation__section .main__consultation__title a::after {
	content: '';
	display: block;
	width: 54px;
	height: 54px;
	background: url('/images/icon_consultation.png') no-repeat center center/contain;
}

.main__consultation__section .main__consultation__description {
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 40px;
	text-align: center;
}

.more__button a{
	position: relative;
}

.more__button a:after {
	content: '';
	display: block;
	width: 90px;
	height: 8px;
	background: url('/images/icon_more.png') no-repeat center center/contain;
	position: absolute;
	bottom: -10px;
	right: 50%;
	transform: translateX(50%);
}

.more__button.lg__button a:after {
    content: '';
    display: block;
    width: 140px;
    height: 10px;
    background: url(/images/icon_more_lg.png) no-repeat center center / contain;
    position: absolute;
    bottom: -13px;
    right: 50%;
    transform: translateX(50%);
}


@media (max-width: 1250px) {
	.main__consultation__section {
		height: 805px;
	}
}

@media (max-width: 1024px) {
	.main__consultation__section {
		height: 605px;
	}

	.main__consultation__section .main__consultation__title {
		font-size: 30px;
	}

	.main__consultation__section .main__consultation__wr a {
		gap: 20px;
	}
	

	.main__consultation__section .main__consultation__title a::after {
		width: 30px;
		height: 30px;
	}

	.main__consultation__section .main__consultation__description {
		font-size: 16px;
	}
}

@media (max-width: 820px) {
	.full__menu__nav {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}

	.full__menu__list {
		width: 100%;
	}

	.main__consultation__section {
		height: 405px;
	}

	.main__consultation__section .main__consultation__title {
		font-size: 20px;
	}

	.main__consultation__section .main__consultation__wr a {
		gap: 10px;
		letter-spacing: 10px;
	}
	

	.main__consultation__section .main__consultation__title a::after {
		position: absolute;
		width: 20px;
		height: 20px;
		bottom: -50px;
	}

	.main__consultation__section .main__consultation__description {
		font-size: 14px;
		line-height: 1.5;
	}

	.full__menu__link {
		padding: 35px 0;
	}
}

/* } footer *****************************************************************************
***************************************************************************************/
/* #52463A */

/* #372C24 */