:root{
    --font-size:14px;
    --bg-color:#F2F2F2;
    --text-color:#38382E;
    --primary-color:#002c76;
    --primary-color-light:#174593;
    --secondary-color:#0E7CDE;
    --secondary-color2:rgb(129, 191, 246);
    --secondary-color-hover:#0c61ac;
    --tertiary-color:#17BED8;
    --tertiary-color-hover:#14a3b9;
    --green-color:#59B100;
    --purple-color:#8979FF;
    --danger-color:#ff526f;
    --inner-lg-size:1440px;
    --inner-md-size:1320px;
    --footer-bg:#383C36;
    --footer-text:#BDBDB8;
    --transition-duration:0.2s;
    --transition-easing:ease-in-out;
    --NotoSansKR:'Noto Sans Korean', sans-serif;
    --Pretendard:'Pretendard',sans-serif;
    --Montserrat:'Montserrat', sans-serif;
    --underline-bg:#FEE4AB;
    --underline-bg2:#FFD000;
    --white: #fff;
    --black: #000;
    --gray-light: #f3f3f3;
    --gray-dark: #6d6e68;
    --gray-bg: #fcfcfc;
    --gray-light2:#F2F3F8;
    --gray-light2-hover:#e9e9e9;
    --shadow-color: rgba(0, 0, 0, 0.1);
    --shadow-color-light: rgba(0, 0, 0, 0.05);
    --shadow-color-dark: rgba(0, 0, 0, 0.2);
    --highlight-color: #FFD000;
    --highlight-color-light: #FFD0001A;
    --highlight-color-danger: #FF8000;
    --highlight-color-dark-bg: #FF80001A;
    --highlight-color-secondary: #4A8AED;
    --highlight-color-secondary-bg: #4A8AED1A;
    --highlight-color-tertiary: #17BED8;
    --highlight-color-tertiary-bg: #17BED81A;
    --highlight-color-quaternary: #002C761A;
    --highlight-color-quinary: #6D6E681A;
}
body,
html{
    font-size: var(--font-size);
    line-height: 1;
    font-family: 'Pretendard', sans-serif;
    color:var(--text-color);
    min-width: 1024px;
}
.hidden{
    overflow: hidden;
}
button{
    font-family: var(--Pretendard);
}

/* common */
.inner{
    margin:0 auto;
    margin:0 30px;
    position: relative;
}
.text-white{
    color:var(--white);
}
.text-color{
    color:var(--text-color)
}
.text-danger{
    color:var(--danger-color) !important;
}
.text-primary{
    color:var(--primary-color) !important;
}
.text-tertiary{
    color:var(--tertiary-color) !important;
}
.bg-primary{
    background-color:var(--primary-color) !important;
}
.bg-secondary{
    background: var(--secondary-color) !important;
}
.bg-tertiary{
    background-color:var(--tertiary-color) !important;
}
.bg-light2{
    background-color:var(--gray-light2) !important;
}
.bg-danger{
    background: var(--danger-color) !important;
}
.bg-gray-light2{
    background: var(--gray-light2) !important;
}
.bg-gray{
    background: #999 !important;
}
.text-left{
    text-align: left;;
}
.text-right{
    text-align: right;
}
.text-center{
    text-align: center;
}
.text-white{
    color:#fff;
}
.font-thin{
    font-weight: 300;
}
.font-regular{
    font-weight: 400;
}
.font-medium{
    font-weight: 500;
}
.font-bold{
    font-weight: 700;
}
.font-extrabold{
    font-weight: 800;
}
.d-inline{
    display: inline;
}
.d-inline-block{
    display: inline-block;
}
.d-block{
    display: block;
}
.d-flex{
    display: flex;
}
.align-left{
    text-align: left !important;
}
.align-right{
    text-align: right;
}
.align-center{
    text-align: center;
}
.justify-center{
    justify-content: center !important;
}
.justify-between{
    justify-content: space-between !important;
}
.pt-0{
    padding-top: 0 !important;
}
.pb-0{
    padding-bottom: 0 !important;
}
.pl-0{
    padding-left: 0 !important;
}
.pr-0{
    padding-right: 0 !important;
}
.mt-0{
    margin-top: 0 !important;
}
.mb-0{
    margin-bottom: 0 !important;
}
.ml-0{
    margin-left: 0 !important;
}
.mr-0{
    margin-right: 0 !important;
}

/* font */
.NotoSansKR{
    font-family: 'Noto Sans Korean', sans-serif;
}
.Pretendard{
    font-family: 'Pretendard',sans-serif;
}
.Montserrat{
    font-family: 'Montserrat', sans-serif;
}
.primary-color{
    color:var(--primary-color);
}
.green-color{
    color:var(--green-color);
}
.purple-color{
    color:var(--purple-color);
}

/* btn */
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: transparent;
    border:0;
}
.btn-more{
    background-color: #000;
    color:#fff;
    height: 71px;
    border-radius: 50px;
    font-size: 1.5rem;
    font-weight: 500;
    font-family: var(--Pretendard);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 242px;
    box-sizing: border-box;
    padding:0 30px;
    box-shadow: 0px 3px 20px 0px #002C7626;
    transition: color var(--transition-duration) var(--transition-easing);
}
.btn-more:hover{
    color:var(--secondary-color2);
}
.btn-success{
    display: inline-flex;
    color:#4A8AED;
    background-color: #4A8AED1A;
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-info{
    display: inline-flex;
    color:#17BED8;
    background-color: #17BED81A;
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-danger{
    display: inline-flex;
    color:#FF526F;
    background-color: rgba(255, 82, 111, 0.1);
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-warning{
    display: inline-flex;
    color:var(--highlight-color-danger);
    background-color:rgba(255, 128, 0, 0.1);
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-warning-dark{
    display: inline-flex;
    color:#918263;
    background-color: rgba(145, 130, 99, 0.2);
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-tertiary{
    color: var(--tertiary-color);
    background-color: rgba(23, 190, 216, 0.1);
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-gray-dark{
    color:var(--gray-dark);
    background: rgba(56, 56, 46, 0.1);
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    border-radius: 5px;
    align-items: center;
}
.btn-light-gray{
    color:var(--gray-dark);
    background: #F2F3F8;
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    align-items: center;
}
.btn-red{
    color:white;
    background: #FF526F;
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    align-items: center;
}

.btn-yellow{
    color:#000;
    background: #FFD000;
    padding:5px 10px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    font-family: var(--Pretendard);
    align-items: center;
}
.btn-white{
    background: #fff;
    color:var(--primary-color);
}

/* icon */
*[class^=icon]{
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    text-indent: -9999px;
}
.arrow-forward-white{
    width: 15px;
    height: 15px;
    background: url(../svg/arrow_forward_white.svg) center center / cover no-repeat;
}
.arrow-forward{
    width: 15px;
    height: 15px;
    background: url(../svg/arrow_forward.svg) center center / cover no-repeat;
}
.chevron-right-white{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/ico_arrow_right_white.svg) center center / cover no-repeat;
}
.chevron-right{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/ico_arrow_right.svg) center center / cover no-repeat;
}
.chevron-right-primary{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/ico_arrow_right_primary.svg) center center / cover no-repeat;
}
.chevron-up{
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background: url(../svg/ico_arrow_up.svg) center center / cover no-repeat;
}
.chevron-up-gray{
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background: url(../svg/ico_arrow_up_gray.svg) center center / cover no-repeat;
}
.chevron-down{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/ico_down.svg) center center / cover no-repeat;
}
.right-to-bracket-white{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/right_to_bracket_white.svg) center center / cover no-repeat;
}
.right-to-bracket{
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    background: url(../svg/right_to_bracket.svg) center center / cover no-repeat;
}
.icon-info{
    width: 24px;
    height: 24px;
    background: url(../svg/ico_info.svg) center center / cover no-repeat;
}
.icon-info-tertiary{
    width: 24px;
    height: 24px;
    background: url(../svg/ico_info_tertiary.svg) center center / cover no-repeat;
}
.icon-info-danger{
    width: 24px;
    height: 24px;
    background: url(../svg/ico_info_danger.svg) center center / cover no-repeat;
}
.icon-pdf{
    width: 20px;
    height: 20px;
    background: url(../svg/ico_pdf.svg) center center / cover no-repeat;
}
.icon-share{
    width: 20px;
    height: 20px;
    background: url(../svg/ico_share.svg) center center / cover no-repeat;
}
.icon-search{
    width: 20px;
    height: 20px;
    background: url(../svg/ico_search.svg) center center / cover no-repeat;
}
.icon-heart{
    width: 16px;
    height: 16px;
    background: url(../svg/ico_heart.svg) center center / cover no-repeat;
}
.icon-heart.active,
.icon-heart-active{
    width: 16px;
    height: 16px;
    background: url(../svg/ico_heart_on.svg) center center / cover no-repeat;
}
.icon-check{
    width: 18px;
    height: 18px;
    background: url(../svg/ico_check.svg) center center / cover no-repeat;
}
.icon-check-white{
    width: 18px;
    height: 18px;
    background: url(../svg/ico_check_white.svg) center center / cover no-repeat;
}
.icon-close{
    width: 36px;
    height: 36px;
    background: url(../svg/ico_close.svg) center center / cover no-repeat;
}
.icon-trash{
    width: 18px;
    height: 18px;
    background: url(../svg/ico_trash.svg) center center / cover no-repeat;
}
.icon-matching{
    width: 16px;
    height: 16px;
    background: url(../svg/ico_matching.svg) center center / cover no-repeat;
}
.icon-job{
    width: 16px;
    height: 16px;
    background: url(../svg/ico_job.svg) center center / cover no-repeat;
}
.icon-career{
    width: 16px;
    height: 16px;
    background: url(../svg/ico_career.svg) center center / cover no-repeat;
}
.icon-link{
    width: 15px;
    height: 15px;
    background: url(../svg/ico_link.svg) center center / 83% auto no-repeat;
}
.icon-link-success{
    width: 15px;
    height: 15px;
    background: url(../svg/ico_link_success.svg) center center / 83% auto no-repeat;
}
.icon-plus{
    width: 15px;
    height: 15px;
    background: url(../svg/ico_plus.svg) center center / cover no-repeat;
}
.icon-plan{
    width: 39px;
    height: 39px;
    background: url(../svg/ico_plan.svg) center center / cover no-repeat;
}
.icon-map{
    width: 39px;
    height: 39px;
    background: url(../svg/ico_map.svg) center center / cover no-repeat;
}
.icon-note{
    width: 39px;
    height: 39px;
    background: url(../svg/ico_note.svg) center center / cover no-repeat;
}
.icon-university{
    width: 39px;
    height: 39px;
    background: url(../svg/ico_university.svg) center center / cover no-repeat;
}
.icon-print{
    width: 20px;
    height: 20px;
    background: url(../svg/ico_print.svg) center center / cover no-repeat;
}
.icon-list{
    width: 24px;
    height: 24px;
    background: url(../svg/ico_list.svg) center center / cover no-repeat;
}
.icon-question{
    width: 24px;
    height: 24px;
    background: url(../svg/ico_question.svg) center center / cover no-repeat;
}
.icon-menu{
    width: 18px;
    height: 18px;
    background: url(../svg/ico_menu.svg) center center / cover no-repeat;
}
.icon-book{
    width: 39px;
    height: 39px;
    background: url(../svg/ico_book.svg) center center / cover no-repeat;
}
.icon-first{
    width: 24px;
    height: 24px;
    background: url(../svg/paging_first.svg) center center / cover no-repeat;
}
.icon-prev{
    width: 24px;
    height: 24px;
    background: url(../svg/paging_prev.svg) center center / cover no-repeat;
}
.icon-next{
    width: 24px;
    height: 24px;
    background: url(../svg/paging_next.svg) center center / cover no-repeat;
}
.icon-last{
    width: 24px;
    height: 24px;
    background: url(../svg/paging_last.svg) center center / cover no-repeat;
}
.icon-user{
    width: 30px;
    height: 30px;
    background: url(../svg/ico_user.svg) center center / cover no-repeat;
}
.icon-user-fill{
    width: 30px;
    height: 30px;
    background: url(../svg/ico_user_fill.svg) center center / cover no-repeat;
}

/* select */
.select-hidden {
  display: none;
  visibility: hidden;
}
.select {
  cursor: pointer;
  position: relative;
}
.select-styled {
  position: relative;
  padding:0 42px 0 20px;
  background-color: #fff;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  border:1px solid var(--gray-light);
  box-sizing: border-box;
  border-radius: 10px;
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 1rem;
  white-space: nowrap;
  height: 50px;
}
.select-styled:after {
  content: "";
    pointer-events: none;
    width: 20px;
    height: 20px;
    position: absolute;
    right:20px;
    top:50%;
    transform: translate(0,-50%);
    background: url(../svg/ico_down.svg) center center / cover no-repeat;
}
.select-styled.active:after {
    transform: rotate(180deg) translate(0,50%);
}
.select-options {
  display: none;
  position: absolute;
  top: calc(100% + 5px);
  left:0;
  right:0;
  z-index: 999;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #fff;
  border:1px solid var(--gray-light);
  border-radius: 10px;
}
.select-options li {
  margin: 0;
  padding:8px 20px;
  font-size: 0.96rem;
  line-height: 1.8em;
  -moz-transition: all 0.15s ease-in;
  -o-transition: all 0.15s ease-in;
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in;
  color:var(--text-color)
}
.select-options li+li{
    border-top: 1px solid var(--gray-light);
}
.select-options li[rel="hide"] {
  display: none;
}



body{
    background: var(--bg-color);
}
#header{
    background-color: #fff;
    position: sticky;
    left:0;
    right:0;
    top:0;
    z-index: 100;
    transition: box-shadow 0.3s ease;
}

