.sec {
    position:relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    height: 100%;
}

.ctrWrap {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.ctrWrap .numWrap {
    display: flex;
    align-items: center;
    color: #000;
    gap: 0 5px;
}

.ctrWrap .numWrap p {
    font-family: 'MontB';
    font-size: 16px;
}

.ctrWrap.blk .leftWrap>p {
    color: #000;
}

.ctrWrap.blk .leftWrap .proWrap {
    background-color: #00000042;
}

.ctrWrap.blk .leftWrap .proWrap .pro {
    background-color: #000000;
}
/* 공통 */

.aiMsg {
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #fff;
    font-size: 14px;
    z-index: 10;
}

.introWrap {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: #2b292a;
    cursor: none;
    z-index: 1000000;
    overflow: hidden;
    transition: 1.5s;
    transition-timing-function: cubic-bezier(0.9, 0, 0.3, 1);
    min-width: 1500px;
}

.introWrap.close {
    height: 0px;
}

.introWrap .contWrap {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.introWrap .cursor {
    position: absolute;
    top: 70%;
    left: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 30;
    display: none;
}

.introWrap .cursor img {
    max-width: 10000%;
}

.introWrap .cursor img:first-child {
    animation: rotateLoopRe 3s infinite linear;
}

.introWrap .cursor img:last-child {
    position: absolute;
}

.introWrap .videoWrap {
    width: 0px;
    height: 693px;
    position: absolute;
    overflow: hidden;
    transition: 1.5s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.introWrap .videoWrap.half {
    width: 423px;
}

.introWrap .videoWrap.active {
    transition-timing-function: cubic-bezier(0.9, 0, 0.3, 1);
    width: 100%;
    height: 100%;
}

.introWrap .textWrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    z-index: 10;
    gap: 65px 0;
}

.introWrap .textWrap .topTWrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 45px 0;
}

.introWrap .textWrap .topTWrap p path {
    stroke: #fff;
    fill: transparent;
    transition:all 2.3s;
    transition-timing-function: cubic-bezier(0.9, 0, 0.3, 1);
    transition-delay:fill 2s;
    stroke-dasharray: 1000px;
    stroke-dashoffset: 1000px;
}

.introWrap .textWrap .topTWrap p.active path {
    stroke-dashoffset: 0;
    fill: #fff;
}

.videoBlind {
    background-color: #000;
}

.videoBlind>video,
.videoBlind>img {
    opacity: .7;
}

.visualWrap {
    height: 100%;
    position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    transition: 1.4s;
}

body:not(.fp-viewing-0) .visualWrap {
    opacity: 0;
    transform: translate(0, 100%);
}

.visualWrap .bgWrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.visualWrap .openWrap {
    position: absolute;
    top: 200px;
    left: 145px;
}

.visualWrap .textWrap {
    position: absolute;
    top: 180px;
}

.visualWrap .qWrap {
    display: flex;
    flex-flow: column;
    position: absolute;
    right: 60px;
}

.sec1Wrap .bgWrap {
    position: absolute;
    width: 100%;
    height: 100%;
}

.sec1Wrap .leftWrap {
    position: absolute;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 10;
}

.sec1Wrap .leftWrap .drWrap {
    width: 0px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #453630;
    transition: 1.2s;
}

.sec1Wrap .leftWrap .drWrap.active {
    width: 717px;
}

.sec1Wrap .leftWrap .textWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: center;
    gap: 224px 0;
    padding-left: 160px;
    z-index: 10;
    padding-top: 123px;
}

.sec1Wrap .leftWrap .textWrap .t2 {
    display: flex;
    flex-flow: column;
    gap: 30px 0;
}

.sec1Wrap .leftWrap .textWrap .t2 path {
    stroke: #fbf0da;
    fill: transparent;
    transition:all 2.3s;
    transition-timing-function: cubic-bezier(0.9, 0, 0.3, 1);
    transition-delay:fill 2s;
    stroke-dasharray: 1000px;
    stroke-dashoffset: 1000px;
}

.sec1Wrap .leftWrap .textWrap .t2.active path {
    stroke-dashoffset: 0;
    fill: #fbf0da;
}

.sec2Wrap .backWrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sec2Wrap .viewWrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    clip-path: inset(100% 0 0 0);
    transition: 1s;
}

.sec2Wrap .viewWrap.half {
    clip-path: inset(44% 0 0 0);
}

.sec2Wrap .viewWrap.active {
    clip-path: inset(0% 0 0 0);
}

.sec2Wrap .bgWrap {
    position: absolute;
    width: 100%;
    height: 100%;
    transition: 1s;
}

.sec2Wrap .bgWrap.active {
    transform: scale(1.1);
}

.sec2Wrap .textWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 170px 160px 123px;
    z-index: 10;
    width: 100%;
    position: relative;
    height: 100%;
}

.sec2Wrap .textWrap .topWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: 20px 0;
    transform: translate(15%, 0) scale(1.1);
    transition: 1.2s;
    opacity: 0;
}

.sec2Wrap .textWrap .topWrap.half {
    transform: translate(0) scale(1.1);
    opacity: 1;
}

.sec2Wrap .textWrap .topWrap.active {
    transform: scale(1);
    opacity: 1;
}

.sec2Wrap .textWrap .topWrap .t1 {
    font-family: 'feli';
    font-size: 103px;
    color: #fff;
}

