/* Sub Header section */
.subpage_header {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    min-height: 430px;
    padding: 135px 0 60px;
    align-items: center;
    word-break: keep-all;
}

.subpage_header > h1 {
    font-family: 'GongGothicLight';
}

.subpage_header .subpage_category {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.subpage_header .subpage_category button {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    padding: 0 20px;
    margin: 5px;
    width: auto;
    height: 55px;
    background-color: transparent;
    border: 1px solid #E5E5E5;
    border-radius: 50px;

    font-size: 20px;
    font-weight: 500;
}

.subpage_header .subpage_category button.active,
.subpage_header .subpage_category button:hover {
    background-color: var(--main-color);
    color: white;
    cursor: pointer;
}

.sub_page_title {
    font-weight: 600;
    font-size: 50px;
}

.sub_page_subtitle {
    margin-top: 80px;
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 45px;
    text-align: center;
}



@media screen and (max-width: 640px) {
    .sub_page_subtitle {
        font-size: 21px;
    }

    .company_contents.vision {
        height: fit-content !important;
        min-height: revert !important;
    }

    .vision_left, .vision_right {
        flex-direction: column;
    }

    .vision_text_wrapper {
        margin-left: 0 !important;
    }
}



.company_contents {
    position: relative;
    margin-top: 80px;
    width: 100%;
    min-height: 700px;
    justify-items: center;
}

.company_contents.vision {
    background: rgba(250, 250, 250, 1);
}

@media screen and (max-width: 1300px) {
    .company_contents.vision {
        padding: 0 15px 0 15px;
    }
}

.company_contents.map {
    margin-top: 0;
    justify-items: revert;
}

/*.map_info_content::after {
    content: "|";
}*/

.map_info_content {
    display: flex;
}

.map_info_content div {
    display: flex;
    flex-direction: column;
    align-self: center;
    margin-left: 20px;
}

@media (max-width: 768px) {
    .company_contents {
        height: 1050px;
    }

    .company_contents.history {
        height: revert !important;
    }

    .company_contents.map {
        height: revert !important;
    }
}

.company_contents_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.company_contents_bg_philo {
    max-width: 700px;
    width: 100%;
    height: 700px;
    position: absolute;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position-x: center;
}

.company_contents_vision {
    max-width: 780px;
    width: 100%;
    min-height: 700px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.company_contents_bg.mission {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('/img/bg_mission2.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.company_contents_wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    align-content: center;
    justify-items: center;
}

@media (max-width: 1200px) {
    .company_contents_wrapper {
        padding: 0 15px 0 15px;
    }
}

.h2_mission {
    max-width: 1200px;
    width: 100%;
    color: white;
    font-weight: 600;
    font-size: 45px;
    line-height: 65px;
    text-align: left;
}

.company_span_sub {
    margin-top: 50px;
    max-width: 1200px;
    width: 100%;
    text-align: left;
    font-weight: 500;
    font-size: 20px;
    line-height: 40px;
    color: white;
}

@media (max-width: 768px) {
    .h2_mission {
        font-size: 29px;
    }
}

/* cards */
.philo-card {
    position: absolute;
    width: 380px;
    min-height: 250px;
    background: #fff;
    border: 2px solid rgba(10, 111, 174, 1);
    border-radius: 10px;
    /*box-shadow:var(--philo-shadow);*/
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.philo-icon img {
    height: 64px;
    display: block
}

.philo-title {
    margin: 0;
    font-size: 25px;
    line-height: 35px;
    font-weight: 600;
    padding: 18px 20px;
}

/* positions (desktop) */
.philo-tl {
    top: 0;
    left: -35%;
}

.philo-tr {
    top: 0;
    right: -35%;
}

.philo-bl {
    bottom: 0;
    left: -35%;
}

.philo-br {
    bottom: 0;
    right: -35%;
}

/* tablet */
@media (max-width: 1024px) {
    .philo-card {
        width: 300px;
    }

    .philo-tl {
        left: 60%;
    }

    .philo-tr {
        right: 60%;
    }

    .philo-bl {
        left: 60%;
    }

    .philo-br {
        right: 60%;
    }
}

/* mobile */
@media (max-width: 768px) {
    .philo-card {
        position: relative;
        width: auto;
        margin: 8px 0;
    }

    .philo-tl, .philo-tr, .philo-bl, .philo-br {
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        transform: none;
    }
}

.company_contents_txt {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    margin: 0 auto;
    max-width: 1500px;
    width: 100%;
    margin-top: 250px;
    padding: 130px 240px;

    background-color: white;
    border-radius: 50px;
}

.company_contents_txt h2 {
    padding: 50px 70px;
    word-break: keep-all;
}

.company_contents_txt > p {
    text-align: center;
    padding: 50px 100px;
    font-size: 20px;
    font-weight: 300;
    line-height: 30px;
    word-break: keep-all;
}

.company_contents_board {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 20px auto;

    width: 100%;
    max-width: 1300px;
}

#sign {
    display: inline-flex;
    align-items: center;
    margin-left: 100px;
    gap: 10px;
}

@media screen and (max-width: 1300px) {
    .company_contents_txt {
        width: 80vw;
        margin-top: 100px;
        padding: 30px !important;
        border-radius: 10px;
    }

    .company_contents_board {
        width: 100vw;
        padding: 30px 20px !important;
        margin-top: 0;
    }

    .company_contents_txt h2 {
        font-size: 40px;
        padding: 0;
    }

    .company_contents_txt .divide_line_vertical {
        margin: 50px 0 20px;
    }

    .company_contents_txt > p {
        font-size: 18px;
        padding: 0;
    }
}

@media screen and (max-width: 640px) {
    .subpage_header {
        padding: 135px 0 10px;
        min-height: 360px;
    }

    .subpage_header h1 {
        font-size: 30px;
    }

    .subpage_header .subpage_category button {
        font-size: 16px;
        width: 45%;
        height: 40px;
    }

    .company_contents_txt {
        width: 80vw;
        margin-top: 100px;
        padding: 70px 30px !important;
    }

    .company_contents_txt h2 {
        font-size: 24px;
        padding: 0;
    }

    .company_contents_txt .divide_line_vertical {
        margin: 30px 0;
    }

    .company_contents_txt > p {
        width: 100%;
        padding: 0;

        font-size: 16px;
        text-align: left;
    }

    #sign {
        margin-left: 0;
    }
}

.icon_area {
    display: inline-flex;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.icon_area div {
    display: inline-flex;
    flex-direction: column;
    width: 30%;
}

.icon_area p {
    margin: 40px 0;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
}

@media screen and (max-width: 1200px) {
    .icon_area p {
        font-size: 16px;
    }
}

@media screen and (max-width: 860px) {
    .icon_area {
        margin-top: 50px;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .icon_area div {
        width: 50%;
    }
}

@media screen and (max-width: 640px) {
    .icon_area {
        flex-direction: column;
    }

    .icon_area div {
        width: 100%;
    }

    .icon_area p {
        font-size: 18px;
    }
}

.header_bg {
    display: inline-flex;
    height: 450px;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 1200px) {
    .header_bg h3 {
        font-size: 24px;
        line-height: 36px;
        padding: 0 40px;
        word-break: keep-all;
    }
}

.company_history_contents {
    display: inline-flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0px auto 0;
    padding-top: 20px;
}

.company_history_contents.center {
    display: inline-flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto 0;
}

.company_history_contents.end {
    display: inline-flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 160px;
    padding-top: 20px;
}

.no_content {
    height: 0px !important;
}

.history_title {
    display: flex;
    flex-direction: column;
}

.history_title img {
    width: 400px !important;
    height: revert !important;
    margin-top: 15px !important;
    margin-right: revert !important;
}

.history_title h3 {
    margin-top: 0;
    font-weight: 600;
    font-size: 35px;
    text-align: right;
    margin-right: 20px;
    color: rgba(45, 167, 239, 1);
}

.history_title h3 span {
    font-weight: 700;
    font-size: 35px;
    text-align: right;
}

.history_contents {
    width: 50%;
    position: relative;
    display: inline-flex;
    flex-direction: column;
}

/*.history_line {
    position: absolute;
    z-index: -1;
    height: 100%;
    margin-top: 15px;
    padding-left: 7px;
    border-right: 1px solid var(--main-color);
}*/

.history_line {
    position: absolute;
    z-index: -1;
    height: 100%;
    margin-top: 15px;
    padding-left: 7px;
}

.history_line::after {
    content: "";
    position: absolute;
    top: 20px;
    bottom: -10px;
    left: 6.5px;
    right: 0;
    border-right: 1.5px solid;
}

.history_text {
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    height: 420px;
    padding-bottom: 150px;
}

@media screen and (max-width: 860px) {
    .history_text {
        height: revert;
        padding-bottom: revert;
    }
}

.history_text.left {
    justify-content: end;
}

.history_text img {
    width: 15px;
    height: 15px;
    margin-top: 12px;
    margin-right: 50px;
}

.history_year {
    font-size: 35px;
    line-height: 45px;
    font-weight: 600;
    color: var(--main-color);

    margin: 0;
    margin-right: 65px;
}

.history_month {
    width: 30px;
    color: #B4B4B5;
    margin-right: 24px;
}

.history_text ul {
    display: inline-flex;
    flex-direction: column;
    font-weight: 500;
    font-size: 20px;
    top: 5px;
    position: relative;
}

.history_text ul li {
    display: inline-flex;
    margin: 0;
    margin-bottom: 25px;
    font-weight: 300;
    font-size: 19px;
    line-height: 30px;
}

.history_text.left ul li {
    align-self: self-end;
}

.company_history_contents2 {
    display: inline-flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto 160px;
}

@media screen and (max-width: 1200px) {
    .company_history_contents,
    .company_history_contents2 {
        margin: 0;
        padding: 50px;
    }

    .history_title img {
        width: 400px;
        height: revert;
        margin-right: revert;
    }
}

@media screen and (max-width: 860px) {
    .company_contents.history.main {
        display: none;
    }

    .company_contents.history.mobile {
        display: inline-flex !important;
    }

    .company_history_contents {
        margin: 0;
        padding: 0px 100px;
        flex-direction: column;
    }

    .company_history_contents2 {
        flex-direction: column;
        padding: 100px;
        margin: 0;
    }

    .history_contents {
        width: 100%;
    }

    .history_title h3 {
        font-size: 32px;
    }

    .history_title h3 span {
        font-size: 28px;
    }

    .history_title .highlight {
        font-size: 46px !important;
    }

    .history_title img {
        width: 100% !important;
        align-self: center;
        height: revert;
    }

    .history_text img {
        margin-right: 15px;
    }

    .history_year {
        font-size: 22px;
        margin-right: 20px;
    }

    .history_month {
        width: auto;
        margin-right: 10px;
    }

    .history_text ul,
    .history_text ul li {
        width: 100%;
        margin-top: 5px;
        word-break: keep-all;
        top: revert;
        position: revert;
    }
}

@media screen and (max-width: 640px) {
    .company_history_contents {
        padding: 0 20px;
    }

    .company_history_contents2 {
        padding: 50px 20px;
    }

}

/********************************* Tab Section *********************************/
.tabs {
    display: inline-block;
    overflow: hidden;
    background: none;
    width: 100%;
}

.tab-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;

    float: left;
    cursor: pointer;
    padding: 10px 16px;
    margin-right: 10px;
    transition: 0.3s;

    font-weight: 600;
    font-size: 16px;
    color: black;
    word-break: keep-all;
}

.tab-link.active, .tab-link:hover {
    background-color: var(--main-color);
    color: white;
}

@media screen and (max-width: 640px) {
    .tab-link {
        width: 16%;
        height: 40px;
        margin: 1px;

        background-color: #f1f1f1;
        padding: 10px;

        font-weight: 500;
        font-size: 12px;
    }
}

/********************************* Tab content *********************************/

.certified_category {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 40px 0;
}

.certified_category li,
.certified_category li button {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    width: fit-content;
    margin-right: 15px;

    font-family: 'Pretendard';
    font-weight: 400;
    font-size: 20px;
    color: var(--main-color);
}

.certified_category button.tab-link {
    padding: 10px 25px 8px;
    cursor: pointer;
    background-color: transparent;
    color: #a2a2a2;

    transition: border 0.3s;
}

.certified_category .tab-link.active,
.certified_category .tab-link:hover {
    color: var(--main-color);
}

.tab-content {
    display: none;
    padding: 30px 0;
    -webkit-animation: fadeEffect 1s;
    animation: fadeEffect 1s;
}

@-webkit-keyframes fadeEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeEffect {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.patent_group {
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
}

.patent_group_area {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30%;

    background-color: #FAFAFA;
    padding: 30px;
    gap: 30px;
}

.patent_group_txt {
    text-align: center;
}

#pagenation_area {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 100px auto;
}

#pagenation_area2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 100px auto;
}

.pagenation li {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    padding: 0 20px;

    font-weight: 400;
    font-size: 20px;
}

.pagenation li:first-child,
.pagenation li:last-child {
    width: 50px;
    height: 50px;
    margin: 0 20px;
    border-radius: 50px;
    background-color: transparent;
    color: rgba(0, 0, 0, 0.3);
}

.pagenation li:first-child a,
.pagenation li:last-child a {
    color: rgba(0, 0, 0, 0.3);
}

.pagenation li.active {
    background-color: transparent;
    color: black;
    font-weight: 600;
}

.pagenation li.disabled {
    pointer-events: none;
    cursor: default;
}

.pagenation li.disabled a {
    color: rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 1200px) {

    .main-contents {
        padding: 0 15px;
    }

    .patent_group_area {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 45%;

        background-color: #FAFAFA;
        padding: 30px;
        gap: 10px;
    }
}

@media screen and (max-width: 640px) {
    .tab-content {
        width: 100%;
        padding: 0;
    }

    .certified_category ul {
        width: 100%;
        justify-content: center;
    }

    .certified_category li button {
        justify-content: center;
        margin: 0;
    }

    .certified_category button.tab-link {
        padding: 0;
        white-space: nowrap;
    }

    .patent_group {
        width: 100%;
        flex-direction: column;
        word-break: keep-all;
    }

    .patent_group_area {
        width: 100%;
    }
}


/***************** Product Group *******************/

.product_group {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 4fr));
    gap: 33px;
}