#header.scrolled{
    box-shadow: 0px 5px 5px rgba(0,0,0,0.05);
}
#header .inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 87px;
}
#header h1 a{
    display: flex;
    align-items: center;
    gap:12px;
}
#header h1 a img{
    height: 33px;
}
#header h1 a span{
    font-weight: 700;
    font-size: 1.25rem;
    color:#333;
}
#header .step ol{
    display: flex;
    align-items: center;
    gap:44px;
}
#header .step ol li{
    display: flex;
    gap:8px;
    align-items: center;
}
#header .step ol li .num{
    width: 25px;
    height: 25px;
    border-radius: 100%;
    background: #efefef;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color:var(--primary-color)   
}
#header .step ol li p{
    font-size: 1rem;
    font-weight: 500;
    color:#585858;
    line-height: 1.5em;
}

#header .step ol li a{
    display: flex;
    align-items: center;
    gap:8px;
}
#header .step ol li.active .num{
    background: var(--primary-color);
    color:#fff;
}
#header .step ol li+li{
    position: relative;
}
#header .step ol li+li::before{
    content:'';
    width: 20px;
    height: 20px;
    position: absolute;
    left:-22px;
    top:50%;
    transform: translate(-50%,-50%);
    background: url(../svg/ico_arrow_right_gray.svg) center center / cover no-repeat;
}
#header .header-right{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#header .header-right .mobile-menu{
    display: none;
}
#header .header-right .header-menu{
    display: flex;
    align-items: center;
}
#header .header-right .header-menu>*{
    padding:0 15px;
    display: flex;
    align-items: center;
    /* font-size: 0.8125rem; */
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.46em;
    gap:10px;
    color:#38382E;
}
#header .header-right .header-menu>* i{
    width: 20px;
    height: 20px;
}
#header .header-right .header-menu>*  .done{
    background: var(--primary-color);
    color:#fff;
    border-radius: 5px;
    padding:2px 4px;
    font-size: 0.625rem;
    line-height: 1.4em;
    margin-left: -5px;
    font-weight: 500;
}
#header .header-right .header-menu .btn-user{
    font-weight: 400
}
#header .header-right .btn-close{
    display: none;
}

#footer{
    text-align: center;
    background: var(--footer-bg);
    padding:20px 0;
}
#footer .copy{
    color:#bdbdb8;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.46em;
}

/* side list -찜목록, AI 추천 */
#side-list{
    position: fixed;
    background-color: var(--white);
    top:0;
    right:0;
    height: 100vh;
    width: 450px;
    z-index: 1000;
    box-shadow: 0 5px 20px var(--shadow-color);
    box-sizing: border-box;
    font-family: var(--Pretendard);
    transform: translate(calc(100% + 60px),0);
    transition: transform 0.7s;
}
#side-list.show{
    transform: translate(0,0);
}
#side-list .list-inner{
    height: 100%;
    overflow:hidden;
}
#side-list>.btn-close{
    padding:0;
    box-sizing: border-box;
    position: absolute;
    left:0;
    top:0;
    width: 60px;
    height: 60px;
    overflow: hidden;
    text-indent: -9999px;
    background: #000;
    box-shadow: -20px 5px 20px var(--shadow-color-light);
    border:0;
    cursor: pointer;
    transform: translate(-100%,0);
    /* background: var(--white) url(../svg/ico_close.svg) center center / 36px auto no-repeat; */
    background: var(--white);
    overflow: hidden;
    text-indent: -9999px;
}
#side-list>.btn-close::before,
#side-list>.btn-close::after{
    content:'';
    width: 15px;
    height: 2px;
    background:rgba(56, 56, 46, 1);
    position: absolute;
    left:50%;
    transform-origin: center;
    transition: 0.3s;
}
/* #side-list>.btn-close::before{
    transform: translate(-50%, 0%) rotate(140deg);
    top: 40%;
}
#side-list>.btn-close::after{
    transform: translate(-50%, 0) rotate(40deg);
    top: 55%;
} */
#side-list>.btn-close::before{
    width: 25px;
    transform: translate(-50%, -50%) rotate(45deg);
    top: 50%;
}
#side-list>.btn-close::after{
    width: 25px;
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 50%;
}
#side-list .list-header{
    padding:40px;
    margin-bottom: 0;
    position: relative;
}
#side-list .list-header h4{
    display: block;
    font-weight: 700;
    font-size: 1.875rem;
    line-height: 1.2em;
}
#side-list .list-header p{
    font-size: 1.125rem;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 1.11em;
}
#side-list .list-header .btn-reset{
    position: absolute;
    right:40px;
    top:50%;
    transform: translate(0,-50%);
    border:0;
    cursor: pointer;
    background-color: transparent;
    display: flex;
    align-items: center;
    background-color: var(--gray-light);
    border-radius: 50px;
    gap:2px;
    justify-content: center;
    padding:7px 20px 7px 15px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3125em;
}
#side-list .list-items{
    padding:40px 40px;
    height: calc(100% - 132px);
    overflow-y: auto;         /* y축 스크롤 허용 */
  overflow-x: hidden;       /* 가로 스크롤은 숨김 */
  -webkit-overflow-scrolling: touch;  /* iOS 부드러운 스크롤 */
}
#side-list .list-item{
    position: relative;
    border:1px solid var(--gray-light);
    background-color: var(--gray-bg);
    border-radius: 20px;
    padding:30px 25px;
}
#side-list .list-item+.list-item{
    margin-top: 20px;
}
#side-list .list-item .btn-remove{
    position: absolute;
    border:0;
    cursor: pointer;
    background-color: transparent;
    right: 0;
    top:0;
    width: 20px;
    height: 20px;
    padding:0;
}
#side-list .list-item .btn-remove i{
    width: 100%;
    height: 100%;
}
#side-list .list-item.department-item .thumb{
    margin:-30px -25px 20px;
}
#side-list .list-item.department-item .thumb .bg{
    padding-bottom: 54%;
}
#side-list .list-item.department-item .info,
#side-list .list-item.module-item .info{
    padding:0;
}
#side-list .module-item .info .title{
    font-size: 1.25rem;
}
#side-list .btn-plan{
    background-color:var(--primary-color);
    color: var(--white);
    height: 60px;
    border-radius: 10px;
    margin-top: 40px;
    font-weight: 700;
    font-size: 1.125rem;
    transition: color var(--transition-duration) var(--transition-easing);
}
#side-list .btn-plan:hover{
    color:var(--secondary-color2)
}

#container{
    padding:30px 0;
    position: relative;
    z-index: 1;
}

/* btn */
.btn-primary{
    background: var(--primary-color);
    color:#fff;
    line-height: 1.5em;
}
.btn-tertiary{
    background: var(--tertiary-color);
    color:#fff;
    line-height: 1.5em;
}
.btn-gray-dark{
    background: var(--gray-dark);
    color:#fff;
    line-height: 1.5em;
}