.sec2Wrap .textWrap .topWrap .t2 {
    font-family: 'NotoKrL';
    font-size: 23px;
    color: #fff;
}

.sec2Wrap .backWrap .textWrap .topWrap .t1,
.sec2Wrap .backWrap .textWrap .topWrap .t2 {
    color: #121427;
}

.sec2Wrap .textWrap .bottomWrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.sec3Wrap {
    background-color: #f1ebe3;
}

.sec3Wrap .bgWrap {
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 1.2s;
}

.sec3Wrap .bgWrap.active {
    width: 50%;
}

.sec3Wrap .backWrap {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: flex;
    align-items: center;
}

.sec3Wrap .viewWrap {
    transition: 1.2s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    clip-path: inset(0 0 0 0);
}

.sec3Wrap .viewWrap.active {
    clip-path: inset(0 0 0 50%);
}

.sec3Wrap .textWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    position: absolute;
    left: 50%;
    padding-left: 160px;
    transition: 1.2s;
}

.sec3Wrap .textWrap.active {
    left: 0;
}

.sec3Wrap .textWrap .t1 {
    margin-bottom: 34px;
}

.sec3Wrap .textWrap .t2 {
    margin-bottom: 233px;
}

.sec3Wrap .textWrap .t3 {
    margin-bottom: 23px;
}

.sec45Wrap .textWrap {
    width: 50%;
    height: 100%;
    background-color: #f1ebe3;
    padding-left: 160px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.sec45Wrap .bgWrap {
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.sec45Wrap .bgWrap>* {
    transform: scale(1.3);
    transition: 1.2s;
}

.sec45Wrap .bgWrap.active>* {
    transform: scale(1);
}

.sec6Wrap {
    background-color: #f8f4ee;
}

.sec6Wrap .imageWrap {
    width: 460px;
    height: 576px;
    position: absolute;
    overflow: hidden;
    transition: 1.2s;
    transition-timing-function: cubic-bezier(0.9, 0, 0.3, 1);
}

.sec6Wrap .imageWrap.active {
    width: 100%;
    height: 100%;
}

.sec6Wrap .textWrap {
    position: absolute;
    z-index: 10;
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 40px 0;
    transition: .5s;
}

.sec6Wrap .textWrap.active {
    opacity: 0;
}

.sec6Wrap .textWrap p {
    font-size: 130px;
    font-family: 'feli';
    color: transparent;
    background-clip: text;
    background-image: linear-gradient(90deg, #111111 0%, #111111 50%, transparent 50%, transparent 100%);
    background-repeat: no-repeat;
    background-size: 200% 100%;
    opacity: 0;
    transition: 1.4s;
}

.sec6Wrap .textWrap p.l{
    background-position: 100% 50%;
}

.sec6Wrap .textWrap p.r{
    background-position: -100% 50%;
}

.sec6Wrap .textWrap p.active {
    opacity: 1;
    background-position: 0 50%;
    transition-delay: 0.3s;
}

.sec6Wrap .text2Wrap {
    padding: 220px 160px 0;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sec6Wrap .text2Wrap .rightWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    padding-top: 20px;
}

.sec6Wrap .text2Wrap .rightWrap .t2 {
    margin-bottom: 54px;
}

.sec6Wrap .text2Wrap .rightWrap .t3 {
    margin-bottom: 30px;
}

.sec6Wrap .text2Wrap .rightWrap .t4 {
    margin-bottom: 62px;
}

.sec6Wrap .text2Wrap .leftWrap {
    position: relative;
}

.sec6Wrap .text2Wrap .leftWrap hr {
    display: block;
    width: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 40px;
    left: calc(100% + 23px);
    transition: 1s;
}

.sec6Wrap .text2Wrap .leftWrap hr.active {
    width: 770px;
}

.sec7Wrap .bgWrap {
    position: absolute;
    width: 100%;
    height: 100%;
}

.sec7Wrap .bgWrap img {
    transition: 1.2s;
    transform: scale(1.2);
}

.sec7Wrap .bgWrap.active img {
    transform: scale(1);
}

.sec7Wrap .textWrap {
    padding: 220px 160px 0;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sec7Wrap .textWrap .rightWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    padding-top: 20px;
}

.sec7Wrap .textWrap .rightWrap .t2 {
    margin-bottom: 54px;
}

.sec7Wrap .textWrap .rightWrap .t3 {
    margin-bottom: 30px;
}

.sec7Wrap .textWrap .rightWrap .t4 {
    margin-bottom: 62px;
}

.sec7Wrap .textWrap .leftWrap {
    position: relative;
}

.sec7Wrap .textWrap .leftWrap hr {
    display: block;
    width: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 40px;
    left: calc(100% + 23px);
    transition: 1s;
}

.sec7Wrap .textWrap .leftWrap hr.active {
    width: 770px;
}

.sec8Wrap .bgWrap {
    position: absolute;
    width: 100%;
    height: 100%;
}

.sec8Wrap .contWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 100px;
    position: absolute;
    z-index: 10;
}

.sec8Wrap .contWrap .leftWrap {
    display: flex;
    flex-flow: column;
    gap: 90px 0;
}

.sec8Wrap .contWrap .rightWrap img {
    box-shadow: 14.16px 18.124px 27px 0px rgba(0, 0, 0, 0.13);
}