@charset "utf-8";
/*───────────────────────────────────────────────────────────

	Sub common

───────────────────────────────────────────────────────────*/
    #container:has(.full_sec) { width: 100%; max-width: 100%; }
    .sub_visual { position: relative; height: 700px; box-sizing: border-box;padding-top: 82px; background: url('../images/sub/sv_moni.jpg') no-repeat center / cover; }
    .sub_visual .sv_title { height: 100%; display: flex; align-items: center; box-sizing: border-box; font-size: var(--title-20); text-align: center; color: var(--point-white); font-family: var(--font-type02); text-wrap: balance;  }
    .sub_visual .sv_title h2 { font-size: 400%; font-weight: 800; letter-spacing: 0; }
    .sub_visual .sv_title p { font-size: 100%; font-weight: 300; margin-top: 18px; letter-spacing: 0.005em; }

    .narrow_box .w_custom { max-width: 1400px; }

    .sub_content { font-family: var(--font-type02); }
    .sub_content .desc_wrap { font-size: var(--title-20); font-family: var(--font-type02); }
    .sub_content .desc_wrap strong { color: var(--black-color00); font-weight: 600; font-size: 200%; letter-spacing: 0; }
    .sub_content .desc_wrap p { color: var(--black-color06); font-weight: 400; font-size: 90%; line-height: 1.67; letter-spacing: 0; margin-top: 34px; }
    .sub_content .desc_wrap p + p { margin-top: 30px; }
    .sub_content .banner_cont .img_box { border-radius: var(--radius-20); width: 100%; overflow: clip; }
    .sub_content .banner_cont .img_box img { min-height: 250px; width: 100%; height: 100%; object-fit: cover; }

    .sub_content .desc_wrap + .ico_wrap { margin-top: 40px; }
    .sub_content .ico_wrap .flex_des { display: flex; gap: 30px 25px; flex-wrap: wrap; }
    .sub_content .ico_wrap .flex_des li { width: calc(100% / 5 - 20px); text-align: center; font-size: var(--title-20); box-sizing: border-box; padding-block: 50px 36px; padding-inline: 20px; background: var(--point-white); border: 1px solid var(--border-color01); border-radius: var(--radius-20); }
    .sub_content .ico_wrap .flex_des .ico_box { display: flex; justify-content: center; align-items: center; height: 153px; }
    .sub_content .ico_wrap .flex_des p { color: var(--black-color00); font-weight: 500; font-size: 100%; margin-top: 23px; letter-spacing: 0; }

    .sub_content .navy_cont { box-sizing: border-box; padding-block: 140px; background: var(--point-color05); }
    .sub_content .navy_cont .flex_des { display: flex; align-items: center; gap: 100px; }
    .sub_content .navy_cont .flex_des .img_box { border-radius: var(--radius-20); overflow: clip; width: 55.72%; flex-shrink: 0; }
    .sub_content .navy_cont .flex_des .img_box img { width: 100%; height: 100%; object-fit: cover; }
    .sub_content .navy_cont .flex_des .txt_box { box-sizing: border-box; font-size: var(--title-20); color: var(--point-white); width: calc(44.28% - 100px); }
    .sub_content .navy_cont .flex_des .txt_box strong { font-size: 200%; line-height: 1.5; font-weight: 600; letter-spacing: 0; }
    .sub_content .navy_cont .flex_des .txt_box strong em { font-size: 140%; }
    .sub_content .navy_cont .flex_des .txt_box p { font-size: max(13px, 80%); line-height: 1.5; letter-spacing: 0; margin-top: 41px; font-weight: 200; }
    .sub_content .navy_cont .flex_des .txt_box p + p { margin-top: 34px; }

    .sub_content .blue_cont { box-sizing: border-box; padding-block: 140px; background: var(--point-color01); }
    .sub_content .blue_cont .flex_des { display: flex; align-items: center; gap: 100px;  }
    .sub_content .blue_cont .flex_des .img_box { border-radius: var(--radius-20); overflow: clip; width: 55.72%; flex-shrink: 0; }
    .sub_content .blue_cont .flex_des .img_box img { width: 100%; height: 100%; object-fit: cover; }
    .sub_content .blue_cont .flex_des .txt_box { box-sizing: border-box; font-size: var(--title-20); color: var(--point-white); width: calc(44.28% - 100px); }
    .sub_content .blue_cont .flex_des .txt_box strong { font-size: 200%; line-height: 1.5; font-weight: 700; letter-spacing: 0; }
    .sub_content .blue_cont .flex_des .txt_box p { font-size: max(13px, 80%); line-height: 1.5; letter-spacing: 0; margin-top: 41px; font-weight: 200; }
    .sub_content .blue_cont .flex_des .txt_box p + p { margin-top: 24px; }

    .sub_content .flex_banner_cont { box-sizing: border-box; padding-block: 114px 0; }
    .sub_content .flex_banner_cont .flex_wrap { margin-top: 81px; }
    .sub_content .flex_banner_cont .flex_des { display: flex; gap: 40px; }
    .sub_content .flex_banner_cont .img_wrap { display: flex; position: relative; width: calc(100% / 2 - 20px); border-radius: var(--radius-20); overflow: clip; box-sizing: border-box; }
    .sub_content .flex_banner_cont .img_wrap .img_box { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
    .sub_content .flex_banner_cont .img_wrap img { width: 100%; height: 100%; object-fit: cover; }
    .sub_content .flex_banner_cont dl { position: relative; left: 0; bottom: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 30px; width: 100%; height: auto; box-sizing: border-box; padding-inline: 40px; padding-top: 34.3%; padding-bottom: 60px; font-size: var(--title-20); color: var(--point-white); margin-top: 1px; }
    .sub_content .flex_banner_cont dt { font-size: 300%; font-weight: 700; letter-spacing: 0; text-shadow: var(--shadow-01); }
    .sub_content .flex_banner_cont dd { font-size: 110%; line-height: 1.46; letter-spacing: 0.002em; font-weight: 300; text-shadow: var(--shadow-01); }
    .sub_content .flex_banner_cont p + p { margin-top: 20px; }

    .sub_content .gray_bg { background: var(--gray-bg01); }

    .ft_banner { box-sizing: border-box; padding-block: 117px 69px;; background: url('../images/sub/img_com_banner.jpg') no-repeat center / cover; }
    .ft_banner dl { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 40px; font-size: var(--title-20); }
    .ft_banner dt { color: var(--point-white); font-size: 200%; font-weight: 600; line-height: 1.5; letter-spacing: 0.002em; text-align: center; }
    .ft_banner small { display: block; font-size: 75%; font-weight: 400; line-height: 1.8; }
    .ft_banner .view_more span { width: 220px; font-size: 100%; font-weight: 600; }

    .bullet_dt { font-size: var(--title-20); display: flex; align-items: baseline; gap: 12px; letter-spacing: 0; font-weight: 600; color: var(--black-color00); }
    .bullet_dt::before { content: ''; display: block; width: 5px; height: 5px; border-radius: 100%; background: var(--black-color00); translate: 0 -3px; flex-shrink: 0; }

    .bullet_list { font-size: var(--title-20); }
    .bullet_list > li { display: flex; align-items: baseline; gap: 11px; color: var(--black-color00); font-size: 80%; line-height: 1.88; letter-spacing: 0; font-weight: 400; }
    .bullet_list > li::before { content: ''; display: block; width: 3px; height: 3px; background: var(--black-color00); border-radius: 100%; translate: 0 -3px; flex-shrink: 0; }

    @media (max-width: 1385px){
        br.for_pc { display: none; }
    }

    @media (max-width: 1340px){
        .sub_content .flex_banner_cont dl { gap: 20px; padding-inline: 30px; padding-bottom: 30px; }
        .sub_content .flex_banner_cont dt { font-size: 260%; }
        .sub_content .flex_banner_cont dd { font-size: 100%; }
        .sub_content .flex_banner_cont p + p { margin-top: 15px; }
    }

    @media (max-width: 1280px){
        .sub_content .ico_wrap .flex_des li { width: calc(100% / 4 - 18.75px); }
        .sub_content .navy_cont .flex_des { gap: 60px; }
        .sub_content .navy_cont .flex_des .txt_box { width: calc(44.28% - 60px); }

        .sub_content .blue_cont .flex_des { gap: 60px; }
        .sub_content .blue_cont .flex_des .txt_box { width: calc(44.28% - 60px); }

        .sub_content .flex_banner_cont .flex_des { gap: 20px; }
        .sub_content .flex_banner_cont dt { font-size: 240%; }
        .sub_content .flex_banner_cont .img_wrap { width: calc(100% / 2 - 10px); }
    }

    @media (max-width: 1100px){
        .sub_content .flex_banner_cont dl { gap: 15px; }
        .sub_content .flex_banner_cont dt { font-size: 220%; }
    }

    @media (max-width: 1023px){
        .sub_visual { padding-top: clamp(40px, 8vw, 82px); height: clamp(350px, 60vw, 700px); }
        .sub_visual .sv_title h2 { font-size: 340%; }
        .sub_visual .sv_title p { margin-top: clamp(15px, 1.8vw, 18px); }

        .sub_content .desc_wrap strong { font-size: 180%; }
        .sub_content .desc_wrap p { margin-top: clamp(20px, 3vw, 34px); }
        .sub_content .desc_wrap p + p { margin-top: clamp(10px, 3vw, 30px); }

        .sub_content .desc_wrap + .ico_wrap { margin-top: clamp(25px, 4vw, 40px); }

        .sub_content .ico_wrap .flex_des { gap: 20px; }
        .sub_content .ico_wrap .flex_des li { padding-inline: clamp(20px, 3vw, 40px); padding-block: clamp(30px, 4vw, 60px) clamp(20px, 3vw, 36px); width: calc(100% / 3 - 13.34px); }
        .sub_content .ico_wrap .flex_des p { margin-top: clamp(15px, 2vw, 23px); }
        .sub_content .ico_wrap .flex_des .ico_box { height: 120px; }

        .sub_content .navy_cont { padding-block: clamp(40px, 14vw, 140px); }
        .sub_content .navy_cont .flex_des { flex-direction: column; gap: 30px; }
        .sub_content .navy_cont .flex_des .img_box { width: 100%; }
        .sub_content .navy_cont .flex_des .txt_box { width: 100%; }
        .sub_content .navy_cont .flex_des .txt_box strong { font-size: 180%; }
        .sub_content .navy_cont .flex_des .txt_box p { margin-top: clamp(20px, 3vw, 40px); }
        .sub_content .navy_cont .flex_des .txt_box p + p { margin-top: clamp(15px, 2vw, 34px); }

        .sub_content .blue_cont { padding-block: clamp(40px, 14vw, 140px); }
        .sub_content .blue_cont .flex_des { flex-direction: column; gap: 30px; }
        .sub_content .blue_cont .flex_des .img_box { width: 100%; }
        .sub_content .blue_cont .flex_des .txt_box { width: 100%; }
        .sub_content .blue_cont .flex_des .txt_box strong { font-size: 180%; }
        .sub_content .blue_cont .flex_des .txt_box p { margin-top: clamp(20px, 3vw, 40px); }
        .sub_content .blue_cont .flex_des .txt_box p + p { margin-top: clamp(15px, 2vw, 34px); }

        .sub_content .flex_banner_cont { padding-top: clamp(40px, 11vw, 114px); }
        .sub_content .flex_banner_cont .flex_des { flex-direction: column; }
        .sub_content .flex_banner_cont .img_wrap { width: 100%; }
        .sub_content .flex_banner_cont dl { padding-inline: clamp(20px, 3vw, 30px); padding-bottom: clamp(20px, 3vw, 30px); }
        .sub_content .flex_banner_cont dt { font-size: 200%; }
        
        .sub_content .flex_banner_cont .flex_wrap { margin-top: clamp(40px, 8vw, 81px); }

        .ft_banner { padding-block: clamp(40px, 11vw, 117px) clamp(30px, 6vw, 69px); }
        .ft_banner dl { gap: clamp(20px, 4vw, 40px); }
        .ft_banner dt { font-size: 180%; }
        .ft_banner .view_more span { width: clamp(120px, 20vw, 220px); }
    }

    @media (max-width: 860px){
        .sub_visual .sv_title h2 { font-size: 270%; }
        .sub_content .ico_wrap .flex_des li { width: calc(100% / 3 - 13.34px); }
        .sub_content .ico_wrap .flex_des .ico_box { height: 100px; }
        .bullet_dt::before { width: 4px; height: 4px; translate: 0 -4px; }
        .bullet_list > li { gap: 8px; }
    }

    @media (max-width: 640px){
        .sub_visual .sv_title h2 { font-size: 210%; }

        .sub_content .desc_wrap strong { font-size: 160%; }
        .sub_content .ico_wrap .flex_des li { width: calc(100% / 2 - 10px); }
        .sub_content .ico_wrap .flex_des .ico_box { height: 70px; }

        .sub_content .navy_cont .flex_des { gap: 20px; }
        .sub_content .navy_cont .flex_des .txt_box strong { font-size: 160%; }

        .sub_content .blue_cont .flex_des { gap: 20px; }
        .sub_content .blue_cont .flex_des .txt_box strong { font-size: 160%; }

        .sub_content .flex_banner_cont dl { padding-top: 25%; }
        .sub_content .flex_banner_cont dt { font-size: 180%; }
        .sub_content .flex_banner_cont dd { font-size: 90%; }

        .ft_banner dt { font-size: 160%; }
        .bullet_dt { gap: 8px; }
    }

    @media (max-width: 479px){
        .sub_visual .sv_title h2 { font-size: 190%; }
        .sub_content .desc_wrap strong { font-size: 140%; }
        .sub_content .navy_cont .flex_des .txt_box strong { font-size: 140%; }
        .sub_content .blue_cont .flex_des .txt_box strong { font-size: 140%; }
        .sub_content .ico_wrap .flex_des { gap: 15px; }
        .sub_content .ico_wrap .flex_des li { width: calc(100% / 2 - 7.5px); }
    }

    @media (max-width: 375px){
        .sub_content .ico_wrap .flex_des li { width: 100%; }
        .ft_banner dt { font-size: 140%; }
    }

/*───────────────────────────────────────────────────────────

	Driver

───────────────────────────────────────────────────────────*/

    #container:has(.sub_driver) { padding-bottom: 180px; }
    .sub_driver .banner_cont { position: relative; z-index: 2; }
    .sub_driver .banner_cont .img_wrap { margin-block: 80px 94px; }
    .sub_driver .ico_cont { position: relative; box-sizing: border-box; padding-bottom: 100px; }
    .sub_driver .ico_cont::before { content: ''; position: absolute; left: 0; top: 0; width: 100vw; height: calc(100% + 354px); background: var(--gray-bg01); top: -354px; z-index: 0; }

    .sub_driver .desc_cont { box-sizing: border-box; padding-block: 114px 119px; }

    .sub_driver .ico_wrap .flex_des li { width: calc(100% / 4 - 18.75px); }

    @media (max-width: 1023px){
        .sub_driver .banner_cont .img_wrap { margin-block: clamp(40px, 8vw, 80px) clamp(40px, 9vw, 94px); }

        .sub_driver .desc_cont { padding-block: clamp(50px, 11vw, 114px) clamp(50px, 11vw, 119px); }

        #container:has(.sub_driver) { padding-bottom: clamp(90px, 16vw, 180px); }

        .sub_driver .ico_cont::before { top: -30vh; height: calc(100% + 30vh); }
        .sub_driver .ico_wrap .flex_des li { width: calc(100% / 3 - 13.34px); }
    }

    @media (max-width: 640px){
        .sub_driver .ico_wrap .flex_des li { width: calc(100% / 2 - 10px); }
    }

    @media (max-width: 479px){
        .sub_driver .ico_wrap .flex_des li { width: calc(100% / 2 - 7.5px); }
    }

    @media (max-width: 375px){
        .sub_driver .ico_wrap .flex_des li { width: 100%; }
    }


/*───────────────────────────────────────────────────────────

	Occupant

───────────────────────────────────────────────────────────*/
    body:has(.sub_occupant) .sub_visual { background-image: url('../images/sub/sv_occu.jpg'); }
    .sub_occupant .desc_cont { box-sizing: border-box; padding-bottom: 81px; }
    .sub_occupant .navy_cont .flex_des .txt_box p + p { margin-top: 24px; }
    .sub_occupant .ico_cont { box-sizing: border-box; padding-block: 100px 120px; }
    .sub_occupant .ico_cont .desc_wrap strong { line-height: 1.5; }
    .sub_occupant .ico_cont .desc_wrap p { margin-top: 40px; }
    .sub_occupant .ico_wrap .flex_des { gap: 26px 25px; justify-content: center; }
    .sub_occupant .ico_wrap .flex_des .ico_box { height: 140px; }
    .sub_occupant .ico_wrap .flex_des li { padding-block: 55px 36px; width: calc(100% / 4 - 18.75px); }
    .sub_occupant .ico_wrap .flex_des p { margin-top: 41px; }
    .sub_occupant .blue_cont .flex_des .txt_box p { letter-spacing: 0.005em; }
    .sub_occupant .flex_banner_cont { padding-block: 158px 0; }
    .sub_occupant .flex_banner_cont .img_wrap:nth-child(2) dl { box-sizing: border-box;}

    @media (max-width: 1340px){
        
    }

    @media (max-width: 1023px){
        .sub_occupant .desc_cont { padding-bottom: clamp(40px, 8vw, 80px); }
        .sub_occupant .navy_cont .flex_des .txt_box p + p { margin-top: clamp(15px, 2vw, 24px); }
        .sub_occupant .ico_cont { padding-block: clamp(40px, 10vw, 100px) clamp(40px, 12vw, 120px); }
        .sub_occupant .ico_cont .desc_wrap p { margin-top: clamp(20px, 4vw, 40px); }
        .sub_occupant .ico_wrap .flex_des { gap: 20px; }
        .sub_occupant .ico_wrap .flex_des li { padding-block: clamp(30px, 5vw, 55px) clamp(20px, 3vw, 36px); padding-inline: clamp(20px, 2vw, 30px); width: calc(100% / 4 - 15px); }
        .sub_occupant .ico_wrap .flex_des .ico_box { height: 120px; }
        .sub_occupant .ico_wrap .flex_des p { margin-top: clamp(15px, 4vw, 41px); }
        .sub_occupant .flex_banner_cont { padding-top: clamp(40px, 15vw, 158px); }
        .sub_occupant .flex_banner_cont .img_wrap:nth-child(2) dl { padding-inline: clamp(20px, 3vw, 30px); padding-bottom: clamp(20px, 3vw, 30px); }
    }

    @media (max-width: 860px){
        .sub_occupant .ico_wrap .flex_des { justify-content: flex-start; }
        .sub_occupant .ico_wrap .flex_des .ico_box { height: 100px; }
        .sub_occupant .ico_wrap .flex_des li { width: calc(100% / 2 - 12.5px); }
    }

    @media (max-width: 640px){
        .sub_occupant .ico_wrap .flex_des .ico_box { height: 70px; }
    }

    @media (max-width: 479px){
        .sub_occupant .ico_wrap .flex_des { gap: 20px 15px; }
    }

    @media (max-width: 375px){
        .sub_occupant .ico_wrap .flex_des li { width: 100%; }
    }

/*───────────────────────────────────────────────────────────

	Fleet

───────────────────────────────────────────────────────────*/
    body:has(.sub_fleet) .sub_visual { background-image: url('../images/sub/sv_fleet.jpg'); }
    .sub_fleet .banner_cont .img_wrap { margin-block: 100px 140px; }
    .sub_fleet .flex_cont .flex_des { display: flex; align-items: center; gap: 100px;  }
    .sub_fleet .flex_cont .flex_des + .flex_des { margin-top: 80px; }
    .sub_fleet .flex_cont .flex_des .img_box { border-radius: var(--radius-20); overflow: clip; width: 55.72%; flex-shrink: 0; }
    .sub_fleet .flex_cont .flex_des .img_box img { width: 100%; height: 100%; object-fit: cover; }
    .sub_fleet .flex_cont .flex_des .txt_box { box-sizing: border-box; font-size: var(--title-20); color: var(--black-color01); width: calc(44.28% - 100px); margin-top: -11px; }
    .sub_fleet .flex_cont .flex_des .txt_box strong { font-size: 200%; line-height: 1.5; font-weight: 700; letter-spacing: 0; }
    .sub_fleet .flex_cont .flex_des .txt_box p { font-size: max(13px, 80%); line-height: 1.5; letter-spacing: 0; margin-top: 41px; font-weight: 400; }
    .sub_fleet .flex_cont .flex_des .txt_box p + p { margin-top: 24px; }

    .sub_fleet .flex_cont .flex_des.flex_rev { flex-direction: row-reverse; }
    
    .sub_fleet .flex_cont + .banner_cont { margin-top: 120px; }

    @media (max-width: 1280px){
        .sub_fleet .flex_cont .flex_des { gap: 60px; }
        .sub_fleet .flex_cont .flex_des .txt_box { width: calc(44.28% - 60px); }
    }

    @media (max-width: 1023px){
        .sub_fleet .banner_cont .img_wrap { margin-block: clamp(40px, 10vw, 100px) clamp(40px, 14vw, 140px); }
        .sub_fleet .flex_cont .flex_des + .flex_des { margin-top: clamp(40px, 8vw, 80px); }
        .sub_fleet .flex_cont .flex_des .txt_box p + p { margin-top: clamp(15px, 2vw, 24px); }
        .sub_fleet .flex_cont + .banner_cont { margin-top: clamp(60px, 12vw, 120px); }

        .sub_fleet .flex_cont .flex_des { flex-direction: column; gap: 30px; }
        .sub_fleet .flex_cont .flex_des .img_box { width: 100%; }
        .sub_fleet .flex_cont .flex_des .txt_box { width: 100%; }
        .sub_fleet .flex_cont .flex_des .txt_box strong { font-size: 180%; }
        .sub_fleet .flex_cont .flex_des .txt_box p { margin-top: clamp(20px, 3vw, 40px); }
        .sub_fleet .flex_cont .flex_des .txt_box p + p { margin-top: clamp(15px, 2vw, 34px); }
        .sub_fleet .flex_cont .flex_des.flex_rev { flex-direction: column; }
    }

    @media (max-width: 860px){
        
    }

    @media (max-width: 640px){
        .sub_fleet .flex_cont .flex_des .txt_box strong { font-size: 160%; }
    }

    @media (max-width: 479px){
        .sub_fleet .flex_cont .flex_des .txt_box strong { font-size: 140%; }
    }

/*───────────────────────────────────────────────────────────

	Face

───────────────────────────────────────────────────────────*/
    body:has(.sub_face) .sub_visual { background-image: url('../images/sub/sv_face.jpg'); }
    #container:has(.sub_face) { padding-bottom: 160px; }
    .sub_face .desc_cont { box-sizing: border-box; padding-bottom: 80px; }
    .sub_face .navy_cont .flex_des .txt_box p + p { margin-top: 24px; }
    .sub_face .ico_cont { box-sizing: border-box; padding-top: 104px; }
    .sub_face .ico_cont .desc_wrap p { margin-top: 44px; }
    .sub_face .ico_wrap .flex_des .ico_box { height: 124px; }
    .sub_face .ico_wrap .flex_des p { margin-top: 52px; }
    .sub_face .flex_banner_cont .flex_wrap { margin-top: 80px; }
    .sub_face .flex_banner_cont dl { padding-top: 31.7%; padding-bottom: 48px; }
    .sub_face .flex_banner_cont dd { text-wrap: auto; }

    @media (max-width: 1340px){
        .sub_face .flex_banner_cont dl { padding-bottom: 30px; }
    }

    @media (max-width: 1023px){
        #container:has(.sub_face) { padding-bottom: clamp(90px, 16vw, 160px); }
        .sub_face .desc_cont { padding-bottom: clamp(40px, 8vw, 80px); }
        .sub_face .ico_cont { padding-top: clamp(50px, 10vw, 104px); }
        .sub_face .ico_cont .desc_wrap p { margin-top: clamp(20px, 4vw, 44px); }
        .sub_face .ico_wrap .flex_des .ico_box { height: 120px; }
        .sub_face .ico_wrap .flex_des p { margin-top: clamp(15px, 4vw, 52px); }
        .sub_face .flex_banner_cont .flex_wrap { margin-top: clamp(40px, 8vw, 80px); }
        .sub_face .flex_banner_cont dl { padding-inline: clamp(20px, 3vw, 30px); padding-bottom: clamp(20px, 3vw, 30px); }

    }

    @media (max-width: 860px){
        .sub_face .ico_wrap .flex_des .ico_box { height: 100px; }
    }

    @media (max-width: 640px){
        .sub_face .ico_wrap .flex_des .ico_box { height: 70px; }
        .sub_face .flex_banner_cont dl { padding-top: 25%; }
    }

/*───────────────────────────────────────────────────────────

	Portable

───────────────────────────────────────────────────────────*/
    body:has(.sub_port) .sub_visual { background-image: url('../images/sub/sv_port.jpg'); }
    #container:has(.sub_port) { padding-bottom: 185px; }

    .sub_port .banner_cont { box-sizing: border-box; padding-bottom: 100px; }
    .sub_port .banner_cont .img_wrap { margin-top: 64px; margin-bottom: 80px; }
    .sub_port .banner_cont .desc_wrap { text-align: center; }
    .sub_port .banner_cont .desc_wrap h3 { font-size: 400%; background: #2D5FFE; background: linear-gradient(to right, var(--point-color01) 33.33%, var(--point-color06) 66.66%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;margin-top: 7px; }
    .sub_port .banner_cont .desc_wrap p { margin-top: 0; line-height: 1.5; }
    .sub_port .banner_cont .desc_wrap p + p { margin-top: 30px; }
    .sub_port .navy_cont { padding-bottom: 115px; }
    .sub_port .navy_cont .flex_des .txt_box strong { line-height: 1.3; }
    .sub_port .navy_cont .flex_des .img_box { display: flex; justify-content: center; align-items: center; width: 35%; flex-shrink: 0; box-sizing: border-box; padding-block: 74px 73px; padding-inline: 30px; background: var(--point-white); }
    .sub_port .navy_cont .flex_des .img_box img { width: unset; height: unset; }
    .sub_port .navy_cont .flex_des .txt_box { width: calc(65% - 100px); }
    .sub_port .navy_cont .flex_des .txt_box p + p { margin-top: 24px; }
    .sub_port .flex_cont { box-sizing: border-box; padding-block: 120px 100px; }
    .sub_port .flex_cont .flex_des { display: flex; align-items: center; gap: 100px; }
    .sub_port .flex_cont .flex_des .img_wrap { width: 42.86%; flex-shrink: 0;  }
    .sub_port .flex_cont .flex_des .img_wrap > .img_box { width: 100%; aspect-ratio: 1 auto; border-radius: var(--radius-20); }
    .sub_port .flex_cont .flex_des .img_wrap > .img_box img { border-radius: inherit; }
    .sub_port .flex_cont .flex_des .img_box img { width: 100%; object-fit: cover; }
    .sub_port .flex_cont .flex_des .txt_wrap { width: calc(57.14% - 100px); font-size: var(--title-20); }
    .sub_port .flex_cont .flex_des .txt_box strong { color: var(--black-color01); font-weight: 700; font-size: 200%; letter-spacing: 0; }
    .sub_port .flex_cont .flex_des .txt_box p { color: var(--black-color01); font-weight: 400; font-size: 80%; line-height: 1.5; letter-spacing: 0; margin-top: 25px; }
    .sub_port .flex_cont .flex_des .txt_box + .txt_box { margin-top: 33px; }
    .sub_port .flex_cont .flex_desc { display: flex; gap: 20px; width: 100%; margin-top: 20px; }
    .sub_port .flex_cont .flex_desc li { width: 100%; aspect-ratio: 1 auto; border-radius: var(--radius-20); }

    .sub_port .bullet_cont { box-sizing: border-box; padding-block: 94px 110px; }
    .sub_port .bullet_cont .desc_wrap + .w_custom { margin-top: 40px; }
    .sub_port .bullet_cont .flex_des { display: flex; flex-wrap: wrap; gap: 20px; }
    .sub_port .bullet_cont .flex_des > li { width: calc(100% / 3 - 13.34px); box-sizing: border-box; padding-inline: 2.5% 2%; padding-block: 47px 30px; background: var(--point-white); border-radius: var(--radius-20); overflow: clip; }
    .sub_port .bullet_cont dl { display: flex; align-items: baseline; font-size: var(--title-20); }
    .sub_port .bullet_cont dl + dl { margin-top: 13px; }
    .sub_port .bullet_cont dt { width: 166px; padding-right: 15px; }
    .sub_port .bullet_cont dd { width: calc(100% - 166px); color: var(--black-color06); font-weight: 400; font-size: 90%; line-height: 1.45; letter-spacing: 0; }
    .sub_port .bullet_cont li:not(:first-child) dl dt { width: 170px; }
    .sub_port .bullet_cont li:not(:first-child) dl dd { width: calc(100% - 170px); }
    .sub_port .slide_cont { box-sizing: border-box; padding-block: 100px 0;  }
    .sub_port .useSlide { margin-top: 60px; overflow: hidden; box-sizing: border-box;  }
    .sub_port .useSlide .swiper-slide { position:relative; border-radius: var(--radius-20); overflow: clip; height: clamp(190px, 37vw, 520px); transition: all 0.4s; z-index: 2; }
    .sub_port .useSlide .swiper-slide iframe { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 110%; height: 110%; object-fit: cover; border-radius: inherit; z-index: -1; background: #000; }
    .sub_port .useSlide .swiper-slide::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); transition: all 0.4s; }
    .sub_port .useSlide .swiper-slide::after { content: ''; position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 100px; aspect-ratio: 1 auto; background: url('../images/sub/img_play.svg') no-repeat center; background-size: 100% auto; opacity: 0; z-index: 2; transition: all 0.4s; }
    .sub_port .useSlide .swiper-slide-active::before { opacity: 0; }
    .sub_port .useSlide .swiper-slide-active::after { opacity: 1; }
    .sub_port .useSlide .swiper-slide-active { z-index: 5; }
    .sub_port .useSlide .swiper-slide.on::after { opacity: 0; }

    .sub_port .useSlide .swiper-slide:not(.swiper-slide-active) { scale: 0.75; }
    .sub_port .useSlide .swiper-slide-prev { translate: 58%; }
    .sub_port .useSlide .swiper-slide-next { translate: -58%; }
    
    .sub_port .useSlide video { display: block; width: 100%; height: 100%; object-fit: cover; }

    .sub_port .useSlide .swiper-button { width: 18.5%; height: 50%; top: 50%; translate: 0 -16%; opacity: 0; }
    .sub_port .useSlide .swiper-button-prev { left: 0;  }
    .sub_port .useSlide .swiper-button-next { right: 0;  }
    
    @media (max-width: 1280px){
        .sub_port .flex_cont .flex_des { gap: 60px; }
        .sub_port .flex_cont .flex_des .txt_wrap { width: calc(57.14% - 60px); }
        .sub_port .bullet_cont .flex_des > li { padding-inline: 30px; width: calc(100% / 2 - 10px); }
    }

    @media (max-width: 1180px){
        
    }

    @media (max-width: 1023px){
        #container:has(.sub_port) { padding-bottom: clamp(90px, 18vw, 185px); }
        .sub_port .banner_cont .img_wrap { margin-top: clamp(20px, 3vw, 34px); margin-bottom: clamp(20px, 4vw, 40px); }
        .sub_port .banner_cont .desc_wrap h3 { font-size: 350%; }
        .sub_port .banner_cont .desc_wrap p + p { margin-top: clamp(10px, 3vw, 30px); }
        .sub_port .navy_cont { padding-bottom: clamp(40px, 11vw, 115px); }
        .sub_port .navy_cont .flex_des .img_box { width: 100%; align-self: flex-start; padding-block: clamp(40px, 5vw, 74px) clamp(40px, 5vw, 73px); }
        .sub_port .navy_cont .flex_des .img_box img { height: clamp(250px, 35vw, 350px); }
        .sub_port .navy_cont .flex_des .txt_box { width: 100%; }

        .sub_port .flex_cont { padding-block: clamp(50px, 12vw, 120px) clamp(50px, 10vw, 100px); }
        .sub_port .flex_cont .flex_des { flex-direction: column; gap: 30px; }
        .sub_port .flex_cont .flex_des .img_wrap { width: 100%; align-self: flex-start; max-width: 600px; }
        
        .sub_port .flex_cont .flex_des .txt_wrap { width: 100%; }
        .sub_port .flex_cont .flex_des .txt_box strong { font-size: 180%; }
        .sub_port .flex_cont .flex_des .txt_box p { margin-top: clamp(15px, 2.5vw, 25px); }
        .sub_port .flex_cont .flex_des .txt_box + .txt_box { margin-top: clamp(25px, 3vw, 33px); }

        .sub_port .flex_cont .flex_desc { margin-top: clamp(15px, 2vw, 20px); }

        .sub_port .bullet_cont { padding-block: clamp(50px, 10vw, 94px) clamp(50px, 11vw, 110px); }
        .sub_port .bullet_cont dl + dl { margin-top: clamp(10px, 1.3vw, 13px); }
        .sub_port .bullet_cont .flex_des > li { padding-block: clamp(20px, 3vw, 47px) clamp(20px, 3vw, 30px); padding-inline: clamp(20px, 3vw, 30px); }
        .sub_port .bullet_cont .desc_wrap + .w_custom { margin-top: clamp(20px, 4vw, 40px); }

        .sub_port .slide_cont { padding-top: clamp(50px, 10vw, 100px); }
        .sub_port .useSlide { width: calc(100% + 60px); margin-left: -30px; padding-inline: 30px; margin-top: clamp(30px, 6vw, 60px); }
        .sub_port .useSlide .swiper-button { width: 17.5%; translate: 0 -12%; }
        .sub_port .useSlide .swiper-button-prev { left: -30px; }
        .sub_port .useSlide .swiper-button-next { right: -30px; }
    }

    @media (max-width: 860px){
        .sub_port .banner_cont .desc_wrap h3 { font-size: 300%; }
        .sub_port .bullet_cont .flex_des { gap: 20px 15px; }
        .sub_port .bullet_cont .flex_des > li { width: calc(100% / 2 - 7.5px); }
        .sub_port .bullet_cont dt { width: 130px; }
        .sub_port .bullet_cont dd { width: calc(100% - 130px); }
        .sub_port .bullet_cont li:not(:first-child) dl dt { width: 150px; }
        .sub_port .bullet_cont li:not(:first-child) dl dd { width: calc(100% - 150px); }

        .sub_port .useSlide { width: calc(100% + 30px); margin-left: -15px; padding-inline: 15px; }
        .sub_port .useSlide .swiper-slide::after { width: 80px; }
    }

    @media (max-width: 767px){
        .sub_port .bullet_cont .flex_des > li { width: 100%; }
    }

    @media (max-width: 640px){
        .sub_port .flex_cont .flex_des .txt_box strong { font-size: 160%; }
        .sub_port .useSlide .swiper-slide::after { width: 60px; }
    }

    @media (max-width: 479px){
        .sub_port .banner_cont .desc_wrap h3 { font-size: 250%; }
        .sub_port .bullet_cont dt { width: 110px; }
        .sub_port .bullet_cont dd { width: calc(100% - 110px); }
        .sub_port .bullet_cont li:not(:first-child) dl dt { width: 110px; }
        .sub_port .bullet_cont li:not(:first-child) dl dd { width: calc(100% - 110px); }
        .sub_port .flex_cont .flex_des .txt_box strong { font-size: 140%; }
        .sub_port .useSlide .swiper-slide::after { width: 50px; }
    }

/*───────────────────────────────────────────────────────────

	3D Scanning

───────────────────────────────────────────────────────────*/
    body:has(.sub_scan) .sub_visual { background-image: url('../images/sub/sv_scan.jpg'); }
    #container:has(.sub_scan) { padding-bottom: 170px; }
    .sub_scan .banner_cont .img_wrap { margin-block: 100px 80px; }
    .sub_scan .ico_cont { margin-top: 51px; }
    .sub_scan .ico_wrap .flex_des { gap: 30px 10px; }
    .sub_scan .ico_wrap .flex_des li { padding-block: 66px 36px; width: calc(100% / 5 - 8px); }
    .sub_scan .ico_wrap .flex_des .ico_box { height: 118px; }
    .sub_scan .ico_wrap .flex_des p { margin-top: 54px; font-size: 100%; line-height: 1.11; }
    .sub_scan .ico_cont:has(.ico_wrap02) { margin-top: 95px; }
    .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des { gap: 31px; flex-wrap: nowrap }
    .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des .ico_box { height: 95px; }
    .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { width: 100%; padding-block: 72px 38px; }
    .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des p { margin-top: clamp(40px, 6.9vw, 74px); font-size: 100%; }

    .sub_scan .banner_cont.gray_bg { box-sizing: border-box; padding-block: 100px 120px; margin-top: 100px; }
    .sub_scan .banner_cont.gray_bg .img_wrap { margin-block: 0 80px; }

    .sub_scan .ico_cont .desc_wrap { margin-block: 94px 67px; }
    .sub_scan .dl_ico_wrap .flex_des { display: flex; flex-wrap: wrap; }
    .sub_scan .dl_ico_wrap .flex_des li { width: calc(100% / 5 - 20px); text-align: center; }
    .sub_scan .dl_ico_wrap .flex_des li:nth-child(1),
    .sub_scan .dl_ico_wrap .flex_des li:nth-child(3),
    .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) { margin-right: 25px; }

    .sub_scan .dl_ico_wrap .flex_des li .ico_box { position: relative; width: 100%; aspect-ratio: 1 auto; box-sizing: border-box; border: 1px solid var(--border-color01); border-radius: var(--radius-20); }
    .sub_scan .dl_ico_wrap .flex_des li .ico_box img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
    .sub_scan .dl_ico_wrap .flex_des li .ico_box::before { content: ''; position: absolute; width: clamp(40px, 4vw, 80px); aspect-ratio: 1 auto; left: 100%; top: 50%; translate: -50% -50%; background-size: 100% auto; z-index: 2; }

    .sub_scan .dl_ico_wrap .flex_des li:nth-child(1) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(3) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) .ico_box::before { background: url('../images/sub/ico_scan_arw.png') no-repeat center / cover; left: calc(100% + 12px); }

    .sub_scan .dl_ico_wrap .flex_des li:nth-child(2) .ico_box::before { background: url('../images/sub/ico_scan_plus.png') no-repeat center / cover; }

    .sub_scan .dl_ico_wrap .flex_des dl { font-size: var(--title-20); margin-top: 18px; }
    .sub_scan .dl_ico_wrap .flex_des dt { font-size: 100%; color: var(--black-color00); font-weight: 500; letter-spacing: 0; }
    .sub_scan .dl_ico_wrap .flex_des dd { font-size: max(13px, 70%); font-weight: 400; color: var(--black-color06); line-height: 1.58; margin-top: 6px; font-family: var(--font-type01); letter-spacing: 0.03em; }

    @media (max-width: 1240px){
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des { gap: 30px 20px; }
    }

    @media (max-width: 1023px){
        #container:has(.sub_scan) { padding-bottom: clamp(90px, 17vw, 170px); }
        .sub_scan .banner_cont .img_wrap { margin-block: clamp(40px, 10vw, 100px) clamp(40px, 8vw, 80px); }
        .sub_scan .ico_cont { margin-top: clamp(40px, 8vw, 80px); }
        .sub_scan .ico_wrap .flex_des li { padding-block: clamp(20px, 4vw, 45px) clamp(20px, 2.9vw, 29px); }
        .sub_scan .ico_wrap .flex_des p { margin-top: clamp(15px, 3vw, 34px); }

        .sub_scan .ico_cont:has(.ico_wrap02) { margin-top: clamp(40px, 9vw, 95px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des { gap: 20px; flex-wrap: wrap; }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { padding-block: clamp(20px, 6vw, 62px) clamp(20px, 3vw, 38px); width: calc(100% / 3 - 13.34px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des p { margin-top: clamp(15px, 5vw, 76px); }

        .sub_scan .ico_cont .desc_wrap { margin-block: clamp(40px, 9vw, 94px) clamp(40px, 6vw, 67px); }
        
        .sub_scan .dl_ico_wrap .flex_des dl { margin-top: clamp(15px, 1.8vw, 18px); }
        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1), .sub_scan .dl_ico_wrap .flex_des li:nth-child(3), .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) { margin-right: 15px; }
        .sub_scan .dl_ico_wrap .flex_des li { width: calc(100% / 5 - 9px); }
        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(3) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) .ico_box::before { left: calc(100% + 9px); }


        .sub_scan .ico_wrap .flex_des { gap: 20px 8px; }
        .sub_scan .ico_wrap .flex_des li { width: calc(100% / 3 - 5.4px); }

        .sub_scan .banner_cont.gray_bg { margin-top: clamp(50px, 10vw, 100px); padding-block: clamp(50px, 10vw, 100px) clamp(60px, 12vw, 120px); }
        .sub_scan .banner_cont.gray_bg .img_wrap { margin-block: 0 clamp(40px, 8vw, 80px); }
    }

    @media (max-width: 860px){
        .sub_scan .ico_wrap .flex_des li { width: calc(100% / 2 - 4px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des { flex-wrap: wrap; }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { width: calc(100% / 3 - 13.34px); }

        .sub_scan .dl_ico_wrap .flex_des { justify-content: center; }
        .sub_scan .dl_ico_wrap .flex_des li { width: 100%; display: flex; align-items: center; gap: clamp(20px, 4vw, 40px); }
        .sub_scan .dl_ico_wrap .flex_des li .ico_box { flex-shrink: 0; max-width: 300px; width: 50%; }
        .sub_scan .dl_ico_wrap .flex_des dl { margin-top: 0; text-align: left; width: calc(50% - clamp(20px, 4vw, 40px)); }

        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1), .sub_scan .dl_ico_wrap .flex_des li:nth-child(3), .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) { margin-right: 0; }

        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1) { margin-bottom: 80px; }

        .sub_scan .dl_ico_wrap .flex_des li:nth-child(4), .sub_scan .dl_ico_wrap .flex_des li:nth-child(5) { margin-top: 80px; }
        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1) .ico_box::before, .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(3) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) .ico_box::before { left: 50%; transform: rotate(90deg); }
        .sub_scan .dl_ico_wrap .flex_des li:nth-child(1) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(3) .ico_box::before, .sub_scan .dl_ico_wrap .flex_des li:nth-child(4) .ico_box::before  { top: calc(100% + 40px); }
        .sub_scan .dl_ico_wrap .flex_des li:nth-child(2) .ico_box::before { left: 50%; top: 100%; }
    }

    @media (max-width: 640px){
        .sub_scan .ico_wrap .flex_des .ico_box { height: 70px; }
        .sub_scan .ico_wrap .flex_des li { width: calc(100% / 2 - 4px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { width: calc(100% / 2 - 10px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des .ico_box { height: 70px; }
        
    }

    @media (max-width: 479px){
        .sub_scan .ico_wrap .flex_des { gap: 15px; }
        .sub_scan .ico_wrap .flex_des li { width: calc(100% / 2 - 7.5px); }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des { gap: 20px 15px; }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { width: calc(100% / 2 - 7.5px); }
        
    }

    @media (max-width: 375px){
        .sub_scan .ico_wrap .flex_des li { width: 100%; }
        .sub_scan .ico_cont:has(.ico_wrap02) .ico_wrap02 .flex_des li { width: 100%; }
        
    }

/*───────────────────────────────────────────────────────────

	Contact Us

───────────────────────────────────────────────────────────*/
    #container:has(.bbs_write_box) { max-width: 1280px; }
    #wrap .bbs_write_box{box-sizing:border-box;padding-block:30px; padding-inline: 20px; gap:20px;display: flex;flex-direction: column;flex-wrap:wrap;border-top:1px solid var(--black-color03);border-bottom:1px solid var(--border-color01);}
    #wrap .bbs_write_box .line2{display: flex;flex-wrap:wrap;gap:80px;}
    #wrap .bbs_write_box .line2 dl{width:calc(50% - 40px);max-width:590px;}
    #wrap .bbs_write_box dl{display: flex;flex-wrap:wrap;width:100%;align-items: baseline;}
    #wrap .bbs_write_box dl dt{width:150px;font-size:var(--title-20);color:var(--black-color03);font-weight:500;display: flex;align-items: center;text-align:left;}
    #wrap .bbs_write_box dl dt .require_dot{font-size:inherit;color:var(--point-color01);font-weight:inherit;display: inline-block;margin-left:3px;}
    #wrap .bbs_write_box dl dd{box-sizing:border-box;width:calc(100% - 150px);display: flex;align-items: center;}
    #wrap .bbs_write_box dl dd ul{display: flex;gap:20px;align-items: center;height:100%;flex-wrap:wrap;}
    #wrap .bbs_write_box dl dd input[type="text"]{width:100%;height:60px;box-sizing:border-box;border-radius:4px;border:1px solid var(--border-color01);padding:0 20px;font-size:var(--title-18);color:var(--black-color03);font-weight:400;}
    #wrap .bbs_write_box dl dd input[type="text"]:focus, #wrap .bbs_write_box textarea:focus{border-color:var(--black-color01);}
    #wrap .bbs_write_box dl dd input[type="text"]::place-holder, #wrap .bbs_write_box textarea::placeholder{color:var(--black-color08);}
    #wrap .bbs_write_box dl dd select{width:240px;height:60px;}
    #wrap .bbs_write_box .text_dl { align-items: flex-start; }
    #wrap .bbs_write_box .text_dl dt { padding-top: 15px; }
    #wrap .bbs_write_box textarea{resize:none;width:100%;height:300px;box-sizing:border-box;border-radius:4px;border:1px solid var(--border-color01);padding:20px 20px;font-size:var(--title-18);color:var(--black-color03);font-weight:400;letter-spacing:-0.03em;}
    #wrap .bbs_write_box dl.captcha_dl dd{gap:10px;}
    #wrap .bbs_write_box .captcha_wrap{border:1px solid var(--border-color01);padding:10px;box-sizing: border-box; display: flex; gap:10px;border-radius:4px; flex-shrink: 0;}
    #wrap .bbs_write_box #captcha_box{margin: 0; width: 155px; height: 40px; box-sizing: border-box; overflow: hidden; border-radius: 4px; border: 1px solid var(--border-color01); }
    #wrap .bbs_write_box #captcha_box img{  width: calc(100% + 2px) !important; height: calc(100% + 2px) !important; max-width: initial; max-height: initial; margin-left: -1px; margin-top: -1px;}
    #wrap .bbs_write_box #refreshCode{display: inline-flex; background: url('../images/sub/icon_reset.svg') no-repeat center; font-size: 0; cursor: pointer; min-width: 40px; width: 40px; height: 40px; border:1px solid var(--border-color01); box-sizing: border-box;border-radius:4px;}
    #wrap .bbs_write_box input#captcha{max-width: 300px; margin:0;}
    #wrap:not(.main_index) .policy_wrap{box-sizing: border-box; margin-top: 40px;}
    #wrap:not(.main_index) .policy_wrap .area_box{margin-top: 20px;}
    #wrap:not(.main_index) .area_box{width: 100%; padding:10px;box-sizing: border-box;border-radius:4px;border:1px solid var(--border-color01);}
    #wrap:not(.main_index) .area_box textarea{width: 100%; padding:5px 7px; border:0; background: none; box-sizing: border-box; font-size: 14px; font-weight: 400; color: var(--black-color08); line-height: 1.6; font-family: var(--font-type01);height:137px;}
    #wrap:not(.main_index) .area_box textarea::-webkit-scrollbar { width: 4px;}
    #wrap:not(.main_index) .area_box textarea::-webkit-scrollbar-thumb {background: var(--black-color10); border-radius: 10px;}
    #wrap:not(.main_index) .area_box textarea::-webkit-scrollbar-track {border-radius: 10px;background:var(--border-color01);}

    #wrap:not(.main_index) input[type="checkbox"] { display: none; }
    #wrap:not(.main_index) input[type="checkbox"] + label { min-height: 25px; font-size: var(--title-18); color: var(--black-color03); cursor: pointer; }
    #wrap:not(.main_index) input[type="checkbox"] + label::before, #wrap input[type="checkbox"] + label::before { display: inline-block; content: ""; vertical-align: middle; width: 25px; height: 25px; margin: -3px 12px 0 0; background: url("../images/sub/ico_chk.png") no-repeat center;background-size: cover; }
    #wrap:not(.main_index) input[type="checkbox"]:checked + label::before, #wrap input[type="checkbox"]:checked + label::before { background: url("../images/sub/ico_chk_on.png") no-repeat center; background-size: cover; }

    #wrap .btn_wrap { padding: 0; margin-top: 40px; }

    @media (max-width: 1023px){
        #wrap .bbs_write_box { padding-block: clamp(20px, 3vw, 30px); padding-inline: 0; }
        #wrap .bbs_write_box .line2 { gap: 40px; }
        #wrap .bbs_write_box .line2 dl { width: calc(100% / 2 - 20px); }
        #wrap .bbs_write_box dl dt { width: 130px; }
        #wrap .bbs_write_box dl dd { width: calc(100% - 130px); }

        #wrap:not(.main_index) .policy_wrap { margin-top: clamp(20px, 4vw, 40px); }
        #wrap .btn_wrap { margin-top: clamp(25px, 4vw, 40px); }
    }

    @media (max-width: 860px){
        #wrap .bbs_write_box .line2 { flex-direction: column; gap: 20px; }
        #wrap .bbs_write_box .line2 dl { width: 100%; max-width: unset; }
        #wrap .bbs_write_box .text_dl dt { display: none; }
        #wrap .bbs_write_box .text_dl dd { width: 100%; }
    }

    @media (max-width: 640px){
        #wrap .bbs_write_box dl.captcha_dl dd { flex-direction: column; align-items: flex-start; }
        #wrap .bbs_write_box input#captcha { max-width: unset; }
        #wrap:not(.main_index) input[type="checkbox"] + label::before, #wrap input[type="checkbox"] + label::before { width: 20px; height: 20px; margin-right: 7px; }
    }

    @media (max-width: 479px){
        #wrap .bbs_write_box .line2 { gap: 15px; }
        #wrap .bbs_write_box { gap: 15px; }
        #wrap .bbs_write_box .line2 dl { flex-direction: column; gap: 10px; }
        #wrap .bbs_write_box dl.captcha_dl { gap: 10px; }
        #wrap .bbs_write_box dl dt { width: 100%; }
        #wrap .bbs_write_box dl dd { width: 100%; }
        #wrap .bbs_write_box dl dd input[type="text"] { height: 50px; }
        #wrap .bbs_write_box #captcha_box { width: 140px; height: 30px; }
        #wrap .bbs_write_box #refreshCode { width: 30px; height: 30px; min-width: 30px; background-size: 14px 14px; }
    }    

/*───────────────────────────────────────────────────────────

	게시판 공통

───────────────────────────────────────────────────────────*/

    body:has(.bbs_list, .bbs_view, .bbs_write_box) .sub_visual { background-image: url('../images/sub/sv_list.jpg'); }
    body:has(.bbs_gallery, .bbs_gall) .sub_visual { background-image: url('../images/sub/sv_gallery.jpg'); }

    #container:has(.bbs_list, .bbs_view:not(.bbs_gall)) { max-width: 1280px; }
    #container:has(.bbs_gallery, .bbs_gall) { max-width: 1420px; padding-bottom: 160px; }
    #wrap:not(.main_index) select, 
    #wrap:not(.main_index) input[type="text"], 
    #wrap:not(.main_index) input[type="password"], 
    #wrap:not(.main_index) input[type="number"], 
    #wrap:not(.main_index) input[type="date"] { height: 56px; background: var(--point-white); color: var(--black-color04); font-size: var(--title-17); font-weight: 400; border: 1px solid var(--border-color01); padding: 0 20px 0 19px; letter-spacing: -0.04em; overflow: hidden; box-sizing: border-box; border-radius: 4px; outline: 0; text-overflow: ellipsis; overflow: hidden !important; white-space: nowrap; }

    #wrap:not(.main_index) select { width: 100%; padding-right: 32px; background: var(--point-white) url('../images/sub/ico_sel_arw.svg') no-repeat center right 18px; appearance: none; border-radius: 4px; cursor: pointer; margin: 0; }

    #wrap:not(.main_index) input[type="text"]::placeholder, 
    #wrap:not(.main_index) input[type="password"]::placeholder, 
    #wrap:not(.main_index) input[type="number"]::placeholder,
    #wrap:not(.main_index) input[type="date"]::placeholder { font-size: 100%; font-weight: 400; color: var(--black-color05); letter-spacing: -0.045em; }

    #wrap:not(.main_index) select:focus, 
    #wrap:not(.main_index) input[type="text"]:focus, 
    #wrap:not(.main_index) input[type="password"]:focus, 
    #wrap:not(.main_index) input[type="number"]:focus, 
    #wrap:not(.main_index) input[type="date"]:focus { outline: 0; }

    #wrap .board_search { width: 100%; margin-bottom: 30px; box-sizing: border-box; padding: 0; line-height: inherit; text-align: left; overflow: hidden; background: var(--point-white); }
    #wrap .board_search .search_wrap { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
    #wrap .board_search .board_search_sel { width: 160px; margin: 0; }
    #wrap .board_search .inp_custom { position: relative; width: 100%; max-width: 460px; }
    #wrap .board_search .inp_custom input[type="submit"] { position: absolute; right: 0; width: 56px; height: 56px; appearance: none; border: none; font-size: 0; background: url('../images/sub/ico_search.svg') no-repeat center; background-size: 22px 22px; }
    #wrap .board_search .inp_custom input[type="text"] { padding: 0 60px 0 19px; box-sizing: border-box; width: 100%; margin: 0; }

    /* pagaing wrap */
    
    .paging {text-align:center; font-size:0; margin:0 auto; margin-top: 133px; vertical-align:top; box-sizing:border-box;}
    .paging span {display:inline-block;vertical-align:top;}
    .paging a {display:inline-flex; justify-content: center; align-items: center; font-size: var(--title-16); color: var(--black-color01); padding:0; border: 1px solid var(--border-color01); box-sizing:border-box;min-width:40px; width: auto; min-height: 40px; height: auto; line-height:1.5; text-align:center; vertical-align:top; margin: 0; }
    .paging a img {height:33px;width:33px;vertical-align:top;}

    .paging .on a,
    .paging a.on {color:var(--point-white); background: var(--black-color01); border-color: transparent; }
    .paging :is(.on a, a.on) { border-bottom: unset; }
    .paging span + span:not(.arrow) { margin-left: 4px; }
    .paging a + a { margin-left: 4px; }

    .paging .arrow a {font-size:0; width: auto; min-width:40px; }
    .paging .arrow a img {display:none;}
    .paging .arrow.first a {background:#fff url("../images/sub/ico_pagi_first.svg") no-repeat center 50%;background-size: 10px 10px; margin: 0; }
    .paging .arrow.first:has(+.prev) a { border-right: 0; }
    .paging .arrow.prev a {background:#fff url("../images/sub/ico_pagi_prev.svg") no-repeat center 50%;background-size: 6px 10px; margin-right: 10px; margin-left: 0; }
    .paging .arrow.next a {background:#fff url("../images/sub/ico_pagi_next.svg") no-repeat center 50%;background-size: 6px 10px; margin-left: 10px; margin-right: 0; }
    .paging .arrow.next:has(+.last) a { border-right: 0; }
    .paging .arrow.last a {background:#fff url("../images/sub/ico_pagi_last.svg") no-repeat center 50%;background-size: 10px 10px; margin: 0;}

    #wrap:has(.bbs_list) .paging { margin-top: 50px; }

    .view_btn {text-align:center; position:relative; }
    .view_btn .paging {display:inline-block; min-height: auto; }

    @media (max-width: 1023px){
        #wrap .board_search { margin-bottom: clamp(20px, 3vw, 30px); }
        .paging { margin-top: clamp(60px, 13vw, 133px); }
        #wrap:has(.bbs_list) .paging { margin-top: clamp(30px, 5vw, 50px); }
    }

    @media (max-width: 660px){
        #wrap .board_search .inp_custom { width: calc(100% - 170px); max-width: unset; }
    }

    @media (max-width: 640px){
        #wrap select, #wrap input[type="text"], #wrap input[type="password"], #wrap input[type="number"], #wrap input[type="date"] { padding: 0 15px 0 15px; height: 45px; }
        #wrap .board_search .board_search_sel { width: auto; }
        #wrap .board_search select { height: 40px; width: 120px; padding-right: 27px; background-position: center right 12px; background-size: 12px 6px; }
        #wrap .board_search .inp_custom { width: calc(100% - 130px); }
        #wrap .board_search .inp_custom input[type="text"] { height: 40px; padding: 0 50px 0 15px; }
        #wrap .board_search .inp_custom input[type="submit"] { width: 40px; height: 40px; background-size: 16px 16px;  }

        .paging a { min-width: 30px; min-height: 30px; }
        .paging .arrow a { min-width: 30px; }
    }

    @media (max-width: 360px){
        #wrap .board_search .board_search_sel { width: 100%; }
        #wrap .board_search select { width: 100%; max-width: unset; }
        #wrap .board_search .inp_custom { width: 100%; max-width: unset; }
    }



/*───────────────────────────────────────────────────────────

	갤러리 게시판

───────────────────────────────────────────────────────────*/

    #wrap .sub_board:has(.bbs_gallery) .search_form { display: none; }
    #wrap .sub_board ul.bbs_gallery { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 60px; }
    #wrap .sub_board ul.bbs_gallery:after { display: none; }
    #wrap ul.bbs_gallery li { display: flex; gap: 40px; float: unset; width: 100%; margin: 0; position: relative; }
    #wrap ul.bbs_gallery li .thumb { width: 47.9%; flex-shrink: 0; padding: 0; height: 453px; position: relative; border: 0; box-sizing: border-box; overflow: clip; vertical-align: top; font-size: 0; border-radius: var(--radius-20); }
    #wrap ul.bbs_gallery li .thumb img { width: 100%; height: 100%; vertical-align: top; box-sizing: border-box; position: static; transform: unset; min-height: 250px; transition: all 0.4s; object-fit: cover; }
    #wrap ul.bbs_gallery li .txt_wrap { width: calc(52.1% - 40px); position: relative; font-size: var(--title-20); font-family: var(--font-type02); box-sizing: border-box; padding-top: clamp(20px, 3vw, 40px); }
    #wrap ul.bbs_gallery li .txt_wrap p { color: var(--black-color06); font-size: 100%; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-align: left; margin: 0; }
    #wrap ul.bbs_gallery li .txt_wrap dl { margin-top: 20px; font-size: var(--title-20); }
    #wrap ul.bbs_gallery li .txt_wrap dt { color: var(--black-color00); font-weight: 600; font-size: 150%; line-height: 1.34; letter-spacing: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; }
    #wrap ul.bbs_gallery li .txt_wrap dd { color: var(--black-color06); font-weight: 400; font-size: 100%; line-height: 1.5; letter-spacing: 0; margin-top: 40px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; text-overflow: ellipsis; overflow: hidden; }
    #wrap ul.bbs_gallery li a { display: block; position: absolute; left: 0; bottom: 25px; right: unset; top: unset; color: var(--point-color01); font-weight: 500; font-size: 90%; letter-spacing: 0; }
    #wrap ul.bbs_gallery li .anchor_link { position: absolute; left: 0; top: 0; width: 100%; height: 100%; margin: 0; padding: 0; }
    #wrap ul.bbs_gallery li:nth-of-type(4n+1) { clear: unset; }

    #wrap ul.bbs_gallery li .thumb .arw{position: absolute;top:50%;left:50%;translate: -50% -50%;width: 60px;aspect-ratio: auto 1;border-radius: 100%;background: var(--point-white);opacity: 0;transition: all 0.4s;}
    #wrap ul.bbs_gallery li .thumb .arw{&:before, &:after{position: absolute;content:'';width: 2px;height: 20px;background: var(--point-color01);top: 50%;left: 50%;translate: -50% -50%;}}
    #wrap ul.bbs_gallery li .thumb .arw:after{width: 20px; height: 2px;}

    @media (hover: hover) and (pointer: fine){
        #wrap ul.bbs_gallery li:hover .thumb .arw{transform: rotate(270deg);opacity: 1;}
        #wrap ul.bbs_gallery li:hover .thumb img { transform: scale(1.05); }
    }

    @media (max-width: 1023px){
        #wrap ul.bbs_gallery li .thumb { height: clamp(300px, 43vw, 430px); }
        #wrap ul.bbs_gallery li .txt_wrap { padding-bottom: clamp(50px, 7vw, 70px); }
        #wrap ul.bbs_gallery li .txt_wrap dl { margin-top: clamp(15px, 2vw, 20px); }
        #wrap ul.bbs_gallery li .txt_wrap dd { margin-top: clamp(20px, 3vw, 40px); min-height: unset; }
        #wrap ul.bbs_gallery li a { bottom: clamp(15px, 2.5vw, 25px); }
    }

    @media (max-width: 860px){
        #wrap ul.bbs_gallery li { flex-direction: column; gap: 20px; }
        #wrap ul.bbs_gallery li .thumb { width: 100%; }
        #wrap ul.bbs_gallery li .txt_wrap { padding-top: 0; width: 100%; }
        #wrap ul.bbs_gallery li .txt_wrap dd { min-height: auto; }
    }

    @media (max-width: 640px){
        #wrap .sub_board ul.bbs_gallery { gap: 40px; }
        #wrap ul.bbs_gallery li .txt_wrap dt { font-size: 130%; }
    }

    @media (max-width: 479px){
        #wrap .sub_board ul.bbs_gallery { gap: 35px; }
    }

/*───────────────────────────────────────────────────────────

	일반 게시판

───────────────────────────────────────────────────────────*/

    #wrap table.bbs_list {border-top:2px solid var(--black-color03);border-bottom:0;width:100%;text-align:center;table-layout:fixed;box-sizing:border-box; font-family: var(--font-type01); font-size: var(--title-18);}
    #wrap table.bbs_list thead tr {border-bottom: 1px solid var(--black-color01);  }
    #wrap table.bbs_list tbody tr {border-bottom: 1px solid var(--border-color01); transition: all 0.4s; }
    #wrap table.bbs_list tr :where(th, td){border:0;font-size: 100%;line-height: 1.4;letter-spacing: -0.03em;}
    #wrap table.bbs_list th {font-weight: 500; color: var(--black-color01); padding-block: 29px 27px; padding-inline: 5px; font-family: var(--font-type03); }
    #wrap table.bbs_list td {font-weight: 400; color: var(--black-color05); padding-block: 31px 26px; padding-inline: 5px; }
    #wrap table.bbs_list td.left{ padding-left: 0; padding-right: 10px; text-align: left; color: var(--black-color03); font-weight: 400; letter-spacing: -0.04em; }
    #wrap table.bbs_list td.left h3 { font-weight: inherit; }
    #wrap table.bbs_list td.left strong { font-weight: inherit; }
    #wrap table.bbs_list td a{white-space:normal; overflow:hidden; text-overflow:ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;}
    #wrap table.bbs_list td h3 { display: flex; align-items: center; gap: 0 11px; font-size: inherit; }
    #wrap table.bbs_list td strong{font-weight: inherit; display: inline-block; max-width: calc(100% - 40px); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
    #wrap table.bbs_list td .board_ico { display: inline-block; padding-top: 0; box-sizing: border-box; }
    #wrap table.bbs_list td.td_num { font-family: var(--font-type01); }
    #wrap table.bbs_list td.td_date,
    #wrap table.bbs_list td.td_name { font-size: var(--title-17); font-family: var(--font-type03); }
    #wrap table.bbs_list td .board_tit img { margin-right: 0; }
    
    #wrap table.bbs_list tr.board_notice td { background: var(--point-white); transition: all 0.4s; }

    #wrap table.bbs_list .board_notice td.left { color: var(--black-color01); font-weight: 600; padding-left: 0; }
    #wrap table.bbs_list .board_notice strong { color: inherit; font-weight: inherit; }
    #wrap table.bbs_list .board_notice .td_notice span { display: flex; justify-content: center; align-items: center; width: fit-content; padding-block: 3px 2px; padding-inline: 11px; margin: 0 auto 3px; border: 1px solid var(--point-color01); color: var(--point-color01); border-radius: 50px; font-weight: 600; font-size: max(13px, var(--title-15)); letter-spacing: -0.03em; box-sizing: border-box; }
    #wrap table.bbs_list .board_notice td { padding-block: 28px 24px; padding-inline: 5px; }

    @media (hover: hover) and (pointer: fine){
        #wrap table.bbs_list tbody tr:not(:has(.nodata)):hover { background: #F7F8FA; }
        #wrap table.bbs_list tr:not(:has(.nodata)).board_notice:hover td { background: #F7F8FA; }
    }

    @media (max-width: 1023px){
        #wrap table.bbs_list th { padding-block: clamp(15px, 3vw, 29px) clamp(15px, 3vw, 27px); }
        #wrap table.bbs_list td { padding-block: clamp(15px, 3vw, 31px) clamp(15px, 3vw, 26px); }

        #wrap table.bbs_list col:nth-child(3),
        #wrap table.bbs_list th:nth-child(3),
        #wrap table.bbs_list td:nth-child(3) { display: none; }

        #wrap table.bbs_list .board_notice td { padding-block: clamp(15px, 3vw, 28px) clamp(15px, 3vw, 24px); }
        #wrap table.bbs_list .board_notice .td_notice span { padding-inline: clamp(5px, 1vw, 11px); padding-block: clamp(1px, 0.2vw, 3px); }
    }

    @media (max-width: 860px){
        #wrap table.bbs_list col:nth-child(4) { width: 100px; }
    }

    @media (max-width: 640px){
        #wrap table.bbs_list td .board_tit img { width: 14px; }
    }

    @media (max-width: 479px){
        #wrap table.bbs_list col:nth-child(1) { width: 63px; }
        #wrap table.bbs_list td .board_tit img { width: 12px; }
        #wrap table.bbs_list col:nth-child(4),
        #wrap table.bbs_list th:nth-child(4),
        #wrap table.bbs_list td:nth-child(4) { display: none; }
    }

/*───────────────────────────────────────────────────────────

	게시판 뷰 페이지

───────────────────────────────────────────────────────────*/
    #wrap .bbs_view { border-bottom: 1px solid var(--black-color00); }
    #wrap .bbs_view div.view_tit {width:100%; box-sizing:border-box; padding: 0 0 28px; border-bottom: 2px solid var(--black-color00); background: #fff; font-size: var(--title-20); text-align: left; border-top: 0; }
    #wrap .bbs_view div.view_tit > h3 {font-size: 150%; width: 100%; color: var(--black-color00); font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; font-family: var(--font-type02); }
    #wrap .bbs_view div.view_tit > p {display: flex; align-items: center; width: 100%; margin-top: 19px; text-align: left; padding: 0;}
    #wrap .bbs_view div.view_tit > p span {font-size: var(--title-16); font-weight: 400; color:var(--black-color08); font-family: var(--font-type01);}
    #wrap .bbs_view div.view_tit > p span + span { display: flex; align-items: center; }
    #wrap .bbs_view div.view_tit > p span + span:before {content:'';display:inline-block;width:1px;height:12px;background:var(--black-color12); margin-block: 4px; margin-inline: 16px; }
    #wrap .bbs_view div.view_tit > p span em { font-weight: 400; margin-right: 4px;}

    #wrap .bbs_view div.view_cont {padding: 41px 30px 60px; border: 0; font-size: var(--title-18); color: var(--black-color04); font-weight: 400; font-family: var(--font-type02); line-height: 1.77; letter-spacing: -0.03em; }
    #wrap .bbs_view div.view_cont img { margin-bottom: 40px; }
    #wrap .bbs_view .thumb_img_wrap{display:none;}

    #wrap .sub_board .bbs_view .extra_editor_wrap {display:table;table-layout:fixed;border-collapse:collapse;width:100%;border:0; background: var(--gray-bg01); margin-bottom: 30px; border-radius: 4px; box-sizing: border-box; }
    #wrap .sub_board .bbs_view .extra_editor_wrap > h4, #wrap .sub_board .bbs_view .extra_editor_wrap > div.extra_cont {padding: 32px 0 32px;display:table-cell;box-sizing:border-box;vertical-align:middle;text-align:left;border: 0;}
    #wrap .sub_board .bbs_view .extra_editor_wrap > h4 {width:162px;background:none;color: var(--black-color03); font-family: var(--font-type02); font-size: var(--title-18);font-weight: 500;text-align: center;position:relative;z-index:1; letter-spacing: -0.03em;}
    #wrap .sub_board .bbs_view .extra_editor_wrap > h4::after {content:''; position:absolute;width:1px;height:calc(100% - 60px);background:var(--border-color01);top:50%;right:0;transform:translateY(-50%);}
    #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont {width: calc(100% - 162px);padding-inline: 40px;}

    #wrap .sub_board .bbs_view .extra_editor_wrap div.img_cont {}
    #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont > span {font-size: var(--title-17);font-weight:400;color: var(--black-color06) !important; vertical-align:middle;display:block; letter-spacing: -0.03em; font-family: var(--font-type02); }
    #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont > span a {font-size:inherit;color:inherit !important;font-weight:inherit;}
    #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont > span + span {margin-top:12px;}
    #wrap .sub_board .view_btn.btns { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 60px; }
    #wrap .sub_board .view_btn .btn_center .btn { margin-inline: auto; }
    #wrap .sub_board .view_btn .btn_right .btn { margin-left: auto; }

    @media (max-width: 1023px){
        #wrap .bbs_view div.view_tit { padding: 0 0 clamp(15px, 3vw, 28px); }
        #wrap .bbs_view div.view_tit > p { margin-top: clamp(15px, 1.9vw, 19px); }
        #wrap .bbs_view div.view_tit > p span + span:before { margin-inline: clamp(10px, 1.6vw, 16px); }

        #wrap .sub_board .bbs_view .extra_editor_wrap > h4, #wrap .sub_board .bbs_view .extra_editor_wrap > div.extra_cont { padding: clamp(15px, 3vw, 32px) 0; }

        #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont { padding-inline: clamp(20px, 4vw, 40px); width: calc(100% - 130px); }
        #wrap .sub_board .bbs_view .extra_editor_wrap > h4 { width: 130px; }
        #wrap .sub_board .bbs_view .extra_editor_wrap > h4::after { height: calc(100% - clamp(30px, 5vw, 60px)) }

        #wrap .bbs_view div.view_cont { padding: clamp(20px, 4vw, 41px) clamp(15px, 3vw, 30px) clamp(30px, 6vw, 60px); }
        #wrap .sub_board .view_btn.btns { margin-top: clamp(30px, 5vw, 60px); }

    }

    @media (max-width: 640px){
        #wrap .sub_board .bbs_view .extra_editor_wrap > h4 { width: 100px; }
        #wrap .sub_board .bbs_view .extra_editor_wrap div.extra_cont { width: calc(100% - 100px); }
        #wrap .bbs_view div.view_tit > h3 { font-size: 130%; }
    }

/*───────────────────────────────────────────────────────────

	ABOUT 공통

───────────────────────────────────────────────────────────*/
    body:has(.sub_company) .sub_visual { background-image: url('../images/sub/sv_company.jpg'); }
    .sub_company .sub_content .desc_wrap strong { line-height: 1.5; }
    .sub_company .desc_wrap p { margin-top: 39px; }

    @media (max-width: 1023px){
        .sub_company .desc_wrap p { margin-top: clamp(20px, 3vw, 39px); }
    }

/*───────────────────────────────────────────────────────────

	Vision

───────────────────────────────────────────────────────────*/
    #container:has(.sub_vision) { padding-block: 144px 180px; }
    .sub_vision .vision_cont { box-sizing: border-box; padding-bottom: 96px; }
    .sub_vision .title_wrap { font-size: var(--title-20); text-align: center; font-family: var(--font-type02); }
    .sub_vision .title_wrap h3 { color: var(--black-color00); font-weight: 300; font-size: 300%; line-height: 1.33; letter-spacing: 0; }
    .sub_vision .title_wrap h3 strong { font-weight: 700; }
    .sub_vision .line { width: 1px; height: 100px; background: var(--point-color01); margin-inline: auto; margin-block: 39px 40px; }
    .sub_vision .desc_wrap { text-align: center; }
    .sub_company .sub_vision .desc_wrap strong { font-size: 150%; font-weight: 500; line-height: 1.34; }
    .sub_company .sub_vision .vision_cont .desc_wrap p:nth-child(2) { margin-top: 43px; }
    .sub_vision .circle_wrap { margin-top: 104px; max-width: 1240px; margin-inline: auto; }
    .sub_vision .circle_wrap .flex_des { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; width: 100%; }
    .sub_vision .circle_wrap .flex_des li { width: calc(100% / 3 - 13.34px); aspect-ratio: 1 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 100%; border: 20px solid; box-sizing: border-box; }
    .sub_vision .circle_wrap .flex_des dl { font-size: var(--title-20); text-align: center; font-family: var(--font-type02); box-sizing: border-box; padding: 25px; }
    .sub_vision .circle_wrap .flex_des dt { position: relative; font-size: 200%; letter-spacing: -0.03em; font-weight: 600; margin-bottom: 29px; box-sizing: border-box; padding-bottom: 30px; }
    .sub_vision .circle_wrap .flex_des dt::before { content: ''; position: absolute; width: 10px; height: 4px; left: 50%; bottom: 0; }
    .sub_vision .circle_wrap .flex_des dd { color: var(--black-color01); font-size: 90%; line-height: 1.67; letter-spacing: -0.03em; font-weight: 400; }

    .sub_vision .circle_wrap .flex_des li:nth-child(1) { border-color: var(--point-color06); }
    .sub_vision .circle_wrap .flex_des li:nth-child(1) dt { color: var(--point-color06); }
    .sub_vision .circle_wrap .flex_des li:nth-child(1) dt::before { background: var(--point-color06); }
    .sub_vision .circle_wrap .flex_des li:nth-child(2) { border-color: var(--point-color07); }
    .sub_vision .circle_wrap .flex_des li:nth-child(2) dt { color: var(--point-color07); }
    .sub_vision .circle_wrap .flex_des li:nth-child(2) dt::before { background: var(--point-color07); }
    .sub_vision .circle_wrap .flex_des li:nth-child(3) { border-color: var(--point-color08); }
    .sub_vision .circle_wrap .flex_des li:nth-child(3) dt { color: var(--point-color08); }
    .sub_vision .circle_wrap .flex_des li:nth-child(3) dt::before { background: var(--point-color08); }

    .sub_vision .patent_cont { box-sizing: border-box; padding-top: 100px; }
    .sub_vision .patent_flex { display: flex; flex-wrap: wrap; gap: 40px; }
    .sub_vision .patent_flex li { display: flex; align-items: center; width: calc(100% / 5 - 32px); box-sizing: border-box; padding-block: 30px; padding-inline: 40px; background: var(--gray-bg02); }
    .sub_vision .patent_flex li img { box-shadow: var(--shadow-01); }

    .sub_vision .ai_cont { box-sizing: border-box; padding-block: 121px 155px; background: url('../images/sub/img_vision01.jpg') no-repeat center / cover; }
    .sub_vision .ai_cont .title_wrap h3 { color: var(--point-white); }
    .sub_vision .ai_cont .title_wrap p { color: var(--point-white); font-weight: 200; font-size: 90%; line-height: 1.67; margin-top: 40px; }
    .sub_vision .ai_cont .flex_wrap { margin-top: 113px; max-width: 1080px; margin-inline: auto; }
    .sub_vision .ai_cont .flex_wrap .flex_des { display: flex; gap: 40px; flex-wrap: wrap; }
    .sub_vision .ai_cont .flex_wrap .flex_des > li { box-sizing: border-box; padding-block: 27px 18px; padding-inline: 30px 33px; width: calc(100% / 4 - 30px); background: rgba(255, 255, 255, 0.2); border-radius: var(--radius-20); }
    .sub_vision .ai_cont .flex_wrap .flex_des dl { font-size: var(--title-20); color: var(--point-white); }
    .sub_vision .ai_cont .flex_wrap .flex_des dt { font-size: 100%; font-weight: 400; letter-spacing: 0; }
    .sub_vision .ai_cont .flex_wrap .flex_des dd { text-align: right; font-size: 80px; font-weight: 700; letter-spacing: -0.03em; margin-top: 65px; }

    .sub_vision .ai_cont .flex_wrap .flex_des .ani_wrap { display: inline-flex; flex-wrap: wrap; width: 100%; justify-content: flex-end; }
    .sub_vision .ai_cont .flex_wrap .flex_des .cont_box { height: 80px; overflow: hidden; display: inline-block; }
    .sub_vision .ai_cont .flex_wrap .flex_des .count_list { display: flex;flex-direction: column; translate:0 calc(-100% + 80px); line-height: 1; }
    .sub_vision .ai_cont .flex_wrap .flex_des .cont_box:nth-child(2n) .count_list{translate: 0;}

    .sub_vision .ai_cont .flex_wrap .flex_des .aos-animate .count_list{translate: 0; transition: all 3s;}
    .sub_vision .ai_cont .flex_wrap .flex_des .aos-animate .cont_box:nth-child(2n) .count_list{translate:0 calc(-100% + 80px);}

    .sub_vision .ci_cont { box-sizing: border-box; padding-top: 88px; }
    .sub_vision .ci_cont .logo_wrap { text-align: center; margin-bottom: 131px; }
    .sub_vision .ci_cont .ci_desc { display: flex; gap: 200px; justify-content: center; }
    .sub_vision .ci_cont .ci_desc dl { font-size: var(--title-20); text-align: center; }
    .sub_vision .ci_cont .ci_desc dt { position: relative; color: var(--black-color01); font-weight: 700; font-size: 400%;  }
    .sub_vision .ci_cont .ci_desc dt .plus_ico { position: absolute; width: 25px; height: 25px; top: 50%; translate: -50% 0; }
    .sub_vision .ci_cont .ci_desc dt .plus_ico::before { content: ''; position: absolute; left: 50%; top: 0; translate: -50% -50%; width: 100%; height: 2px; background: var(--black-color01); }
    .sub_vision .ci_cont .ci_desc dt .plus_ico::after { content: ''; position: absolute; left: 50%; top: 0; translate: -50% -50%; width: 2px; height: 100%; background: var(--black-color01); }
    .sub_vision .ci_cont .ci_desc dd { color: rgba(17, 17, 17, 0.6); font-size: 150%; font-weight: 400; margin-top: 14px; }

    .sub_vision .ci_cont .ci_desc dl:nth-child(2) .plus_ico { left: -108px; }
    .sub_vision .ci_cont .ci_desc dl:nth-child(3) .plus_ico { left: -87px; }

    .sub_company .sub_vision .ci_cont .desc_wrap p { margin-top: 116px; }
    .sub_company .sub_vision .ci_cont .desc_wrap p + p { margin-top: 30px; }

    .sub_vision .download_wrap ul { display: flex; justify-content: center; gap: 40px; margin-top: 60px; }
    .sub_vision .download_wrap li { position: relative; width: clamp(145px, 12vw, 170px); padding-bottom: 6px; }
    .sub_vision .download_wrap li::before { bottom: 0; left: 0; width: 100%; height: 1px; background-color: #000; }
    .sub_vision .download_wrap li::after { width: 16px; height: 15px; background: url('../images/sub/download_ico.png') no-repeat right center / 100%; right: 0; top: 3px;}
    .sub_vision .download_wrap li::before,
    .sub_vision .download_wrap li::after { position: absolute; content: ''; }
    .sub_vision .download_wrap li a { font-size: var(--title-18); color: #000; font-weight: 600; display: inline-block; width: 100%; }

    .sub_vision .ci_img { max-width: 1320px; margin-inline: auto; margin-top: 48px; }
    .sub_vision .ci_img .flex_des { display: flex; flex-wrap: wrap; gap: 39px 40px; }
    .sub_vision .ci_img .flex_des li { width: calc(100% / 2 - 20px); box-sizing: border-box; }
    .sub_vision .ci_img .flex_des li a { display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding-block: 56px 55px; padding-inline: 30px; }
    .sub_vision .ci_img .flex_des li:nth-child(2) { background: var(--point-color01); }
    .sub_vision .ci_img .flex_des li:nth-child(3) { background: var(--black-color00); }
    .sub_vision .ci_img .flex_des li:where(:nth-child(1), :nth-child(4)) { border: 1px solid var(--border-color01); }

    @media (max-width: 1180px){
        .sub_vision .patent_flex { gap: 30px; }
        .sub_vision .patent_flex li { width: calc(100% / 5 - 24px); }
    }

    @media (max-width: 1023px){
        #container:has(.sub_vision) { padding-block: clamp(50px, 14vw, 144px) clamp(90px, 18vw, 180px); }
        .sub_vision .title_wrap h3 { font-size: 270%; }
        .sub_vision .vision_cont { padding-bottom: clamp(50px, 9vw, 96px); }
        .sub_vision .line { margin-block: clamp(20px, 4vw, 39px) clamp(20px, 4vw, 40px); height: clamp(50px, 10vw, 100px); }
        .sub_company .sub_vision .vision_cont .desc_wrap p:nth-child(2) { margin-top: clamp(20px, 4vw, 42px); }
        .sub_vision .circle_wrap { margin-top: clamp(50px, 10vw, 104px); }
        .sub_vision .circle_wrap .flex_des dl { padding: clamp(20px, 2vw, 25px); }
        .sub_vision .circle_wrap .flex_des dt { margin-bottom: clamp(15px, 2vw, 29px); padding-bottom: clamp(15px, 2vw, 30px); font-size: 180%; }
        .sub_vision .circle_wrap .flex_des li { border-width: clamp(10px, 2vw, 20px);  }

        .sub_vision .ai_cont { padding-block: clamp(60px, 12vw, 122px) clamp(70px, 15vw, 155px); }
        .sub_vision .ai_cont .title_wrap p { margin-top: clamp(20px, 4vw, 40px); }
        .sub_vision .ai_cont .flex_wrap { margin-top: clamp(50px, 11vw, 113px); }
        .sub_vision .ai_cont .flex_wrap .flex_des { gap: 30px; }
        .sub_vision .ai_cont .flex_wrap .flex_des > li { width: calc(100% / 4 - 22.5px); padding-block: clamp(15px, 3vw, 27px) clamp(15px, 1.8vw, 18px); padding-inline: clamp(15px, 3vw, 30px) clamp(15px, 3vw, 33px); }
        .sub_vision .ai_cont .flex_wrap .flex_des dd { margin-top: clamp(30px, 6vw, 65px); font-size: 7.8vw; }
        .sub_vision .ai_cont .flex_wrap .flex_des .cont_box { height: 7.8vw; }

        .sub_vision .ai_cont .flex_wrap .flex_des .count_list { translate:0 calc(-100% + 7.8vw); }
        .sub_vision .ai_cont .flex_wrap .flex_des .aos-animate .cont_box:nth-child(2n) .count_list{translate:0 calc(-100% + 7.8vw);}

        .sub_vision .ci_cont { padding-top: clamp(45px, 8vw, 88px); }
        .sub_vision .ci_cont .logo_wrap { margin-bottom: clamp(60px, 12vw, 131px); width: 65%; margin-inline: auto; }
        .sub_vision .ci_cont .ci_desc { gap: 100px; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(2) .plus_ico { left: -58px; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(3) .plus_ico { left: -47px; }

        .sub_vision .ci_cont .ci_desc dt { font-size: 360% }
        .sub_vision .ci_cont .ci_desc dd { margin-top: clamp(10px, 1.4vw, 14px); }
        .sub_company .sub_vision .ci_cont .desc_wrap p { margin-top: clamp(50px, 11vw, 116px); }
        .sub_company .sub_vision .ci_cont .desc_wrap p + p { margin-top: clamp(10px, 3vw, 30px); }

        .sub_vision .ci_img { margin-top: clamp(20px, 5vw, 48px); }
        .sub_vision .ci_img .flex_des li a { padding-block: clamp(30px, 5vw, 56px) clamp(30px, 5vw, 55px); }

        .sub_vision .patent_cont { padding-top: clamp(50px, 10vw, 100px); }
        .sub_vision .patent_flex { gap: 20px; }
        .sub_vision .patent_flex li { width: calc(100% / 4 - 15px); padding-block: clamp(15px, 3vw, 30px); padding-inline: clamp(20px, 4vw, 40px); }
    }

    @media (max-width: 860px){
        .sub_vision .title_wrap h3 { font-size: 240%; }
        .sub_vision .circle_wrap .flex_des { flex-direction: column; align-items: center; }
        .sub_vision .circle_wrap .flex_des li { width: 100%; max-width: 320px; }

        .sub_vision .ai_cont .flex_wrap .flex_des { gap: 20px; }
        .sub_vision .ai_cont .flex_wrap .flex_des > li { width: calc(100% / 4 - 15px); }
        
        .sub_vision .download_wrap ul { margin-top: clamp(30px, 6vw, 60px); gap: 20px; }
        
        
        .sub_vision .ci_cont .ci_desc dt { font-size: 320%; }
        .sub_vision .ci_img .flex_des { gap: 20px; }
        .sub_vision .ci_img .flex_des li { width: calc(100% / 2 - 10px); }

    }

    @media (max-width: 640px){
        .sub_vision .title_wrap h3 { font-size: 220%; }
        .sub_vision .ai_cont .flex_wrap .flex_des { gap: 15px; }
        .sub_vision .ai_cont .flex_wrap .flex_des > li { width: calc(100% / 2 - 7.5px); }
        

        .sub_vision .ci_cont .ci_desc { gap: 60px; }
        .sub_vision .ci_cont .ci_desc dt { font-size: 280% }
        .sub_vision .ci_cont .ci_desc dl:nth-child(2) .plus_ico { left: -32px; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(3) .plus_ico { left: -32px; }
        .sub_vision .ci_cont .ci_desc dt .plus_ico { width: 20px; height: 20px; }
        .sub_vision .ci_cont .ci_desc dd { font-size: 130%; }
        
        .sub_vision .patent_flex { gap: 15px; }
        .sub_vision .patent_flex li { width: calc(100% / 3 - 10px); }
    }

    @media (max-width: 479px){
        .sub_vision .title_wrap h3 { font-size: 200%; }
        .sub_company .sub_vision .desc_wrap strong { font-size: 140%; }
        
        .sub_vision .ci_cont .ci_desc { gap: 40px; }
        .sub_vision .ci_cont .ci_desc dt { font-size: 240%; }
        .sub_vision .ci_cont .ci_desc dt .plus_ico { width: 14px; height: 14px; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(2) .plus_ico { left: -20px; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(3) .plus_ico { left: -20px; }
        .sub_vision .ci_img .flex_des { gap: 20px 15px; }
        .sub_vision .ci_img .flex_des li { width: calc(100% / 2 - 7.5px); }

        .sub_vision .patent_flex li { width: calc(100% / 2 - 7.5px); }
    }

    @media (max-width: 365px){
        
        .sub_vision .download_wrap ul { flex-direction: column; align-items: center; }

        .sub_vision .ci_cont .ci_desc { flex-direction: column; }
        .sub_vision .ci_cont .ci_desc dt .plus_ico { top: -33.33%; translate: -50% 0; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(2) .plus_ico { left: 50%; }
        .sub_vision .ci_cont .ci_desc dl:nth-child(3) .plus_ico { left: 50%; }
        .sub_vision .ci_img .flex_des li { width: 100%; }
    }

/*───────────────────────────────────────────────────────────

	History

───────────────────────────────────────────────────────────*/

	#wrap:has(.sub_history) > .sub_visual { display: none; }
    #container:has(.sub_history) { max-width: 100%; width: 100%; padding-block: 0 210px; }
    body:has(.sub_history) .sub_visual { background-image: url('../images/sub/sv_history.jpg'); }

    #container:has(.sub_history) .history_box .cont { max-width: 1144px; width: 100%; margin-inline: auto; }
    #container:has(.sub_history) .history_box .fp-tableCell { display: flex; align-items: center; }
    .sub_history { position: relative; }
    .sub_history .anchor_menu { position: sticky; top: 72px; display: flex; flex-wrap: nowrap; background: var(--gray-bg01); width: calc(100% + 30px); margin-left: -15px; z-index: 10; display: none; }
    .sub_history .anchor_menu > li { width: 100%; font-size: var(--title-20); }
    .sub_history .anchor_menu > li a { font-size: 120%; display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding-block: 15px; font-weight: 500; }
    .sub_history .history_flex { display: flex; align-items: flex-start; }
    .sub_history .history_wrap { width: 100%; }
    .sub_history .history_title { width: 41.8%; font-size: var(--title-20); position: static; }
    .sub_history .history_title h3 { box-sizing: border-box; padding-right: 40px; color: var(--point-color01); font-weight: 700; font-size: 400%; letter-spacing: 0; line-height: 1; transition: all 0.4s; }
    .sub_history .history_cont { width: 58.2%;  }
    .sub_history .history_box { font-size: var(--title-20); font-family: var(--font-type02); box-sizing: border-box; }
    /* .sub_history .history_box + .history_box { margin-top: 99px; } */
    .sub_history .history_box .cont { box-sizing: border-box; padding-top: 70px; opacity: 1; transition: all 0.4s; display: flex; }
    .sub_history .history_box dl { font-size: var(--title-20); }
    .sub_history .history_box dl + dl { margin-top: 30px; }
    .sub_history .history_box dt { color: var(--black-color00); font-weight: 600; font-size: 160%; letter-spacing: 0; box-sizing: border-box; }
    .sub_history .history_box dd { margin-top: 9px; box-sizing: border-box; padding-left: 10px;  }
    .sub_history .history_box .bullet_list > li { font-size: 120%; }
    .sub_history .history_box .bullet_list > li::before { translate: 0 -7px; width: 4px; height: 4px; }

    .sub_history .history_box.acc h3 { color: var(--point-color01); }
    .sub_history .history_box.acc .cont { opacity: 1; }
    .sub_history .anchor_menu > li a.active { color: var(--point-color01); }
    .sub_history .fp-auto-height { height: auto !important; }
    .sub_history .fp-auto-height > div { height: auto !important }

    @media (max-width: 1280px){
        #container:has(.sub_history) .history_box .cont { width: calc(100% - 60px); }
    }

    @media (max-width: 1023px){
        #container:has(.sub_history) { padding-block: 0 clamp(90px, 21vw, 210px); }
        .sub_history .history_title h3 { padding-right: clamp(20px, 4vw, 40px); font-size: 360%; }
        #container:has(.sub_history) .history_box.fp-section + .history_box.fp-section { margin-top: clamp(45px, 9vw, 99px) }
        .sub_history .history_box dl + dl { margin-top: clamp(20px, 3vw, 30px); }

        #container:has(.sub_history) .history_box.fp-section { height: auto !important; margin-top: clamp(70px, 14vw, 140px); }
        #container:has(.sub_history) .history_box .fp-tableCell { height: auto !important; }

        .sub_history .section_foot { display: none; }
        .sub_history .history_box .cont { padding-top: 0; }
    }

    @media (max-width: 860px){
        #container:has(.sub_history) .history_box .cont { width: calc(100% - 30px); }
        .sub_history .history_title { width: 35%; }
        .sub_history .history_title h3 { font-size: 320%; }
        .sub_history .history_cont { width: 65%; }

        .sub_history .history_box dt { font-size: 140%; }
    }

    @media (max-width: 640px){
        .sub_history .history_title h3 { font-size: 280%; width: 100%; padding: 0; }
        .sub_history .history_box .cont { flex-direction: column; gap: clamp(30px, 4vw, 50px); }
        .sub_history .history_box dd { padding: 0; }
        .sub_history .history_title { width: 100%; }
        .sub_history .history_cont { width: 100%; }

        .sub_history .history_box dt { font-size: 130%; }
        .sub_history .history_box .bullet_list > li { font-size: 110%; }
    }

    @media (max-width: 479px){
        .sub_history .history_box h3 { display: block; font-size: 280%; }
        .sub_history .history_box dt { font-size: 120%; }
    }

/*───────────────────────────────────────────────────────────

	Partners

───────────────────────────────────────────────────────────*/
    #container:has(.sub_part) { max-width: 1400px; padding-block: 110px 160px; }
    body:has(.sub_part) .sub_visual { background-image: url('../images/sub/sv_partner.jpg'); }
    .sub_part .part_list .flex_des { display: flex; flex-wrap: wrap; gap: 30px 40px; }
    .sub_part .part_list li { display: flex; justify-content: center; align-items: center; width: calc(100% / 4 - 30px); background: var(--point-white); box-sizing: border-box; border: 1px solid var(--border-color01); border-radius: var(--radius-10); padding-inline: 34px; padding-block: 29px; }

    .sub_part .txt_box { font-size: var(--title-20); margin-block: 101px 163px; text-align: center; }
    .sub_part .txt_box p { color: var(--black-color00); font-weight: 500; font-size: 120%; line-height: 1.42; letter-spacing: 0; font-family: var(--font-type02); }
    .sub_part .txt_box p + p { margin-top: 25px; }

    .sub_part .famous_partner { display: flex; flex-wrap: wrap; gap: 40px; }
    .sub_part .famous_partner > li { position: relative; width: calc(100% / 2 - 20px); box-sizing: border-box; padding-block: 52px 61px; padding-inline: 49px 151px; border: 1px solid var(--border-color01); border-radius: var(--radius-20); font-size: var(--title-20); }
    .sub_part .famous_partner dl { font-family: var(--font-type02); box-sizing: border-box; }
    .sub_part .famous_partner dt { color: var(--black-color01); font-weight: 700; font-size: 250%; letter-spacing: 0;  }
    .sub_part .famous_partner dd { color: var(--black-color06); font-weight: 400; font-size: 100%; letter-spacing: 0; margin-top: 19px; }
    .sub_part .famous_partner .line { display: block; width: 1px; height: 40px; background: var(--point-color01); margin-block: 37px 38px; }
    .sub_part .famous_partner .product { color: var(--black-color00); font-weight: 400; font-size: 100%; line-height: 1.5; letter-spacing: 0; font-family: var(--font-type02); }
    .sub_part .famous_partner .img_box { position: absolute; right: 50px; bottom: 49px; width: 100px; aspect-ratio: 1 auto; }

    .sub_part .famous_partner > li:nth-child(5) .line { margin-top: 62px; }
    .sub_part .famous_partner > li:nth-child(8) .line { margin-top: 57px; }

    @media (max-width: 1023px){
        #container:has(.sub_part) { padding-block: clamp(50px, 10vw, 110px) clamp(90px, 14vw, 160px); }
        .sub_part .part_list .flex_des { gap: 30px; }
        .sub_part .part_list li { width: calc(100% / 4 - 22.5px); padding-inline: clamp(15px, 3vw, 34px); padding-block: clamp(15px, 3vw, 29px); }
        .sub_part .txt_box { margin-block: clamp(40px, 10vw, 101px) clamp(60px, 16vw, 163px); }
        .sub_part .txt_box p + p { margin-top: clamp(15px, 2.5vw, 25px); }

        .sub_part .famous_partner > li { padding-block: clamp(25px, 4vw, 52px) clamp(140px, 18vw, 180px); padding-inline: clamp(25px, 4vw, 49px); }
        .sub_part .famous_partner dt { font-size: 230%; }
        .sub_part .famous_partner dd { margin-top: clamp(15px, 1.9vw, 19px); }
        .sub_part .famous_partner .line { margin-block: clamp(15px, 3vw, 37px) clamp(15px, 3vw, 38px); height: clamp(20px, 4vw, 40px); }
        .sub_part .famous_partner > li:nth-child(5) .line { margin-top: clamp(30px, 6vw, 67px); }
        .sub_part .famous_partner > li:nth-child(8) .line { margin-top: clamp(30px, 5.3vw, 57px); }
        .sub_part .famous_partner .img_box { right: clamp(25px, 4vw, 50px); bottom: clamp(25px, 4vw, 49px); }
    }

    @media (max-width: 860px){
        .sub_part .part_list li { width: calc(100% / 3 - 20px); }
        .sub_part .famous_partner { gap: 30px 20px; }
        .sub_part .famous_partner dt { font-size: 220%; }
        .sub_part .famous_partner > li { width: calc(100% / 2 - 10px); }
        .sub_part .famous_partner .img_box { width: 80px; }

    }

    @media (max-width: 640px){
        .sub_part .part_list .flex_des { gap: 20px; }
        .sub_part .famous_partner dt { font-size: 210%; }
        .sub_part .part_list li { width: calc(100% / 3 - 13.34px); }
        .sub_part .famous_partner > li { width: 100%; padding-block: clamp(25px, 4vw, 52px) clamp(25px, 4vw, 180px); }
        .sub_part .famous_partner .img_box { bottom: unset; top: clamp(25px, 4vw, 49px); }
        .sub_part .famous_partner dl { padding-right: 105px; }
    }

    @media (max-width: 479px){
        .sub_part .part_list .flex_des { gap: 15px; }
        .sub_part .part_list li { width: calc(100% / 2 - 7.5px); }
        .sub_part .famous_partner dl { padding-right: 58px; }
        .sub_part .famous_partner dt { font-size: 200%;  }
        .sub_part .famous_partner { gap: 20px 15px; }
        .sub_part .famous_partner .img_box { width: 55px; }
    }

    @media (max-width: 325px){
        .sub_part .part_list li { width: 100%; }
    }

/*───────────────────────────────────────────────────────────

	ORBBEC

───────────────────────────────────────────────────────────*/
    body:has(.sub_orb) .sub_visual { background-image: url('../images/sub/sv_orbbec.jpg'); }
    .sub_orb .banner_cont .img_box { position: relative; margin-block: 80px 106px; border-radius: var(--radius-20); overflow: clip; height: 600px; cursor: pointer; }
    .sub_orb .banner_cont .img_box iframe { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -1; background: #000; }
    .sub_orb .banner_cont .img_box::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); transition: all 0.4s; opacity: 1; }
    .sub_orb .banner_cont .img_box::after { content: ''; position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 80px; height: 80px; background: url('../images/sub/img_play.svg') no-repeat center / cover; transition: all 0.4s; }
    .sub_orb .flex_cont .flex_des { display: flex; flex-wrap: wrap; gap: 30px 25px; }
    .sub_orb .flex_cont .flex_des > li { width: calc(100% / 5 - 20px); box-sizing: border-box; border: 1px solid var(--border-color01); border-radius: var(--radius-10); overflow: clip; background: var(--gray-bg01); }
    .sub_orb .flex_cont .flex_des .img_wrap { display: flex; justify-content: center; align-items: center; height: 178px; background: var(--point-white); box-sizing: border-box; padding: 20px; }
    .sub_orb .flex_cont .flex_des .txt_wrap { width: 100%; font-size: var(--title-20); box-sizing: border-box; padding-block: 19px 28px; padding-inline: 19px; background: var(--gray-bg01); border-top: 1px solid var(--border-color01); }
    .sub_orb .flex_cont .flex_des dt { color: var(--black-color00); font-weight: 600; font-size: 80%; letter-spacing: 0; }
    .sub_orb .flex_cont .flex_des dd { color: var(--black-color06); font-weight: 300; font-size: 12px; line-height: 1.5; letter-spacing: 0.02em; margin-top: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
    .sub_orb .flex_cont .flex_des dd * { font-size: inherit !important; font-weight: inherit !important; font-family: inherit !important; color: inherit !important; }
    .sub_orb .flex_cont .flex_des dd li { display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding-block: 4px; padding-inline: 10px 9px; border-radius: 4px; width: fit-content; color: var(--point-white); font-weight: 200; }
    .sub_orb .flex_cont .flex_des dd li + li { margin-top: 5px; }
    .sub_orb .flex_cont .flex_des dd .astra { background: #7b4b22; }
    .sub_orb .flex_cont .flex_des dd .camera { background: #275d42; }
    .sub_orb .flex_cont .flex_des dd .gemini { background: #025371; }
    .sub_orb .flex_cont .flex_des dd .light { background: #59030b; }
    .sub_orb .flex_cont .flex_des dd .femto { background: #485359; }
    .sub_orb .flex_cont .flex_des dd .itof { background: #242623; }
    .sub_orb .flex_cont .flex_des dd .gamera { background: #8b6932; }
    .sub_orb .flex_cont .flex_des dd .persee { background: #4e3468; }
    .sub_orb .flex_cont .flex_des dd .zora { background: #ba332f; }
    .sub_orb .flex_cont .flex_des dd .board { background: #25391e; }
    .sub_orb .flex_cont .flex_des dd .oradar { background: #234495; }
    .sub_orb .flex_cont .flex_des dd .lidar { background: #655244; }

    .sub_orb .banner_cont .img_box.on::before { opacity: 0; }
    .sub_orb .banner_cont .img_box.on::after { opacity: 0; }

    .sub_orb .cate_wrap { margin-bottom: 40px; }
    .sub_orb .gd_cate { display: flex; flex-wrap: nowrap; gap: 20px; overflow: hidden; overflow-x: auto; box-sizing: border-box; }
    .sub_orb .gd_cate li { display: flex; justify-content: center; align-items: center; border: 1px solid var(--border-color01); font-size: var(--title-18); border-radius: var(--radius-40); flex-shrink: 0; }
    .sub_orb .gd_cate li.on { background: var(--point-color01); border-color: var(--trans-color); color: var(--point-white); }
    .sub_orb .gd_cate li a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding-block: 10px; padding-inline: 20px; }

    @media (max-width: 1280px){
        .sub_orb .flex_cont .flex_des { gap: 30px 20px; }
        .sub_orb .flex_cont .flex_des > li { width: calc(100% / 5 - 16px); }
    }

    @media (max-width: 1023px){
        .sub_orb .banner_cont .img_box { margin-block: clamp(40px, 8vw, 80px) clamp(50px, 10vw, 106px); height: clamp(300px, 60vw, 600px); }
        .sub_orb .flex_cont .flex_des > li { width: calc(100% / 4 - 15px); }
        .sub_orb .flex_cont .flex_des .img_wrap { height: clamp(120px, 18vw, 178px); }
        .sub_orb .flex_cont .flex_des .txt_wrap { padding-block: clamp(15px, 2vw, 18px) clamp(15px, 3vw, 28px); padding-inline: clamp(15px, 2vw, 19px); }

        .sub_orb .cate_wrap { margin-bottom: clamp(30px, 4vw, 40px); }
        .sub_orb .gd_cate { width: calc(100% + 60px); margin-left: -30px; padding-inline: 30px; }
        .sub_orb .gd_cate li a { padding-block: clamp(5px, 1vw, 10px); padding-inline: clamp(15px, 2vw, 20px); }
    }

    @media (max-width: 860px){
        .sub_orb .flex_cont .flex_des > li { width: calc(100% / 3 - 13.34px); }
        
    }

    @media (max-width: 640px){
        .sub_orb .flex_cont .flex_des { gap: 20px; }
        .sub_orb .flex_cont .flex_des > li { width: calc(100% / 2 - 10px); }
        .sub_orb .banner_cont .img_box::after { width: 60px; height: 60px; }

        .sub_orb .gd_cate { gap: 15px; }
    }

    @media (max-width: 479px){
        .sub_orb .flex_cont .flex_des { gap: 15px; }
        .sub_orb .gd_cate { gap: 10px; }
        .sub_orb .banner_cont .img_box::after { width: 50px; height: 50px; }
    }

    @media (max-width: 415px){
        .sub_orb .flex_cont .flex_des > li { width: 100%; }
    }


/*───────────────────────────────────────────────────────────

	XGRIDS

───────────────────────────────────────────────────────────*/
    
    .sub_xgr .flex_cont { margin-top: 80px; }
    .sub_xgr .flex_cont .flex_des { display: flex; flex-wrap: wrap; gap: 40px; }
    .sub_xgr .flex_cont .flex_des li { width: calc(100% / 2 - 20px); font-size: var(--title-20); }
    .sub_xgr .flex_cont .flex_des li .img_box { width: 100%; aspect-ratio: 1 / 0.77; background: var(--border-color01); border-radius: var(--radius-20); overflow: clip; }
    .sub_xgr .flex_cont .flex_des li strong { display: block; text-align: center; color: var(--black-color00); font-weight: 700; font-size: 200%; font-family: var(--font-type02); margin-top: 33px; }

    @media (max-width: 1023px){
        .sub_xgr .flex_cont { margin-top: clamp(50px, 8vw, 80px); }
        .sub_xgr .flex_cont .flex_des { gap: 40px 20px; }
        .sub_xgr .flex_cont .flex_des li { width: calc(100% / 2 - 10px); }
        .sub_xgr .flex_cont .flex_des li strong { margin-top: clamp(15px, 3vw, 33px); font-size: 180%; }
    }

    @media (max-width: 860px){
        .sub_xgr .flex_cont .flex_des li strong { font-size: 160%; }
    }

    @media (max-width: 640px){
        .sub_xgr .flex_cont .flex_des { gap: 30px 20px; }
        .sub_xgr .flex_cont .flex_des li { width: 100%; }
    }
    @media (max-width: 479px){
        .sub_xgr .flex_cont .flex_des li strong { font-size: 140%; }
    }



/*───────────────────────────────────────────────────────────

	제품 상세 페이지

───────────────────────────────────────────────────────────*/
    #container:has(.sub_goods_view) { padding-top: 0; }
    #wrap:has(.sub_goods_view) .page_title { display: none; }
    .sub_goods_view .sub_gv_cont:nth-child(1) { background: var(--gray-bg02); box-sizing: border-box; padding-block: 100px 120px; }
    .sub_goods_view .flex_des { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 100px; }
    .sub_goods_view .flex_des .img_wrap { width: 40%; display: block; flex-shrink: 0; box-sizing: border-box; box-shadow: var(--shadow-03); }
    .sub_goods_view .flex_des .img_wrap .img_box { aspect-ratio: 1 auto; display: flex; justify-content: center; align-items: center; width: 100%; padding: 50px; box-sizing: border-box; background: var(--point-white); }

    .sub_goods_view .flex_des .img_wrap .flex_desc { display: flex; gap: 15px; flex-wrap: nowrap; margin-top: 20px; }
    .sub_goods_view .flex_des .img_wrap .flex_desc li { position: relative; width: 100%; }
    .sub_goods_view .flex_des .img_wrap .flex_desc li::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 1px solid var(--black-color03); opacity: 0; transition: all 0.4s; }
    .sub_goods_view .flex_des .img_wrap .flex_desc li .thumb_box { width: 100%; aspect-ratio: 1 auto; display: flex; justify-content: center; align-items: center; background: var(--point-white); }
    .sub_goods_view .flex_des .img_wrap .flex_desc li .thumb_box img { width: 100%;  }

    .sub_goods_view .flex_des .img_wrap .flex_desc li.on::before { opacity: 1; }

    .sub_goods_view .flex_des .txt_wrap { width: calc(60% - 100px); font-size: var(--title-20); }
    .sub_goods_view .flex_des .txt_wrap .cate { margin-bottom: 29px; color: var(--point-color01); font-weight: 600; font-size: 90%; letter-spacing: -0.01em; font-style: italic; font-family: var(--font-type02); }
    .sub_goods_view .flex_des .txt_wrap h3 { color: var(--black-color01); font-weight: 600; font-size: 270%; line-height: 1.23; letter-spacing: 0; }
    .sub_goods_view .flex_des .txt_wrap .desc { color: var(--black-color05); font-family: var(--font-type02); font-weight: 400; font-size: var(--title-20); line-height: 1.69; letter-spacing: -0.04em; box-sizing: border-box; margin-top: 20px; padding-top: 20px; border-top: 2px solid var(--border-color01); }
    .sub_goods_view .flex_des .txt_wrap .desc h4 { color: var(--black-color03); font-size: 130%; }
    .sub_goods_view .flex_des .txt_wrap .desc *:not(h4) { color: inherit !important; font-weight: inherit !important; font-size: var(--title-18) !important; font-family: inherit !important; letter-spacing: -0.03em !important; line-height: 1.5; }
    .sub_goods_view .flex_des .txt_wrap .desc h4 { margin-top: 30px; margin-bottom: 10px; }
    .sub_goods_view .flex_des .txt_wrap .desc li { display: flex; gap: 10px; align-items: baseline; }
    .sub_goods_view .flex_des .txt_wrap .desc li + li { margin-top: 5px; }
    .sub_goods_view .flex_des .txt_wrap .desc li::before { content: ''; display: block; width: 4px; height: 4px; background: var(--black-color05); border-radius: 100%; translate: 0 -4px; }
    .sub_goods_view .sub_gv_cont:nth-child(2) { box-sizing: border-box; padding-block: 98px 80px; border-bottom: 1px solid var(--border-color01); }
    
    .sub_goods_view .sub_title { font-size: var(--title-20); margin-bottom: 38px; }
    .sub_goods_view .sub_title h4 { display: flex; align-items: baseline; gap: 20px; color: var(--black-color01); font-weight: 600; font-size: 200%; letter-spacing: -0.03em; font-family: var(--font-type02); }
    .sub_goods_view .sub_title h4::before { content: ''; display: block; width: 8px; height: 8px; background: var(--point-color01); translate: 0 -10px; border-radius: 100%; }

    .sub_goods_view .info_cont { font-size: var(--title-20); color: var(--black-color03); min-height: 300px; }

    @media (max-width: 1023px){
        .sub_goods_view .sub_gv_cont:nth-child(1) { padding-block: clamp(50px, 10vw, 100px) clamp(80px, 12vw, 120px); }
        .sub_goods_view .flex_des { gap: 40px; }
        .sub_goods_view .flex_des .txt_wrap { width: calc(70% - 40px); }
        .sub_goods_view .flex_des .txt_wrap .cate { margin-bottom: clamp(20px, 3vw, 29px); }
        .sub_goods_view .flex_des .txt_wrap h3 { font-size: 260%; }
        .sub_goods_view .flex_des .txt_wrap .desc { margin-top: clamp(10px, 2vw, 20px); padding-top: clamp(10px, 2vw, 20px); }
        .sub_goods_view .flex_des .img_wrap { width: 50%; }
        .sub_goods_view .flex_des .img_wrap .img_box { padding: clamp(30px, 5vw, 50px); }
        .sub_goods_view .flex_des .txt_wrap { width: 100%; }

        .sub_goods_view .sub_gv_cont:nth-child(2) { padding-block: clamp(60px, 10vw, 98px) clamp(40px, 8vw, 80px); }

        .sub_goods_view .sub_title { margin-bottom: clamp(25px, 4vw, 38px); }
        
    }

    @media (max-width: 860px){
        .sub_goods_view .flex_des .txt_wrap h3 { font-size: 250%; }

        .sub_goods_view .sub_title h4 { font-size: 190%; }
        .sub_goods_view .flex_des { flex-direction: column; }
        .sub_goods_view .flex_des .img_wrap { width: 100%; }
    }

    @media (max-width: 640px){
        .sub_goods_view .flex_des .txt_wrap h3 { font-size: 240%; }

        .sub_goods_view .sub_title h4 { font-size: 180%; gap: 15px; }
        .sub_goods_view .sub_title h4::before { width: 6px; height: 6px; translate: 0 -8px; }
    }

    @media (max-width: 479px){
        .sub_goods_view .flex_des .img_wrap .img_box { border-radius: 10px; }
        .sub_goods_view .flex_des .txt_wrap h3 { font-size: 230%; }

        .sub_goods_view .sub_title h4 { font-size: 170%; }
    }
