* {
   margin: 0;
   padding: 0;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   font-size: 18px;
   font-weight: 400;
   color: #121212;
   word-break: keep-all;
   overflow-wrap: break-work;
   max-width: 100%;
   /* overflow-x: hidden; */
   line-height: 154%;
   /* 35px */
   letter-spacing: -0.8px;
   font-family: "Pretendard", -apple-system, BlinkMacSystemFont,
      "Segoe UI", Arial, sans-serif;
}

html,
body {
   overflow-x: hidden;
   /* 가로 스크롤 방지 */
   max-width: 100%;
   /* 가로 크기 제한 */
   font-family: "Pretendard", -apple-system, BlinkMacSystemFont,
      "Segoe UI", Arial, sans-serif;
}

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/variable/pretendardvariable-dynamic-subset.css");

@font-face {
   font-family: 'Pretendard';
   src: url('/ai-academy/PretendardVariable.woff2') format('woff2');
   font-display: swap;
}

@font-face {
   font-family: 'gmarkB';
   src: url('./font/GmarketSansTTFBold.ttf') format('truetype');
   font-weight: normal;
   font-display: swap;
}

@font-face {
   font-family: 'gmarkM';
   src: url('./font/GmarketSansTTFMedium.ttf') format('truetype');
   font-weight: normal;
   font-display: swap;
}

img {
   display: block;
   width: 100%;
   object-fit: cover;
   object-position: center;
}

li,
ul {
   list-style: none;
}

a {
   text-decoration: none;
}

button {
   display: block;
   border: none;
   cursor: pointer;
   background-color: transparent;
   cursor: pointer;
   /* display: none; */
}

section {
   width: 100%;
   margin: 0 auto;
}

article {
   width: 1200px;
   margin: 0 auto;
   padding: 80px 0;
}

:root {
   --main-color: #18264E;
   --sub1-color: #FFD964;
   --sub2-color: #3067D7;
   --sub2-hover: #ABD3FF;
   --sub1-hover: #FFD500;
}

.title {
   font-family: 'gmarkB';
   font-size: 34px;
   font-weight: 600;
   margin-bottom: 48px;
   text-align: center;
}

.subtitle {
   margin-bottom: 48px;
   text-align: center;
}

.list {
   font-size: 16px;
   margin-bottom: 15px;
   text-align: center;
   color: #787878;
}

/* ----------------------- */
.button_big {
   width: 250px;
   padding: 16px 24px;
   background-color: var(--sub1-color);
   border-radius: 15px;
   color: var(--main-color);
   font-weight: 700;
}

.button_big:hover {
   background-color: var(--sub1-hover);
   color: #121212;
}

button,
.button_big,
.buttonBox button,
.button-wrap a {
   transition:
      transform 0.15s ease,
      background-color 0.25s ease,
      color 0.25s ease,
      box-shadow 0.25s ease;
   cursor: pointer;
}

/* 마우스를 올렸을 때 */
button:hover,
.button_big:hover,
.buttonBox button:hover,
.button-wrap a:hover {
   transform: translateY(-2px);
   box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}

/* 실제로 누르는 순간 */
button:active,
.button_big:active,
.buttonBox button:active,
.button-wrap a:active {
   transform: translateY(1px) scale(0.97);
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12);
   transition-duration: 0.05s;
}

/* ----------------------- */
.requir {
   width: 100%;
   background-color: #fff;
   padding: 20px 30px;
   border: 1px solid #e1e1e1;
   border-bottom: 1px solid #E1E1E1 !important;
   border-left: 5px solid var(--sub2-color);
   border-radius: 10px;
   display: flex;
   align-items: center;

}

.requir p span {
   color: var(--sub2-color);
   font-weight: 600;
   margin-right: 4px;
}

.requir p {
   color: #5A5A5A;
   font-size: 16px;
}

/* ----------------------- */
.boxWrap {
   display: grid;
   gap: 13px;
   margin-bottom: 48px;
}

.boxWrap li {
   width: 100%;
   padding: 24px;
   border-radius: 10px;
}

.boxWrap li .textwrap {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: flex-start;
   gap: 8px;
   margin-bottom: 8px;
}

.boxWrap li .img {
   width: 45px;
}

.boxWrap li .textwrap h6 {
   font-size: 22px;
   font-weight: 500;
}

/* ----------------------- */
.buttonBox {
   width: 100%;
   background-color: #02A03B;
   border-radius: 5px;
   padding: 30px 30px;

   display: flex;
   align-items: center;
   justify-content: space-between;
}

.buttonBox h4 {
   font-size: 24px;
   font-weight: 600;
   color: #fff;
   margin-bottom: 10px;
}

.buttonBox p {
   color: #fff;
}

.buttonBox button {
   padding: 16px 30px;
   width: 200px;
   border-radius: 15px;
   background-color: #fff;
   font-weight: 600;
   color: #02A03B;
}

.buttonBox button:hover {
   background-color: var(--sub1-hover);
   color: #121212;
}

.pc {
   display: block !important;
}

.mo {
   display: none !important;
}