.planner-btns{
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.planner-btns>*{
    display: flex;
    align-items: center;
    gap:15px;
}
.planner-btns button,
.planner-btns a{
    border:0;
    cursor: pointer;
    width: 199px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 60px;
    color:#fff;
    font-size: 1.125rem;
    font-weight: 700;
    padding:0;
}
.planner-btns .btn-white{
    color:var(--text-color);
    gap:2px;
}
.planner-btns .btn-exit{
    background: var(--tertiary-color);
    color:#fff;
}
.planner-btns .btn-save{
    background: var(--gray-dark);
    color:#fff;
}
.planner-btns .btn-next{
    background: var(--primary-color);
    color:#fff;
}

/* 추천전공 */
.recommend-major-item{
    width: 100%;
    display: flex;
    align-items: stretch;
    border:1px solid var(--gray-light);
    border-radius: 20px;
    box-sizing: border-box;
    overflow: hidden;
}
.recommend-major-item .thumb{
    width: 172px;
    aspect-ratio: 1 / 1;
}
.recommend-major-item .thumb .bg{
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.recommend-major-item .info{
    padding:31px 90px 31px 40px;
    box-sizing: border-box;
    position: relative;
    width: calc(100% - 172px);
}
.recommend-major-item .info .title{
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.2em;
    display: flex;
    gap:5px;
    flex-wrap: wrap;
    align-items: center;
}
.recommend-major-item .info .title span{
    background: var(--primary-color);
    color:#fff;
    border-radius: 5px;
    padding:4px 10px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.46em;
}
.recommend-major-item .info .tag{
    display: flex;
    flex-wrap: wrap;
    gap:5px;
    margin-top: 20px;
}
.recommend-major-item .info .tag li{
    padding:4px 8px;
    font-size: 0.8125rem;
    line-height: 1.615em;
    border-radius: 5px;
}
.recommend-major-item .info .summary{
    margin-top: 0.625em;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--gray-dark);
}
.recommend-major-item .info .btn-like{
    position: absolute;
    right:30px;
    top:44px;
    width: 36px;
    height: 36px;
    background-color: var(--highlight-color-quinary);
    border:0;
    cursor: pointer;
    text-indent: -9999px;
    overflow: hidden;
    border-radius: 100%;
    margin:0;
    transform: translate(0,-50%);
}
.recommend-major-item .info .btn-like i{
    width: 16px;
    height: 16px;
}

.modal-body-inner{
    width: 480px;
    text-align: left;
    margin: auto;
    padding: 30px;
    border: 1px solid #e1e1e1;
    border-radius: 20px;
    max-width:80%;
}

.survey-box{
    display: flex;
    flex-direction: column;
    gap:30px;
}
.survey-box .box-title{
    margin-bottom: 10px;
}

.survey-item{
    padding:20px 0;
    box-sizing: border-box;
    width: 100%;
    margin:0;
}
.survey-item .question{
    font-size: 1.5rem;
    line-height: 1.5em;
    font-weight: 700;
    color:var(--text-color);
}

.survey-item[disabled] .options label{
    pointer-events: none;
}
.survey-item[disabled]{
    cursor: not-allowed;
}
.survey-item .options ul{
    display: flex;
    flex-wrap: wrap;
    gap:1.25rem;
}
.survey-item .options li{
    position: relative;
}
.survey-item .options input{
    position: absolute;
    lefT:0;
    top:0;
    visibility: hidden;
    pointer-events: none;
}
.survey-item .options input+label{
    display: flex;
    align-items: center;
    gap:15px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2em;
    color:var(--text-color)
}
.survey-item .options input+label::before{
    content:'';
    display: block;
    width: 24px;
    height: 24px;
    background: transparent url(../svg/ico_check_nor.svg) center center / cover no-repeat;
}
.survey-item .options input:checked+label::before{
    background: transparent url(../svg/ico_check_sel.svg) center center / cover no-repeat;
}
.ai-propensity .planner-btm-btns{
    margin-top: -50px;
}




/* 학과 목록 아이템 */
.department-item{
    border-radius: 20px;    
    overflow: hidden;
    background-color: var(--white);
    box-shadow: 0px 5px 20px 0px #0000000D;
}

.department-item .ui-draggable-dragging{
    width: calc(50% - 10px) !important; /* 원래 너비 유지 */
    height: inherit !important; /* 원래 높이 유지 */
    transform: none !important; /* 변형 효과 제거 */
    max-width: 100% !important; /* 최대 너비 제한 */
    max-height: 100% !important; /* 최대 높이 제한 */
}

.design-view .major-select .sel-box.empty.last-micro-dgree{
    display:none;
}

        
.design-view .major-select{
    display: flex;
    align-items: stretch;
    gap:30px;
}
.design-view .major-select .sel-box{
    width: calc((100% - 30px) / 2);
    box-sizing: border-box;
    min-height: 380px;
}
.design-view .major-select .sel-box .department-item .thumb .bg{
    padding-bottom: 55%;
}
.design-view .major-select .sel-box.empty{
    border-radius: 20px;
    border:1px dashed rgba(109,110,104,0.4);
    background-color: var(--gray-bg);
    display: flex;
    align-items: center;
    justify-content: center;
}
.design-view .major-select .sel-box.empty .empty-text{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap:10px;
}
.design-view .major-select .sel-box.empty .empty-text i{
    width: 44px;
    height: 44px;
    border-radius: 100%;
    background-color: rgba(109,110,104,0.1);
    background-size: 54.5% auto;
}
.design-view .major-select .sel-box.empty .empty-text span{
    font-size: 1.25rem;
    line-height: 1.5em;
    font-weight: 500;
    color:var(--gray-dark)
}


/* 마이크로 전공 제3전공 선택시 */
.plan-detail-wrap.micro-dgree .detail-left{
    transition: width 0.5s ease-in-out;
    width: calc(30% - 15px);
}
#planner-wrap .plan-detail-wrap.micro-dgree .design-detail{
    transition: width 0.5s ease-in-out;
    width: calc(70% - 15px);
}


.micro-dgree .design-view .major-select .sel-box.empty.last-micro-dgree{
    display:flex;
}

plan-detail-wrap.micro-dgree  .detail-left .module-item,
.plan-detail-wrap .detail-left .department-items{
    max-height: 1780px;
    overflow-y:scroll;
    box-sizing: border-box;
    min-height: 0px;
    padding-right: 10px;
    overscroll-behavior: contain;
    pointer-events: auto;
    z-index: 1;
}



.plan-detail-wrap.micro-dgree  .detail-left .department-item, 
.plan-detail-wrap.micro-dgree  .detail-left .module-item{
    width: 100%;
}

.module-item .close-btn,
.department-item .close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #333;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 50%;
    font-size: 14px;
}

.department-item .close-btn:hover {
    background:#999;
}


.department-item .thumb{
    overflow: hidden;
}
.department-item .thumb .bg{
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 0;
    padding-bottom: 47%;
    transition: transform 0.5s var(--transition-easing);
}
.department-item:hover .thumb .bg{
    transform: scale(1.14);
}
.department-item .info{
    padding:5% 7% 7%;
    position: relative;
}
.department-item .info .title{
    font-weight: 800;
    font-size: 1.25rem;
    line-height: 1.2em;
    display: block;
}
.department-item .info .tag{
    display: flex;
    flex-wrap: wrap;
    gap:5px;
    margin-top: 10px;
}
.department-item .info .tag li{
    padding:4px 8px;
    font-size: 0.75rem;
    line-height: 1.5em;
    border-radius: 5px;
}
.department-item .info .summary{
    margin-top: 15px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--gray-dark);
}
.department-item .info .ai{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
    gap:5px;
}
.department-item .info .ai li{
    display: flex;
    align-items: center;
    justify-content: center;
    border:1px solid var(--gray-light);
    border-radius: 10px;
    padding:5px 20px 5px 10px;
    font-size: 0.875rem;
    line-height: 1.2em;
    color: var(--gray-dark);
    gap:3px;
}
.department-item .info .ai li span{
    margin-left: 2px;
    font-weight: 500;
    color:var(--text-color);
}
.department-item .info .btn{
    margin-top: 20px;
    gap:2px;
    color:var(--primary-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3125em;
    display: inline-flex;
}
.department-item .info .btn-like{
    position: absolute;
    right:7%;
    top:calc(5% + 10px);
    width: 36px;
    height: 36px;
    background-color: var(--highlight-color-quinary);
    border:0;
    cursor: pointer;
    text-indent: -9999px;
    overflow: hidden;
    border-radius: 100%;
    margin:0;
}

/* 모듈 */
.module-item{
    position: relative;
    border-radius: 20px;    
    overflow: hidden;
    background-color: var(--white);
    border:1px solid #efefef;
    box-sizing: border-box;
}

.module-item.draggable{
    cursor: move;
    /* height: 370px; */
    aspect-ratio: 1.5;
}
.self-design-module .module-item{
    height: 312px;
    width:100% !important;
    cursor:default;
}

.self-design-module .design-view .major-select .sel-box{
    min-height: 312px;

}
.module-item .info{
    padding:30px 25px;
    position: relative;
}
.module-item .info .major{
    margin-bottom: 5px;
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--gray-dark);
    line-height: 1.5em;
}
.module-item .info .title{
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.5em;
    display: block;
}
.module-item .info .tag{
    display: flex;
    flex-wrap: wrap;
    gap:5px;
    margin-top: 10px;
}
.module-item .info .tag li{
    padding:4px 8px;
    font-size: 0.8125rem;
    line-height: 1.615em;
    border-radius: 5px;
}
.module-item .info .summary{
    margin-top: 15px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--gray-dark);
}
.module-item .info .btn{
    margin-top: 20px;
    gap:2px;
    color:var(--primary-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3125em;
    display: inline-flex;
}
.module-item .info .btn-like{
    position: absolute;
    right:32px;
    top:32px;
    
    width: 36px;
    height: 36px;
    background-color: var(--highlight-color-quinary);
    border:0;
    cursor: pointer;
    text-indent: -9999px;
    overflow: hidden;
    border-radius: 100%;
    margin:0;
}
.module-item .info .ai-badge{
    position: absolute;
    right:75px;
    top:0px;
    transform: translate(0,32px);
    width: 36px;
    height: 36px;
    background-color: var(--highlight-color-quinary);
    border:0;
    cursor: pointer;
    overflow: hidden;
    border-radius: 100%;
    margin:0;
    font-family: 0.75rem;
    color:var(--primary-color);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.module-item .info .ai{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
    gap:5px;
}
.module-item .info .ai li{
    display: flex;
    align-items: center;
    justify-content: center;
    border:1px solid var(--gray-light);
    border-radius: 10px;
    padding:5px 20px 5px 10px;
    font-size: 0.875rem;
    line-height: 1.2em;
    color: var(--gray-dark);
    gap:3px;
}
.module-item .info .ai li span{
    margin-left: 2px;
    font-weight: 500;
    color:var(--text-color);
}


.matching-content .circle {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.matching-content .percent {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    display: inline-block;
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 80px;
    line-height: 80px;
    text-align: center;
}


/* 체크박스 공통 스타일 */
.su-checks {position: relative;}

.su-checks input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip:rect(0,0,0,0);
  border: 0
}
.su-checks input[type="checkbox"] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.su-checks input[type="checkbox"] + label:before {
  content: ' ';
  display: inline-block;
  width: 21px;
  height: 21px;
  line-height: 21px;
  margin: -2px 8px 0 0;
  text-align: center;
  vertical-align: middle;
  background: #fafafa;
  border: 1px solid #cacece;
  border-radius : 3px;

}
.su-checks input[type="checkbox"] + label:active:before,
.su-checks input[type="checkbox"]:checked + label:active:before {
  
}
.su-checks input[type="checkbox"]:checked + label:before {
  content: '\2713';
  color: #333;
  border-color: #adb8c0;
  
}
.su-checks.small input[type="checkbox"] + label {
  font-size: 12px;
}
.su-checks.small input[type="checkbox"] + label:before {
  width: 17px;
  height: 17px;
  line-height: 17px;
  font-size: 11px;
}

/* planner-comp-check 위치 조정 */
.planner-comp-check {
  position: absolute;
  top: 18px;   /* 필요에 따라 조정 */
  right: 18px; /* 필요에 따라 조정 */
  z-index: 2;
}

.plan-detail-wrap .detail-left .module-item .planner-comp-check{
    display: none;
}

.self-design-module .close-btn,
.self-design-module .module-item .btn-like,
.module-item.draggable .close-btn{
    display: none;
}
.module-item.draggable{
    transition:border var(--transition-duration) var(--transition-easing);
}

.self-design-module .module-item.module-disabled{
    opacity: 0.5;
    pointer-events: none;
}
.self-design-module .module-item.selected-item{
    border:1px solid #000;
}

.self-design-module .credit-detail ul{
    justify-content: flex-start;
}


/* 탭 */
#tab .tab-list{
    display: flex;
    flex-wrap: wrap;
    gap:10px;
    width: 100%;
}
#tab .tab-list.grid-1 li{
    width: 100%;
}
#tab .tab-list.grid-2 li{
    width: calc((100% - 10px) / 2);
}
#tab .tab-list.grid-3 li{
    width: calc((100% - 20px) / 3);
}
#tab .tab-list.grid-4 li{
    width: calc((100% - 30px) / 4);
}
#tab .tab-list.grid-5 li{
    width: calc((100% - 40px) / 5);
}
#tab .tab-list.grid-6 li{
    width: calc((100% - 50px) / 6);
}
#tab .tab-list.grid-7 li{
    width: calc((100% - 60px) / 7);
}
#tab .tab-list.grid-8 li{
    width: calc((100% - 70px) / 8);
}
#tab .tab-list .tab-btn{
    box-sizing: border-box;
    width: 100%;
    display: flex;
    border:0;
    justify-content: center;
    cursor: pointer;
    background-color: var(--gray-light);
    border-radius: 10px;
    padding:15px;
    box-sizing: border-box;
    font-size: 1.125rem;   
    line-height: 1.5em;
    color: var(--gray-dark);
    transition: background var(--transition-duration) var(--transition-easing);
}
#tab .tab-list .tab-btn:hover{
    background: #e0e0e0;
}
#tab .tab-list .tab-btn.cur{
    font-weight: 700;
    color: var(--white);
    background-color: var(--primary-color);
    transition: color var(--transition-duration) var(--transition-easing);
}
#tab .tab-list .tab-btn.cur:hover{
    color: var(--secondary-color2);
}