.product_group.news {
    grid-template-columns: repeat(auto-fill, minmax(370px, 3fr));
}

.product_group a {
    width: 100%;
}

.product_group a:hover {
    text-decoration: none;
}

.product_group a:hover .product_box {
    scale: calc(1.05);
}

.product_box {
    position: relative;
    width: 100%;
    height: 430px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 100px;
    border-radius: 10px;
    background: #F9F9F9;
    transition: 0.3s;
    box-shadow: 0px 10px 20px 0px #0000001A;
}

.product_group.news .product_box {
    height: 320px;
    border-radius: 30px;
}

.product_box img {
    width: fit-content;
    max-width: 240px;
    max-height: 300px;
}

.product_group.news .product_box img {
    border-radius: 30px 30px 0 0;
    max-width: revert;
    max-height: revert;
}

.product_info {
    position: absolute;
    bottom: 0;
    display: inline-flex;
    flex-direction: column;
    width: 100%;
    min-height: 150px;
    font-size: 17px;
    font-weight: 400;
    align-items: center;
    justify-content: center;
    color: #000000;
}

@media screen and (max-width: 860px) {
    .product_info {
        min-height: 100px;
    }
}

.product_info.news {
    align-items: revert;
    border-radius: 0 0 30px 30px;
    background-color: white;
    padding: 10px 40px;
}

