/*sub-common*/
.tit-01 {
    font-size: var(--sub-tit-34);
}
.tit-01-02 {
    font-size: var(--sub-tit-30);
}
.tit-02 {
    font-size: var(--sub-tit-24);
}
.txt-01 {
    font-size: var(--sub-txt-18);
}
.con-pd {
    padding: var(--con-pd);
}
.title .tit-01 {
    text-align: center;
    font-weight: 600;
    letter-spacing: -1px;
}
.title .tit-01 span {
    color: var(--main-color);
    line-height: 1.6;
}
.title .txt-01 {
    color: var(--color-text3);
    margin-top: 1.6rem;
    text-align: center;
}
.txt-dot {
    padding-left: 1rem;
    position: relative;
}
.txt-dot::after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 3px;
    height: 3px;
    background-color: var(--color-text3);
    border-radius: 100%;
    transition: all 0.4s ease;
}

.txt-of-01 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.txt-of-02 {
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.tit {
    font-weight: bold;
}

.txt {
    font-weight: 400;
}

.txt span {
    font-weight: bold;
}
/*sub-common//*/

/*page-name*/
.page-name {
    display: flex;
    justify-content: center;
}

.page-name .page-tit {
    letter-spacing: -1px;
    font-size: var(--font-size-tit);
    font-weight: bold;
    margin: 0 0 1.4rem;
    text-align: center;
}
/*page-name//*/

/*breadcrumbs*/
.breadcrumbs {
    margin-bottom: 1rem;
}

.breadcrumbs .t-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    transform: translate(0px, 0px);
    opacity: 1;
}

.breadcrumbs .t-nav li {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    color: var(--color-g-text);
}

.breadcrumbs .t-nav li a {
    line-height: 1;
}

.breadcrumbs .t-nav li.active {
    color: #fff;
    font-weight: 500;
}

/*breadcrumbs//*/

/*sub-top*/
.sub-top {
    width: 100%;
    height: var(--sub-top-height);
    position: relative;
    overflow: hidden;
}
/*sub-top//*/

/*sub-visual*/
.sub-visual {
    height: 100%;
    width: 100%;
    position: relative;
}

.sub-visual::before {
    display: none;
    content: "";
    position: absolute;
    right: 0;
    height: 100%;
    width: var(--side-wrap);
    border-left: 1px solid #ffffff20;
    transition: all 0.8s ease;
}

.sub-visual .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center;
    transform: scale(1.3, 1.3);
    transition: all 0.3s ease;
    animation: image-zoom-out02 3s 0.3s forwards;
}

@keyframes image-zoom-out02 {
    0% {
        transform: scale(1.3, 1.3);
    }
    100% {
        transform: scale(1, 1);
    }
}

.sub-visual .info {
    align-items: center;
    height: 100%;
}

.sub-visual .info .info-wrap .tit {
    font-size: 6rem;
    font-weight: 600;
    color: #ffffff;
}

.sub-visual .sub-nav-wrap {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    /* padding-right: var(--side-wrap); */
    background: #F9F9F9;
    border-bottom: 1px solid #EFEFEF;
}

/*.sub-visual .sub-nav-wrap .sub-nav {
    border-top: 1px solid #ffffff20;
}*/

.sub-visual .sub-nav-wrap .sub-nav .menu {
    /*gap: 12rem;
    height: 10rem;*/
    align-items: center;
    transition: all 0.6s ease;
}

.sub-visual .sub-nav-wrap .sub-nav .menu li {
    transition: all 0.2s ease;
    display: inline-block;
    width: auto;
}
.sub-visual .sub-nav-wrap .sub-nav .menu li a {
    display: block;
    width: 18rem;
    height: 7rem;
    line-height: 7rem;
    font-size: 1.8rem;
    color: #555;
    font-weight: 600;
    border-right: 1px solid #eee;
    text-align: center;
    font-family: "s-core", sans-serif;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 20px;
}
.sub-visual .sub-nav-wrap .sub-nav .menu li:first-child a {
    border-left: 1px solid #eee;
}

.sub-visual .sub-nav-wrap .sub-nav .menu li:hover a {
    color: #ffffff;
    background: #222;
}

.sub-visual .sub-nav-wrap .sub-nav .menu li.on a {
    color: #ffffff;
    background: #222;
}

.sub-visual .bg {
    background-position: center;
    height: calc(100% - 7rem);
}

.company .sub-visual .bg {
    background-image: url("../img/p_company_bg.jpg");
}
.ceo .sub-visual .bg {
    background-image: url("../img/ceo_bg.jpg");
}
.history .sub-visual .bg {
    background-image: url("../img/history_bg.jpg");
}
.certification .sub-visual .bg {
    background-image: url("../img/certification_bg.jpg");
}
.organization .sub-visual .bg {
    background-image: url("../img/organization_bg.jpg");
}
.location .sub-visual .bg {
    background-image: url("../img/location_bg.jpg");
}
.application .sub-visual .bg {
    background-image: url("../img/application_bg.jpg");
}
.equipment .sub-visual .bg {
    background-image: url("../img/equipment_bg.jpg");
}
.rnd .sub-visual .bg {
    background-image: url("../img/rnd_bg.jpg");
}
.customer .sub-visual .bg {
    background-image: url("../img/customer_bg.jpg");
}

