@charset "UTF-8";

/* ===== Subtop ===== */
.subtop{
  position:relative;
  background: url(/conference/img/sub/sub_visual.png) no-repeat top left;
  /* overflow:hidden; */
  height: 26.25rem;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 3.125rem;
  z-index: 101;
}
.subtop-inner{
  position:relative;
  max-width:1600px;
  width: calc(100% - 32px);
  margin:0 auto;
}
.subtop h2{
  font-size: var(--size48);
  font-weight:700;
  color:var(--font-01);
  line-height: 1.1875;
}
.subtop .sub-en{
  font-size: var(--size16);
  font-weight:500;
  margin-top:5px;
  color:var(--font-01);
}
.subnav-bottom {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 2.1875rem;
  padding-bottom: 1.875rem;
  border-bottom: 1px solid rgba(255,255,255,0.5);
}
.breadcrumb{
  display:flex;
  align-items:center;
  gap:0.875rem;
  font-size:var(--size14);
  color:var(--font-02);
  flex-wrap:wrap;
}
.breadcrumb .sep{opacity:.5;}
.breadcrumb li span {
  display: none;
}
.subnav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.subnav .dropdown{
  position:relative;
}
.subnav .dropdown-toggle span {
  display: none;
}
.subnav .dropdown-toggle{
  appearance:none;
  padding:1.3125rem 1.75rem 1.25rem;
  border-radius:64px;
  font-size:16px;
  font-weight:600;
  border:2px solid var(--font-pointcolor);
  color:var(--font-pointcolor);
  width: 16.25rem;
  background-color:transparent;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%230c7841' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 20px center;
  cursor:pointer;
  text-align:left;
  transition:background-color .15s ease;
  -webkit-border-radius:64px;
  -moz-border-radius:64px;
  -ms-border-radius:64px;
  -o-border-radius:64px;
}
.subnav .dropdown.dropdown-active .dropdown-toggle{
  width: 21.25rem;
  background-color:var(--font-pointcolor);
  color:#fff;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.subnav .dropdown.open .dropdown-toggle{
  transform:rotate(0);
}
.subnav .dropdown-menu{
  list-style:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,0.12);
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
  z-index:30;
}
.subnav .dropdown.open .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.subnav .dropdown-menu li a{
  display:block;
  padding:12px 16px;
  border-radius:10px;
  font-size:15px;
  font-weight:500;
  color:var(--font-01);
}
.subnav .dropdown-menu li a:hover{
  background:#eef7f1;
  color:var(--pointcolor);
}

.sub-container {
  padding: 6.25rem 0;
  position: relative;
  z-index: 100;
}
.sub-title{
  text-align:center;
  margin-bottom:5rem;
}

.sub-title h2{
  font-size: var(--size35);
  margin-top: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}
.sub-title p{ margin-top:0.875rem; color:var(--font-02); font-size:var(--size18); line-height: 1.5;}
.sub-title p.mt30 {
  margin-top: 1.875rem;
}

/* ===== SUB NAVIGATION ===== */
.sub-nav-wrapper {
  background: white;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  /* position: sticky; */
  /* top: 66px; */
  /* z-index: 100; */
}
.sub-nav {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 0rem;
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sub-nav::-webkit-scrollbar { display: none; }
.sub-nav a {
  position: relative;
  padding: 1.25rem 1.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--font-02);
  white-space: nowrap;
  transition: all 0.3s var(--ease);
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  -webkit-transition: all 0.3s var(--ease);
  -moz-transition: all 0.3s var(--ease);
  -ms-transition: all 0.3s var(--ease);
  -o-transition: all 0.3s var(--ease);
}
.sub-nav a::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--font-pointcolor), var(--font-pointcolor));
  border-radius: 3px 3px 0 0;
  transition: all 0.3s var(--ease);
  transform: translateX(-50%);
  -webkit-transition: all 0.3s var(--ease);
  -moz-transition: all 0.3s var(--ease);
  -ms-transition: all 0.3s var(--ease);
  -o-transition: all 0.3s var(--ease);
}
.sub-nav a:hover { color: var(--font-pointcolor); }
.sub-nav a:hover::before { width: 100%; }
.sub-nav a.on { color: var(--font-pointcolor); font-weight: 600; }
.sub-nav a.on::before { width: 100%; }

