@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

        /* --------------------------------
        * Basic Settings & Reset
        -------------------------------- */
        :root {
            --font-zen: 'Zen Kaku Gothic New', sans-serif;
            --font-montserrat: 'Montserrat', sans-serif;
            --font-yugo: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
            --color-text: #111;
            --color-bg-dark: #000;
            --color-bg-gray: #C7D3D6;
        }

        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {scroll-behavior: smooth;}
        body {background-color: #fff;}
        .sunglasses_police {
            font-size: 16px;
            scroll-behavior: smooth;            
            overflow-x: hidden;
            font-family: var(--font-zen);
            color: var(--color-text);
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;            
        }

        .sunglasses_police img{
            width: 100%;
            max-width: 100%;
            height: auto;
            vertical-align: bottom;
        }

        .sunglasses_police a{
            text-decoration: none;
        }

        /* --------------------------------
        * Layout
        -------------------------------- */
        /* SP: サイドカラムは非表示 */
        .side-column {
            display: none;
        }

        .centered-content-area {
            position: relative;
            z-index: 1;
            background-color: #fff; /* 中央コンテンツの背景色 */
        }
        
        .sec-contents {
            padding: 80px 20px;
        }
        
        .sec-contents__inner {
            max-width: 1052px;
            margin: 0 auto;
        }

        /* --------------------------------
        * MV (sec-mv)
        -------------------------------- */
        .sec-mv {
            padding: 0;
            height: 50vh;
            position: relative;
            overflow: hidden;
        }
        .sec-mv__video-wrapper {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            transform: translate(-50%, -50%);
        }
        .sec-mv__video-wrapper iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 177.77vh; /* 16:9 for height 100% */
            min-width: 100%;
            height: 100vw * 9 / 16; /* 16:9 for width 100% */
            min-height: 100%;
            transform: translate(-50%, -50%);
            pointer-events: none;
        }

        /* --------------------------------
        * Contents 1 (sec-intro)
        -------------------------------- */
        .sec-intro {
            background-color: var(--color-bg-dark);
            color: #fff;
            text-align: center;
        }
        .sec-intro__title {
            font-family: var(--font-montserrat);
            font-size: 10vw;
            font-weight: 800;
            line-height: 1.1;
            margin-bottom: 30px;
            opacity: 0; /* for animation */
            transform: scale(2); /* for animation */
            transition: opacity 0.3s, transform 0.3s; /* is-in-viewが外れた時のため */
        }
        .sec-intro__title.is-in-view {
            animation: zoom-in-out 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
        }
        @keyframes zoom-in-out {
            0%   { transform: scale(2.5); opacity: 0; }
            60%  { transform: scale(0.85); opacity: 1; }
            80%  { transform: scale(1.3); }
            100% { transform: scale(1); opacity: 1; }
        }
        .sec-intro__subtitle {
            font-family: var(--font-zen);
            color: #fff;
            font-size: 24px;
            font-weight: 800;
            margin-bottom: 20px;
        }
        .sec-intro__line {
            max-width: 504px;
            margin: 0 auto 40px;
        }
        .sec-intro__text {
            font-family: var(--font-yugo);
            font-size: 16px;
            font-weight: 800;
            max-width: 600px;
            margin: 0 auto 60px;
            text-align: center;
            line-height: 1.8;
        }
        .sec-intro__slider-wrapper {
            padding: 100px 0;
            position: relative;
            background: url(/cms/contents/lp/sunglasses_police/img/spotlight.png);
            background-size: 600px auto;
            margin-bottom: 0;
            background-position: center, center;
            background-repeat: no-repeat;
        }

        .sec-intro__slider-bg {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            z-index: 1;
            opacity: 0.8;
        }
        .intro-slider {
            position: relative;
            z-index: 2;
        }

        .sec-intro__layout {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .intro-layout__left, .intro-layout__right {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .intro-layout__item--text {
            text-align: left;
        }
        .intro-layout__item--text h3 {
            font-family: var(--font-zen);
            font-size: 24px;
            font-weight: 800;
            margin-bottom: 15px;
            text-align: left;
        }
        .intro-layout__item--text p {
            font-family: var(--font-zen);
            font-size: 16px;
            font-weight: 500;
        }
        
        /* --------------------------------
        * Contents 2 (sec-campaign)
        -------------------------------- */
        .sec-campaign {
            background-color: var(--color-bg-gray);
        }
        .sec-campaign__title {
            font-family: var(--font-montserrat);
            font-size: 56px;
            font-weight: 800;
            color: var(--color-text);
            text-align: center;
            margin-bottom: 40px;
        }
        .campaign-date {
            text-align: center;
            margin-bottom: 60px;
        }
        .campaign-date__main {
            display: inline-block;
            position: relative;
            font-weight: 600;
            color: var(--color-text);
            padding: 0 40px;
            font-family: var(--font-zen);
        }
        .campaign-date__main::before,
        .campaign-date__main::after {
            content: '';
            position: absolute;
            width: 30px;
            height: 1px;
            background-color: var(--color-text);
            top: 50%;
        }
        .campaign-date__main::before {
            left: 0;
            transform: rotate(-120deg);
        }
        .campaign-date__main::after {
            right: 0;
            transform: rotate(120deg);
        }
        .campaign-date__main span { font-size: 26px; }
        .campaign-date__main .large { font-size: 36px; }
        .campaign-date__main span{letter-spacing: 0.1em;}

        .campaign-date__sub {
            font-size: 12px;
            font-weight: 600;
            color: var(--color-text);
        }
        .campaign-layout1 {
            position: relative;
            margin-bottom: 80px;
        }
        .campaign-layout1__left {
            color: #fff;
            padding: 40px 20px 20px;
            text-align: center;
            position: relative;
        }
        .campaign-layout1__ribbon-text {
            font-size: 23px;
            font-weight: 600;
            margin-bottom: 10px;
            background-color: var(--color-text);
            padding: 15px 0;
            color: white;
            padding: 15px 40px;
            text-align: center;
            position: relative;
            line-height: 1.3;
        }

        .campaign-layout1__ribbon-text::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 40px 0 32px 30px;
            border-color: transparent transparent transparent #C7D3D6;
        }

        .campaign-layout1__ribbon-text::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 40px 30px 32px 0;
            border-color: transparent #C7D3D6 transparent transparent;
        }

        .campaign-layout1__main-text {
            font-size: 30px;
            font-weight: 800;
            color: #111;
        }
        .campaign-layout1__right {
            background-color: #fff;
            width: 180px;
            height: 180px;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: var(--color-text);
            padding: 10px;
            margin: -40px auto 0; /* Overlap */
            position: relative;
            z-index: 2;
        }
        .campaign-layout1__right .line1 .large { font-size: 24px; font-weight: 600; }
        .campaign-layout1__right .line1 .small { font-size: 19px; font-weight: 800; }
        .campaign-layout1__right .line1 .xsmall { font-size: 18px; font-weight: 800; }
        .campaign-layout1__right .line2 { display: flex; align-items: center; margin: 5px 0; }
        .campaign-layout1__right .line2 .v-text { writing-mode: vertical-rl; font-size: 22px; font-weight: 800; margin-right: 5px; }
        .campaign-layout1__right .line2 .num { font-size: 81px; color: #458E85; line-height: 1; }
        .campaign-layout1__right .line2 .unit { font-size: 42px; font-weight: 800; }
        .campaign-layout1__right .line3 { font-size: 31px; font-weight: 800; }

        .campaign-layout2__image {
            margin-bottom: 0;
        }
        .campaign-layout2__stores {
            background-color: var(--color-bg-dark);
            color: #fff;
            padding: 40px 20px;
        }
        .campaign-layout2__stores-title {
            margin-bottom: 30px;
            font-size: 24px;
            font-weight: 700;
        }
        .campaign-layout2__store-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 15px;
        }
        .store-item {
            display: block;
            background: rgba(112,112,112, .3);
            padding: 20px 14px;
            border-radius: 4px;
            text-align: center;
        }
        
        .store-item__name {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 18px;
            font-weight: 700;
            margin-bottom: 8px;
            color: #fff;
        }
        .store-item__name::before {
            content: '';
            display: block;
            width: 20px;
            height: 20px;
            background: url(../img/icon.svg) no-repeat;
            flex-shrink: 0;
            top: 0;
        }
        .store-item__link {
            font-size: 14px;
            font-weight: 500;
            color: #37D8C3;
        }

        /* --------------------------------
        * Contents 3 (sec-lineup)
        -------------------------------- */
        .sec-lineup {
            background-color: var(--color-bg-gray);
            padding-bottom: 120px;
        }
        .sec-lineup__title {
            font-family: var(--font-montserrat);
            font-size: 56px;
            font-weight: 800;
            text-align: center;
            margin-bottom: -20px; /* Overlap */
            position: relative;
            z-index: 2;
            line-height: 1;
            color: #111;
        }
        .lineup-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
        }
        .lineup-item {
            display: block;
            position: relative;
            overflow: hidden; /* for hover effect */
        }
        .lineup-item__image {
            transition: transform 0.4s ease;
        }
        .lineup-item__text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #fff;
            text-align: center;
            width: 100%;
            letter-spacing: 0.1em;
        }
        .lineup-item__subtext {
            font-family: var(--font-montserrat);
            font-size: 18px;
            font-weight: 400;
        }
        .lineup-item__maintext {
            font-family: var(--font-montserrat);
            font-size: 40px;
            font-weight: 800;
            line-height: 1;
        }

        /* --------------------------------
        * Contents 4 (sec-look)
        -------------------------------- */
        .sec-look {
            background-color: var(--color-bg-gray);
        }
        .look-bg-title {
            font-family: var(--font-montserrat);
            font-style: italic;
            font-weight: 800;
            opacity: 0.18;
            color: rgba(255, 255, 255, 0.8);
            font-size: 11vw;
            line-height: 1;
            text-align: center;
            margin-bottom: 40px;
            white-space: nowrap;
            word-wrap: break-word;
        }

        .product-list-btn{text-align: center;}
        .look-feature {
            border: 1px solid var(--color-text);
            margin-bottom: 60px;
            background-color: var(--color-bg-gray);
            position: relative;
            z-index: 1;
            display: flex;
        }
        .look-feature__left{
            display: flex;
        }
        .look-feature__title {
            font-weight: 700;
            margin-bottom: 10px;
        }
        .look-item {
            display: flex;
            flex-direction: column;
            gap: 40px;
            margin-bottom: 80px;
        }
        .look-item__info {
            position: relative;
            z-index: 2;
        }
        .look-item__sub, .look-item__main,
        .look-item__model, .look-item__limited {
            font-family: var(--font-montserrat);
        }
        .look-item__sub { font-size: 20px;  margin-bottom: 10px;}
        .look-item__main { font-size: 64px; line-height: 1; font-weight: 800; margin-bottom: 20px; word-wrap: break-word;}
        .look-item__model { font-size: 46px; line-height: 1.2; font-weight: 800;}
        .look-item__limited { font-size: 27px; font-weight: 800; font-family: var(--font-zen);}
        .look-item__desc-title { font-size: 20px; font-weight: 900; margin-top: 20px; }
        .look-item__desc-text { font-size: 16px; font-weight: 400; margin-top: 10px; }
        
        .look-item__images {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
        .look-item__images-row2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }

        .product-list-wrapper {
            margin-top: 60px;
        }
        .product-list {
            display: flex;
            overflow-x: auto;
            gap: 16px;
            padding-bottom: 20px; /* for scrollbar */
            -webkit-overflow-scrolling: touch; /* for iOS */
            margin-bottom: 40px;
        }

        .product-list-btn{
            text-align: center;
            margin-bottom: 0;
            padding-bottom: 30px;
        }
        .product-list-btn a{
            width: 45%;
            font-size: 16px;
        }

        .product-item {
            flex: 0 0 80%; /* 1.2 items visible */
            background-color: #fff;
            padding: 40px 20px 20px;
            text-align: center;
        }

        .product-item img{margin-bottom: 35px;}
        .product-item__icon_inner{width: 88%;margin: 0 auto;}
        .product-item .product-item__icon_inner img{
            margin-bottom: 0;
            max-width: 198px;
            vertical-align: bottom;
        }
        .product-item__icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background-color: #A08E5B;
            color: #fff;
            padding: 5px 15px;
            font-size: 14px;
            font-weight: 600;
            width: 80%;
            position: relative;
        }

        .product-item__icon::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 16px 0 18px 15px;
            border-color: transparent transparent transparent #fff;
        }

        .product-item__icon::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 16px 15px 18px 0;
            border-color: transparent #fff transparent transparent;
        }

        .product-item__model {
            font-weight: 700;
            margin-top: 10px;
            font-family: var(--font-montserrat);
        }
        .product-item__color { font-size: 14px; margin-bottom: 10px; }
        .product-item__price {
            font-weight: 700; margin-bottom: 15px; color: #333;
            font-family: var(--font-montserrat);
        }
        .product-item__btn {
            display: inline-block;
            background-color: var(--color-text);
            color: #fff;
            padding: 10px 30px;
            font-weight: 700;
            position: relative;
            overflow: hidden;
            width: 100%;
            border-radius: 8px;
        }

        .product-item__btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 50%;
            height: 100%;
            background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%);
            /* transform: skewX(-25deg); */
            transition: left 0.7s cubic-bezier(0.19, 1, 0.22, 1);
        }

        .product-item figure {
            width: 100%;
            aspect-ratio: 1 / 0.5;
        }

        .product-item figure img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        /* --------------------------------
        * Contents 5 (sec-movie)
        -------------------------------- */
        .sec-movie {
            background-color: var(--color-bg-dark);
            color: #fff;
            text-align: center;
        }
        .sec-movie__title {
            font-family: var(--font-montserrat);
            font-size: 56px;
            font-weight: 800;
            line-height: 1;
            color: #fff;
            margin-bottom: 0;
        }
        .sec-movie__video {
            margin-top: 40px;
            position: relative;
            width: 100%;
            padding-top: 56.25%; /* 16:9 Aspect Ratio */
        }
        .sec-movie__video iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        .sec-movie__divider {
            height: 1px;
            background-color: #555;
            margin: 80px 0;
        }
        .sec-movie__subtitle {
            font-family: var(--font-montserrat);
            font-size: 24px;
            font-weight: 800;
        }

        /* --------------------------------
        * Contents 6 (sec-store)
        -------------------------------- */
        .sec-store {
            background-color: var(--color-bg-gray);
            text-align: center;
        }
        .sec-store__title {
            font-family: var(--font-montserrat);
            font-size: 56px;
            font-weight: 900;
            margin-bottom: 30px;
            color: #111;
        }
        .sec-store__text {
            font-size: 16px;
            font-weight: 400;
            margin-bottom: 40px;
        }
        .sec-store__btn {
            display: inline-block;
            width: 285px;
            max-width: 100%;
            line-height: 54px;
            background-color: var(--color-text);
            color: #fff;
            font-weight: 700;
            transition: opacity 0.3s;
            border-radius: 8px;
        }

        .look-feature__right a{color: #13413B;}

        @media screen and (max-width: 980px) {
            .centered-content-area {margin: 0!important;}
            .side-column--left,
            .side-column--right{
                width: 0!important;
                display: none;
            }
        }

        /* --------------------------------
        * SP Styles (max-width: 741px)
        -------------------------------- */
        @media screen and (max-width: 740px) {
            .block-infobnr-wrapper{display: none;}
            .l-free-main > .forcms_block:not(.p-lensComSearchStore):last-of-type{padding-bottom: 0;}
            .sp-only{display: block;}
            .pc-only{display: none;}
            .sec-contents{padding: 0;}

            /* intro */
            .sec-intro__text{margin: 0 auto;}
            .sec-intro__slider-wrapper{
                padding: 50px 6%;
                background-size: contain;
            }
            .intro-layout__item--text h3{
                font-size: clamp(16px, 4.5vw, 20px);
                margin-bottom: 24px;
            }
            .intro-layout__item--text p{
                font-size: 13px;
                line-height: 1.8;
            }
            .intro-layout__item.intro-layout__item--text{padding: 0 8% 80px;}
            .intro-layout__right{display: none;}
            .sec-intro .sec-contents__inner{padding: 70px 0 0;}
            .sec-intro__title{
                font-size: 13vw;
                transform: scale(2);
                transition: opacity 0.1s, transform 0.1s;
            }

            .sec-intro__subtitle{margin-bottom: 35px;}
            .sec-intro__subtitle p > span{
                position: relative;
            }

            .sec-intro__subtitle p > span::after{
                position: absolute;
                content: "";
                left: 0;
                bottom: -4px;
                width: 100%;
                height: 6px;
                background: url(../img/border.png) no-repeat;
                background-size: cover;
            }            
            
            .sec-intro__line{display: none;}

            /* キャンペーン */
            .sec-campaign .sec-contents__inner{
                padding: 80px 0 50px;
            }
            .campaign-layout2{padding: 0 4%;}
            .campaign-layout1__main-text{
                font-size: 24px;
                line-height: 1.4;
            }
            .campaign-date__main .large{font-size: 26px;}
            .campaign-date__main span {font-size: 16px;}
            .campaign-date__sub {font-size: 11px;}
            .campaign-date__main{padding: 0 30px;}
            .campaign-layout1__ribbon-text{
                font-size: 16px;
                padding: 8px 0;
                margin-left: 12%;
                margin-bottom: 20px;
            }
            .campaign-layout1{margin-bottom: 0;}
            .campaign-layout1__left{padding: 20px 20px 20px;}
            .campaign-layout2__stores-title{
                text-align: center;
                font-size: 14px;
                margin-bottom: 20px;
            }

            .campaign-layout2__stores{padding: 20px;}
            .campaign-layout2__store-list{
                grid-template-columns: 1fr 1fr;
                gap: 10px;
            }

            .store-item__name{
                font-size: clamp(14px, 4vw, 16px);
                gap: 6px;
                display: inline-block;
                position: relative;
                padding-left: 25px;
            }

            .store-item__name::before{
                position: absolute;
                left: 0;
                top: 4px;
            }

            .sec-campaign__title{
                margin-bottom: 20px;
                line-height: 1;
            }
            .campaign-layout1__right{
                display: none;
            }
            .campaign-layout1__sp_icon{
                position: absolute;
                z-index: 1;
                width: 90px;
                height: 90px;
                top: 2px;
                left: 15px;
            }

            .campaign-layout1__right .line1 .small{font-size: 11px;}
            .campaign-date{margin-bottom: 0;}

            /* line up */
            .sec-lineup .sec-contents__inner{
                padding: 60px 0 70px;
                border-top: solid 1px rgba(255, 255, 255, 0.3);
            }
            .lineup-item__maintext{font-size: 32px;}
            .lineup-item__subtext{font-size: 18px;}
            .lineup-item__text{top: 70%;}

            /* look */
            .look-bg-title{
                font-weight: 800;
                font-size: 25vw;
                margin-bottom: 20px;
            }
            .look-item{
                padding: 0 8%;
                margin-bottom: 0;
            }
            .look-item__main{
                font-size: 46px;
                text-align: center;
            }

            .look-item__limited{
                text-align: center;
                font-size: 18px;
                margin-bottom: 20px;
            }

            .look-item__sub{
                text-align: center;
                font-size: 12px;
            }
            .product-list-wrapper{margin-top: 0;}
            .product-list{
                gap: 12px;
                padding: 24px 0 40px 8%;
            }

            .look-item__desc-title{
                text-align: center;
                font-size: 16px;
            }

            .look-item__model{
                text-align: center;
                font-size: 28px;
                margin-bottom: 10px;
            }

            .look-item__images-row2{
                margin-top: 10px;
                gap: 10px;
            }
            .look-item__desc-text{font-size: 14px;}
            .product-item__price{
                font-size: 18px;
                font-family: var(--font-montserrat);
            }

            .product-item__price span{
                font-size: 10px;
            }
            .product-item__model{font-size: 24px;}
            .look-feature{
                display: block;
            }

            .look-feature__left{
                padding: 14px;
                font-size: 14px;
                font-weight: 600;
                justify-content: center;
                border-bottom: solid 1px #111;
            }

            .look-feature__right{padding: 14px;}
            .look-feature__right p{
                font-size: 14px;
                font-weight: 400;
                margin-bottom: 12px;
            }            

            .look-feature__right .look-feature__title{
                font-size: 18px;
                font-weight: 600;
            }

            .look-feature__right a{
                background: url(../img/arrow.svg) no-repeat left center;
                padding-left: 25px;
                margin-left: 15px;
                font-size: 14px;
                color: #13413B;
            }
            .look-feature{margin-bottom: 10px;}
            .product-item__icon_inner{min-height: 36px;}
            .product-item__color{
                font-size: 12px;
                margin-bottom: 15px;
            }

            /* video */            
            .sec-movie .sec-contents__inner{
                padding: 80px 0 80px;
            }
            .sec-movie__video{
                width: 90%;
                margin: 40px 5% 0 5%;
            }
            .sec-movie__subtitle{font-size: 12px;}

            /* store */
            .sec-store .sec-contents__inner{padding: 80px 8% 80px 8%;}
            .sec-store__title{margin-bottom: 0;}
            .sec-store__btn{font-size: 16px;}
            .sec-store__text{
                text-align: left;
                font-weight: 500;
            }

            .product-list{margin-bottom: 20px;}
            .product-list-btn{padding-bottom: 30px;}    
            .product-list-btn a{
                width: 70%;
                font-size: 16px;
            }
        }

        /* --------------------------------
        * PC Styles (min-width: 741px)
        -------------------------------- */
        @media screen and (min-width: 741px) {
            #js-unt-getAjaxFooter .pane-footer,
            #js-ajax-infobnr,
            .block-header-obi{
                position: relative;
                z-index: 1;
            }

            body{min-width: 980px;}
            .breadcrumb{display: none;}
            .l-free-main{margin-top: -10px;}
            /* --------------------------------
            * PC Layout
            -------------------------------- */
            body {background-color: #EAEAEA;}
            .sp-only{display: none;}
            .pc-only{display: block;}

            .side-column {
                display: block;
                position: fixed;
                top: 0;
                width: 297px;
                height: 100%;
                z-index: 0; /* コンテンツより下 */
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat;
            }

            .is-header-obi-visible .side-column--left,
            .is-header-obi-visible .side-column--right{top: 119px;}            

            .side-column--left {
                left: 0;
                background-image: url('../img/left_fixed.png');
                background-size: cover;
                top: 91px;
            }
            .side-column--right {
                right: 0;
                background-image: url('../img/right_fixed.png');
                background-size: cover;                
                top: 91px;                
            }

            .centered-content-area {margin: 0 297px;}
            .sec-contents {padding: 100px 40px;}

            /* --------------------------------
            * PC MV
            -------------------------------- */
            .sec-mv {
	height: 746px;
	position: relative;
	overflow: hidden;
    height: auto;
    aspect-ratio: 16 / 9;	
}
.sec-contents {padding: 100px 40px;}
.sec-mv__video-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.sec-mv__video-wrapper iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.77vh;
    min-width: 100%;
    height: 100vw * 9 / 16;
    min-height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

            /* --------------------------------
            * PC Contents 1 (sec-intro)
            -------------------------------- */
            .sec-intro .sec-contents__inner{max-width: 1200px;}
            .sec-intro__title {font-size: 8vw;}
            .sec-intro__subtitle {
                font-size: 36px;
                margin-bottom: 8px;
            }
            .sec-intro__text { margin-bottom: 0; }
            .sec-intro__slider-wrapper { margin-bottom: 0; }

            .sec-intro__layout {
                flex-direction: row;
                gap: 40px;
                align-items: flex-end; /* 下揃え */
            }
            .intro-layout__left {
                width: calc(120% - 20px);
                gap: 40px;
            }
            .intro-layout__right {
                width: auto;
                gap: 40px;
            }
            .sec-intro__line{max-width: initial;}

            .sec-intro__subtitle{
                margin-bottom: 40px;
                display: inline-block;
            }
            .sunglasses_police .sec-intro .sec-contents__inner > img{display: none;}
            .sec-intro__subtitle{position: relative;}
            .sec-intro__subtitle:after{
                position: absolute;
                content: "";
                bottom: -5px;
                left: 0;
                width: 100%;
                height: 5px;
                background: url(/cms/contents/lp/sunglasses_police/img/border.png) no-repeat;
            }

            .intro-layout__item--text h3{margin-bottom: 30px;}

            /* --------------------------------
            * PC Contents 2 (sec-campaign)
            -------------------------------- */
            .sec-campaign__title {
                font-size: 7vw;
                margin-bottom: 20px;
                line-height: 1;
            }
            .campaign-layout1__ribbon-text{
                font-size: 1.2vw;
            }
            .campaign-layout1 {
                display: flex;
                align-items: center;
                gap: 20px;
                justify-content: center;
                margin-bottom: 20px;
                padding: 0 4%;
            }
            .campaign-layout1__left {
                padding: 0;
                margin: 0;
                max-width: 650px;
            }
            .campaign-layout1__main-text {
                line-height: 1.4;
            }
            .campaign-layout1__right {
                margin: 0;
            }

            .campaign-date{margin-bottom: 10px;}
            .campaign-layout1__right .line2{line-height: 1;}
            .campaign-layout1__right .line2 .unit,
            .campaign-layout1__right .line3{line-height: 1;}
            .campaign-layout1__right .line2 .num{
                line-height: 1;
                font-weight: 600;
            }

            .campaign-layout2__stores {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 20px 5%;
            }
            .campaign-layout2__stores-title {
                margin-bottom: 0;
            }
            .campaign-layout2__store-list {
                display: flex;
                gap: 5px;
                width: 80%;
            }

            .campaign-layout2__store-list a:hover{
                opacity: 0.7;
                transition: opacity 0.3s;
            }

            .campaign-layout2{padding: 0 8%;}

            .store-item__link{text-align: left;}
            .store-item{width: 49%;}

            .campaign-layout1__sp_icon{display: none;}

            /* --------------------------------
            * PC Contents 3 (sec-lineup)
            -------------------------------- */
            
            .sec-contents.sec-lineup{
                padding: 0 40px 0;
            }
            .sec-lineup__title { font-size: 6vw; margin-bottom: -55px; }
            .lineup-list {
                display: flex;
                flex-wrap: wrap;
                grid-template-columns: 1fr 1fr;
                gap: 1px;
            }
            .lineup-item{
                flex: 1;
                min-width: 300px;
            }
            .lineup-item:hover .lineup-item__image {
                transform: scale(1.1);
            }

            .lineup-item__image{width: 100%;}

            /* --------------------------------
            * PC Contents 4 (sec-look)
            -------------------------------- */
            .sec-look{
                padding: 80px 10% 100px 10%;
                background-image: radial-gradient(circle at 40% 20%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 20%), radial-gradient(circle at 40% 55%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 35%);
                background-repeat: no-repeat;
            }
            .sec-lineup .sec-contents__inner{max-width: 1200px;}
            .look-bg-title{
                margin-bottom: 0;
                line-height: 0.8;
                font-size: 11vw;
                word-wrap: break-word;
            }
            .look-item {
                flex-wrap: wrap;
                flex-direction: row;
                gap: 30px;
                align-items: flex-start;
                margin-bottom: 0;
            }
            .look-item:nth-child(even) {flex-direction: row;}
            .look-item:nth-child(odd) {flex-direction: row-reverse;}
            .look-item:nth-child(odd) .product-list-wrapper{margin-top: 0;}
            .look-item:last-child .product-list-wrapper{margin-bottom: 0;}
            .look-feature{
                margin-bottom: 10px;
                width: 100%;
            }           
            .look-item__desc-text{
                margin-top: 0;
                margin-bottom: 20px;
                line-height: 2;
            }
            .product-list-wrapper {
                margin-bottom: 100px;
                margin-top: 40px;
            }
            .product-list {
                overflow-x: visible;
                display: flex;
                justify-content: center;
                gap: 40px;
                padding-bottom: 0;
            }
            .product-item {
                flex: auto;
                max-width: calc(100% / 3 - 27px);
                padding: 50px 20px 20px;
            }
            .product-item__btn:hover::before {left: 150%;}
            .product-item img{margin-bottom: 35px;}
            .product-item__model{
                font-size: 24px;
                font-weight: 700;
            }

            .product-item__color{
                font-size: 12px;
                font-weight: 500;
                margin-bottom: 16px;
            }

            .look-feature__left{
                width: 20%;
                padding: 20px 40px; 
                display: flex;
                align-items: center;
                justify-content: center;
                border-right: solid 1px #111;
                font-size: 16px;
                font-weight: 600;           
            }

            .look-feature__right{
                width: 80%;
                padding: 20px 40px;
            }

            .look-feature__right p{
                font-size: 16px;
                font-weight: 400; 
                margin-bottom: 12px;                
            }
            
            .look-feature__right .look-feature__title{
                font-size: 22px;
                font-weight: 600;
                margin-bottom: 12px;
            }

            .look-feature__right a{
                padding-left: 25px;
                background: url(../img/arrow.svg) no-repeat left center;
            }

            .look-item__info,
            .look-item__images{
                flex: 1;
                min-width: 250px;
            }

            .look-item__images img{width: 100%;}
            .look-item__images-row2{
                margin-top: 40px;
                gap: 40px;
            }

            .product-list{margin-top: 0;}
            .product-item__icon{
               font-size: 0.6vw;
               padding: 7px 15px 8px; 
            }
            .product-item__icon_inner{
                min-height: 36px;
                vertical-align: bottom;
                display: inline-block;            
            }
            .look-item__desc-title{margin-top: 0;margin-bottom: 12px;}
            .look-item__limited{
                font-size: 27px;
                font-weight: 800;
                margin-bottom: 10px;
            }

            .look-item__main{margin-bottom: 40px;}
            .look-item__limited {margin-bottom: 35px;}
            .product-item__btn{
                font-size: 16px;
                font-weight: 600;
            }
            .product-item__price{
                font-size: 18px;
                font-weight: 700;
                margin-bottom: 24px;                
            }
            .product-item__price span{
                font-size: 10px;
                font-weight: 600;
            }

.sunglasses_police a:hover{opacity: .7;}
.product-item__icon::before,
.product-item__icon::after {
  content: none;
}

.product-item__icon {
  display: inline-block;
  max-width: 80%;
  width: 83%;
  box-sizing: border-box;
white-space: nowrap;  
  position: relative;
  background-color: #A08E5B;
  color: #fff;
  font-size: 0.7vw;
  font-weight: 600;
  text-align: center;
  --ribbon-notch-width: 15px; 
  padding: 8px calc(var(--ribbon-notch-width) + 10px);
  clip-path: polygon(
    0% 0%,                                      
    100% 0%,                                   
    calc(100% - var(--ribbon-notch-width)) 50%,
    100% 100%,                                  
    0% 100%,                                    
    var(--ribbon-notch-width) 50%              
  );
}


            /* --------------------------------
            * PC Contents 5 (sec-movie)
            -------------------------------- */
            .sec-movie {
                padding: 120px 0;
                width: 100%;
                position: relative;
                z-index: 1;
            }
            .sec-movie__title { font-size: 140px; }
            .sec-movie__divider {
                margin: 120px 0;
                width: 200vw;
                margin-left: -100vw;
            }
            .sec-movie__video--1 { padding-top: 46.76%; } /* 1052x492 */
            .sec-movie__video--2 { padding-top: 56.27%; } /* 1052x592 */

            /* --------------------------------
            * PC Contents 6 (sec-store)
            -------------------------------- */
            .sec-store__title { font-size: 140px; }
            .sec-store__btn:hover {
                opacity: 0.7;
            }
            .l-free-main > .forcms_block:not(.p-lensComSearchStore):last-of-type{padding-bottom: 0;}
            .campaign-layout1__right figure{width: 180px;}
        }


@media screen and (min-width: 741px) and (max-width: 1600px) {
    .sec-look {padding: 80px 40px 100px 40px;}
    .sec-lineup__title{margin-bottom: -40px;}
    .product-list{gap: 30px;}
    .product-item{
        padding: 50px 12px 20px;
        max-width: calc(100% / 3);
    }
    .side-column{width: 230px;}    
    .centered-content-area{margin: 0 230px;}
    .campaign-layout2{padding: 0 3%;}
    .campaign-layout1{padding: 0 3%;}
    .campaign-layout1__ribbon-text{font-size: 1.3vw;}
    .product-item__btn{font-size: 1.2vw;}
    .side-column--left,
    .side-column--right{background-position: center -50px;}
}

@media screen and (min-width: 1980px) {
    .campaign-layout1__ribbon-text {font-size: 1vw;}
}

@media screen and (min-width: 2500px) {
    .campaign-layout1__ribbon-text {font-size: 0.8vw;}
}

/* Animation */
.anim-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s, transform 0.8s;
}
.anim-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}
