/********************************************************** 
* reveal - 텍스트 효과
***********************************************************/
.fade-in { opacity:0; transition: 1s; }
.fade-up { transform:translateY(50px); opacity:0; transition: 1s; }
.fade-down { transform:translateY(-50px); opacity:0; transition: 1s; }
.fade-left { transform:translateX(-100px); opacity:0; transition: 1s; }
.fade-right { transform:translate(50%,-0%); opacity:0; transition: 1s; }
.active .fade-in, .active.fade-in { opacity:1; }
.active .fade-up, .active.fade-up { transform:translateY(0); opacity:1; }
.active .fade-down, .active.fade-down { transform:translateY(0); opacity:1; }
.active .fade-left, .active.fade-left { transform:translateX(0); opacity:1; }
.active .fade-right, .active.fade-right { transform:translate(0,-0%); opacity:1; }

.wrap { width: 1440px; margin: 0 auto; }

/* head */
.head { position: absolute; top: 0px; left: 0px; z-index: 9; display: flex; flex-wrap: wrap; align-content: center; justify-content: space-between; align-items: center; width: 100%; height: 100px; padding: 0 2%; color: #fff; }
.head .logo { display: inline-block; }
.head .date { position: absolute; top: 40px; left: calc(50% - 65px); text-align: center; width: 130px; font-size: 24px; font-weight: 400; }
.menu_inr { display: flex; flex-wrap: wrap; gap: 0 40px; }
.menu_inr li a { color: #fff; font-size: 24px; }

.menu-toggler, .mobile_menu { display: none; }

/* main */
.main_vis { position: relative; width: 100%; height: 100vh; background: #060303 url('../image/main/main_vis01.jpg') bottom center no-repeat; }
.mobile_vis { display: none; }
.main_text { position: absolute; right: 2%; bottom: 50px; }
.main_text h2 { position: relative; display: inline-block; white-space: nowrap; overflow: hidden; color: #fff; font-family: 'RoundedFixedsys'; font-size: 140px; font-weight: 400; border-right: 3px solid #fff; animation: blink 0.7s infinite step-end alternate; }
.main_text h2 > span:first-child { position: relative; display: inline-block; padding-right: 200px; }
.main_text h2 > span:first-child:after { content:''; position: absolute; right: 0px; bottom: 25px; width: 170px; height: 4px; background: #fff; }

@keyframes blink {
	50% { border-color: transparent; }
}

/* 문자 슬라이드 공통 */
.letterWrapper { display: inline-block; height: 1em; overflow: hidden; vertical-align: bottom; position: relative; }
.letterWrapper span { display: block; text-align: center; width: 83px; transform: translateY(0); transition: transform 0.12s ease-out; line-height: 1em; }

/* sub */
.sub_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 400px; padding-top: 100px; }
.sub_title h2 { text-align: center; color: #fff; font-size: 68px; font-weight: 400; }

.sub_contents {  }

.subpage_inr { margin-bottom: 150px; }

.about {  }
.about_inr h3 { text-align: center; width: 100%; margin-bottom: 50px; font-size: 55px; }

.about_inr01 h3 { font-size: 65px; font-family: 'RoundedFixedsys'; font-weight: normal; }
.about_inr01 h3 > span:first-child { position: relative; display: inline-block; padding-right: 100px; margin-right: 20px; }
.about_inr01 h3 > span:first-child:after { content:''; position: absolute; right: 0px; bottom: 10px; width: 80px; height: 4px; background: #fff; }
.about_inr01 .letterWrapper span { width: 45px; }

.about_inr01 p { text-align: center; color: #aaa; letter-spacing: 0.03em; line-height: 1.7; word-break: keep-all; }
.about_inr01 p span { background: #fff; color: #000; font-weight: 600; }

.about_inr02 .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0 4%;
    flex-direction: column;
    align-items: center;
}
.about_inr02 .about_inr_in {
    text-align: center;
    width: 70%;
    font-size: 1em;
    line-height: 1.7;
}
.about_inr02 .about_inr_in:nth-of-type(2) {margin-top: 50px; }
.about_inr02 .about_inr_in h4 { width: 100%; margin-bottom: 30px; font-size: 1.4em; font-weight: 600; line-height: 1; }
.about_inr02 .about_inr_in p { color: #aaa; }
.hostbox { text-align: center; margin-bottom: 80px; }
.hostbox h4 { width: 100%; margin-bottom: 30px; font-size: 1.4em; font-weight: normal; line-height: 1; }
.host_logo { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 60px; }
.host_logo img { height: 80px; }
.member_list { display: flex; flex-wrap: wrap; gap: 30px 0; }
.member_list li { text-align: center; width: 20%; padding: 0 10px; }
.committee_list { display: flex; flex-direction: column; flex-wrap: wrap; align-content: center; gap: 20px 0; }
.committee_list li { display: flex; flex-wrap: wrap; font-size: 1.1em; }
.committee_list li strong { display: inline-block; width: 120px; color: rgba(255, 255, 255, 0.7); font-weight: normal; }
.committee_list li p { display: inline-block; width: calc(100% - 120px); }

.tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 50px; width: 100%; margin-bottom: 50px; }
.tabs li { overflow: hidden; position: relative; }
.tabs li a { display: block; padding: 0 0px; color: #888; font-size: 1.3em; }
.tabs li a:hover { color: #fff; }
.tabs li.active a { color: #fff; border-bottom: 2px solid #fff; }

.tab_container { overflow: hidden; width: 100%; }
.tab_content { }