.about-text{
  font-size: var(--size18);
  line-height: 1.77778;
  color: var(--font-01);
}
.about-text.mt20 {
  margin-top: 1.25rem;
}
.host-desc{ font-weight: 500;}
 
/* ---------- 개최목적: 01~05 번호형 리스트 ---------- */
.purpose-list{
  margin-top: 3.125rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.purpose-list li{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  padding: 3.0625rem 4.9375rem;
  border: 1px solid #ddd;
  border-radius: 20px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-transition: border-color .2s ease, box-shadow .2s ease;
  -moz-transition: border-color .2s ease, box-shadow .2s ease;
  -ms-transition: border-color .2s ease, box-shadow .2s ease;
  -o-transition: border-color .2s ease, box-shadow .2s ease;
}
.purpose-list li:hover{
  border-color: var(--font-pointcolor);
  box-shadow: 0px 4px 20px 0px #007F4220;
}
.purpose-left {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 10px;
  width: 23.125rem;
}
.purpose-left .num{
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--font-pointcolor);
  color: #fff;
  font-size: var(--size16);
  font-weight: 700;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}
.purpose-left strong{
  display: block;
  font-size: var(--size20);
  font-weight: 700;
  color: var(--font-01);
  line-height: 1.5;
}
.purpose-desc{
  width: calc(100% - 23.125rem);
  font-size: var(--size16);
  line-height: 1.8125;
  color: #000;
}
 
/* ---------- 주최: HOST ORGANIZATION 박스 ---------- */
.host-box.host-box2{
  border: 1px solid var(--font-pointcolor);
  margin-top: 0;
  background-color: #F2F8F5;
  border-radius: 20px;
  padding: 4.9375rem 3.6875rem;
  text-align: center;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}
.host-label.host-label2{
  font-size: var(--size16);
  font-weight: 700;
  line-height: 1.8125;
  letter-spacing: 0.1em;
  color: var(--font-pointcolor);
  margin-bottom: 1.25rem;
}
.host-logo.host-logo2{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 3.75rem;
}
.host-logo img{ max-height: 3.125rem; width: auto; }
 
.host-box .about-text{ text-align: left; }
 
.host-policy{
  margin-top: 3.0625rem;
  padding-top: 3.125rem;
  border-top: 1px solid #ddd;
  text-align: left;
}
.host-policy.host-policy2 h4{
  font-size: var(--size20);
  font-weight: 700;
  line-height: 1.8;
  color: var(--font-pointcolor);
  margin-bottom: 1.875rem;
}
.check-list{ display: flex; flex-direction: column; gap: 1.8125rem; }
.check-list li{
  position: relative;
  padding-left: 1.75rem;
  font-size: var(--size16);
  line-height: 1.5625;
  color: var(--font-01);
}
.check-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  background-color: var(--font-pointcolor);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'><path d='M1 4l3 3 5-6' stroke='white' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
}

/* Greetings 인사말 */
.s2_1 .greetings-body p{ 
  font-size:var(--size18);
  line-height:1.777778;
  color:var(--font-01);
  margin-bottom:1.875rem;
}
.s2_1 .greetings-body p.lead{
  font-size:var(--size30);
  font-weight:600;
  color:var(--font-pointcolor);
  line-height:1.8;

}
.s2_1 .signature{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top: 5rem;
  flex-wrap:wrap;
}
.s2_1 .signature-text{
  text-align:right;
}
.s2_1 .signature-text .name{
  font-size:var(--size18);
  font-weight: 600;
  line-height: 1.77778;
  color: var(--font-01);
}
.s2_1 .signature-text .org{
  font-size:var(--size18);
  font-weight: 400;
  line-height: 1.77778;
  color:var(--font-02);
}
.s2_1 .signature-mark{
  width:10.625rem;
}
.s2_1 .signature-mark img {
  max-width: 100%;
}

