/* °øÅëÀû¿ë */
html {scroll-behavior:smooth;}
body {overflow-x: hidden;}
body.scroll-lock {overflow-y: hidden;}
img {max-width: 100%;}
.inner {width: 90%; max-width: 1400px; margin: 0 auto; }
.bold {font-weight: 700;}
.colorMain {color: var(--mainColor);}



/* ºñ¸Þ¿À, À¯Æ©ºê */
.video_container {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;}
.video_container iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/* padding */
.p_tb {padding: 150px 0;}
.p_t {padding-top: 150px;}
.p_b {padding-bottom: 150px;}


/* btn */
.btn {display: flex; align-items: center; justify-content: center; width: max-content; transition: all .3s;}
.btn.lg {height: 85px; font-size: 1.5rem; padding: 0 20px;}
.btn.md {height: 70px; font-size: 1.25rem; padding: 0 20px;}
.btn.sm {height: 55px; font-size: 1rem; padding: 0 15px;}
.btn.st1 {background: var(--mainColor); color: #fff;}
.btn.st1:hover {background: #63ccbc;}
.btn.st2 {border: 2px solid var(--mainColor); background: #fff; color: var(--mainColor);}
.btn.st2:hover {background: var(--mainColor); color: #fff;}
.btnLoad {text-align: center; display: flex; align-items: center; justify-content: center; width: max-content;}
.btnLoad span {font-size: 2.5vw;}
.btnLoad span::after {display: block; margin: 0 auto; content: ""; width: 2vw; aspect-ratio: 1/1; background: url('/base/img/mf/icon_load_arr.png') no-repeat center center / contain;}



/* table */
.tb_box table {width: 100%;}
.tb_box th,
.tb_box td {border: 1px solid var(--border); padding: 15px; vertical-align: middle; text-align: center;}
.tb_box th {background: #222; color: #fff;}
.tb_box .pbox {text-align: left; display: flex; flex-direction: column; gap: 5px;}
.tb_box .pbox .p {padding-left: 15px; position: relative;}
.tb_box .pbox .p::before {display: block; content: "-"; position: absolute; left: 0; top: 0;}



/* footer */
#footer {padding: 60px 0; background: #111;}
#footer .inner {display: flex; flex-wrap: wrap; gap: 10px;}
#footer .logo img {height: 32px;}
#footer .name {color: #fff; font-size: 1.125rem; flex: 1 0 0;}
#footer .info {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; width: 100%;}
#footer .info .list {display: flex; gap: 5px 20px;  flex-wrap: wrap;}
#footer .info li {display: flex; gap: 7px; color: #fff; font-size: 1rem;}
#footer .info li.w100 {width: 100%;}
#footer .info li span {opacity: .5;}
#footer .info .copy {color: #fff; opacity: .5; font-size: 0.875rem;}



/* header */
#header {width: 100%; height: 90px; display: flex; align-items: center; background: rgba(0,0,0,0); position: fixed; z-index: 997; border-bottom: 1px solid rgba(255,255,255,.5);}
#header .inner {display: flex; align-items: center; justify-content: space-between; height: 100%; gap: 40px;}
#header .logo {font-size: 0;}
#header .logo img {height: 50px;}
#header .nav_wrap {height: 100%;}
#header .menu {display: flex; gap: 40px; align-items: center; color: #fff; height: 100%;}
#header .menu > li {height: 100%; position: relative;}
#header .menu > li > a {height: 100%; display: flex; align-items: center; justify-content: center; font-size: 1.125rem; position: relative;}
#header .menu > li > a::after {
    display: block; content: ""; width: 0%; height: 3px; background: #fff;
    position: absolute; bottom: 28px; left: 0; transition: all .3s;
}
#header .menu > li:hover > a::after {width: 100%;}
#header .submenu {
    display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,.9);
    padding: 15px; text-align: center; min-width: 120px;
}
#header .submenu > div {display: flex; flex-direction: column; gap: 10px}
#header .submenu > div > a {white-space: nowrap; display: block; color: #fff; font-size: 0.875rem; line-height: 1;}
#header .submenu > div > a:hover {font-weight: 700;}



#header .hamberg {display: none;}
#header.active {background: rgba(0,0,0, .9);}



/* sub */
.sub_top {
    width: 100%; min-height: 100vh; height: max-content; position: relative; display: flex; align-items: center; justify-content: center;
    background-position: center center; background-repeat: no-repeat; background-size: cover;
}
.sub_top::after {display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5; position: absolute; top: 0; left: 0;}
.sub_top.about {background-image: url('/base/img/mf/bg_about_top.webp');}
.sub_top.rnd {background-image: url('/base/img/mf/bg_rnd_top.webp');}
.sub_top.skill {background-image: url('/base/img/mf/bg_skill_top.webp');}
.sub_top.board {background-image: url('/base/img/mf/bg_board_top.webp');}
.sub_top .inner {position: relative; z-index: 1; padding-top: 90px;}
.sub_top .title {text-align: center; color: #fff;}
.sub_top .title .big {font-size: 4.25rem; line-height: 1.2; font-weight: 700;}
.sub_top .title .small {font-size: 1.5rem; margin-top: 25px;}
.sec_tit {margin-bottom: 60px;}
.sec_tit .big {font-size: 3rem; line-height: 1.4; font-weight: 700;}
.sec_tit .small {font-size: 1.5rem; margin-top: 20px;}


.sub_nav {border-bottom: 1px solid var(--border);}
.sub_nav .inner {width: 100%;}
.sub_nav .list {width: 100%; display: flex; height: 70px; justify-content: center;}
.sub_nav .list a {
    text-align: center; font-size: 1.125rem; max-width: 300px; width: 100%; display: flex; align-items: center; justify-content: center; color: #999;
    border-bottom: 3px solid transparent; line-height: 1.2; padding: 10px 0;
}
.sub_nav .list a:hover {color: #000;}
.sub_nav .list a.on {color: #000; font-weight: 700; border-color:var(--mainColor)}



@media screen and (max-width:1199px) {


    /* sub */
    .sub_top .title .big {font-size: 3.5rem;}
    .sub_top .title .small {font-size: 1.25rem;}
    .sec_tit .big {font-size: 2.25rem;}
    .sec_tit .small {font-size: 1.25rem;}



}


@media screen and (max-width:899px) {


    /* btn */
    .btnLoad span {font-size: 1.125rem;}
    .btnLoad span::after {width: 18px;}
    .btn.t-lg {height: 85px; font-size: 1.5rem; padding: 0 20px;}
    .btn.t-md {height: 70px; font-size: 1.25rem; padding: 0 20px;}
    .btn.t-sm {height: 55px; font-size: 1rem; padding: 0 15px;}


    /* padding */
    .p_tb {padding: 90px 0;}
    .p_t {padding-top: 90px;}
    .p_b {padding-bottom: 90px;}


    /* table */
    .tb_box th, .tb_box td {font-size: 0.875rem; padding: 10px;}


    /* footer */
    #footer {padding: 60px 0;}
    #footer .inner {flex-direction: column;}
    #footer .logo {order: 1;}
    #footer .logo img {height: 28px;}
    #footer .name {font-size: 1rem; order: 2;}
    #footer .info {order: 3;}
    #footer .info .list {gap: 10px;}
    #footer .info ul {width: 100%;}
    #footer .info li {font-size: 0.875rem;}
    #footer .info .copy {font-size: 0.75rem;}



    /* swiper */
    .swiper_prev,
    .swiper_next {width: 40px;}


    /* header */
    #header {height: 60px;}
    #header .inner {gap: 20px;}
    #header .lang {margin-left: auto;}
    #header .logo img {height: 32px;}
    
    #header .hamberg {width: 24px; height: 24px; font-size: 0; display: flex; align-items: center; cursor: pointer; position: relative; z-index: 2;}
    #header .hamberg span {width: 100%; height: 2px; background: #fff; display: block; position: relative; transition: all .3s;}
    #header .hamberg span::before,
    #header .hamberg span::after {display: block; content: ""; width: 100%; height: 2px; background: #fff; position: absolute; transition: all .3s;}
    #header .hamberg span::before {top: -8px;}
    #header .hamberg span::after {top: 8px;}
    #header .hamberg span.on {background: rgba(255,255,255,0);}
    #header .hamberg span.on::before {top: 0; transform: rotate(-45deg);}
    #header .hamberg span.on::after {top: 0; transform: rotate(45deg);}
    
    #header .nav_wrap {
        position: fixed; top: 0; left: -500px; background: rgba(0,0,0,.95); width: 500px; height: 100vh;
        transition: all .3s; z-index: 1;
    }
    #header .nav_wrap.on {left: 0;}
    #header .menu {gap: 10px; justify-content: center; flex-direction: column; color: #fff;}
    #header .menu > li {height: auto; width: 100%;}
    #header .menu > li::after {display: none;}
    #header .menu > li > a {height: auto; height: 50px; font-size: 1.125rem; padding: 0 20px;}
    #header .menu > li > a::after {display: none;}
    #header .submenu {position: unset; transform: unset; width: 100%; border: 0; background: #222; padding: 20px;}
    #header .submenu > div {gap: 15px;}
    #header .submenu > div > a {font-size: 0.9125rem;}


    /* sub */
    .sub_top .inner {padding-top: 60px;}
    .sub_top .title .big {font-size: 2.5rem;}
    .sec_tit {margin-bottom: 40px;}
    .sec_tit .small {font-size: 1.125rem;}


    .sub_nav .list a {font-size: 0.94rem;}


}


@media screen and (max-width:599px) {


    /* ÇÃ·ÎÆÃ */
    #floating a {width: 80px;}


    /* btn */
    .btn.m-lg {height: 85px; font-size: 1.5rem; padding: 0 20px;}
    .btn.m-md {height: 70px; font-size: 1.25rem; padding: 0 20px;}
    .btn.m-sm {height: 55px; font-size: 1rem; padding: 0 15px;}



    /* hedaer */    
    #header .inner {gap: 10px;}
    #header .nav_wrap {width: 80%;}



    /* sub */
    .sub_top .title .small {font-size: 1.125rem;}
    .sub_top .title .big {font-size: 2rem;}
    .sec_tit .big {font-size: 1.75rem;}
    .sec_tit .small {font-size: 1rem;}




}