body {
    background-color: #333;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    /* height: 180px; */
    z-index: 10000;
    transition: all .5s;
    overflow: hidden;
}

.header.hover {
    height: 180px;
}

.header .topWrap {
    height: 90px;
    background-color: #282524;
    display: flex;
    justify-content: center;
}

.header .topWrap .layout {
    display: flex;
    padding: 0 60px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1920px;
    height: 100%;
}

.header .topWrap .menu {
    display: flex;
    align-items: center;
    gap: 0 73px;
    height: 100%;
}

.header .topWrap .menu>li {
    height: 100%;
}

.header .topWrap .menu>li>a {
    height: 100%;
    color: #fff;
    display: flex;
    align-items: center;
    font-family: 'SatoM';
    font-size: 18px;
    letter-spacing: 10px;
}

.header.sub .topWrap .menu>li>a {
    opacity: .2;
}

.header.sub .topWrap .menu>li.active>a {
    opacity: 1;
}

.header .topWrap .toggleBtn {
    display: none;
}

.header .topWrap .subMenu {
    position: absolute;
    top: 90px;
    left: 0;
    justify-content: center;
    display: flex;
    height: 90px;
    background-color: rgba(40, 37, 36, 0.6);
    align-items: center;
    height: 90px;
    width: 100vw;
}

.header .topWrap .subMenu>ul {
    max-width: 1920px;
    width: 100%;
    padding:0 60px;
    display: flex;
    align-items: center;
    gap: 0 80px;
    height: 100%;
    justify-content: flex-end;
}

.header .topWrap .subMenu>ul>li {
    height: 100%;
}

.header.work .topWrap .subMenu>ul>li {
    opacity: .2;
}

.header.work .topWrap .subMenu>ul>li.active {
    opacity: 1;
}

.header .topWrap .subMenu>ul>li>a {
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 18px;
    color: #fff;
    font-family: 'SatoL';
    letter-spacing: 8px;
    white-space: nowrap;
}

.footer {
    background-color: #333333;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
}

.footer .layout {
    padding:95px 60px;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    max-width: 1920px;
    width: 100%;
}

.footer .logo {
    margin-bottom: 50px;
}

.footer .t1 {
    margin-bottom: 15px;
    font-size: 22px;
    color: #808080;
    font-family: 'PreSB';
}

.footer .t2 {
    margin-bottom: 55px;
    font-size: 20px;
    color: #808080;
    font-family: 'PreL';
    line-height: 1.3;
}

.footer .t3 {
    font-size: 20px;
    color: #808080;
    font-family: 'PreL';
}

.footer .t3 strong {
    color: #fff;
    font-family: 'PreR';
    font-weight: normal;
}

#topBtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
}

.workWrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    z-index: 10;
    background-color: #282524;
}

.workWrap .title {
    color: #fff;
    font-size: 18px;
    font-family: 'SatoB';
    letter-spacing: 10px;
    padding: 40px 0;
}

.workWrap .listWrap {
    max-width: 1920px;
    padding: 0 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    gap: 15px;
}

.workWrap .listWrap .item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 340px;
}

.workWrap .listWrap .item .imageWrap {
    width: 100%;
    height: 100%;
    /* background-color: #fff; */
    overflow: hidden;
}

.workWrap .listWrap .item .imageWrap img {
    transition: all .8s;
    transform: scale(1.1);
}

.workWrap .listWrap .item:hover .imageWrap img {
    filter:grayscale(1);
    transform: scale(1);
}

.workWrap .listWrap .item .textWrap {
    position: absolute;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    gap: 10px 0;
    opacity: 0;
    transition: all .8s;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
}

.workWrap .listWrap .item:hover .textWrap {
    opacity: 1;
}

.workWrap .listWrap .item .textWrap .t1 {
    color: #fff;
    font-size: 27px;
    font-family: 'PreB';
    text-align: center;
    word-break: keep-all;
}

.workWrap .listWrap .item .textWrap .t2 {
    color: #fff;
    font-size: 15px;
    font-family: 'PreL';
}