/* ================= header =============== */
header {
   background-color: #fff;
   padding: 10px 50px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: fixed;
   top: 0;
   z-index: 1000;
   width: 100%;
   transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

header.scroll {
   background-color: rgba(255, 255, 255, 0.88);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
}

header .logo {
   width: 300px;
}

header ul {
   display: flex;
   align-items: center;
}

header ul li a {
   padding: 10px 24px;
   line-height: normal;
   font-weight: 500;
}

header ul li a:hover {
   color: var(--sub2-color);
   font-weight: 600;
}

header ul li button {
   background-color: var(--sub2-color);
   border-radius: 10px;
   font-size: 16px;
   font-weight: 500;
   line-height: normal;
   color: #fff;
   padding: 8px 24px;
   margin-left: 24px;
}

header ul li button:hover {
   background-color: var(--main-color);
}

/* ================= phai01 =============== */
.phai01 {
   background-color: var(--main-color);
   background-image: url(./img/ph01-bg.png);
   background-position: right;
   background-repeat: no-repeat;
   background-size: auto;
}

.phai01 article {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 100px 0 60px;
}

.phai01 article .sub {
   width: fit-content;
   padding: 8px 16px;
   background-color: var(--sub1-color);
   border-radius: 10px;
   font-size: 16px;
   font-weight: 600;
   color: var(--main-color);
}

.phai01 article h4 {
   font-size: 18px;
   color: #fff;
   margin: 10px 0 17px;
}

.phai01 article div:nth-child(2) {
   width: 43%;
}

.phai01 article .text h5 {
   font-family: 'gmarkM';
   font-size: 40px;
   color: #fff;
   margin-bottom: 4px;
}

.phai01 article .text h1 {
   font-family: 'gmarkB';
   font-size: 54px;
   color: #fff;
   margin-bottom: 12px;
   line-height: 130%;
}

.phai01 article .text p {
   color: #fff;
}

.phai01 article .text ul {
   width: fit-content;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 4px;
   margin: 30px 0 30px;
}

.phai01 article .text ul li:first-child {
   width: 150px;
}

.phai01 article .text>.company-info {
   width: 100%;
   display: flex;
   align-items: center;
   gap: 10px;
}

.phai01 article .text>.company-info span {
   display: flex;
   align-items: center;
   gap: 4px;
   color: var(--sub2-hover);
   font-size: 14px;
}

.phai01 article .text>.company-info span strong {
   color: #fff;
   font-size: 14px;
}

/* ================= phai02 =============== */
.phai02 {
   background-color: #3C57A4;
}

.phai02 article {
   padding: 0;
}

.phai02 ul {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
}

.phai02 ul li {
   padding: 24px;
}

.phai02 ul li h1 {
   font-size: 35px;
   color: #fff;
   font-weight: 500;
   line-height: 154%;
   text-align: center;
}

.phai02 ul li p {
   color: #fff;
   text-align: center;
}

.phai02 ul li:nth-child(3) {
   background-color: var(--sub1-color);
}

.phai02 ul li:nth-child(3) h1,
.phai02 ul li:nth-child(3) p {
   color: var(--main-color);
}

/* ================= phai03 =============== */
.phai03 {
   background-color: #F7F7F7;
}

.phai03 .list {
   color: #898989;
}

.phai03 ul {
   width: 60%;
   margin: 0 auto;
}

.phai03 ul li {
   display: flex;
   align-items: center;
   gap: 20px;
}

.phai03 ul li div {
   width: 76px;
}

.phai03 ul li p {
   color: #666;
   padding: 20px 30px;
   border-radius: 10px;
   background-color: #fff;
}

/* 홀수 항목은 왼쪽 */
.phai03 ul li:nth-child(odd) {
   justify-content: flex-start;
}

/* 짝수 항목은 오른쪽 */
.phai03 ul li:nth-child(even) {
   justify-content: flex-end;
}

.phai03 .circle {
   width: 14px;
   margin: 0 auto 40px;
}

/* ================= phai19 =============== */
.phai19 .title {
   margin-bottom: 15px;
}

/* 상단 통계 카드 */
.phai19 .career-summary {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
   margin-bottom: 24px;
}

.phai19 .career-summary li {
   min-height: 124px;
   padding: 25px;
   border-radius: 10px;
   background-color: #18264e;
   display: flex;
   align-items: center;
   gap: 18px;
}

.phai19 .career-summary li.career-summary__highlight {
   background-color: #ffd964;
}

.phai19 .career-summary__icon {
   width: 46px;
}

.phai19 .career-summary strong {
   display: block;
   margin-bottom: 8px;
   color: #fff;
   font-size: 25px;
   font-weight: 700;
}

.phai19 .career-summary p {
   color: rgba(255, 255, 255, 0.8);
   font-size: 15px;
}

.phai19 .career-summary__highlight strong,
.phai19 .career-summary__highlight p {
   color: #18264e;
}

/* 콘텐츠 제목 */
.phai19 .career-section-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   margin: 22px 0;
}

.phai19 .career-section-head h2 {
   font-size: 22px;
   font-weight: 700;
   display: flex;
   align-items: center;
   gap: 8px;
}

.phai19 .career-section-head h2 span {
   display: block;
   width: 40px;
}

.phai19 .career-section-head p {
   color: #a2a2a2;
   font-size: 14px;
   text-align: right;
}

/* 그래프 */
.phai19 .career-chart__body {
   overflow: hidden;
   border-radius: 10px;
   background-color: #eaf0ff;
}

.phai19 .career-chart__row {
   min-height: 60px;
   padding: 12px 24px;
   display: grid;
   grid-template-columns: 2.2fr 1.8fr 0.9fr 1fr;
   align-items: center;
   gap: 10px;
}

.phai19 .career-chart__row--focus {
   background-color: #ffd964;
}

.phai19 .career-chart__label,
.phai19 .career-chart__row strong,
.phai19 .career-chart__row em {
   font-size: 16px;
}

.phai19 .career-chart__label {
   display: flex;
   align-items: center;
   gap: 16px;
}

.phai19 .career-chart__label small {
   width: fit-content;
   display: flex;
   align-items: center;
   gap: 4px;
   margin-left: 6px;
   padding: 4px 12px;
   border-radius: 20px;
   background-color: #FFF6D9;
   font-size: 14px;
}

.phai19 .career-chart__label small span {
   width: 16px;
}

.phai19 .career-chart__track {
   height: 19px;
   overflow: hidden;
   border-radius: 5px;
   background-color: #fff;
}

