@charset "utf-8";

.container .wrapper { padding: 15px 0; box-sizing: border-box;  }


.titleArea { width: 100%; position: relative; background: #7F3C8D; background: linear-gradient(149deg,rgba(127, 60, 141, 1) 0%, rgba(77, 60, 124, 1) 100%); margin-bottom: 20px; z-index: -2; }
.titleArea::before { content: ''; display: block; position: absolute; z-index: -1; left: 0; bottom: 0; width: 100%; height: 191px; background: url('../img/subTopBg.png') no-repeat right bottom -10px; background-size: 50%; opacity: 0.8; }
.titleArea .wrapper { padding: 40px 0; }
.titleArea h1 { font-size: 2em; font-weight: 500; height: 40px; line-height: 40px; color: #fff; font-family: 'yg-jalnan'; text-align: center; }

.titleArea p { display: inline-block; font-size: 0.925em; color: #333; margin: 15px auto 5px; position: relative; padding: 3px 10px; background-color: #fff; border-radius: 100px; text-align: center; }

.location { margin-bottom: 50px; text-align: center; }
.location li { display: inline-block; font-size: 0.8em; line-height: 17px;  }
.location li::after { content: '/'; display: inline-block; margin: 0 10px 0 12px; color: #e7a8bb; }
.location li a { display: inline-block; line-height: 25px; color: #e7a8bb; }
.location li.here a { font-weight: 500; color: #fff; }
.location li.here::after {display: none; }


.colorYellow { color: #ffe400; }
.colorBlue { color: #b33258; }

/* ----------------------------------- 타이틀, 리스트, 테이블, 탭메뉴 등 ----------------------------------- */

.titleBar { font-size: 1.25em; font-weight: 500; color: #275b8a; padding-top: 12px; background: url('../img/titleBar.png') no-repeat left top; }
h2.title { font-size: 1.3em; font-family: 'yg-jalnan';  padding: 0px 0 0 30px; color: #4d3c7c; margin: 40px 0 10px; position: relative; }
h2.title::before { content: ''; display: block; width: 24px; height: 24px; background: url('../img/h2Title.png'); background-repeat: no-repeat; position: absolute; left: 0; top: 1px; }
h2.title:first-child { margin-top: 0;}
h3.title { font-size: 1em; font-weight: 500; padding-left: 15px; background: url('../img/h3title.gif') no-repeat left center; margin: 15px 0 3px; }
h4.title { font-size: 0.875em; font-weight: 500; margin: 10px 0 5px; color:#009c93; }

p.conText { font-size: 0.875em; margin: 5px 0; }
.listType01 > li { font-size: 0.875em; padding-left: 15px; margin-top: 5px; position: relative; word-break: keep-all;  }
.listType01 > li:first-child { margin-top: 0; }
.listType01 > li::before { content: '·'; font-weight: 600; font-size: 1.25em; color: #5b89b3; line-height: 1.1; position: absolute; left: 0; top:0;  }
.listType01 h4.title { font-size: 1em; }
.listType01 .listType02 > li { font-size: 1em;}


.listType02 > li { font-size: 0.875em; padding-left: 10px; margin-top: 2px; position: relative; word-break: keep-all;  }
.listType02 > li:first-child { margin-top: 0; }
.listType02 > li::before { content: '-'; position: absolute; left: 0; top:0;  }


.tabGnb { display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 33px; }
.tabGnb li { width: 24%; padding-right: 1%; margin-bottom: 7px;  }
.tabGnb li a { background: #efefef; display: flex; height: 50px; align-items: center; justify-content: center; color: #686868; box-sizing: border-box;   }
.tabGnb li.on a { background: #fff; border: 3px solid #009c93; color: #009c93; font-weight: 500;}

/* 보도자료 탭메뉴 */
.tabGnb2 { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin-bottom: 40px; }
.tabGnb2 li { width: 12.5%; }
.tabGnb2 li a { background: #efefef; border-top: 1px solid #ccc; border-left: 1px solid #ccc;border-bottom: 1px solid #ccc; display:flex; height: 40px; align-items: center; justify-content: center; color: #686868; box-sizing: border-box; font-size: 0.875em; text-align: center; line-height: 1; }
.tabGnb2 li:last-child a { border-right: 1px solid #ccc;}
.tabGnb2 li.on a { background: #fff; border-top: 3px solid #009c93; border-bottom: 0; color: #009c93; font-weight: 500;}


/* TABLE BOARD LIST */
.tableType01 { width: 100%; border-top: 3px solid #3c668d; margin-top: 10px;}
.tableType01 thead th { padding: 5px 3px; border-bottom: 1px solid #3c668d; vertical-align: middle; font-weight: 500; font-size: 0.875em; background: #efefef; }
.tableType01 td { text-align: center; font-size: 0.875em; padding: 5px 3px; vertical-align: middle; border-bottom: 1px solid #ccc; }


/* -------------------------------------- 각 페이지 -------------------------------------- */


/* 인사말 */ 
#greeting { display: flex; justify-content: center; flex-wrap: wrap; }
#greetingPic { width: 660px; }
#greetingPic img { display: block; width: 100%; }

#greetingPic a { display: block; background: #fff; box-sizing: border-box; padding: 7px 10px; font-size: 0.9em; text-align: center;  }
#greetingPic a span { display: block;  background: #99173e; color: #fff; padding: 4px 7px 3px; word-break: keep-all; width: 100px; margin: 4px auto 0; }

#greetingTXT { width: 700px; box-sizing: border-box; padding-left: 40px; margin: 20px 0; }
#greetingTXT h2 { font-size: 1.25em; font-weight: 500; line-height: 1.5;}
#greetingTXT h2 strong { font-weight: 600; color: #009c93; }
#greetingTXT p { margin-top: 40px; font-size: 0.925em; line-height: 1.5; word-break: keep-all; text-align: justify;}
#greetingTXT span { display: block; margin-top: 35px; font-size: 1em; text-align: right; }
#greetingTXT span strong { font-weight: 600; font-size: 1.143em; margin-left: 5px;}


/* 행사개요 */
#summary > div { display: flex; flex-wrap: wrap; justify-content: space-between; }

#summary > div > div { box-sizing: border-box; width: 65%; align-self: flex-start;   }

#summary h2 { margin-top: 20px; font-size: 1.3em; margin-bottom: 10px; font-weight: 500; }
#summary p { margin-bottom: 30px; text-align: justify; }

#summary .info { box-sizing: border-box; margin-top: 40px; }
#summary dl { display: flex; margin-bottom: 25px; }
#summary dl:last-child { margin-bottom: 0px; }
#summary dl dt { font-weight: 600; width: 100px; color: #953f95; position: relative; padding-left: 17px; }
#summary dl dt:before { content: ''; width: 12px; height: 5px; display: block; position: absolute; left: 0; top: 8px; background-color: #953f95; border-radius: 100px; }
#summary dl dd { width: calc(100% - 100px); }
#summary dl dd strong { margin-right: 10px;}



#summary figure { width: 30%;   }
#summary figure img { width: 100%;border: 1px solid #ccc; box-sizing: border-box; }


/* 행사시간표 */

#timeTable { width: 100%; }
#timeTable * { box-sizing:border-box; }

#timeTable thead th { height:40px; padding: 0px 5px 7px; font-weight: 500; color:#333; text-align: center; vertical-align: middle; border-bottom: 3px solid #99173e; }
#timeTable tbody tr { border-bottom: 1px solid #ccc; }
#timeTable tbody th { height:40px; background:#fff; font-weight:normal;color:#333; text-align: center; padding: 10px 3px 3px;  vertical-align: middle; word-break: break-all; white-space: nowrap;  }
#timeTable tr td:nth-child(2) { text-align: center; }
#timeTable td { height:40px; background:#fff;  color:#333; text-align:left; padding: 10px 3px 3px; vertical-align: middle; word-break: keep-all; }


/* 참가안내 */
#fairInfo > p { box-sizing: border-box; line-height: 1.5; word-break: keep-all;  }
.fairDate { display: inline-block; position: relative;   }
.fairDate::before { content: ''; width: 100%; position: absolute; display: block; left: -5px; padding-right: 10px; bottom: 0px; height: 13px; background-color: #c9e194; border-radius: 100px; box-sizing: content-box; z-index: -1;}
.fairDate02 { color: #ef0000; font-weight: 500; }

#fairInfo .caution { color: #ef0000; font-size: 0.8em; word-break: keep-all; position: relative; text-align: justify; padding-left: 20px; margin: 0 0 5px; display: block; margin-top: 5px; }
#fairInfo .caution::before { content: '!'; display: block; position: absolute; left: 0; top: 1px; background: #ef0000; color: #fff; border-radius: 100px; text-align: center; width: 14px; height: 14px; font-size: 10px;  font-weight: 500; }

/* .zoomBtn { margin: 10px 0 0; padding: 15px; background: #f2f2f2; }
.zoomBtn li { padding: 7px 10px; background: #fff; margin-bottom: 10px; border: 1px solid #ccc; border-left: 5px solid #009c93; line-height: 1.8; }
.zoomBtn li:last-child { margin: 0; }
.zoomBtn li span { font-weight: 600; margin-right: 10px; padding: 3px 10px; background: #009c93; border-radius: 50px; color: #fff; }
.zoomBtn li a { font-style: italic; margin: 0 10px 0; font-weight: 600; color: #009c93; text-decoration: underline; }

.ready { margin: 10px 0 0 10px; }
.ready li { margin-bottom: 10px;}
.ready li::before { content: '-'; display: inline-block; margin-right: 5px;} */

.preReg {  }
.preReg dl:first-child { margin-bottom: 20px; }
.preReg dt { margin-bottom: 7px; font-weight: 500; position: relative; display: inline-block; }
.preReg dt::before { content: ''; width: 100%; position: absolute; display: block; left: -5px; padding-right: 10px; bottom: 0px; height: 13px; background-color: #c9e194; border-radius: 100px; box-sizing: content-box; z-index: -1;}
.preReg dd { word-break: keep-all; font-size: 0.9em; }

.step { display: grid; gap: 25px; grid-template-columns: 1fr 1fr 1fr 1fr; }
.step li { box-sizing: border-box; text-align: center; word-break: keep-all; padding: 5px; word-break: keep-all; }
.step li div { padding: 20px 15px; height: 100%; background: #f5e7f5; box-sizing: border-box; position: relative; border-radius: 8px; }
.step li div::before { content: ''; display: block; position: absolute; width: 15px; height: 24px; background: url('../img/mvArrow.png') no-repeat center; left: -23px; top: 50%; margin-top: -12px; }
.step li:first-child div::before { display: none;}
.step li div > span { display: block; font-weight: 600; font-size: 1.5em; color: #904c90; margin-bottom: 5px; }
.step li p span { font-size: 0.875em; display: block; }



/* 오시는 길 */
#map { width: 100%; position: relative; padding-bottom: 60%; }
#map iframe { position: absolute; width: 100%; left: 0; top: 0; height: 100%;  }
#address { margin-top: 15px; }
#address i { color: #b33258; display: inline-block; margin-right: 5px; font-weight: 300; }



/* 설명회 */

.formTopBox { display: flex; justify-content: space-between; margin: 0 0 40px; }
.formTopBox article { width: 48%; }
.formTopBox article table { width: 100%; box-sizing: border-box; border-bottom: 1px solid #ccc; font-size: 0.875em; }
.formTopBox article table thead th { height:30px; padding: 0px 5px 0px; font-weight: 500; color:#333; text-align: center; vertical-align: middle; border-bottom: 3px solid #99173e; vertical-align: middle;  }
.formTopBox article table tbody th { text-align: center; padding: 8x 3px 3px; vertical-align: middle; border-bottom: 1px solid #ccc; }
.formTopBox article table tbody td { text-align: center; padding: 8px 3px 3px; vertical-align: middle; }
.formTopBox article .caution { color: #ef0000; font-size: 0.9em; word-break: keep-all; position: relative; text-align: justify; padding-left: 20px; margin: 5px 0 0; }
.formTopBox article .caution::before { content: '!'; display: block; position: absolute; left: 0; top: 1px; background: #ef0000; color: #fff; border-radius: 100px; text-align: center; width: 15px; height: 15px; font-size: 12px;  }
.formTopBox article ul li { padding-left: 10px; position: relative; font-size: 0.95em; line-height: 1.2; margin: 0 0 10px; }
.formTopBox article ul li::before { content: '-'; position: absolute; left: 0; top: 2px; }


/* 개인정보 */
#privacyPolicy { width: 100%; box-sizing: border-box; padding: 15px; background: #f2f2f2;  }
#privacyPolicy h4 { font-weight: 600; margin: 30px 0 20px;}
#privacyPolicy table { width: 100%; margin: 30px 0; background: #fff; }
#privacyPolicy table * { border: 0; padding: 5px 10px; box-sizing: border-box; text-align: center;}
#privacyPolicy table th { border-bottom: 1px solid #ccc; }

.checkbox { display: block; margin: 5px 0 0; text-align: right; font-size: 0.925em; }
.checkbox input { display: inline-block; margin: 2px 3px 0 0; vertical-align: top; }

/* 이용약관 */
#terms { width: 100%; box-sizing: border-box; padding: 15px; background: #f2f2f2; border: 1px solid #ccc; height: 500px; overflow-y: scroll; font-size: 0.75em; line-height: 1.6; color: #666; resize: none;  }


/* 이메일 수집 거부 */
#emailNo { width: 100%; box-sizing: border-box; padding: 15px; background: #f2f2f2; border: 1px solid #ccc; overflow-y: scroll;  line-height: 1.6; color: #666;  }










/* 만족도조사 */
.surveyUserInfo { display: flex; flex-wrap: wrap;  padding: 15px 20px; background: #ffe7bb; margin-bottom: 40px; justify-content: space-between; }
.surveyUserInfo dl { width: calc(50% - 100px); display: flex; font-size: 1.125em; }
.surveyUserInfo dl dt { width: 100px; font-weight: 500; line-height: 30px; }
.surveyUserInfo dl dd { width: calc(100% - 100px); display: flex;  line-height: 30px; }
.surveyUserInfo dl dd input[type=text] { width: calc(100% - 40px); height: 30px; display: block; }
.surveyUserInfo dl dd label { display: inline-block; vertical-align: middle;  line-height: 30px; }
.surveyUserInfo div { width: 200px; }
.surveyUserInfo div input[type=radio] { display: inline-block; width: 18px; height: 18px; margin: 5px 5px 0 0; vertical-align: middle; }
.surveyUserInfo div select { width: 50px; height: 30px; display: inline-block; vertical-align: middle; margin: 0 20px 0 5px; }


.survey { padding: 50px 30px; width: 100%; max-width: 600px; margin: 0 auto; border: 1px solid #ccc; border-radius: 8px; text-align: center; margin-top: 30px; box-sizing: border-box; }

p.textBox { font-size: 0.9em; text-align: justify; margin: 0 auto 30px; }

.survey ol { list-style: auto; padding-left: 20px;   }
.survey li { margin: 0 0 50px; text-align: left; }
.survey li::marker { font-size: 1.125em; font-weight: 500; }
.survey li:nth-child(5) { margin-left: 18px; }

.survey li:nth-child(5)::marker { content: '4-1. '; }
.survey li:nth-child(6)::marker { content: '5. '; }
.survey li:nth-child(7)::marker { content: '6. '; }
.survey li:nth-child(8) { margin-left: -20px; }
.survey li:nth-child(8)::marker { content: ''; }


.survey li p { font-size: 1.125em; font-weight: 500; }
.survey li p span { font-weight: 400; }
.survey li div { margin: 10px auto 0; }
.survey li div label { position: relative; margin-right: 20px; display: inline-block; vertical-align: middle; cursor: pointer;  }
.survey li div span { display: inline-block; position: absolute; left: 0px; top: 2px; width: 20px; height: 17px; line-height: 17px; text-align: center; font-size: 0.8em; }
.survey li div input { display: inline-block; width: 20px; height: 20px; vertical-align: middle; margin: -5px 5px 0 0; -webkit-appearance: none; -moz-appearance: none; border-radius: 100px; border: 1px solid #000;  }


.survey div input:checked { background-color: #ba2454; border-color: #ba2454; }
.survey div input:checked + span { color: #fff; }

.survey div textarea { border: 1px solid #ccc; padding: 20px; box-sizing: border-box; width: 100%; height: 100px; }

.surveyBtn { width: 150px; padding: 10px; color: #fff; display: block; margin: 40px auto 0px; border-radius: 100px;  background: #ba2454;  }





/* 부대행사 */
#event {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3칸으로 배치 */
    gap: 20px; /* 각 항목 사이의 간격 */
    padding: 20px;
}


#event li {
    list-style: none;
    background-color: #fff; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box; 
    position: relative;
    text-align: center;
}
#event a { display: block; width: 100%; height: 100%;  padding: 40px 20px 30px; box-sizing: border-box; }


#event h3 {
    text-align: center;
    font-weight: 500; font-size: 1.3em;
}

#event li i { display: block; font-size: 1.8em; margin-bottom: 10px;}
#event li p { margin-top: 10px; font-size: 0.9em; color: #666; }



#event li:first-child h3, #event li:first-child i { color: #f39200;}
#event li:nth-child(2) h3, #event li:nth-child(2) i { color: #87bd15;}
#event li:nth-child(3) h3, #event li:nth-child(3) i { color: #ba2454;}
#event li:nth-child(4) h3, #event li:nth-child(4) i { color: #ec5a4b;}
#event li:nth-child(5) h3, #event li:nth-child(5) i { color: #009fe3;}
#event li:last-child h3, #event li:last-child i { color: #953f95;}


/* 부대행사 상세페이지 */
.event { display: flex; jusfy-content: space-between; flex-wrap: wrap; }
.event h2 { width: 100%; }
.event figure { width: 40%; min-height: 400px; border-radius: 8px;  background-position: center center; background-size: auto 400px; background-repeat: no-repeat; }
.event figure img { display: none; }
.event ul { width: 60%; padding-left: 40px; box-sizing: border-box; list-style: disc; }
.event li { margin-bottom: 10px; }

#event1 figure { background-image: url('../img/sub5Img1.jpg'); }
#event2 figure { background-image: url('../img/sub5Img22.jpg'); }
#event3 figure { background-image: url('../img/sub5Img33.jpg'); }
#event4 figure { background-image: url('../img/sub5Img44.jpg'); }



/* 부대행사 표 */
.schedule { display: grid; gap: 0px; width: 100%; margin: 0 auto; text-align: center; border-top: 3px solid #b33258; border-bottom: 1px solid #ccc; }
.schedule1 { grid-template-columns: 1fr 1fr; }
.schedule2 { grid-template-columns: 1fr 1fr 1fr; }
.scheduleHeader { display: contents; font-weight: 500; color: #b33258; }
.scheduleRow { display: contents; border-bottom: 1px solid #ccc; }
.schedule dt, .schedule dd { padding: 10px; border: 1px solid #ccc; border-left: 0; border-bottom: 0;  box-sizing: border-box; }
.scheduleRow  dt { background-color: #f0f0f0; padding: 10px;  box-sizing: border-box;  }
.schedule dl dd:last-child { border-right: 0;  }