/* 오시는 길 */
.location-wrap {
  margin-top: 5rem;
}
.location-wrap .top-box h2 {
  margin-top: 3.125rem;
  font-weight: 700;
  font-size: var(--size45);
  line-height: 1.8;
  color: var(--font-01);
}
.location-wrap .top-box address {
  font-weight: 600;
  font-size: var(--size24);
  line-height: 1.7916667;
  color: var(--font-01);
}
.location-wrap .location-btn-wrap {
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
  margin-top: 1.25rem;
}
.location-wrap .location-btn-wrap a {
  font-weight: 500;
  font-size: var(--size18);
  line-height: 1.16667;
  color: var(--font-pointcolor);
  padding: 0 1.3125rem;
  min-width: 13.75rem;
  height: 3.125rem;
  border-radius: 10px;
  border: 1px solid var(--font-pointcolor);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}
.location-wrap .top-box .location-btn-wrap {
  margin-top: 0.9375rem;
}
.location-info {
  margin-top: 3.75rem;
  border-top: 1px solid #ddd;
  padding-top: 3.75rem;
}
.location-info-box:not(:last-child) {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  background: url(/conference/img/sub/dot_line.png) no-repeat left bottom;
}
.location-info-box h3 {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.125rem;
  align-items: center;
  font-weight: 700;
  font-size: var(--size20);
  line-height: 1.2;
  color: var(--black);
  margin-bottom: 1.25rem;
}
.location-info-box h3 img {
  display: none;
}
.location-item {
  margin-bottom: 10px;
}

.location-item:last-child {
  margin-bottom: 0;
}

.location-item h4 {
  position: relative;
  padding-left: 1.5625rem;
  font-size: var(--size18);
  font-weight: 600;
  color: var(--font-pointcolor);
  line-height: 2;
}

.location-item h4::before {
  content: '•';
  position: absolute;
  left: 10px;
  top: 0;
  color: var(--font-pointcolor);
  font-weight: 700;
}
.location-item h4 span {
  font-weight: 400;
  color: var(--font-01);
}

.location-item > p {
  padding-left: 1.5625rem;
  font-size: var(--size18);
  line-height: 2;
  color: var(--font-01);
  word-break: keep-all;
}

/* 하위 목록 (- 비고 : 내용) */
.location-item .sub-list {
  padding-left: 1.5625rem;
}

.location-item .sub-list dt {
  display: inline;
  font-size: var(--size18);
  font-weight: 600;
  color: var(--font-01);
  line-height: 2;
}

.location-item .sub-list dt::before {
  content: '- ';
}

.location-item .sub-list dt::after {
  content: ' : ';
}

.location-item .sub-list dd {
  display: inline;
  font-size: var(--size18);
  font-weight: 400;
  color: var(--font-01);
  word-break: keep-all;
  line-height: 2;
}

.location-item .sub-list dd:last-of-type {
  margin-bottom: 0;
}


/* Tip 안내 문구 */
.location-info-box .txt-tip {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 1rem;
  padding-left: 7px;
}

.location-info-box .txt-tip img {
  flex-shrink: 0;
}
.location-info-box .txt-tip p {
  font-weight: 400;
  font-size: var(--size18);
  line-height: 2;
  color: var(--font-01);
  white-space: nowrap;
}
.location-info-box .txt-tip strong {
  font-weight: 600;
}

/* 안내 문구 (※) */
.location-info-box  .txt-notice {
  margin-top: 10px;
  padding-left: 2.1875rem;
  font-weight: 400;
  font-size: var(--size18);
  line-height: 2;
  color: var(--font-01);
}


.s6.password-wrap h4 {
  font-size: var(--size30);
  font-weight: 700;
  color: var(--black);
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
}