.phai19 .career-chart__bar {
   display: block;
   width: 0;
   height: 100%;
   border-radius: inherit;
   background-color: #3067d7;
   transition: width 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.phai19 .career-chart.is-visible .career-chart__bar {
   width: var(--bar-width);
}

.phai19 .career-chart__bar--light {
   background-color: #7fa6ed;
}

.phai19 .career-chart__row strong {
   color: #3067d7;
   font-weight: 700;
}

.phai19 .career-chart__row em {
   justify-self: end;
   font-style: normal;
   font-weight: 700;
}

.phai19 .career-chart .is-rising {
   color: #ff8a00;
}

.phai19 .career-chart .is-strong {
   color: #16a929;
}

.phai19 .career-chart .is-new {
   color: #3067d7;
}

.phai19 .career-chart .is-shortage {
   color: #ff5b62;
   display: flex;
   align-items: center;
}

.phai19 .career-chart .is-shortage span {
   width: 20px;
}

/* 업종별 기업 */
.phai19 .career-companies {
   margin-top: 42px;
}

/* 탭 버튼 */
.phai19 .career-tabs {
   display: flex;
   gap: 14px;
   overflow-x: auto;
   padding-bottom: 14px;
   scrollbar-width: thin;
}

.phai19 .career-tabs button {
   flex: 0 0 auto;
   min-width: 176px;
   padding: 13px 22px;
   border: 1px solid #c8c8c8;
   border-radius: 40px;
   color: #a0a0a0;
   background-color: #fff;
   font-size: 16px;
   box-shadow: none;
}

.phai19 .career-tabs button:hover,
.phai19 .career-tabs button.is-active {
   transform: none;
   border-color: var(--sub2-color);
   background-color: var(--sub2-color);
   color: #fff;
   box-shadow: none;
}

/* 기업 탭 내용 */
.phai19 .career-company-panel {
   overflow: hidden;
   border: 1px solid var(--sub2-color);
   border-radius: 0 0 10px 10px;
}

.phai19 .career-company-panel[hidden] {
   display: none;
}

/* 출처 및 안내 */
.phai19 .career-note {
   margin-top: 8px;
   color: #6f6f6f;
   font-size: 14px;
}

/* 하단 안내 카드 */
.phai19 .career-paths {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 18px;
   margin-top: 32px;
}

.phai19 .career-paths div {
   min-height: 150px;
   padding: 25px;
   border-radius: 10px;
   background-color: #eaf0ff;
}

.phai19 .career-paths div:last-child {
   background-color: #f7ebff;
}

.phai19 .career-paths h3 {
   margin-bottom: 12px;
   font-size: 19px;
   font-weight: 700;
}

.phai19 .career-paths p {
   color: #4f4f4f;
   font-size: 15px;
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
   .phai19 .career-chart__bar {
      transition: none;
   }
}






/* ================= phai18 =============== */
.phai18 {
   background-color: #7591E0;
}

.phai18 .list,
.phai18 .title,
.phai18 .subtitle {
   color: #fff;
}

.phai18 .title {
   margin-bottom: 15px;
}

.phai18 .subtitle>strong {
   color: var(--sub1-color);
   font-weight: 600;
}

.phai18 article>span {
   color: #fff;
   text-align: center;
   margin-top: 12px;
   display: block;
}

.phai18 .conWrap {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   align-items: stretch;
   gap: 24px;
}

/* 양쪽 영역 높이 동일 */
.phai18 .conWrap>li {
   width: auto;
   min-width: 0;
}

/* 왼쪽 그래프 박스 */
.phai18 .conWrap .img {
   display: flex;
   flex-direction: column;
   background-color: #fff;
   border-radius: 15px;
   padding: 24px;
   gap: 10px;
}

/* 왼쪽 그래프 박스 */
.phai18 .conWrap .img {
   display: flex;
   flex-direction: column;
   padding: 24px;
   border-radius: 15px;
   background-color: #FFFFFF;
}

.phai18 .conWrap .img h4 {
   flex-shrink: 0;
   font-size: 20px;
   font-weight: 600;
   text-align: center;
}

/* 그래프 전체 영역 */
.phai18 .physical-chart {
   position: relative;
   flex: 1;
   display: grid;
   grid-template-columns: 1fr 1.15fr 1fr;
   align-items: end;
   gap: 20px;
   min-height: 360px;
   padding: 30px 30px 0;
}

/* 개별 막대 */
.phai18 .chart-item {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-end;
   height: 100%;
}

.phai18 .chart-number {
   margin-bottom: 14px;
   font-size: 20px;
   font-weight: 500;
   line-height: 1;
   opacity: 0;
   transform: translateY(10px);
   transition:
      opacity 0.4s ease,
      transform 0.4s ease;
}

.phai18 .chart-item--2035 .chart-number {
   color: #3467D6;
   font-size: 26px;
   font-weight: 700;
}

.phai18 .chart-bar-wrap {
   display: flex;
   align-items: flex-end;
   justify-content: center;
   width: 112px;
}

.phai18 .chart-item--2025 .chart-bar-wrap {
   height: 54px;
}

.phai18 .chart-item--2035 .chart-bar-wrap {
   height: 270px;
}

.phai18 .chart-bar {
   display: block;
   width: 100%;
   height: 100%;
   background-color: #D9D9D9;
   transform: scaleY(0);
   transform-origin: center bottom;
   transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.phai18 .chart-item--2035 .chart-bar {
   background-color: #3467D6;
   transition-delay: 0.15s;
}

.phai18 .chart-year {
   margin-top: 16px;
   color: #121212;
   font-size: 17px;
}

/* 중앙 성장률 */
.phai18 .chart-growth {
   align-self: center;
   display: grid;
   grid-template-columns: auto auto;
   align-items: center;
   justify-content: center;
   column-gap: 10px;
   margin-top: 30px;
   opacity: 0;
   transform: translateY(18px);
   transition:
      opacity 0.6s ease 0.65s,
      transform 0.6s ease 0.65s;
}

.phai18 .growth-arrow {
   grid-row: 1 / 3;
   position: relative;
   width: 34px;
   height: 58px;
   overflow: hidden;
}

.phai18 .growth-arrow::before {
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   width: 0;
   height: 0;
   border-right: 17px solid transparent;
   border-bottom: 21px solid #FF5B61;
   border-left: 17px solid transparent;
   transform: translateX(-50%);
}

.phai18 .growth-arrow span {
   position: absolute;
   bottom: 0;
   left: 50%;
   width: 12px;
   height: 39px;
   background-color: #FF5B61;
   transform: translateX(-50%);
}

.phai18 .chart-growth>strong {
   align-self: end;
   color: #FF5B61;
   font-size: 20px;
   font-weight: 700;
}

.phai18 .chart-growth>p {
   align-self: start;
   color: #121212;
   font-size: 19px;
   font-weight: 700;
   white-space: nowrap;
}

.phai18 .chart-description {
   flex-shrink: 0;
   margin-top: 18px;
   font-size: 15px;
   text-align: center;
}

/* 화면에 들어왔을 때 실행 */
.phai18.is-visible .chart-bar {
   transform: scaleY(1);
}

.phai18.is-visible .chart-number {
   opacity: 1;
   transform: translateY(0);
   transition-delay: 0.75s;
}

.phai18.is-visible .chart-item--2035 .chart-number {
   transition-delay: 0.9s;
}

.phai18.is-visible .chart-growth {
   opacity: 1;
   transform: translateY(0);
}

.phai18 .conWrap .img h4 {
   font-size: 20px;
   font-weight: 600;
   text-align: center;
}

.phai18 .conWrap .img p {
   text-align: center;
}

/* 오른쪽 카드 3개 */
.phai18 .conWrap .text {
   display: flex;
}

.phai18 .conWrap .text>ul {
   display: grid;
   grid-template-rows: repeat(3, minmax(0, 1fr));
   gap: 12px;
   width: 100%;
   height: 100%;
}

.phai18 .conWrap .text li {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 24px;
   padding: 24px 30px;
   border-radius: 15px;
   background-color: #fff;
}

.phai18 .conWrap .text li h6 {
   font-size: 35px;
   font-weight: 600;
   color: var(--sub2-color);
}

.phai18 .conWrap .text li p {
   color: #666;
}

.phai18 .conWrap .text li:nth-child(2) {
   background-color: var(--sub1-color);
}

.phai18 .conWrap .text li:nth-child(2) h6 {
   color: #FF0900;
}

.phai18 .conWrap .text li:nth-child(2) p {
   color: #121212;
}

/* ================= phai04 =============== */
.phai04 {
   background-color: #F7F7F7;
}

.phai04 .title {
   margin-bottom: 15px;
}

.phai04 .boxWrap {
   grid-template-columns: repeat(2, 1fr);
}

.phai04 ul li {
   background-color: #fff;
}

.phai04 li p {
   color: #757575;
}

/* ================= phai07 =============== */
.phai07 {
   background-color: var(--main-color);
}

.phai07 article {
   padding-bottom: 0;
}

.phai07 .list,
.phai07 .title,
.phai07 .subtitle {
   color: #FFFFFF;
}

.phai07 .title {
   margin-bottom: 15px;
}

.phai07 .summary {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-bottom: 20px;
}

.phai07 .summary li {
   padding: 9px 18px;
   border-radius: 30px;
   background-color: #FFDD3D;
   font-size: 16px;
   font-weight: 500;
   line-height: normal;
}

.phai07 .freeBox {
   background-color: #97B2FE;
   border-radius: 5px;
   padding: 30px;
   margin: 30px 0 6px;

   display: flex;
   align-items: center;
   justify-content: space-between;
}

.phai07 .freeBox h4 {
   width: 40%;
   font-size: 22px;
   font-weight: 700;
   color: #fff;
}

.phai07 .freeBox h4 span {
   font-size: 22px;
   font-weight: 700;
   color: var(--main-color);
   background-color: var(--sub1-color);
}

.phai07 .freeBox ul {
   width: 100%;
   display: flex;
   gap: 16px;
}

.phai07 .freeBox ul li {
   width: 50%;
   border-radius: 10px;
   padding: 20px;
}

.phai07 .freeBox ul li div {
   display: flex;
   align-items: center;
   margin-bottom: 16px;
}

.phai07 .freeBox ul li div img {
   width: 45px;
}

.phai07 .freeBox ul li div h1 {
   font-size: 20px;
   font-weight: 600;
}

.phai07 .freeBox ul li p {
   text-align: left;
   color: #121212;
}

.phai07 .freeBox ul li:first-child {
   background-color: #EDF2FF;
}

.phai07 .freeBox ul li:last-child {
   background-color: #F7EDFF;
}

.phai07 .img {
   width: 50%;
   margin: 0 auto;
}

.phai07 p {
   color: #fff;
   text-align: center;
}

/* ================= phai20 =============== */
.phai20 {
   background-color: var(--main-color);
}

.phai20 .list,
.phai20 .title,
.phai20 .subtitle {
   color: #fff;
}

.phai20 .title {
   margin-bottom: 15px;
}

.phai20-heading {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   margin-bottom: 28px;
}

.phai20-heading>span {
   width: 46px;
   height: 46px;
   border-radius: 5px;
   background-color: #3c57a4;
   display: grid;
   place-items: center;
   font-size: 22px;
}

.phai20-heading h2 {
   color: var(--sub1-color);
   font-size: 22px;
   font-weight: 600;
}

.phai20-heading--project {
   margin-top: 48px;
}

/* 상단 결과물 카드 */
.phai20-results {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 15px;
}

.phai20-results li {
   padding: 24px;
   border: 2px solid #5181e6;
   border-radius: 10px;
   background-color: #fff;
   display: flex;
   align-items: center;
   gap: 18px;
}

.phai20-results__icon {
   width: 40px;
}

.phai20-results h3 {
   margin-bottom: 6px;
   font-size: 20px;
   font-weight: 600;
}

.phai20-results p {
   color: #666;
}

/* 프로젝트 영역 */
.phai20-project {
   display: grid;
   grid-template-columns: 280px minmax(0, 1fr);
   gap: 0;
   align-items: stretch;
}

/* 세로 탭 버튼 */
.phai20-project__tabs {
   display: flex;
   flex-direction: column;
   gap: 15px;
   padding-right: 15px;
}

.phai20-project__tabs button {
   width: 100%;
   padding: 14px 24px;
   border-radius: 10px;
   background-color: #fff;
   display: flex;
   flex: 1;
   align-items: center;
   gap: 20px;
   text-align: left;
   box-shadow: none;
}

.phai20-project__tabs button:hover {
   transform: none;
   box-shadow: none;
   background-color: #fff5cf;
}

.phai20-project__tabs button.is-active {
   background-color: var(--sub1-color);
}

.phai20-project__tabs button>span {
   width: 45px;
   height: 45px;
   flex: 0 0 45px;
   border-radius: 5px;
   background-color: #fff1ba;
   display: grid;
   place-items: center;
   font-size: 18px;
   font-weight: 700;
}

.phai20-project__tabs button strong {
   font-size: 17px;
   font-weight: 700;
}

/* 탭 이미지 */
.phai20-project__contents {
   min-width: 0;
   overflow: hidden;
   /* background-color: #d9d9d9; */
}

.phai20-project__panel {
   width: 100%;
   height: 100%;
}

.phai20-project__panel[hidden] {
   display: none;
}

.phai20-project__panel img {
   width: 100%;
   height: 100%;
   min-height: 450px;
   object-fit: cover;
   object-position: center;
}

.phai20-project__note {
   margin-top: 18px;
   color: #fff;
   font-size: 14px;
   text-align: center;
}

/* 하단 지원 카드 */
.phai20-benefits {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 15px;
   margin-top: 34px;
}

.phai20-benefits li {
   min-height: 120px;
   padding: 22px;
   border-radius: 10px;
   background-color: var(--sub1-color);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
}

.phai20-benefits strong {
   margin-bottom: 7px;
   font-size: 22px;
   font-weight: 700;
}

.phai20-benefits p {
   color: #666;
   font-size: 15px;
}

/* ================= phai21 =============== */
.phai21 {
   background-color: #7591E0;
}

.phai21 .list,
.phai21 .title,
.phai21 .subtitle {
   color: #fff;
}

.phai21 .title {
   margin-bottom: 15px;
}

.phai21 h6 {
   margin-top: 30px;
   font-size: 16px;
   color: #fff;
   text-align: center;
}

.phai21 h6 span {
   font-size: 16px;
   color: var(--sub1-color);
}

/* ================= phai09 =============== */
.phai09 .textWrap {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 24px;
   margin: 0 auto 30px;
}

.phai09 .textWrap p {
   color: var(--sub2-color);
   background-color: #FFf;
   border: 1px solid var(--sub2-color);
   border-radius: 50px;
   font-weight: 600;
   padding: 16px 30px;
}

.phai09 .textWrap>p:nth-of-type(2) {
   color: #fff;
   background-color: var(--sub2-color);
   border: 1px solid var(--sub2-color);
}

.phai09 .textWrap div {
   width: 40px;
}

.phai09 .textWrap p:nth-last-child(2) {
   color: var(--sub2-color);
   background-color: #FFf;
   border: 1px solid var(--sub2-color);
   border-radius: 20px;
   font-weight: 600;
}

.phai09 .boxWrap {
   grid-template-columns: repeat(3, 1fr);
   gap: 13px;
}

.phai09 .boxWrap li {
   background-color: #EAF1FF;
   border: 1px solid var(--sub2-color);
}

.phai09 .boxWrap li .textwrap h6 {
   color: var(--sub2-color);
}

/* ================= phai13 =============== */
.phai13 {
   background-color: #7591E0;
}

.phai13 .list,
.phai13 .title,
.phai13 .subtitle {
   color: #fff;
}

.phai13 .title {
   margin-bottom: 15px;
}

.phai13 ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 13px;
   margin-bottom: 30px;
}

.phai13 ul li {
   background-color: #fff;
   padding: 24px;
   border-radius: 10px;
   display: flex;
   gap: 12px;
}

.phai13 ul li div {
   width: 45px;
}

.phai13 ul li .text {
   width: 100%;
}

.phai13 ul li h4 {
   font-size: 22px;
   font-weight: 600;
}

.phai13 ul li h3 {
   color: #757575;
}

.phai13 .line {
   position: relative;
   /* border: 2px solid var(--sub2-color); */
   /* background-color: #FFF9F3; */
   padding: 20px;
   border-radius: 10px;
}

/* 핵심 금액 및 혜택명 강조 */
/* .phai13 .line h4 {
   color: var(--sub2-color);
   font-weight: 700;
} */
/* ================= phai22 =============== */
.phai22 {
   background-color: #2D2D2D;
}

.phai22 .cap {
   display: block;
   width: fit-content;
   background-color: #92D3FF;
   border-radius: 50px;
   font-weight: 500;
   font-size: 16px;
   padding: 6px 16px;
   margin: 0 auto;
   text-align: center;
}

.phai22 .titeimg {
   width: 40%;
   margin: 15px auto;
}

.phai22 .capTxt {
   padding: 18px 30px;
   background-color: #212020;
   border-radius: 50px;
   color: #fff;
   font-size: 20px;
   font-weight: 400;
   text-align: center;
   width: fit-content;
   margin: 0 auto;
}

.phai22 .capTxt span {
   color: #fff;
   font-size: 20px;
   font-weight: 600;
}

.phai22 ul {
   display: grid;
   grid-template-columns: repeat(1, 1fr);
   grid-template-rows: repeat(3, 1fr);
   gap: 20px;
   margin: 48px 0;
}

.phai22 .text p {
   color: #fff;
}

.phai22 .text p:first-child {
   font-weight: 600;
   margin-bottom: 4px;
}

.phai22 .text p:last-child {
   font-size: 16px;
}

/* ================= phai14 =============== */
.phai14 .title {
   margin-bottom: 15px;
}

.phai14 .schedule-list {
   display: flex;
   flex-direction: column;
   gap: 16px;
   margin-bottom: 24px;
}

.phai14 .schedule-list>li {
   min-height: 105px;
   display: flex;
   border-radius: 6px;
   overflow: hidden;
   background-color: #F5F5F5;
}

.phai14 .schedule-list .number {
   width: 112px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   background-color: #000000;
   color: #FFFFFF;
   font-size: 49px;
   font-weight: 700;
   letter-spacing: -2px;
}

.phai14 .schedule-text {
   width: 100%;
   padding: 20px 30px;
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.phai14 .schedule-text h4 {
   margin-bottom: 8px;
   font-size: 21px;
   font-weight: 700;
}

.phai14 .schedule-text p,
.phai14 .schedule-text p span {
   font-size: 20px;
}

.phai14 .schedule-list>li.active {
   border: 2px solid var(--sub2-color);
   background-color: #E9F1FF;
}

.phai14 .schedule-list>li.active .number {
   width: 112px;
   margin: -2px 0 -2px -2px;
   background-color: var(--sub2-color);
}

.phai14 .schedule-list>li.active .schedule-text p {
   color: var(--sub2-color);
}

.phai14 .schedule-text.period {
   flex-direction: row;
   align-items: center;
   justify-content: space-between;
   gap: 80px;
}

.phai14 .schedule-text>div {
   flex: 1;
}

.phai14 .schedule-text.period .summary {
   width: 130px;
   flex: 0 0 130px;
   padding: 12px 24px;
   color: var(--sub2-color);
   font-size: 17px;
   background-color: #D7E5FF;
   border-radius: 5px;
   text-align: center;
}

.phai14 .process-list {
   background-color: #E9F1FF;
   padding: 24px;
}

.phai14 .process-list h5 {
   text-align: center;
}

.phai14 .textWrap {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 24px;
   margin: 24px auto;
}

.phai14 .textWrap p {
   color: var(--sub2-color);
   background-color: #FFf;
   border: 1px solid var(--sub2-color);
   border-radius: 50px;
   font-weight: 600;
   padding: 16px 30px;
}

.phai14 .textWrap>p:nth-of-type(2) {
   color: #fff;
   background-color: var(--sub2-color);
   border: 1px solid var(--sub2-color);
}

.phai14 .textWrap div {
   width: 40px;
}

.phai14 .textWrap p:nth-last-child(2) {
   color: var(--sub2-color);
   background-color: #FFf;
   border: 1px solid var(--sub2-color);
   border-radius: 20px;
   font-weight: 600;
}

.phai14 .process-list li>p {
   font-size: 14px;
   text-align: center;
}

/* ================= phai15 =============== */
.phai15 {
   background-color: #F0F6FF;
}

#Accordion_wrap {
   width: 90%;
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 40px;
   margin: 0 auto;
}

.phai15 .wrap1 {
   width: 100%;
}

.que {
   position: relative;
   padding: 20px;
   cursor: pointer;
   background-color: #fff;
   border: 1px solid var(--sub2-color);
   display: flex;
   align-items: center;
   justify-content: space-between;
   border-radius: 10px;
   margin-bottom: 12px;
}

.que span {
   color: #666;
}

.que.on {
   background-color: var(--sub2-color);
}

.que.on>span {
   font-weight: bold;
   color: #fff;
}

.anw {
   display: none;
   overflow: hidden;
   font-size: 16px;
   padding: 16px;
}

.anw span {
   font-size: 16px;
}

.arrow-wrap {
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translate(0, -50%);
}

.que .arrow-top {
   display: none;
}

.que .arrow-bottom {
   display: block;
}

.que.on .arrow-bottom {
   display: none;
}

.que.on .arrow-top {
   display: block;
}


/* ================= phai11 =============== */
.phai11 {
   background-color: #008831;
}

.phai11 .list,
.phai11 .title,
.phai11 .subtitle {
   color: #fff;
}

.phai11 .title {
   margin-bottom: 15px;
}

.phai11 ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 13px;
}