/* 플래너 첫화면 */
#planner-wrap .planner-top{
    background: #fff;
    display: flex;
    align-items: stretch;
    margin-bottom: 30px;
}
#planner-wrap .planner-top .user{
    position: relative;
    width: 29.5%;
    overflow: hidden;
    box-sizing: border-box;
    padding:26px 32px;
    border-right: 1px solid #EFEFEF;
    display: flex;
    align-items: center;
    justify-content: center;
}
#planner-wrap .planner-top .user .circle{
    position: absolute;
    right:32px;
    top:26px;
    width: 20px;
    height: 20px;
    box-sizing: border-box;
    border:2px solid #e1e1e1;
    border-radius: 100%;
}
#planner-wrap .planner-top .user::before{
content:'';
    position: absolute;
    left:0;
    top:0;
    border:30px solid #f1f1f1;
    border-radius: 100%;
    width: 52%;
    aspect-ratio: 1 / 1;
    transform: translate(-80%,-30%);
    box-sizing: border-box;
}
#planner-wrap .planner-top .user::after{
    content:'';
    position: absolute;
    right:0;
    bottom:0;
    border:50px solid #f1f1f1;
    border-radius: 100%;
    width: 33%;
    aspect-ratio: 1 / 1;
    transform: translate(30%,7%);
    box-sizing: border-box;
}
#planner-wrap .planner-top .user .user-box{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#planner-wrap .planner-top .user .user-box .profile-img{
    margin-bottom: 20px;
}
#planner-wrap .planner-top .user .user-box .profile-img .bg{
    aspect-ratio: 180 / 180;
    width: 180px;
    max-width: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#planner-wrap .planner-top .user .user-box .user-num{
    display: block;
    font-weight: 400;
    font-family: 1rem;
    line-height: 1.5em;
    color:#38382E;
}
#planner-wrap .planner-top .user .user-box .user-name{
    font-weight: 700;
    color:#111; 
    margin-top: 5px;
    font-size: 1.5rem;
    line-height: 1.33em;
}
#planner-wrap .planner-top .menu{
    width: 35%;
    box-sizing: border-box;
    border-right: 1px solid #EFEFEF;
}
#planner-wrap .planner-top .menu ul{
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: stretch;
}
#planner-wrap .planner-top .menu ul li+li{
    box-sizing: border-box;
    border-top: 1px solid #EFEFEF;
}
#planner-wrap .planner-top .menu ul li{
    display: flex;
    align-items: center;
    position: relative;
    height: 50%;
    box-sizing: border-box;
    padding:40px;
    gap:36px;
}
#planner-wrap .planner-top .menu ul li a{
    position: absolute;
    top:50%;
    right:50px;
    transform: translate(0,-50%);
    background: #f3f3f3;
    width: 57px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
}
#planner-wrap .planner-top .menu ul li a i{
    width: 32px;
    height: 32px;
}
#planner-wrap .planner-top .menu ul li .img img{
    display: block;
}
#planner-wrap .planner-top .menu ul li .text strong{
    display: block;
    font-size: 1.5rem;
    line-height: 1.33em;
    font-weight: 700;
}
#planner-wrap .planner-top .menu ul li .text p{
    margin-top: 5px;
    font-size: 1rem;   
    line-height: 1.5em;
    font-weight: 400;
    color:#111;
}
#planner-wrap .planner-top .notice{
    width: 35%;
    box-sizing: border-box;
    padding:40px;
}
#planner-wrap .planner-top .notice h3{
    display: block;
    font-size: 1.5rem;
    line-height: 1.33em;
    font-weight: 700;
    margin-bottom: 20px;
}
#planner-wrap .planner-top .notice-list ul {
    gap:16px;
    display: flex;
    flex-direction: column;
}
#planner-wrap .planner-top .notice-list ul li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#planner-wrap .planner-top .notice-list ul li a .title{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
    max-width: 70%;
    color:#38382E;
    font-size: 1.125rem;
    line-height: 1.44em;
}
#planner-wrap .planner-top .notice-list ul li a .date{
    line-height: 1.5em;
    font-size: 1rem;
    color:#6d6e68;
    font-weight: 500;
}
#planner-wrap .planner-top .notice .btns{
    gap:20px;
    margin-top: 56px;
}
#planner-wrap .planner-top .notice .btns>*{
    width: 100%;
    height: 51px;
    border-radius: 0;
    box-sizing: border-box;
    font-size: 700;
    font-size: 1.125rem;
}
#planner-wrap .propensity-info{
    background-color: #fff;
}
#planner-wrap .propensity-info .info-toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 116px;
    box-sizing: border-box;
    padding:0 40px;
    background: var(--primary-color);
}
#planner-wrap .propensity-info .info-toggle.sub{
    background: #fff;
    border-bottom: 1px solid #EFEFEF;
}
#planner-wrap .propensity-info .info-toggle h3{
    font-size: 1.875rem;
    font-weight: 700;
    color:var(--white);
}
#planner-wrap .propensity-info .info-toggle.sub h3{
    color:#000;
}
#planner-wrap .propensity-info .info-toggle button{
    width: 40px;
    height: 40px;
    background-color: var(--primary-color-light);
    border:0;
    cursor: pointer;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color:var(--white);
}
#planner-wrap .propensity-info .info-toggle.sub button{
    background: #e1e1e1;
}
#planner-wrap .propensity-info .info-toggle button i{
    width: 20px;
    height: 20px;
    transform: rotate(180deg);
    transition: var(--transition-duration) transform;
}
#planner-wrap .propensity-info .info-toggle button.active i{
    transform: rotate(0deg);
}
#planner-wrap .propensity-info .box-wrap{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
#planner-wrap .propensity-info .info-1,
#planner-wrap .propensity-info .info-2{
    width: 29.5%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    border-right:1px solid #EFEFEF;
}
#planner-wrap .propensity-info .info-3{
    display: flex;
    align-items: stretch;
    width: 41%;
}
#planner-wrap .propensity-info .info-item{
    padding:40px;
    position: relative;
}
#planner-wrap .propensity-info .info-item+.info-item{
    border-top:1px solid #EFEFEF;
}
#planner-wrap .propensity-info .info-item .item-title{
    display: block;
    font-size: 1.125rem;
    color:#585858;
    font-weight: 700;
    line-height: 1.44em;
    margin-bottom: 1.77em;
}
#planner-wrap .propensity-info .info-3 .info-item .item-content{
    margin-top: 0;
    height: calc(100% - 2.5575rem);
    max-height: 278px;
    position: relative;
}
#planner-wrap .propensity-info .info-3 .info-item .item-title{
    margin-bottom: 0.9375rem;
}
#planner-wrap .propensity-info .info-item .item-content{
    margin-top: 10px;
}
#planner-wrap .propensity-info .info-item .item-content strong{
    display: block;
    font-size: 1.5rem;
    line-height: 1.33em;
    font-weight: 700;
}
#planner-wrap .propensity-info .info-item .item-content strong span{
    color:#999;
}
#planner-wrap .propensity-info .info-item .item-content p{
    margin-top: 5px;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 400;
    color:#111;
}
#planner-wrap .propensity-info .info-item button{
    position: absolute;
    border:0;
    cursor: pointer;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border:1px solid #E1E1E1;
    background: transparent;
    right:40px;
    top:40px;
}
#planner-wrap .propensity-info .info-item .module-list{
    gap:20px;
}
#planner-wrap .propensity-info .info-item .module-list li{
    width: 100%;
    text-align: left;
}
#planner-wrap .propensity-info .info-item .btns{
    gap:20px;
    margin-top: 2.625rem;
}
#planner-wrap .propensity-info .info-item .btns>*{
    width: 100%;
    border-radius: 0;
    height: 51px;
    padding:0;
    font-size: 1.125rem;
    font-weight: 700;
}
#planner-wrap .propensity-info .info-3 canvas{
    margin:33px auto 0;
    width: 100% !important;
    height: calc(100% - 1.995rem - 33px) !important;
    position: absolute;
    left:50%;
    bottom:0;
    transform: translate(-50%,0);
}
#planner-wrap .propensity-info .info-3 .info-item{
    width: 50%;
    box-sizing: border-box;
}
#planner-wrap .propensity-info .info-3 .info-item+.info-item{
    border-left: 1px solid var(--gray-light);
    border-top:0;
}
#planner-wrap .planner-ai{
    display: flex;
    align-items: stretch;
    gap:1px;
    margin-top: 30px;
}
#planner-wrap .planner-ai .box{
    width: 100%;
    min-height: 100%;
    background: #fff;
    padding:40px;
}
#planner-wrap .planner-ai .box h3{
    display: block;
    font-size: 1.875rem;
    font-weight: 700;
    color:var(--text-color);
    margin-bottom: 40px;
    line-height: 1.2em;
}
#planner-wrap .planner-ai .box .recommend-major{
    display: flex;
    flex-direction: column;
    /* gap:83px; */
    justify-content: space-between;
    height: calc(100% - 76px);
}
#planner-wrap .planner-ai .box .module-list{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}
#planner-wrap .planner-ai .box .module-item{
    width: calc(50% - 10px);
}

.plan-detail-wrap .box-title{
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 1.33em;
}

.plan-detail-wrap{
    position: relative;
    display: flex;
    gap:30px;
    margin-top: 30px;
    align-items: stretch;
}
.plan-detail-wrap .detail-left{
    background-color: #fff;
    width: calc(50% - 15px);
    box-sizing: border-box;
    padding:40px;
    z-index: 100;
}
.plan-detail-wrap .detail-left .list-header{
    position: relative;
}
.plan-detail-wrap .detail-left .list-header .more{
    gap:2px;
    position: absolute;
    right:0;
    top:50%;
    transform: translate(0,-50%);
    color:var(--primary-color);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.16em;
}
.plan-detail-wrap .detail-left .list-tab{
    margin-bottom: 40px;
}
.plan-detail-wrap .detail-left .list-tab #tab .tab-list .tab-btn{
    padding:10px;
}
.plan-detail-wrap .detail-left div[data-tab]{
    display: none;
}
.plan-detail-wrap .detail-left div[data-tab].active{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    align-items: stretch;
}
 .search-box{
    position: relative;
    width: 100%;
}
 .search-box input{
    border:1px solid #EFEFEF;
    height: 50px;
    box-sizing: border-box;
    padding:0 20px 0 45px !important;
    font-size: 1rem;
    font-weight: 500;
    display: block;
    width: 100%;
}
 .search-box input::placeholder{
    color:#999;
}
.search-box img{
    position: absolute;
    left:20px;
    top:50%;
    transform: translate(0,-50%);
    width: 20px;
}
.plan-detail-wrap .detail-left .department-item,
.plan-detail-wrap .detail-left .module-item{
    width: calc(50% - 10px);
}
.plan-detail-wrap .detail-left .department-item .thumb .bg{
    padding-bottom: 54%;
}
.plan-detail-wrap .plan-detail{
    background-color: #fff;
    width: calc(50% - 15px);
    position: relative;
    margin-top: 0;
    padding:40px;
    box-sizing: border-box;
}
.plan-detail-wrap .plan-detail .empty{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 1016px;
}
.plan-detail-wrap .plan-detail .empty .text{
    color:#38382E;
}
.plan-detail-wrap .plan-detail .empty .text strong{
    display: block;
    font-size: 2.625rem;
    line-height: 1.33em;
}
.plan-detail-wrap .plan-detail .empty .text p{
    margin-top: 20px;
    font-size: 2rem;
    line-height: 1.5em;
}
.plan-detail-wrap .plan-detail .empty .img{
    margin-top: 50px;
}
.plan-detail-wrap .plan-detail .empty img{
    display: block;
}
.plan-detail-wrap .plan-detail .detail-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 43.5px;
}
.plan-detail-wrap .plan-detail .detail-header .header-left{
    display: flex;
    align-items: center;
    gap:15px;
}
.plan-detail-wrap .plan-detail .detail-header .box-title{
    margin-bottom: 0;
}
.plan-detail-wrap .plan-detail .detail-header .btn-zzim{
    display: flex;
    align-items: center;
    background: rgba(109, 110, 104, 0.1);
    height: 41px;
    justify-content: center;
    gap:5px;
    font-weight: 500;
    font-size: 1rem;
    color:#6D6E68;
    border-radius: 50px;
    padding:0 20px;
}

