@font-face {
    font-family: 'font-e2';
    src: url('../fonts/JEKODEMO-EXTRABOLD.OTF') format('opentype');
}
@font-face {
    font-family: 'font-e1';
    src: url('../fonts/JEKODEMO-MEDIUM.OTF') format('opentype');
}
@font-face {
    font-family: 'font-c1';
    src: url('../fonts/SourceHanSansSC-VF.otf') format('opentype');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
a {
    text-decoration: none;
    color: inherit;
}
ul, li {
    list-style: none;
}

body { margin: 0; padding: 0; }
body.body-sticky { margin-top: 71px; }

.top {
    width: 100%;
    height: 71px;
    font-size: 50px;
    font-family: 'font-e2', sans-serif;
    position: relative;
    overflow: hidden;
    background-color: #ffffff;
}
.top-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.top-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}
.top-slide.active {
    opacity: 1;
}
.top-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 1;
}
.top.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.top.sticky .top-slide {
    background-attachment: scroll;
}
.top.sticky .top-slides {
    display: none;
}

.top .wrop {
    width: 98.8%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    position: relative;
    z-index: 10;
}
.top .wrop .right ul {
    display: flex;
    gap: 590px;
}
.top .wrop > :first-child a,
.top .wrop .right li a {
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.top .wrop > :first-child:hover,
.top .wrop .right li:hover {
    color: #fe31c1;
}

.n-r { width: 98.8%; margin: 1% auto 0; }
.ding { margin-bottom: 18.25px; }
.x-01 { width: 100%; margin-bottom: 1.2%; }
.x-02 { width: 100%; margin: 18.25px 0; }
.title-row { display: flex; justify-content: space-between; align-items: baseline; }
.bt { font-size: 50px; font-family: 'font-e2', sans-serif; color: #000; }
.info { font-size: 50px; font-family: 'font-e2', sans-serif; color: #000; }
.info-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.6%; }
.img-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.0%; margin-top: 0 auto; }
.xx-left { grid-column: 1 / 2; }
.xx-left2 { grid-column: 2 / 3; }
.middle { grid-column: 3 / 5; }
.right { grid-column: 5 / 7; }
.tu.wron {
     display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.0%; margin-top: 0 auto; }
.tu.wron.wron-txt {
    grid-column: 1 / 5;
}
.info-grid > div { font-size: 20px; font-family: 'font-e1', sans-serif; line-height: 1.8; }
.xx-left, .xx-left2 { color: #c3c3c3; }
.middle, .right { color: #000; }
.work-txt1 { grid-column: 3 / 5; font-size: 20px; font-family: 'font-e1', sans-serif; color: #000; opacity: 0; transform: translateY(60px); align-self: start; }
.work-txt1.show { opacity: 1; transform: translateY(0); transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.img-grid .tu { grid-column: 3/7; opacity: 0; transform: translateY(60px); }
.img-grid .tu.show { opacity: 1; transform: translateY(0); transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.img-grid .tu:nth-child(1) { transition-delay: 0s; }
.img-grid .tu:nth-child(2) { transition-delay: 0.15s; }
.img-grid .tu:nth-child(3) { transition-delay: 0.3s; }
.img-grid .tu:nth-child(4) { transition-delay: 0.45s; }
.img-grid .tu:nth-child(5) { transition-delay: 0.6s; }
.tu img, .tu video { width: 100%; height: auto; display: block; object-fit: contain; margin: 0.5% auto; }
.top-btn {
    position: fixed;
    bottom: 20px;
    left: 0.6%;
    font-size: 50px;
    font-family: 'font-e2', sans-serif;
    color: #000;
    transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.top-btn:hover {
    color: #fe31c1;
}