.ksse-main-slider {
    overflow:hidden;
    padding:26px 0 26px;
    background:#fff;
}
.ksse-slider-frame {
    position:relative;
    overflow:visible;
    width:100%;
    min-height:0;
    margin:0 auto;
    background:#fff;
}
.ksse-slider-track {
    position:relative;
    width:min(1224px, calc(100vw - 160px));
    height:clamp(300px, calc((100vw - 160px) * .3333), 408px);
    margin:0 auto;
    overflow:visible;
    cursor:grab;
    touch-action:pan-y;
    user-select:none;
    -webkit-user-select:none;
}
.ksse-slider-track.is-dragging {
    cursor:grabbing;
}
.ksse-slide {
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:18px;
    padding:64px 72px;
    border-radius:4px;
    color:#fff;
    opacity:0;
    pointer-events:none;
    transform:translateX(0) scale(.96);
    filter:saturate(.88);
    box-shadow:0 18px 38px rgba(15,23,42,.14);
    transition:opacity .55s ease, transform .55s ease, filter .55s ease;
    -webkit-user-drag:none;
}
.ksse-slide::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.04) 52%, rgba(255,255,255,.16)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0 1px, transparent 1px 22px);
    pointer-events:none;
}
.ksse-slide.is-active {
    opacity:1;
    pointer-events:auto;
    z-index:3;
    transform:translateX(0) scale(1);
    filter:saturate(1);
    box-shadow:0 22px 46px rgba(15,23,42,.18);
}
.ksse-slide.is-prev,
.ksse-slide.is-next {
    pointer-events:auto;
    cursor:pointer;
}
.ksse-slide.is-prev {
    opacity:.68;
    z-index:1;
    transform:translateX(calc(-100% - 44px)) scale(.98);
}
.ksse-slide.is-next {
    opacity:.68;
    z-index:1;
    transform:translateX(calc(100% + 44px)) scale(.98);
}
.ksse-slide span,
.ksse-slide strong,
.ksse-slide em {
    position:relative;
    z-index:1;
}
.ksse-slide span {
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.5);
    border-radius:8px;
    background:rgba(255,255,255,.14);
    font-size:18px;
    font-weight:950;
    font-style:normal;
}
.ksse-slide strong {
    display:block;
    font-size:56px;
    line-height:1.08;
    font-weight:950;
    letter-spacing:0;
}
.ksse-slide em {
    display:block;
    max-width:560px;
    font-size:22px;
    line-height:1.45;
    font-weight:900;
    font-style:normal;
}
.ksse-slide-red {
    background:#e11d48;
}
.ksse-slide-banner-01 {
    padding:0;
    background:#061529 url("image/banners/main-banner-01.png") center / cover no-repeat;
}
.ksse-slide-banner-02 {
    padding:0;
    background:#f7f4ef url("image/banners/main-banner-02.png") center / cover no-repeat;
}
.ksse-slide-banner-03 {
    padding:0;
    background:#eef6ff url("image/banners/main-banner-03.png") center / cover no-repeat;
}
.ksse-slide-banner-04 {
    padding:0;
    background:#061529 url("image/banners/main-banner-04.png") center / cover no-repeat;
}
.ksse-slide-banner-05 {
    padding:0;
    background:#061529 url("image/banners/main-banner-05.png") center / cover no-repeat;
}
.ksse-slide-banner-06 {
    padding:0;
    background:#eef6ff url("image/banners/main-banner-06.png") center / cover no-repeat;
}
.ksse-slide-banner-07 {
    padding:0;
    background:#f7efe2 url("image/banners/main-banner-07.png") center / cover no-repeat;
}
.ksse-slide-banner-08 {
    padding:0;
    background:#f7f4ef url("image/banners/main-banner-08.png") center / cover no-repeat;
}
.ksse-slide-banner-01::after,
.ksse-slide-banner-02::after,
.ksse-slide-banner-03::after,
.ksse-slide-banner-04::after,
.ksse-slide-banner-05::after,
.ksse-slide-banner-06::after,
.ksse-slide-banner-07::after,
.ksse-slide-banner-08::after {
    display:none;
}
.ksse-slide-orange {
    background:#f97316;
}
.ksse-slide-yellow {
    background:#facc15;
    color:#111827;
}
.ksse-slide-yellow span {
    border-color:rgba(17,24,39,.32);
    background:rgba(255,255,255,.44);
}
.ksse-slide-yellow::after {
    background:
        linear-gradient(90deg, rgba(255,255,255,.26), rgba(255,255,255,.1) 52%, rgba(17,24,39,.08)),
        repeating-linear-gradient(135deg, rgba(17,24,39,.12) 0 1px, transparent 1px 22px);
}
.ksse-slide-green {
    background:#16a34a;
}
.ksse-slide-blue {
    background:#2563eb;
}
.ksse-slide-navy {
    background:#3730a3;
}
.ksse-slide-purple {
    background:#7e22ce;
}
.ksse-slider-dots {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:24px;
}
.ksse-slider-dots button {
    width:12px;
    height:12px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#cfd3d8;
    cursor:pointer;
    transition:width .2s ease, background .2s ease;
}
.ksse-slider-dots button.is-active {
    width:34px;
    background:#c81f32;
}

@media (max-width:900px) {
    .ksse-main-slider {
        padding:22px 0 24px;
    }
    .ksse-slider-track {
        width:calc(100vw - 56px);
        height:clamp(250px, calc((100vw - 56px) * .3333), 360px);
    }
    .ksse-slide {
        padding:48px 42px;
    }
    .ksse-slide-banner-01 {
        background-position:left center;
    }
    .ksse-slide-banner-02 {
        background-position:center;
    }
    .ksse-slide.is-prev {
        transform:translateX(calc(-100% - 28px)) scale(.98);
    }
    .ksse-slide.is-next {
        transform:translateX(calc(100% + 28px)) scale(.98);
    }
    .ksse-slide strong {
        font-size:42px;
    }
    .ksse-slide em {
        font-size:18px;
    }
}

@media (max-width:640px) {
    .ksse-main-slider {
        padding:16px 0 22px;
    }
    .ksse-slider-track {
        width:calc(100vw - 28px);
        height:clamp(210px, calc((100vw - 28px) * .3333), 300px);
    }
    .ksse-slide {
        padding:36px 26px;
    }
    .ksse-slide.is-prev,
    .ksse-slide.is-next {
        opacity:0;
        transform:translateX(0) scale(.96);
    }
    .ksse-slide span {
        width:46px;
        height:46px;
        font-size:15px;
    }
    .ksse-slide strong {
        font-size:32px;
    }
    .ksse-slide em {
        font-size:16px;
    }
}