.product_info.news h3 {
    text-align: left;
}

.product_info.news span {
    font-weight: 400;
    font-size: 20px;
    color: #969696;
}

.product_box_title {
    display: inline-block;
    width: 100%;
    margin: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-weight: 600;
    color: #352F2D;
    font-size: 22px !important;
    text-align: center;
    word-break: keep-all;
}

.product_box_title.news_title {
    white-space: nowrap;
}

.product_box_subinfo {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0;
}

.product_box_subinfo p {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

.product_box_date {
    text-align: center;
}

.card_box_top_blue {
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-top: 12px solid #0085CF;
    border-radius: 10px;
    padding: 50px;

    background-color: white;
}

@media screen and (max-width: 860px) {
    .product_group {
        width: 100%;
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
}

@media screen and (max-width: 640px) {
    .product_group .product_box {
        width: 100%;
    }
}

/***************** NEWS / Culture Hero Section ***************/
.hero-section-2 {
    width: 100%;
    display: inline-flex;
    flex-direction: row;
    gap: 30px;
}

.hero-section-2 .news-article {
    width: 48%;
}

.hero-section-2 .article-card {
    width: 100%;
    display: inline-flex;
    flex-direction: column;
}

.hero-section-2 .article-card img {
    width: 100%;
    height: 360px;
}

.hero-section-2 .article-card .news_title {
    margin: 0;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    font-size: 22px;
    line-height: 2rem;
}

.hero-section-2 .article-card .news_content {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-inline-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;

    font-size: 16px;
    line-height: 2.2rem;
}

/*************Job Swiper Section ************/
.swiper-container {
    width: 90%;
    height: 100%;
    position: relative;
    padding: 0 50px 0 30px;

    overflow: hidden;

    text-align: center;
}

.swiper-wrapper {
    width: 90%;
}

@media screen and (max-width: 640px) {
    .swiper-container {
        margin-left: 20%;
    }
}

/****************Subpage News *****************/

.main-full .news-article {
    padding-top: 20px;
    border-top: 2px solid #093696;
    width: 100%;
}

.main-full .article-card.left-thumb {
    margin-bottom: 10px;
}

.main-full .article-card.left-thumb a {
    display: inline-flex;
    flex-direction: row;
    margin-bottom: 8px;
}

.main-full .article-card.left-thumb a:hover {
    z-index: 999;
    background-color: rgba(230, 243, 255, 0.1);
    border-radius: 5px;
}

.main-full .article-card.left-thumb a img {
    display: inline-block;
    width: 360px;
    height: 240px;
    margin-right: 20px;
}

.main-full .article-card.left-thumb a .newsWithThumb {
    display: inline-block;
    width: 65%;
}

.main-full .article-card.left-thumb a .newsWithThumb h4 {
    font-size: 20px;
    padding-bottom: 5px;
}

.main-full .article-card.left-thumb a .newsWithThumb .news_summary {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    line-height: 2rem;
}

.button_area {
    max-width: 1500px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
}

.button_area.inquiry {
    text-align: right;
}

.button_area.inquiry a {
    color: #0A6FAE;
    border: 2px solid #0A6FAE;
    border-radius: 5px;
    background-color: revert;
    margin-top: 50px;
    font-size: 18px;
}

#notice_list {
    width: 100%;
    max-width: 1500px;
    border-collapse: collapse;
}

#notice_list thead {
    border-bottom: 2px solid black;
    padding: 20px 20px;
}

