* {word-break: keep-all;}
::selection {background-color: #303849; color: #fff;}

img {display: block;}



/* 공통요소 */
.spb {padding-bottom: 180px;}
.spb2 {padding-bottom: 120px;}

button {line-height: 1; transition: all .1s;}
button.auto {width: max-content !important;}
button.main {font-size: 18px; padding: 20px 40px; border-radius: 10px; width: 100%; font-weight: 600;}
button.md {font-size: 15px; padding: 12px 30px; border-radius: 5px; font-weight: 500;}
button.sm {font-size: 14px; padding: 10px 25px; border-radius: 5px; font-weight: 500;}
button.col1 {background-color: #406aa8; color: #fff;}
button.col1:hover {background-color: #325b9a;}
button.col2 {background-color: #555; color: #fff;}
button.col2:hover {background-color: #222;}
button.col3 {background-color: #eee; color: #666;}
button.col3:hover {background-color: #d9d9d9; color: #444;}
button.col4 {background-color: #555; color: #fff;}
button.col5 {background-color: #d4e2ff; color: #232ec9;}
button.col5:hover {background-color: #c7daff;}
.btn_box {margin-top: 3%; display: flex; gap: 8px; justify-content: center;}


input[type="radio"], input[type="checkbox"] {display: none;}
input[type="radio"] + label, input[type="checkbox"] + label {font-size: 16px; position: relative; padding-left: 28px; color: #666; cursor: pointer;}
input[type="radio"] + label::before, input[type="checkbox"] + label::before {content: ""; display: block; width: 22px; aspect-ratio: 1; border-radius: 4px; position: absolute; top: -1px; left: 0; background-color: #f5f5f5; border: 1px solid #eee;}
input[type="radio"] + label::after {content: ""; display: none; width: 10px; aspect-ratio: 1; border-radius: 2px; position: absolute; top: 5px; left: 6px; background: url() no-repeat center/cover; background-color: #fff;}
input[type="radio"] + label:hover::before, input[type="checkbox"] + label:hover::before {background-color: #e9e9e9;}
input[type="checkbox"] + label::after {content: ""; display: none; width: 22px; aspect-ratio: 1; border-radius: 4px; position: absolute; top: -1px; left: 0; background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/17073307845789.png) no-repeat center/contain;}
input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {color: #111; font-weight: 600;}
input[type="radio"]:checked + label::before, input[type="checkbox"]:checked + label::before {background-color: #3a73e4;}
input[type="radio"]:checked + label::after, input[type="checkbox"]:checked + label::after {display: block;}

.chk_area2 {align-items: center;}


input[type="text"], input[type="phone"], input[type="email"] {padding: 12px 14px; border-radius: 5px; border: 1px solid #ddd; outline: none; font-size: 16px; width: 100%;}
input[type="date"] {padding: 8px 14px; border-radius: 5px; border: 1px solid #ddd; outline: none; font-size: 16px; width: 20%;}
::placeholder {font-family: 'Pretendard Variable'; color: #aaa; font-size: 15px;}

.input_email {width: 100%; display: flex; gap: 6px; align-items: center;}
.input_email span {font-size: 16px; color: #666; position: absolute; top: calc(50% + 2px); left: 14px; transform: translateY(-50%);}
.slt_box {border: 1px solid #ddd; border-radius: 5px; height: 50px;}
.slt_box::after {content: ""; display: block; width: 10px; aspect-ratio: 1; position: absolute; top: 50%; right: 14px;}
select {outline: none; border: none; padding: 12px 14px; height: 100%; width: 100%;}
.input_email input {width: 50%;}
.input_email .slt_box {width: 33%; padding-right: 10px;}
.input_email .flex {display: flex; align-items: center; gap: 6px; width: 50%; position: relative;}
.input_email .flex input {width: 100%; padding-left: 32px;}


/*익스플로러 기본 화살표 없애기*/
select::-ms-expand {display: none;}
/*화살표 기본 css 없애기*/
select {-o-appearance: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}

/* 페이징 */
.paging {width: 100%; display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; row-gap: 5px;}
.paging i {display: block; width: 30px; aspect-ratio: 1; cursor: pointer; overflow: hidden; border-radius: 3px; border: 1px solid #eee;}
.paging i + i {margin-left: -4px;}
.paging i.pg_first {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725644734566.png) no-repeat center/contain;}
.paging i.pg_prev {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725645120451.png) no-repeat center/contain;}
.paging i.pg_next {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725645491932.png) no-repeat center/contain;}
.paging i.pg_end {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725629546939.png) no-repeat center/contain;}
.paging span {font-size: 15px; color: #ccc; font-weight: 600; padding: 5px; display: inline-block; cursor: pointer;}
.paging span:hover, .paging span.on {color: #406aa8;}




/* ======== 메인비주얼 ======== */
.main_visual {width: 100vw;}
.main_visual img {width: 100%;}
.main_visual img.mobile {display: none;}



/* ======== 인사말 ======== */
.greeting {width: 100%; margin-top: 80px;}
.greeting_main {padding-bottom: 40px;position:relative;}
.greeting_main i {display: block; background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170760738986827.png) no-repeat center/contain; width: 60px; aspect-ratio: 1; opacity: .5;position:absolute;top:-10px;z-index: -1;}
.greeting-icon1 { left:100px;}
.greeting-icon2 {transform: rotate(180deg);right:100px;}
.greeting-wrap .greeting-icon1 {left:200px;}
.greeting-wrap .greeting-icon2 {right:200px;}
.greeting_main p {font-size: clamp(24px, 3vw, 40px); margin-top: 10px;text-align: center;}
.greeting_box {width: 100%; display: flex;margin-top:30px;}
.greeting_text {width: 70%; padding-right: 6%;}
.greeting_text p {font-size: clamp(15px, 2vw, 18px);line-height:1.7;}
.greeting_text p + p {padding-top: 20px;}
.greeting-b {font-size:22px;}
.greeting_img {width: 30%;}
.sign {display: flex; flex-direction: column; align-items: flex-end; margin-top: 30px;}
.sign.left {align-items: flex-start;}
.sign p {font-size: 16px; color: #666;}
.sign span {font-size: 16px; color: #333;}
.sign span em {font-size: 18px; letter-spacing: 4px; font-weight: 700; padding-left: 4px;}
.thumb {border-radius: 10px; overflow: hidden; 
    /* box-shadow: 2px 2px 15px #00000015; */
}
.greeting_text .sign {display: none;}

.pc {display: block;}



/* ======== 행사안내 ======== */
.sec_tit {display: flex; flex-direction: column; gap: 10px; align-items: center;}
.sec_tit span {font-size: clamp(15px, 2vw, 22px); font-weight: 700; color: #c7bebb;}
.sec_tit p {font-size: clamp(20px, 3vw, 32px); font-weight: 600;}
.table ul {display: flex; flex-direction: column; border-top: 2px solid #555; width: 100%;}
.table li {width: 100%;}
.table dl {width: 100%; display: flex; padding: 20px 12px; border-bottom: 1px solid #ddd;}
.table dt {width: 25%;}
.table dt span {font-size: 18px; color: #777;}
.table dd {width: 75%;}
.table dd p {font-size: 18px;}
.table dd p em {color: #2d71d3; font-weight: 600;}
.table dl.vertical {flex-direction: column; gap: 15px;}
.table dl.vertical dd {width: 100%;}


.information {width: 100%;}
.information .table {margin-top: 60px;}

.info_depth {display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 10px;}
.info_depth .list {position: relative; padding-left: 15px; }
.info_depth .list::after {content: ""; display: block; width: 6px; height: 1px; background-color: #aaa; position: absolute; top: 12px; left: 0;}
.info_depth .list b.st1 {color: #2d71d3; font-weight: 600;}
.info_depth .list b.st2 {color: #666; font-size: 16px; font-weight: 500;}
.info_depth .list b.st3 {color: #0f1a7d; font-weight: 600;}




/* ======== 프로그램 ======== */
.program {width: 100%;}
.program_guide {padding: 25px; border-radius: 5px; background-color: #f0f4fd; margin-top: 20px; width: 60%; min-width: 500px;}
.program_guide dl {display: flex; width: 100%; gap: 20px; align-items: center;}
.program_guide dl + dl {margin-top: 2px;}
.program_guide dt {font-size: 15px; color: #666; position: relative;}
.program_guide dt::after {content: ""; display: block; width: 1px; height: 60%; background-color: #aaa; position: absolute; top: 50%; right: -10px; transform: translateY(-50%);}
.program_guide dd {font-size: 15px; color: #333;}

.program_btn_wrap {display:flex;gap:10px;}
.program_con {width: 100%; margin-top: 30px;}
.program_tab {width: 100%; display: flex; gap: 10px; justify-content:space-between;align-items: flex-end;}
.program_tab .program_hall span {text-align: center; padding: 18px 40px; line-height: 1; font-weight: 600; font-size: 18px; color: #777; background-color: #f3f3f3; display: block; border-radius: 100px; cursor: pointer; transition: all .15s;}
.program_tab .program_hall span:hover {background-color: #e9e9e9;}
.program_tab .program_hall span:first-child.on {color: #fff; background-color: #3368b5;}
.program_tab .program_hall span:last-child.on {color: #fff; background-color: #8267a4;}

.program_table {margin-top: 20px; width: 100%; position: relative; padding-top: 5px;}
.program_table::before {content: ""; display: block; height: 5px; width: 20%; position: absolute; top: 0; left: 0; background-color: #999;}
.program_table::after {content: ""; display: block; height: 5px; width: 80%; position: absolute; top: 0; right: 0; background-color: #2e599b;}
.item {width: 100%; display: flex; border-top: 1px solid #999;}
.item:first-child {border-top: none;}
.item:last-child {border-bottom: 1px solid #999;}
.item .time {font-size: 18px; color: #555; width: 15%; display: flex; padding: 18px 0 18px 15px; font-weight: 500;}
.item dl {width: 85%; display: flex;}
.item dt {width: 70%; padding: 18px 10px;}
.item dt span {font-size: 20px; font-weight: 500;}
.item dd {width: 30%; padding: 15px 0;}
.item .list {width: 100%;}
.item .list p {font-size: 18px;}
.item .list p span {font-size: inherit;}
.program_table.ver2 .item dt {width: 100%;}

/* .item.on {border-radius: 5px; border-bottom: none; background-origin: border-box; background-clip: content-box, border-box; background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #2669EA 0%,  #ff3c5d 100%); border: 3px solid transparent;} */
.item.on {border-radius: 5px; background: linear-gradient(to right, #3368b5, #8267a4);}
.item.on .time {font-weight: 600; color: #fff;}
.item.on dt span {font-weight: 600; color: #fff; display: block; width: calc(100% - 18px);}
.item.on .list p {font-weight: 600; color: #fff;}
.item.on .list p span {color: #fff; font-weight: 400;}
.item.on + .item {border-top: none;}

.item.off {background-color: #f7f7f7;}
.item.off dt span {color: #444;}

.item.lun {background: linear-gradient(to right, #ecefff, #f2e7ff);}
.item.lun dt span {color: #171c49;}


/* ======== 오시는 길 ======== */
.location {width: 100%;}
.location .location_box {margin-top: 50px;}

.location_box .add_txt {width: 100%; display: flex; align-items: center; gap: 6px; justify-content: center;}
.location_box .add_txt i {display: block; width: 24px; aspect-ratio: 1; background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725863022136.png) no-repeat center/contain;}
.location_box .add_txt p {font-size: clamp(15px, 1.5vw, 20px); font-weight: 600;}
.location_box .map_area {margin: 3% 0; width: 100%; height: 35vh; min-height: 200px; max-height: 450px;}
.location_box .map_area > div {width: 100%; height: 100%;}
.location_box .root_daum_roughmap .wrap_map {height: 100%;}

.public_box {width: 100%;}
.public_box + .public_box {margin-top: 3%;}
.public_box .public_tit {display: flex; align-items: center; gap: 10px; padding: 18px; border-radius: 5px; background-color: #f7f7f7;}
.public_tit i {width: 25px; aspect-ratio: 1;}
.public_tit i.subway {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725260139223.png) no-repeat center/contain;}
.public_tit i.bus {background: url(https://pomesoft-s3.s3.ap-northeast-2.amazonaws.com/pomesoft/_uploads/2025CONFERENCE/publishing/170725264262572.png) no-repeat center/contain;}
.public_tit span {font-size: clamp(15px, 1.5vw, 20px); font-weight: 600; line-height: 1;}
.public_list {width: 100%; display: flex; flex-direction: column;}
.public_con {width: 100%; padding: 15px 18px; border-bottom: 1px solid #eee;}
.public_con p {font-size: clamp(14px, 1.5vw, 18px); font-weight: 600;padding-bottom: 8px;}
.public_con dl {width: 100%; display: flex; gap: 10px;}
.public_con dl + dl {margin-top: 10px;}
.public_con dt.bus {font-size: 12px; padding: 3px 6px; border-radius: 5px; color: #fff; font-weight: 600; height: 100%;}
.public_con dt.subway {font-size: 15px; line-height: 1; width: 28px; aspect-ratio: 1; border-radius: 100%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600;}
.public_con dt.col1 {background-color: #6175F5;}
.public_con dt.col2 {background-color: #47AF1B;}
.public_con dt.col3 {background-color: #FF451E;}
.public_con dt.col4 {background-color: #896B57;}

.public_con dt.col5 {background-color: #00A84D;}
.public_con dt.col6 {background-color: #A86809;}
.public_con dt.col7 {background-color: #555D10;}

.public_con dd {font-size: 15px; padding-top: 2px; font-weight: 400;}
.public_con.sub p {font-size: clamp(14px, 1.5vw, 16px); font-weight: 400; padding-bottom: 0; padding-top: 5px;}
.public_con.sub dd {font-size: clamp(14px, 1.3vw, 18px); font-weight: 600; color: #111;}





/* ======== 960px ======== */
@media screen and (max-width: 960px) {
    .pc {display: none;}
    
    .greeting-wrap .greeting-icon1 {left:0px;}
    .greeting-wrap .greeting-icon2 {right:0px;}
    .greeting-icon1 {left:0;}
    .greeting-icon2 {right:0;transform: rotate(180deg);right:0;}

    .spb {padding-bottom: 120px;}
    .sec_tit {gap: 6px;}

    button.main {font-size: 15px; padding: 15px 25px; border-radius: 5px;}
    button.md {padding: 10px 25px; font-size: 14px;}
    .btn_box {margin-top: 5%;}

    input[type="radio"] + label, input[type="checkbox"] + label {font-size: 15px;}
    input[type="radio"] + label::before, input[type="checkbox"] + label::before {top: -2px;}
    input[type="checkbox"] + label::after {top: -2px;}
    input[type="radio"] + label::after {top: 4px;}
    .input_email {grid-template-columns: initial; display: flex; flex-direction: column;}
    .input_email input[type="email"] {width: 100%;}
    .input_email .slt_box {width: 100%;}
    .input_email .flex {width: 100%;}

    .main_visual {background: none; margin-top: 77px;}
    .main_visual img.pc {display: none;}
    .main_visual img.mobile {width: 100%; display: block;}
    .spb2 {padding-bottom:50px; padding-top:50px;}

    /* 인사말 */
    .greeting {margin-top: 20px;}
    .greeting_main {padding-bottom: 30px;}
    .greeting_box {flex-direction: column-reverse; gap: 20px;}
    .greeting_text {width: 100%; padding-right: 0;}
    .greeting_img {width: 50%; min-width: 200px;}
    .greeting_img .sign {display: none;}
    .greeting_text .sign {display: flex;}
    .sign p {font-size: 14px;}
    .sign span {font-size: 14px;}
    .sign span em {font-size: 15px;}
    .greeting_main i {width: 35px;}
    .greeting_main p {margin-top: 4px;}
    .greeting_main p br {display: none;}
    .greeting_text p + p {padding-top: 15px;}
    .greeting-b {font-size:18px;}

    /* 행사안내 */
    .information .table {margin-top: 30px;}
    .table dl {flex-direction: column; padding: 0;}
    .table dt {width: 100%; padding: 12px 10px; background-color: #f6f6f9;}
    .table dt span {font-size: 15px; color: #555;}
    .table dd {padding: 15px 10px; width: 100%;}
    .table dd p {font-size: 15px;}
    .info_depth {gap: 5px;}
    .info_depth .list b.st2 {font-size: 14px; font-weight: 600;}
    .info_depth .list {padding-left: 12px;}
    .info_depth .list::after {top: 10px; width: 5px;}

    /* 프로그램 */
    .item {flex-direction: column;}
    .item .time {width: 100%; padding: 12px 10px; font-size: 15px;}
    .item dl {width: 100%; padding: 0px 10px 12px; flex-direction: column; gap: 4px;}
    .item dt {padding: 0; width: 100%;}
    .item dt span {font-size: 18px; line-height: 1.3; font-weight: 600;}
    .item dd {padding: 0; width: 100%;}
    .item .list p {font-size: 14px;}
    .program_table::before {display: none;}
    .program_table::after {width: 100%;}
    .table dl.vertical {gap: 0;}

    .program_guide {width: 100%; padding: 15px; min-width: initial;}
    .program_guide dl + dl {margin-top: 0;}
    .program_guide dt {font-size: 14px;}
    .program_guide dt::after {height: 50%; background-color: #ccc;}
    .program_guide dd {font-size: 14px;}
    .program_tab .program_hall span {font-size: 15px; padding: 10px 20px;}
    .program_con {margin-top: 20px;}
    .program_table {margin-top: 12px;}
    .program_tab {flex-wrap: wrap;gap:20px}


    .location_box .add_txt {align-items: flex-start;}
    .location_box .add_txt i {width: 16px; margin-top: 2px;}
    .location_box .add_txt p {width: calc(100% - 16px);}
    .location .location_box {margin-top: 30px;}
    .public_box .public_tit {gap: 8px; padding: 14px 12px;}
    .public_tit i {width: 18px;}
    .public_con {padding: 14px 10px;}
    .public_con dd {font-size: 14px;}
    .public_con dt.bus {font-size: 10px;}
    .public_con dl {gap: 6px;}
    .public_con dt.subway {width: 18px; aspect-ratio: initial; height: 18px; font-size: 12px;}
    .public_con.sub dl {align-items: center;}
    .public_con.sub dd {line-height: 1;}
    .public_con.sub p {font-weight: 400; padding-top: 8px;}
    .public_box + .public_box {margin-top: 6%;}


    .paging {gap: 10px; margin-top: 20px; row-gap: 5px;}
    .paging span {font-size: 14px;}
    .paging i {width: 25px;}

}