/* ITS 행사 전용 스타일 */
body,input, textarea, select, button, table {font-family: 'Pretendard', 'Apple SD Gothic Neo', '돋움', '굴림', Verdana, Arial, sans-serif; font-size: 16px;}
.scroll_x > * {width: 1120px;}
/* Layout */
.header_its {height: 160px; background: transparent; position: relative;}
.header_its .l_outer {width: 100%; height: 160px; padding: 0 20px; background-color: #fff; position: fixed; overflow: hidden; transition: height 0.3s, background-color 0.3s;}
.header_its[data-state="open"] .l_outer {height: 360px;}
.header_its .l_outer::after {content: ''; width: 100%; height: 100%; background-color: var(--themesColor-3); position: absolute; left: 0; top: 160px; z-index: -1;}
.header_its .l_inner {max-width: 1440px; padding-left: 150px; margin: 0 auto; position: relative;}
.header_its .l_logo {position: absolute; left: 0; top: 28px;}
.header_its .l_logo .l_white {display: none;}
.header_its .l_title {padding: 24px 0; font-size: 15px; color: #444; font-weight: 400; border-bottom: 1px solid #ddd;}
.header_its .l_gnb {position: absolute; left: 150px; top: 96px;}
.header_its .l_gnb > ul {display: flex; gap: 45px;}
.header_its .l_gnb > ul > li {position: relative;}
.header_its .l_gnb > ul > li > button {margin-bottom: 24px; padding: 10px 0; font-size: 16px; color: #222; font-weight: 600;}
.header_its .l_depth_02 {height: 200px; margin-top: 16px; position: relative; left: 50%; transform: translate(-50%, 0%); white-space: nowrap; text-align: center;}
.header_its .l_depth_02 a {line-height: 30px; font-size: 14px;}
.header_its .l_util_menu {display: flex; gap: 24px; position: absolute; right: 0; top: 24px;}
.header_its .l_util_menu li a {display: flex; align-items: center; gap: 5px; font-size: 15px; color: #222; font-weight: 500;}
.header_its .l_select {position: absolute; right: 0; top: 96px;}
.header_its .l_select::after {content: ''; width: 6px; height: 6px; border: solid #555; border-width: 0 2px 2px 0; transform: translateY(-50%) rotate(45deg); position: absolute; right: 16px; top: calc(50% - 3px); pointer-events: none;}
.header_its .l_select select {height: 40px; border-radius: 40px; padding: 0 32px 0 16px; font-size: 15px; color: #222; border: 1px solid #aaa; background: none;}
.header_its .l_mobile_gnb_btn {display: none;}
.header_its .l_gnb :is(button, a) {display: inline-block; color: #222;}
.header_its .l_gnb :is(button, a) span {display: inline-block; line-height: 1; position: relative;}
.header_its .l_gnb :is(button, a) span::after {content: ''; display: block; width: 100%; height: 1px; background-color: var(--themesColor); position: absolute; left: 0; bottom: -4px; transform: scale(0); transition: all 0.3s;}
.header_its .l_gnb :is(button, a):hover span::after {transform: scale(1);}
.header_its .l_gnb :is(button, a):hover {color: var(--themesColor);}

body[data-page="main"] .header_its {position: fixed;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_outer {background-color:#000;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_logo .l_white {display:block;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_logo .l_green {display:none;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_title {color:#eee;border-bottom:1px solid #555;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_gnb>ul>li>button {color:#fff;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_util_menu li a {color:#fff;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_select::after {border-color:#fff;}
body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_select select {color:#fff;border:1px solid #999;}
body[data-scroll="down"] .header_its:not(:hover) {transform: translateY(-100%); transition: transform 0.3s;}

.btn_register_floating {display: flex; padding: 20px 24px; gap: 16px; flex-direction: column; font-size: 20px; font-weight: bold; color: #fff; background-color: var(--themesColor); border-radius: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); position: fixed; right: 20px; bottom: calc(50% - 52px);z-index:9}

@media(max-width: 1400px){
    /* Layout */
    .header_its {height: 64px;}
    .header_its .l_outer {height: 64px; padding: 0;}
    .header_its[data-state="open"] .l_outer {height: 64px;}
    .header_its .l_logo {top: 0; left: 50%; transform: translate(-50%, 0%); z-index: 1;}
    .header_its .l_logo a {display: flex; height: 64px; align-items: center;}
    .header_its .l_logo img {width: 38px;}
    .header_its .l_title {display: none;}
    .header_its .l_gnb_wrap {width: 100%; height: 100%; position: fixed; left: -100%; top: 0; background-color: #fff; overflow-y: auto; transition: left 0.3s;}
    .header_its[data-state="open"] .l_gnb_wrap {left: 0;}
    .header_its[data-state="open"] .l_outer::after {background-color: #fff; top: 0; z-index: 0;}
    .header_its .l_gnb {padding-top: 64px; position: static;}
    .header_its .l_gnb > ul {display: block;}
    .header_its .l_gnb > ul > li {overflow: hidden;}
    .header_its .l_gnb > ul > li > button {width: 100%; margin-bottom: 1px; padding: 18px 20px; text-align: left; font-size: 18px; color: #222 !important; background-color: var(--themesColor-3);}
    .header_its .l_depth_02 {height: auto; max-height: 0; margin-top: 0; position: static; transform: none;}
    .header_its li[data-state="open"] .l_depth_02 {max-height: 500px; transition: max-height 0.7s;}
    .header_its .l_depth_02 li {border-bottom: 1px solid var(--themesColor-3);}
    .header_its .l_depth_02 a {width: 100%; padding: 18px 20px; font-size: 14px; line-height: 1; text-align: left;}
    .header_its .l_util_menu {margin-top: 26px; padding: 26px 20px; position: relative;}
    .header_its .l_util_menu::after {content: ''; width: calc(100% - 40px); height: 1px; background-color: #eee; position: absolute; left: 20px; top: 0;}
    .header_its .l_select {top: 18px; right: 20px; z-index: 1;}
    .header_its .l_select::after {width: 4px; height: 4px; border-width: 0 1px 1px 0; right: 8px; top: calc(50% - 2px);}
    .header_its .l_select select {min-width: 90px; height: 28px; border-radius: 28px; padding: 0 16px 0 8px; font-size: 11px;}
    .header_its .l_gnb :is(button, a) {display: block;}
    .header_its .l_gnb :is(button, a) span::after {display: none;}
    .header_its .l_mobile_gnb_btn {display: block; width: 64px; height: 64px; position: absolute; left: 0; top: 0; z-index: 1;}
    .header_its .l_mobile_gnb_btn > span {display: block; width: 24px; height: 4px; border-radius: 3px; background-color: var(--themesColor); position: absolute; left: calc(50% - 12px); top: calc(50% - 2px); transition: all 0.3s;}
    .header_its .l_mobile_gnb_btn:before,
    .header_its .l_mobile_gnb_btn:after {content: ''; display: block; width: 24px; height: 4px; border-radius: 3px; position: absolute; left: 50%; top: 50%; background: var(--themesColor); transform: translateX(-50%); transition: all 0.3s;}
    .header_its .l_mobile_gnb_btn:before {margin-top: -10px;}
    .header_its .l_mobile_gnb_btn:after {margin-top: 6px;}
    .header_its[data-state="open"] .l_mobile_gnb_btn > span {opacity: 0;}
    .header_its[data-state="open"] .l_mobile_gnb_btn:before {margin-top: 0; transform: translateX(-50%) rotate(45deg) translateZ(0); background-color: #000; z-index: 1;}
    .header_its[data-state="open"] .l_mobile_gnb_btn:after {margin-top: 0; transform: translateX(-50%) rotate(-45deg) translateZ(0); background-color: #000; z-index: 1;}
    body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_mobile_gnb_btn > span,
    body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_mobile_gnb_btn:before,
    body[data-page="main"]:not([data-scroll]) .header_its:not(:hover) .l_mobile_gnb_btn:after {background-color: #fff;}

}

@media(max-width: 768px){
    .btn_register_floating {padding: 12px 16px; gap: 8px; font-size: 14px; border-radius: 12px; right: 16px; bottom: 16px;}
}

/* Main */
.main_visual_its {
    height: 100vh;            /* 기본적으로 현재 기기 화면 높이에 100% 맞춤 */
    min-height: 750px;        /* 노트북 등 작은 화면에서 콘텐츠가 찌그러지지 않는 최소 높이 */
    max-height: 920px;        /* 4K 대형 모니터에서 과도하게 커지지 않도록 제한 */

    padding: 220px 20px 80px; /* 상단 220px, 좌우 20px, 하단 80px 여백 */
    /*background: url(../../resources/images/its/main_visual.png) center no-repeat;*/
    background: url(../../resources/images/its/main_visual_end.png) center no-repeat;
    background-size: cover;
    font-family: "Montserrat", "Pretendard", sans-serif;
    position: relative;       /* 하단 스크롤 버튼의 기준점 좌표 */
    box-sizing: border-box;   /* 패딩 포함 높이 계산 */

}
.main_visual_its .i_inner {max-width: 1440px; margin: 0 auto; position: relative;}
.main_visual_its .i_txt_box .i_title {margin-bottom: 56px; font-size: 68px; line-height: 1.15em; color: #fff;}
.main_visual_its .i_txt_box .i_subtitle {margin-bottom: 56px; font-size: 22px; font-weight: 500; color: #53FFC6;}
.main_visual_its .i_txt_box .i_info {padding-left: 12px; font-size: 18px; font-weight: 500; color: #fff; position: relative;}
.main_visual_its .i_txt_box .i_info .i_date {font-weight: 600;}
.main_visual_its .i_txt_box .i_info::after {content: ''; width: 1px; height: 100%; background-color: #fff; position: absolute; left: 0; top: 0; opacity: 0.5;}
.main_visual_its .i_btn_box {display: flex; gap: 57px; margin-top: 100px;}
.main_visual_its .i_btn_box .i_btn {display: flex; flex: 1; padding: 42px 60px; gap: 24px; align-items: center; font-size: 18px; font-weight: 500; color: #fff; background-color: rgba(255, 255, 255, 0.10); backdrop-filter: blur(10px); border-radius: 20px;}
.main_visual_its .i_btn_box .i_btn .i_arr {margin-left: auto;}

.main_dates .p_title {margin-bottom: 48px; font-size: 36px; font-weight: 600; color: #fff;}
/*.main_dates .p_list {display: flex; gap: 20px; justify-content: space-between;}*/
.main_dates .p_list {display: flex; gap: 288px; justify-content: flex-start;}
.main_dates .p_list li {display: flex; max-width: 280px; padding: 15px 24px; flex-direction: column; flex: 1; justify-content: space-between; border-left: 1px solid #4B4B4B;}
.main_dates .p_list .p_date {display: block; margin-bottom: 80px; font-size: 24px; font-weight: 600; color: #53FFC6;}
.main_dates .p_list .p_desc {margin-bottom: 64px; flex: 1; font-size: 16px; color: #8C8C8C; position: relative;}
.main_dates .p_list .p_desc::after {content: ''; width: calc(100% + 48px); height: 1px; background-color: #4B4B4B; position: absolute; left: -24px; bottom: -30px;}
.main_dates .p_list .p_more {display: flex; gap: 8px; align-items: center; font-size: 16px; font-weight: 500; color: #DADADA;}

.main_its_sponsor {background-color: #fff;}
.main_its_sponsor .p_title {font-size: 20px; font-weight: 600;}
.main_its_sponsor .p_slider {max-width: 1000px;}
.main_its_sponsor .p_slider .p_item {display: flex; height: 55px; align-items: center; justify-content: center;}
.main_its_sponsor .p_slider .p_item a img {max-width: 180px; max-height: 55px;}
.main_list_custom.main_its_sponsor .i_inner > div {margin-top: 20px;}

.main_its_city {background-color: #0E2A20;}
.main_its_city .p_title {margin-bottom: 40px; font-size: 36px; font-weight: 600; color: #fff;}
.main_its_city .p_desc {margin-bottom: 56px; font-size: 16px; color: #ACACAC;}
.main_its_city .p_list {display: flex; gap: 30px;}
.main_its_city .p_list li {border-radius: 5px; overflow: hidden; position: relative;}
.main_its_city .p_list li img {width: 100%; height: 100%; object-fit: cover;}
.main_its_city .p_list li p {padding: 28px; font-size: 20px; color: #fff; position: absolute; left: 0; bottom: 0;}

/* Page */

.p_search_box {display: flex; width: 100%; max-width: 100%; gap: 8px; margin-bottom: 24px;}
.p_search_box .p_it_box {width: 100%; position: relative;}
.p_search_box .p_it_box .p_it {width: 100%; height: 48px; padding: 0 40px 0 16px; border-radius: 5px;}
.p_search_box .p_it_box .p_del {display: none; width: 24px; height: 24px; align-items: center; justify-content: center; position: absolute; right: 10px; top: calc(50% - 12px);}
.p_search_box .p_it_box .p_it:not(:placeholder-shown) + .p_del { display: flex; }
.p_search_box .p_btn {display: flex; height: 48px; font-size: 16px; padding: 0 28px; gap: 8px; align-items: center; justify-content: center; color: #fff; font-weight: 500; background-color: #757575; border-radius: 5px; flex-shrink: 0;}
.p_search_box .p_it_box:has(.p_it:not(:placeholder-shown)) + .p_btn {background-color: var(--themesColor);}
.p_search_box .p_btn img {max-width: none;}

.page_greeting {position: relative;}
.page_greeting .p_tab_btn {display: flex; margin-bottom: 36px; gap: 24px;}
.page_greeting .p_tab_btn .p_radiobox {display: inline-flex; flex: 1; align-items: center;}
.page_greeting .p_tab_btn .p_radiobox input[type="radio"] {width: 0; height: 0; overflow: hidden; border: solid 0px #fff; opacity: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.page_greeting .p_tab_btn .p_radiobox span {display: flex; width: 100%; height: 100%; padding: 32px 10px; font-size: 20px; font-weight: 500; justify-content: center; align-items: center; background-color: #fff; border: 1px solid #ddd; border-radius: 5px; text-align: center; cursor: pointer;}
.page_greeting .p_tab_btn .p_radiobox input[type="radio"]:checked + span {color: var(--themesColor); border: 1px solid var(--themesColor); font-weight: 600;}
.page_greeting .p_list li {display: flex; padding: 56px 70px; gap: 55px; border-radius: 7px; background: #fff; box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.05);}
.page_greeting .p_list li + li {margin-top: 47px;}
.page_greeting .p_list li .p_photo {display: block; width: 250px; flex-shrink: 0; text-align: center;}
.page_greeting .p_list li .p_photo .p_name {display: block; margin-top: 20px; font-size: 16px;}
.page_greeting .p_list li .p_text {color: #757575; font-size: 16px; line-height: 1.5;}
.page_greeting .p_list li .p_text strong {font-weight: 600; color: #222222;}
.page_greeting .p_list li .p_text .p_signature {display: flex; align-items: center; gap: 16px; font-size: 20px;}
.page_greeting .p_list li .p_text .p_signature img {width: auto; max-height: 60px;}

.page_sponsors .p_grade {display: flex; margin-bottom: 80px; flex-direction: column; align-items: center;}
.page_sponsors .p_grade .p_tit {display: flex; width: 100%; height: 46px; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; color: #fff; position: relative;}
.page_sponsors .p_grade .p_tit::after {content: ''; width: 16px; height: 46px; background-color: #fff; clip-path: polygon(16px 0, 16px 46px, 0 23px); position: absolute; right: -1px; top: 0;}
.page_sponsors .p_grade .p_tit::before {content: ''; width: 35px; height: 16px; clip-path: polygon(0 0, 35px 16px, 35px 0); position: absolute; left: 0; top: 46px;}
.page_sponsors .p_grade.m_diamond .p_tit {background: linear-gradient(to right, #4BACE7, #133655);}
.page_sponsors .p_grade.m_emerald .p_tit {background: linear-gradient(to right, #5BC535, #002A15);}
.page_sponsors .p_grade.m_platinum .p_tit {background: linear-gradient(to right, #D86ECC, #471C4C);}
.page_sponsors .p_grade.m_gold .p_tit {background: linear-gradient(to right, #E9CA59, #A45C0C);}
.page_sponsors .p_grade.m_silver .p_tit {background: linear-gradient(to right, #6DFFFF, #006A68);}
.page_sponsors .p_grade.m_bronze .p_tit {background: linear-gradient(to right, #C0FA72, #365D03);}
.page_sponsors .p_grade.m_diamond .p_tit::before {background-color: #245E94; }
.page_sponsors .p_grade.m_emerald .p_tit::before {background-color: #1F5F20; }
.page_sponsors .p_grade.m_platinum .p_tit::before {background-color: #6F336F; }
.page_sponsors .p_grade.m_gold .p_tit::before {background-color: #BC8327; }
.page_sponsors .p_grade.m_silver .p_tit::before {background-color: #239A99; }
.page_sponsors .p_grade.m_bronze .p_tit::before {background-color: #628F26; }
.page_sponsors .p_grade .p_list {display: flex; width: calc(100% - 70px); gap: 48px; justify-content: center; background-color: #FAFAFA;}
.page_sponsors .p_grade .p_list li {width: calc((100% - 96px) / 3); padding: 90px 24px; text-align: center;}
.page_sponsors .p_grade .p_list .p_link .p_logo {display: flex; height: 60px; align-items: center; justify-content: center;}
.page_sponsors .p_grade .p_list .p_link .p_logo img {max-height: 60px;}
.page_sponsors .p_grade .p_list .p_link .p_name {display: block; margin-top: 24px; font-weight: 500; color: #222; font-size: 16px;}
.page_sponsors .p_grade .p_list .p_link .p_desc {display: block; margin-top: 24px; font-size: 16px; color: #757575;}

.page_sponsors_type_02 .p_grade {display: flex; margin-bottom: 70px; padding: 48px 0; flex-direction: column; align-items: center; background-color: #FAFAFA;}
.page_sponsors_type_02 .p_grade .p_tit {margin-bottom: 56px; font-size: 18px; color: #222; text-transform: uppercase; font-weight: 600; text-align: center;}
.page_sponsors_type_02 .p_grade .p_list {display: flex; gap: 48px; justify-content: center;}
.page_sponsors_type_02 .p_grade .p_list li {padding: 30px 24px; flex: 1; text-align: center;}
.page_sponsors_type_02 .p_grade .p_list .p_link .p_logo {display: flex; height: 60px; align-items: center; justify-content: center;}
.page_sponsors_type_02 .p_grade .p_list .p_link .p_logo img {max-height: 60px;}
.page_sponsors_type_02 .p_grade .p_list .p_link .p_name {display: block; margin-top: 24px; font-weight: 500; color: #222; font-size: 16px;}
.page_sponsors_type_02 .p_grade .p_list .p_link .p_desc {display: block; margin-top: 24px; font-size: 16px; color: #757575;}

.page_sponsors_type_03 .p_grade {display: flex; min-height: 146px; margin-bottom: 0px; flex-direction: column; align-items: center;}
.page_sponsors_type_03 .p_grade .p_tit {display: flex; margin-bottom: 0px; width: 100%; height: 46px; align-items: center; justify-content: center; font-size: 16px; font-weight: 600; background-color: #F5F5F5;}
.page_sponsors_type_03 .p_grade.m_diamond .p_tit {color: #EF669D;}
.page_sponsors_type_03 .p_grade.m_emerald .p_tit {color: #5CB377;}
.page_sponsors_type_03 .p_grade.m_platinum .p_tit {color: #737373;}
.page_sponsors_type_03 .p_grade.m_gold .p_tit {color: #CCBC29;}
.page_sponsors_type_03 .p_grade.m_silver .p_tit {color: #4FBBC9;}
.page_sponsors_type_03 .p_grade.m_bronze .p_tit {color: #C9904F;}
.page_sponsors_type_03 .p_grade .p_list {display: flex; width: 100%; gap: 25px; flex-wrap: wrap;}
.page_sponsors_type_03 .p_grade .p_logo {display: flex; padding: 0 50px; align-items: center; box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);}
.page_sponsors_type_03 .p_grade .p_name {display: block; margin-top: 24px; font-weight: 600; color: #444; font-size: 16px; line-height: 1.2; text-align: center;}
.page_sponsors_type_03 .p_grade.m_diamond .p_logo {height: 170px;}
.page_sponsors_type_03 .p_grade.m_emerald .p_logo {height: 150px;}
.page_sponsors_type_03 .p_grade.m_platinum .p_logo {height: 130px;}
.page_sponsors_type_03 .p_grade.m_gold .p_logo {height: 110px;}
.page_sponsors_type_03 .p_grade.m_silver .p_logo {height: 90px;}
.page_sponsors_type_03 .p_grade.m_bronze .p_logo {height: 70px;}
.page_sponsors_type_03 .p_grade.m_diamond .p_logo img {max-height: 80px;}
.page_sponsors_type_03 .p_grade.m_emerald .p_logo img {max-height: 70px;}
.page_sponsors_type_03 .p_grade.m_platinum .p_logo img {max-height: 60px;}
.page_sponsors_type_03 .p_grade.m_gold .p_logo img {max-height: 50px;}
.page_sponsors_type_03 .p_grade.m_silver .p_logo img {max-height: 40px;}
.page_sponsors_type_03 .p_grade.m_bronze .p_logo img {max-height: 30px;}
.page_sponsors_type_03 .p_grade.m_silver .p_logo,
.page_sponsors_type_03 .p_grade.m_bronze .p_logo {padding: 0 40px;}

.page_sponsors_type_04 .p_section {padding: 56px 0; border-radius: 7px; background: #FFF; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);}
.page_sponsors_type_04 .p_section + .p_section {margin-top: 84px;}
.page_sponsors_type_04 .p_section ul {display: flex; flex-wrap: wrap; gap: 16px 0;}
.page_sponsors_type_04 .p_section ul.p_left_align {justify-content: flex-start;}
.page_sponsors_type_04 .p_section ul li {flex: 1;}
.page_sponsors_type_04 .p_section ul.p_left_align li {flex: 0 0 calc(100% / 3);}
.page_sponsors_type_04 .p_section ul li + li {position: relative;}
.page_sponsors_type_04 .p_section ul li + li::after {content: ''; width: 1px; height: 100%; background-color: #eee; position: absolute; left: 0; top: 0;}
.page_sponsors_type_04 .p_section .p_grade {display: flex; padding: 0 16px; gap: 16px; flex-direction: column; align-items: center; justify-content: center;}
.page_sponsors_type_04 .p_section .p_grade .p_tit {display: inline-block; font-size: 20px; font-weight: 700; color: #fff; text-shadow: 0 1px 1px rgba(46, 56, 91, 0.30); border-radius: 999px; box-shadow: 0 2px 4px 0 rgba(255, 255, 255, 0.30) inset;}
.page_sponsors_type_04 .p_section .p_grade.m_emerald .p_tit {padding: 14px 56px; background: linear-gradient(90deg, #316231 0%, #C8DC91 24%, #3D5E30 73%, #A0CE85 90%);}
.page_sponsors_type_04 .p_section .p_grade.m_platinum .p_tit {padding: 11px 56px; background: linear-gradient(90deg, #31396B 0%, #93BCF4 24%, #2D3759 73%, #6FA0E6 90%);}
.page_sponsors_type_04 .p_section .p_grade.m_gold .p_tit {padding: 10px 56px; background: linear-gradient(270deg, #A76100 0%, #FFD267 24%, #C37E25 73%, #A1561B 90%);}
.page_sponsors_type_04 .p_section .p_grade.m_silver .p_tit {padding: 9px 56px; background: linear-gradient(270deg, #727272 0%, #EAEAEA 24%, #9A9A9A 73%, #595959 90%);}
.page_sponsors_type_04 .p_section .p_grade.m_bronze .p_tit {padding: 8px 56px; background: linear-gradient(270deg, #9C4939 0%, #FFE0D4 24%, #C27456 73%, #892D2C 90%);}
.page_sponsors_type_04 .p_section .p_grade.m_media .p_tit {padding: 8px 30px; background: linear-gradient(270deg, #2F2F2F 0%, #918C8C 24%, #272626 73%, #222 90%);}
.page_sponsors_type_04 .p_section .p_grade .p_link {display: inline-flex; gap: 16px; flex-direction: column; align-items: center; justify-content: center;}
.page_sponsors_type_04 .p_section .p_grade .p_link .p_logo {display: flex; align-items: center;}
.page_sponsors_type_04 .p_section .p_grade .p_link .p_logo img {object-fit: contain;}
.page_sponsors_type_04 .p_section .p_grade.m_emerald .p_link .p_logo {height: 232px;}
.page_sponsors_type_04 .p_section .p_grade.m_emerald .p_link .p_logo img {height: 136px; max-height: 136px;}
.page_sponsors_type_04 .p_section .p_grade.m_platinum .p_link .p_logo {height: 150px;}
.page_sponsors_type_04 .p_section .p_grade.m_platinum .p_link .p_logo img {height: 85px; max-height: 85px;}
.page_sponsors_type_04 .p_section .p_grade.m_gold .p_link .p_logo {height: 76px;}
.page_sponsors_type_04 .p_section .p_grade.m_gold .p_link .p_logo img {height: 44px; max-height: 44px;}
.page_sponsors_type_04 .p_section .p_grade.m_silver .p_link .p_logo {height: 70px;}
.page_sponsors_type_04 .p_section .p_grade.m_silver .p_link .p_logo img {height: 38px; max-height: 38px;}
.page_sponsors_type_04 .p_section .p_grade:is(.m_bronze, .m_media) .p_link .p_logo {height: 66px;}
.page_sponsors_type_04 .p_section .p_grade:is(.m_bronze, .m_media) .p_link .p_logo img {height: 34px; max-height: 34px;}
.page_sponsors_type_04 .p_section .p_grade .p_link .p_name {font-size: 16px; font-weight: 600; color: #444;}

.page_sponsors_type_05 .p_section {padding: 10px 0; text-align: center;}
.page_sponsors_type_05 .p_section + .p_section {margin-top: 84px;}
.page_sponsors_type_05 .p_section .p_list {display: flex; flex-wrap: wrap; gap: 16px 0;justify-content: center;}
.page_sponsors_type_05 .p_section .p_list + .p_list {margin-top: 100px;}
.page_sponsors_type_05 .p_section .p_list li {display: flex; padding: 0 16px; flex: 1; justify-content: center;}
.page_sponsors_type_05 .p_section .p_list.t_overflow li {flex: 0 0 33%;}
.page_sponsors_type_05 .p_section .p_list li + li {position: relative;}
.page_sponsors_type_05 .p_section .p_list li + li::after {content: ''; width: 1px; height: 100%; background-color: #eee; position: absolute; left: 0; top: 0;}
.page_sponsors_type_05 .p_section .p_tit {display: inline-block; margin-bottom: 14px; font-size: 20px; font-weight: 700; color: #fff; text-shadow: 0 1px 1px rgba(46, 56, 91, 0.30); border-radius: 999px; box-shadow: 0 2px 4px 0 rgba(255, 255, 255, 0.30) inset;}
.page_sponsors_type_05 .p_section.m_diamond .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(90deg, #882D91 10%, #AEC2E5 25%, #4E3092 60%, #AEC2E4 75%, #882D91 90%);}
.page_sponsors_type_05 .p_section.m_emerald .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(90deg, #316231 0%, #C8DC91 24%, #3D5E30 73%, #A0CE85 90%);}
.page_sponsors_type_05 .p_section.m_platinum .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(90deg, #31396B 0%, #93BCF4 24%, #2D3759 73%, #6FA0E6 90%);}
.page_sponsors_type_05 .p_section.m_gold .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(270deg, #A76100 0%, #FFD267 24%, #C37E25 73%, #A1561B 90%);}
.page_sponsors_type_05 .p_section.m_silver .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(270deg, #727272 0%, #EAEAEA 24%, #9A9A9A 73%, #595959 90%);}
.page_sponsors_type_05 .p_section.m_bronze .p_tit {padding: 8px 56px;  width:200px;background: linear-gradient(270deg, #9C4939 0%, #FFE0D4 24%, #C27456 73%, #892D2C 90%);}
.page_sponsors_type_05 .p_section.m_special .p_tit {padding: 7px 30px;  width:200px;background: linear-gradient(270deg, #8A2BE2 0%, #E0B0FF 24%, #9932CC 73%, #4B0082 90%);}
.page_sponsors_type_05 .p_section.m_media .p_tit {padding: 8px 30px; width:210px; background: linear-gradient(270deg, #2F2F2F 0%, #918C8C 24%, #272626 73%, #222 90%);}
.page_sponsors_type_05 .p_section .p_link {display: inline-flex; gap: 5px; flex-direction: column; align-items: center; justify-content: center;}
.page_sponsors_type_05 .p_section .p_link .p_logo {display: flex; align-items: center;}
.page_sponsors_type_05 .p_section .p_link .p_logo img {object-fit: contain;}
.page_sponsors_type_05 .p_section.m_diamond .p_link .p_logo img {height: 136px; max-height: 136px;}
.page_sponsors_type_05 .p_section.m_emerald .p_link .p_logo img {height: 136px; max-height: 136px;}
.page_sponsors_type_05 .p_section.m_platinum .p_link .p_logo img {height: 85px; max-height: 85px;}
.page_sponsors_type_05 .p_section.m_gold .p_link .p_logo img {height: 44px; max-height: 44px;}
.page_sponsors_type_05 .p_section.m_silver .p_link .p_logo img {height: 38px; max-height: 38px;}
.page_sponsors_type_05 .p_section:is(.m_bronze, .m_media) .p_link .p_logo img {height: 34px; max-height: 34px;}
.page_sponsors_type_05 .p_section.m_special .p_link .p_logo img {height: 32px; max-height: 40px;}
.page_sponsors_type_05 .p_section .p_link .p_name {font-size: 16px; font-weight: 600; color: #444;}

.page_exhibition .p_tab_btn {display: flex; margin-bottom: 48px; gap: 24px;}
.page_exhibition .p_tab_btn .p_radiobox {display: inline-flex; flex: 1; align-items: center;}
.page_exhibition .p_tab_btn .p_radiobox input[type="radio"] {width: 0; height: 0; overflow: hidden; border: solid 0px #fff; opacity: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.page_exhibition .p_tab_btn .p_radiobox span {display: flex; width: 100%; height: 100%; padding: 32px 10px; font-weight: 600; justify-content: center; align-items: center; background-color: #fff; border: 1px solid #ddd; border-radius: 5px; text-align: center; cursor: pointer;}
.page_exhibition .p_tab_btn .p_radiobox input[type="radio"]:checked + span {color: var(--themesColor); border: 1px solid var(--themesColor); font-weight: 600;}
.page_exhibition .p_search_box {display: flex; width: 600px; max-width: 100%; margin: 0 0 48px auto; gap: 16px;}
.page_exhibition .p_search_box .p_it_box {width: 100%; position: relative;}
.page_exhibition .p_search_box .p_it_box .p_it {width: 100%; height: 48px; padding: 0 40px 0 16px; border-radius: 5px; background-color: #F5F5F5; border: 1px solid #F5F5F5;}
.page_exhibition .p_search_box .p_it_box .p_del {display: none; width: 24px; height: 24px; align-items: center; justify-content: center; position: absolute; right: 10px; top: calc(50% - 12px);}
.page_exhibition .p_search_box .p_it_box .p_it:not(:placeholder-shown) + .p_del { display: flex; }
.page_exhibition .p_search_box .p_btn {display: flex; height: 48px; font-size: 16px; padding: 0 28px; gap: 8px; align-items: center; justify-content: center; color: #fff; font-weight: 500; background-color: #757575; border-radius: 5px; flex-shrink: 0;}
.page_exhibition .p_search_box .p_it_box:has(.p_it:not(:placeholder-shown)) + .p_btn {background-color: var(--themesColor);}
.page_exhibition .p_search_box .p_btn img {max-width: none;}
.page_exhibition .p_list {border-top: 2px solid #ddd;}
.page_exhibition .p_list li {display: flex; min-height: 192px; padding: 32px 0; gap: 70px; border-bottom: 1px solid #ddd; position: relative;}
.page_exhibition .p_list .p_code {display: flex; width: 110px; padding-left: 4px; align-items: center; flex-shrink: 0; font-size: 16px; font-weight: 500; color: var(--themesColor); position: relative;}
.page_exhibition .p_list .p_code::after {content: ''; width: 1px; height: 100%; background-color: #eee; position: absolute; right: 0; top: 0;}
.page_exhibition .p_list .p_logo {display: flex; width: 210px; flex-shrink: 0; align-items: center; justify-content: center;}
.page_exhibition .p_list .p_logo img {max-height: 80px;}
.page_exhibition .p_list .p_txt_box {display: flex; flex-direction: column; justify-content: center; padding-right: 100px;}
.page_exhibition .p_list .p_txt_box .p_name {margin-bottom: 16px; font-size: 16px; font-weight: 500; color: #222;}
.page_exhibition .p_list .p_txt_box .p_desc {font-size: 16px; color: #757575;}
.page_exhibition .p_list .p_link {display: block; width: 56px; height: 56px; background: url(../../resources/images/its/ico_home.svg) center no-repeat; position: absolute; right: 4px; top: calc(50% - 28px); filter: grayscale(100%); opacity: 0.7;}
.page_exhibition .p_list .p_link:hover {filter: grayscale(0); opacity: 1;}

.page_demonstrations .p_desc_box {margin-bottom: 48px; color: #757575;}
.page_demonstrations .p_desc_box .p_desc_intro {margin-bottom: 16px; font-size: 16px;}
.page_demonstrations .p_desc_box .p_desc_note {font-size: 14px;}
.page_demonstrations .p_title {margin-bottom: 24px; padding-left: 20px; font-size: 24px; color: #0E2A20; font-weight: 600; position: relative;}
.page_demonstrations .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 11px;}
.page_demonstrations .p_section {margin-bottom: 56px;}
.page_demonstrations .p_section .p_tit {margin-bottom: 24px; color: var(--themesColor); font-size: 20px; font-weight: 500;}
.page_demonstrations .p_section .p_figure {margin-bottom: 56px;}
.page_demonstrations .p_section .p_figure .p_caption {margin-top: 16px; color: #757575; font-size: 16px;}
.page_demonstrations .p_section .p_image_box {padding: 48px 64px; background-color: #F5F5F5;}
.page_demonstrations .p_section .p_image_box .p_list {display: flex; gap: 40px; flex-wrap: wrap;}
.page_demonstrations .p_section .p_image_box .p_list li {display: flex; flex-direction: column; justify-content: flex-end; width: calc((100% - 40px)/2);}
.page_demonstrations .p_section .p_image_box .p_list img {border-radius: 6px;}
.page_demonstrations .p_section .p_image_box .p_name {margin-bottom: 12px; font-weight: 600; font-size: 18px;}
.page_demonstrations .p_section .p_image_box .p_info {margin-top: 24px; padding: 16px; font-size: 16px; color: #757575; background-color: #fff; border-radius: 5px;}
.page_demonstrations .p_section .p_image_box .p_info li {padding-left: 10px; position: relative;}
.page_demonstrations .p_section .p_image_box .p_info li::after {content: ''; width: 3px; height: 3px; border-radius: 3px; background-color: #757575; position: absolute; left: 0; top: 10px;}

.page_technical_visit .p_section {margin-bottom: 56px;}
.page_technical_visit .p_title {margin-bottom: 16px; padding-left: 20px; font-size: 24px; color: #0E2A20; font-weight: 600; position: relative;}
.page_technical_visit .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 11px;}
.page_technical_visit .p_txt {margin-bottom: 16px; font-size: 14px; color: #757575;}
.page_technical_visit .p_txt_01 {margin-bottom: 16px; font-size: 16px; color: #757575;}
.page_technical_visit .p_info_box {margin-bottom: 16px; padding: 24px; background-color: #FAFAFA;}
.page_technical_visit .p_info_box dl {display: flex; font-size: 16px; gap: 20px;}
.page_technical_visit .p_info_box dl + dl {margin-top: 12px;}
.page_technical_visit .p_info_box dt {flex-shrink: 0; color: var(--themesColor);}
.page_technical_visit .p_tours_box {display: flex; gap: 40px;margin-bottom:24px;}
.page_technical_visit .p_tours_box > div {width: 50%; padding: 24px; background-color: #fafafa; overflow: hidden;}
.page_technical_visit .p_tours_box .p_tit {margin-bottom: 24px; font-size: 18px; font-weight: 600;}
.page_technical_visit .p_slider {margin-bottom: 24px;}
.page_technical_visit .p_slider .slick-slide {/*width: 320px;*/ width: 492px; margin-right: 16px;}
.page_technical_visit .p_slider .p_item {width: 492px; height: 320px; border-radius: 5px; overflow: hidden;}
.page_technical_visit .p_slider .p_item img {width: 100%; height: 100%; object-fit: cover;}
.page_technical_visit .p_info_box_01 {font-size: 16px;}
.page_technical_visit .p_info_box_01 dl + dl {margin-top: 23px;}
.page_technical_visit .p_info_box_01 dt {margin-bottom: 8px; color: #006241;}
.page_technical_visit .p_info_box_01 dd {color: #757575;}

.main_bottom_image_area {display: flex;justify-content: center;align-items: center;align-self: stretch;background: #0E2A20;height:450px;}

.page_program .p_header {display: flex; margin-bottom: 20px; justify-content: space-between;}
.page_program .p_header .p_logo img {width: 73px;}
.page_program .p_header .p_info {font-size: 20px; font-weight: 600; color: #222; text-align: right;}
.page_program .p_schedule_wrap {width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;max-width:100vw;}
.page_program .p_schedule_grid {display: grid; min-width: 1120px; grid-template-columns: 45px 1fr 1fr 80px 1fr 80px 1fr 80px 1fr 80px 1fr 80px; grid-auto-rows: minmax(27px, auto); border-top: 1px solid #eee; font-size: 14px; color: #222; background-image: repeating-linear-gradient(to bottom,transparent 0,transparent 53px, #eee 54px);}
.page_program .p_schedule_grid > div {display: flex; align-items: center; justify-content: center; text-align: center;}
.page_program .p_schedule_grid .p_time {padding: 4px 0; font-size: 12px; color: #444; border-bottom: 1px solid #eee; border-right: 2px solid #ccc;}
.page_program .p_schedule_grid .p_day {height: 54px; flex-direction: column; font-size: 15px; background-color: #04251A; color: #fff; font-weight: 600; border-right: 2px solid #ccc;}
.page_program .p_schedule_grid .p_day span {font-size: 13px; color: #CEFFEF; font-weight: 500;}
.page_program .p_schedule_grid .p_time_label {padding: 4px 0; font-size: 12px; color: #444; align-items: flex-start; border-bottom: 1px solid #eee; border-right: 2px solid #ccc;}
.page_program .p_schedule_grid .p_red {background-color: #FFEAEA; border-right: 1px solid #fff;}
.page_program .p_schedule_grid .p_violet {background-color: #F2E8FF; border-right: 1px solid #fff;}
.page_program .p_schedule_grid .p_blue {background-color: #F0F4FF; writing-mode: sideways-rl; border-right: 1px solid #fff;}
.page_program .p_schedule_grid .p_yellow{background-color: #FFFAE4; border-right: 1px solid #fff;}
.page_program .p_schedule_grid .p_green {background-color: #DFF4E3; border-right: 1px solid #fff;}

.page_travel_grant .p_txt {margin-bottom: 16px; font-size: 16px; color: #757575;}
.page_travel_grant .p_title {margin-bottom: 4px; padding-left: 10px; font-size: 16px; color: #006241; position: relative;}
.page_travel_grant .p_title::after {content: ''; width: 3px; height: 3px; border-radius: 3px; background-color: #006241; position: absolute; left: 0; top: 11px;}
.page_travel_grant .p_table {border-top: 1px solid #ccc; position: relative;}
.page_travel_grant .p_table::after {content: ''; width: 1px; height: 100%; background-color: #fff; position: absolute; left: 0; top: 0; z-index: 1;}
.page_travel_grant .p_table th {padding: 16px; font-size: 16px; color: #222; font-weight: 600; background-color: #FAFAFA; border-bottom: 1px solid #ccc; border-left: 1px solid #ccc;}
.page_travel_grant .p_table td {padding: 8px; font-size: 16px; color: #444; text-align: center; border-bottom: 1px solid #ccc; border-left: 1px solid #ccc;}
.page_travel_grant .p_txt_01 {color: #757575; font-size: 14px;}
.page_travel_grant .scroll_x > * {width: 1120px;}

.page_event .p_title {margin-bottom: 56px; font-size: 30px; font-weight: 500; color: var(--themesColor); text-align: center;}
.page_event .p_title span {display: block; font-size: 24px; color: #222;}
.page_event .p_title_01 {margin-bottom: 24px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_event .p_title_01::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_event .p_txt_box {display: flex; margin-bottom: 60px; gap: 46px;}
.page_event .p_txt_box img {width: 50%; object-fit: contain;}
.page_event .p_txt_box p {font-size: 16px; color: #757575;}
.page_event .p_tab_btn {display: flex;}
.page_event .p_tab_btn li {flex: 1;}
.page_event .p_tab_btn li button {display: block; width: 100%; padding: 20px 0; font-size: 16px; font-weight: 500; color: #444; border-bottom: 2px solid #ddd; position: relative;}
.page_event .p_tab_btn li.m_on button {color: var(--themesColor); font-weight: 600;}
.page_event .p_tab_btn li.m_on button::after {content: ''; width: 100%; height: 4px; background-color: var(--themesColor); position: absolute; left: 0; bottom: -2px;}
.page_event .p_list {padding: 56px 32px; background-color: #FAFAFA;}
.page_event .p_list > li {display: flex; gap: 60px;}
.page_event .p_list > li + li {margin-top: 56px;}
.page_event .p_list > li .p_info {padding: 26px 0;}
.page_event .p_list > li > div {flex: 1;}
.page_event .p_list > li .p_img img {width: 100%;}
.page_event .p_list .p_tit {margin-bottom: 20px; font-size: 24px; color: #222; font-weight: 600;}
.page_event .p_list .p_meta {display: flex; margin-bottom: 20px; gap: 16px;}
.page_event .p_list .p_meta li {display: flex; gap: 4px; align-items: center; font-size: 16px; color: #444;}
.page_event .p_list .p_desc {font-size: 16px; color: #757575;}

.page_overview .p_txt_box_01 {margin-bottom: 48px; font-size: 16px; color: #757575;}
.page_overview .p_txt_box_02 {display: flex; margin-bottom: 64px; gap: 36px;}
.page_overview .p_txt_box_02 li {padding: 36px 16px; border: 1px solid #ddd; border-radius: 5px;}
.page_overview .p_txt_box_02 .p_logo {display: flex; margin-bottom: 40px; align-items: center; justify-content: center;}
.page_overview .p_txt_box_02 .p_info dl {display: flex;}
.page_overview .p_txt_box_02 .p_info dl + dl {margin-top: 16px;}
.page_overview .p_txt_box_02 .p_info dt {min-width: 76px; font-size: 16px; font-weight: 400; color: #757575;}
.page_overview .p_txt_box_02 .p_info dd {font-size: 16px; color: #444;}
.page_overview .p_txt_box_03 {margin-bottom: 64px; text-align: center;}
.page_overview .p_txt_box_03 .p_tit {margin-bottom: 68px; font-size: 24px; color: var(--themesColor); font-weight: 600;}
.page_overview .p_txt_box_04 {margin-bottom: 24px;}
.page_overview .p_txt_box_04 .p_tit {margin-bottom: 16px; font-size: 24px; color: #222; font-weight: 600;}
.page_overview .p_txt_box_04 .p_desc {font-size: 16px; color: #757575;}
.page_overview .p_tab_btn {display: flex;}
.page_overview .p_tab_btn li {flex: 1;}
.page_overview .p_tab_btn li button {display: block; width: 100%; padding: 20px 0; font-size: 16px; font-weight: 500; color: #444; border-bottom: 2px solid #ddd; position: relative;}
.page_overview .p_tab_btn li.m_on button {color: var(--themesColor); font-weight: 600;}
.page_overview .p_tab_btn li.m_on button::after {content: ''; width: 100%; height: 4px; background-color: var(--themesColor); position: absolute; left: 0; bottom: -2px;}
.page_overview .p_tab_cont {padding: 48px 37px; background-color: #FAFAFA;}
.page_overview .p_tab_cont .p_tit {margin-bottom: 24px; font-size: 24px; color: #222; font-weight: 600;}
.page_overview .p_tab_cont .p_desc {margin-bottom: 24px; font-size: 16px; color: #757575;}
.page_overview .p_tab_cont .p_txt {margin-bottom: 36px; font-size: 16px; color: var(--themesColor);}
.page_overview .p_tab_cont .p_table_wrap {width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;}
.page_overview .p_tab_cont .p_table_wrap table {min-width: 1046px; background-color: #fff; border: 1px solid #ccc; font-size: 16px; text-align: center;}
.page_overview .p_tab_cont .p_table_wrap table thead th {font-weight: 500; color: #222; background-color: #F5F5F5;}
.page_overview .p_tab_cont .p_table_wrap table tbody td {border-top: 1px solid #ccc; color: #757575;}
.page_overview .p_tab_cont .p_table_wrap table thead th,
.page_overview .p_tab_cont .p_table_wrap table tbody td {padding: 16px 8px; border-left: 1px solid #ccc;}
.page_overview .p_tab_cont .p_table_wrap table thead th:first-child,
.page_overview .p_tab_cont .p_table_wrap table tbody td:first-child {border-left: none;}

.page_committee .p_title {margin-bottom: 24px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_committee .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_committee .p_sec_01 {margin-bottom: 60px;}
.page_committee .p_committee {padding: 64px 48px; background-color: #FAFAFA;}
.page_committee .p_committee .p_tit {text-align: center; position: relative;}
.page_committee .p_committee .p_tit::after {content: ''; width: 2px; height: 76px; background-color: #999; position: absolute; left: calc(50% - 1px); top: 54px;}
.page_committee .p_committee .p_tit .p_btn {display: inline-flex; width: 100%; max-width: 310px; height: 54px; align-items: center; justify-content: center; font-size: 16px; color: #fff; font-weight: 600; background-color: var(--themesColor); border-radius: 3px;}
.page_committee .p_committee .p_list {display: flex; padding-top: 140px; gap: 24px;}
.page_committee .p_committee .p_list li {flex: 1; position: relative; background-color: #fff;}
.page_committee .p_committee .p_list li::after {content: ''; width: 2px; height: 86px; background-color: #999; position: absolute; left: calc(50% - 1px); bottom: 54px;}
.page_committee .p_committee .p_list li::before {content: ''; width: calc(100% + 24px); height: 2px; background-color: #999; position: absolute; left: 50%; bottom: 140px;}
.page_committee .p_committee .p_list li:last-child:before {display: none;}
.page_committee .p_committee .p_list .p_btn {display: flex; width: 100%; height: 54px; align-items: center; justify-content: center; font-size: 16px; color: #222; font-weight: 600; border: 2px solid #ddd; border-radius: 3px;}

.page_registration section + section {margin-top: 84px;}
.page_registration .p_title {margin-bottom: 36px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_registration .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_registration .scroll_x > * {width: 1120px;}
.page_registration .p_accent {color: #D80606;}
.page_registration .p_accent_blue {color: #0738B5; font-size: 14px;}
.page_registration .btn {display: inline-flex; gap: 12px; line-height: 1; padding: 0 36px; align-items: center; border-radius: 5px; background-color: var(--themesColor); font-size: 16px; font-weight: 500;}
.page_registration .btn i {font-size: 20px;}
.page_registration .btn.m_detail {color: #444; background-color: #fff; border: 1px solid #ccc;}
.page_registration .btn.m_detail i {font-size: 13px;}
.page_registration .btn.m_detail:hover {color: var(--themesColor); border: 1px solid var(--themesColor);}
.page_registration .p_table_style {font-size: 16px; text-align: center; border-top: 1px solid #ccc; white-space: normal; word-break: break-all;}
.page_registration .p_table_style :is(th, td) {border-bottom: 1px solid #ccc; border-right: 1px solid #ccc;}
.page_registration .p_table_style th {padding: 24px 10px; color: #222; background-color: #eee; font-weight: 600;}
.page_registration .p_table_style td {padding: 36px 10px;}
.page_registration .p_table_style thead tr:first-child th:last-child,
.page_registration .p_table_style td:last-child {border-right: none;}
.page_registration .p_table_style thead .p_date {font-size: 14px; background-color: #FAFAFA; font-weight: 500;}
.page_registration .p_table_style thead .p_recommended {background-color: var(--themesColor); color: #fff;}
.page_registration .p_table_style tbody td {color: #444;}
.page_registration .p_table_style tbody .p_accent {font-weight: 600;}
.page_registration .p_table_style tbody .p_recommended {color: var(--themesColor); font-weight: 600;}
.page_registration .p_sec_01 .p_txt_box {display: flex; margin-bottom: 36px; gap: 36px; align-items: center;}
.page_registration .p_sec_01 .p_txt_box span {font-size: 24px; color: #666; border-bottom: 1px solid #999;}
.page_registration .p_sec_01 .p_txt_box strong {color: #D80606;}
.page_registration .p_sec_01 .p_list {display: flex; gap: 18px;}
.page_registration .p_sec_01 .p_list li {padding: 15px; flex: 1; border: 4px solid #ddd; font-size: 16px; border-radius: 50px; position: relative;}
.page_registration .p_sec_01 .p_list li::after,
.page_registration .p_sec_01 .p_list li::before {content: ''; width: 12px; height: 12px; border-right: 4px solid #ddd; border-top: 4px solid #ddd; position: absolute; top: calc(50% - 6px); background-color: #fff; transform: rotate(45deg);}
.page_registration .p_sec_01 .p_list li::after {right: -11px}
.page_registration .p_sec_01 .p_list li::before {left: -9px}
.page_registration .p_sec_01 .p_list li:last-child:after,
.page_registration .p_sec_01 .p_list li:first-child::before {display: none;}
.page_registration .p_sec_01 .p_list li > div {display: flex; gap: 24px; flex-direction: column; align-items: center; height: 100%; padding: 35px 10px; background-color: #FAFAFA; border-radius: 36px;}
.page_registration .p_sec_01 .p_list .p_no {font-family: Montserrat; font-weight: 700; color: var(--themesColor);}
.page_registration .p_sec_01 .p_list .p_info {display: flex; height: 100%; gap: 2px; align-items: center; flex-direction: column; justify-content: center; text-align: center;}
.page_registration .p_sec_01 .p_list .p_txt_01 {color: #222; font-weight: 500;}
.page_registration .p_sec_01 .p_list .p_txt_02 {color: #0738B5; font-size: 14px;}
.page_registration .p_sec_01 .scroll_x img {max-width: initial;}
.page_registration .p_sec_03 .txt_box + .txt_box {margin-top: 36px;}
.page_registration .p_sec_03 .p_tit {margin-bottom: 8px; font-size: 16px; color: #222; font-weight: 500;}
.page_registration .p_sec_03 .p_txt {font-size: 16px; color: #757575;}
.page_registration .p_sec_03 .btn {margin-top: 36px;}
.page_registration .p_sec_04 .p_desc {margin-bottom: 36px;}
.page_registration .p_sec_04 .p_program {border: 1px solid #ccc; font-size: 16px;}
.page_registration .p_sec_04 .p_program .p_item {display: flex;}
.page_registration .p_sec_04 .p_program .p_item > div {display: flex; flex-direction: column; padding: 46px 0; align-items: center; justify-content: center; flex: 1; text-align: center; border-left: 1px solid #ccc;}
.page_registration .p_sec_04 .p_program .p_item + .p_item {border-top: 1px solid #ccc;}
.page_registration .p_sec_04 .p_program .p_item .p_th {color: #222; background-color: #eee; border-left: none;}
.page_registration .p_sec_04 .p_program .p_item .p_td {color: #444;}
.page_registration .p_sec_04 .p_link_box {display: flex; gap: 36px; margin-top: 36px; padding: 0 36px;}
.page_registration .p_sec_04 .p_link_box li {flex: 1;}
.page_registration .p_sec_04 .p_link_box .btn {width: 100%; justify-content: center; white-space: nowrap;}
.page_registration .p_sec_04 .txt_box {margin-top: 36px;}
.page_registration .p_sec_04 .p_tit {margin-bottom: 8px; font-size: 16px; color: #222; font-weight: 500;}
.page_registration .p_sec_04 .p_txt {font-size: 16px; color: #757575;}
.page_registration .p_sec_05 .p_desc {margin-bottom: 16px; font-size: 16px; color: #757575;}
.page_registration .p_sec_05 .p_table_style td {padding: 16px 24px; text-align: left;}
.page_registration .p_sec_05 .p_link_box {display: flex; gap: 24px;}
.page_registration .p_sec_06 .p_desc {margin-bottom: 36px; font-size: 16px; color: #757575;}
.page_registration .p_sec_06 .p_table_style {margin-bottom: 36px;}
.page_registration .p_sec_06 .p_table_style td {padding: 16px;}

.page_gangneung_tours_list .p_tab_btn { display:flex; margin-bottom: 40px; gap:24px; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
.page_gangneung_tours_list .p_tab_btn .p_radiobox { position:relative; }
.page_gangneung_tours_list .p_tab_btn .p_radiobox input[type="radio"] {width: 0; height: 0; overflow: hidden; border: solid 0 #fff; opacity: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.page_gangneung_tours_list .p_tab_btn .p_radiobox span { display:block; padding: 12px 40px; font-size:16px; color:#666; border: 1px solid #ddd; background:#fff; border-radius:5px; cursor:pointer; transition: color 0.3s, border 0.3s;}
.page_gangneung_tours_list .p_tab_btn .p_radiobox:hover span { color: var(--themesColor); border: 1px solid var(--themesColor); }
.page_gangneung_tours_list .p_tab_btn .p_radiobox input[type="radio"]:checked + em + span { background:var(--themesColor); color:#fff; }
.page_gangneung_tours_list .p_tab_btn .p_radiobox em { display:none; }
.page_gangneung_tours_list .p_list { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.page_gangneung_tours_list .p_list .p_item { display:block; position: relative;}
.page_gangneung_tours_list .p_list .p_img { position:relative; display:block; width:100%; aspect-ratio:1/1; border-radius: 5px; overflow:hidden; }
.page_gangneung_tours_list .p_list .p_img img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.page_gangneung_tours_list .p_list .p_item:hover .p_img img { transform:scale(1.05); }
.page_gangneung_tours_list .p_list .p_lable { position:absolute; top:10px; left:10px; z-index:2; padding:6px 12px; font-size:12px; color:#fff; font-weight: 600; background: rgba(17, 17, 17, 0.60); border-radius: 999px; }
.page_gangneung_tours_list .p_list .p_name { display:block; margin-top:12px; font-size:16px; font-weight:500; line-height:1.4; color: #222; word-break:keep-all; }

.page_gangneung_tours_view .p_title_box {margin-bottom: 40px; text-align: center;}
.page_gangneung_tours_view .p_title_box .p_title {margin-bottom: 32px; font-size: 32px; color: #222; font-weight: 600;}
.page_gangneung_tours_view .p_title_box .p_desc {margin-bottom: 32px; font-size: 20px; color: #444;}
.page_gangneung_tours_view .p_title_box .p_btn_box {display: flex; gap: 16px; justify-content: center;}
.page_gangneung_tours_view .p_title_box .p_btn {display: flex; width: 160px; padding: 12px 0; gap: 8px; align-items: center; justify-content: center; font-size: 16px; color: #fff; font-weight: 500; border-radius: 5px; background-color: var(--themesColor);}
.page_gangneung_tours_view .p_txt_box_01 {margin-bottom: 40px;}
.page_gangneung_tours_view .p_txt_box_01 .p_title {margin-bottom: 16px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_gangneung_tours_view .p_txt_box_01 .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_gangneung_tours_view .p_txt_box_01 .p_desc {font-size: 16px; color: #666; line-height: 1.55;}
.page_gangneung_tours_view .p_txt_box_02 {margin-bottom: 40px; padding:32px; background-color: #FAFAFA;}
.page_gangneung_tours_view .p_txt_box_02 .p_title {margin-bottom: 32px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_gangneung_tours_view .p_txt_box_02 .p_title::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_gangneung_tours_view .p_txt_box_02 .p_info_dl{display:block; font-size: 16px; line-height:1.55;}
.page_gangneung_tours_view .p_txt_box_02 .p_info_row{display:grid; grid-template-columns: 116px 1fr;}
.page_gangneung_tours_view .p_txt_box_02 .p_info_row + .p_info_row {margin-top: 40px;}
.page_gangneung_tours_view .p_txt_box_02 .p_info_dt{font-weight:400;color:#666}
.page_gangneung_tours_view .p_txt_box_02 .p_info_dd{color:#222;}
.page_gangneung_tours_view .p_images {margin-bottom: 40px;}
.page_gangneung_tours_view .p_images img {width: 100%;}
.page_gangneung_tours_view .p_post_navi {position: relative; text-align: center;}
.page_gangneung_tours_view .p_post_navi .p_navi {display: flex; width: 100%; justify-content: space-between;}
.page_gangneung_tours_view .p_post_navi .p_navi > .p_next:only-child {margin-left: auto;}
.page_gangneung_tours_view .p_post_navi :is(.p_prev,.p_next) {display: inline-flex; width: calc(50% - 70px); align-items: center; gap: 8px; text-align: left;}
.page_gangneung_tours_view .p_post_navi :is(.p_prev,.p_next) i {display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 24px; height: 24px;}
.page_gangneung_tours_view .p_post_navi .p_next {justify-content: flex-end;}
.page_gangneung_tours_view .p_post_navi .p_btn {display: inline-block; padding: 10px 40px; border:1px solid #ddd; border-radius:999px;color:#666; font-size:16px; transition:all .2s; position: absolute; left: 50%; top: -10px; transform: translateX(-50%);}
.page_gangneung_tours_view .p_post_navi .p_btn:hover {border-color:var(--themesColor);color: var(--themesColor)}
.page_gangneung_tours_view .p_post_navi .p_btn:active,.p_btn.p_active {background-color: var(--themesColor); color: #fff;}

.page_access .p_h3 {margin-bottom: 48px; font-size: 30px; font-weight: 500; color: var(--themesColor); text-align: center;}
.page_access .p_h4 {margin-bottom: 8px; padding-left: 18px; font-size: 24px; color: #0E2A20; font-weight: 600; position: relative;}
.page_access .p_h4::after {content: ''; width: 10px; height: 10px; border-radius: 9999px; background-color: var(--themesColor); position: absolute; left: 0; top: 12px;}
.page_access .p_h4_desc {margin-bottom: 24px; color: #444;}
.page_access .p_desc_01 {margin: 24px 0; color: #757575;}
.page_access .p_link {color: #0738B5; text-decoration: underline;}
.page_access .p_route {display: flex; margin-bottom: 24px; justify-content: space-between; padding: 80px 110px; background-color: #fafafa; position: relative;}
.page_access .p_route::after{content:""; width: 70%; height: 2px; position:absolute; top: 120px; left: 50%; transform: translateX(-50%); border-top:2px dashed #0a7a5a;}
.page_access .p_route .p_point {display: flex; flex-direction: column; gap: 13px; align-items: center; font-weight: 500; text-align: center; position: relative; z-index: 1;}
.page_access .p_route .p_segment {display: flex; align-items: center; gap: 4px; position: absolute; top: 60px; font-size: 14px; color: #444;}
.page_access .p_route .p_segment.m_bus {left: 280px;}
.page_access .p_route .p_segment.m_taxi {left: 680px;}
.page_access .p_route_02 {margin-bottom: 24px; padding: 46px 24px; background-color: #fafafa;}
.page_access .p_step {display: grid; grid-template-columns: 186px 1fr; border: 1px solid #ccc; white-space: wrap;}
.page_access .p_header {display: flex; flex-direction: column; padding: 24px 8px; gap: 4px; background: #EEF6F3; align-items: center; justify-content: center; text-align: center; border-right: 1px solid #ccc;}
.page_access .p_header .p_title {font-weight: 600; font-size: inherit;}
.page_access .p_content {display: flex; flex-direction: column; justify-content: center; padding: 24px; color: #444;}
.page_access .p_content .p_table {margin-top: 16px;}
.page_access .p_content .p_table :is(th,td) {padding: 8px 16px; border: 1px solid #ccc; text-align: center;}
.page_access .p_content .p_table th {background: #fafafa;}
.page_access .p_content .p_desc .p_ico {position: relative; top: 5px;}
.page_access .p_arrow {margin: 32px 0; text-align: center;}

.popup_committee .inner_box {width: 455px; padding: 40px;}
.popup_committee .p_title_01 {margin-bottom: 24px; font-size: 30px; color: #222; font-weight: 600;}
.popup_committee .p_info {margin-bottom: 24px;}
.popup_committee .p_info dl {display: flex; font-size: 16px;}
.popup_committee .p_info dl + dl {margin-top: 8px;}
.popup_committee .p_info dt {min-width: 54px; color: #757575; position: relative;}
.popup_committee .p_info dt::after {content: ''; width: 1px; height: 16px; background-color: #ddd; position: absolute; right: 0; top: calc(50% - 8px);}
.popup_committee .p_info dd {padding-left: 12px; color: #444;}
.popup_committee .p_title_02 {margin-bottom: 4px; font-size: 24px; color: var(--themesColor); font-weight: 600;}
.popup_committee .p_txt {font-size: 16px; color: #757575;}
.popup_committee .p_txt li {margin-top: 8px;}

.popup_registration .inner_box {width: 455px; padding: 40px;}
.popup_registration .p_title {margin-bottom: 36px; padding-bottom: 12px; font-size: 25px; font-weight: 600; text-align: center; color: #0E2A20; border-bottom: 1px solid #0E2A20;}
.popup_registration .p_desc {font-size: 16px; color: #444;}
.popup_registration .p_btn_box {margin-top: 36px; text-align: center;}
.popup_registration .btn {display: inline-flex; gap: 12px; padding: 0 36px; align-items: center; border-radius: 5px; background-color: var(--themesColor); font-size: 16px; font-weight: 500;}
.popup_registration .btn i {font-size: 18px;}

.page_youth_program .btn {display: inline-flex; gap: 12px; line-height: 1; padding: 0 36px; align-items: center; border-radius: 5px; background-color: var(--themesColor); font-size: 16px; font-weight: 500;}
.page_youth_program .btn i {font-size: 20px;}
.page_youth_program .p_sec_01 {display: flex; margin-bottom: 60px; gap: 46px;}
.page_youth_program .p_sec_01 .p_img {display: block; aspect-ratio: 554/350; border-radius: 5px; overflow: hidden;}
.page_youth_program .p_sec_01 .p_img img {width: 100%; height: 100%; object-fit: cover;}
.page_youth_program .p_sec_01 .p_desc {max-width: 520px; font-size: 16px; color: #757575;}
.page_youth_program .p_tab_btn {display: flex;}
.page_youth_program .p_tab_btn li {flex: 1;}
.page_youth_program .p_tab_btn li button {display: block; width: 100%; padding: 20px 0; font-size: 16px; font-weight: 500; color: #444; border-bottom: 2px solid #ddd; position: relative;}
.page_youth_program .p_tab_btn li button.m_on {color: var(--themesColor); font-weight: 600;}
.page_youth_program .p_tab_btn li button.m_on::after {content: ''; width: 100%; height: 4px; background-color: var(--themesColor); position: absolute; left: 0; bottom: -2px;}
.page_youth_program .p_tab_cont {padding: 36px 48px; background-color: #fafafa;}
.page_youth_program .p_tab_cont > section + section {margin-top: 84px;}
.page_youth_program .p_tab_cont .p_tit {margin-bottom: 36px; padding-left: 18px; font-size: 24px; font-weight: 600; color: #0E2A20; position: relative;}
.page_youth_program .p_tab_cont .p_tit::after {content: ''; width: 10px; height: 10px; background-color: var(--themesColor); border-radius: 10px; position: absolute; left: 0; top: 12px;}
.page_youth_program .p_tab_cont .p_info {display: grid; grid-template-columns: 100px 1fr; gap: 40px 16px;}
.page_youth_program .p_tab_cont .p_info dt {color: #666; font-weight: 400;}
.page_youth_program .p_tab_cont .p_info dd {color: #222;}
.page_youth_program .p_tab_cont .p_info .p_link {color: #0738B5; text-decoration: underline;}
.page_youth_program .p_tab_cont .p_table :is(th,td) {padding: 16px 8px; border: 1px solid #ccc; text-align: center;}
.page_youth_program .p_tab_cont .p_table thead th {background-color: #eee; color: #222; font-weight: 700;}
.page_youth_program .p_tab_cont .p_table tbody td {color: #444;}
.page_youth_program .p_tab_cont .p_plan {padding: 52px 62px; background-color: #fff;}
.page_youth_program .p_tab_cont .p_plan.m_type_01 {padding: 52px 30px;}
.page_youth_program .p_tab_cont .p_plan ol {display: grid; grid-template-columns: repeat(3, 1fr); gap: 53px 0;}
.page_youth_program .p_tab_cont .p_plan.m_type_01 ol {grid-template-columns: repeat(auto-fit, minmax(184px, 1fr));}
.page_youth_program .p_tab_cont .p_plan ol > li {position: relative;}
.page_youth_program .p_tab_cont .p_plan ol > li::after {content: ""; width: 16px; height: 30px; background: url(../../resources/images/its/arrow_rigth.svg) center no-repeat; position: absolute; top: 50%; left: 240px; transform: translateY(-50%);}
.page_youth_program .p_tab_cont .p_plan.m_type_01 ol > li::after {left: 210px;}
.page_youth_program .p_tab_cont .p_plan ol > li:last-child::after {display: none;}
.page_youth_program .p_tab_cont .p_plan .p_item {display: flex; flex-direction: column; align-items: center; justify-content: center; width: 184px; padding: 36px 24px; border: 1px solid #ccc; border-radius: 20px; text-align: center; background-color: #fff;}
.page_youth_program .p_tab_cont .p_plan .p_ico {margin-bottom: 28px;}
.page_youth_program .p_tab_cont .p_plan .p_txt {display: block; color: var(--themesColor); font-weight: 500;}
.page_youth_program .p_tab_cont .p_plan .p_date {margin-top: 4px; color: #222;}

.page_program_list {display: flex; gap: 24px; justify-content: space-between;}
.page_program_list .p_left {width: 360px;}
.page_program_list .p_left .p_search_box {display: flex; width: 100%; max-width: 100%; gap: 8px; margin-bottom: 24px;}
.page_program_list .p_left .p_search_box .p_it_box {width: 100%; position: relative;}
.page_program_list .p_left .p_search_box .p_it_box .p_it {width: 100%; height: 48px; padding: 0 40px 0 16px; border-radius: 5px;}
.page_program_list .p_left .p_search_box .p_it_box .p_del {display: none; width: 24px; height: 24px; align-items: center; justify-content: center; position: absolute; right: 10px; top: calc(50% - 12px);}
.page_program_list .p_left .p_search_box .p_it_box .p_it:not(:placeholder-shown) + .p_del { display: flex; }
.page_program_list .p_left .p_search_box .p_btn {display: flex; height: 48px; padding: 0 28px; gap: 8px; align-items: center; justify-content: center; color: #fff; font-weight: 500; background-color: #757575; border-radius: 5px; flex-shrink: 0;}
.page_program_list .p_left .p_search_box .p_it_box:has(.p_it:not(:placeholder-shown)) + .p_btn {background-color: var(--themesColor);}
.page_program_list .p_left .p_search_box .p_btn img {max-width: none;}
.page_program_list .p_left .p_filter_wrap {border: 1px solid #ddd; border-radius: 5px;}
.page_program_list .p_left > .p_mo_filter {display: none;}
.page_program_list .p_left .p_filter_wrap :is(.p_mo_control, .p_mo_filter, .p_mo_btn) {display: none;}
.page_program_list .p_left .p_filter_wrap .p_inner > div {padding: 24px 16px;}
.page_program_list .p_left .p_filter_wrap .p_inner > div + div {border-top: 1px solid #ddd;}
.page_program_list .p_left .p_filter_wrap .p_inner > div:first-child + div {border-top: 2px solid #ddd;}
.page_program_list .p_left .p_filter_wrap .p_inner .p_head {display: flex; justify-content: space-between; align-items: center;}
.page_program_list .p_left .p_filter_wrap .p_inner .p_tit {display: block; margin-bottom: 24px; font-weight: 600; color: #222;}
.page_program_list .p_left .p_filter_wrap .p_inner .p_list li + li {margin-top: 12px;}
.page_program_list .p_left .p_filter_wrap .checkbox {position: relative; padding-left: 28px;}
.page_program_list .p_left .p_filter_wrap .checkbox em {position: absolute; left: 0; top: 0;}
.page_program_list .p_left .p_filter_wrap .checkbox span {padding: 0; top: 0;}
.page_program_list .p_right {width: 700px;}
.page_program_list .p_right .p_tab_btn {display: flex; margin-bottom: 24px; border-bottom: 2px solid #666;}
.page_program_list .p_right .p_tab_btn li {flex: 1;}
.page_program_list .p_right .p_radiobox {display: block;}
.page_program_list .p_right .p_radiobox input[type="radio"] {width: 0; height: 0; overflow: hidden; border: solid 0px #fff; opacity: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.page_program_list .p_right .p_radiobox span {display: flex; padding: 13px; align-items: center; color: #666; cursor: pointer; justify-content: center; position: relative;}
.page_program_list .p_right .p_radiobox input[type="radio"]:checked + span {background-color: #222; color: #fff; font-weight: 600; border-radius: 5px 5px 0 0;}
.page_program_list .p_right .p_radiobox input[type="radio"]:checked + span::before {content: ''; width: 6px; height: 6px; margin-right: 8px; border-radius: 99px; background-color: #fff;}
.page_program_list .p_right .p_conts .p_section + .p_section {margin-top: 24px;}
.page_program_list .p_right .p_conts.m_no_padding .p_section + .p_section {margin-top: 64px;}
.page_program_list .p_right .p_section {padding: 24px 32px; border-radius: 5px; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.07);}
.page_program_list .p_right .p_conts.m_no_padding .p_section {padding: 0; box-shadow: none;}
.page_program_list .p_right .p_section .p_label {display: inline-block; margin-bottom: 18px; padding: 6px 12px; border-radius: 999px; border: 1px solid #222; color: #222; font-size: 14px; font-weight: 600;}
.page_program_list .p_right .p_section .p_tit {margin-bottom: 18px; font-size: 16px; color: #222; font-weight: 700;}
.page_program_list .p_right .p_section .p_info {display: flex; margin-bottom: 18px; justify-content: center; align-items: center; padding: 13px 40px; gap: 24px; background-color: #F8F8F8; border-radius: 5px; flex-wrap:wrap;}
.page_program_list .p_right .p_section .p_info li {display: inline-flex; align-items: center; gap: 4px;}
.page_program_list .p_right .p_section .p_desc {margin-bottom: 18px; color: #757575;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;}
.page_program_list .p_right .p_section .p_table {display:grid; grid-template-columns:110px 1fr; border: 1px solid #ddd;}
.page_program_list .p_right .p_section .p_table dt {padding: 10px 16px; background-color: #FAFAFA; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd;word-break: keep-all; text-align:center;}
.page_program_list .p_right .p_section .p_table dd .p_person {display: flex; border-bottom: 1px solid #ddd;}
.page_program_list .p_right .p_section .p_table dd .p_person span {display: inline-flex; flex: 1; padding: 10px 16px; align-items: flex-start; position: relative;}
.page_program_list .p_right .p_section .p_table dd .p_person span + span::after {content: ''; width: 1px; height: 14px; background-color: #ddd; position: absolute; left: 0; top: calc(50% - 7px);}
.page_program_list .p_right .p_section .p_table dd .p_person .p_name {color: #222; font-weight: 500;}
.page_program_list .p_right .p_section .p_head {margin-bottom: 16px;}
.page_program_list .p_right .p_section .p_head .p_head_label {display: inline-block; padding: 6px 16px; border-radius: 10px 10px 0 0; color: #fff; font-size: 16px; font-weight: 500;background-color:#666;}
.page_program_list .p_right .p_section .p_head.m_yellow .p_head_label {background-color: #FF9700;}
.page_program_list .p_right .p_section .p_head.m_yellow .p_info_box {background-color: #FFFBF4;}
.page_program_list .p_right .p_section .p_head.m_red .p_head_label {background-color: #D61F2E;}
.page_program_list .p_right .p_section .p_head.m_red .p_info_box {background-color: #FAF5F5;}
.page_program_list .p_right .p_section .p_head.m_green .p_head_label {background-color: #0FB863;}
.page_program_list .p_right .p_section .p_head.m_green .p_info_box {background-color: #F5FAF7;}
.page_program_list .p_right .p_section .p_head.m_cyan .p_head_label {background-color: #1FB8D6;}
.page_program_list .p_right .p_section .p_head.m_cyan .p_info_box {background-color: #F5F9FA;}
.page_program_list .p_right .p_section .p_head.m_blue .p_head_label {background-color: #1F5CD6;}
.page_program_list .p_right .p_section .p_head.m_blue .p_info_box {background-color: #F5F6FA;}
.page_program_list .p_right .p_section .p_head.m_purple .p_head_label {background-color: #5C1FD6;}
.page_program_list .p_right .p_section .p_head.m_purple .p_info_box {background-color: #F6F5FA;}
.page_program_list .p_right .p_section .p_head.m_magenta .p_head_label {background-color: #D61F8A;}
.page_program_list .p_right .p_section .p_head.m_magenta .p_info_box {background-color: #FAF5F8;}
.page_program_list .p_right .p_section .p_head .p_info_box {margin-bottom: 11px; padding: 16px;}
.page_program_list .p_right .p_section .p_head .p_info_box .p_tit {margin-bottom: 16px; font-size: 16px;}
/* 1. 상위 ul: 한 줄(flex) 유지 및 상단 정렬 */
.page_program_list .p_right .p_section .p_head .p_items {
    display: flex;
    align-items: flex-start; /* 장소명이 2줄이 되어도 아이콘과 첫 줄 텍스트 높이 맞춤 */
    gap: 20px;               /* 간격이 너무 넓으면 20px 정도로 조정 */
}

/* 2. 공통 li 구조 */
.page_program_list .p_right .p_section .p_head .p_items li {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
}

/* 3. 날짜(1번째) & 시간(2번째): 절대 줄어들거나 줄바꿈되지 않게 고정 */
.page_program_list .p_right .p_section .p_head .p_items li:nth-child(-n+2) {
    flex-shrink: 0;      /* 남은 공간이 부족해도 찌그러지지 않음 */
    white-space: nowrap; /* 텍스트 줄바꿈 방지 */
}

/* 4. 장소(3번째): 한 줄 내 남은 가로 공간을 모두 차지하고 내부에서만 줄바꿈 */
.page_program_list .p_right .p_section .p_head .p_items li:nth-child(3) {
    flex: 1;             /* 남은 가로 공간 자동 채움 */
    min-width: 0;        /* Flex 자식 요소가 줄바꿈되도록 하는 핵심 속성 */
    white-space: normal; /* 장소명이 길면 내부에서 자연스럽게 줄바꿈 */
    word-break: keep-all;/* 단어 단위로 깔끔하게 줄바꿈 (영문 기준 break-word 적용 가능) */
}

/* 5. 아이콘 보정: 텍스트가 2줄 이상이 되어도 아이콘이 첫 줄에 위치하도록 설정 */
.page_program_list .p_right .p_section .p_head .p_items li img {
    flex-shrink: 0;
    margin-top: 3px;     /* 폰트 높이에 맞게 미세 조절 */
}
/*.page_program_list .p_right .p_section .p_head .p_items {display: flex; gap: 27px;}*/
/*.page_program_list .p_right .p_section .p_head .p_items li {display: inline-flex; gap:4px; align-items: center;}*/
/*.page_program_list .p_right .p_section .p_head .p_items li:nth-child(3) {max-width: 55%; word-break:auto-phrase;}*/
.page_program_list .p_right .p_section .p_head .p_desc {padding: 0 16px;}
.page_program_list .p_right .p_section .p_label_01 {display: inline-block; margin-bottom: 10px; padding: 6px 12px; border-radius: 999px; color: #fff; background-color: #666; font-size: 16px; font-weight: 500;}
.page_program_list .p_right .p_section .p_person_item {display: flex; margin-bottom: 16px;}
.page_program_list .p_right .p_section .p_person_item span {display: inline-flex; flex: 1; padding: 10px 16px; align-items: flex-start; position: relative; flex-wrap:wrap}
.page_program_list .p_right .p_section .p_person_item span + span::after {content: ''; width: 1px; height: 14px; background-color: #ddd; position: absolute; left: 0; top: calc(50% - 7px);}
.page_program_list .p_right .p_section .p_person_item .p_name {color: #222; font-weight: 500;}
.page_program_list .p_right .p_section .p_speaker_cont {display: flex; padding: 10px 16px; gap: 16px;}
.page_program_list .p_right .p_section .p_speaker_code {display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;}
.page_program_list .p_right .p_section .p_speaker_code .p_code {color: #444; font-weight: 500;}
.page_program_list .p_right .p_section .p_speaker_code .p_txt {color: #757575;}
.page_program_list .p_right .p_section .p_speaker_desc {color: #222;}
.page_program_list .p_right .p_section .p_speaker_person {display: flex; border-bottom: 1px solid #B4B4B4; background-color: #FAFAFA;}
.page_program_list .p_right .p_section .p_speaker_person span {display: inline-block; flex: 1; padding: 16px; align-items: flex-start; position: relative;}
.page_program_list .p_right .p_section .p_speaker_person span + span::after {content: ''; width: 1px; height: 14px; background-color: #ddd; position: absolute; left: 0; top: calc(50% - 7px);}
.page_program_list .p_right .p_section .p_speaker_person .p_name {color: #222; font-weight: 500;}
/* ===================================================
   Program Card Image & Description Responsive Style
   =================================================== */

/* PC 기본: 이미지(좌) + 텍스트(우) 가로 배치 */
.page_program_list .p_right .p_section .p_head .p_thumb_box {
    display: flex;
    gap: 28px;
    padding: 16px;
    align-items: flex-start;
}

/* 이미지 래퍼 박스 고정 폭 지정 */
.page_program_list .p_right .p_section .p_head .p_thumb_box .p_img_wrap {
    width: 150px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.page_program_list .p_right .p_section .p_head .p_thumb_box .p_img_wrap img {
    width: 100%;
    height: auto;
    display: block;
}

/* 설명글 영역 패딩 보정 및 자동 폭 조절 */
.page_program_list .p_right .p_section .p_head .p_thumb_box .p_desc {
    flex: 1;
    padding: 0;
    margin-bottom: 0;
    -webkit-line-clamp: initial; /* 텍스트 잘림 방지 (필요시 수치 지정) */
}


/* ===================================================
   반응형 (모바일: 768px 이하)
   =================================================== */
@media (max-width: 768px) {
    /* 모바일: 이미지(상) + 텍스트(하) 세로 정렬 전환 */
    .page_program_list .p_right .p_section .p_head .p_thumb_box {
        flex-direction: column;
        gap: 20px;
        padding: 16px 0 0;
    }

    /* 모바일 포스터 이미지 100% 가로 확장 */
    .page_program_list .p_right .p_section .p_head .p_thumb_box .p_img_wrap {
        width: 100%;
    }
}

.page_program_view_01 .p_title {margin-bottom: 24px; font-size: 20px; color: #222; font-weight: 700;}
.page_program_view_01 .p_info {display: flex; margin-bottom: 24px; justify-content: center; align-items: center; padding: 13px 40px; background-color: #F8F8F8; border-radius: 5px;}
.page_program_view_01 .p_info li {display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 4px;}
.page_program_view_01 .p_desc {color: #757575;}
.page_program_view_01 .p_contents {margin-top: 64px;}
.page_program_view_01 .p_contents .p_section + .p_section {margin-top: 48px;}
.page_program_view_01 .p_contents .p_label {display: inline-block; padding: 6px 16px; color: #fff; font-weight: 500; border-radius: 999px; background: #666;}
.page_program_view_01 .p_contents .p_list {margin-top: 24px;}
.page_program_view_01 .p_contents .p_list li {display: flex; padding: 36px 90px; gap: 52px; border-radius: 7px; box-shadow: 0 0 46.667px 0 rgba(0, 0, 0, 0.05);}
.page_program_view_01 .p_contents .p_list li + li {margin-top: 24px;}
.page_program_view_01 .p_contents .p_img {display: flex; width: 180px; height: 180px; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0;}
.page_program_view_01 .p_contents .p_img img {display: block; width:100%; height:100%;object-fit:cover;border-radius: 9999px;}
.page_program_view_01 .p_contents .p_txt_box { flex:1;}
.page_program_view_01 .p_contents .p_txt_box .p_name {display: block; margin-bottom: 16px; font-size: 20px; font-weight: 600; color: #222;}
.page_program_view_01 .p_contents .p_txt_box .p_person_info {display: flex; margin-bottom: 32px; align-items: center;}
.page_program_view_01 .p_contents .p_txt_box .p_person_info span {flex: 1; position: relative; text-align: center;}
.page_program_view_01 .p_contents .p_txt_box .p_person_info span + span::after {content: ''; width: 1px; height: 14px; background-color: #ddd; position: absolute; left: 0; top: calc(50% - 7px);}
.page_program_view_01 .p_contents .p_txt_box .p_person_info .p_name {margin-bottom: 0; text-align: left;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_01 {display: block; margin-bottom: 16px; padding-bottom: 16px; color: #222; border-bottom: 1px solid #ddd;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_02 {display: block; color: #757575;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_head {display: flex; margin-bottom: 16px; padding: 16px 0; border-bottom: 1px solid #ddd;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_head .p_code_box { display: flex;flex-direction: column;justify-content: flex-start;align-items: flex-start;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_head .p_code_box .p_code {color: #444; font-weight: 500;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_head .p_code_box .p_txt {color: #757575;}
.page_program_view_01 .p_contents .p_txt_box .p_txt_head .p_desc {padding: 0 16px; color: #222; font-weight: 500;}
/* ===================================================
   Program Detail Page Custom Image Area Style
   =================================================== */

/* 포스터/이미지 정렬 및 여백 감싸기 */
.page_program_view_01 #customImageArea {
    margin-top: 40px;
    text-align: center;
}
.page_program_view_01 #customImageArea .customMultiArea {
    display:flex; gap:40px; justify-content : center;
}

/* 이미지 액자 스타일 (고해상도/세로형 포스터 대응) */
.page_program_view_01 #customImageArea img {
    max-width: 100%;
    max-height: 650px; /* 고해상도 세로 포스터가 화면을 과도하게 채우는 현상 방지 */
    width: auto;
    height: auto;
    display: inline-block;
    border-radius: 8px;
    border: 1px solid #eaeaea;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07); /* 액자 느낌의 은은한 그림자 */
    object-fit: contain;
}

/* 이미지 동적 로딩 시 빈 영역 숨김 처리 */
.page_program_view_01 #customImageArea:empty {
    display: none;
}

/* 반응형 (모바일 768px 이하) */
@media (max-width: 768px) {
    .page_program_view_01 #customImageArea {
        margin-top: 24px;
    }
    .page_program_view_01 #customImageArea .customMultiArea {
        flex-direction:column;
    }

    .page_program_view_01 #customImageArea img {
        max-height: 480px;
        border-radius: 6px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    }
}


.page_program_view_02 .i_title_03 {margin-bottom: 40px;}
.page_program_view_02 .p_profile {display: flex; padding: 48px 66px; gap: 52px; border-radius: 7px; box-shadow: 0 0 46.667px 0 rgba(0, 0, 0, 0.05);}
.page_program_view_02 .p_profile .p_img {display: flex; width: 232px; height: auto; align-items: flex-start; justify-content: center; overflow: hidden; flex-shrink: 0;}
.page_program_view_02 .p_profile .p_img img {display: block; width:100%; height:100%;object-fit:cover;border-radius: 9999px; max-height: 232px;}
.page_program_view_02 .p_profile .p_txt_box .p_name {display: block; margin-bottom: 8px; font-size: 20px; color: #222; font-weight: 600;}
.page_program_view_02 .p_profile .p_txt_box .p_txt_01 {display: block; margin-bottom: 8px; color: #444;}
.page_program_view_02 .p_profile .p_txt_box .p_txt_02 {display: block; color: #444;}
.page_program_view_02 .p_profile .p_txt_box .p_desc {display: block; margin-top: 16px; padding-top: 16px; color: #757575; border-top: 1px solid #ddd;}
.page_program_view_02 .p_list > li {padding: 24px 172px 24px 32px; border-radius: 5px; box-shadow: 0 0 46.667px 0 rgba(0, 0, 0, 0.05); position: relative;}
.page_program_view_02 .p_list > li + li {margin-top: 24px;}
.page_program_view_02 .p_list .p_tit {margin-bottom: 18px; color: #222; font-weight: 700;}
.page_program_view_02 .p_list .p_info {display: flex; margin-bottom: 18px; justify-content: center; align-items: center; padding: 13px 40px; background-color: #F8F8F8; border-radius: 5px;}
.page_program_view_02 .p_list .p_info li {display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 4px;}
.page_program_view_02 .p_list .p_info li:nth-child(3) {min-width:50%;}
.page_program_view_02 .p_list .p_desc {color: #757575; display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;}
.page_program_view_02 .p_list .p_link {display: block; width: 56px; height: 56px; border-radius: 14px; font-size: 20px; border: 1px solid #ccc; color: #5F6368; position: absolute; right: 56px; top: calc(50% - 28px); transition: color 0.3s, border 0.3s;}
.page_program_view_02 .p_list .p_link:hover {color: var(--themesColor); border: 1px solid var(--themesColor);}


@media(max-width: 1300px){
    .page_youth_program .p_tab_cont .p_plan ol > li::after {left: 185px;}
    .page_youth_program .p_tab_cont .p_plan.m_type_01 ol > li::after {left: 185px;}
}
@media(max-width: 1200px){
    .main_visual_its {padding: 200px 20px 80px;}
    .main_visual_its .i_txt_box {margin-bottom: 60px;}
    .main_visual_its .i_btn_box {position: static; gap: 20px; margin-top: 50px;}
    .main_visual_its .i_btn_box .i_btn {padding: 26px 20px; gap: 10px; font-size: 15px; border-radius: 15px;}
    .main_visual_its .i_btn_box .i_btn .i_ico {width: 42px;}
    .main_visual_its .i_btn_box .i_btn .i_arr {width: 40px;}
    .page_technical_visit .p_slider .slick-slide {/*width: 320px;*/ width: calc(50vw - 168px); margin-right: 16px;}
    .page_technical_visit .p_slider .p_item {width: calc(50vw - 168px); height: 25vw; border-radius: 5px; overflow: hidden;}
}
@media(max-width: 768px){
    .main_visual_its {min-height: auto; padding: 106px 16px 80px;height: auto;max-height: none;}
    .main_visual_its .i_txt_box {margin-bottom: 36px;}
    .main_visual_its .i_txt_box .i_title {margin-bottom: 32px; font-size: 30px;}
    .main_visual_its .i_txt_box .i_subtitle {margin-bottom: 32px; font-size: 14px;}
    .main_visual_its .i_txt_box .i_info {padding-left: 6px; font-size: 13px;}
    .main_visual_its .i_txt_box .i_info .i_date {font-weight: 500;}
    .main_visual_its .i_btn_box {gap: 20px; flex-direction: column;}
    .main_visual_its .i_btn_box .i_btn {padding: 26px 20px; gap: 20px; font-size: 15px; border-radius: 15px;}
    .main_visual_its .i_btn_box .i_btn .i_ico {width: 42px;}
    .main_visual_its .i_btn_box .i_btn .i_arr {width: 40px;}

    .main_list_custom .i_inner > div.main_dates {margin-top: 0;}
    .main_dates {overflow: hidden;}
    .main_dates .p_title {margin-bottom: 32px; font-size: 20px;}
    .main_dates .p_list {gap: 0; flex-direction: column;}
    .main_dates .p_list li {max-width: 100%; margin: 16px 0; position: relative;}
    .main_dates .p_list li:nth-child(even)::after {content: ''; width: 100vw; height: calc(100% + 32px); background-color: rgba(102, 102, 102, 0.2); position: absolute; left: -8px; top: -16px;}

    .main_its_city {padding: 24px 16px;}
    .main_its_city .p_title {margin-bottom: 24px; font-size: 24px;}
    .main_its_city .p_desc {margin-bottom: 16px;}
    .main_its_city .p_list {flex-direction: column; gap: 16px;}
    .main_its_city .p_list li p {padding: 16px; font-size: 16px;}

    .page_greeting .p_tab_btn {margin-bottom: 12px; gap: 12px;}
    .page_greeting .p_tab_btn .p_radiobox span {padding: 8px; font-size: 13px; border-radius: 3px}
    .page_greeting .p_list li {flex-direction: column; padding: 20px 16px; gap: 20px; border-radius: 5px;}
    .page_greeting .p_list li + li {margin-top: 8px;}
    .page_greeting .p_list li .p_photo {width: 100%; text-align: center;}
    .page_greeting .p_list li .p_photo img {width: 150px;}
    .page_greeting .p_list li .p_photo .p_name {margin-top: 10px; font-size: 12px;}
    .page_greeting .p_list li .p_text {font-size: 10px;}

    .page_sponsors .p_grade {margin-bottom: 40px;}
    .page_sponsors .p_grade .p_list {gap: 16px; flex-wrap: wrap; padding: 24px 0;}
    .page_sponsors .p_grade .p_list li {width: 100%; padding: 0 24px;}
    .page_sponsors .p_grade .p_list .p_link .p_logo {height: 40px;}
    .page_sponsors .p_grade .p_list .p_link .p_logo img {max-height: 40px;}

    .page_sponsors_type_02 .p_grade {margin-bottom: 40px;}
    .page_sponsors_type_02 .p_grade .p_tit {margin-bottom: 30px;}
    .page_sponsors_type_02 .p_grade .p_list {gap: 16px; flex-wrap: wrap;}
    .page_sponsors_type_02 .p_grade .p_list li {width: 100%; flex: none; padding: 0 24px;}
    .page_sponsors_type_02 .p_grade .p_list .p_link .p_logo {height: 40px;}
    .page_sponsors_type_02 .p_grade .p_list .p_link .p_logo img {max-height: 40px;}

    .page_sponsors_type_03 .p_grade {margin-bottom: 60px;}
    .page_sponsors_type_03 .p_grade .p_tit {margin-bottom: 40px;}
    .page_sponsors_type_03 .p_grade .p_list li {width: 100%; padding: 0 24px;}
    .page_sponsors_type_03 .p_grade .p_logo {justify-content: center;}
    .page_sponsors_type_03 .p_grade .p_name {margin-top: 16px; font-size: 14px;}
    .page_sponsors_type_03 .p_grade.m_diamond .p_logo {height: 100px;}
    .page_sponsors_type_03 .p_grade.m_emerald .p_logo {height: 90px;}
    .page_sponsors_type_03 .p_grade.m_platinum .p_logo {height: 80px;}
    .page_sponsors_type_03 .p_grade.m_gold .p_logo {height: 70px;}
    .page_sponsors_type_03 .p_grade.m_silver .p_logo {height: 60px;}
    .page_sponsors_type_03 .p_grade.m_bronze .p_logo {height: 50px;}
    .page_sponsors_type_03 .p_grade.m_diamond .p_logo img {max-height: 70px;}
    .page_sponsors_type_03 .p_grade.m_emerald .p_logo img {max-height: 60px;}
    .page_sponsors_type_03 .p_grade.m_platinum .p_logo img {max-height: 50px;}
    .page_sponsors_type_03 .p_grade.m_gold .p_logo img {max-height: 40px;}
    .page_sponsors_type_03 .p_grade.m_silver .p_logo img {max-height: 30px;}
    .page_sponsors_type_03 .p_grade.m_bronze .p_logo img {max-height: 20px;}

    .page_sponsors_type_04 .p_section {padding: 0;}
    .page_sponsors_type_04 .p_section + .p_section {margin-top: 48px;}
    .page_sponsors_type_04 .p_section ul {flex-direction: column; gap: 0;}
    .page_sponsors_type_04 .p_section ul li {padding: 32px 0;}
    .page_sponsors_type_04 .p_section ul li + li::after {width: calc(100% - 32px); height: 1px; left: 16px;}
    .page_sponsors_type_04 .p_section .p_grade .p_tit {font-size: 18px;}
    .page_sponsors_type_04 .p_section .p_grade.m_emerald .p_tit {padding: 12px 90px;}
    .page_sponsors_type_04 .p_section .p_grade.m_platinum .p_tit {padding: 11px 70px;}
    .page_sponsors_type_04 .p_section .p_grade.m_gold .p_tit {padding: 10px 56px;}
    .page_sponsors_type_04 .p_section .p_grade.m_silver .p_tit {padding: 9px 46px;}
    .page_sponsors_type_04 .p_section .p_grade.m_bronze .p_tit {padding: 8px 56px;}
    .page_sponsors_type_04 .p_section .p_grade.m_emerald .p_link .p_logo {height: 110px;}
    .page_sponsors_type_04 .p_section .p_grade:is(.m_platinum, .m_gold) .p_link .p_logo {height: 90px;}
    .page_sponsors_type_04 .p_section .p_grade:is(.m_silver, .m_bronze, .m_media) .p_link .p_logo {height: 60px;}
    .page_sponsors_type_04 .p_section .p_grade.m_emerald .p_link .p_logo img {height: 50px; max-height: 50px;}
    .page_sponsors_type_04 .p_section .p_grade:is(.m_platinum, .m_gold) .p_link .p_logo img {height: 40px; max-height: 40px;}
    .page_sponsors_type_04 .p_section .p_grade:is(.m_silver, .m_bronze, .m_media) .p_link .p_logo img {height: 30px; max-height: 30px;}

    .page_sponsors_type_05 .p_section {padding: 0;}
    .page_sponsors_type_05 .p_section + .p_section {margin-top: 30px;}
    .page_sponsors_type_05 .p_section .p_list {flex-direction: column; gap: 0;}
    .page_sponsors_type_05 .p_section .p_list li {padding: 32px 0;}
    .page_sponsors_type_05 .p_section .p_list li + li::after {width: calc(100% - 32px); height: 1px; left: 16px;}
    .page_sponsors_type_05 .p_section .p_tit {font-size: 18px;}
    .page_sponsors_type_05 .p_section.m_emerald .p_tit {padding: 12px 90px; width:auto;}
    .page_sponsors_type_05 .p_section.m_platinum .p_tit {padding: 11px 70px; width:auto;}
    .page_sponsors_type_05 .p_section.m_gold .p_tit {padding: 10px 56px;}
    .page_sponsors_type_05 .p_section.m_silver .p_tit {padding: 9px 46px;}
    .page_sponsors_type_05 .p_section.m_bronze .p_tit {padding: 8px 56px;}
    .page_sponsors_type_05 .p_section.m_special .p_tit {padding: 7px 30px;}
    .page_sponsors_type_05 .p_section.m_emerald .p_link .p_logo img {height: 50px; max-height: 50px;}
    .page_sponsors_type_05 .p_section:is(.m_platinum, .m_gold) .p_link .p_logo img {height: 40px; max-height: 40px;}
    .page_sponsors_type_05 .p_section:is(.m_silver, .m_bronze, .m_media) .p_link .p_logo img {height: 30px; max-height: 30px;}

    .page_exhibition .p_tab_btn {width: calc(100% + 32px); margin-left: -16px; margin-bottom: 16px; padding: 0 16px; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
    .page_exhibition .p_tab_btn .p_radiobox span {padding: 14px 10px; white-space: nowrap; font-size: 14px;}
    .page_exhibition .p_search_box {margin-bottom: 16px; gap: 8px;}
    .page_exhibition .p_list li {min-height: auto; padding: 0; gap: 0; align-items: center; flex-wrap: wrap;}
    .page_exhibition .p_list li:nth-child(even)::after {content: ''; width: calc(100% + 32px); height: 100%; background-color: #FAFAFA; position: absolute; left: -16px; top: 0; z-index: -1;}
    .page_exhibition .p_list .p_code {width: 60px; height: 77px; font-size: 14px;}
    .page_exhibition .p_list .p_code::after {height: 60px; top: 8px;}
    .page_exhibition .p_list .p_logo {width: auto; height: 77px; padding-right: 70px; flex: 1; position: relative;}
    .page_exhibition .p_list .p_logo::after {content: ''; width: 1px; height: 60px; background-color: #eee; position: absolute; right: 68px; top: 50%; transform: translateY(-50%);}
    .page_exhibition .p_list .p_logo img {max-height: 65px; max-width:150px;}
    .page_exhibition .p_list .p_txt_box {width: 100%; padding: 16px 0; border-top: 1px dashed #ddd;}
    .page_exhibition .p_list .p_txt_box .p_name {margin-bottom: 4px; font-size: 14px;}
    .page_exhibition .p_list .p_txt_box .p_desc {font-size: 12px;}
    .page_exhibition .p_list .p_link {width: 48px; height: 48px; background-size: cover; right: 0; top: 14px;}

    .page_demonstrations .p_title {margin-bottom: 16px; padding-left: 16px; font-size: 18px;}
    .page_demonstrations .p_title::after {top: 7px;}
    .page_demonstrations .p_section {margin-bottom: 48px;}
    .page_demonstrations .p_section .p_tit {font-size: 16px;}
    .page_demonstrations .p_section .p_figure {margin-bottom: 24px;}
    .page_demonstrations .p_section .p_figure .p_caption br {display: none;}
    .page_demonstrations .p_section .p_image_box {padding: 24px 16px;}
    .page_demonstrations .p_section .p_image_box .p_list {gap: 24px;}
    .page_demonstrations .p_section .p_image_box .p_list li {width: 100%;}
    .page_demonstrations .p_section .p_image_box .p_name {margin-bottom: 8px;}
    .page_demonstrations .p_section .p_image_box .p_info li + li {margin-top: 8px;}

    .page_technical_visit .p_section {margin-bottom: 48px;}
    .page_technical_visit .p_title {padding-left: 16px; font-size: 18px;}
    .page_technical_visit .p_title::after {top: 7px;}
    .page_technical_visit .p_tours_box {flex-wrap: wrap;}
    .page_technical_visit .p_tours_box > div {width: 100%; padding: 16px;}
    .page_technical_visit .p_tours_box .p_tit {margin-bottom: 14px;}
    .page_technical_visit .p_slider {margin-bottom: 14px;}
    .page_technical_visit .p_slider .slick-slide {/*width: 180px;*/ width: 100%;max-width:calc(100vw - 64px); margin-right: 10px;}
    .page_technical_visit .p_slider .p_item {width: 180px; /*height: 135px;*/ height: 50vw;}
    .page_technical_visit .p_info_box_01 dl + dl {margin-top: 13px;}
    .page_technical_visit .p_info_box_01 dt {margin-bottom: 5px;}

    .page_event .p_title {margin-bottom: 24px; font-size: 24px;}
    .page_event .p_title span {font-size: 18px;}
    .page_event .p_title_01 {margin-bottom: 16px; font-size: 18px;}
    .page_event .p_title_01::after {top: 8px;}
    .page_event .p_txt_box {margin-bottom: 20px; gap: 16px; flex-direction: column;}
    .page_event .p_txt_box img {width: 100%;}
    .page_event .p_list {padding: 26px; background-color: #FAFAFA;}
    .page_event .p_list > li {gap: 16px; flex-direction: column-reverse; }
    .page_event .p_list > li + li {margin-top: 36px;}
    .page_event .p_list > li .p_info {padding: 0;}
    .page_event .p_list .p_tit {margin-bottom: 16px;}
    .page_event .p_list .p_meta {margin-bottom: 16px; flex-direction: column; gap: 8px;}

    .page_overview .p_txt_box_01 {margin-bottom: 24px;}
    .page_overview .p_txt_box_02 {flex-direction: column; margin-bottom: 40px; gap: 24px;}
    .page_overview .p_txt_box_03 {margin-bottom: 40px;}
    .page_overview .p_txt_box_03 .p_tit {margin-bottom: 40px; font-size: 20px;}
    .page_overview .p_txt_box_04 .p_tit {font-size: 20px;}

    .page_overview .p_tab_cont {padding: 32px 16px;}
    .page_overview .p_tab_cont .p_tit {margin-bottom: 16px; font-size: 20px;}
    .page_overview .p_tab_cont .p_desc {margin-bottom: 16px;}
    .page_overview .p_tab_cont .p_txt {margin-bottom: 24px;}

    .page_committee .p_title {margin-bottom: 16px; font-size: 18px;}
    .page_committee .p_title::after {top: 8px;}
    .page_committee .p_sec_01 {margin-bottom: 30px;}
    .page_committee .p_committee {padding: 24px 16px;}
    .page_committee .p_committee .p_tit::after {height: 36px;}
    .page_committee .p_committee .p_tit .p_btn {max-width: 100%;}
    .page_committee .p_committee .p_list {padding-top: 36px; flex-direction: column; gap: 16px;}
    .page_committee .p_committee .p_list li {flex: 1; position: relative;}
    .page_committee .p_committee .p_list li::after {height: 16px;}
    .page_committee .p_committee .p_list li::before {display: none;}

    .page_registration section + section {margin-top: 42px;}
    .page_registration .p_title {margin-bottom: 24px; font-size: 18px;}
    .page_registration .p_title::after {top: 9px;}
    .page_registration .p_sec_01 .p_txt_box {flex-direction: column; gap: 16px; align-items: flex-start;}
    .page_registration .p_sec_01 .p_txt_box span {font-size: 16px;}
    .page_registration .p_sec_04 .p_desc {margin-bottom: 24px;}
    .page_registration .p_sec_04 .p_program {border: none;}
    .page_registration .p_sec_04 .p_program .p_item {flex-direction: column; border: 1px solid #ccc;}
    .page_registration .p_sec_04 .p_program .p_item + .p_item {margin-top: 24px;}
    .page_registration .p_sec_04 .p_program .p_item > div {border-left: none; border-top: 1px solid #ccc;}
    .page_registration .p_sec_04 .p_program .p_item .p_th {border-top: none;}
    .page_registration .p_sec_04 .p_link_box {flex-direction: column; gap: 16px; margin-top: 24px; padding: 0;}
    .page_registration .p_sec_04 .p_link_box li {flex: 1;}

    .page_gangneung_tours_list .p_tab_btn {margin-bottom: 24px; gap: 8px;}
    .page_gangneung_tours_list .p_tab_btn::-webkit-scrollbar { display:none; }
    .page_gangneung_tours_list .p_list { grid-template-columns:1fr; gap:32px; }
    .page_gangneung_tours_list .p_list .p_img { aspect-ratio:328 / 265; }

    .page_gangneung_tours_view .p_title_box {margin-bottom: 30px;}
    .page_gangneung_tours_view .p_title_box .p_title {margin-bottom: 8px; font-size: 24px;}
    .page_gangneung_tours_view .p_title_box .p_desc {margin-bottom: 24px; font-size: 16px;}
    .page_gangneung_tours_view .p_title_box .p_btn_box {gap: 8px;}
    .page_gangneung_tours_view .p_txt_box_01 {margin-bottom: 24px;}
    .page_gangneung_tours_view .p_txt_box_01 .p_title {margin-bottom: 12px; font-size: 18px;}
    .page_gangneung_tours_view .p_txt_box_01 .p_title::after {top: 8px;}
    .page_gangneung_tours_view .p_txt_box_02 {margin-bottom: 24px; padding: 16px;}
    .page_gangneung_tours_view .p_txt_box_02 .p_title {margin-bottom: 12px; font-size: 18px;}
    .page_gangneung_tours_view .p_txt_box_02 .p_title::after {top: 8px;}
    .page_gangneung_tours_view .p_txt_box_02 .p_info_row{grid-template-columns: 100%;}
    .page_gangneung_tours_view .p_txt_box_02 .p_info_row + .p_info_row {margin-top: 16px; padding-top: 16px; border-top: 1px solid #ddd;}
    .page_gangneung_tours_view .p_txt_box_02 .p_info_dt{margin-bottom: 8px;}
    .page_gangneung_tours_view .p_images {margin-bottom: 24px;}
    .page_gangneung_tours_view .p_post_navi {padding-bottom: 60px;}
    .page_gangneung_tours_view .p_post_navi :is(.p_prev,.p_next) {width: calc(50% - 20px);}
    .page_gangneung_tours_view .p_post_navi .p_btn {top: auto; bottom: 0;}

    .page_access .p_h3 {margin-bottom: 24px; font-size: 24px;}
    .page_access .p_h4 {font-size: 18px;}
    .page_access .p_h4::after {top: 7px;}
    .page_access .p_route {padding: 80px 110px; padding: 45px 24px 30px;}
    .page_access .p_route::after{width: 90%; top: 85px;}
    .page_access .p_route .p_segment {top: 30px;}
    .page_access .p_route .p_segment.m_bus {left: 240px;}
    .page_access .p_route .p_segment.m_taxi {left: 740px;}
    .page_access .p_step {grid-template-columns: 1fr;}
    .page_access .p_header {padding: 16px; align-items: flex-start; text-align: left; border-right: none; border-bottom: 1px solid #ccc;}
    .page_access .p_content {padding: 16px;}
    .page_access .p_arrow {margin: 16px 0;}

    .page_youth_program .p_sec_01 {flex-direction: column; margin-bottom: 24px; gap: 8px;}
    .page_youth_program .p_tab_btn {width: 100vw; margin-left: -16px;}
    .page_youth_program .p_tab_cont {width: 100vw; margin-left: -16px; padding: 24px 16px;}
    .page_youth_program .p_tab_cont > section + section {margin-top: 36px;}
    .page_youth_program .p_tab_cont .p_tit {margin-bottom: 16px; padding-left: 18px; font-size: 18px;}
    .page_youth_program .p_tab_cont .p_tit::after {top: 8px;}
    .page_youth_program .p_tab_cont .p_info {grid-template-columns: 1fr; gap: 0;}
    .page_youth_program .p_tab_cont .p_info dt {margin-bottom: 8px;}
    .page_youth_program .p_tab_cont .p_info dd {margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #ddd;}
    .page_youth_program .p_tab_cont .p_plan {padding: 0 !important; background-color: transparent;}
    .page_youth_program .p_tab_cont .p_plan ol {grid-template-columns: 1fr !important; gap: 48px 0;}
    .page_youth_program .p_tab_cont .p_plan ol > li::after {top: 132px; left: 50% !important; transform: translateX(-50%) rotate(90deg);}
    .page_youth_program .p_tab_cont .p_plan .p_item {width: 100%; padding: 36px 24px 36px 126px; text-align: left; align-items: flex-start;}
    .page_youth_program .p_tab_cont .p_plan .p_ico {position: absolute; left: 24px; top: 50%; transform: translateY(-50%);}

    .page_program_list {flex-direction: column; gap: 16px;}
    .page_program_list .p_left {width: 100%; padding-top: 96px;}
    .page_program_list .p_left .p_search_box {margin-bottom: 16px;}
    .page_program_list .p_left .p_mo_filter {display: inline-flex; align-items: center; padding: 10px 20px; gap: 10px; font-weight: 500; border-radius: 3px; border: 1px solid #aaa;}
    .page_program_list .p_left .p_mo_filter::before {content: ''; border-left: 10px solid #5F6368; border-top: 10px solid #fff; transform: rotate(-45deg); margin-top: -5px;}
    .page_program_list .p_left .p_filter_wrap {display: none; border: none;}
    .page_program_list .p_left .p_filter_wrap[data-state="open"] {display: block; width: 100%; height: 100vh; overflow-y: auto; position: fixed; left: 0; top: 0; background-color: #fff; z-index: 100;}
    .page_program_list .p_left .p_filter_wrap :is(.p_mo_control,.p_mo_filter,.p_mo_btn) {display: block;}
    .page_program_list .p_left .p_filter_wrap .p_mo_filter {display: inline-flex;}
    .page_program_list .p_left .p_filter_wrap .p_mo_filter::before {transform: rotate(-225deg); margin-top: 5px;}
    .page_program_list .p_left .p_filter_wrap .p_mo_control {display: flex; padding: 16px; border-bottom: 1px solid #ddd; align-items: center; justify-content: space-between;}
    .page_program_list .p_left .p_filter_wrap .p_mo_control .p_close img {width: 28px;}
    .page_program_list .p_left .p_filter_wrap .p_inner > div {padding: 16px;}
    .page_program_list .p_left .p_filter_wrap .p_mo_btn {padding: 16px; border-top: 1px solid #ddd; background-color: #fff; position: sticky; bottom: 0;}
    .page_program_list .p_left .p_filter_wrap .p_mo_btn .p_btn {display: block; width: 100%; padding: 12px; border-radius: 5px; background-color: var(--themesColor); color: #fff; font-size: 14px; font-weight: 500;}
    .page_program_list .p_right {width: 100%;}
    .page_program_list .p_right .p_tab_btn {width: 100%; border-bottom: none; position: absolute; left: 0; top: 0; padding: 0 16px;}
    .page_program_list .p_right .p_radiobox span {display: flex; padding: 10px; gap: 4px; flex-direction: column-reverse;}
    .page_program_list .p_right .p_radiobox input[type="radio"]:checked + span {border-radius: 7px;}
    .page_program_list .p_right .p_radiobox input[type="radio"]:checked + span::before {margin-right: 0;}
    .page_program_list .p_right .p_conts .p_section + .p_section {margin-top: 16px;}
    .page_program_list .p_right .p_conts { padding:0 16px;}
    .page_program_list .p_right .p_section {width: calc(100vw - 32px); padding: 16px; border-radius: 0; margin-left: -16px;}
    .page_program_list .p_right .p_section .p_label {margin-bottom: 8px;}
    .page_program_list .p_right .p_section .p_tit {margin-bottom: 8px;}
    .page_program_list .p_right .p_section .p_info {margin-bottom: 8px; padding: 16px; gap: 8px; flex-direction: column; align-items: flex-start;}
    .page_program_list .p_right .p_section .p_desc {margin-bottom: 8px;}
    .page_program_list .p_right .p_section .p_desc {-webkit-line-clamp: 6;}
    .page_program_list .p_right .p_section .p_table {grid-template-columns: 1fr;}
    .page_program_list .p_right .p_section .p_table dt {padding: 4px 16px;}
    .page_program_list .p_right .p_section .p_table dd .p_person {flex-direction: column;}
    .page_program_list .p_right .p_section .p_table dd .p_person span {padding: 4px 16px;}
    .page_program_list .p_right .p_section .p_table dd .p_person span + span::after {display: none;}
    .page_program_list .p_right .p_section .p_head .p_items {flex-direction: column; gap: 16px;}
    .page_program_list .p_right .p_section .p_head .p_items li:nth-child(3) {max-width: 100%;word-break: auto-phrase;}
    .page_program_list .p_right .p_section .p_person_item {flex-direction: column; gap: 16px;}
    .page_program_list .p_right .p_section .p_person_item span {padding: 0 8px;}
    .page_program_list .p_right .p_section .p_person_item span + span::after {display: none;}
    .page_program_list .p_right .p_section .p_speaker_list {border-top: 1px solid #B4B4B4;}
    .page_program_list .p_right .p_section .p_speaker_person {flex-direction: column;}
    .page_program_list .p_right .p_section .p_speaker_person span {padding: 8px;}
    .page_program_list .p_right .p_section .p_speaker_person span + span::after {display: none;}

    .page_program_view_01 .p_title {margin-bottom: 8px; font-size: 16px;}
    .page_program_view_01 .p_info {margin-bottom: 8px; padding: 16px; gap: 8px; flex-direction: column; align-items: flex-start;}
    .page_program_view_01 .p_contents {margin-top: 24px;}
    .page_program_view_01 .p_contents .p_section {width: 100vw; padding: 24px 16px; margin-left: -16px; text-align: center; border-top: 8px solid #FAFAFA;}
    .page_program_view_01 .p_contents .p_section + .p_section {margin-top: 24px;}
    .page_program_view_01 .p_contents .p_label {padding: 6px 24px;}
    .page_program_view_01 .p_contents .p_list {margin-top: 24px;}
    .page_program_view_01 .p_contents .p_list li {padding: 0; gap: 16px; flex-direction: column; align-items: center; box-shadow: none;}
    .page_program_view_01 .p_contents .p_list li + li {margin-top: 48px;}
    .page_program_view_01 .p_contents .p_img {width: 162px; height: 162px; border-radius: 32px;}
    .page_program_view_01 .p_contents .p_txt_box .p_name {margin-bottom: 8px;}
    .page_program_view_01 .p_contents .p_txt_box .p_txt_01 {margin-bottom: 8px; padding-bottom: 8px;}
    .page_program_view_01 .p_contents .p_txt_box .p_person_info {flex-direction: column; gap: 16px;}
    .page_program_view_01 .p_contents .p_txt_box .p_person_info span + span::after {display: none;}

    .page_program_view_02 .p_section {position: relative;}
    .page_program_view_02 .i_title_03 {margin-bottom: 16px;}
    .page_program_view_02 .p_profile {padding: 0 0 16px; flex-direction: column; gap: 16px; box-shadow: none; text-align: center; align-items: center;}
    .page_program_view_02 .p_profile .p_img {width: 162px; height: 162px; border-radius: 32px;}
    .page_program_view_02 .p_profile .p_txt_box .p_name {margin-bottom: 4px;}
    .page_program_view_02 .p_profile .p_txt_box .p_txt_01 {margin-bottom: 4px;}
    .page_program_view_02 .p_profile .p_txt_box .p_desc {margin-top: 8px; padding-top: 8px;}
    .page_program_view_02 .p_section + .p_section::after {content: ''; width: 100vw; height: 8px; background-color: #FAFAFA; position: absolute; left: -16px; top: 0;}
    .page_program_view_02 .p_section + .p_section {padding-top: 24px;}
    .page_program_view_02 .p_section + .p_section .i_title_03 {margin: 0 0 24px;}
    .page_program_view_02 .p_list > li {padding: 0; box-shadow: none;}
    .page_program_view_02 .p_list > li + li {margin-top: 16px; padding-top: 24px; position: relative;}
    .page_program_view_02 .p_list > li + li::after {content: ''; width: 100vw; height: 8px; background-color: #FAFAFA; position: absolute; left: -16px; top: 0;}
    .page_program_view_02 .p_list .p_info {margin-bottom: 8px; padding: 16px; gap: 8px; flex-direction: column; align-items: flex-start;}
    .page_program_view_02 .p_list .p_link {margin-top: 24px; position: absolute; top: 70px; right: 20px;}
    .page_program_view_02 .p_list > li + li .p_link {top : 94px; }

}
/***
page_company_detail_03 : custom company Detail
***/
/* 기본 박스모델 고정 및 초기화 */
.page_company_detail_03 {margin-top:-94px;}
.page_company_detail_03 .company-detail-card,
.page_company_detail_03 .company-detail-card * {box-sizing: border-box;margin: 0;}

/* 1200px 부모 안에서 꽉 차도록 확장하는 메인 카드 */
.page_company_detail_03 .company-detail-card {background: #ffffff;border-radius: 10px;display: flex;flex-direction: column;box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.07);width: 100%; /* 부모 1200px에 꽉 맞물리도록 처리 */font-family: 'Pretendard', sans-serif;}

/* [데스크톱 기본] 상단 타이틀 바 */
.page_company_detail_03 .company-top-bar {background: #fafafa;border-radius: 10px 10px 0px 0px;padding: 16px 48px;display: flex;flex-direction: row;gap: 40px;align-items: center;border-bottom: 1px solid #eeeeee;}
.page_company_detail_03 .company-top-bar__logo {flex-shrink: 0;display: flex;align-items: center;max-height:56px; object-fit: cover;max-width: 250px;width: auto;object-position: center;}
.page_company_detail_03 .company-top-bar__logo img {height:100%;width:100%;max-height:56px;}
.page_company_detail_03 .company-top-bar__title {color: #000000;font-size: 24px;line-height: 1.55;letter-spacing: -0.02em;font-weight: 600;flex-grow: 1; /* 중간 공간 확보 */}
.page_company_detail_03 .company-top-bar__home-wrapper {flex-shrink: 0;}
.page_company_detail_03 .company-top-bar__home-btn {background: #ffffff;border-radius: 14px;border: 1px solid #cccccc;width: 56px;height: 56px;display: flex;align-items: center;justify-content: center;cursor: pointer;transition: background 0.2s ease;}
.page_company_detail_03 .company-top-bar__home-btn:hover {background: #f5f5f5;}

/* [데스크톱 기본] 본문 상세내용 영역 */
.page_company_detail_03 .company-content-body {padding: 32px 48px;display: flex;flex-direction: column;gap: 48px;}
.page_company_detail_03 .detail-info-block {display: flex;flex-direction: column;gap: 16px;}
.page_company_detail_03 .detail-info-block__label {color: #666666;font-size: 16px;line-height: 1.55;letter-spacing: -0.02em;font-weight: 400;}
.page_company_detail_03 .detail-info-block__value {color: #222222;font-size: 16px;line-height: 1.55;letter-spacing: -0.02em;font-weight: 500;}
/* 버튼 레이아웃 그룹 (데스크톱 기본: 가로 정렬) */
.page_company_detail_03 .detail-info-block__actions {display: flex;flex-direction: row;gap: 32px;}
/* 공통 버튼 디자인 스타일 */
.page_company_detail_03 .action-btn {background: #ffffff;border-radius: 5px;border: 1px solid #cccccc;padding: 8px 36px;display: inline-flex;flex-direction: row;gap: 8px;align-items: center;justify-content: center;width: 214px;height: 48px;text-decoration: none;transition: background-color 0.2s ease;}
.page_company_detail_03 .action-btn:hover {background-color: #fafafa;}
.page_company_detail_03 .action-btn__text {color: #444444;font-size: 16px;line-height: 1;letter-spacing: -0.02em;font-weight: 500;width: 110px;text-align: left;}
.page_company_detail_03 .action-btn__icon {flex-shrink: 0;}
.page_company_detail_03 .p_link {display: block;width: 56px;height: 56px;background: url(../../resources/images/its/ico_home.svg) center no-repeat;filter: grayscale(100%);opacity: 0.7;}
.page_company_detail_03 .p_link:hover{filter: grayscale(0);opacity: 1;}
/* ==========================================================================
   [반응형 분기점] 태블릿 & 모바일 영역 (768px 이하 디바이스)
   모바일 소스 코드 분석 결과를 그대로 반영하여 디자인 전환
   ========================================================================== */
@media (max-width: 768px) {
    .page_company_detail_03 {margin-top:0;}
    .sub_contents:has(.page_company_detail_03) {padding : 0;}
    /* 모바일 탑바: 세로 정렬 및 패딩 축소 */
    .page_company_detail_03 .company-top-bar {padding: 16px;flex-direction: column;gap: 16px;align-items: flex-start;}
    /* 피그마 모바일 소스 기준 로고 폭 조정 */ .company-top-bar__logo svg {width: 200px;height: auto;}
    /* 모바일 홈 버튼 위치 확보용 흐름 재조정 */ .company-top-bar__title {order: 2; /* 텍스트를 로고 바로 밑으로 배치 */}
    .page_company_detail_03 .company-top-bar__home-wrapper {order: 3; position: absolute;right: 10px;}

    /* 모바일 컨텐츠 패딩 및 아이템 간격 변경 (피그마 모바일 데이터 연동) */
    .page_company_detail_03 .company-content-body {padding: 24px 16px;gap: 32px;}
    /* 텍스트 상하 간격 좁힘 */
    .page_company_detail_03 .detail-info-block {gap: 8px;}
    /* 피그마 모바일 소스 핵심: 홍보자료 그룹 버튼을 '세로 정렬'로 바꾸고 간격을 16px로 조정 */
    .page_company_detail_03 .detail-info-block__actions--group {flex-direction: column;gap: 16px;align-items: flex-start;}
}

/* ===================================================
   Main Speakers Area Custom Style (1400px 반응형 보완본)
   =================================================== */

/* 1. Base Container & Variables */
.main_speakers_area {
    background-color: #000000;
    padding: 80px 0;
    color: #ffffff;
    --speaker-card-max-width: 210px;
}

.main_speakers_area .speaker_main_title {
    font-size: 38px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 40px;
    letter-spacing: -0.76px;
}

/* 콘텐츠 5개 카드 중앙 정렬 폭 (210px * 5 + 20px * 4 = 1130px) */
.speaker_content_wrap {
    max-width: 1130px;
    margin: 0 auto;
}

/* 2. Subtitles */
.main_speakers_area .speaker_sub_title {
    font-size: 18px;
    font-weight: 600;
    color: #53FFC6;
    margin-bottom: 24px;
    padding-left: 12px;
    border-left: 4px solid #53FFC6;
}

.main_speakers_area .speaker_section {
    margin-bottom: 60px;
}

/* 상단 래퍼 (장관회의 + 개회식) */
.speaker_top_wrap {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    margin-bottom: 60px;
}

.speaker_top_wrap .speaker_section {
    margin-bottom: 0;
}

.ministerial_grid,
.keynote_grid {
    display: flex;
    gap: 20px;
}

/* 3. Speaker Card Component (1:1 이미지 + 별도 텍스트 영역) */
.speaker_card,
.speaker_card_item {
    position: relative;
    width: var(--speaker-card-max-width);
    border-radius: 8px;
    overflow: hidden;
    background-color: #141414;
    border: 2px solid #333333;
    transition: transform 0.3s ease, border-color 0.3s ease;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.speaker_card:hover,
.speaker_card_item:hover {
    transform: translateY(-6px);
    border-color: #53FFC6;
}

.speaker_card a,
.speaker_card_item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* 상단 1:1 비율 이미지 박스 */
.speaker_card .img_box,
.speaker_card_item .img_box {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #222222;
    overflow: hidden;
}

.speaker_card .img_box img,
.speaker_card_item .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    -webkit-mask-image: none;
    mask-image: none;
}

/* 하단 텍스트 영역 */
.speaker_info {
    position: relative;
    padding: 16px 12px;
    box-sizing: border-box;
    background-color: #141414;
    border-top: 1px solid #282828;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.speaker_info .name {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.speaker_info .org {
    font-size: 12px;
    font-weight: 500;
    color: #53FFC6;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.speaker_info .position {
    font-size: 11px;
    font-weight: 400;
    color: #a0a0a0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 4. Plenary Slider Component */
.plenary_slider {
    width: 100%;
    margin: 0;
    position: relative;
}

.plenary_slider .slick-list {
    margin: -10px -10px;
    padding: 10px 0;
}

.plenary_slider .slick-slide {
    padding: 0 10px;
}

.plenary_slider .slick-prev,
.plenary_slider .slick-next {
    z-index: 10;
    width: 40px;
    height: 40px;
}

.plenary_slider .slick-prev { left: -45px; }
.plenary_slider .slick-next { right: -45px; }

/* 뱃지 공통 & 좌장(Moderator) 뱃지 스타일 */
.speaker_badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    line-height: 1.2;
    letter-spacing: -0.2px;
}

/* 좌장(MOD) 민트 반투명 뱃지 */
.badge_mod {
    background-color: rgba(83, 255, 198, 0.5); /* #53FFC6의 85% 투명도 */
    color: #000000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    left: 10px;
    right: auto;
    backdrop-filter: blur(4px); /* 뒤 배경 은은한 블러 처리 */
}

/* PL(전체회의/세션) 화이트 반투명 뱃지 */
.badge_pl {
    background-color: rgba(255, 255, 255, 0.5); /* #ffffff의 85% 투명도 */
    color: #111111;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(4px); /* 뒤 배경 은은한 블러 처리 */
}
/* 5. Responsive Breakpoints */

/* 1400px 이하: 상단 영역 세로 전환 및 컨테이너 폭 재조정 (1100px 구간 바깥 넘침 해결) */
@media (max-width: 1400px) {
    .speaker_top_wrap {
        flex-direction: column;
        gap: 40px;
    }
    .speaker_content_wrap {
        max-width: 900px; /* 카드 4개 폭 기준 (210px * 4 + 20px * 3) */
    }
    .keynote_grid,
    .ministerial_grid {
        flex-wrap: wrap;
    }
}

@media (max-width: 992px) {
    .speaker_content_wrap {
        max-width: 100%;
        padding: 0 20px;
    }
    .plenary_slider {
        max-width: calc(3 * var(--speaker-card-max-width) + 60px);
    }
}

@media (max-width: 768px) {
    .main_speakers_area {
        padding: 50px 16px;
        --speaker-card-max-width: 100%;
    }
    .main_speakers_area .speaker_main_title {
        font-size: 28px;
    }
    .main_speakers_area .speaker_sub_title {
        font-size: 18px;
    }
    .speaker_top_wrap {
        gap: 30px;
        margin-bottom: 40px;
    }
    .keynote_grid,
    .ministerial_grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .plenary_slider {
        max-width: 100%;
    }
    .plenary_slider .slick-slide {
        padding: 0 5px;
    }
    .plenary_slider .slick-prev,
    .plenary_slider .slick-next {
        display: none !important;
    }
}

/* 6. Scroll Down Button */
.scroll_down_wrap {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    text-align: center;
}

.scroll_down_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #ffffff;
    opacity: 0.85;
    transition: opacity 0.3s ease;
}

.scroll_down_btn:hover {
    opacity: 1;
}

.scroll_down_btn .arrow_icon {
    width: 52px;
    height: 34px;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2018%27%20fill%3D%27none%27%20stroke%3D%27%2300d2ff%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%203l10%206%2010-6%27/%3E%3Cpath%20d%3D%27M2%209l10%206%2010-6%27/%3E%3C/svg%3E") center no-repeat;
    background-size: contain;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.4));
    animation: bounceArrow 1.6s infinite ease-in-out;
}

@keyframes bounceArrow {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.7;
    }
    50% {
        transform: translateY(8px);
        opacity: 1;
    }
}

/* ==========================================
   ITS 프로그램표 GPT 버전
========================================== */
/* CMS scope / shared sizing. 1 row = 10 minutes; 6 rows = one hour. */
.its_editor_matrix_container.its-p {
    --its-row: 24px;
    --its-header: 56px;
    --header-rows: 2;
    --header-tracks: 26px 30px;
    --its-time: 92px;
    --its-primary: #006241;
    --its-text: #222;
    --its-muted: #59656b;
    --its-border: #ddd;
    --its-oval: #deeff9;
    --its-center: #fff0c6;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 16px 0;
    color: var(--its-text);
    background: #fff;
    font: 14px/1.4 Pretendard,"Apple SD Gothic Neo",Verdana,Arial,sans-serif;
    text-align:left;
}

.its_editor_matrix_container.its-p,.its_editor_matrix_container.its-p * {
    box-sizing:border-box;
}

.its_editor_matrix_container.its-p.its-program-standalone {
    max-width: 1500px;
    margin: 24px auto;
    padding:0 20px;
}

.its_editor_matrix_container.its-p .customArea {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding:0;
}

/* Existing CMS date-tab hooks */
.its_editor_matrix_container.its-p .p_tab_btn {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    border-bottom:1px solid var(--its-border);
}

.its_editor_matrix_container.its-p .p_tab_btn li {
    flex: 0 0 auto;
    list-style: none;
    margin: 0;
    padding:0;
}

.its_editor_matrix_container.its-p .customTab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid var(--its-border);
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background: #f5f5f5;
    color: var(--its-muted);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow:none;
}

.its_editor_matrix_container.its-p .customTab span {
    font-size: 12px;
    font-weight:400;
}

.its_editor_matrix_container.its-p .customTab:hover {
    background:#edf4f1;
}

.its_editor_matrix_container.its-p .customTab.m_on {
    background: var(--its-primary);
    border-color: var(--its-primary);
    color:#fff;
}

.its_editor_matrix_container.its-p .its-program-heading {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom:1px solid var(--its-border);
}

.its_editor_matrix_container.its-p .its-program-heading>span {
    color: var(--its-primary);
    font-weight:700;
}

.its_editor_matrix_container.its-p .its-program-heading h2 {
    margin: 0;
    padding: 0;
    color: #173b48;
    font-family: inherit;
    font-size: 26px;
    line-height: 1.25;
    white-space:nowrap;
}

/* Program Category / Session Code legend; building legend omitted. */
.its_editor_matrix_container.its-p .its-program-legends {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid var(--its-border);
    border-radius: 5px;
    background: #fafafa;
    box-shadow:none;
}

/* The shared daily title/legend uses the attached TXT's CMS hooks. */
.its_editor_matrix_container.its-p .day_tab_header_wrap {
    margin: 0;
    padding:0;
}

.its_editor_matrix_container.its-p .its-program-days {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding:0;
}

.its_editor_matrix_container.its-p .its-program-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 12px;
    color:var(--its-muted);
}

.its_editor_matrix_container.its-p .its-program-legend>strong {
    flex: 0 0 100px;
    color:#333;
}

.its_editor_matrix_container.its-p .its-program-legend>span {
    display: inline-flex;
    align-items: center;
    gap:6px;
}

.its_editor_matrix_container.its-p .its-program-legend i {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border-radius: 2px;
    background: var(--accent);
    font-style:normal;
}

.its_editor_matrix_container.its-p .its-program-hint {
    margin: 0 0 8px;
    color: var(--its-muted);
    font-size:12px;
}

/* One native horizontal scroll owner contains headers, TIME and cards.
   No separate header layer or JavaScript X-axis synchronisation is required.
   No internal vertical scrollbar; the complete timetable expands on the page. */
.its_editor_matrix_container.its-p .its-program-viewport {
    width: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--its-border);
    border-radius: 3px;
    background: #fff;
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    overscroll-behavior-x: contain;
    scrollbar-color: #aaa #f5f5f5;
    -webkit-overflow-scrolling:touch;
}

.its_editor_matrix_container.its-p .its-program-viewport.is-dragging {
    cursor: grabbing;
    user-select:none;
}

.its_editor_matrix_container.its-p .its-program-grid {
    display: grid;
    position: relative;
    width: calc(var(--its-time) + var(--width));
    min-width: 100%;
    margin: 0;
    padding: 0;
    grid-template-columns: var(--its-time) var(--columns);
    grid-template-rows: var(--header-tracks) repeat(var(--rows),var(--its-row));
    background: #fff;
    isolation:isolate;
}

/* Native sticky TIME column. Building and Room headers use the same grid. */
.its_editor_matrix_container.its-p .corner {
    grid-column: 1;
    grid-row: 1/span var(--header-rows);
    position: sticky;
    left: 0;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background: #f2f2f2;
    color: var(--its-text);
    border-right: 1px solid var(--its-border);
    border-bottom: 1px solid var(--its-border);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    cursor:default;
}

.its_editor_matrix_container.its-p .building {
    grid-column: calc(var(--x) + 1)/span var(--w);
    grid-row: 1;
    position: sticky;
    top: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 0 12px;
    background: #f2f2f2;
    border-right: 1px solid var(--its-border);
    border-bottom: 1px solid var(--its-border);
    color: #333;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    cursor:default;
}

.its_editor_matrix_container.its-p .building.ov {
    background:var(--its-oval);
}

.its_editor_matrix_container.its-p .building.cv {
    background:var(--its-center);
}

.its_editor_matrix_container.its-p .its-program-building-label {
    position: sticky;
    left: calc(var(--its-time) + 12px);
    font-size: inherit;
    font-weight:inherit;
}

.its_editor_matrix_container.its-p .v.ov {
    background:#f0f8fc;
}

.its_editor_matrix_container.its-p .v.cv {
    background:#fffbf0;
}

.its_editor_matrix_container.its-p .v {
    grid-column: calc(var(--x) + 1);
    grid-row: 2;
    position: sticky;
    top: 26px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    margin: 0;
    padding: 0 7px;
    color: var(--its-text);
    border-right: 1px solid var(--its-border);
    border-bottom: 1px solid var(--its-border);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    white-space: pre-line;
    cursor:default;
}

.its_editor_matrix_container.its-p .time {
    grid-column: 1;
    grid-row: calc(var(--y) + var(--header-rows))/span var(--h);
    position: sticky;
    left: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--its-text);
    background: #f8f8f8;
    border-right: 1px solid var(--its-border);
    border-bottom: 1px solid var(--its-border);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    cursor:default;
}

/* Each lane covers precisely the ten-minute body rows, excluding headers. */
.its_editor_matrix_container.its-p .lane {
    grid-column: calc(var(--x) + 1);
    grid-row: calc(var(--header-rows) + 1)/span var(--rows);
    min-width: 0;
    border-right: 1px solid #e7e7e7;
    background: repeating-linear-gradient(to bottom,#e9e9e9 0 1px,transparent 1px calc(6 * var(--its-row)));
    pointer-events:none;
}

.its_editor_matrix_container.its-p .lane:nth-of-type(even) {
    background-color:#fafafa;
}

/* Slightly rounded cards: placement comes from the approved Excel spans. */
.its_editor_matrix_container.its-p .e {
    grid-area: calc(var(--y) + var(--header-rows))/calc(var(--x) + 1)/span var(--h)/span var(--w,1);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    margin: 1px 2px;
    padding: 0;
    border: 1px solid #00000014;
    border-radius: 3px;
    background: var(--bg,#f5f5f5);
    overflow: hidden;
    z-index: 1;
    box-shadow: none;
    text-align:left;
}

.its_editor_matrix_container.its-p .e>b {
    display: block;
    flex: 0 0 auto;
    align-self: flex-start;
    width: auto;
    height: auto;
    min-width: 0;
    max-width: calc(100% - 8px);
    margin: 2px 4px 1px;
    padding: 1px 6px;
    border: 0;
    border-radius: 3px;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 13px;
    letter-spacing: normal;
    white-space: nowrap;
    box-shadow:none;
}

.its_editor_matrix_container.its-p .e>b.presenter {
    align-self: stretch;
    margin: 1px 4px 0;
    padding: 0;
    white-space: pre-line;
    line-height: 10.5px;
    font-size: 9.5px;
    background: transparent;
    color:#173b48;
}

.its_editor_matrix_container.its-p .e>p {
    margin: 0;
    flex: 1 1 auto;
    min-height: 0;
    padding: 2px 4px;
    color: var(--its-text);
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.25;
    white-space: pre-line;
    word-break: normal;
    overflow-wrap:break-word;
}

.its_editor_matrix_container.its-p .e>b+p {
    padding-top:1px;
}

/* Short cards keep all three source fields in one compact text flow. */
.its_editor_matrix_container.its-p .e.h3 {
    display: block;
    padding: 1px 4px;
    font-size: 10.5px;
    line-height:11px;
}

.its_editor_matrix_container.its-p .e.h3>b.presenter {
    display: inline;
    margin: 0;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e.h3>b.presenter::after {
    content:" ";
}

.its_editor_matrix_container.its-p .e.h3>p {
    display: inline;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e>p small {
    display: block;
    margin-top: 1px;
    color: var(--its-muted);
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.15;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e.h3>p small {
    display: inline;
    margin: 0;
    font-size: 9.5px;
    line-height: inherit;
    white-space:nowrap;
}

/* Program Category colours from the workbook legend. */
.its_editor_matrix_container.its-p .o {
    --accent: #c92836;
    --bg:#fcecee;
    border-color: #f4b8be;
}

.its_editor_matrix_container.its-p .s {
    --accent: #c99513;
    --bg:#fffce7;
    border-color: #f2e394;
}

.its_editor_matrix_container.its-p .u {
    --accent: #d23b87;
    --bg:#fceaf3;
    border-color: #f3b1d3;
}

.its_editor_matrix_container.its-p .n {
    --accent: #3a9148;
    --bg:#eaf5e9;
    border-color: #b2dfb2;
}

.its_editor_matrix_container.its-p .g {
    --accent: #008bb5;
    --bg:#efffff;
    border-color: #9fe2f3;
}

.its_editor_matrix_container.its-p .f {
    --accent: #7030a0;
    --bg:#f3eaf9;
    border-color: #d1b1e7;
}

.its_editor_matrix_container.its-p .q {
    --accent: #2588b2;
    --bg:#e7f3fa;
    border-color: #a8d5eb;
}

/* Session Code badge colours retained. */
.its_editor_matrix_container.its-p .p_code.p_code_stp {
    background: #f2cfee;
    color:#64255e!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_tp {
    background: #d9f2d0;
    color:#2c5520!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_sp {
    background: #fbe3d6;
    color:#783811!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_sis {
    background: #caeefb;
    color:#16556c!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_pl {
    background: #84e291;
    color:#164822!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_es {
    background: #92d050;
    color:#2c4d13!important;
}

.its_editor_matrix_container.its-p .p_code.p_code_is {
    background: #ffe48f;
    color:#665014!important;
}

.its_editor_matrix_container.its-p .its-program-legend>b {
    display: inline-block;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 3px 7px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: normal;
    box-shadow:none;
}

.its_editor_matrix_container.its-p .customTab:focus-visible,.its_editor_matrix_container.its-p .its-program-viewport:focus-visible {
    outline: 2px solid var(--its-primary);
    outline-offset:-2px;
}

/* Responsive: maintain the venue columns and ten-minute positioning. */
@media(max-width:640px) {
    .its_editor_matrix_container.its-p.its-program-standalone {
        margin: 12px auto;
        padding:0 8px;
    }

    .its_editor_matrix_container.its-p .its-program-heading h2 {
        font-size:22px;
    }

    .its_editor_matrix_container.its-p .its-program-legends {
        padding:9px;
    }

    .its_editor_matrix_container.its-p .its-program-legend {
        gap:7px 12px;
    }

    .its_editor_matrix_container.its-p .its-program-legend>strong {
        flex-basis:100%;
    }

    .its_editor_matrix_container.its-p .customTab {
        padding:8px 12px;
    }

}

/* Five dates fit inside a 1440px desktop viewport. Only the long overview
   titles use vertical text. Narrow screens keep native horizontal scrolling.
   Original programme coordinates and all fifteen subcolumns are unchanged. */
.its_editor_matrix_container.its-p .its-program-overview {
    --its-row: 8px;
    --its-header: 42px;
    --header-rows: 1;
    --header-tracks: 42px;
    --rows: 66;
    --columns: repeat(15,minmax(0,1fr));
    --width: max(990px,calc(100% - var(--its-time)));
    max-width:1440px;
}

.its_editor_matrix_container.its-p .its-program-overview .building {
    justify-content: center;
    background: #3b4754;
    color: #fff;
    font-size: 12px;
    text-align:center;
}

.its_editor_matrix_container.its-p .its-program-overview .building>span {
    font-size: inherit;
    font-weight: inherit;
    opacity:1;
}

.its_editor_matrix_container.its-p .its-program-overview .its-program-grid {
    container-type:inline-size;
}

.its_editor_matrix_container.its-p .its-program-overview .e {
    justify-content: center;
    align-items:center;
}

.its_editor_matrix_container.its-p .its-program-overview .e>p {
    flex: 0 1 auto;
    max-width: 100%;
    font-size: 9.5px;
    font-size: clamp(9.5px,0.8cqw,10.5px);
    line-height: 1.2;
    padding: 2px 3px;
    text-align: center;
    white-space:normal;
}

.its_editor_matrix_container.its-p .its-program-overview .e.v_text>p {
    flex: none;
    height: 100%;
    max-height: 100%;
    width: max-content;
    max-width: 100%;
    padding: 6px 3px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: normal;
    white-space:normal;
}

.its_editor_matrix_container.its-p .its-program-overview .time {
    font-size:11px;
}

/* Source-derived coordinates are appended below. Never derive spans from minutes. */
/* The complete source abbreviation is shown beside each existing code badge. */
.its_editor_matrix_container.its-p .its-program-code-key>.p_code {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0;
    padding: 3px 7px;
    border-radius: 3px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: normal;
    box-shadow:none;
}

/* Only three newly lengthened Stage cards need a denser, unabridged text flow. */
.its_editor_matrix_container.its-p .e.its-program-compact {
    display: block;
    padding: 1px 4px;
    font-size: 9.5px;
    line-height:10px;
}

.its_editor_matrix_container.its-p .e.its-program-compact>b.presenter {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e.its-program-compact>b.presenter::after {
    content:" ";
}

.its_editor_matrix_container.its-p .e.its-program-compact>p {
    display: inline;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e.its-program-compact>p small {
    display: inline;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    white-space:nowrap;
}

/* Korean programme text wraps at word boundaries. Extremely long unbroken
   tokens retain the existing emergency wrap so a fixed 180px venue never clips. */
.its_editor_matrix_container.its-p .e>p:lang(ko),.its_editor_matrix_container.its-p .e>b.presenter:lang(ko) {
    word-break: keep-all;
    overflow-wrap:break-word;
}

/* Company/speaker names sit on a transparent block with space from card edges.
   The inner inline span paints each wrapped line only to its text width.
   clone produces separate rounded rectangles; no full-width badge background. */
.its_editor_matrix_container.its-p .e>b.presenter.its-program-company {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 2px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #16556c;
    font-size: 9.5px;
    line-height: 14px;
    white-space:normal;
}

.its_editor_matrix_container.its-p .e>b.presenter.its-program-company>span {
    display: inline;
    padding: 0 3px;
    border-radius: 3px;
    background: #caeefb;
    color: #16556c;
    white-space: normal;
    -webkit-box-decoration-break: clone;
    box-decoration-break:clone;
}

.its_editor_matrix_container.its-p .e>b.presenter.its-program-company::after {
    content:none;
}

.its_editor_matrix_container.its-p .e>b.presenter.its-program-company+p {
    display: block;
    padding:0;
}

/* All v0.8 positions/spans are copied from Excel without prior-version shifts.
   Spaced line-fragment badges require 56/31/44px tracks on Days 2/3/4.
   Days 1/5 keep 24px. Grid spans never change for styling. */
.its_editor_matrix_container.its-p .its-program-day-1 {
    --columns: repeat(19,180px);
    --width: 3420px;
    --rows: 54;
    --its-row:24px;
}

.its_editor_matrix_container.its-p .its-program-day-2 {
    --columns: repeat(21,180px);
    --width: 3780px;
    --rows: 54;
    --its-row:56px;
}

.its_editor_matrix_container.its-p .its-program-day-3 {
    --columns: repeat(21,180px);
    --width: 3780px;
    --rows: 66;
    --its-row:31px;
}

.its_editor_matrix_container.its-p .its-program-day-4 {
    --columns: repeat(21,180px);
    --width: 3780px;
    --rows: 60;
    --its-row:44px;
}

.its_editor_matrix_container.its-p .its-program-day-5 {
    --columns: repeat(19,180px);
    --width: 3420px;
    --rows: 36;
    --its-row:24px;
}

.its_editor_matrix_container.its-p .its-g .x1 {
    --x:1;
}

.its_editor_matrix_container.its-p .its-g .x2 {
    --x:2;
}

.its_editor_matrix_container.its-p .its-g .x3 {
    --x:3;
}

.its_editor_matrix_container.its-p .its-g .x4 {
    --x:4;
}

.its_editor_matrix_container.its-p .its-g .x5 {
    --x:5;
}

.its_editor_matrix_container.its-p .its-g .x6 {
    --x:6;
}

.its_editor_matrix_container.its-p .its-g .x7 {
    --x:7;
}

.its_editor_matrix_container.its-p .its-g .x8 {
    --x:8;
}

.its_editor_matrix_container.its-p .its-g .x9 {
    --x:9;
}

.its_editor_matrix_container.its-p .its-g .x10 {
    --x:10;
}

.its_editor_matrix_container.its-p .its-g .x11 {
    --x:11;
}

.its_editor_matrix_container.its-p .its-g .x12 {
    --x:12;
}

.its_editor_matrix_container.its-p .its-g .x13 {
    --x:13;
}

.its_editor_matrix_container.its-p .its-g .x14 {
    --x:14;
}

.its_editor_matrix_container.its-p .its-g .x15 {
    --x:15;
}

.its_editor_matrix_container.its-p .its-g .x16 {
    --x:16;
}

.its_editor_matrix_container.its-p .its-g .x17 {
    --x:17;
}

.its_editor_matrix_container.its-p .its-g .x18 {
    --x:18;
}

.its_editor_matrix_container.its-p .its-g .x19 {
    --x:19;
}

.its_editor_matrix_container.its-p .its-g .x20 {
    --x:20;
}

.its_editor_matrix_container.its-p .its-g .x21 {
    --x:21;
}

.its_editor_matrix_container.its-p .its-g .y1 {
    --y:1;
}

.its_editor_matrix_container.its-p .its-g .y4 {
    --y:4;
}

.its_editor_matrix_container.its-p .its-g .y7 {
    --y:7;
}

.its_editor_matrix_container.its-p .its-g .y10 {
    --y:10;
}

.its_editor_matrix_container.its-p .its-g .y13 {
    --y:13;
}

.its_editor_matrix_container.its-p .its-g .y16 {
    --y:16;
}

.its_editor_matrix_container.its-p .its-g .y19 {
    --y:19;
}

.its_editor_matrix_container.its-p .its-g .y22 {
    --y:22;
}

.its_editor_matrix_container.its-p .its-g .y25 {
    --y:25;
}

.its_editor_matrix_container.its-p .its-g .y28 {
    --y:28;
}

.its_editor_matrix_container.its-p .its-g .y31 {
    --y:31;
}

.its_editor_matrix_container.its-p .its-g .y34 {
    --y:34;
}

.its_editor_matrix_container.its-p .its-g .y37 {
    --y:37;
}

.its_editor_matrix_container.its-p .its-g .y40 {
    --y:40;
}

.its_editor_matrix_container.its-p .its-g .y43 {
    --y:43;
}

.its_editor_matrix_container.its-p .its-g .y46 {
    --y:46;
}

.its_editor_matrix_container.its-p .its-g .y49 {
    --y:49;
}

.its_editor_matrix_container.its-p .its-g .y55 {
    --y:55;
}

.its_editor_matrix_container.its-p .its-g .y61 {
    --y:61;
}

.its_editor_matrix_container.its-p .its-g .h3 {
    --h:3;
}

.its_editor_matrix_container.its-p .its-g .h6 {
    --h:6;
}

.its_editor_matrix_container.its-p .its-g .h9 {
    --h:9;
}

.its_editor_matrix_container.its-p .its-g .h11 {
    --h:11;
}

.its_editor_matrix_container.its-p .its-g .h12 {
    --h:12;
}

.its_editor_matrix_container.its-p .its-g .h14 {
    --h:14;
}

.its_editor_matrix_container.its-p .its-g .h18 {
    --h:18;
}

.its_editor_matrix_container.its-p .its-g .h21 {
    --h:21;
}

.its_editor_matrix_container.its-p .its-g .h24 {
    --h:24;
}

.its_editor_matrix_container.its-p .its-g .h30 {
    --h:30;
}

.its_editor_matrix_container.its-p .its-g .h36 {
    --h:36;
}

.its_editor_matrix_container.its-p .its-g .h42 {
    --h:42;
}

.its_editor_matrix_container.its-p .its-g .h48 {
    --h:48;
}

.its_editor_matrix_container.its-p .its-g .h51 {
    --h:51;
}

.its_editor_matrix_container.its-p .its-g .h54 {
    --h:54;
}

.its_editor_matrix_container.its-p .its-g .w1 {
    --w:1;
}

.its_editor_matrix_container.its-p .its-g .w2 {
    --w:2;
}

.its_editor_matrix_container.its-p .its-g .w3 {
    --w:3;
}

.its_editor_matrix_container.its-p .its-g .w17 {
    --w:17;
}

.its_editor_matrix_container.its-p .its-g .w18 {
    --w:18;
}
