.parallax_sec {background-size: cover; background-position: center center; background-repeat: no-repeat; background-attachment: fixed;}
.parallax_img {display: none;}


/* main */
.main_tit {margin-bottom: 60px; display: flex; flex-direction: column; gap: 15px;}
.main_tit .big {font-size: 3.125rem; font-weight: 700; line-height: 1.4;}
.main_tit .small {font-size: 1.25rem;}
.main_top {
    width: 100%; min-height: 100vh; height: max-content; background: url('/base/img/mf/bg_main_top.webp') no-repeat center center / cover; position: relative;
    display: flex; align-items: center; justify-content: center;
}
.main_top::after {display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5; position: absolute; top: 0; left: 0;}
.main_top .inner {position: relative; z-index: 1; padding-top: 90px;}
.main_top .title {color: #fff; text-align: center;}
.main_top .title .big {font-size: 4.375rem; font-weight: 700; line-height: 1.2;}
.main_top .title .small {font-size: 1.75rem; margin-top: 40px;}


.main_biz .sec_box {display: flex; gap: 80px;}
.main_biz .paging {width: 180px; flex-shrink: 0; display: flex; flex-direction: column; gap: 10px;}
.main_biz .swiper-pagination-bullet {
    width: max-content; height: auto; border-radius: 10px; padding: 15px; line-height: 1; font-size: 1.125rem;
    background: transparent; color: #999; opacity: 1; margin: 0 !important;
}
.main_biz .swiper-pagination-bullet-active {padding: 15px 20px; background: var(--mainColor); color: #fff;}
.main_biz .item {display: flex; align-items: flex-start; gap: 80px;}
.main_biz .item .img {border-radius: 10px; aspect-ratio: 1.5/1; width: 40%; flex-shrink: 0; max-width: 500px; font-size: 0; overflow: hidden;}
.main_biz .item .img img {width: 100%; height: 100%; object-fit: cover;}
.main_biz .item .cont {padding-top: 40px;}
.main_biz .item .name {font-size: 2.5rem; font-weight: 700;}
.main_biz .item .descrip {font-size: 1.125rem; color: #333; margin-top: 20px;}
.main_biz .item .key {display: flex; flex-wrap: wrap; gap: 10px 15px; color: var(--mainColor); font-weight: 700; font-size: 0.875rem; margin-top: 60px;}



.main_esg {width: 100%; background: url('/base/img/mf/bg_main_esg.webp') no-repeat center center / cover; position: relative; text-align: center;}
.main_esg::after {display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5; position: absolute; top: 0; left: 0;}
.main_esg .inner {position: relative; z-index: 1;}
.main_esg .main_tit {color: #fff;}
.main_esg .btnMore {color: #fff; display: flex;justify-content: center; align-items: center; gap: 7px; font-weight: 700; line-height: 1;}
.main_esg .btnMore::after {display: block; content: ""; width: 16px; aspect-ratio: 1/1; background: url('/base/img/mf/icon_more_arr.png') no-repeat center center / contain;}


.main_bot {
    width: 100%; background: url('/base/img/mf/bg_main_bot.webp') no-repeat center center / cover; position: relative;
    display: flex; align-items: center; justify-content: center;
}
.main_bot::after {display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .6; position: absolute; top: 0; left: 0;}
.main_bot .inner {position: relative; z-index: 1;}
.main_bot .main_tit {text-align: center; color: #fff; gap: 40px; padding: 100px 0; margin-bottom: 0;}


.main_news {overflow: hidden;}
.swiperMainGallery {width: 120%;}



/* about */
.abt_bg {height: 450px;}
.abt_cor .inner > div {width: 100%;}
.abt_cor .item {padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--border);}
.abt_cor .item:last-child {border-bottom: 0; margin-bottom: 0; padding-bottom: 0;}
.abt_cor .item .tit {font-size: 2rem; font-weight: 700;}
.abt_cor .item .descrip {font-size: 1.375rem; color: #777; margin-top: 10px;}


.abt_cor .sec_tit .small,
.abt_pol .sec_tit .small{font-size: 1.5rem;}


.abt_pol .inner {display: flex; gap: 80px;}
.abt_pol .sub_tit {width: 100%;}
.abt_pol .list {width: 100%; display: flex; flex-direction: column; gap: 15px;}
.abt_pol .list li {display: flex; gap: 10px; font-size: 1.375rem;}
.abt_pol .list .gu {color: #777;font-size: 1.375rem;}
.abt_pol .sec_tit{min-width: 400px;}



/* business */
.biz_sec .list {display: flex; flex-direction: column; gap: 80px;}
.biz_sec .inner{max-width: 1400px;}
.biz_sec .item {display: flex; align-items: center; gap: 80px;}
.biz_sec .item .img {width: 100%; aspect-ratio: 7/5; border-radius: 10px; overflow: hidden;}
.biz_sec .item .img img {width: 100%; height: 100%; object-fit: cover;}
.biz_sec .item .cont {width: 100%;}
.biz_sec .item .name {font-size: 2.5rem; font-weight: 700;}
.biz_sec .item .descrip {font-size: 1.125rem; color: #333; margin-top: 20px;}
.biz_sec .item .key {display: flex; flex-wrap: wrap; gap: 10px 15px; color: var(--mainColor); font-weight: 700; font-size: 0.875rem; margin-top: 60px;}
.biz_sec .item:nth-child(even) .img {order: 2;}
.biz_sec .item:nth-child(even) .cont {order: 1;}



/* lab */
.lab_off .list {display: flex; flex-wrap: wrap; gap: 20px;}
.lab_off .img {border-radius: 10px; overflow: hidden; aspect-ratio: 3/2; width: calc(20% - 16px);}
.lab_off .img img {width: 100%; height: 100%; object-fit: cover;}


.lab_fie .list {display: flex; flex-wrap: wrap; gap: 40px;}
.lab_fie .item {background: var(--bgColor); padding: 40px; border-radius: 10px; width: calc(50% - 20px); display: flex; flex-direction: column; gap: 20px;}
.lab_fie .item .tit {font-size: 2rem; font-weight: 700; color: var(--mainColor); line-height: 1.4;}
.lab_fie .item .descrip {font-size: 1.125rem; margin-top: 10px;}
.lab_fie .item .icon {width: 70px; margin-left: auto; margin-top: auto;}


.lab_use .inner {display: flex; flex-wrap: wrap; gap: 80px;}
.lab_use .sec_tit {width: calc(50% - 40px);}
.lab_use .tb_box {width: calc(50% - 40px);}
.lab_use .list {width: 100%; display: flex; flex-wrap: wrap; gap: 40px 20px;}
.lab_use .item {width: calc(25% - 15px);}
.lab_use .item .img {font-size: 0; aspect-ratio: 4/3; overflow: hidden;}
.lab_use .item .img img {width: 100%; height: 100%; object-fit: cover;}
.lab_use .item .name {text-align: center; margin-top: 15px; line-height: 1.4; display: flex; flex-direction: column; gap: 5px;}
.lab_use .item .name .big {font-weight: 700;}
.lab_use .item .name .small {color: #777; font-size: 0.875rem;}


.lab_ben {background: var(--bgColor);}
.lab_ben .inner {display: flex; gap: 80px;}
.lab_ben .inner > div {width: 100%;}
.lab_ben .sec_tit span {color: var(--mainColor);}
.lab_ben .item {padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--border);}
.lab_ben .item:last-child {border-bottom: 0; padding-bottom: 0; margin-bottom: 0;}
.lab_ben .item .tit {font-weight: 700; color: var(--mainColor); font-size: 2rem; line-height: 1.4;}
.lab_ben .item .descrip {font-size: 1.25rem; margin-top: 10px;}


.cert_sec .list {display: flex; flex-wrap: wrap; gap: 40px 20px;}
.cert_sec .item {width: calc(20% - 16px);}
.cert_sec .item .img { font-size: 0; aspect-ratio: 5.4/7; overflow: hidden; position: relative;}
.cert_sec .item .img::before {
    display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .03;
    position: absolute; top: 0; left: 0;
}
.cert_sec .item .img img {width: 100%; height: 100%; object-fit: contain;}
.cert_sec .item .name {text-align: center; margin-top: 15px;}



/* product */
.prd_top .inner {display: flex; align-items: center; justify-content: space-between; gap: 40px;} 
.prd_tab {display: flex; flex-direction: column; align-items: flex-end; gap: 10px;}
.prd_tab a {font-size: 1.125rem; padding: 15px; line-height: 1; color: #999; border-radius: 10px; transition: all .3s;}
.prd_tab a:hover {padding: 15px 20px; background: var(--bgColor);}
.prd_tab a.on {background: var(--mainColor); color: #fff; padding: 15px 20px;}
.prd_sec .inner {max-width: 1400px;}
.prd_sec .sec_box {display: flex; align-items: flex-start; gap: 60px;}
.prd_sec .img {width: 100%; border-radius: 10px; overflow: hidden; font-size: 0;}
.prd_sec .img img {width: 100%; height: 100%; object-fit: cover;}
.prd_sec .list {width: 100%; display: flex; flex-wrap: wrap; gap: 40px;}
.prd_sec .item {min-width: calc(50% - 20px);}
.prd_sec .item .gu {font-size: 1.125rem; font-weight: 700; margin-bottom: 7px;}
.prd_sec .item .nae {color: #555; font-size: 0.9375rem; display: flex; flex-direction: column; gap: 5px;}
.prd_sec .item .nae > div {position: relative; padding-left: 10px;}
.prd_sec .item .nae > div::before {display: block; content: "กค"; position: absolute; left: 0; top: 0;}
.prd_sec .sec_tit .cate{color: var(--mainColor);  font-weight: 700; font-size: 1.5rem;}
.prd_sec .sec_tit .big{font-size: 3rem;margin-bottom: 2rem;}
.prd_sec .item .gu{font-size: 1.75rem;}
.prd_sec .item .nae{font-size: 1.125rem;}
.prd_sec .sec_tit{margin-bottom: 30px;margin-top: 2rem;}
.prd_sec .sec_tit:first-child{margin-top: 0;}


/* esg */
.esg_ide {position: relative;}
.esg_ide .bg {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.esg_ide .bg img {width: 100%; height: 100%; object-fit: cover;}
.esg_ide .inner {position: relative; z-index: 1;}
.esg_ide .sec_box {width: 100%; max-width: 800px; margin: 0 auto; border-radius: 10px; background: rgba(0,0,0,.4); padding: 60px; color: #fff;text-align: center;}
.esg_ide .sec_box .tit {font-size: 3rem; font-weight: 700;}
.esg_ide .sec_box .descrip {font-size: 1.375rem; margin-top: 20px;}


.esg_pol .list {display: flex; flex-direction: column; gap: 10px;font-size: 1.375rem;}
.esg_pol .list li {display: flex; gap: 10px; display: flex; align-items: flex-start;}
.esg_pol .list .gu {color: #777;}
.esg_pol .sign {margin-top: 20px; width: max-content; max-width: 100%; margin-left: auto;}
.esg_pol .sign .name {font-weight: 700;}
.esg_pol .sign .img {width: 100px; font-size: 0; margin-top: 10px;}



/* contact */
.way_sec .inner {display: flex; gap: 80px; align-items: center;}
.way_sec .map {width: 100%; height: 450px;}
.way_sec .map iframe {width: 100%; height: 100%;}
.way_sec .info {width: 100%;}
.way_sec .info .list {display: flex; flex-direction: column; gap: 20px; font-size: 1.125rem;}
.way_sec .info .list li {display: flex; gap: 10px;}
.way_sec .info .list .gu {flex-shrink: 0; color: #777; width: 100px;}


.biz_product .tit_wrap{
    position: relative;
    padding: 30px 25px;
    box-sizing: border-box;
    z-index: 2;
    word-break: keep-all;
    word-wrap: break-word;
}


.biz_product .tit_wrap .tit{
    width: 100%;
    height: 100%;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #15418A;
    line-height: 1.2;
}


.biz_product .tit_wrap .sub_tit{
    margin-top: 18px;
    line-height: 1.625em;
    color: #666;
    position: relative;
}


.biz_product .tit_wrap .sub_tit:after{
    display: block;
    position: relative;
    width: 20px;
    height: 12px;
    content: "";
    margin-top: 21px;
    background: url('/base/img/mf/icon_arr_g.png') 50% 50% no-repeat;
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
}


.biz_product .item:hover .tit_wrap .sub_tit:after{
    background: url('/base/img/mf/icon_arr_w.png') 50% 50% no-repeat;
}
.biz_product .item{
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height:340px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}
.biz_product .item .bg{
    overflow: hidden;
    position: absolute;
    top: 245px;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    transition: all 0.5s ease-in-out;
}
.biz_product .item:hover .bg{
    top: 0;
    transition: all 0.5s ease-in-out;
}
.biz_product .item .bg img{
    margin-top: -245px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease-in-out;
    position: relative;
}
.biz_product .item:hover .bg img{
    margin-top: 0;
    transition: all 0.5s ease-in-out;
}
.biz_product .item .bg::after{
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #15418A;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}
.biz_product .item:hover .bg::after{
    opacity: 0.7;
}


.biz_product .item:hover .tit_wrap .tit{color: #fff;transition: all 0.5s ease-in-out;}
.biz_product .item:hover .tit_wrap .sub_tit{color: #fff;transition: all 0.5s ease-in-out;}


.biz_product .list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.esg_tab{padding: 100px 0 150px;}
.esg_tab .esg_tab_box ul{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.esg_tab .esg_tab_box ul li{
    text-align: center;
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    border-bottom: 1px solid #d6d6d6;
}


.esg_tab .esg_tab_box ul li a{
    padding: 25px 0;
    display: block;
    position: relative;
}
.esg_tab .esg_tab_box ul li a::after{
    content: '';
    background: #d6d6d6;
    position: absolute;
    width: 1px;
    height: 28px;
    right: 0;
}
.esg_tab .esg_tab_box ul li:last-child a::after{
    display: none;
}


.esg_tab .esg_tab_box ul li.active{
    background-color: #15418A;
    font-weight: 600;
    color: #fff;
    border-bottom: 1px solid #15418A;
}
.esg_tab .esg_tab_box ul li.active a::after{
    display: none;
}
.esg_tab .esg_tab_box ul li.tab_bn a::after{
    display: none;
}
.esg_tab_content{
    text-align: center;
    padding: 80px 0;
}
.esg_tab_content h2{
    font-size: 48px;
}
.esg_tab_content p{
    font-size: 22px;
    font-weight: 400;
    margin-top: 10px;
}


.sub_top .descrip span{font-weight: 700; border-bottom: 2px solid #000;}
.ceo .descrip{display: flex; gap: 30px; justify-content: space-between;}


.gal_view_wrap .bg,
.gal_view_wrap .esg_ide,
.gal_view_wrap .esg_pol{display: none;}


.his_sec .gu span{color:var(--mainColor);}
.his_sec .inner{display: flex;}
.his_sec .inner .sec_tit{margin-right: 120px;}
.his_sec .item{width: 100%;}
.his_sec .item .small{color: #000; font-size: 22px; display: inline-block;margin-top: 10px;}