@font-face {
    font-family: CarismaGothic;
    src: url(../fonts/CarismaGothic-700Bold.woff2);
    font-weight: 700;
}
@font-face {
    font-family: CarismaGothic;
    src: url(../fonts/CarismaGothic-500Medium.woff2);
    font-weight: 500;
}
@font-face {
    font-family: CarismaGothic;
    src: url(../fonts/CarismaGothic-400Regular.woff2);
    font-weight: 400;
}
@font-face {
    font-family: CarismaGothic;
    src: url(../fonts/CarismaGothic-200ExtraLight.woff2);
    font-weight: 200;
}
@font-face {
    font-family: CarismaClassic;
    src: url(../fonts/CarismaClassic-300Light.woff2);
    font-weight: 300;
}
@font-face {
    font-family: CarismaClassic;
    src: url(../fonts/CarismaClassic-400Regular.woff2);
    font-weight: 400;
}
@font-face {
    font-family: CarismaClassic;
    src: url(../fonts/CarismaClassic-500Medium.woff2);
    font-weight: 500;
}
html{
}
*{
    margin : 0;
    padding : 0;
    box-sizing: border-box;
}
img{
    display: block;
    max-width: 100%;
}
li{
    list-style: none;
}
a{
    text-decoration: none;
    color : inherit;
}
/**/
.header{
    display: flex;
    justify-content: center;
    position : fixed;
    left : 50%;
    top : 0;
    width : 100%;
    padding : 0 40px;
    transform: translateX(-50%);
    z-index: 1000;
	border-bottom : 1px solid transparent;
	transition : background .5s, border-bottom .5s;
}

.header.on{
	background : #fff;
}
.header.on::after{
	content : '';
	position : absolute;
	left : 0;
	bottom : 0;
	width : 100%;
	height : 1px;
	background : #E6E6E6;
}
.header::before{
	content : '';
	position : absolute;
	left : 0;
	top : 100%;
	width : 100%;
	height : 0;
	background: #fff;
	transition : .5s;
}
.header.on::before{
	height : 210px;
}

.header.back{
	background : #fff;
}
.header.on{
	border-bottom : 1px solid #ddd;
	background : #fff;
}
.header.sub.fill{
	border-bottom : 1px solid #ddd;
	background : #fff;
}
.header.active{
	border-bottom : 1px solid transparent;
	background : transparent;
}
.header-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* max-width : 1840px; */
	max-width : 1744px;
    width : 100%;
    /* padding : 15px 0; */
	height : 78px;
}
.main-logo{
    width : 400px;
    height : 26px;
    background : url(../images/common/main-logo24db.png?v=1217)no-repeat;
    background-size: contain;
    background-position: center;
    transition : background .5s;
}
.header.white .main-logo{
    background : url(../images/common/main-logo-white.png)no-repeat;
    background-size: contain;
    background-position: center;
}
.header.on .main-logo{
	background : url(../images/common/main-logo24db.png?v=1217)no-repeat;
    background-size: contain;
    background-position: center;
}
.header.active .main-logo{
	background : url(../images/common/main-logo-white.png)no-repeat;
    background-size: contain;
    background-position: center;
}
.main-logo > a{
    display: block;
    width : 100%;
    height : 100%;
    font-size: 0;
    color : transparent;
    line-height: 0;
}
.header-nav{
	height : 100%;
}
.header-nav > ul{
	display : flex;
	height : 100%;
	gap : 50px;
	color : #111;
}
.header-nav > ul > li{
	display : flex;
	justify-content : center;
	height : 100%;
	position : relative;
}
.header-nav > ul > li > a{
	display : flex;
	align-items : center;
	height : 100%;
	color : #3D3C3E;
	transition : color .2s;
}
.header.white .header-nav > ul > li > a{
	color : #fff;
}
.header.on .header-nav > ul > li > a{
	color :  #3D3C3E;
}
.header-nav > ul > li:hover > a{
	color : #961e1e;
	font-weight : 500;
}
.header-nav > ul > li::after{
	position : absolute;
	content : '';
	width : 0;
	height : 2px;
	background : #961e1e;
	left : 50%;
	bottom : 1px;
	transition : width .3s, left .3s;;
}
.header-nav > ul > li:hover::after{
	width : 100%;
	left : 0;
}
.header-nav > ul > li > ul{
	position : absolute;
	top : 100%;
	opacity : 0;
	pointer-events : none;
	transition : .5s;
	text-align : center;
}
.header.on .header-nav > ul > li > ul{
	opacity : 1;
	pointer-events : auto;
	padding : 20px 0;
}
.header-nav > ul > li > ul a{
	display : block;
	padding : 4px 0;
	font-size : 14px;
	white-space : nowrap;
	letter-spacing : -0.06em;	
}
.header-nav > ul > li > ul a:hover{
	font-weight : 500;
}