#notice_list thead th {
    padding: 20px 20px;
}

#notice_list tr td {
    padding: 20px 20px;
    border-bottom: 1px solid #d8d8d8;
}

.map_info {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding: 70px 0 50px 0;
    justify-content: flex-start;
    align-items: center;
    margin-top: 50px;
    /*gap: 20px;*/
}

.map_info .map_title {
    /*display: inline-block;*/
    margin: 0 0 15px 0;
    font-weight: 700;
    font-size: 25px;
}

.map_info .map_cont {
    margin: 0;
    font-weight: 400;
    font-size: 20px;
}

.map_info_line {
    border-right: 1.5px solid;
    height: -webkit-fill-available;
    display: inline-flex;
    margin: 0 30px 0 30px;
}

@media screen and (max-width: 860px) {
    .map_info {
        padding: 20px;
        gap: 10px;
    }

    .map_info p,
    .map_info p:first-child {
        width: 100%;
        font-size: 18px;
    }

    .map_info_line {
        display: none !important;
    }

    .map_info .map_title {
        display: inline-block;
        margin-bottom: 10px;
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .map_info {
        flex-direction: column;
        align-items: revert;
    }

    .map_info_content svg {
        width: 55px;
    }
}

.bwt-tabs {
    display: flex;
    /* flex-direction: row; */
    max-width: 1300px;
    margin: 0 auto;
    border: 1.5px solid rgba(196, 199, 207, 1);
}

.bwt-tab-btn {
    cursor: pointer;
    width: 50%;
    padding: 18px;
    font-weight: 600;
    font-size: 25px;
    text-align: center;
    background: 0;
}

.bwt-tab-btn:hover {
    background: #eef2f9;
}

.bwt-tab-btn.active {
    background: rgba(45, 167, 239, 1);
    color: #fff;
    border: 1.5px solid rgba(45, 167, 239, 1);
}

.tab_cont_map.active {
    display: block;
}

.tab_cont_map.inline-flex {
    display: none;
}

.tab_cont_map.inline-flex.active {
    display: inline-flex;
}

/* 모바일 */
@media (max-width: 768px) {
    .bwt-tab-btn {
        font-size: 15px;
        padding: 12px 10px;
    }
}

.root_daum_roughmap .cont {
    display: none !important;
}

.secret-modal.hidden {
    display: none;
}

.secret-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
}