/*sub-visual//*/

/*sub-common*/
.sub-content {
    padding: 12rem 0 20rem;
}

.sub-title {
    margin-bottom: 3rem;
}

.sub-tit {
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.5;
}

.sub-title .txt {
    padding-top: 3rem;
    font-size: 2.2rem;
    color: #333;
}

.sub-tit span {
    color: var(--main-color);
}

.sub-sec {
    margin-bottom: 16rem;
}

.ral-box {
    justify-content: space-between;
    gap: 2rem;
}

.ral-box .sub-tit-box {
    width: 25%;
}

.ral-box .sub-con-box {
    width: 75%;
}

/*sub-common//*/

/*ceo*/
.ceo .con-box {
    gap: 4rem;
}

.ceo .con-box > div {
    width: 50%;
}

.ceo .con-box .right {
    width: calc(50% - 10rem);
}

.ceo .con-box .right .txt {
    font-size: 2.2rem;
    margin-bottom: 3.5rem;
}

.ceo .con-box .right .txt span {
    font-weight: 600;
}

.ceo .con-box .right .ceo-sign {
    margin-top: 8rem;
    text-align: right;
    flex-direction: column;
    align-items: flex-end;
}

.ceo .con-box .right .ceo-sign img {
    max-width: 10rem;
    margin-bottom: 1rem;
}

.ceo .con-box .right .ceo-sign .name {
    font-size: 2.2rem;
    font-weight: 600;
}
/*ceo//*/

/*mission-vision*/
.mission-vision .con-box .right {
    width: 65%;
}

.mission-vision .con-box .right .item-wrap {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    padding: 4.6rem 2rem;
    align-items: center;
    gap: 4rem;
}

.mission-vision .con-box .right .item-wrap * {
    transition: all 0.4s ease;
}

.mission-vision .right .item-wrap .img-wrap {
    border-radius: 100%;
    overflow: hidden;
    max-width: 19rem;
}

.mission-vision .right .item-wrap .img-wrap img {
    transform: scale(1.1);
}

.mission-vision .right .item-wrap:hover .img-wrap img {
    transform: scale(1);
}