.phai11 ul li {
   background-color: #fff;
   border-radius: 10px;
   padding: 24px;

   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 8px;
}

.phai11 ul li div {
   height: 27px;
}

.phai11 ul li div img {
   width: auto;
   height: 100%;
}

.phai11 ul li p {
   font-size: 20px;
}


/* ================= phai16 =============== */
.phai16 {
   background-image: url(./img/ph14-bg.png);
   background-position: center;
   background-repeat: no-repeat;
   background-size: auto;
   background-color: var(--main-color);
}

.phai16 .list,
.phai16 .title,
.phai16 .subtitle {
   color: #fff;
}

.phai16 .title {
   margin-bottom: 15px;
}

.phai16 div {
   width: 200px;
   margin: 0 auto 4px;
   animation: phai16Jump 2s ease-in-out infinite;
}

@keyframes phai16Jump {

   0%,
   20%,
   50%,
   80%,
   100% {
      transform: translateY(0);
   }

   40% {
      transform: translateY(-14px);
   }

   60% {
      transform: translateY(-7px);
   }
}

.phai16 button {
   margin: 0 auto;
   width: auto;
}

/* ================= phai17 =============== */
.phai17 .title {
   margin-bottom: 15px;
}

.phai17 .title span {
   color: var(--sub2-color);
   font-family: 'gmarkB';
   font-size: 34px;
   font-weight: 600;
}