.header-right{
    display: flex;
    /* gap : 29px; */
	gap : 26px;
}
.open{
	display : flex;
	align-items : center;
	justify-content : center;
	gap : 9px;
	color : #111111;
	font-size : 21px;
	font-weight : 500;
	font-family : CarismaClassic;
	transition : color .5s;
}
.open-icon{
	width : 48px;
	height : 48px;
	background : url(../images/common/open.png)no-repeat;
	background-size : contain;
	background-position : center;
}
.header.white .open{
	color : #fff;
}
.header.on .open{
	color : #111;
}
.header-tel{
    display: flex;
    align-items: center;
    gap : 9px;
    font-family: CarismaClassic;
	font-size : 21px;
	font-weight : 500;
    color : #111111;
    transition : color .5s;
}
.header.white .header-tel{
	color : #fff;
}
.header.on .header-tel{
	color : #111111;
}
.header.active .header-tel{
	color : #fff;
}
.header-tel-icon{
	width : 48px;
	height : 48px;
	background : url(../images/common/header-tel.png)no-repeat;
	background-size : contain;
	transition :background .5s;
}
.header.white .header-tel-icon{
	width : 48px;
	height : 48px;
	background : url(../images/common/header-tel-white.png)no-repeat;
	background-size : contain;
}
.header.on .header-tel-icon{
	width : 48px;
	height : 48px;
	background : url(../images/common/header-tel.png)no-repeat;
	background-size : contain;
}
.hamburger{
    display: flex;
    align-items: center;
    justify-content: center;
    width : 66px;
    height : 66px;
    border-radius: 5px;
    background : #831616;
	display : none;
}
.hamburger > span{
    position : absolute;
    width : 15px;
    height : 1px;
    background : #fff;
	transition : transform .3s;
}
.hamburger > span:nth-child(1){
    transform: translateY(-5px);
}
.hamburger > span:nth-child(3){
    transform: translateY(5px);
}
.header.active .hamburger > span:nth-child(1){
	transform : translateY(0px) rotate(-45deg);
}
.header.active .hamburger > span:nth-child(2){
	transform : scale(0);
}
.header.active .hamburger > span:nth-child(3){
	transform : translateY(0px) rotate(45deg);
}


