@charset "utf-8";

/* intro hero */
.intro-hero-section {position: relative; overflow: hidden; height: calc(800px - 86px);}
.intro-hero-section .inner {position: relative; z-index: 2; height: 100%; display: flex; align-items: center;}
.intro-hero-section .intro-hero-bg {position: absolute; inset: 0; background-image: url('/img/sub/intro/academy-hero.webp'); background-repeat: no-repeat; background-size: cover; background-position: center bottom; animation:mainHeroBgMove 2s ease-out forwards;}
@keyframes mainHeroBgMove {
0% {background-position:center center;}
100% {background-position:center bottom;}
}
.intro-hero-section .intro-hero-text h2 {word-break: keep-all; font-family: 'YeogiOttaeJalnanGothic'; font-size: 64px; line-height: 140%; color: #fff;}
.intro-hero-section .intro-hero-text h2 strong {font-family: 'YeogiOttaeJalnanGothic'; color: #FD9F4B;}
.intro-hero-section .intro-hero-text p {word-break: keep-all; margin-top: 28px; font-size: 20px; font-weight: 600; line-height: 150%; color: #fff;}

/* intro award */
.intro-award-section {position: relative; background: linear-gradient(99.07deg, #272525 0%, #484848 100%); padding-block: 18px;}
.intro-award-section .award-list {max-width: 1260px; display: flex; align-items: center; justify-content: center;}
.intro-award-section .award-list li {flex: 1; position: relative; display: flex; align-items: center; justify-content: center; gap: 20px; color: #fff;}
.intro-award-section .award-list li + li::before {content: ''; position: absolute; left: 0; width: 1px; height: 40px; background-color: #A3A3A3;}
.intro-award-section .award-icon {width: 50px; height: 50px;}
.intro-award-section .award-icon img {width: 100%; height: 100%; object-fit: contain;}
.intro-award-section .award-list p {font-size: 18px; font-weight: 400; color: #FAFAFA;}
.intro-award-section::after,
.intro-award-section::before {position: absolute; top: 50%; transform: translateY(-50%); width: 26px; height: 70px; content: ''; display: block; background-repeat: no-repeat; background-position: center center; background-size: cover;}
.intro-award-section::before {background-image: url(../img/lees-emblem-left.svg); left: 8px;}
.intro-award-section::after {background-image: url(../img/lees-emblem-right.svg); right: 8px;}

/* 공통 */
.intro-section h3 {font-family: 'YeogiOttaeJalnanGothic'; font-size: 38px; word-break: keep-all;}
.intro-section h3 strong {font-family: 'YeogiOttaeJalnanGothic'; color: #F2994A;}

/* intro value */
.intro-value-section {position: relative; padding-block: 120px; text-align: center;}
.intro-value-section .value-list {margin-top: 100px; display: flex; justify-content: center;}
.intro-value-section .value-item {max-width: 450px; width: calc(100% / 3); height: auto; aspect-ratio: 1 / 1; border: 1px solid #B7A06780; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.intro-value-section .value-item + .value-item {margin-left: -5%;}
.intro-value-section .value-icon {}
.intro-value-section .value-item .txt-wrap h4 {margin-block: 20px; padding-bottom: 20px; position: relative; font-size: 24px; font-weight: 600; color: #262626;}
.intro-value-section .value-item .txt-wrap h4::after {content: ''; display: block; width: 44px; height: 1px; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background-color: #B7A067;}
.intro-value-section .value-item .txt-wrap span {font-size: 22px; font-weight: 500; line-height: 150%; color: #404040;}
.intro-value-section .value-item .txt-wrap p {margin-top: 20px; font-size: 18px; font-weight: 400; line-height: 150%; color: #404040;}
.intro-value-section > img {position: absolute; z-index: -1;}
.intro-value-section .intro-value-bg1 {top: 13%; right: 10%;}
.intro-value-section .intro-value-bg2 {top: 25%; left: 5%;}
.intro-value-section .intro-value-bg3 {top: 50%; right: 0%;}
.intro-value-section .intro-value-bg4 {bottom: 13%; right: 5%;}
.intro-value-section .intro-value-bg5 {bottom: 1%; left: 0%;}

/* intro greeting */
.intro-greeting-section {padding-block: 100px; background-color: #FDFCFA; text-align: center;}
.intro-greeting-section .greeting-text {margin-top: 60px;}
.intro-greeting-section .greeting-text p {word-break: keep-all; margin-bottom: 40px; font-size: 18px; font-weight: 400; line-height: 150%; color: #262626;}
.intro-greeting-section .greeting-text strong {width: 100%; display: flex; align-items: center; justify-content: center; column-gap: 30px; margin-inline: auto; padding-block: 22px; font-size: 18px; font-weight: 600; line-height: 150%; color: #262626;}

/* intro history */
.intro-history-section {padding-block: 120px clamp(220px, 18.02vw, 346px);;}
.intro-history-section h3 {text-align: center;}
.intro-history-section .history-list {position: relative; max-width: 687px; margin: 60px auto 0;}
.intro-history-section .history-list::before {content: ''; position: absolute; top: 15px; bottom: 80px; left: 169px; width: 1px; background-image: linear-gradient(to bottom, #D4D4D4 50%, transparent 50%); background-size: 1px 8px;}
.intro-history-section .history-item {display: grid; grid-template-columns: 170px 1fr; gap: 70px; margin-bottom: 44px;}
.intro-history-section .history-item:last-child {margin-bottom: 0;}
.intro-history-section .history-item strong {position: relative; font-size: 40px; font-weight: 600; color: #262626; line-height: 1;}
.intro-history-section .history-item strong::before {content: ''; position: absolute; top: 10px; left: 100%; transform: translateX(-50%); z-index: 2; width: 20px; height: 20px; border: 7px solid #FD9F4B; border-radius: 50%; background-color: #fff; box-sizing: border-box;}
.intro-history-section .history-item div {padding-top: 8px;}
.intro-history-section .history-item p {margin-bottom: 12px; font-size: 15px; font-weight: 500; color: #333; line-height: 1.6;}
.intro-history-section .history-item p:last-child {margin-bottom: 0;}

/* intro consult */
.intro-consult-section {position: relative; min-height: 220px; display: flex; align-items: center; background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.15)), url('/img/intro/consult-bg.jpg'); background-repeat: no-repeat; background-position: center; background-size: cover;}
.intro-consult-section .inner {display: flex; align-items: center; justify-content: space-between;}
.intro-consult-section .consult-text p {margin-top: 18px; font-size: 15px; font-weight: 500; color: rgba(255, 255, 255, 0.9);}
.intro-consult-section .consult-btn {min-width: 190px; height: 48px; padding-inline: 24px; border: 1px solid #fff; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: #fff;}

/* philosophy hero */
.philosophy-hero-section .intro-hero-bg {background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.25)), url('/img/sub/intro/philosophy-hero.webp');}

/* philosophy mission */
.philosophy-mission-section {padding-block: 120px 180px; background-image: url(../img/lees-bg.webp); background-repeat: no-repeat; background-position: center 100px; background-size: contain;}
.philosophy-mission-section .philosophy-title-wrap h3 {line-height: 130%;}
.philosophy-mission-section .philosophy-title-wrap p {margin-top: 20px; font-size: 18px; font-weight: 400; line-height: 150%; color: #000;}
.philosophy-mission-section .philosophy-card-list {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 70px;}
.philosophy-mission-section .philosophy-card-list li {min-height: 180px; padding: 30px 40px; border-radius: 8px; background-color: #fff; box-shadow: 0 2px 12px 2px #3D2E2214;}
.philosophy-mission-section .philosophy-card-list li i {width: 60px; height: 60px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #FFB900 0%, #F2994A 100%);}
.philosophy-mission-section .philosophy-card-list li i img {width: 30px; height: 30px; object-fit: contain;}
.philosophy-mission-section .philosophy-card-list li strong {display: block; margin-top: clamp(18px, 3vw, 30px); font-size: 22px; font-weight: 500; color: #000;}
.philosophy-mission-section .philosophy-card-list li p {margin-top: 10px; font-size: 18px; font-weight: 400; line-height: 100%; color: #000; word-break: keep-all;}

/* philosophy good */
.philosophy-good-section {background-color: #FDFCFA; background-image: url(../img/sub/intro/philosophy-good.webp); background-position: top right; background-repeat: no-repeat; background-size: contain;}
.philosophy-good-section .inner {display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center;}
.philosophy-good-section .philosophy-good-text {padding-block: clamp(80px, 6.5vw, 127.5px);}
.philosophy-good-section .philosophy-good-text h3 {line-height: 140%;}
.philosophy-good-section .philosophy-good-text p {margin-top: 60px; font-size: 18px; font-weight: 400; line-height: 150%; color: #404040;}
.philosophy-good-section .philosophy-good-text p + p {margin-top: 26px;}

/* philosophy build */
.philosophy-build-section {padding-block: 120px;}
.philosophy-build-section .philosophy-build-list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 60px;}
.philosophy-build-section .philosophy-build-list li {min-height: 250px; padding: 40px; border-radius: 8px; background-repeat: no-repeat; background-position: center; background-size: cover; box-shadow: 0 2px 12px 2px #3D2E2214;}
.philosophy-build-section .philosophy-build-list li:nth-child(1) {background-image: url('../img/sub/intro/philosophy-build01.webp');}
.philosophy-build-section .philosophy-build-list li:nth-child(2) {background-image: url('../img/sub/intro/philosophy-build02.webp');}
.philosophy-build-section .philosophy-build-list li:nth-child(3) {background-image: url('../img/sub/intro/philosophy-build03.webp');}
.philosophy-build-section .philosophy-build-list li strong {word-break: keep-all; display: block; font-size: 22px; font-weight: 600; color: #404040; line-height: 150%;}
.philosophy-build-section .philosophy-build-list li p {word-break: keep-all; margin-top: 12px; font-size: 18px; font-weight: 500; line-height: 150%; color: #404040;}

/* organization */
.organization-section {padding-block: 90px 120px; background-image: url(../img/lees-bg.webp); background-repeat: no-repeat; background-position: center 100px; background-size: contain;}
.organization-section .inner {max-width: 1263px;}
.organization-section .organization-title h3 {font-size: 48px;}
.organization-section .organization-title p {word-break: keep-all; margin-top: 8px; font-size: 18px; font-weight: 500; line-height: 150%; color: #555;}
.organization-section .organization-map {position: relative; width: 770px; height: 770px; margin: 120px auto 0;}
.organization-section .organization-map::before {content: ''; position: absolute; top: 50%; left: 50%; width: 700px; height: 700px; transform: translate(-50%, -50%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Ccircle cx='350' cy='350' r='349' fill='none' stroke='%23737373' stroke-width='1' stroke-dasharray='10 10'/%3E%3C/svg%3E") center/contain no-repeat;}
.organization-section .organization-center {position: absolute; top: 50%; left: 50%; z-index: 3; transform: translate(-50%, -50%); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #0B1F45; text-align: center;}
.organization-section .organization-center i {width: 80px; height: 80px;}
.organization-section .organization-center i img {width: 100%; height: 100%; object-fit: contain;}
.organization-section .organization-center strong {display: block; margin-top: 8px; font-size: 22px; font-weight: 500; line-height: 150%; color: #FAFAFA;}
.organization-section .organization-center p {margin-top: 8px; font-size: 18px; line-height: 150%; color: #FAFAFA;}
.organization-section .organization-circle-list {position: absolute; inset: 0;}
.organization-section .organization-center,
.organization-section .organization-circle-item {width: 270px; height: 270px;}
.organization-section .organization-circle-item {position: absolute; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #fff; box-shadow: 0 2px 18px 2px #3D2E224d; text-align: center;}
.organization-section .organization-circle-item.item01 {top: 0; left: 0;}
.organization-section .organization-circle-item.item02 {top: 0; right: 0;}
.organization-section .organization-circle-item.item03 {bottom: 0; left: 0;}
.organization-section .organization-circle-item.item04 {bottom: 0; right: 0;}
.organization-section .organization-circle-item i {width: 80px; height: 80px;}
.organization-section .organization-circle-item i img {width: 100%; height: 100%; object-fit: contain;}
.organization-section .organization-circle-item strong {display: block; margin-top: 8px; font-size: 22px; font-weight: 700; color: #404040; line-height: 140%;}
.organization-section .organization-circle-item strong em {font-size: 14px; font-style: normal; font-weight: 500; line-height: 140%; color: #404040;}
.organization-section .organization-circle-item p {margin-top: 8px; font-size: 18px; font-weight: 400; line-height: 150%; color: #404040;}

.organization-role-section {padding-block: 120px; background-color: #FDFCFA;}
.organization-role-section .inner {max-width: 1263px;}
.organization-role-section h3 {font-size: 38px;}
.organization-role-section .organization-role-list {margin-top: 40px; padding: 40px; background-color: #fff;}
.organization-role-section .organization-role-list li {display: grid; grid-template-columns: 1fr 1.5fr;}
.organization-role-section .organization-role-list li + li {margin-top: 30px; padding-top: 30px; border-top: 1px solid #E5E5E5;}
.organization-role-section .organization-role-head {display: flex; align-items: center; gap: 30px;}
.organization-role-section .organization-role-head i {flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #FFB900 0%, #F2994A 100%);}
.organization-role-section .organization-role-head i img {width: 30px; height: 30px; object-fit: contain;}
.organization-role-section .organization-role-head strong {display: block; font-size: 20px; font-weight: 500; color: #262626;}
.organization-role-section .organization-role-head p {margin-top: 4px; font-size: 18px; line-height: 150%; color: #525252;}
.organization-role-section .organization-role-desc {display: flex; align-items: center;}
.organization-role-section .organization-role-desc p {font-size: 18px; font-weight: 400; line-height: 150%; color: #404040; word-break: keep-all;}

@media screen and (max-width: 1600px) {
    .philosophy-good-section {position: relative;}
    .philosophy-good-section::after {content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background: #FDFCFA; background: linear-gradient(90deg, rgba(253, 252, 250, 1) 40%, rgba(253, 252, 250, 0) 100%);}
    .philosophy-good-section .inner {position: relative; z-index: 2;}        
}

@media screen and (max-width: 1440px) {
    .philosophy-build-section .philosophy-build-list li {padding: 30px; min-height: 200px;}
}

@media screen and (max-width: 1280px) {
    .intro-hero-section .intro-hero-text h2 {font-size: clamp(36px, 5vw, 64px);}
    .intro-section h3 {font-size: clamp(28px, 3.7vw, 38px);}
    .intro-value-section .value-list {margin-top: clamp(50px, 7.81vw, 100px);}
    .intro-value-section .value-item {width: calc(110% / 3);}
    .intro-value-section .value-item .txt-wrap h4 {font-size: clamp(20px, 1.88vw, 24px);}
    .intro-value-section .value-item .txt-wrap span {font-size: clamp(18px, 1.72vw, 22px);}
    .intro-history-section .history-item strong {font-size: clamp(30px, 3.13vw, 40px);}
    .philosophy-good-section {background-size: cover !important; background-position: 140px center !important;}

    .philosophy-mission-section .philosophy-card-list li {padding: clamp(22px, 2.34vw, 30px);}
    .philosophy-good-section .philosophy-good-text p {font-size: clamp(16px, 1.41vw, 18px);}
    .philosophy-build-section .philosophy-build-list li {padding: clamp(24px, 3.13vw, 40px);}
}

@media screen and (max-width: 1024px) {
    .intro-hero-section {height: 600px;}
    .intro-award-section::after, .intro-award-section::before {height: 80%; background-size: contain;}
    .intro-award-section .award-list {width: calc(100% - 80px);}
    .intro-award-section .award-list li {gap: 12px;}
    .intro-award-section .award-icon {width: 42px; height: 42px;}
    .intro-award-section .award-list p {font-size: 14px;}
    .intro-value-section {padding-block: 100px;}
    .intro-value-section .value-list {flex-wrap: wrap; gap: 24px;}
    .intro-value-section .value-item {width: calc(50% - 12px);}
    .intro-value-section .value-item + .value-item {margin-left: 0;}
    .intro-history-section {padding-block: 100px 220px;}

    .philosophy-mission-section {padding-block: 100px;}
    .philosophy-mission-section .philosophy-card-list {grid-template-columns: repeat(2, 1fr);}
    .philosophy-good-section .inner {grid-template-columns: 1fr;}
    .philosophy-good-section .philosophy-good-text {padding: 80px 0;}
    .philosophy-good-section .philosophy-good-img {height: 420px;}
    .philosophy-build-section {padding-block: 100px;}
    .philosophy-build-section .philosophy-build-list {grid-template-columns: 1fr;}

    .organization-section .organization-map {width: 700px; height: 700px;}
    .organization-section .organization-map::before {width: 600px; height: 600px;}
    .organization-section .organization-circle-item,
    .organization-section .organization-center {width: 250px; height: 250px;}
    .organization-role-section .organization-role-list {padding: 24px 36px;}
    .organization-role-section .organization-role-list li {grid-template-columns: 260px 1fr; gap: 36px;}
    .organization-section .organization-center i,
    .organization-section .organization-circle-item i {width: 50px; height: 50px;}
}

@media screen and (max-width: 768px) {
    .intro-hero-section {height: calc(100vh - 81px - 99px); min-height: 500px;}
    .intro-hero-section .intro-hero-text p {font-size: 16px;}
    .intro-award-section .award-list {width: calc(100% - 50px); flex-wrap: wrap; gap: 12px 0;}
    .intro-award-section .award-list li + li::before {display: none;}
    .intro-award-section .award-list li {flex-direction: column; align-items: center; row-gap: 5px;}
    .intro-award-section .award-icon {width: 38px; height: 38px;}
    .intro-value-section {padding-block: 80px;}
    .intro-value-section .value-item {width: 100%; min-height: 300px;}
    .intro-greeting-section {padding-block: 80px;}
    .intro-greeting-section .greeting-text {margin-top: 40px;}
    .intro-greeting-section .greeting-text p {margin-bottom: 28px; font-size: 16px;}
    .intro-history-section {padding-block: 80px 160px;}
    .intro-history-section .history-list {margin-top: 40px;}
    .intro-history-section .history-list::before {left: 120px;}
    .intro-history-section .history-item {grid-template-columns: 120px 1fr; gap: 40px;}
    .intro-consult-section .inner {flex-direction: column; align-items: flex-start; gap: 24px;}
    .philosophy-good-section {background-image: unset !important; position: relative;}
    .philosophy-good-section::after {display: none;}
    .philosophy-good-section::before {display: block; content: ''; width: 100%; height: auto; aspect-ratio: 1102/637; background-image: url(../img/sub/intro/philosophy-good.webp); background-repeat: no-repeat; background-size: contain;}
    .philosophy-mission-section .philosophy-card-list li strong,
    .philosophy-build-section .philosophy-build-list li strong {font-size: 20px;}

    .philosophy-mission-section {padding-block: 80px;}
    .philosophy-mission-section .philosophy-title-wrap p {font-size: 16px; word-break: keep-all;}
    .philosophy-mission-section .philosophy-title-wrap p br {display: none;}
    .philosophy-mission-section .philosophy-card-list {grid-template-columns: 1fr; margin-top: 40px;}
    .philosophy-good-section .philosophy-good-text {padding: 70px 0;}
    .philosophy-good-section .philosophy-good-img {height: 320px;}
    .philosophy-build-section {padding-block: 80px;}
    .philosophy-build-section .philosophy-build-list {margin-top: 40px;}
    .organization-section {padding-block: 70px 90px;}
    .organization-section .organization-title h3,
    .organization-role-section h3 {font-size: clamp(28px, 3.7vw, 36px);}
    .organization-section .organization-title p {font-size: 15px;}
    
    .organization-section .organization-map {width: 90vw; height: 90vw;}
    .organization-section .organization-map::before {width: 80vw; height: 80vw;}
    .organization-section .organization-circle-item,
    .organization-section .organization-center {width: 33vw; height: 33vw;}
    .organization-section .organization-center strong,
    .organization-section .organization-circle-item strong {font-size: 3.5vw;}
    .organization-section .organization-center p,
    .organization-section .organization-circle-item p {font-size: min(2.5vw, 18px);}
    .organization-section .organization-circle-item strong em {font-size: 2vw;}
    .organization-section .organization-center i,
    .organization-section .organization-circle-item i {width: 6vw; height: 6vw;}
    
    .organization-role-section {padding-block: 70px 90px;}
    .organization-role-section .organization-role-list {padding: 10px 24px;}
    .organization-role-section .organization-role-list li {display: flex; flex-direction: column; gap: 20px;}

}

@media screen and (max-width: 500px) {
    .intro-hero-section {height: calc(100vh - 81px - 136px); min-height: 400px;}
    .intro-hero-section .intro-hero-text p {margin-top: 20px; font-size: 14px;}
    .intro-award-section {padding-block: 10px;}
    .intro-award-section .award-list {flex-direction: column; row-gap: 10px; align-items: flex-start;}
    .intro-award-section::after, .intro-award-section::before {display: none;}
    .intro-award-section .award-list li {flex-direction: row;}
    .intro-award-section .award-icon {width: 32px; height: 32px;}
    .intro-value-section > img {display: none;}
    .intro-value-section .value-item {min-height: 260px; padding: 30px 20px;}
    .intro-value-section .value-icon img {max-width: 52px;}
    .intro-value-section .value-item .txt-wrap h4 {margin-block: 16px; padding-bottom: 16px;}
    .intro-value-section .value-item .txt-wrap p {font-size: 15px;}
    .intro-history-section .history-list::before {left: 89px;}
    .intro-history-section .history-item {grid-template-columns: 90px 1fr; gap: 24px; margin-bottom: 36px;}
    .intro-history-section .history-item strong::before {width: 16px; height: 16px; border-width: 5px;}
    .intro-history-section .history-item p {font-size: 14px;}
    .intro-consult-section {min-height: 260px; padding-block: 50px;}
    .intro-consult-section .consult-btn {width: 100%;}
    .intro-greeting-section .greeting-text strong {column-gap: 20px;}

    .philosophy-mission-section .philosophy-card-list li {padding: 24px;}
    .philosophy-good-section .philosophy-good-img {height: 260px;}
    .philosophy-build-section .philosophy-build-list li {padding: 24px;}
}

@media screen and (max-width: 480px) {
    .philosophy-build-section .philosophy-build-list li {background-image: right center;}
    .philosophy-mission-section .philosophy-card-list li strong,
    .philosophy-build-section .philosophy-build-list li strong {font-size: 18px;}
    .philosophy-mission-section .philosophy-card-list li p,
    .philosophy-build-section .philosophy-build-list li p {font-size: 16px;}
    .organization-role-section .organization-role-list li {align-items: center; gap: 16px;}
    .organization-role-section .organization-role-head {flex-direction: column; row-gap: 16px;}
    .organization-role-section .organization-role-head strong {font-size: clamp(16px, 1.04vw, 20px); text-align: center;}
    .organization-role-section .organization-role-head p,
    .organization-role-section .organization-role-desc p {font-size: clamp(14px, 0.94vw, 18px); text-align: center; word-break: keep-all;}
    .organization-section .organization-circle-item strong {display: flex; flex-direction: column; row-gap: 4px;}
    .organization-section .organization-center strong, .organization-section .organization-circle-item strong {font-size: 4vw;}
    .organization-section .organization-circle-item strong em {font-size: 3vw;}
    .organization-section .organization-center p {margin-top: 4px;}
}

@media screen and (max-width: 375px) {
    .intro-value-section .value-item {border-radius: 0; border: 0; padding: 0; aspect-ratio: unset;}
}