.phai17 ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 13px;
}

.phai17 ul li {
   display: flex;
   align-items: flex-start;
   gap: 16px;
   padding: 24px;
   border-radius: 10px;
}

.phai17 ul .img {
   width: 45px;
}

.phai17 ul .text {
   width: 100%;
}

.phai17 ul li h4 {
   font-size: 20px;
   font-weight: 600;
}

.phai17 ul li .button {
   width: 50%;
   font-size: 16px;
   padding: 8px 16px 4px;
   border-radius: 5px;
   text-align: center;
   color: #fff;
   margin: 12px 0 0 auto;
   cursor: pointer;
}

.phai17 ul li .button:hover {
   background-color: var(--sub1-hover);
   color: var(--main-color);
   font-weight: 600;
}

/* .box1 */
.phai17 ul .box1 {
   background-color: #EDFCF2;
   border: 1px solid #018E33;
}

.phai17 ul .box1 h4 {
   color: #018E33;
}

.phai17 ul .box1 .button {
   background-color: #018E33;
}

/* .box2 */
.phai17 ul .box2 {
   background-color: #EAF1FF;
   border: 1px solid var(--sub2-color);
}

.phai17 ul .box2 h4 {
   color: var(--sub2-color);
}

.phai17 ul .box2 .button {
   background-color: var(--sub2-color);
}