.plan-detail-wrap .plan-detail .major-matching{
    margin-top: 40px;
    border:1px solid #efefef;
    border-radius: 30px;
    box-sizing: border-box;
    padding:40px;
}
.plan-detail-wrap .plan-detail .major-matching .matching-header{
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2em;
    color:#999;
    padding-bottom: 30px;
    border-bottom: 1px solid #e1e1e1;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content{}
.plan-detail-wrap .plan-detail .major-matching .matching-content ul{
    display: flex;
    flex-direction: column;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content ul li{
    display: flex;
    align-items: center;
    padding:30px 0;
    border-bottom: 1px solid #e1e1e1;
    gap:30px;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content li .chart{
    width: 90px;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content li .chart canvas{
    width: 100% !important;
    height: auto !important;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content li .text{
    width: calc(100% - 120px);
}
.plan-detail-wrap .plan-detail .major-matching .matching-content li .text strong{
    display: block;
    color:#38382E;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2em;
}
.plan-detail-wrap .plan-detail .major-matching .matching-content li .text p{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color:#999;
    margin-top: 10px;
    word-break: keep-all;
}

.major-view .major-img img{
    display: block;
    width: 100%;
}
.major-view .major-info{
    margin-top: 30px;
    position: relative;
}
.major-view .major-info .tit{
    display: block;
    font-size: 1.5rem;
    line-height: 1.5em;
    font-weight: 800;
    padding-right: 150px;
}
.major-view .major-info .desc{
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    color:var(--gray-dark);
    margin-top: 0.625em;
}
.major-view .major-info .tag{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:5px;
    margin-top: 20px;
}
.major-view .major-info .tag li{
    padding:4px 8px;
    font-weight: 500;
    line-height: 1.6em;
    font-size: 0.8125rem;
}
.major-view .major-info .major-site .arrow-forward-white{
    background-color: var(--primary-color);
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background-size: 73% auto;
}
.major-view .major-info .major-site{
    display: inline-flex;
    margin-top: 30px;
    font-size: 0.875rem;
    line-height: 1.5em;
    color:var(--primary-color);
    font-weight: 700;
    gap:5px;
    align-items: center;
}
.major-view .major-info .btn-zzim{
    position: absolute;
    right:0;
    top:-0.3125em;
    background-color: rgba(109,110,104,0.1);
    border-radius: 50px;
    padding:10px 20px;
    gap:2px;
    color:var(--gray-dark);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3125em;
}
.plan-detail .module-list{
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}
.plan-detail .module-list .module-item{
    width: calc((100% - 20px) / 2);
    box-shadow: unset;
    border:1px solid var(--gray-light);
    box-sizing: border-box;
}
.plan-detail .major-content{
    margin-top: 40px;
    font-size: 1rem;
    line-height: 1.5em;
    color:var(--gray-dark);   
}
.major-content .content-box .box-tit{
    display: block;
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 800;
    color:var(--text-color);
    margin-bottom: 1em;
}
.major-content .content-box .box-tit2{
    display: block;
    font-size: 1.125rem;
    line-height: 1.5em;
    font-weight: 800;
    color:var(--gray-dark);
    margin-bottom: 1em;
}

.table{
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    border:1px solid var(--gray-light);
    border-radius: 20px;
}
.table table{
    width: 100%;
    border-radius: 20px;
}
.table thead tr>*{
    background-color: var(--gray-light);
}
.table thead tr>*:first-child{
    border-top-left-radius: 20px;
}
.table thead tr>*:last-child{
    border-top-right-radius: 20px;
}
.table thead th{
    text-align: center;
    vertical-align: middle;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5em;
    padding:18px 10px;
    color:var(--text-color)
}
.table tbody td{
    text-align: center;
    vertical-align: middle;
    padding:15px 10px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5em;
    color:var(--gray-dark)
}
.table tbody td a{
    color:var(--gray-dark)
}
.table tbody td:last-child{
    border-right: 0;
}
.table tbody td[rowspan]{
    border-right:1px solid var(--gray-light)
}
.table tbody td[rowspan]:last-child{
    border-left: 1px solid var(--gray-light);
}
.table tbody tr+tr td{
    border-top: 1px solid var(--gray-light);
}
.major-curriculum .box-tit2{
    margin-bottom: 20px;
}
.major-curriculum .curriculum-tb{
    margin-top: 20px;
}
.curriculum-tb+.box-tit2{
    margin-top: 20px;
}
.curriculum-tb .col-1{
    width: auto;
}
.curriculum-tb .col-2{
    width: 100px;
}
.curriculum-tb .col-3{
    width: 120px;
}
.curriculum-tb td a{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap:2px;
    padding:0 20px;
}
.major-content .content-box .main-subjects li+li{
    font-size: 1rem;
    margin-top: 1.5em;
}
.major-content .content-box .list-txt li{
    position: relative;
    font-size: 1rem;
    padding-left: 1.5em;
    font-weight: 400;
}
.major-content .content-box .list-txt li::before{
    content:'';
    width: 3px;
    height: 3px;
    border-radius: 100%;
    background-color: var(--gray-dark);
    position: absolute;
    font-size: 1rem;
    left:0.75em;
    top:0.75em;
    transform: translate(-50%,-50%);    
}
.major-view .major-tab#tab{
    gap:5px;
}
.major-view .major-tab#tab li .tab-btn{
    padding:10px;
}
.major-view .major-tab-item{
    display: none;
    border:1px solid vaR(--gray-light);
    box-sizing: border-box;
    padding:40px;
    border-radius: 20px;
    margin-top: 20px;
    flex-direction: column;
    gap:40px;
}
.major-view .major-tab-item>*{
    width: 100%;
}
.major-view .major-tab-item.cur{
    display: flex;
}

#planner-wrap .design-info{}

#planner-wrap .complete-detail .info-toggle,
#planner-wrap .design-info .info-toggle{
    display: flex;
    align-items: center;
    height: 116px;
    box-sizing: border-box;
    padding:0 40px;
    background: #fff;
    border-bottom: 1px solid #EFEFEF;
    position: relative;
}

#planner-wrap .complete-detail .info-toggle{
    border: 1px solid #EFEFEF;
}

.semester-creidt-design-wrap{
    border: 1px solid #EFEFEF;
    border-top:0;
    display: none;
}   

#planner-wrap .complete-detail .info-toggle h3,
#planner-wrap .design-info .info-toggle h3{
    font-size: 1.875rem;
    font-weight: 700;
    color:#000;
}
#planner-wrap .complete-detail .info-toggle button,
#planner-wrap .design-info .info-toggle button{
    position: absolute;
    right:40px;
    top:50%;
    transform: translate(0,-50%);
    width: 40px;
    height: 40px;
    background: #e1e1e1;
    border:0;
    cursor: pointer;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color:var(--white);
}

#planner-wrap .complete-detail .info-toggle button i,
#planner-wrap .design-info .info-toggle button i{
    width: 20px;
    height: 20px;
    transform: rotate(180deg);
    transition: var(--transition-duration) transform;
}

#planner-wrap .complete-detail .info-toggle button i{
    transform: rotate(0deg);
}

#planner-wrap .complete-detail .info-toggle button.active i{
    transform: rotate(180deg);
}
#planner-wrap .design-info .info-toggle button.active i{
    transform: rotate(0deg);
}
#planner-wrap .design-info .info-toggle .credit-detail ul{
    display: flex;
    align-items: center;
    justify-content: center;
    padding:8px 30px;
    background: #F1F1F1;
    border-radius: 20px;
    margin-left: 20px;
    font-size: 1.125rem;
    font-weight: 700;
    flex-wrap: nowrap;
}
#planner-wrap .design-info .info-toggle .credit-detail ul li+li{
    padding-left: 11.5px;
    margin-left: 11.5px;
    position: relative;
}
#planner-wrap .design-info .info-toggle .credit-detail ul li+li::before{
    content:'';
    width: 1px;
    height: 10px;
    background: #ccc;
    position: absolute;
    left:0;
    top:50%;
    transform: translate(-50%,-50%);
}
#planner-wrap .design-info .info-toggle .credit-detail ul li:first-child{
    font-size: 1rem;
}
#planner-wrap .design-info .info-toggle .credit-detail ul li:first-child span{
    font-size: 1.125rem;
}
#planner-wrap .design-info .info-toggle .credit-detail ul li:last-child{
    color:#999;
}
#planner-wrap .design-info .info-toggle .credit-detail ul li:last-child span{
    color:var(--text-color);
}
#planner-wrap .design-info .box-wrap{
    display: flex;
    align-items: stretch;
    background-color: #fff;
    flex-wrap: wrap;
}
#planner-wrap .design-info .box-wrap.major-detail{
    flex-direction: column;
    
}
#planner-wrap .design-info .box-wrap.major-detail .major-confirm-btn{
    align-items:center;
    border-top: 1px solid #EFEFEF;
    gap: 20px;;
}

#planner-wrap .design-info .major-list{
    width: 100%;
}
#planner-wrap .design-info .major-item+.major-item{
    border-top: 1px solid #EFEFEF;
}
#planner-wrap .design-info .major-item{
    display: flex;
    align-items: stretch;
    min-height: 160px;
}
#planner-wrap .design-info .major-item .item-title{
    width: 14.5%;
    box-sizing: border-box;
    padding:20px 40px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
}
#planner-wrap .design-info .major-item .item-title strong{
    display: inline-block;
    position: relative;
}
#planner-wrap .design-info .major-item .item-title strong span{
    position: relative;
    z-index: 2;
    font-size: 2rem;
    line-height: 1.5em;
    font-weight: 700;
    color:#111;
}
#planner-wrap .design-info .major-item .item-title strong::after{
    content:'';
    position: absolute;
    z-index: 1;
    left:0;
    bottom:3.5px;
    right:0;
    height: 10px;
    background: var(--highlight-color);
}
#planner-wrap .design-info .major-item .item-title p{
    margin-top: 15px;
    font-size: 1rem;
    line-height: 1.5em;
    color:#333;
    font-weight: 400;
}
#planner-wrap .design-info .major-item .item-info{
    width: calc(85.5% / 3);
    box-sizing: border-box;
    border-left: 1px solid #EFEFEF;
    padding:20px 40px;
    display: flex;
    align-items: center;
}
#planner-wrap .design-info .major-item .item-info .info-inner{
    width: 100%;
}
#planner-wrap .design-info .major-item .item-info .dep{}
#planner-wrap .design-info .major-item .item-info .dep-name{ 
    display: flex;
    align-items: center;
    gap:15px;
}
#planner-wrap .design-info .major-item .item-info .dep-name strong{ 
    font-size: 1.5rem;
    line-height: 1.5em;
    color:#111;
    font-weight: 700;
}
#planner-wrap .design-info .major-item .item-info .dep-name span{ 

    font-size: 0.8125rem;
}
#planner-wrap .design-info .major-item .item-info p{ 
    margin-top: 5px;
    color:#111;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 400;
}
#planner-wrap .design-info .major-item .item-info .credit-box{
}
#planner-wrap .design-info .major-item .item-info .chart-list{
    display: flex;
    align-items: stretch;
}
#planner-wrap .design-info .major-item .item-info .chart-list li{
    width: calc(100% / 3);
    text-align: center;
}
#planner-wrap .design-info .major-item .item-info .chart-list li .chart{
    display: inline-block;
    width: 76px;
    aspect-ratio: 1 / 1;
    max-width: 100%;
}
#planner-wrap .design-info .major-item .item-info .chart-list li .chart canvas{
    width: 100% !important;
    height: 100% !important;
}
#planner-wrap .design-info .major-item .item-info .chart-list li p{
    text-align: center;
    margin-top: 17px;
    font-size: 0.75rem;
    line-height: 1.33em;
    font-weight: 700;
    color:var(--text-color);
}
    