.workWrap .listWrap .noItem {
    color: #fff;
    font-size: 26px;
    font-family: 'SatoB';
    letter-spacing: 10px;
    height: 500px;
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.workWrap .moreBtn {
    margin: 25px 0;
    width: 334px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
    color: #fff;
    font-size: 18px;
    font-family: 'SatoB';
    letter-spacing: 10px;
}

@media (max-width: 1440px) {
    .header .topWrap .layout {
        padding:0 50px;
    }

    .header .topWrap .menu>li>a {
        letter-spacing: 7px;
    }

    .header .topWrap .subMenu>ul {
        overflow: auto;
        padding: 0 50px;
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

    .footer .layout {
        padding: 95px 50px;
    }

    .workWrap .listWrap {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 50px;
        /* max-width: 925px; */
    }

    .workWrap .listWrap .item {
        height: 340px;
    }
}

@media (max-width: 1023px) {
    .header {
        height: 11.71875vw;
    }

    .header.active {
        height: 100vh;
    }
    
    .header .topWrap {
        height: 11.71875vw;
    }
    
    .header .topWrap .layout {
        padding:0 3.90625vw;
    }

    .header .topWrap .logo {
        width: 11.067708333333332vw;
    }

    .header .topWrap .menu {
        width: 100%;
        position: absolute;
        top: 11.71875vw;
        left: 0;
        height: calc(100vh - 11.71875vw);
        background-color: #282524;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        gap: 6.510416666666667vw 0;
    }

    .header .topWrap .menu>li {
        height: auto;
        display: flex;
        align-items: center;
        flex-flow: column;
    }

    .header .topWrap .menu>li>a {
        height: auto;
        font-size: 2.34375vw;
    }

    .header .topWrap .subMenu {
        position: static;
        background-color: #333333;
        padding-right: 0;
        height: 0px;
        transition: all .5s;
        overflow: hidden;
    }
    
    .header .topWrap .subMenu.active {
        padding: 5.208333333333334vw 0;
        height: 42.96875vw;
        margin-top: 5.208333333333334vw;
    }
    
    .header .topWrap .subMenu>ul {
        gap: 5.208333333333334vw 0;
        padding: 0;
        align-items: center;
        justify-content: center;
        flex-flow: column;
    }

    .header .topWrap .subMenu>ul>li>a {
        font-size: 2.34375vw;
    }

    .header .topWrap .toggleBtn {
        display: flex;
        flex-flow: column;
        width: 3.90625vw;
        height: 3.90625vw;
        position: relative;
        align-items: center;
        justify-content: center;
    }

    .header .topWrap .toggleBtn span {
        width: 100%;
        height: 1px;
        background-color: #fff;
        transition: all .5s;
        position: absolute;
    }

    .header .topWrap .toggleBtn.active {
        align-items: center;
        justify-content: center;
    }

    .header .topWrap .toggleBtn span:nth-child(1) {
        top: 0;
    }

    .header .topWrap .toggleBtn span:nth-child(3) {
        top: 100%;
    }

    .header .topWrap .toggleBtn.active span:nth-child(1) {
        position: absolute;
        top: 50%;
        transform-origin: 50% 50%;
        transform: rotate(225deg);
    }

    .header .topWrap .toggleBtn.active span:nth-child(2) {
        opacity: 0;
    }

    .header .topWrap .toggleBtn.active span:nth-child(3) {
        position: absolute;
        top: 50%;
        transform-origin: 50% 50%;
        transform: rotate(-225deg);
    }

    .workWrap .title {
        font-size: 2.34375vw;
        padding: 4.557291666666666vw 0;
    }

    .workWrap .listWrap {
        width: 100%;
        padding: 0 3.90625vw;
        grid-template-columns: repeat(1, 1fr);
    }

    .workWrap .listWrap .item {
        height: 53.125vw;
    }

    .workWrap .listWrap .item .textWrap .t1 {
        font-size: 4.515625vw;
    }

    .workWrap .listWrap .item .textWrap .t2 {
        font-size: 2.283125vw;
    }

    .workWrap .moreBtn {
        width: 43.48958333333333vw;
        height: 5.078125vw;
        font-size: 2.34375vw;
        letter-spacing: 1.3020833333333335vw;
    }

    .footer .layout {
        padding: 11.71875vw 3.90625vw;
    }

    .footer .logo {
        width: 25.520833333333332vw;
        margin-bottom: 6.510416666666667vw;
    }

    .footer .t1 {
        font-size: 2.864583333333333vw;
        margin-bottom: 1.953125vw;
    }

    .footer .t2 {
        font-size: 2.604166666666667vw;
        margin-bottom: 7.161458333333333vw;
    }

    .footer .t3 {
        font-size: 2.604166666666667vw;
    }

    #topBtn {
        width: 10.416666666666668vw;
        height: 10.416666666666668vw;
        right: 3.90625vw;
        bottom: 3.90625vw;
    }
}