/* .box3 */
.phai17 ul .box3 {
   background-color: #F5F3FF;
   border: 1px solid #745FD7;
}

.phai17 ul .box3 h4 {
   color: #745FD7;
}

.phai17 ul .box3 .button {
   background-color: #745FD7;
}

/* ================= footer =============== */
footer {
   background-color: #6f6f6f;
}

footer article {
   padding: 50px 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

footer h4 {
   font-family: 'gmarkM';
   font-size: 20px;
   color: #fff;
   margin-bottom: 8px;
}

footer h5 {
   font-size: 14px;
   color: #a7a7a7;
   margin-bottom: 15px;

}

footer h5 b {
   font-size: 14px;
   font-weight: 600;
   color: #a7a7a7;
}

footer p {
   font-size: 14px;
   color: #949494;
   cursor: pointer;
   margin-bottom: 20px;
}

footer .logo {
   width: 300px;
}

/* ================= floating quick actions =============== */
.floating-actions {
   position: fixed;
   right: 28px;
   bottom: 28px;
   z-index: 1000;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 10px;
}

.btn_kakao_chat,
.btn_gotop,
.floating-apply {
   width: 62px;
   height: 62px;
   border-radius: 50%;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 2px;
   box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
   transition: transform .2s ease, box-shadow .2s ease;
}

.btn_kakao_chat {
   background: #fee500;
}

.btn_kakao_chat span,
.btn_gotop>span:last-child {
   color: #202020;
   font-family: 'gmarkM';
   font-size: 11px;
   font-weight: 700;
   letter-spacing: 0;
   line-height: 1;
}

.btn_gotop {
   background: #fff;
   border: 1px solid #e3e3e3;
}

.top-arrow {
   display: block;
   width: 13px;
   height: 13px;
   border-top: 3px solid #242424;
   border-left: 3px solid #242424;
   transform: rotate(45deg);
   margin-top: 4px;
}

.btn_kakao_chat:hover,
.btn_gotop:hover {
   transform: translateY(-3px);
   box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
}

.btn_kakao_chat:focus-visible,
.btn_gotop:focus-visible {
   outline: 3px solid #1769ff;
   outline-offset: 3px;
}

/* PC에서는 숨김 */
.floating-apply {
   display: none;
}


@media (max-width:1200px) {
   * {
      font-size: 16px;
   }

   article {
      width: 95%;
      padding: 50px 0;
   }
}

@media (max-width:1044px) {
   ul.tabs li {
      padding: 12px 16px;
   }

   .tab-content li .img h4 {
      font-size: 20px;
   }

   .boxWrap li .text h6 {
      font-size: 18px;
   }

   .phai01 article .text>.company-info {
      flex-wrap: wrap;
   }

   .phai18 .physical-chart {
      gap: 0px;
      padding: 0px 0px 0;
   }

   .phai20-project__panel img {
      display: block;
      width: 100%;
      height: auto;
      min-height: 0;
      object-fit: contain;
   }
}

@media (max-width:820px) {
   .requir {
      padding: 16px;
   }

   .requir p {
      font-size: 15px;
   }

   .list {
      margin-bottom: 0;
   }

   .boxWrap {
      margin-bottom: 30px;
   }

   .boxWrap li .textwrap {
      margin-bottom: 8px;
      flex-direction: row;
      align-items: center;
   }

   .boxWrap li {
      padding: 16px;
   }

   .boxWrap li .textwrap h6 {
      font-size: 20px;
   }

   .buttonBox {
      padding: 16px;
   }

   .buttonBox h4 {
      font-size: 20px;
      margin-bottom: 4px;
   }

   .buttonBox button {
      padding: 12px 35px;
      width: auto;
      border-radius: 10px;
   }

   .subtitle,
   .title {
      margin-bottom: 36px;
      gap: 8px;
   }

   .pc {
      display: none !important;
   }

   .mo {
      display: block !important;
   }


   /* 모바일에서 헤더 숨김 */
   header {
      display: none;
   }

   .phai01 {
      margin-top: 0;
      background-image: none;
   }

   /* 플로팅 */
   .floating-actions {
      right: 16px;
      bottom: max(16px, env(safe-area-inset-bottom));
      gap: 8px;
   }

   .btn_kakao_chat,
   .btn_gotop,
   .floating-apply {
      width: 54px;
      height: 54px;
   }

   .btn_kakao_chat span,
   .btn_gotop>span:last-child {
      font-size: 10px;
   }

   .top-arrow {
      width: 12px;
      height: 12px;
      border-width: 2.5px;
   }

   .floating-apply {
      display: flex;
      /* min-width: 130px; */
      /* padding: 10px 30px; */
      /* border-radius: 50%; */
      background-color: #252525;
      border: 1px solid #27b057;
   }

   .floating-apply img {
      width: 16px;
      margin-bottom: 4px;
   }

   .floating-apply span {
      color: #2AFF77;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0;
      line-height: 1;
   }


   .mobile-floating button:active {
      transform: scale(0.94);
   }

   .phai01 {
      background-size: cover;
   }

   .phai01 article {
      padding: 30px 0 60px;
      flex-direction: column;
   }

   .phai01 article div {
      width: 100%;
   }

   .phai01 article div:nth-child(2) {
      width: 60%;
      margin-top: 30px;
   }

   .phai01 article .text>.company-info span {
      font-size: 16px;
      font-weight: 600;
   }

   .phai01 article .text>.company-info {
      flex-wrap: wrap;
   }

   .phai01 article .text>.company-info span strong {
      font-size: 16px;
   }

   .phai01 article .text ul li:first-child {
      margin: 0 auto;
   }

   .phai01 article .text ul {
      width: 100%;
      align-items: stretch;
   }

   .phai01 article .text ul li {
      width: 100%;
   }

   .phai01 article .text ul li .button_big {
      width: 100%;
      box-sizing: border-box;
   }

   .phai03 ul {
      width: 100%;
   }

   .phai03 .circle {
      width: 10px;
   }

   .phai19 .career-summary li {
      flex-direction: column;
   }

   .phai19 .career-summary strong {
      font-size: 24px;
      text-align: center;
      margin-bottom: 0;
   }

   .phai19 .career-summary p {
      text-align: center;
   }

   .phai19 .career-section-head {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 16px;
   }

   .phai19 .career-summary li {
      min-height: 100px;
      margin: 0;
      padding: 20px;
   }

   .phai19 .career-section-head {
      align-items: flex-start;
      flex-direction: column;
      gap: 6px;
   }

   .phai19 .career-section-head p {
      text-align: left;
   }

   .phai19 .career-chart__row {
      min-height: 96px;
      padding: 14px 16px;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 7px 10px;
   }

   .phai19 .career-chart__label {
      grid-column: 1 / -1;
   }

   .phai19 .career-chart__track {
      grid-column: 1;
   }

   .phai19 .career-chart__row strong {
      grid-column: 2;
   }

   .phai19 .career-chart__row em {
      grid-column: 1 / -1;
   }

   .phai19 .career-tabs {
      gap: 8px;
      margin-bottom: 0;
      padding-bottom: 12px;
   }

   .phai19 .career-tabs button {
      min-width: auto;
      padding: 11px 17px;
   }

   .phai19 .career-company-panel__body {
      grid-template-columns: 1fr;
      gap: 24px;
   }

   .phai19 .career-company-panel__body ul {
      gap: 8px;
      margin: 13px 0 0;
   }

   .phai19 .career-company-panel__body li {
      width: 100%;
      padding: 0;
   }

   .phai19 .career-paths {
      grid-template-columns: 1fr;
   }

   .phai18 .physical-chart {
      grid-template-columns: 1fr 1.1fr 1fr;
      gap: 8px;
      min-height: 310px;
      padding: 20px 0 0;
   }

   .phai18 .chart-bar-wrap {
      width: 75px;
   }

   .phai18 .chart-item--2025 .chart-bar-wrap {
      height: 45px;
   }

   .phai18 .chart-item--2035 .chart-bar-wrap {
      height: 210px;
   }

   .phai18 .chart-number {
      font-size: 17px;
   }

   .phai18 .chart-item--2035 .chart-number {
      font-size: 22px;
   }

   .phai18 .chart-year {
      font-size: 15px;
   }

   .phai18 .chart-growth {
      column-gap: 6px;
   }

   .phai18 .growth-arrow {
      width: 26px;
      height: 48px;
   }

   .phai18 .growth-arrow::before {
      border-right-width: 13px;
      border-bottom-width: 17px;
      border-left-width: 13px;
   }

   .phai18 .growth-arrow span {
      width: 9px;
      height: 33px;
   }

   .phai18 .chart-growth>strong {
      font-size: 17px;
   }

   .phai18 .chart-growth>p {
      font-size: 14px;
      white-space: normal;
   }

   .phai18 .chart-description {
      font-size: 13px;
      line-height: 1.5;
   }

   .phai04 ul {
      gap: 12px;
      margin-bottom: 30px;
   }

   .phai04 ul li {
      padding: 16px;
   }

   .phai04 .img {
      width: 40px;
   }

   .phai04 .text h6 {
      font-size: 18px;
   }

   .phai04 .title {
      margin-bottom: 6px;
   }


   .boxWrap li .img {
      width: 40px;
   }

   .phai20 article {
      padding: 70px 0;
   }

   .phai20 .subtitle br {
      display: none;
   }

   .phai20-results {
      grid-template-columns: 1fr;
   }

   /* 탭과 콘텐츠를 상하로 배치 */
   .phai20-project {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
   }

   /* 탭 버튼 가로 정렬 및 가로 스크롤 */
   .phai20-project__tabs {
      width: 100%;
      display: flex;
      flex-direction: row;
      gap: 10px;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 0 0 12px;
      scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: touch;
   }

   .phai20-project__tabs button {
      width: 150px;
      min-width: 150px;
      min-height: 68px;
      flex: 0 0 150px;
      padding: 12px;
      gap: 10px;
      border-radius: 10px;
      scroll-snap-align: start;
      flex-direction: column;
   }

   .phai20-project__tabs button>span {
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      font-size: 16px;
   }

   .phai20-project__tabs button strong {
      font-size: 15px;
      line-height: 140%;
      text-align: left;
      white-space: normal;
   }

   /* 탭 콘텐츠 넓이 100% */
   .phai20-project__contents {
      width: 100%;
      min-width: 0;
      border-radius: 10px;
   }

   .phai20-project__panel {
      width: 100%;
   }

   .phai20-project__panel img {
      display: block;
      width: 100%;
      height: auto;
      min-height: 0;
      object-fit: contain;
   }

   .phai20-benefits {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
   }

   .phai20-benefits li {
      min-height: 110px;
      padding: 16px 10px;
   }

   .phai20-benefits strong {
      font-size: 18px;
   }

   .phai20-benefits p {
      font-size: 13px;
   }

   /* ul.tabs {
      gap: 8px;
   }

   ul.tabs li {
      padding: 12px 16px;
      font-size: 15px;
      margin-bottom: 24px;
   }

   .tab-content li {
      padding: 14px;
   }

   .tab-content li .img div {
      width: 36px;
   }

   .tab-content li .img h4 {
      font-size: 18px;
   } */

   .phai09 .textWrap {

      gap: 14px;
   }

   .phai09 .textWrap p {
      padding: 9px 30px;
   }


   .phai13 ul {
      grid-template-columns: repeat(1, 1fr);

   }

   .phai13 ul li h4 {
      font-size: 20px;
   }

   .phai13 ul li h3 {
      font-size: 18px;
   }

   .phai13 .titeimg {
      width: 90%;
   }

   .phai22 .capTxt,
   .phai22 .capTxt span {
      font-size: 16px;
   }

   .phai22 ul {
      grid-template-columns: repeat(1, 1fr);
   }

   .phai22 .titeimg {
      width: 80%;
   }

   .phai14 .schedule-text {
      padding: 14px 20px;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
   }

   .phai14 .schedule-text h4 {
      font-size: 18px;
   }

   .phai14 .schedule-text p,
   .phai14 .schedule-text p span {
      font-size: 16px;
   }

   .phai14 .schedule-text.period {
      /* flex-direction: column;
          align-items: flex-start; */
      gap: 16px;
   }

   .phai14 .schedule-text.period .summary {
      width: auto;
      min-width: 110px;
      flex-basis: auto;
      padding: 8px 12px;
      font-size: 14px;
   }

   .phai14 .schedule-list .number {
      font-size: 45px;
   }

   .phai14 .process-list {
      padding: 16px;
   }

   .phai14 .textWrap {
      gap: 8px;
   }

   .phai14 .textWrap p {
      font-size: 16px;
      padding: 8px 20px;
   }

   #Accordion_wrap {
      gap: 16px;
   }

   .que {
      padding: 16px;
   }

   .phai16 button {
      width: 100%;
   }

   .phai17 ul li {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 16px;
   }

   .phai17 ul .img {
      width: 35px;
   }

   .phai17 ul li h4 {
      font-size: 18px;
      text-align: center;
   }

   .phai17 ul li .button {
      width: 100%;
      padding: 10px 16px 6px;
   }

   footer article {
      flex-direction: column-reverse;
      align-items: flex-start;
      gap: 24px;
   }

   footer h4 {
      font-size: 16px;
   }

   footer h5 {
      font-size: 14px;
   }
}