.secret-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
}

.secret-panel {
    top: 150px;
    position: relative;
    max-width: 360px;
    margin: 10vh auto;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}

.secret-title {
    margin: 0 0 8px;
    font-size: 18px;
}

.secret-desc {
    margin: 0 0 12px;
    color: #666;
}

#secretForm {
    display: grid;
    gap: 10px;
}

#secretForm input[type="password"] {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

#secretForm button {
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#secretForm #confirmSecret {
    background: #0a6cff;
    color: #fff;
}

#secretCancel {
    background: #f2f3f5;
}

.secret-error {
    margin-top: 8px;
    color: #d00;
    font-size: 13px;
}

.boardListBtn {
    align-content: center;
    width: 90px;
    height: 45px;
    text-align: center;
    border-radius: 6px;
    border: 1px solid;
}

.company_patent_contents.product_group {
    max-width: 1500px;
    margin: 160px auto 100px;
}

.patent_box {
    text-align: center;
}

.patent_img {
    width: 350px;
    height: 490px;
    border: 1px solid #D2D5DD;
    border-radius: 10px;
}

.patent_title {
    margin-top: 25px;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 35px;
    word-break: keep-all;
}

.company_contents_section {
    min-height: 700px;
}

.vision_wrapper {
    max-width: 1300px;
    width: 100%;
    margin: auto;
}