.s6.password-wrap p {
  font-size: var(--size18);
  font-weight: 600;
  color: var(--black);
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 1.875rem;
}

.s6.password-wrap .input-wrap {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  margin-top: 1.875rem;
  gap: 10px;
}
.s6.password-wrap .input-wrap input {
    border: 1px solid #ccc;
    height: 50px;
    padding-left: 100px;
    color: #333;
    font-size: 15px;
    box-sizing: border-box;
}
.s6.password-wrap .input-wrap button {
  height: 50px;
  padding: 0 25px;
  background-color: #124E14;
  font-size: 15px;
  color: #fff;
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  -o-border-radius: 7px;
}

/* ---------- 1) 요약 대시보드 ---------- */
.directory-summary{
  display: flex;
  gap: 1.25rem;
  margin-bottom: 3rem;
}
.summary-item{
  flex: 1;
  padding: 2rem 2.5rem;
  border: 1px solid var(--font-pointcolor);
  background-color: #F2F8F5;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}
.summary-label{
  font-size: var(--size16);
  font-weight: 600;
  color: var(--font-pointcolor);
  margin-bottom: 0.75rem;
}
.summary-value{
  font-size: var(--size35);
  font-weight: 700;
  color: var(--font-01);
  line-height: 1.2;
}
.summary-value span{
  font-size: var(--size18);
  font-weight: 500;
  color: var(--font-02);
  margin-left: 0.375rem;
}

/* ---------- 2) 검색바 ---------- */
.directory-search{
  margin-bottom: 1.25rem;
  display: flex;
  justify-content: flex-end;
}
.directory-search .search-wrap{
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 22rem;
  border: 1px solid #ddd;
  border-radius: 999px;
  overflow: hidden;
}
.directory-search .search-wrap input{
  flex: 1;
  border: none;
  padding: 0.75rem 1.25rem;
  font-size: var(--size15);
  outline: none;
}
.directory-search .search-wrap button{
  border: none;
  background: none;
  padding: 0 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.directory-search .search-wrap button img{ width: 1.125rem; height: 1.125rem; }

/* ---------- 2) 테이블 폰트/간격 (가독성 강화) ---------- */
.directory-table th, .directory-table td{
  font-size: var(--size15);
  text-align: center;
}
.directory-table td:nth-child(2){ text-align: left; }
.directory-table td:nth-child(3){ text-align: center; }

/* ---------- 페이지네이션 ---------- */
.directory-pagination{
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.875rem;
}
.directory-pagination a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  font-size: var(--size14);
  color: var(--font-02);
}
.directory-pagination a:hover,
.directory-pagination a.on{
  background: var(--font-pointcolor);
  color: #fff;
  font-weight: 700;
}

/* ---------- 3) CTA ---------- */
.directory-cta{
  margin-top: 3.75rem;
  padding: 3rem 2rem;
  text-align: center;
  background-color: #F2F8F5;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}
.directory-cta p{
  font-size: var(--size20);
  font-weight: 600;
  color: var(--font-01);
  margin-bottom: 1.5rem;
}
.directory-cta .submit-btn{
  display: inline-block;
  padding: 1rem 2.5rem;
  background-color: var(--font-pointcolor);
  color: #fff;
  font-size: var(--size16);
  font-weight: 700;
  border-radius: 64px;
  text-decoration: none;
  -webkit-border-radius: 64px;
  -moz-border-radius: 64px;
}
.directory-cta .submit-btn:hover{ opacity: 0.9; }

/* ---------- 모바일 반응형 ---------- */
@media all and (max-width: 768px){
  .directory-summary{ flex-direction: column; gap: 0.875rem; margin-bottom: 2rem; }
  .summary-item{ padding: 1.5rem; }
  .summary-value{ font-size: var(--size28); }
  .directory-search{ justify-content: stretch; }
  .directory-search .search-wrap{ max-width: none; }
  .directory-cta{ padding: 2rem 1.25rem; }
  .directory-cta p{ font-size: var(--size16); }
}