.mission-vision .right .item-wrap .tit {
    font-size: 6rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.mission-vision .right .item-wrap .txt {
    font-size: 2.2rem;
    color: #333;
}

.mission-vision .right .item-wrap:hover .img-wrap,
.mission-vision .right .item-wrap:hover .text-wrap {
    transform: translateX(10%);
}

/* .mission-vision .con-box .right .item-wrap.vision {
    transform: translateY(-1px);
} */
/*mission-vision//*/

/*value*/
.value .list-wrap .list {
    width: calc(100% - 16rem / 5);
    margin-right: 4rem;
}

.value .list-wrap .list:last-child {
    margin-right: 0;
}

.value .list-wrap .list .icon-info {
    border: 1px solid #eeeeee;
    border-radius: 1rem;
    padding: 5.4rem 1rem;
    text-align: center;
    margin: 0 auto 2rem;
}

.value .list-wrap .list .icon-info .icon-box {
    margin-bottom: 4rem;
    position: relative;
    max-height: 8rem;
    height: 8rem;
}

.value .list-wrap .list .icon-info .icon-box * {
    transition: all 0.4s ease;
}

.value .list-wrap .list .icon-info .icon-box .default-img {
    opacity: 1;
}

.value .list-wrap .list .icon-info .icon-box .hover-img {
    opacity: 0;
}

.value .list-wrap .list:hover .icon-info .icon-box .default-img {
    opacity: 0;
}

.value .list-wrap .list:hover .icon-info .icon-box .hover-img {
    opacity: 1;
}

.value .list-wrap .list .icon-info .icon-box img {
    max-height: 8rem;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.value .list-wrap .list .icon-info .txt {
    font-size: 1.8rem;
    color: var(--main-color);
}

.value .list-wrap .list .icon-info .tit {
    font-size: 2.6rem;
    line-height: 1.2;
    font-weight: 600;
}

.value .list-wrap .list .text-box .txt {
    text-align: center;
    font-size: 1.8rem;
}

.value .list-wrap .list .icon-info,
.value .list-wrap .list .icon-info .tit,
.value .list-wrap .list .icon-info .txt {
    transition: all 0.4s ease;
}

.value .list-wrap .list:hover .icon-info {
    background-color: var(--main-color);
}

.value .list-wrap .list:hover .icon-info .tit,
.value .list-wrap .list:hover .icon-info .txt {
    color: #ffffff;
}

/*value//*/

/*location*/

.location .con-box .right .map {
    margin-bottom: 4rem;
}

.location .con-box .right .map-info-wrap .lo-address {
    margin-bottom: 4rem;
}

.location .con-box .right .map-info-wrap .lo-address .txt {
    font-size: 2.6rem;
    font-weight: 600;
}

.location .con-box .right .map-info-wrap .lo-info-box {
    gap: 5.5rem;
}

.location .con-box .right .lo-info-box .info-wrap {
    align-items: center;
    gap: 2rem;
}

.location .con-box .right .lo-info-box .info-wrap .icon-box {
    width: 8.8rem;
    height: 8.8rem;
    border-radius: 100%;
    background-color: #f9f9f9;
    position: relative;
}

.location .con-box .right .lo-info-box .info-wrap .icon-box img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-height: 3rem;
}

.location .con-box .right .lo-info-box .info-wrap .txt {
    font-size: 2.2rem;
}

.location .con-box .right .lo-info-box .info-wrap .txt.dd {
    color: #333333;
    font-weight: 300;
}
/*location//*/

/*quality-title*/
.title.quality {
    margin-bottom: 10rem;
}
/*quality-title//*/

/*quality-target*/
.q-target .zero-wrap {
    margin-bottom: 8rem;
}

.q-target .zero-wrap .zero-box .zero-list {
    font-size: 14rem;
    font-weight: 800;
    line-height: 1.1;
    color: #f3f3f3;
    transition: all 0.4s ease;
}

.q-target .zero-wrap .zero-box .zero-list.on {
    color: #161616;
}

.q-target .zero-wrap .zero-box .zero-list.on span {
    color: var(--main-color);
}

.q-target .info-wrap .info-box {
    gap: 3rem;
}

.q-target .info-wrap .info-box .info-list {
    width: 33.333%;
}

.q-target .info-wrap .info-box .info-list:hover img {
    transform: scale(1.2);
}

.q-target .info-wrap .info-box .img-box {
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 1rem;
}

.q-target .info-wrap .info-box .text-box {
    padding: 1rem;
}

.q-target .info-wrap .info-box .text-box .tit {
    font-size: 2.6rem;
    margin-bottom: 1rem;
}

.q-target .info-wrap .info-box .text-box .txt {
    font-size: 1.8rem;
    color: #666666;
    font-weight: 300;
}
/*quality-target//*/

/*quality-process*/
.q-process .process-wrap .process-list {
    gap: 2rem;
    flex-wrap: wrap;
}

.q-process .process-wrap .process-list .item {
    border: 1px solid #eeeeee;
    border-radius: 1rem;
    width: calc(50% - 1rem);
    overflow: hidden;
}

.q-process .process-wrap .process-list .item .left {
    background-color: #ffffff;
    width: 25%;
    position: relative;
    padding: 2rem;
    align-items: center;
    justify-content: center;
}

.q-process .process-wrap .item .left .icon-box {
    width: 6.6rem;
    height: 6.6rem;
    background-color: var(--main-color);
    border-radius: 100%;
    position: relative;
    margin-bottom: 1rem;
}

.q-process .process-wrap .item .left .icon-box img {
    max-height: 4rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.q-process .process-wrap .item .left .text-box {
    text-align: center;
}

.q-process .process-wrap .item .left .text-box .txt {
    /* color: #ffffff; */
    font-size: 1.8rem;
    /* font-weight: 600; */
}

.q-process .process-wrap .item .right {
    width: 75%;
    padding: 4rem 2rem;
}

.q-process .process-wrap .item .right .tit {
    font-size: 2.4rem;
    margin-bottom: 1rem;
}

.q-process .process-wrap .item .right .txt {
    font-size: 1.8rem;
    color: #333333;
    font-weight: 300;
}
/*quality-process//*/

/*esg-management*/
.esg-con-wrap .list {
    gap: 4rem;
}
.esg-con-wrap .list .item {
    width: calc(100% - 8rem / 3);
}

.esg-con-wrap .list .item .img-box {
    position: relative;
    padding-top: 80%;
    max-height: 50rem;
    border-radius: 1rem;
    overflow: hidden;
    background-size: cover;
    margin-bottom: 3rem;
}

.esg-con-wrap .list .e-box .img-box {
    background-image: url("../img/esg-e.jpg");
}
.esg-con-wrap .list .s-box .img-box {
    background-image: url("../img/esg-s.jpg");
}
.esg-con-wrap .list .g-box .img-box {
    background-image: url("../img/esg-g.jpg");
}

.esg-con-wrap .list .item .img-box .info {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 0.4rem 2rem;
    background-color: #ffffff20;
    backdrop-filter: blur(4px);
    border-radius: 100px;
    text-align: center;
}

.esg-con-wrap .list .item .img-box .info .tit {
    color: #ffffff;
    font-size: 3.4rem;
    white-space: nowrap;
}

.esg-con-wrap .list .item .text-box {
    text-align: center;
    color: #333333;
}

.esg-con-wrap .list .item .text-box .tit {
    font-size: 2.2rem;
    margin-bottom: 0.6rem;
}

.esg-con-wrap .list .item .text-box .txt {
    padding: 0.4rem 1rem;
    background-color: #f9f9f9;
    border-radius: 100px;
    margin: 0.8rem 0;
    font-size: 1.8rem;
    font-weight: 300;
}
/*esg-management//*/

/*esg-process*/
.esg-process .process-wrap .process-list {
    gap: 2rem;
    flex-wrap: wrap;
}

.esg-process .process-wrap .process-list .item {
    background-color: #f9f9f9;
    border-radius: 1rem;
    width: calc(50% - 1rem);
    overflow: hidden;
    padding: 2rem;
    min-height: 28rem;
}

.esg-process .process-wrap .process-list .item .left {
    background-color: #ffffff;
    width: 45%;
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
}

.esg-process .process-list .item .left .img-box {
    width: 100%;
    height: 100%;
    background-size: cover;
    /* background-position: center; */
}

.esg-process .process-list .item .left .img-box.process-01 {
    background-image: url("../img/e-process-img-01.jpg");
}
.esg-process .process-list .item .left .img-box.process-02 {
    background-image: url("../img/e-process-img-02.jpg");
}
.esg-process .process-list .item .left .img-box.process-03 {
    background-image: url("../img/e-process-img-03.jpg");
}
.esg-process .process-list .item .left .img-box.process-04 {
    background-image: url("../img/e-process-img-04.jpg");
}

.esg-process .process-wrap .item .right {
    width: 55%;
    padding: 4rem 0 4rem 3rem;
    align-items: center;
}

.esg-process .process-wrap .item .right .tit {
    font-size: 2.4rem;
    margin-bottom: 1rem;
}

.esg-process .process-wrap .item .right .txt {
    font-size: 1.8rem;
    color: #555555;
    font-weight: 300;
}
/*esg-process//*/

/*notice*/
.notice .sub-title {
    margin-bottom: 8rem;
}
/*notice//*/

/*board-list-style*/
.board-list-wrap * {
    transition: all 0.4s ease;
}

.board-list-wrap {
  position: relative;
  z-index: 1;
}

.board-list-wrap .board-box {
    border-top: 1px solid #161616;
}

.board-list-wrap .board-item.add-ntc a {
    background-color: #ed1b2208;
    border-bottom: 1px solid #ed1b22;
}

.board-list-wrap .board-item a {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding: 2.5rem;
}

.board-list-wrap .board-item a .date {
    color: #666666;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.board-list-wrap .board-item a .title {
    font-size: 2rem;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.board-list-wrap .board-item a:hover .title {
    color: var(--main-color);
}

.board-list-wrap .board-item a .plus-wrap .box {
    position: relative;
}

.board-list-wrap .board-item a:hover .plus-wrap .box {
    transform: rotate(180deg);
}

.board-list-wrap .board-item a .plus-wrap .box span {
    background-color: #161616;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.board-list-wrap .board-item a .plus-wrap .box span.width {
    width: 1.6rem;
    height: 0.2rem;
}

.board-list-wrap .board-item a .plus-wrap .box span.length {
    width: 0.2rem;
    height: 1.6rem;
}

.board-list-wrap .board-item a .plus-wrap .notice {
    display: none;
    width: 100px;
}

.board-list-wrap .board-item a .plus-wrap.add-ntc .box {
    display: none;
}

.board-list-wrap .board-item a .plus-wrap.add-ntc .notice {
    display: block;
}

.board-list-wrap .board-item a .notice span {
    font-size: 1.6rem;
    font-weight: 500;
    background-color: var(--main-color);
    color: #fff;
    padding: 0 1.4rem;
    border-radius: 100px;
    display: inline-block;
}

.cs_date {
    font-size: 14px;
    color: #888;
    font-weight: 500;
    letter-spacing: -0.5px;
    width: 75px;
    text-align: center;
}

.board-box .board-item a .b-info-box {
    width: calc(100% - 75px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.board-box .board-item.add-ntc a .b-info-box {
    width: calc(100% - 175px);
}


/*board-list-style//*/

/*.business*/

.business .sec-01 {
    background-color: #000000;
}

.business .sec-02 {
    background-color: #4b4b4b;
}

.business .sec-03 {
    background-color: #898989;
}

.business .sec-04 {
    background-color: #d1d1d1;
    height: auto !important;
}
.business .sec-04 .fp-tableCell {
    height: auto !important;
}

.business .section .bg-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}

.business .section .bg-wrap .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: scale(1.3);
}

.business .section.active .bg-wrap .bg {
    animation: image-zoom-out02 8s forwards;
}

.business .section.sec-01 .bg-wrap .bg {
    background-image: url("../img/business-sec-01.jpg");
}
.business .section.sec-02 .bg-wrap .bg {
    background-image: url("../img/business-sec-02.jpg");
}
.business .section.sec-03 .bg-wrap .bg {
    background-image: url("../img/business-sec-03.jpg");
}

.business .section .info-box {
    position: relative;
    z-index: 2;
    color: #fff;
    flex-direction: column;
    gap: 2rem;
}

.business .section .info-box .item-box {
    padding: 3rem 6rem;
    /* background-color: #ffffff04; */
    /* backdrop-filter: blur(8px); */
    max-width: 80rem;
    border-radius: 1rem;
    opacity: 0;
}

.business .section .info-box .item-box .tit {
    font-size: 4.8rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.business .section .info-box .item-box .text-box {
    flex-wrap: wrap;
    gap: 1rem;
}

.business .section .info-box .item-box .text-box p {
    width: calc(50% - 0.5rem);
}

.business .section.active .info-box .item-box {
    animation: con-fade-up 1.8s 0.2s forwards;
}

.business .section .info-box .item-box.delay06s {
    animation-delay: 0.6s;
}

@keyframes con-fade-up {
    0% {
        transform: translateY(10%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.business .sec-03 .info-box {
    width: 100%;
    height: 100%;
}

.business .sec-03 .text-box {
    position: absolute;
    left: 0;
    bottom: 10%;
    color: #161616;
}

.business .process-wrap {
    position: relative;
    max-width: 140rem;
    margin: auto;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 20rem;
}

.business .process-wrap .content {
    position: relative;
}

.business .process-wrap .content .process-list {
    width: 100%;
    height: 100%;
}

.business .process-wrap .process-list .pcs-item {
    position: absolute;
    width: 30%;
}

.business .process-wrap .process-list .item-01 {
    left: -16%;
    top: -26%;
}
.business .process-wrap .process-list .item-02 {
    left: 8%;
    top: 3%;
}
.business .process-wrap .process-list .item-03 {
    left: 32%;
    top: -24%;
}
.business .process-wrap .process-list .item-04 {
    left: 57%;
    top: 4%;
}
.business .process-wrap .process-list .item-05 {
    left: 33%;
    top: 33%;
}
.business .process-wrap .process-list .item-06 {
    left: 57%;
    top: 56%;
}
.business .process-wrap .process-list .item-07 {
    left: 82%;
    top: 29%;
}

.business .process-wrap .process-list .pcs-item .num-box {
    width: 3rem;
    height: 3rem;
    justify-content: center;
    align-items: center;
    background-color: #161616;
    border-radius: 100%;
    padding: 2rem;
    transition: all 0.4s ease;
    opacity: 0;
}

.business .process-wrap .process-list .pcs-item .num {
    font-size: 2rem;
    font-weight: 600;
}

.fp-viewing-business-01 .header {
    opacity: 1;
    visibility: visible;
    display: block;
}

.fp-viewing-business-02 .header,
.fp-viewing-ft .header,
.fp-viewing-process .header {
    opacity: 0;
    visibility: hidden;
    display: none;
}

@media screen and (max-width: 700px) {

    .fp-viewing-business-02 .header,
    .fp-viewing-ft .header,
    .fp-viewing-process .header {
        opacity: 1;
        visibility: visible;
        display: block;
    }
}



.all_sub_txt {
    font-size: 1.8rem;
    color: #fff;
    font-weight: 200;
    margin-top: 2rem;
}
.sub_con_tt {
    text-align: center;
    font-size: 4rem;
    font-weight: 600;
    letter-spacing: -0.5px;
    margin-bottom: 10rem;
}
.cp_table {
    display: flex;
    gap: 40px;
    overflow: hidden;
}
.cp_table > div {
    width: 50%;
}
.cp_table .table_box h4 {
    font-size: 2.5rem;
    padding-bottom: 1.7rem;
}
.cp_table > div:first-child table {
    min-height: 45.2rem;
}
.cp_table > div:last-child table td a {
    text-decoration: underline;
    text-underline-position: under;
}
.table_box table {
    border-top: 2px solid;
    border-spacing: 0;
    width: 100%;
}
.table_box table th, .table_box table td {
    border-bottom: 1px solid #ddd;
    text-align: left;
    padding: 1.5rem;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: -0.5px;
    line-height: 1.4;
}
.cp_table .table_box table td p a {
    font-size: 1.8rem;
}
.table_box table th {
    background: #f7f7f7;
    width: 15rem;
}
.table_box table td {
    color: #777;
    width: calc(100% - 15rem);
}

.ceo_greeting {
    text-align: center;
}
.ceo_greeting h2 {
    font-size: 2.5rem;
}
.ceo_greeting_img {
    margin: 7rem 0;
    position: relative;
    height: 30rem;
    background: url(../img/ceo_greeting04.jpg) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
}
.ceo_greeting_img p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.5rem;
    letter-spacing: 2rem;
    color: #fff;
    width: 100%;
}
.greeting_detail {
    max-width: 85rem;
    margin: 0 auto;
    font-size: 1.8rem;
    letter-spacing: -1px;
}
.ceo_name {
    margin: 10rem auto 1.5rem;
}
.ceo_name b {
    font-weight: 800;
}
.ceo_greeting > img:last-child {
    width: 22rem;
    margin: 0 auto;
}

.certification_con {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.certification_con > div {
    width : calc(20% - 16px);
    min-height: 40rem;
    margin-bottom: 5rem;
    text-align: center;
}
.certification_con > div > div {
    background: #F3F3F3;
    padding: 3rem;
}
.certification_con > div > div img {
    background: linear-gradient(180deg, #DBC48D 0%, #B89B5E 100%);
    padding: 5px;
    /* height: 26rem;
    width: auto; */
    display: block;
    margin: 0 auto;
    max-width: 100%;
    object-fit: contain;
}
.certification_con div h4 {
    font-size: 1.8rem;
    letter-spacing: -1px;
    padding: 2rem 0 1rem;
}
.certification_con div p {
    color: #333;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -1px;
}

.location_detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 2rem;
}
.location_detail > div {
    width: 25%;
    text-align: center;
    padding: 5rem 0;
}
.location_detail > div > img {
    height: 35px;
}
.location_detail > div >  a > img {
    height: 55px;
}
.location_detail > div > p:nth-child(2), .location_detail > div > a > p {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1rem 0 2rem;
}
.location_detail > div > p:last-child {
    font-weight: 500;
    color: #555;
}



/* 연혁 */
.history_con {
    padding-bottom: 5rem;
    padding-right: 10rem;
}
.history-top-txt {
    font-size: 2.5rem; 
    font-weight: 500; 
    letter-spacing: -0.02em; 
    color: #333333; 
    line-height: 1.68em; 
    margin-bottom: 11.5rem; 
    text-align: center;
}
.history-banner .inner {
    position: relative; 
    display: flex; 
    align-items: center; 
    justify-content: end; 
    max-width: 122rem; 
    margin: 0 auto;
}
@keyframes circle_rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
.history-drop-open-btn-style {
    display: none;
}
.history-tab-list-style {
    position: relative; 
    margin-top: -3rem;
}
.history-tab-list-style ul {
    display: flex; 
    max-width: 112rem; 
    margin: 0 auto; 
    height: 6rem; 
    border-radius: 3rem; 
    background:#f5f5f5;
}
.history-tab-list-style ul li {
    position: relative; 
    width: 25%; 
    text-align: center; 
    height: 6rem;
}
.history-tab-list-style ul li:before {
    position: absolute; 
    content: ''; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    border-radius: 3rem; 
    border: 0.2rem solid #eb4d4d; 
    background:#fff; 
    opacity: 0; 
    transition: all 0.3s; 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
     box-sizing: border-box;
}
.history-tab-list-style ul li a {
    display: block; 
    line-height: 6rem; 
    position: relative; 
    z-index: 1;
}
.history-tab-list-style ul li a em {
    font-size: 1.8rem; 
    font-weight: 700; 
    letter-spacing: -0.02em; 
    color: #111111;
}
.history-tab-list-style ul li.selected:before {
    opacity: 1;
}

.history-con {
    position: relative; 
    margin-top: 12rem;
}
.history-percent-bar {
    position: absolute; 
    left: 45%; 
    border-radius: 2.5px; 
    margin-left: -0.2rem; 
    width:1px;
    height: calc(100% - 0rem); 
    background: #ddd;
}
.history-percent-bar .percent-bar-child {
    position: absolute;
    content: ""; 
    width: 100%;  
    height: 0; 
    background-color: #D30D18; 
    z-index: 1; 
    border-radius:2px 2px 0 0;
    }
.percent-bar-child .point { 
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    left: 50%;
    content: "";
    z-index: 10;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #D30D18;
    transform: translate(-50%, 0);
    box-shadow: 0 5px 10px 0 #d30d1869;
}
.percent-bar-child .point .percent_bar_in {
    width: 1rem;
    height: 1rem;
    background: #fff;
    border-radius: 50%;
}
.history-year-group-box {
    position: relative; 
    display: flex; 
    padding-bottom: 13rem;
}
.history-year-group-box:last-of-type { 
    padding-bottom: 0;
}
.history-year-group-box .history-year-group-tit-box {
    width: 45%; 
    padding-right: 10rem;
    text-align: right;
}
.history-year-group-box .history-year-group-tit {
    font-size: 3rem; 
    font-weight: 800; 
    letter-spacing: -0.03em; 
    color: #D30D18; 
    line-height: 1.1; 
    transition: all 0.3s;
} 
.history-year-group-box.active .history-year-group-tit {color: var(--main-color);}
.history-year-group-box .history-year-list-box {
    width: 55%; 
    padding: 0 0 0 10rem; 
}
.history-year-group-box .history-year-item {
    display: flex; 
    margin-bottom: 5rem;
}
.history-year-group-box .history-year-item:last-of-type {
    margin-bottom: 0;
}
.history-year-group-box .history-year-item .history-year {
    display: block; 
    width: 11.5rem;
}
.history-year-group-box .history-year-item .history-year  strong {
    font-size: 2.4rem; 
    font-weight: 700; 
    letter-spacing: -0.02em; 
    color: #222222; 
    line-height: 1.2;
}
.history-year-group-box .history-year-item .history-month-box {
    width: calc(100% - 11.5rem);
}
.history-year-group-box .history-year-item .history-month-item {
    display: flex; 
    margin-bottom: 0.6rem;
}
.history-year-group-box .history-year-item .history-month-item:last-child {
    margin-bottom: 0;
}
.history-year-group-box .history-year-item .history-month-item .history-month {
    width: 4rem; 
    font-size: 1.8rem; 
    line-height: 2em; 
    font-weight: 600; 
    letter-spacing: -0.05em; 
    color: #555; 
    padding-right: 0.7rem; 
    box-sizing: border-box;
}
.history-year-group-box .history-year-item .history-month-item .history-detail-txt-con {
    width: calc(100% - 4rem);
}
.history-year-group-box .history-year-item .history-month-item .history-detail-txt {
    font-size: 1.8rem; 
    font-weight: 600; 
    letter-spacing: -0.05em; 
    line-height: 2em; 
    color: #555;
}
.history-year-group-box .history-year-item .history-month-item .history-detail-txt img {
    margin: 1rem 0;
    width: auto;
    max-width: 50rem;
    border: 1px solid #eee;
}
.history-year-group-box .history-year-item .history-month-item .history-detail-txt img.history_img {
    max-height: 318px;
    border: 1px solid #eee;
}

.application .sub_con_wrap .sub_con_tt {
    margin-bottom: 3rem;
}
.business_detail_img {
    position: relative;
}
.business_detail_img img {
    border-radius: 20px;
}
.business_detail_img p {
    font-size: 2.2rem;
    color: #fff;
    font-weight: 600;
    letter-spacing: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-transform: uppercase;
    width: 100%;
}
.business_detail {
    position: relative;
    padding-bottom: 10rem;
    text-align: center;
}
.business_detail::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(100% - 31.4rem);
    background: #f5f5f5;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.business_mark {
    width: 15rem;
    height: 4rem;
    background: #222;
    color: #fff;
    border-radius: 20px;
    line-height: 4rem;
    margin: 5rem auto 3rem;
    font-size: 14px;
}
.business_detail h4 {
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 4rem;
}
.business_detail .all_container > p:last-child {
    color: #555;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: left;
}
.application_detail {
    text-align: center;
    margin-top: 10rem;
}
.application_detail h4 {
    font-size: 2.8rem;
}
.application_box_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 5rem;
}
.application_box {
    width: calc(100% / 3 - 27px);
    background: #f5f5f5;
    border-radius: 30px;
    padding: 4rem;
}
.application_box div {
    background: #fff;
    border-radius: 20px;
    min-height: 20rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
}
.application_box div img {
    max-width: 100%;
    width: auto;
}
.application_box > p {
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.4;
    /* overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    height: 2.8em; */
}


.eq_table {
    display: flex;
    position: relative;
}
.eq_table_tt {
    width: 20rem;
}
.eq_table_tt h4 {
    font-size: 2.4rem;
    position: relative;
    padding-left: 5px;
}
.eq_table_tt h4::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #DB1921;
    position: absolute;
    left: 0;
    top: -5px;
}
.eq_table .table_box {
    width: calc(100% - 20rem);
}
.eq_table .table_box table th, .eq_table .table_box table td {
    text-align: center;
    border-right: 1px solid #ddd;
}
.table_box table .table_r_line th:last-child, .table_box table .table_r_line td:last-child {
    border-right: 0;
}
.equipment_con > div {
    margin-bottom: 10rem;
}

.rnd_wrap .rnd_con.certification_con {
    gap: 50px;
}
.rnd_wrap .rnd_con.certification_con > div {
    min-height: auto;
    width: calc(100% / 3 - 34px);
    margin-bottom: 0;
}
.rnd_wrap .rnd_con.certification_con > div > div {
    padding: 5rem;
}
.rnd_wrap .rnd_con.certification_con > div > div img {
    height: 26rem;
    width: 19rem;
    margin: 0 auto;
}
.rnd_wrap .rnd_con .rnd_certification {
    padding: 0 !important;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.rnd_wrap .rnd_con .rnd_certification h4 span {
    display: inline-block;
    width: 6.5rem;
    background: #222;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 300;
    padding: 5px 0;
    margin-right: 15px;
}
.rnd_wrap .rnd_con .rnd_certification > span {
    color: #888;
    font-size: 12px;
    letter-spacing: -0.5px;
    font-weight: 500;
}
.rnd_wrap .rnd_con .rnd_certification + p {
    text-align: left;
    padding-left: 8rem;
}
.rnd_wrap .sub_con_tt {
    margin-bottom: 5rem;
}
.rnd_wrap_ptb {
    padding: 20rem 0;
}
.rnd_con_box {
    background: #f3f3f3;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 2.5rem;
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
}
.rnd_con_box p {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: -0.5px;
}
.rnd_con_box p:first-child {
    color: #D30D18;
}
.rnd_con_box img {
    width: auto;
}
.rnd_con .table_box table th, .rnd_con .table_box table td {
    text-align: center;
    border-right: 1px solid #ddd; 
}
.rnd_con .table_box table th:last-child, .rnd_con .table_box table td:last-child {
    border-right: 0;
}


.inquiry_con {
    max-width: 1000px;
    margin: 0 auto;
}
.inquiry_con form div {
    margin-bottom: 30px;
}
.inquiry_con form div p {
    color: #333;
    font-weight: 700;
    margin-bottom: 7px;
    letter-spacing: -0.5px;
}
.inquiry_con form div p span {
    color: #D30D18;
    margin-left: 2px;
}
.inquiry_con form div input, .inquiry_con form div textarea {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    resize: none;
}
.inquiry_con form div textarea {
    min-height: 200px;
}
.inquiry_con form div input::placeholder, .inquiry_con form div textarea::placeholder {
    color: #999;
    letter-spacing: -0.5px;
}
.inquiry_con {
    text-align: center;
}
.inquiry_con form * {
    text-align: left;
}

.ceo_container {
    max-width: 1320px;
    margin: 0 auto;
}

.sub-container.equipment {
    overflow: hidden;
}


.tel_txt {
    font-size: 12px;
    font-weight: 400;
    margin-left: 2rem;
}
.tel_mb {
    display: none;
}
.location_detail > div > p:last-child .tel_txt {
    display: block;
    margin-left: 0;
}
.rnd_add_con {
    text-align: center;
    margin-bottom: 5rem;
    letter-spacing: -0.5px;
}
.rnd_add_txt {
    color: #555;
    font-size: 1.8rem;
    font-weight: 600;
}
.rnd_add_num {
    margin-top: 3rem;
}
.rnd_add_num > div:last-child a {
    display: block;
}
.rnd_add_num > div:last-child .tel_txt {
    margin-left: 0;
}

.mob_slide_menu {
    position: fixed;
    top: 8rem;
    left: 0;
    width: 100%;
    z-index: 5;
    /* padding: 10px 0; */
    /* background: rgba(255,255,255,0.1);
    backdrop-filter: blur(5px); */

    /* border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd; */
    display: none;
}
.mob_slide_menu .main-menu {
    display: flex;
    align-items: center;
    color: #fff;
    gap: 5rem;
    /* padding: 1.5rem 2rem; */
    justify-content: space-between;
    font-size: 12px;
    height: 5rem;
    padding: 0 2rem;
    overflow-x: auto;
}
/* .mob_slide_menu .main-menu .submenu {
    display: none;
} */
.type02 .mob_slide_menu {
    background: #fff;
    border: 1px solid #ddd;
    border-left: 0;
    border-right: 0;
}
.type02 .mob_slide_menu .main-menu {
    color: #000;
    font-weight: 600;
}

.submenu-swiper {
    /* padding: 1rem 3rem; */
    height: 5rem;
    display: none;
    /* max-height: 4.3rem; */
    padding: 0 2rem;
}
.submenu-swiper ul {
    gap: 10px;
}
.submenu-swiper ul li {
    /* max-width: 80px; */
    width: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #aaa;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.type02 .mob_slide_menu .submenu-swiper ul li {
    color: #555;
    font-weight: 500;
}


.header-wrap.company .mob_slide_menu > div.submenu-swiper:nth-child(2) {
    display: block;
}
.header-wrap.enterprise .mob_slide_menu > div.submenu-swiper:nth-child(3) {
    display: block;
}
.header-wrap.customer .mob_slide_menu > div.submenu-swiper:last-child {
    display: block;
}



.rnd_add_num img {
    width: auto;
    margin: 0 auto;
}
.rnd_add_num_tt {
    font-size: 2rem;
    font-weight: 700;
    margin: 3px 0 10px;
    color: #D30D18;
}
.rnd_add_num_detail {
    font-size: 1.8rem;
    color: #555;
    font-weight: 500;
}
.rnd_add_num_detail a {
    font-size: 3.5rem;
    font-weight: 700;
    color: #000000;
}


.eq_table_mb {
    position: absolute;
    right: 0;
    top: 5px;
    font-size: 2.2rem;
    letter-spacing: -1.5px;
    color: #555;
    font-weight: 500;
    display: none;
}
.eq_table .table_box table colgroup {
    display: none;
}


.customer .sub-content .inner {
    padding: 0;
}


.rnd_con .table_box {
    overflow: auto;
}
.rnd_con .table_box table {
    table-layout: fixed;
}


.empty_board {
    text-align: center;
    padding: 10rem 0;
    color: #888;
}
.empty_board img {
    width: 10rem;
    margin: 0 auto 20px;
}

.mob_slide_menu .main-menu li a.active {
    color: #D30D18;
    font-weight: 800;
}
.mob_slide_menu .submenu-swiper li a.active {
    color: #fff;
    font-weight: 600;
}
.type02 .mob_slide_menu .submenu-swiper li a.active {
    color: #000;
    font-weight: 800;
}


.submenu-swiper {
    padding-right: 12rem;
}
.submenu-swiper::before {
    content: '';

}
.submenu-swiper .swiper-pagination-progressbar {
    background: #535353;
    top: auto;
    bottom: 0;
    height: 2px;
}
.submenu-swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #ddd;
}