#planner-wrap .check-list{
    display: flex;
    flex-direction: column;
    gap:30px;
    margin-top: 30px;
}
#planner-wrap .check-list .check-item{
    display: flex;
    align-items: center;
    position: relative;
    justify-content: space-between;
    padding:25px 20px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
}
#planner-wrap .check-list .check-item.bg-tertiary{
    background: #F9FEFF !important;
}
#planner-wrap .check-list .check-item.text-tertiary{
    color:var(--tertiary-color) !important;
}
#planner-wrap .check-list .check-item.bg-danger{
    background: rgba(255, 82, 111, 0.05) !important;
}
#planner-wrap .check-list .check-item.text-danger{
    color:var(--danger-color) !important;
}
#planner-wrap .check-list .check-item .item-left{
    display: flex;
    align-items: center;
    gap:15px;
}
#planner-wrap .check-list .check-item .item-left .chk{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#planner-wrap .check-list .check-item .item-left .chk span{
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.46em;
}
#planner-wrap .check-list .check-item.text-tertiary .item-left .chk span{
    color:var(--tertiary-color);
}
#planner-wrap .check-list .check-item.text-danger .item-left .chk span{
    color:var(--danger-color);
}
#planner-wrap .check-list .check-item a{
    background: #F1F1F1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    border-radius: 50px;
    padding:0 20px;
    gap:10px;
    white-space: nowrap;
    margin-left: 10px;
}
#planner-wrap .design-detail{
    display: flex;
    gap:30px;
    flex-direction: column;
    width: calc(50% - 15px);
    box-sizing: border-box;
    transition: all 0.2s ease-out;
}
#planner-wrap .design-detail .department-items{
    background: #fff;
    padding:40px;
    display: flex;
    flex-wrap: wrap;
    gap:40px;
    box-sizing: border-box;
}
#planner-wrap .design-detail .department-item{
    width: calc((100% - 40px) / 2);
}

#planner-wrap .design-detail .department-item.draggable{
    width: 100% !important;
    
}
#planner-wrap .design-detail .module-list{
    background: #fff;
    padding:40px;
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    box-sizing: border-box
}
#planner-wrap .design-detail .module-list .module-item{
    width: calc((100% - 20px) / 2);
    box-sizing: border-box;
    border:1px solid #efefef;
    box-shadow: none;
}
#planner-wrap .design-detail .module-list .check-list{
    width: 100%;
    margin-top: 40px;
}
#planner-wrap .design-detail .module-list .check-item{
    border-radius: 20px;
}

.credit-box{
    /* border:1px solid var(--gray-light);
    background-color: var(--gray-bg);
    padding:20px 40px;
    border-radius: 20px; */
}
.credit-box .credit-status{
    display: block;
    font-weight: 700;
    font-size: 0.8125rem;
    line-height: 1.46em;
    color:#999;
}
.credit-box .credit-completion-graph{
    display: flex;
    align-items: center;
    gap:40px;
}
.credit-box .credit-completion-graph .graph{
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    width: 100%;
}
.credit-box .credit-completion-graph .graph .graph-track{
    background-color: #F2F3F8;
    height: 6px;
}
.credit-box .credit-completion-graph .graph .graph-thumb{
    position: absolute;
    left:0;
    top:0;
    bottom:0;
    background-color: linear-gradient(90deg, #58B7C6 0%, #4A8AED 100%);
    border-radius: 20px;
}
.credit-box .credit-completion-graph .per{
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5em;
    color:var(--primary-color);
}
.credit-detail{
    margin-top: 10px;
}
.info-toggle .credit-detail{
    margin-top: 0;
}
.credit-detail ul{
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--gray-light);
    padding:8px 20px;
    font-size: 0.875rem;
    line-height: 1.35em;
    font-weight: 700;
    border-radius: 20px;
}
.credit-detail ul li{
    white-space: nowrap;
}
.credit-detail ul li span{
    font-weight: 400;
    color:var(--primary-color)
}
.credit-detail ul li+li{
    position: relative;
    margin-left: 12.5px;
    padding-left: 12.5px;
}
.credit-detail ul li+li::before{
    content:'|';
    position: absolute;
    left:0;
    top:50%;
    transform: translate(-50%,-50%);
    font-weight: 500;
    font-size:0.8125rem;
    color:#ccc;
}

.planner-complete{
    text-align: center;
    background: #fff;
    padding:150px 0;
    margin:0 -30px;
    margin-bottom: 30px;
}
.planner-complete .complete-content .img{
    margin-bottom: 10px;
}
.planner-complete .complete-content .img img{
    display: block;
    margin:0 auto;
}
.planner-complete .complete-content .complete-text strong{
    display: block;
    background: linear-gradient(90deg, #00AFEC 0%, #002C76 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 700;
    font-size: 2.875rem;
    line-height: 1.19em;
}
.planner-complete .complete-content .complete-text p{
    margin-top: 1em;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.5em;
}
.recent-plan{
    background: #fff;
    margin-top: 80px;
    padding:50px;
}
.my-plan .my-plan-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 50px
}
.my-plan .my-plan-header .plan-header-left{
    display: flex;
    align-items: center;
    gap:20px;
}
.my-plan .my-plan-header .plan-header-left h3{
    font-weight: 700;
    line-height: 1.19em;
    font-size: 2.25rem;
    display: flex;
    align-items: center;
    gap:10px;
}
.my-plan .my-plan-header .plan-header-left .btn{
    color:var(--primary-color);
    font-size: 1.125rem;
    line-height: 1.5em;
    font-weight: 500;
    gap:2px;
}
.my-plan .my-plan-header .plan-header-right{
    display: flex;
    gap:10px;
    align-items: center;
}
.my-plan .my-plan-header .plan-header-right .btn{
    border:1px solid var(--gray-light);
    width: 180px;
    height: 50px;
    box-sizing: border-box;
    border-radius: 10px;
    gap:5px;
    font-size: 1rem;
    font-weight: 500;
    background-color: var(--white);
    transition: background var(--transition-duration) var(--transition-easing);
}
.my-plan .my-plan-header .plan-header-right .btn:hover{
    background-color: #efefef;
}
.my-plan .my-plan-list{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}
.my-plan .my-plan-item{
    width: calc((100% - 60px) / 4);
    box-sizing: border-box;
    padding:30px 25px;
    border-radius: 20px;
    border:1px solid #efefef;
}
.my-plan .my-plan-item .plan-title{
    display: flex;
    flex-wrap: wrap;
    gap:5px;
    align-items: center;
}
.my-plan .my-plan-item .plan-title strong{
    margin-right: 5px;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.5em;
}
.my-plan .my-plan-item .plan-title span{
    padding:4px 8px;
    border-radius: 5px;
    background: #38382E1A;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.615em;
}
.my-plan .my-plan-item .plan-title span.final-plan{
    color: var(--highlight-color-danger);
    background: var(--highlight-color-dark-bg);
}
.my-plan .my-plan-item .plan-info{
    margin-top: 10px;
    background: #fafafa;
    border-radius: 20px;
    padding: 15px;
}
.my-plan .my-plan-item .plan-info table{
    width: 100%;
    table-layout: fixed;
}
.my-plan .my-plan-item .plan-info table th{
    vertical-align: middle;
    width: 50%;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color: var(--gray-dark);
    padding: 3.5px 0;
}
.my-plan .my-plan-item .plan-info table td{
    text-align: right;
    vertical-align: middle;
    width: 50%;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color:#38382E;
    padding:6px 0;
}
.my-plan .my-plan-item .plan-info table td .credit{
    background: rgba(89, 177, 0, 0.1);
    color:var(--green-color);
    padding:4px 8px;
    border-radius:5px ;
}
.my-plan .my-plan-item .ai{
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap:5px;
    flex-wrap: wrap;
}
.my-plan .my-plan-item .ai li{
    display: flex;
    align-items: center;
    justify-content: center;
    border:1px solid var(--gray-light);
    border-radius: 10px;
    padding:5px 20px 5px 10px;
    font-size: 0.75rem;
    line-height: 1.2em;
    color: var(--gray-dark);
    gap:3px;
}
.my-plan .my-plan-item .ai li span{
    margin-left: 5px;
    font-weight: 700;
    color:var(--text-color);
}
.my-plan .my-plan-item .item-btns{
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap:10px;
}
.my-plan .my-plan-item .item-btns .btn{
    gap:2px;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.3125em;
    display: inline-flex;
    color: var(--primary-color);
}
.my-plan .my-plan-item .item-btns .btn.btn-select{
    background: var(--highlight-color);
}
.my-plan .my-plan-info{
    text-align: center;
    font-size: 1.125rem;
    line-height: 1.5em;
    margin-top: 50px;
}
.my-plan .my-plan-info i{
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}
.my-plan .my-plan-btns{
    margin-top: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:20px;
}
.my-plan .my-plan-btns .btn{
    color: var(--white);
    width: 199px;
    height: 60px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.125rem;
    background-color: var(--tertiary-color);
    transition: background var(--transition-duration) var(--transition-easing);
}
.my-plan .my-plan-btns .btn:hover{
    background-color: var(--tertiary-color-hover);
}
.my-plan  .my-plan-btns .btn-new{
    background-color: var(--primary-color);
}

#planner-wrap .design-info .box-wrap .box-wrap-inner{
    display: flex;
}

#planner-wrap .design-info .box-wrap .confirm-major{
    width: 23%;
    position: relative;
    box-sizing: border-box;
    padding:40px;
    padding-bottom: 100px;
    background: no-repeat url(https://suho.syu.ac.kr/wp-content/themes/suho/assets/images/plan_empty_char.png);
    background-position: 90% 90%;
    background-size: 80px auto;
}
#planner-wrap .design-info .box-wrap .confirm-major > h2{
    display: flex;
    align-items: center;
    gap:8px;
}
#planner-wrap .design-info .box-wrap .confirm-major>span{
    margin-bottom: 30px;
    display: block;
    font-size: 1.125rem;
    line-height: 1.44em;
    font-weight: 700;
    color:#585858;
}
#planner-wrap .design-info .box-wrap .confirm-major>strong{
    display: block;
    font-size: 1.5rem;
    line-height: 1.33em;
    font-weight: 700;
    color:#999;
}
#planner-wrap .design-info .box-wrap .confirm-major>.chart{
    position: relative;
    max-height: 261px;
    margin-top: 30px;
    height: calc(100% - 3.615rem - 30px);
}
#planner-wrap .design-info .box-wrap .confirm-major>.chart canvas{
    position: absolute;
    left:0;
    top:0;
    right:0;
    bottom:0;
    height: 100% !important;
    width: auto !important;
}
#planner-wrap .design-info .box-wrap .design-detail{
    width: 77%;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border-left: 1px solid #efefef;
    gap:0;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box{
    width: 50%;
    box-sizing: border-box;
    padding:40px;
    position: relative;
}
#planner-wrap .design-info .box-wrap .confirm-major::after,
#planner-wrap .design-info .box-wrap .design-detail .major-box::after{
    content:'';
    position: absolute;
    right:40px;
    top:40px;
    border:1px solid #E1E1E1;
    box-sizing: border-box;
    border-radius: 100%;
    width: 20px;
    height: 20px;
}
#planner-wrap .design-info .box-wrap .confirm-major::after{
    top:25px;
    right:30px;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box+.major-box{
    border-left: 1px solid #efefef;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item{
    display: flex;
    align-items: flex-start;
    gap:20px;
    flex-wrap: wrap;
    
    margin-bottom: 30px;
    
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .major-type{
    display: block;
    width: 100%;
    font-size: 1.125rem;
    color:#585858;
    font-weight: 700;
    line-height: 1.44em;
    margin-bottom: 10px;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .thumb{
    width: 120px;
}

#planner-wrap .design-info .box-wrap .design-detail.one-major .major-box .major-item .thumb{
    width: 250px;
}
#planner-wrap .design-info .box-wrap .design-detail.one-major .major-box .major-item .info{
    width: calc(100% - 290px);
}