.vision_left, .vision_right {
    display: flex;
    margin: 60px 0 60px 0;
}

.vision_right {
    justify-content: end;
}

.vision_img {
    max-width: 630px;
    width: 100%;
    height: 390px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 20px;
}

.vision_text_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 100px;
    max-width: 415px;
}

.vision_right .vision_text_wrapper {
    margin-right: 178px;
}

.vision_step {
    font-weight: 600;
    font-size: 40px;
    line-height: 35px;
    color: rgba(45, 167, 239, 1);
    margin-bottom: 40px;
}

.vision_text_title {
    font-weight: 700;
    font-size: 35px;
    line-height: 35px;
    color: rgba(2, 2, 2, 1);
    margin-bottom: 20px;
}

.vision_text_sub {
    font-weight: 300;
    font-size: 20px;
    line-height: 45px;
    word-break: keep-all;
}

/* 호버 오버레이 */
.patent_hover{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 24px;
    background: rgba(10,111,174,.92); /* 브랜드 파랑 투명도 */
    color: #fff;
    opacity: 0;
    transform: scale(1.02);
    transition: opacity .25s ease, transform .25s ease;
    border-radius: 10px;
}

/* 호버 시 표시 */
.patent_box:hover .patent_hover{
    opacity: 1;
    transform: scale(1);
}

/* 제목 */
.patent_title{
    margin: 0;
    font-size: 20px;
    line-height: 1.45;
    text-align: center;
    word-break: keep-all;
}