.hamburger-nav{
    display: flex;
    align-items: center;
    justify-content: center;
    position : fixed;
    z-index: 999;
    left : 0;
    top : 0;
    width : 100%;
    height : 100%;
    background : #831616;
    clip-path: inset(0 50% 0 50%);
    transition : clip-path 1s ease;
    pointer-events: none;
	padding : 0 0 0 30px;
}
.hamburger-nav.on{
    clip-path: inset(0 0% 0 0%);
    pointer-events : all;
}
.hamburger-nav > ul{
    display: flex;
    gap : 18px;
    padding-bottom : 85px;
}
.hamburger-nav > ul > li{
    width : 250px;
    border-bottom : 1px solid rgba(255,255,255,0.21);
    clip-path: inset(0 100% 0 0%);
    padding-top : 30px;
    transition : clip-path 1s ease;
}
.hamburger-nav > ul > li.moView{
    display: none;
}
.hamburger-nav.on > ul > li{
    clip-path: inset(0 0 0 0);
    transition-delay : .5s;
}
.hamburger-nav > ul > li > a{
    display: block;
    width : 100%;
    padding-bottom : 31px;
    color : #E5E5E5;
    font-size: 18px;
    letter-spacing: -0.04em;
    transition : color .3s;
    position : relative;
}
.hamburger-nav > ul > li > a:hover{
    color : #f1f0f1;
}
.hamburger-nav > ul > li > a::after{
    position : absolute;
    content: '';
    width : 12px;
    height : 12px;
    border-radius: 50%;
    background : #E5E5E5;
    left : 0;
    bottom : calc(100% + 16px);
    transform: scale(0);
    pointer-events: none;
    transition : transform .3s;
}
.hamburger-nav > ul > li > a:hover::after{
    transform: scale(1);
}
.hamburger-nav > ul > li > ul{
	display : none;
}
/**/
.footer{
    display: flex;
    justify-content: center;
    width : 100%;
    padding : 54px 0 68px;
    background : #333333;
	position :relative;
	z-index : 1;
}
.footer-inner{
    display: flex;
    justify-content: space-between;
    width : 100%;
    max-width : 1530px;
	position : relative;
}
.footer-right{
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap : 68px;
}
.footer-list{
    display: flex;
    gap : 30px;
    font-weight: 300;
    color : #fff;
    letter-spacing: -0.025em;
    font-size: 14px;
    margin-bottom : 18px;
}
.footer-list > li{
    display: flex;
    align-items: center;
    position : relative;
}
.footer-list > li:not(:last-child)::after{
    position :absolute;
    content : '';
    width : 1px;
    height : 10px;
    background : #fff;
    right : -15px;
}
.footer-info{
    font-size: 14px;
    letter-spacing: -0.025em;
    color : #8e8e8e;
    line-height: 26px;
}
.infomation{
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    padding : 0 15px;
    width : 180px;
    height : 41px;
    border : 1px solid rgba(240,240,241,0.3);
    color : #fff;
    letter-spacing: -0.025em;
    font-size: 14px;
    margin-top : 25px;
    position :relative;
}
.infomation::after{
    position : absolute;
    content :'';
    width : 5px;
    height : 5px;
    border-top : 1px solid #fff;
    border-right : 1px solid #fff;
    right : 16px;
    transform: rotate(45deg);
    transition : right .3s;
}
.infomation:hover::after{
    right : 11px;
}
.infomation::before{
    position : absolute;
    content : '';
    background : rgba(255,255,255,0.1);
    width : 100%;
    height : 0%;
    left : 0;
    bottom : 0;
    transition : height .5s;
}
.infomation:hover::before{
    height : 100%;
}
.footer-ul{
    display: flex;
    flex-direction: column;
    gap : 5px;
}
.footer-ul > li{
    display: flex;
    align-items: center;
    gap : 26px;
    color : #fff;
    letter-spacing: -0.025em;
    font-size: 14px;
}
.footer-ul > li > span{
    display: flex;
    align-items: center;
    justify-content: end;
    position : relative;
    width : 60px;
    white-space: nowrap;
}
.footer-ul > li > span::after{
    position : absolute;
    content : '';
    width : 1px;
    height : 10px;
    background : #fff;
    right : -13px;
}
.footer-quick-menu{
	display : flex;
	justify-content : center;
	align-items : center;
	gap : 20px;
	position : absolute;
	bottom : 0;
	right : 0;
}
@media(max-width : 1600px){
    /**/
    .header{
        width : 100%;
        padding : 10px 30px;
    }
    .header-inner{
        max-width : none;
		width : 100%;
        padding : 10px 0;
		height : auto;
    }
    .main-logo{
        /* width : 90px; */
		background : url(../images/common/main-logo.png)no-repeat;
		background-size : contain;
		background-position : center;
		width : 240px;
    }
    .header-right{
        gap : 10px;
    }
	.header-nav{
		/* display : none; */
	}
	.header-nav > ul{
		gap : 20px;
	}
	.header-nav > ul > li > a{
		font-size : 14px;
	}
    .header-tel{
		gap : 5px;
		font-size : 14px;
	}
	.header-tel-icon{
		width : 27px;
		height : 27px;
		background : url(../images/common/header-tel.png)no-repeat;
		background-size : contain;
		transition :background .5s;
	}
	.header.on .header-tel-icon {
		width : 27px;
		height : 27px;
		background: url(../images/common/header-tel.png) no-repeat;
		background-size: contain;
	}
	.header.white .header-tel-icon{
		width : 27px;
		height : 27px;
		background : url(../images/common/header-tel-white.png)no-repeat;
		background-size : contain;
		transition :background .5s;
	}
	.hamburger-nav > ul{
        width : 100%;
        flex-direction: column;
        max-height : 80vh;
        overflow: scroll;
    }
	.hamburger-nav > ul::-webkit-scrollbar{
		width : 0;
		height : 0;
	}
    .hamburger-nav > ul > li{
        width : 100%;
    }
    .hamburger-nav > ul > li.pcView{
        display: none;
    }
    .hamburger-nav > ul > li.moView{
        display: block;
    }
    .hamburger-nav > ul > li > a{
        font-size: 30px;
        padding-bottom : 20px;
        color : #FFFFFF;
    }
	.open{
		font-size : 14px;
	}
	.open-icon{
		width : 27px;
		height : 27px;
	} 

	/**/
	.footer{
		padding : 30px;
	}
	.footer-inner{
		flex-direction : column;
		justify-content: center;
		width : 100%;
		max-width : none;
	}
	.footer-right{
		flex-direction : column;
		gap : 20px;
	}
	.footer-list{
		display: flex;
		gap : 20px;
		font-size: 14px;
		margin-bottom : 15px;
	}
	.footer-list > li:not(:last-child)::after{
		right : -10px;
	}
	.footer-info{
		font-size: 13px;
		letter-spacing: -0.025em;
		color : #8e8e8e;
		line-height: 22px;
	}
	.infomation{
		display: flex;
		padding : 0 10px;
		width : 150px;
		height : 30px;
		font-size: 12px;
		margin-top : 20px;
	}
	.footer-ul{
		display: flex;
		flex-direction: row;
		gap : 10px;
		margin-top : 20px;
	}
	.footer-ul > li{
		gap : 20px;
		font-size: 12px;
	}
	.footer-ul > li > span::after{
		height : 6px;
		right : -10px;
	}
}