#planner-wrap .design-info .box-wrap .design-detail.one-major .major-box{
    width: 100%;
}

#planner-wrap .design-info .box-wrap .design-detail.one-major .major-box .major-item .info .title{
    font-size: 1.5rem;
}

#planner-wrap .design-info .box-wrap .design-detail.one-major .major-box .major-item{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}


#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .thumb .bg{
    width: 100%;
    aspect-ratio: 1 / 1;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info{
    width: calc(100% - 160px);
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info .title{
    display: flex;
    align-items: center;
    gap:5px;
    font-weight: 800;
    font-size: 1.25rem;
    line-height: 1.2em;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info .title span{
    background: var(--primary-color);
    color:#fff;
    font-weight:500;
    padding:4px 10px;
    border-radius: 5px;
    font-size: 0.8125rem;
    line-height: 1.6em;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info .summary{
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    color:var(--gray-dark);
    word-break: keep-all;
    margin-top: 0.625em;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info .tag{
    gap:5px;
    margin-top: 20px;
    font-size: 0.8125rem;
    line-height: 1.6em;
    display: flex;
    flex-wrap: wrap;
}
#planner-wrap .design-info .box-wrap .design-detail .major-box .major-item .info .tag li{
    padding:4px 8px;
    border-radius: 5px;
}
#planner-wrap .complete-detail{
    display: flex;
    gap:30px;
    margin-top: 30px;
}
#planner-wrap .complete-detail .detail-left{
    width: 38%;
}
#planner-wrap .complete-detail .detail-left .matching-box{
    background:#fff;
    padding:40px;
    box-sizing: border-box;
}
#planner-wrap .complete-detail .detail-left .matching-box h3{
    display: block;
    margin-bottom: 40px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2em;
    color:#000;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-header{
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #e1e1e1;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-header strong{
    display: block;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.2em;
    color:var(--text-color);
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-header p{
    margin-top: 10px;
    font-size: 1rem;
    line-height: 1.5em;
    color:#999;
    font-weight: 500;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content ul{
    display: flex;
    flex-direction: column;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content ul li{
    display: flex;
    align-items: center;
    padding:30px 0;
    border-bottom: 1px solid #e1e1e1;
    gap:30px;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content ul li:last-child{
    border-bottom: none;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content li .chart{
    width: 90px;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content li .chart canvas{
    width: 100% !important;
    height: auto !important;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content li .text{
    width: calc(100% - 120px);
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content li .text strong{
    display: block;
    color:#38382E;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2em;
}
#planner-wrap .complete-detail .detail-left .matching-box .matching-content li .text p{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5em;
    color:#999;
    margin-top: 10px;
}
#planner-wrap .complete-detail .detail-left .carrer-box{
    margin-top: 30px;
    background:#fff;
    padding:40px;
    box-sizing: border-box;
}
#planner-wrap .complete-detail .detail-left .carrer-box h3{
    display: block;
    margin-bottom: 40px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2em;
    color:#000;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul{
    display: flex;
    flex-direction: column;
    gap: 30px;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul li{
    width: 100%;
    padding:20px 0 30px;
    border-bottom: 1px solid #e1e1e1;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul li:last-child{
    border-bottom: none;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul li strong{
    display: block;
    font-size: 1.25rem;
    margin-bottom: 1em;
    color:var(--text-color);
    line-height: 1.2em;
    font-weight: 800;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul li p{
    text-align: center;
    margin-bottom: 20px;
    padding:8px 20px;
    color:var(--primary-color);
    font-size: 0.8125rem;
    line-height: 1.46em;
    font-weight: 700;
    background-color: #F3F3F3;
    border-radius: 20px;
}
#planner-wrap .complete-detail .detail-left .carrer-box ul li div{
    color:#999;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
}
#planner-wrap .complete-detail .detail-right{
    width: calc(62% - 30px);
}
#planner-wrap .complete-detail .detail-right .road-map{
    padding:40px;
    background-color: #fff;
}
#planner-wrap .complete-detail .detail-right .road-map h3{
    display: block;
    margin-bottom: 40px;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2em;
    color:#000;
}

#planner-wrap .complete-detail .detail-right .road-item{
    border:1px solid #e1e1e1;
    padding:40px;
    margin-bottom: 30px;
}
.expand-header{
    position: relative;
    padding-right: 80px;
}
.grade-credit{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.grade-credit .grade{
    display: flex;
    align-items: center;
    gap:40px;
}
.grade-credit .grade>strong{
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2em;
}
.grade-credit .grade .credit-detail{
    margin-top: 0;
}
.grade-credit .credit{
    display: flex;
    align-items: center;
}
.grade-credit .credit span{
    font-size: 1.5rem;
    line-height: 1.5em;
    font-weight: 700;
}
.grade-credit .credit span+span{
    color: var(--primary-color);
    padding-left: 12.5px;
    margin-left: 12.5px;
    position: relative;
}
.grade-credit .credit span+span::after{
    content:'|';
    position: absolute;
    left:0;
    top:50%;
    transform: translate(0,-50%);
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1.46em;
}
.expand-header .expand-btn{
    position: absolute;
    right:0;
    top:50%;
    transform: translate(0,-50%);
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: var(--gray-light);
    border:0;
    cursor: pointer;
    transition: background var(--transition-duration) var(--transition-easing);
}
.expand-header .expand-btn:hover{
    background-color: var(--gray-light2-hover);
}
.expand-header .expand-btn i{
    width: 20px;
    height: 20px;
    transition: transform var(--transition-duration) var(--transition-easing);
}
.expand-header .expand-btn.active i{
    transform: rotate(180deg);
}
.expand-content{
    display: none;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid var(--gray-light);
}
.course-content{
    display: flex;
    align-items: stretch;
    gap:40px;
    margin-top: 50px;
}
.course-content .round-shadow-box{
    width: 100%;
    margin:0;
}
.course-content .box-content{
    margin-top: 30px;
    border-radius: 20px;
    background: var(--gray-bg);
    border:1px solid var(--gray-light);
    padding:30px;
}
.course-content .box-content strong{
    display: block;
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
}
.course-content .box-content p{
    margin-top: 0.625em;
    color:var(--gray-dark);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5em;
}

.semester-creidt-design{
    display: flex;
    align-items: stretch;
    gap:40px;
    justify-content: space-between;
}
.semester-creidt-design .semester-box{
    width: 100%;
}
.semester-box .semester-tit{
    display: block;
    margin-bottom: 30px;
    font-weight: 800;
    font-size: 1.25rem;
    line-height: 1.2em;
}

.table.semester-tb .col-1{
    width: auto;
    max-width: 100% !important;
}
.table.semester-tb .col-2{
    width: 150px;
}
.table.semester-tb .col-3{
    width: 70px;
}
.table.semester-tb .col-4{
    width: 70px;
}
.table.semester-tb .col-5{
    width: 70px;
}


/* colgroup과 함께 th, td에도 적용 */
.table.semester-tb.planner-tb .tb-col-1,
.table.semester-tb.planner-tb th:nth-child(1),
.table.semester-tb.planner-tb td:nth-child(1) {
    width: auto !important;
    max-width: none !important;
}

.table.semester-tb.planner-tb .tb-col-2,
.table.semester-tb.planner-tb th:nth-child(2),
.table.semester-tb.planner-tb td:nth-child(2) {
    width: 280px !important;
    min-width: 150px !important;
}

.table.semester-tb.planner-tb .tb-col-3,
.table.semester-tb.planner-tb th:nth-child(3),
.table.semester-tb.planner-tb td:nth-child(3) {
    width: 70px !important;
    min-width: 70px !important;
}

.table.semester-tb.planner-tb .tb-col-4,
.table.semester-tb.planner-tb th:nth-child(4),
.table.semester-tb.planner-tb td:nth-child(4) {
    width: 40px !important;
    min-width: 40px !important;
    padding-right: 0 !important;
}

.table.semester-tb.planner-tb .tb-col-5,
.table.semester-tb.planner-tb th:nth-child(5),
.table.semester-tb.planner-tb td:nth-child(5) {
    width: 40px !important;
    min-width: 40px !important;
}

.search-result{

}
.search-result-item{
    position: relative;
    
}

.search-result-item + .search-result-item{
    margin-top: 10px;
    padding-top:10px;
    border-top: 1px solid var(--gray-light);
}

.search-result-item h6,
.search-result-item div{
    gap: 10px;;
    align-items: center;
}

.table.semester-tb tr{
    position: relative;
}
.table.semester-tb tr::after{
    content:'';
    height: 1px;
    background: var(--gray-light);
    position: absolute;
    left:40px;
    right:40px;
    bottom:0;
}
.table.semester-tb tr+tr td{
    border-top: 0;
}
.table.semester-tb thead tr th:first-child,
.table.semester-tb tr td:first-child{
    padding-left: 40px;
}
.table.semester-tb tr td:first-child p{
    font-weight: 500;
}
.table.semester-tb tr.changing>td:first-child>p{
    color:var(--primary-color);
    font-weight: 700;
}
.table.semester-tb tr td:nth-child(2) [class^=btn]{
    font-size: 0.8125rem;
    padding:4px 8px;
    line-height: 1.61em;
}
.table.semester-tb tr td:nth-child(4){
    padding-right: 40px;
}
.table.semester-tb tr td:nth-child(4) .btn{
    font-size:0.875rem;
    line-height:1.7em;
    color:var(--primary-color)
}
.table.semester-tb .subject-popup-wrap{
    position: relative;
    display: inline-block;
}
.table.semester-tb .subject-popup-wrap i{
    width: 16px;
    height: 16px;
    
}
.table.semester-tb .subject-popup{
    position: absolute;
    left:100%;
    top:0;
    background-color: #fff;
    width: 450px;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 5px 20px rgba(109,110,104,0.1);
    z-index: 2;
    transform: translate(0,-15px);
}

.semester-creidt-design .semester-box:last-child .subject-popup{
    left: initial;
    right:100%;
}
.plan-analysis ul{
    display: flex;
    align-items: stretch;
    gap:20px;
    flex-wrap: wrap;
}
.plan-analysis ul li {
    width: calc((100% - 40px) / 3);
    box-sizing: border-box;
    border:1px solid #f3f3f3;
    border-start-end-radius: 20px;
    padding:30px;
}
.plan-analysis ul li strong{
    display: block;
    margin-bottom: 42px;
    font-size: 1.25rem;
    line-height: 1.2em;
    font-weight: 700;
    color:var(--text-color);
}
.plan-analysis ul li .chart{
    position: relative;
}
.plan-analysis ul li .chart canvas{
    width: 100% !important;
    height: auto !important;
}
.plan-analysis ul li p{
    margin-top: 26px;
    word-break: keep-all;
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: 500;
    color:var(--gray-dark)
}


/* 1800px 이하 */
@media (max-width: 1800px) {
    .grade-credit .grade{
        flex-direction: column;
        align-items: flex-start;
        gap:20px;
    }
    .expand-header .expand-btn{
        top:0;
        transform: translate(0,-4.25px);
    }
    .grade-credit .credit{
        position: absolute;
        right: 60px;
        top: 0;
    }
}

/* 1600px 이하 */
@media (max-width: 1600px) {
    .plan-analysis ul li{
        width: 100%;
    }
}



/* 1500px 이하 */
@media (max-width: 1500px) {
    #planner-wrap .design-info .box-wrap .confirm-major{
        padding-bottom: 40px;
    }
    #header .inner{
        height: 84px;
    }
    #header .header-right .mobile-menu{
        display: block;
        border:0;
        cursor: pointer;
        overflow: hidden;
        text-indent: -9999px;
        background:transparent url(../svg/ico_menu.svg) center center / 20px auto no-repeat;
        width: 54px;
        height: 34px;
        padding:0;
    }
    #header .header-right .header-menu{
        display: none;
    }
    #header .header-right .btn-close{
        display: flex;
        border:0;
        cursor: pointer;
        background-color: transparent;
        width: 24px;
        height: 24px;
        padding:0;
    }

    #planner-wrap .design-info .box-wrap .box-wrap-inner{
        flex-direction: column;

    }
    #planner-wrap .planner-top{
        flex-wrap: wrap;
    }
    #planner-wrap .planner-top .user,
    #planner-wrap .planner-top .notice,
    #planner-wrap .propensity-info .info-item,
    #planner-wrap .planner-ai .box{
        padding: 25px 30px;
    }
    #planner-wrap .planner-top .menu ul li{
        padding:25px 75px 25px 25px;
        gap:25px;
    }
    #planner-wrap .planner-top .menu ul li .img{
        width: 60px;
    }
    #planner-wrap .planner-top .menu ul li a{
        right:25px;
        width: 45px;
        height: 45px;
    }
    #planner-wrap .planner-top .menu ul li a i{
        width: 28px;
        height: 28px;
    }
    #planner-wrap .planner-top .user .user-box .profile-img{
        margin-bottom: 20px;
    }
    #planner-wrap .planner-top .user .user-box .user-name,
    #planner-wrap .planner-top .menu ul li .text strong,
    #planner-wrap .planner-top .notice h3,
    #planner-wrap .propensity-info .info-item .item-content strong{
        font-size: 1.2rem;
    }
    #planner-wrap .planner-top .user,
    #planner-wrap .planner-top .menu{
        width: 50%;
    }
    #planner-wrap .planner-top .menu{
        border-right:0;
    }
    #planner-wrap .planner-top .notice{
        width: 100%;
        border-top: 1px solid #efefef;
    }
    #planner-wrap .planner-top .notice .btns{
        margin-top: 35px;
    }
    #planner-wrap .planner-ai .box h3{
        font-size: 1.5rem;
        margin-bottom: 25px;
    }
    #planner-wrap .design-info .info-toggle,
    #planner-wrap .propensity-info .info-toggle{
        height: 90px;
        padding:0 30px;
    }
    #planner-wrap .design-info .info-toggle h3,
    #planner-wrap .propensity-info .info-toggle h3{
        font-size: 1.5rem;
    }
    #planner-wrap .propensity-info .box-wrap{
        align-items: flex-start;
    }
    #planner-wrap .propensity-info .info-1, 
    #planner-wrap .propensity-info .info-2{
        flex-direction: row;
        border-bottom:1px solid #efefef;
    }
    #planner-wrap .propensity-info .info-1, 
    #planner-wrap .propensity-info .info-2,
    #planner-wrap .propensity-info .info-3{
        width: 100%;
    }
    #planner-wrap .propensity-info .info-item{
        width: 50%;
        box-sizing: border-box;
    }
    #planner-wrap .propensity-info .info-item+.info-item{
        border-top: 0;
        border-left: 1px solid #efefef;
    }
    #planner-wrap .propensity-info .info-3 canvas{
        height: 260px !important;
        position: static;
        margin:15px auto 0;
        transform: unset;
    }
    #planner-wrap .planner-ai .box .module-item{
        width: 100%;
    }
    #planner-wrap .propensity-info .info-item button{
        top:30px;
        right:30px;
    }
    .plan-detail-wrap .detail-left .department-item, .plan-detail-wrap .detail-left .module-item{
        width: 100%;
    }
    .plan-detail-wrap .plan-detail .empty .text p{
        font-size: 1.5rem;
        font-weight: 500;
    }
    .plan-detail-wrap .box-title{
        font-size: 1.5rem;
    }
    .plan-detail-wrap .plan-detail .major-matching{
        padding:30px;
        margin-top: 30px;
    }
    .plan-detail-wrap .plan-detail .major-matching .matching-content ul li{
        padding:20px 0;
        gap:20px;
    }
    .plan-detail-wrap .plan-detail .major-matching .matching-content li .text{
        width: calc(100% - 110px);
    }
    .plan-detail .module-list{
        margin-top: 30px;
    }
    .plan-detail .module-list .module-item{
        width: 100%;
    }
    .major-view .major-tab-item{
        padding:30px;
        gap:20px;
    }
    #planner-wrap .design-info .major-item{
        flex-wrap: wrap;
    }
    #planner-wrap .design-info .major-item .item-title,
    #planner-wrap .design-info .major-item .item-info{
        width: 50%;
    }
    #planner-wrap .design-info .major-item .item-info{
        border-left: 0;
    }
    #planner-wrap .design-info .major-item .item-info:nth-child(3),
    #planner-wrap .design-info .major-item .item-info:nth-child(4){
        border-top: 1px solid #efefef;
    }
    #planner-wrap .design-info .major-item .item-info:nth-child(2),
    #planner-wrap .design-info .major-item .item-info:nth-child(4){
        border-left: 1px solid #efefef;
    }
    #planner-wrap .check-list .check-item,
    #planner-wrap .check-list .check-item .item-left{
        align-items: flex-start;
    }
    #planner-wrap .check-list .check-item a{
        font-size:0.875rem;
        padding:0 10px;
        height: 30px;
    }
    #planner-wrap .design-detail .department-items{
        gap:20px;
    }
    #planner-wrap .design-detail .department-item,
    #planner-wrap .design-detail .module-list .module-item{
        width: 100%;
    }
    #planner-wrap .design-info .box-wrap .confirm-major,
    #planner-wrap .design-info .box-wrap .design-detail{
        width: 100%;
    }
    #planner-wrap .design-info .box-wrap .confirm-major{
        position: relative;
        border-bottom: 1px solid #efefef;
    }
    #planner-wrap .design-info .box-wrap .confirm-major>span{
        margin-bottom: 15px;
    }
    #planner-wrap .design-info .box-wrap .confirm-major>strong{
        /* text-align: center; */
    }
    #planner-wrap .design-info .box-wrap .confirm-major>.chart{
        height: 240px !important;
        aspect-ratio: 1 / 1;
        margin:20px auto 0;
    }
    #planner-wrap .complete-detail .detail-right .road-item{
        padding:25px 30px;
    }

    

    .module-item .info .major{
        font-size: 1rem;
    }
    .module-item .info .title{
        font-size: 1.2rem;
    }

    .recommend-major-item{
        flex-direction: column;
    }
    .recommend-major-item .thumb{
        width: 100%;
        aspect-ratio: 387 / 200;
    }
    .recommend-major-item .info{
        width: 100%;
        padding:20px 30px 30px;
    }
    .recommend-major-item .info .btn-like{
        width: 36px;
        height: 36px;
        right: 30px;
        top: 32px;
    }
    .recommend-major-item .info .btn-like i{
        width: 18px;
        height: 18px;
    }
    .department-item .info{
        padding:20px 30px 30px;
    }

    .expand-header{
    padding-right: 0;
    }
    .expand-header .expand-btn{
        width: 30px;
        height: 30px;
    }
    .expand-header .expand-btn{
        transform: translate(0,0);
    }
    .grade-credit .grade>strong{
        font-size: 1.5rem;
    }
    .grade-credit .credit{
        right:40px;
    }
    .grade-credit .credit span{
        font-size: 1.25rem;
    }
    .credit-detail ul{
        flex-wrap: wrap;
        gap:5px 0;
    }
    .credit-detail ul li{
        width: 50%;
        text-align: center;
    }
    .credit-detail ul li+li{
        margin-left: 0;
        padding-left: 0;
    }
    .credit-detail ul li:nth-child(2n+1):before{
        content:none
    }
    .semester-creidt-design{
        flex-wrap: wrap;
    }
    .semester-creidt-design .semester-box{
        width: 100%;
    }

    .my-plan .my-plan-item{
        width: calc(50% - 10px);
    }
    .my-plan .my-plan-item .plan-title strong{
        font-size: 1.25rem;
    }
    .my-plan .my-plan-item .ai li{
        padding:5px 12px;
    }

    .planner-btns>*{
        gap:10px;
    }
    .planner-btns button, .planner-btns a{
        width: 160px;
        height: 50px;
        font-size: 1rem;
    }

    #side-list .list-header h4{
        font-size: 1.5rem;
    }

    .detail-header .header-left{
        
    }

    .major-view .major-info .tit{
        padding-right:0;
    }

    #tab .tab-list.grid-4 li{
        width: calc((100% - 30px) / 2);
    }

    .grade-credit .grade {
        flex-direction: column !important;
        justify-content: flex-start;
    }

    
}

