/* =========================================
   Common Slider Styles (Works & Blog)
   ========================================= */

/* --------------------------------------------------
   PC Styles (Min-width: 769px)
   -------------------------------------------------- */
@media (min-width: 769px) {
    /* 1. Common Layout & Container */
    #works,
    .work-container,
    #blog,
    .works-list-section,
    .blog-container {
        padding: clamp(3rem, 5vw, 5.6rem) 0;
        position: relative;
        z-index: 0;
        width: 100%;
        max-width: 1140px;
        margin: 0 auto;
        box-sizing: border-box;
        background-color: #f8fcfe; /* Default background for blog/others */
    }

    /* Works Section Specific - Pure White */
    #works,
    .work-container {
        background-color: #ffffff; /* #FFFFFF */
    }

    /* Blog Section Specific */
    #blog,
    .blog-container {
        background-color: #f8fcfe;
    }

    /* Title Area */
    .works-title,
    .blog-title {
        text-align: center;
        margin-bottom: 3rem;
    }

    .works-title h2,
    .blog-title {
        font-size: clamp(2.5rem, 4.5vw, 4.375rem);
        margin: 0;
        font-family: var(--font-archetype, "Archetype", sans-serif);
        line-height: 1;
        color: var(--color-navy, #253742);
        font-weight: 500;
        letter-spacing: 0.05em;
        padding: 0;
    }

    .works-title .subtitle {
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: 15px;
        font-weight: 500;
        margin-top: 10px;
        color: var(--color-navy, #253742);
        opacity: 0.8;
    }

    /* Slider Container */
    .works-splide-container,
    .blog-splide {
        width: 100%;
        margin: 0 auto;
    }

    /* Track (Overflow Visible) */
    #works .splide__track,
    .work-container .splide__track,
    #blog .splide__track,
    .blog-container .splide__track {
        overflow: visible;
        padding: 10px 0 30px;
    }

    /* Slide Base */
    #works .splide__slide,
    .work-container .splide__slide,
    #blog .splide__slide {
        box-sizing: border-box;
        opacity: 0.6;
        transition: opacity 0.3s ease;
        position: relative;
        height: auto;
        padding: 0 1rem;
        margin-right: 0;
    }

    #works .splide__slide.is-active,
    .work-container .splide__slide.is-active,
    #blog .splide__slide.is-active,
    #blog .splide__slide:hover {
        opacity: 1;
    }

    /* Works Specific Design */
    #works .slide-image,
    .work-container .slide-image {
        display: block;
        width: 85%;
        height: auto;
        object-fit: cover;
        border-radius: 14px;
        margin: 0 auto;
        vertical-align: bottom;
    }

    #works .slide-caption,
    .work-container .slide-caption {
        display: block;
        width: 85%;
        margin: 15px auto 0;
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: clamp(1.125rem, 1.375vw, 1.375rem);
        font-weight: 500;
        color: var(--color-navy, #253742);
        line-height: 1.5;
        text-align: left;
    }

    #works .slide-subcaption,
    .work-container .slide-subcaption {
        display: block;
        width: 85%;
        margin: 5px auto 0;
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: 0.85rem;
        color: var(--color-navy, #253742);
        opacity: 0.7;
        text-align: left;
    }

    /* Blog Specific Design (Card) */
    #blog .splide__slide a {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        text-decoration: none;
        overflow: hidden;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    #blog .splide__slide a:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 40px rgba(0, 51, 102, 0.15);
    }

    #blog .slide-image {
        width: 100%;
        height: 200px;
        object-fit: cover;
        border-radius: 0;
        vertical-align: bottom;
        transition: transform 0.5s ease;
    }

    #blog .splide__slide a:hover .slide-image {
        transform: scale(1.05);
    }

    .blog-caption {
        padding: 20px;
        margin: 0;
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: 15px;
        font-weight: 500;
        color: var(--lp-text, #333);
        line-height: 1.6;
        text-align: left;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    #blog .splide__slide a:hover .blog-caption {
        color: var(--color-navy, #253742);
    }

    /* Navigation & Footer (Common) */
    .navigation-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 3rem;
        width: 100%;
        padding: 0 2rem;
        box-sizing: border-box;
    }

    .navigation-container {
        display: flex;
        gap: 15px;
    }

    .navigation-container .prev-arrow,
    .navigation-container .next-arrow {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: #fff;
        border: 1.5px solid var(--color-navy, #253742);
        color: var(--color-navy, #253742);
        font-size: 18px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }

    .navigation-container .prev-arrow:hover,
    .navigation-container .next-arrow:hover {
        background: var(--color-navy, #253742);
        color: #fff;
    }

    .view-more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 12px 36px;
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: 0.95rem;
        font-weight: 700;
        text-decoration: none;
        border-radius: 50px;
        background: #fff;
        color: var(--color-navy, #253742);
        border: 1.5px solid var(--color-navy, #253742);
        transition: all 0.3s ease;
        min-width: 200px;
    }

    .view-more a:hover {
        background: var(--color-navy, #253742);
        color: #fff;
    }
}

/* --------------------------------------------------
   SP Styles (Max-width: 768px)
   -------------------------------------------------- */
@media (max-width: 768px) {
    /* Works Section - White Background */
    #works,
    .work-container {
        background-color: #ffffff; /* #FFFFFF */
    }

    /* Blog Section - Light Blue Background */
    #blog,
    .blog-container {
        background-color: #f8fcfe;
    }

    #works,
    .work-container,
    #blog,
    .works-list-section,
    .blog-container {
        padding: 56px 0;
    }

    #works .container,
    .work-container .container,
    #blog .container,
    .works-list-section .container,
    .blog-container .container {
        padding: 0 16px;
    }

    .works-title,
    .blog-title {
        margin-bottom: 32px;
        text-align: center;
    }

    .works-title h2,
    .blog-title {
        font-family: var(--font-archetype, "Archetype", sans-serif);
        font-size: 40px;
        line-height: 1;
        font-weight: 500; /* Archetype Renner Medium */
    }

    .works-title .subtitle {
        font-size: 11px;
        letter-spacing: 0.15em;
        margin-bottom: 8px;
        display: block;
    }

    .works-splide-container,
    .blog-splide {
        padding: 0;
    }
    
    #works .splide__slide,
    .work-container .splide__slide,
    #blog .splide__slide {
        padding: 0 0.5rem;
    }

    /* SP: Works Image Full Width */
    #works .slide-image,
    .work-container .slide-image,
    #works .slide-caption,
    .work-container .slide-caption,
    #works .slide-subcaption,
    .work-container .slide-subcaption {
        width: 100%;
    }
    
    /* Blog Card on SP */
    #blog .splide__slide a {
        width: 100%;
    }
    
    .slide-caption,
    .blog-caption {
        margin-top: 3vw;
        font-size: 4vw;
        padding-top: 0;
    }
    
    .slide-subcaption {
        font-size: 3vw;
    }

    .navigation-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 8vw;
        padding: 0 5%;
    }

    .navigation-container {
        display: flex;
        gap: 15px;
    }

    .navigation-container .prev-arrow,
    .navigation-container .next-arrow {
        width: 12vw;
        height: 12vw;
        font-size: 5vw;
        border-radius: 50%;
        background: #fff;
        border: 1.5px solid var(--color-navy, #253742);
        color: var(--color-navy, #253742);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .view-more {
    }
    
    .view-more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 3vw 6vw;
        font-family: var(--font-japanese, "Noto Sans JP", sans-serif);
        font-size: 3.5vw;
        font-weight: 700;
        text-decoration: none;
        border-radius: 50px;
        background: #fff;
        color: var(--color-navy, #253742);
        border: 1.5px solid var(--color-navy, #253742);
        min-width: 48vw; /* 40vw × 1.2 = 48vw */
    }
        background: #fff;
        color: var(--color-navy, #253742);
        border: 1.5px solid var(--color-navy, #253742);
        min-width: 48vw; /* 40vw × 1.2 = 48vw */
    }

    /* Works Card Styles (if used) */
    .works-card {
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    }

    .works-card img {
        width: 100%;
        height: auto;
        aspect-ratio: 16/10;
        object-fit: cover;
    }

    .works-card-content {
        padding: 16px;
    }

    .works-card-title {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.5;
        margin-bottom: 8px;
    }
}
