@charset "utf-8";

/* font */
@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	src: url('../font/Pretendard-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	src: url('../font/Pretendard-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	src: url('../font/Pretendard-SemiBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Pretendard';
	font-weight: 800;
	src: url('../font/Pretendard-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Pretendard';
	font-weight: 900;
	src: url('../font/Pretendard-ExtraBold.woff2') format('woff2');
}

/* container */
.container{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto; box-sizing: border-box; font-family: 'Pretendard'; font-weight: 500; letter-spacing: -.5px; background: #fdfdfd; color: #202020;}

/* header */
.header{position: fixed; top: 0; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; width: 100%; height: 60px; padding: 0 40px; background: #fdfdfd; border-radius: 0 0 20px 20px; box-sizing: border-box; z-index: 10;}
.header__container{display: flex; align-items: center; width: 100%; height: 100%; max-width: 1300px; box-sizing: border-box;}
.header::before{content: ""; position: absolute; transform: translateY(-100%); top: 0; left: 0; width: 100%; height: 100%; z-index: -1; background: #202020; border-radius: 0 0 20px 20px; transition: 0.08s transform ease-in-out; transition-delay: 0.08s;}
.header__logo{flex: none; width: 68px; height: 28px; background-image: url(../image/header_logo_defualt.png); background-repeat: no-repeat; background-position: center; background-size: 100%;}
.header__logo:active{opacity: .6;}
.header__menu{display: flex; gap: 10px; margin-left: auto;}
.header__menu_btn{position: relative; padding: 10px; font-size: 20px; font-weight: 800; color: #202020; overflow: hidden;}
.header__menu_btn::after{content: ""; position: absolute; bottom: -30%; left: 50%; transform: translateX(-50%); width: 80%; height: 3px; background: #202020; border-radius: 10px;}
.header__menu_btn:hover.header__menu_btn::after{bottom: 10%; transition:.2s bottom ease-in-out;}
.header__menu_btn:active{color: #000000;}
.header.active.header::before{transform: translateY(0); transition:0.08s transform ease-in-out; transition-delay:0.08s;}
.header.active .header__menu_btn{color: #FFF;}
.header.active .header__logo{background-image: url(../image/header_logo_active.png);}
.header.active .header__menu_btn::after{background:#FFF;}
.header__mobile{position: relative; display: none; width: 26px; height: 26px;}
.header__mobile_btn{position: relative; width: 100%; height: 100%;}
.header__mobile_ani{position: relative; width: 100%; height: 100%;}
.header__mobile_ani-black{position: relative;}
.header__mobile_ani-white{position: relative;}
.header__mobile_menu{position: absolute; top: 180%; display: flex; flex-direction: column; gap: 10px; padding: 10px 16px; border-radius: 10px 0 0 10px; z-index: 1; background: #202020;}
.header__mobile_menu_btn{position: relative; padding: 6px 0; color: #FFF; white-space: nowrap; overflow: hidden;}
.header__mobile_menu_btn::after{content: ""; position: absolute; bottom: 0; left: -52%; transform: translateX(-52%); width: 100%; height: 2px; background: #FFF; border-radius: 10px;}
.header__mobile_menu_btn:hover.header__mobile_menu_btn::after{left: 52%; transition:.2s left ease-in-out;}
.header__mobile_menu_btn:active{color: #D4D4D4;}
.header__mobile.disabled .header__mobile_menu{right: -500%; transition:.5s right ease-in-out;}
.header__mobile.active .header__mobile_menu{right: -124%;  transition:.3s right ease-in-out;}

/* main */
.main{position: relative; width: 100%;}
.main__container{display: flex; justify-content: center; align-items: center; width: 100%; margin-top: 40px;}
.main_img{width: 100%; height: 700px; object-fit:cover}
.main_ico{position: absolute; bottom: 0; left: 50%; transform: translateX(-50%) rotate(90deg); width: 120px; height: 120px; z-index: 1;}

/* section */
.section__wrap{position: relative; width: 100%; max-width: 1380px;}
.section{position: relative;}
.section__btn{position: absolute; bottom: 20px; right: 20px; padding: 10px 12px; border-radius: 5px; background: #FFF; color: #202020; z-index: 2; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .5);}
.section__btn:hover{filter: brightness(98%);}
.section__btn:active{filter: brightness(96%);}
.section__btn-work{top: 20px; right: 60px; bottom: inherit;}
.section__content{position: relative; width: 100%;}
.section__tit{position: relative; font-weight: 800; font-size: 32px;}
.section__bar{width: 80px; height: 3px; margin: 24px 0 40px; background: #707070; border-radius: 5px;}
.section__info{padding: 0 33%; font-size: 18px; color: #505050; text-align: center; line-height: 28px; word-break: keep-all;}
.section__swipe{position: relative; overflow: hidden;}
.section__swipe-2{margin-top: 30px;}
.section__swipe_container{position: relative; display: flex; width: 100%;}
.section__swipe_list{position: relative; flex:none; width: 18.1%; padding-bottom: 18.1%; border-radius: 20px; border: 3px solid #F1F1F1; box-sizing: border-box; overflow: hidden;}
.section__swipe_img{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; height: 100%; background-color: #202020; z-index: 1;}
.section__swipe_list:hover .section__swipe_img{height: calc(100% + 20%); transition:0.09s height ease-in-out;}

.section__top{position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 100px 40px; box-sizing: border-box;}

.section__partner{display: flex; justify-content: center; width: 100%;  margin-top: 150px;}
.section__partner_img{width: 100%; height: 100%; box-sizing: border-box; filter: grayscale(1); opacity: .8;}

.footer{position: relative; display: flex; justify-content: center; width: 100%; margin-top: 150px; padding: 40px; border-radius: 20px 20px 0 0; background: #202020; box-sizing: border-box;}
.footer__container{display: flex; width: 100%; max-width: 1300px;}
.footer_tit{font-weight: 900; font-size: 30px; margin-bottom: 20px; color: #D4D4D4;}
.footer_logo{flex: none; width: 100px; height: 45px; margin-left: auto; background: url('../image/header_logo_active.png') no-repeat center; background-size: 100%;}
.footer_ul{position: relative;}
.footer_li{font-size: 18px; font-weight: 400; color: #D4D4D4; line-height: 28px;}
.footer_li-flex{display: flex; flex-wrap: wrap;}
.footer_flex::after{content: "/"; margin: 0 4px;}
.footer_flex:last-child::after{display: none;}
.section__contact{padding-top: 60px; line-height: 34px; text-align: center;}
.section__contact_tit{font-size: 34px; font-weight: 900; text-align: center;}
.section__contact_txt{margin-top: 30px; line-height: 30px; font-size: 20px; text-align: center;}
.section__contact_content{display: flex; flex-direction: column; padding: 60px 60px 0;}
.section__contact_subtit{margin-top: 70px; font-size: 34px; font-weight: 900;}

.section__work{position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: 100%; padding: 0 40px; box-sizing: border-box; overflow: hidden;}
.section__work_box{position: relative; padding-bottom: 100%; border: 3px solid #F1F1F1; border-radius: 20px; box-sizing: border-box; overflow: hidden;}
.section__work_box::after{content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; background: rgba(0, 0, 0, .5); opacity: 0; z-index: 1;}
.section__work_txt{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; padding: 0 20px; box-sizing: border-box; color: #FFF; z-index: 2; opacity: 0; font-size: 20px; word-break: break-word; white-space: wrap; text-align: center;}
.section__work_img{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; height: 100%; background-color: #202020; z-index: 1;}
.section__work_box:hover .section__work_img{height: calc(100% + 20%); transition:0.09s height ease-in-out;}
.section__work_box:hover.section__work_box::after{opacity: 1; transition:0.09s opacity ease-in-out;}
.section__work_box:hover .section__work_txt{opacity: 1; transition:0.09s opacity ease-in-out;}

.pop{position: fixed; top: 0; left: 0; display: flex; justify-content: center; width: 100%; min-height: 100vh; max-height: 100vh; padding: 30px 0; box-sizing: border-box; z-index: 1000;}
.pop__bg{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .7); z-index: -1;}
.pop__box{width: 80%; max-width: 1300px; border-radius: 20px; background: #F5F5F5; box-shadow: 0 1px 4px rgba(0, 0, 0, .7); overflow: hidden;}
.pop__img{display: block; width: 100%; height: auto;}
.pop__tit{display: flex; align-items: center; width: 100%; padding: 20px 40px; margin-right: 12px; font-size: 20px; font-weight: 700; box-sizing: border-box;}
.pop__cls{flex: none; width: 30px; height: 30px; padding-left: 12px; margin-left: auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' viewBox='0 0 30 30'%3E%3Cpath fill='none' stroke='%23202020' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M22.9 7.2 7.1 22.8M22.9 22.8 7.1 7.2'/%3E%3C/svg%3E") no-repeat right; background-size: 30px;}
.pop__content{width: 100%; height: calc(100% - 65px); overflow-y: scroll;}
.pop__txt{padding: 40px; font-size: 16px; text-align: center; white-space: pre-line;}
.pop__input{padding: 24px; width: 100%; height: 80%; box-sizing: border-box;}
.pop__input_tit{font-size: 14px;}
.pop__input_tit::before{content: "※ "; font-size: 15px;}
.pop__input_tit{margin-top: 30px;}
.pop__input_tit:first-child{margin-top: 0;}
.pop__input_img{display: flex; flex-direction: column; margin-top: 8px;}
.pop__input_img_btn{width: fit-content; padding: 5px 10px; margin-top: 4px; border: 1px solid #505050; border-radius: 10px; background: #FFF;}
.pop__input_img_btn:active{filter: brightness(98%);}

.pop__btn_wrap{display: flex; justify-content: center; margin-top: auto; gap: 50px;}
.pop__btn{width: fit-content; padding: 5px 10px; margin-top: 10px; border: 1px solid #505050; border-radius: 10px; background: #FFF; font-size: 24px;}
.pop__btn:active{filter: brightness(98%);}

.input{width: 100%; height: 40px; padding: 10px; margin-top: 10px; border-radius: 20px; box-sizing: border-box;}
.textarea{width: 100%; height: 100px; padding: 10px; margin-top: 20px; border: none; border-radius: 20px; box-sizing: border-box;}


/* responsive */
@media (max-width: 800px){
	/* header */
	.header{height: 50px; padding: 0 24px;}
	.header__logo{width: 50px; height: 30px;}
	.header__menu_btn{display: none;}
	.header__mobile{display: inherit;}

	/* section */
	.main{padding-bottom: 60%; margin-top: 30px;}
	.main_ico{width: 100px; height: 100px;}
	.main_img{position: absolute; top: 0; left: 0; height: 100%;}
	.section__tit{font-size: 26px;}
	.section__bar{width: 80px; height: 3px; margin: 16px 0 20px;}
	.section__top{padding: 60px 0; opacity: 1; top: 0;}
	.section__top.active{animation: none; }
	.section__info{padding: 0 8%; font-size: 14px; line-height: 20px;}
	.section__work{padding: 0 20px;}
	.section__work_box{border: 2px solid #F1F1F1;}
	.section__contact{padding-top: 40px}
	.section__contact_content{padding: 30px 24px 0;}
	.section__contact_tit{font-size: 24px;}
	.section__contact_txt{margin-top: 16px; font-size: 14px; line-height: 24px;}
	.section__contact_subtit{margin-top: 40px; font-size: 24px;}
	.footer{flex-direction: column; padding: 24px; margin-top: 70px; word-break: break-all;}
	.footer_tit{font-size: 24px;}
	.footer_li{font-size: 12px; line-height: 18px;}
	.footer_logo{display: none;}
	.section__swipe_list{width: 70%; padding-bottom: 70%;}
	.section__work{grid-template-columns: repeat(1, 1fr);}
	.section__partner{margin-top: 60px;}
	.section__partner_img{padding: 0 24px;}
	.section__swipe-2{margin-top: 10px;}

	/* pop */
	.pop{padding: 0;}
	.pop__tit{font-size: 18px; padding: 14px 24px;}
	.pop__cls{width: 30px; height: 30px; background-size: 30px;}
	.pop__box{width: 100%; border-radius: 0;}
	.pop__content{height: calc(100% - 58px);}
	.pop__txt{padding: 24px; font-size: 14px;}
}