@media (max-width:600px) {
   .title {
      font-size: 28px;
   }

   .buttonBox {
      flex-direction: column;
      gap: 16px;
   }

   .buttonBox button {
      width: 100%;
   }

   .phai01 article {
      flex-direction: column-reverse;
      gap: 24px;
   }

   .phai01 article .text>div:first-child {
      width: 90%;
   }

   .phai01 article .sub {
      text-align: center;
   }

   .phai01 article .text h5 {
      font-size: 32px;
   }

   .phai01 article .text h1 {
      font-size: 45px;
   }

   .phai01 article .text>.company-info {
      flex-wrap: wrap;
   }

   .button_big {
      width: 100%;
   }

   .phai01 article div:nth-child(2) {
      width: 90%;
   }

   .phai02 ul {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
   }

   .phai02 ul li {
      padding: 16px;
   }

   .phai02 ul li h1 {
      font-size: 30px;
   }

   .phai03 ul {
      display: flex;
      flex-direction: column;
      gap: 16px;
   }

   .phai03 ul li {
      gap: 8px;
   }

   .phai03 ul li p {
      width: 100%;
      padding: 16px;
   }

   .phai03 ul li div {
      width: 50px;
   }

   .phai03 .circle {
      margin: 30px auto 0px;
   }

   .phai19 .career-summary {
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-template-rows: repeat(3, minmax(0, 1fr));
      gap: 8px;
   }

   .phai19 .career-summary li {
      flex-direction: row;
      padding: 20px;
      min-height: auto;
   }

   .phai19 .career-summary__icon {
      width: 36px;
   }

   .phai19 .career-summary strong {
      text-align: left;
      font-size: 20px;
   }

   .phai19 .career-summary p {
      text-align: left;
   }

   .phai19 .career-section-head h2 {
      font-size: 20px;
      align-items: flex-start;
   }

   .phai19 .career-section-head h2 span {
      width: 30px;
   }

   .phai19 .career-chart__label,
   .phai19 .career-chart__row strong,
   .phai19 .career-chart__row em {
      font-size: 14px;
   }

   .phai19 .career-chart__label small {
      width: fit-content;
      margin: 0;
   }

   .phai19 .career-company-panel h3 {
      padding: 14px 16px;
      font-size: 17px;
   }

   .phai19 .career-company-panel h3 small {
      display: block;
      width: fit-content;
      margin: 7px 0 0;
   }

   .phai19 .career-company-panel__body,
   .phai19 .career-paths div {
      padding: 18px;
   }

   .phai18 .conWrap {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .phai04 .boxWrap {
      grid-template-columns: repeat(1, 1fr);
   }

   .phai07 .curriculum {
      display: flex;
      flex-direction: column;
      gap: 16px;
   }

   /* 
   ul.tabs {
      width: calc(100% + 32px);
      margin-left: -16px;
      padding: 0 16px 8px;

      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: 8px;

      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
   }

   ul.tabs::-webkit-scrollbar {
      display: none;
   }

   ul.tabs li {
      flex: 0 0 auto;
      width: auto;
      white-space: nowrap;
      padding: 9px 16px;
   } */

   .phai07 .summary {
      flex-wrap: wrap;
   }

   .phai07 .freeBox {
      flex-direction: column;
      padding: 16px;
      gap: 16px;
   }

   .phai07 .img {
      width: 100%;
   }

   .phai07 .freeBox ul {
      flex-direction: column;
      gap: 8px;
   }

   .phai07 .freeBox h4 {
      width: 100%;
      text-align: center;
   }

   .phai07 .freeBox ul li {
      width: 100%;
   }

   .phai20-benefits {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
   }

   .phai20-benefits li {
      min-height: 95px;
      padding: 12px 5px;
   }

   .phai20-benefits strong {
      font-size: 15px;
      line-height: 130%;
   }

   .phai20-benefits p {
      font-size: 11px;
      line-height: 130%;
   }

   .phai09 .boxWrap {
      grid-template-columns: repeat(1, 1fr);
   }

   .phai09 .textWrap p {
      padding: 9px 18px;
   }

   .phai09 .textWrap div {
      width: 20px;
   }

   .phai11 ul li {
      padding: 16px;
   }

   .phai11 ul li div {
      width: 100%;
      height: auto;
   }

   .phai11 ul li div img {
      width: 100%;
      height: auto;
   }

   .phai11 ul li p {
      font-size: 16px;
   }


   .phai13 .line {
      padding: 0;
   }

   .phai13 ul li h4 {
      font-size: 18px;
   }



   .phai14 .schedule-list>li.active .number,
   .phai14 .schedule-list>li .number {
      width: 70px;
   }

   .phai14 .schedule-text.period {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
   }

   .phai14 .schedule-text.period .summary {
      padding: 8px 16px;
   }

   .phai14 .process-list {
      grid-template-columns: repeat(1, 1fr);
   }

   .phai14 .textWrap {
      gap: 14px;
      flex-wrap: wrap;
   }

   .phai14 .textWrap p {
      padding: 9px 18px;
   }

   .phai14 .textWrap div {
      width: 20px;
   }

   #Accordion_wrap {
      width: 100%;
      flex-direction: column;
   }

   #Accordion_wrap .wrap1,
   #Accordion_wrap .wrap2 {
      width: 100%;
   }

   .phai17 .title span {
      font-size: 28px;
   }

   .phai17 ul {
      grid-template-columns: repeat(1, 1fr);
   }
}

@media (max-width:390px) {

   .phai07 .summary li {
      padding: 9px 12px;
   }

   .phai07 .module-info {
      flex-direction: column;
      gap: 8px;
   }

   .phai07 .phase>ul>li {
      padding: 16px;
   }

   .phai07 .module-info p {
      width: 100%;
   }

   .phai07 .module-info strong {
      width: 100%;
   }

   .phai09 .textWrap {
      gap: 8px;
   }


   .phai13 ul li h3 {
      font-size: 16px;
   }

   .phai13 ul li p {
      font-size: 14px;
   }


}