/* 適用レイヤー */
@layer base, components, utilities;
/* ベース */
@layer base {
}
/* コンポーネント */
@layer components {
}
/* ユーティリティ */
@layer utilities {
}
#caps2025{
    background-color: var(--primary-color);
    /* padding-bottom: 10rem; */
    color: #fff;
    position: relative;
    .page-top {
        width: 14rem;
        height: 14rem;
        margin-left: auto;
        padding: 2rem;
        position: sticky;
        bottom: 0;
        @media (768px <= width) {
            transition: all ease 300ms;
            &:hover {
                opacity: 0.6;
                transition: all ease 300ms;
            }
        }
        img {
            width: 100%;
        }
    }
    .font {
        font-family: "Manrope", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
    }
    .title {
        color: #fff;
        font-size: 4rem;
        font-family: "Manrope", sans-serif;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal;
        text-align: left;
        letter-spacing: 0.2rem;
        @media (width < 768px) {
            font-size: 2.8rem;
        }
    }
    .coming-soon {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8rem 0 0;
        color: #969696;
        font-size: 5.6rem;
        font-family: "Manrope", sans-serif;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal;
        letter-spacing: 0.2rem;
        @media (width < 768px) {
            padding: 6rem 0 0;
            font-size: 3.6rem;
        }
    }
    .mv {
        img {
            width: 100%;
        }
    }
    .page-link-wrap {
        margin: 5rem 0 10rem;
        @media (width < 768px) {
            overflow-x: auto;
            margin: 4rem 0 6rem;
            width: 100%;
        }
    }
    .page-link {
        display: flex;
        justify-content: flex-end;
        @media (width < 768px) {
            justify-content: flex-start;
            a {
                text-wrap-mode: nowrap;
            }
        }
        li {
            &:not(:first-child) {
                margin-left: 3rem;
            }
            a {
                font-size: 2rem;
                font-family: "Manrope", sans-serif;
                font-optical-sizing: auto;
                font-weight: 400;
                font-style: normal;
                letter-spacing: 0.2rem;
                line-height: 1;
                position: relative;
                @media (768px <= width) {
                    &::after {
                        content: '';
                        opacity: 0;
                        display: inline-block;
                        width: 100%;
                        height: 1px;
                        background-color: #fff;
                        position: absolute;
                        bottom: -1rem;
                        left: 0;
                        transition: all ease 600ms;
                    }
                    &:hover {
                        &::after {
                            opacity: 1;
                            bottom: -.2rem;
                            transition: all ease 600ms;
                        }
                    }
                }
            }
        }
    }
    .content + .content {
        padding-top: 10rem;
        @media (width < 768px) {
            padding-top: 10rem;
        }
    }
    .item-list {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 4rem 3rem;
        @media (width < 768px) {
            grid-template-columns: repeat(2,1fr);
            gap: 2.5rem 1.5rem;
        }
        a {
            @media (768px <= width) {
                .image {
                    &::before {
                        opacity: 0;
                        display: block;
                        content: '';
                        width: 100%;
                        height: 100%;
                        background-color: rgba(255, 255, 255, .5);
                        position: absolute;
                        left: 0;
                        top: 0;
                        transition: all ease 600ms;
                    }
                    &::after {
                        opacity: 0;
                        content: 'VIEW MORE';
                        display: flex;
                        align-items: center;
                        width: 8rem;
                        height: 8rem;
                        border: 1px solid var(--primary-color);
                        border-radius: 100%;
                        margin: auto;
                        color: var(--primary-color);
                        font-size: 1.4rem;
                        text-align: center;
                        line-height: 1.2;
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        right: 0;
                        left: 0;
                        transition: all ease 600ms;
                    }
                }
                &:hover {
                    .image {
                        &:before,&:after {
                            opacity: 1;
                            transition: all ease 600ms;
                        }
                    }
                }
            }
        }
        .image {
            position: relative;
            img {
                width: 100%;
            }
        }
        .name {
            margin: 2rem 0 2.5rem;
            @media (width < 768px) {
                margin: 1.5rem 0;
                word-break: break-all;
            }
        }
        .price {
            font-family: "Manrope", sans-serif;
            font-optical-sizing: auto;
            font-weight: 700;
            font-style: normal;
            span {
                font-size: 0.8em;
            }
        }
    }
}