/* 768px 이하 */
@media (max-width: 768px) {
    body, html{
        min-width: 320px;
    }
    #planner-wrap .inner{
        display: none;
    }

    #header .step{
        display: none;
    }

    #header .header-right{
        opacity: 0;
    }
    #footer{
        position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    }

    

}


input[type="text"] {
  background-color: var(--gray-light2);
  min-width: 200px;
  border: 1px solid var(--gray-light);
  border-radius: 8px;
  padding: 0.8em 1.2em;
  font-size: 1rem;
  box-sizing: border-box;
  transition: border-color var(--transition-duration) var(--transition-easing);
  font-family: inherit;
}
input[type="text"]:focus {
  border-color: var(--primary-color);
  outline: none;
}

textarea {
    background-color: var(--gray-light2);
    min-width: 200px;
    border: 1px solid var(--gray-light);
    border-radius: 8px;
    padding: 0.8em 1.2em;
    font-size: 1rem;
    box-sizing: border-box;
    transition: border-color var(--transition-duration) var(--transition-easing);
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
}
textarea:focus {
    border-color: var(--primary-color);
    outline: none;
}


          
        /* 공용 모달 스타일 */
        .common-modal {
            display: none;
            position: fixed;
            z-index: 2000;
            left: 0;
            top: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(0,0,0,0.5); /* 검정 반투명 */
            justify-content: center;
            align-items: center;
        }
        .common-modal .modal-content {
            position: relative;
            background: #fff;
            border-radius: 50px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.18);
            margin: 0 auto;
            top: 10%;
            min-width: 360px;
            max-width: 1140px;
            padding: 5% 0;
            width:50%;
        }
        .common-modal .modal-close {
            position: absolute;
            top: -12px;
            right: -12px;
            width: 44px;
            height: 44px;
            background: #fff;
            border-radius: 50%;
            box-shadow: 0 2px 8px rgba(0,0,0,0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            color: #222;
            cursor: pointer;
            border: none;
            z-index: 10;
            transition: box-shadow 0.2s;
        }
        .common-modal .modal-close:hover {
            box-shadow: 0 4px 16px rgba(0,0,0,0.22);
            background: #f5f5f5;
            color: #000;
        }

        .btn-fav-sidebar-toggle,
        #wpadminbar{
            display: none;
        }