/* 동그란 다운로드 버튼(우상단) */
.patent_download_btn{
    position: absolute;
    top: 12px;
    right: 12px;
    width: 46px !important;
    height: 46px;
    border-radius: 999px;
    border: 2px solid #fff;
    display: grid;
    place-items: center;
    text-decoration: none;
    color: #fff;
    background: rgba(255,255,255,.12);
    transition: background .2s ease, transform .2s ease;
}
.patent_download_btn:hover{ background: rgba(255,255,255,.22); transform: translateY(-1px); }

/* 반응형(모바일 한 칸씩) */
@media (max-width: 1024px){
    .patent_card{ width: 48%; }
    .patent_thumb{ height: 320px; }
}
@media (max-width: 640px){
    .patent_card{ width: 100%; }
    .patent_thumb{ height: 280px; }
    .patent_title{ font-size: 18px; }
}

.product_wide_card {
    width: 100%;
    max-width: 1300px;
    height: 350px;
    background: #FFFFFF;
    box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    padding: 35px 70px;
    display: flex;
    align-items: center;
    cursor: pointer;
    overflow: hidden;
}

.product_img {
    width: 280px;
    height: 280px;
    background: #F0F0F0;
}

.product_right_text_box {
    margin-left: 98px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 280px);
    gap: 20px;
}

.product_title {
    font-weight: 600;
    font-size: 45px;
    line-height: 100%;
}

.product_sub {
    font-weight: 500;
    font-size: 25px;
    line-height: 35px;
    color: rgba(175, 175, 175, 1);
}

.product_card_cont {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    margin-top: 150px;
    margin-bottom: 150px;
}

@media screen and (max-width: 1300px) {
    .product_card_cont {
        padding: 0 15px 0 15px;
    }
}

@media screen and (max-width: 1024px) {
    .product_wide_card {
        width: 100%;
        max-width: 1300px;
        height: 350px;
        background: #FFFFFF;
        box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.2);
        border-radius: 20px;
        padding: 15px 15px;
        display: flex;
    }

    .product_img {
        width: 200px;
        height: 200px;
        background: #F0F0F0;
    }

    .product_right_text_box {
        margin-left: 45px;
        width: revert;
    }

    .product_title {
        font-weight: 600;
        font-size: 30px;
        line-height: revert;
    }

    .product_sub {
        font-weight: 500;
        font-size: 16px;
        line-height: revert;
        color: rgba(175, 175, 175, 1);
    }

    .product_card_cont {
        padding: 0 15px 0 15px;
    }
}

@media screen and (max-width: 640px) {
    .product_wide_card {
        flex-direction: column;
    }

     .product_right_text_box {
         margin-left: 0;
     }
}

.product_detail_div {

}

/* 1) 태블릿 이하: 이미지/텍스트 세로 정렬 */
@media screen and (max-width: 1024px) {

    .company_contents.vision {
        height: fit-content !important;
    }

    .company_contents_section {
        min-height: auto;
        padding: 0 16px;
    }

    .vision_wrapper {
        max-width: 100%;
    }

    .vision_left,
    .vision_right {
        flex-direction: column;
        align-items: flex-start;    /* 필요하면 center 로 */
        margin: 40px 0;
    }

    .vision_right {
        justify-content: flex-start;
        flex-direction: column-reverse
    }

    .vision_img {
        max-width: 100%;
        width: 100%;
        /*height: auto;              !* 비율 유지 *!*/
        border-radius: 16px;
    }

    .vision_text_wrapper {
        margin-left: 0;
        margin-top: 24px;
        max-width: 100%;
    }

    .vision_right .vision_text_wrapper {
        margin-right: 0;
    }
}

/* 2) 모바일(폰): 글자 크기/줄 간격 줄이기 */
@media screen and (max-width: 640px) {

    .vision_step {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 16px;
    }

    .vision_text_title {
        font-size: 22px;
        line-height: 1.4;
        margin-bottom: 14px;
        word-break: keep-all;
    }

    .vision_text_sub {
        font-size: 15px;
        line-height: 1.7;
        word-break: keep-all;
    }

    .vision_img {
        max-width: 100%;
        width: 100%;
        height: 250px;              /* 비율 유지 */
        border-radius: 16px;
    }
}