@media(max-width : 1200px){
    /**/
    .header{
        width : 100%;
		height : 50px;
        padding : 0 10px 0 20px;
        transform: translateX(-50%);
		background : #fff;
		border-bottom : 1px solid #ddd;
        z-index: 1000;
    }

	.header.on::before{
		height : 0px;
	}
    .header-inner{
        max-width : 1100px;
        padding : 10px 0;
		height : auto;
    }
    .main-logo{
        /* width : 90px; */
		background : url(../images/common/m_main-logo.png)no-repeat;
		background-size : contain;
		background-position : center;
		width : 250px;
    }
    .header-right{
        gap : 10px;
    }
	.header-nav{
		display : none;
	}
    .header-tel{
		gap : 5px;
		font-size : 14px;
	}
	.header-tel-icon{
		width : 27px;
		height : 27px;
		background : url(../images/common/header-tel.png)no-repeat;
		background-size : contain;
		transition :background .5s;
	}
	.header.on .header-tel-icon {
		width : 27px;
		height : 27px;
		background: url(../images/common/header-tel.png) no-repeat;
		background-size: contain;
	}
	.header.white .header-tel-icon{
		width : 27px;
		height : 27px;
		background : url(../images/common/header-tel-white.png)no-repeat;
		background-size : contain;
		transition :background .5s;
	}
	.hamburger-nav > ul{
        width : 100%;
        flex-direction: column;
        max-height : 80vh;
        overflow: scroll;
    }
    .hamburger-nav > ul > li{
        width : 100%;
    }
    .hamburger-nav > ul > li.pcView{
        display: none;
    }
    .hamburger-nav > ul > li.moView{
        display: block;
    }
    .hamburger-nav > ul > li > a{
        font-size: 30px;
        padding-bottom : 20px;
        color : #FFFFFF;
    }
    .hamburger-nav > ul > li > ul{
        padding-bottom : 20px;
    }
    .hamburger-nav > ul > li > ul > li + li {
        margin-top: 5px;
    }
    .hamburger-nav > ul > li > ul > li > a{
        font-size: 14px;
        padding-bottom : 20px;
        color : #ccc;
		/* margin-left: 10px; */
    }

	.open{
		display : none;
	}
    .hamburger{
		display : flex;
        width : 30px;
        height : 30px;
        border-radius: 2px;
    }
    .hamburger > span{
        width : 10px;
    }
    .hamburger > span:nth-child(1){
        transform: translateY(-3px);
    }
    .hamburger > span:nth-child(3){
        transform: translateY(3px);
    }

	/**/
	.footer{
		padding : 30px;
	}
	.footer-inner{
		flex-direction : column;
		justify-content: center;
		width : 100%;
		max-width : none;
	}
	.footer-right{
		flex-direction : column;
		gap : 20px;
	}
	.footer-list{
		display: flex;
		gap : 20px;
		font-size: 14px;
		margin-bottom : 15px;
	}
	.footer-list > li:not(:last-child)::after{
		right : -10px;
	}
	.footer-info{
		font-size: 13px;
		letter-spacing: -0.025em;
		color : #8e8e8e;
		line-height: 22px;
	}
	.infomation{
		display: flex;
		padding : 0 10px;
		width : 150px;
		height : 30px;
		font-size: 12px;
		margin-top : 20px;
	}
	.footer-ul{
		display: flex;
		flex-direction: row;
		flex-wrap : wrap;
		gap : 5px 10px;
		margin-top : 20px;
	}
	.footer-ul > li{
		gap : 20px;
		font-size: 12px;
	}
	.footer-ul > li > span::after{
		height : 6px;
		right : -10px;
	}
}
@media(max-width : 768px){
	.hamburger-nav{
        padding: 0 20px;
    }
    .hamburger-nav > ul{
        width : 100%;
        flex-direction: column;
        gap : 0px;
        padding : 0;
    }
    .hamburger-nav > ul > li{
        width : 100%;
        padding-top : 25px;
    }
    .hamburger-nav > ul > li.pcView{
        display: none;
    }
    .hamburger-nav > ul > li.moView{
        display: block;
    }
    .hamburger-nav > ul > li > a{
        font-size: 18px;
        padding-bottom : 20px;
    }
    .hamburger-nav > ul > li > a::after{
        bottom : calc(100% + 7px);
        width : 7px;
        height : 7px;
    }
	/**/
	.footer{
		padding : 30px 20px;
	}
	.footer-logo{
		max-width : 180px;
	}
	.footer-right{
		gap : 15px;
	}
	.footer-list{
		gap : 3px 16px;
		font-size: 11px;
		margin-bottom : 10px;
		flex-wrap : wrap;
	}
	.footer-list > li:not(:last-child)::after{
		right : -8px;
		height : 6px;
	}
	.footer-info{
		font-size: 11px;
		line-height: 18px;
	}
	.infomation{
		padding : 5px 10px;
		width : 130px;
		height : 25px;
		font-size: 10px;
		margin-top : 15px;
	}
	.footer-ul{
		gap : 5px 10px;
		margin-top : 15px;
	}
	.footer-ul > li{
		gap : 16px;
		font-size: 10px;
	}
	.footer-ul > li > span::after{
		height : 6px;
		right : -8px;
	}
	.footer-quick-menu{
		width : 100%;
		margin-top : 30px;
		position : static;
	}
}