{"title":"AW26 LINEUP","description":"\u003cp\u003e2026年秋冬コレクション。80年代アメリカのムードを、いまの感性で。\u003c\/p\u003e","products":[{"product_id":"denim-shirt-navy","title":"denim shirt","description":"\u003cp\u003e \u003cspan data-mce-fragment=\"1\"\u003e본격적인 데님 원단을 사용한 원 워시 셔츠.\u003c\/span\u003e \u003cbr\u003e\u003cspan data-mce-fragment=\"1\"\u003e셔츠를 좋아하는 디렉터가 실루엣에 구애되어, 어른스러움을 최대한으로 표현한 혼신의 1장입니다.\u003cbr\u003e 버튼 사양으로 클래식한 디자인도 헌 옷 같은 분위기로 귀엽습니다.\u003cbr\u003e 튈 탑스나 파일의 T등, 레이어드에도 향하고 있으므로, 다양한 코디네이터를 즐길 수 있습니다.\u003cbr\u003e 데님 원단으로되어 있기 때문에, 색 이동 등주의하시기 바랍니다.\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp\u003e model : Tsuzumi 104cm size2 , Hinata 114cm size3\u003cbr\u003e\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"utf-8\"\u003e(각각 착용 사진 하단에 모델명과 신장이 있습니다. 참고하십시오.)\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp\u003e color : \u003cspan\u003enavy\u003c\/span\u003e\u003cbr\u003e 크기 : 1, 2, 3, 4\u003c\/p\u003e\n\n\u003cp\u003e ㅤ\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan\u003ematerial: 코튼 100%\u003cbr\u003e\u003c\/span\u003e ※이쪽의 제품은 인디고 염색을의 제품이 되기 때문에 이하에 주의해 주십시오. \u003cbr\u003e・착용중에, 다른 의류나 백, 의자등 하는 것으로 색이 옮겨지는 일이 있습니다.\u003cbr\u003e 엷은 색, 흰색 제품과 조합하는 경우에는 특히 주의해 주십시오.\u003cbr\u003e・탈색하므로 다른 것과 함께 세탁하지 말아 주세요.\u003cbr\u003e\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/77328aab023d62ce64e50ef289755990_480x480.png?v=1694050988\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/77328aab023d62ce64e50ef289755990_480x480.png?v=1694050988\"\u003e ㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\n\n\u003cp\u003e 크기\u003cbr\u003e\u003c\/p\u003e\n\n\n\u003c\/td\u003e\n\n\u003ctd\u003e 1\u003c\/td\u003e\n\n\u003ctd\u003e 2\u003c\/td\u003e\n\n\u003ctd\u003e 3\u003c\/td\u003e\n\n\u003ctd\u003e 4\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e A:옷길이\u003c\/td\u003e\n\n\u003ctd\u003e\n\n\u003cp\u003e 47\u003c\/p\u003e\n\n\n\u003c\/td\u003e\n\n\u003ctd\u003e 52\u003c\/td\u003e\n\n\u003ctd\u003e 57\u003c\/td\u003e\n\n\u003ctd\u003e 69\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\n\n\u003cp\u003e B:가슴둘레\u003c\/p\u003e\n\n\n\u003c\/td\u003e\n\n\u003ctd\u003e 44\u003c\/td\u003e\n\n\u003ctd\u003e 47\u003c\/td\u003e\n\n\u003ctd\u003e 49\u003c\/td\u003e\n\n\u003ctd\u003e 51\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e C:소매 길이\u003c\/td\u003e\n\n\u003ctd\u003e 28\u003c\/td\u003e\n\n\u003ctd\u003e 32.5\u003c\/td\u003e\n\n\u003ctd\u003e 36.5\u003c\/td\u003e\n\n\u003ctd\u003e 42.5\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e 신장(cm)\u003c\/td\u003e\n\n\u003ctd\u003e 80-90\u003c\/td\u003e\n\n\u003ctd\u003e 95-105\u003c\/td\u003e\n\n\u003ctd\u003e 110-120\u003c\/td\u003e\n\n\u003ctd\u003e 120-130 \u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\n\n\n\u003c\/table\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\n\u003cstyle\u003e\u003c!--\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n--\u003e\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\n\u003cdiv class=\"slider_wrap\"\u003e\n\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0429.jpg?v=1694067301\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0429.jpg?v=1694067301\" alt=\"image1\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0436.jpg?v=1694067301\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0436.jpg?v=1694067301\" alt=\"Image2\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9362.jpg?v=1694067300\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9362.jpg?v=1694067300\" alt=\"Image3\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9368.jpg?v=1694067301\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9368.jpg?v=1694067301\" alt=\"Image4\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n \u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9364.jpg?v=1694067301\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9364.jpg?v=1694067301\" alt=\"Image5\"\u003e\u003c\/a\u003e \u003c\/figure\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\n\u003c!-- Background of PhotoSwipe. \nIt's a separate element as animating opacity is faster than rgba(). --\u0026gt;\n\u003cdiv class=\"pswp__bg\"\u003e\u003c\/div\u003e\n\n\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\n\u003c!-- Container that holds slides. \nPhotoSwipe keeps only 3 of them in the DOM to save memory.\n Don't modify these 3 pswp__item elements, data is added later on. --\u0026gt; \n\u003cdiv class=\"pswp__container\"\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003c\/div\u003e\n\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e\u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e\u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e\u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"1 \/ navy","offer_id":42765407158465,"sku":"OJ0601230402SH100NV02","price":7150.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/senimshit.png?v=1725361062"},{"product_id":"paperly-knitkids_gy","title":"paperly knit(kids)","description":"\u003cp\u003e 올해는 더 눈이 거친 뜨개질 땅에서 푹신한 니트를 만들었습니다. 색감도 사용하기 쉬운 그레이지와 차콜의 2색 전개입니다.\u003cbr\u003e 느슨한 보이는 느낌의 니트이므로 하의를 가리지 않고 소화된 코디를 즐길 수 있습니다. 어른 사이즈도 전개하므로, 갖추어져도 입고 싶은 아이템입니다.\u003c\/p\u003e\n\n\u003cp\u003e model : Tensei 116cm size3 , Kinari 123cm (레이디스 착용)\u003cbr\u003e (각각 착용 사진 하단에 모델명과 신장이 있습니다. 참고하십시오.)\u003c\/p\u003e\n\n \u003cp\u003ecolor : \u003cspan\u003echarcoal , \u003ca href=\"https:\/\/ooju.jp\/collections\/newarrival\/products\/paperly-knitkids%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC?variant=47686510575809\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003egreige\u003c\/span\u003e\u003c\/a\u003e\u003cbr\u003e\u003c\/span\u003e 크기 : 1, 2, 3, 4\u003c\/p\u003e\n\n\u003cp\u003e ㅤ\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan\u003ematerial:면 75% 나일론 25%\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp\u003e \u003cspan\u003eㅤ\u003c\/span\u003e \u003c\/p\u003e\n\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/24ss-1_480x480.png?v=1708490838\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/24ss-1_480x480.png?v=1708490838\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e \u003cspan\u003eㅤㅤ\u003c\/span\u003e \u003c\/p\u003e\n\n\u003ctable height=\"161\" style=\"width: 396px;\"\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e 크기\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px; text-align: center;\"\u003e 1\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px; text-align: center;\"\u003e 2\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px; text-align: center;\"\u003e 3\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px; text-align: center;\"\u003e 4\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e A:품\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px;\"\u003e 39\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px;\"\u003e 44\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 49\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 55\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e\n\n\u003cp\u003e B:옷길이\u003c\/p\u003e\n\n\n\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px;\"\u003e 39.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px;\"\u003e 41.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 48\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 50\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e c:소매 길이\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px;\"\u003e 23.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px;\"\u003e 28.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 32.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 39\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e D:천건\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px;\"\u003e 12.5\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px;\"\u003e 13\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 14\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 14.5\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd style=\"width: 47px;\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e신장(cm)\u003c\/span\u003e\n\n\u003c\/td\u003e\n\n\u003ctd style=\"width: 68.5547px;\"\u003e 80-90\u003c\/td\u003e\n\n\u003ctd style=\"width: 74.4453px;\"\u003e 95-105\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 110-120\u003c\/td\u003e\n\n\u003ctd style=\"width: 83px;\"\u003e 125-135 \u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\n\n\n\u003c\/table\u003e\n\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\n\u003cstyle\u003e\u003c!--\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n--\u003e\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\n\u003cdiv class=\"slider_wrap\"\u003e\n\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0027_94c41d49-96f2-413e-8448-ecac502cc988.jpg?v=1708519422\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0027_94c41d49-96f2-413e-8448-ecac502cc988.jpg?v=1708519422\" alt=\"image1\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0030.jpg?v=1708519422\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0030.jpg?v=1708519422\" alt=\"Image2\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0036.jpg?v=1708519422\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0036.jpg?v=1708519422\" alt=\"Image3\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0089.jpg?v=1708519422\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0089.jpg?v=1708519422\" alt=\"Image4\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n \u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0088_372f56ba-f655-465d-9ce0-36fe6697f9ec.jpg?v=1708519422\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0088_372f56ba-f655-465d-9ce0-36fe6697f9ec.jpg?v=1708519422\" alt=\"Image5\"\u003e\u003c\/a\u003e \u003c\/figure\u003e\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\n\u003c!-- Background of PhotoSwipe. \nIt's a separate element as animating opacity is faster than rgba(). --\u0026gt; \n\u003cdiv class=\"pswp__bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\n\u003c!-- Container that holds slides. \nPhotoSwipe keeps only 3 of them in the DOM to save memory.\n Don't modify these 3 pswp__item elements, data is added later on. --\u0026gt; \n\u003cdiv class=\"pswp__container\"\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e\u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e\u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e\u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e\u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"charcoal \/ 1","offer_id":47480158847169,"sku":"OJ0601240102KT147GY02","price":7480.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid17.jpg?v=1725361572"},{"product_id":"oj0601240503pt412gy","title":"fluffy rib pants_charcoal","description":"\u003cp\u003e昨シーズンも大変ご好評いただいたリブパンツの予約販売がスタートいたしました。薄手のベロアのようなfluffy(ふわふわ)な質感のリブパンツは、真夏以外の3シーズン活躍するデイリーユースな1枚。程よいセミフレアシルエットは、足長効果抜群です。ベーシックなチャコールとネイビーで、トップスの色味を選ばずコーディネートを楽しめるのも嬉しいポイント。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : isuzu 93cm size2\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ポリエステル93%、ポリウレタン7%\u003c\/span\u003e       \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/edf2629565489b228b9109fd15d62f5e_600x600.png?v=1716372289\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 145.937px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003e47.8\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e53.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e62.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e70.8\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003eB:ウエスト\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e24.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003eC:ヒップ\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e27\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e29\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e31\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e33\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv id=\"slider\" class=\"slider_list my-gallery\"\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca data-size=\"750x1050\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0122.jpg?v=1733376591\"\u003e\u003cimg alt=\"image1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0122.jpg?v=1733376591\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca data-size=\"750x1050\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0125.jpg?v=1733376591\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0125.jpg?v=1733376591\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\n\u003cdiv class=\"pswp__bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"charcoal \/ 1","offer_id":48825532383425,"sku":"OJ0601240503PT412GY02","price":3520.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":48825532416193,"sku":"OJ0601240503PT412GY03","price":3520.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 3","offer_id":48825532448961,"sku":"OJ0601240503PT412GY04","price":3520.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":48825532481729,"sku":"OJ0601240503PT412GY05","price":3520.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9980.jpg?v=1733377348"},{"product_id":"oj0601240503pt412nv","title":"fluffy rib pants_navy","description":"\u003cp\u003e昨シーズンも大変ご好評いただいたリブパンツの予約販売がスタートいたしました。薄手のベロアのようなfluffy(ふわふわ)な質感のリブパンツは、真夏以外の3シーズン活躍するデイリーユースな1枚。程よいセミフレアシルエットは、足長効果抜群です。ベーシックなチャコールとネイビーで、トップスの色味を選ばずコーディネートを楽しめるのも嬉しいポイント。\u003c\/p\u003e\n\u003cp\u003emodel : isuzu 93cm size2\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ポリエステル93%、ポリウレタン7%\u003c\/span\u003e       \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/edf2629565489b228b9109fd15d62f5e_600x600.png?v=1716372289\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 145.937px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003e47.8\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e53.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e62.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e70.8\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003eB:ウエスト\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e24.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003eC:ヒップ\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e27\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e29\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e31\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e33\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0128.jpg?v=1733376591\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0128.jpg?v=1733376591\" alt=\"image1\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0134.jpg?v=1733376591\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0134.jpg?v=1733376591\" alt=\"Image2\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\n\u003cdiv class=\"pswp__bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"navy \/ 1","offer_id":48825554337985,"sku":"OJ0601240503PT412NV02","price":3520.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0047-2.jpg?v=1733377420"},{"product_id":"denim-over-all","title":"denim over all","description":"\u003cp\u003e\u003cspan\u003eoojuでも人気の高いオーバーオールシリーズ。\u003cbr\u003e程よいストレッチ感のあるデニム素材のオーバーオールは、アクティブなキッズの動きを邪魔せず、着脱しやすいのも嬉しいポイント。\u003cbr\u003e濃いブルーの生地を採用し、シルエットもベーシックながらもお尻のラインや背中のラインにこだわりました。\u003cbr\u003e初めは生地の色が濃いですが、洗う度に色が落ちてデニムの風合いをお楽しみいただけます。\u003cbr\u003e※モデル着用はサンプルです。色味は商品写真をご参考ください。\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003e\u003cbr\u003e\u003cstrong\u003eこちらの製品はインディゴ染めの製品になりますので以下のにご注意ください。\u003cbr\u003e・着用中に、ほかの衣類やバック、椅子などすれることで色が移ることがあります。\u003cbr\u003e　淡色、白の製品と組み合わせる場合には特にご注意ください。\u003cbr\u003e・色落ちしますので他ものと一緒に洗濯しないでください。\u003c\/strong\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003emodel : May 78cm  size1\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e　\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory, indigo\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3 ,4\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン 95%、ポリウレタン 5%\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cimg style=\"margin-bottom: 16px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/c_600x600.png?v=1716373839\"\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ctable style=\"height: 113.969px;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e29\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e36\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:股上\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e19\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e21\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e23.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:股下\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e25\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e31\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e39\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv id=\"slider\" class=\"slider_list my-gallery\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"slider_list my-gallery\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5090_89414232-8706-4b22-8bc7-26e4f9de95cd.jpg?v=1756974504\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"1 \/ indigo","offer_id":49399406788801,"sku":"OJ-25SSOP01ID01","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"1 \/ ivory","offer_id":50304257097921,"sku":"OJ-25SSOP01IV01","price":8250.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ indigo","offer_id":49399406821569,"sku":"OJ-25SSOP01ID02","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ ivory","offer_id":50304257130689,"sku":"OJ-25SSOP01IV02","price":8250.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ indigo","offer_id":49399406854337,"sku":"OJ-25SSOP01ID03","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ ivory","offer_id":50304257163457,"sku":"OJ-25SSOP01IV03","price":8250.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ indigo","offer_id":49399406887105,"sku":"OJ-25SSOP01ID04","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ ivory","offer_id":50304257196225,"sku":"OJ-25SSOP01IV04","price":8250.0,"currency_code":"JPY","in_stock":true},{"title":"1 \/ navy","offer_id":50463844827329,"sku":"OJ0601240204OP171NV02","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ navy","offer_id":50463844860097,"sku":"OJ0601240204OP171NV03","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":50463844892865,"sku":"OJ0601240204OP171NV04","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ navy","offer_id":50463844925633,"sku":"OJ0601240204OP171NV05","price":8250.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7452_c3e5f00e-0570-4a74-a7e0-c2d2d24d5478.jpg?v=1758159719"},{"product_id":"cutoff-sweat-pants-grey","title":"cutoff sweat pants_grey","description":"\u003cp\u003eリラックス感溢れるストレートシルエットのスウェットパンツ。\u003cbr\u003e裾は切りっぱなしのカットオフにすることで、履いていくうちに少しくるっと丸まり、ヴィンテージっぽい雰囲気に。\u003cbr\u003eウエストゴムのノンストレスなスウェットは、マストハブな1枚です。\u003cbr\u003e\u003cbr\u003e※モデル着用はサンプルです。\u003cbr\u003e※刺繍の色は商品写真をご確認ください。\u003cbr\u003eチャコール ＝ チャコール\u003cbr\u003eグレー ＝ グリーングレー\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Kai 92cm size2 , emma 102cm size2\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ecolor : charcoal , grey\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003esize : 1 , 2 , 3 , 4\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン100%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/LINE-PANTS_600x600.png?v=1739328928\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable style=\"width: 99.8811%; height: 228.323px;\" height=\"269\" width=\"560\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 42.8542px;\"\u003e\n\u003ctd style=\"width: 17.6686%; height: 42.8542px;\"\u003esize                    \u003c\/td\u003e\n\u003ctd style=\"width: 17.1277%; height: 42.8542px;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 19.4715%; height: 42.8542px;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"width: 23.5769%; height: 42.8542px;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"width: 20.7749%; height: 42.8542px;\"\u003e\n\u003cp\u003e4\u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 60.2292px;\"\u003e\n\u003ctd style=\"width: 17.6686%; height: 60.2292px;\"\u003eA:総丈           \u003c\/td\u003e\n\u003ctd style=\"width: 17.1277%; height: 60.2292px;\"\u003e\n\u003cp\u003e47.5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 19.4715%; height: 60.2292px;\"\u003e56.5\u003c\/td\u003e\n\u003ctd style=\"width: 23.5769%; height: 60.2292px;\"\u003e67.5\u003c\/td\u003e\n\u003ctd style=\"width: 20.7749%; height: 60.2292px;\"\u003e\u003cspan\u003e76.5\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 38.9375px;\"\u003e\n\u003ctd style=\"width: 17.6686%; height: 38.9375px;\"\u003e\n\u003cp\u003eB:ウエスト\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 17.1277%; height: 38.9375px;\"\u003e\u003cspan\u003e42.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"width: 19.4715%; height: 38.9375px;\"\u003e45.0\u003c\/td\u003e\n\u003ctd style=\"width: 23.5769%; height: 38.9375px;\"\u003e48.0\u003c\/td\u003e\n\u003ctd style=\"width: 20.7749%; height: 38.9375px;\"\u003e50.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 21.5625px;\"\u003e\n\u003ctd style=\"width: 17.6686%; height: 21.5625px;\"\u003eC:ヒップ\u003c\/td\u003e\n\u003ctd style=\"width: 17.1277%; height: 21.5625px;\"\u003e34.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.4715%; height: 21.5625px;\"\u003e36.0\u003c\/td\u003e\n\u003ctd style=\"width: 23.5769%; height: 21.5625px;\"\u003e38.5\u003c\/td\u003e\n\u003ctd style=\"width: 20.7749%; height: 21.5625px;\"\u003e41.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 21.6146px;\"\u003e\n\u003ctd style=\"width: 17.6686%; height: 21.6146px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"width: 17.1277%; height: 21.6146px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"width: 19.4715%; height: 21.6146px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 23.5769%; height: 21.6146px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 20.7749%; height: 21.6146px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"grey \/ 1","offer_id":49528626774209,"sku":"OJ-25AWPT01GR01","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"grey \/ 2","offer_id":49528626806977,"sku":"OJ-25AWPT01GR02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"grey \/ 3","offer_id":49528626839745,"sku":"OJ-25AWPT01GR03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"grey \/ 4","offer_id":49528626872513,"sku":"OJ-25AWPT01GR04","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6952_7a7ad9f4-5b6a-4e0e-9298-4b6a3861a2af.jpg?v=1758088789"},{"product_id":"cutoff-sweat-pants-charcoal","title":"cutoff sweat pants_charcoal","description":"\u003cp\u003eリラックス感溢れるストレートシルエットのスウェットパンツ。\u003cbr\u003e裾は切りっぱなしのカットオフにすることで、履いていくうちに少しくるっと丸まり、ヴィンテージっぽい雰囲気に。\u003cbr\u003eウエストゴムのノンストレスなスウェットは、マストハブな1枚です。\u003cbr\u003e\u003cbr\u003e※モデル着用はサンプルです。\u003cbr\u003e※刺繍の色は商品写真をご確認ください。\u003cbr\u003eチャコール ＝ チャコール\u003cbr\u003eグレー ＝ グリーングレー\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : ichika 117cm size3 \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ecolor : charcoal , grey\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003esize : 1 , 2 , 3 , 4\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン100%\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/LINE-PANTS_600x600.png?v=1739328928\"\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 206.344px;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e4\u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 55.1875px;\"\u003e\n\u003ctd style=\"height: 55.1875px;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 55.1875px;\"\u003e\u003cspan\u003e47.5    \u003cbr\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 55.1875px;\"\u003e\n\u003cp\u003e\u003cspan\u003e56.5\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 55.1875px;\"\u003e\n\u003cp\u003e\u003cspan\u003e67.5   \u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 55.1875px;\"\u003e\u003cspan\u003e76.5    \u003cbr\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:ウエスト\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\u003cspan\u003e42.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e45.0\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48.0\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e50.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:ヒップ\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34.0\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e36.0\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e38.5\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e41.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"charcoal \/ 1","offer_id":49528659869889,"sku":"OJ-25AWPT01CG01","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":49528659902657,"sku":"OJ-25AWPT01CG02","price":5500.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7491.jpg?v=1757402194"},{"product_id":"fleece-border-long-t-shirts-green","title":"fleece border long t-shirts_green","description":"\u003cp\u003e毎シーズン大人気のボーダーロングTシャツに今シーズンも新色が登場！\u003cbr\u003eふわふわで柔らかいフリース風の素材感は、肌触りがよく着心地も抜群です。\u003cbr\u003e\u003cspan\u003eオーバーサイズのシルエットなので、タイトなボトムと合わせてチュニック風に着るのもグッドバランス。\u003cbr\u003eデニムとも相性の良い3色展開です。\u003cbr\u003eレトロでインパクトのあるマルチボーダーなので、秋冬のコーディネートの主役になる1枚です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Kai\u003cspan\u003e 92cm size2\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :  ivory, lilac, green\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3 , 4\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン50％、ポリウレタン50%\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/border_600x600.png?v=1732158683\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 181px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e44\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e30\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20.5938px;\"\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\" style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8463_11d32b85-d99f-40f8-8995-6958e5c327fe_480x480.jpg?v=1759370119\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"green \/ 1","offer_id":49559663214785,"sku":"OJ-25AWCU01GR01","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 2","offer_id":49559663247553,"sku":"OJ-25AWCU01GR02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 3","offer_id":49559663280321,"sku":"OJ-25AWCU01GR03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 4","offer_id":49559663313089,"sku":"OJ-25AWCU01GR04","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5751_48bf5427-720b-45d8-82bb-6c0465cd4e09.jpg?v=1758767160"},{"product_id":"fleece-border-long-t-shirts-lilac","title":"fleece border long t-shirts_lilac","description":"\u003cp\u003e毎シーズン大人気のボーダーロングTシャツに今シーズンも新色が登場！\u003cbr\u003eふわふわで柔らかいフリース風の素材感は、肌触りがよく着心地も抜群です。\u003cbr\u003e\u003cspan\u003eオーバーサイズのシルエットなので、タイトなボトムと合わせてチュニック風に着るのもグッドバランス。\u003cbr\u003eデニムとも相性の良い3色展開です。\u003cbr\u003eレトロでインパクトのあるマルチボーダーなので、秋冬のコーディネートの主役になる1枚です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e model : Ichika\u003cspan\u003e 117cm size3\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :  ivory, lilac, green\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン50％、ポリウレタン50％\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/border_600x600.png?v=1732158683\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 181px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e44\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e30\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20.5938px;\"\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\" style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8463_480x480.jpg?v=1759369868\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"lilac \/ 1","offer_id":49559676682433,"sku":"OJ-25AWCU01LI01","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"lilac \/ 2","offer_id":49559676715201,"sku":"OJ-25AWCU01LI02","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"lilac \/ 3","offer_id":49559676747969,"sku":"OJ-25AWCU01LI03","price":5500.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6537.jpg?v=1759994558"},{"product_id":"fleece-border-long-t-shirts-ivory","title":"fleece border long t-shirts_ivory","description":"\u003cp\u003e毎シーズン大人気のボーダーロングTシャツに今シーズンも新色が登場！\u003cbr\u003eふわふわで柔らかいフリース風の素材感は、肌触りがよく着心地も抜群です。\u003cbr\u003e\u003cspan\u003eオーバーサイズのシルエットなので、タイトなボトムと合わせてチュニック風に着るのもグッドバランス。\u003cbr\u003eデニムとも相性の良い3色展開です。\u003cbr\u003eレトロでインパクトのあるマルチボーダーなので、秋冬のコーディネートの主役になる1枚です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e model : \u003cspan\u003e Kai 92cm size1, Sui 88cm size 1\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :  ivroy , lilac, green\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン50％、ポリウレタン50％\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/border_600x600.png?v=1732158683\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 181px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e44\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e30\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20.5938px;\"\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\" style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8463_480x480.jpg?v=1759369868\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"ivory \/ 1","offer_id":49559686185153,"sku":"OJ-25AWCU01IV01","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"ivory \/ 2","offer_id":49559686217921,"sku":"OJ-25AWCU01IV02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"ivory \/ 3","offer_id":49559686250689,"sku":"OJ-25AWCU01IV03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"ivory \/ 4","offer_id":49559686283457,"sku":"OJ-25AWCU01IV04","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5970_d6415288-8e8b-4edd-9e01-8d0690b043fb.jpg?v=1759994440"},{"product_id":"pencil-border-long-t-shirts","title":"pencil border long T-shirts","description":"\u003cp\u003e昨年人気だったボーダーロングTシャツに新色が追加され再登場！！\u003cbr\u003e\u003cbr\u003eトレンドのレトロなマルチボーダーは、\u003cspan\u003eコーディネートの主役になる1枚です。\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eオーバーサイズのシルエットは、タイトなボトムと合わせてチュニック風に着ても、デニムと合わせてもグッドバランス。\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003e柔らかい素材感は、肌触りがよく着心地も抜群です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e model : Takito\u003cspan\u003e 87cm size1, Hiyori 86cm size1\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :  beige, green,charcoal\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン100%\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/border_600x600.png?v=1732158683\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 181px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e44\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e56\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e22\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e30\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e34\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20.5938px;\"\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 20.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"beige \/ 1","offer_id":50463823134913,"sku":"OJ-CU2031BG02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"beige \/ 2","offer_id":50463823167681,"sku":"OJ-CU2031BG03","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"beige \/ 3","offer_id":50463823200449,"sku":"OJ-CU2031BG04","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"beige \/ 4","offer_id":50463823233217,"sku":"OJ-CU2031BG05","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 1","offer_id":50463823265985,"sku":"OJ-CU2031CG02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":50463823298753,"sku":"OJ-CU2031CG03","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":50463823331521,"sku":"OJ-CU2031CG04","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":50463823364289,"sku":"OJ-CU2031CG05","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 1","offer_id":50463823397057,"sku":"OJ-CU2031GR02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 2","offer_id":50463823429825,"sku":"OJ-CU2031GR03","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"green \/ 3","offer_id":50463823462593,"sku":"OJ-CU2031GR04","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 4","offer_id":50463823495361,"sku":"OJ-CU2031GR05","price":4950.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5736.jpg?v=1744105644"},{"product_id":"curved-rib-sweat-shirts","title":"curved rib sweat shirts","description":"\u003cp\u003e\u003cspan\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eoojuでは初となるラグランスリーブのスウェットシャツ。\u003cbr\u003e首元と袖口のカーブモチーフのリブが、カジュアルなスウェットをスタイリッシュに格上げしてくれます。\u003cbr\u003eボトムを選ばないグレー、イエロー、新色のピーチと3色展開。\u003cbr\u003e\u003cbr\u003e定番のoojuスウェットよりも少しコンパクトなトゥルーフィットです。\u003cbr\u003eサイズ感はモデルの着用画像をご参考ください。\u003cbr\u003e実際の商品はロゴの色が少し濃くなります。\u003cbr\u003e静物画像をご覧ください。\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003emodel : May 78cm size1, Hiyori 86cm size1,Takito 83cm size1, Ichika 111cm size3\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :  grey, yellow,peach\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン 100%\u003cbr\u003e                 リブ部分：コットン 97% , ポリウレタン 3%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/sweat_480x480.png?v=1707300940\" alt=\"\"\u003e \u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 207px; width: 86.3636%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px; width: 27.7195%;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 18.5507%;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 16.2052%;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 17.2714%;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 18.5507%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px; width: 27.7195%;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e35.5\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 16.2052%;\"\u003e38.5\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 17.2714%;\"\u003e42.5\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e46.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px; width: 27.7195%;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 18.5507%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 16.2052%;\"\u003e44.0\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 17.2714%;\"\u003e48.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px; width: 18.5507%;\"\u003e54.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px; width: 27.7195%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 16.2052%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 17.2714%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px; width: 27.7195%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 16.2052%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 17.2714%;\"\u003e\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px; width: 27.7195%;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 16.2052%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 17.2714%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px; width: 18.5507%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"grey \/ 1","offer_id":50463823659201,"sku":"OJ0601250102CU413GY02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"grey \/ 2","offer_id":50463823691969,"sku":"OJ0601250102CU413GY03","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"grey \/ 3","offer_id":50463823724737,"sku":"OJ0601250102CU413GY04","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"grey \/ 4","offer_id":50463823757505,"sku":"OJ0601250102CU413GY05","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"peach \/ 1","offer_id":50463823790273,"sku":"OJ-CU2029PE01","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"peach \/ 2","offer_id":50463823823041,"sku":"OJ-CU2029PE02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"peach \/ 3","offer_id":50463823855809,"sku":"OJ-CU2029PE03","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"peach \/ 4","offer_id":50463823888577,"sku":"OJ-CU2029PE04","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 1","offer_id":50463823921345,"sku":"OJ0601250102CU413YE02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 2","offer_id":50463823954113,"sku":"OJ0601250102CU413YE03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 3","offer_id":50463823986881,"sku":"OJ0601250102CU413YE04","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 4","offer_id":50463824019649,"sku":"OJ0601250102CU413YE05","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7176_e0e7a76e-8fe0-4318-8a77-27b3ae85bbc8.jpg?v=1757835126"},{"product_id":"corduroy-flare-pants","title":"corduroy flare pants","description":"\u003cp\u003e本格的な太畝が特徴のコーデュロイパンツ。程よいストレッチで、キッズのアクティブな動きも邪魔しない素材感です。\u003cbr\u003e絶妙なセミフレアシルエットは、足長効果も抜群。トレンドのブラウンとベーシックなチャコールは、トップスの色味を選ばずコーディネートを楽しめるのも嬉しいポイント。\u003cbr\u003e旬の80'sスタイルを是非取り入れてみてください。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Sui 88cm size1\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : brown, charcoal\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： コットン97%、ポリウレタン3%\u003c\/span\u003e       \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/edf2629565489b228b9109fd15d62f5e_600x600.png?v=1716372289\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 145.937px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003e47.8\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e53.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e62.8\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e70.8\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003eB:ウエスト\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e22.0\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e24.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003eC:ヒップ\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e27.0\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e29.0\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e31.0\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e33.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"brown \/ 1","offer_id":50463824871617,"sku":"OJ-25AWPT02BR01","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"brown \/ 2","offer_id":50463824904385,"sku":"OJ-25AWPT02BR02","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"brown \/ 3","offer_id":50463824937153,"sku":"OJ-25AWPT02BR03","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"brown \/ 4","offer_id":50463824969921,"sku":"OJ-25AWPT02BR04","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 1","offer_id":50463825002689,"sku":"OJ-25AWPT02CG01","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":50463825035457,"sku":"OJ-25AWPT02CG02","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":50463825068225,"sku":"OJ-25AWPT02CG03","price":6270.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 4","offer_id":50463825100993,"sku":"OJ-25AWPT02CG04","price":6270.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5205_51c5bdd0-44f0-4af6-840d-c8bde8b53dc2.jpg?v=1758087487"},{"product_id":"ooju-jeans","title":"ooju jeans","description":"\u003cp\u003e\u003cspan\u003eoojuの中でも不動の大人気アイテム、今回は新色を追加しました。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eアイスブルーをベースにダメージ加工を施したこれからの季節にコーディネートしやすいカラーです。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eTシャツはもちろん、ブラウスやシャツ、秋口にはタートルネックニットなど、ooju jeansの持ち味であるシルエットの良さがアイテムを選ばず合わせられます。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eすでにお持ちの方もこれから新たにという方へも、とてもおすすめの1本です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003emodel : May 78cm  size1, Kai 91cm size 2\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e indigo, blue \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：\u003cmeta charset=\"utf-8\"\u003e本体 \/ 綿100％　\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003e　　　　　パッチ\/ 合成皮革\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/11_bc5d51c1-a8e6-4aa7-acf4-c68e79619569_480x480.png?v=1650013082\" alt=\"\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003e※サイズ１のみウエストゴムのイージー仕様になります。 サイズ２~４はアジャスターでウエストが調整出来る仕様となります。ㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003esize \u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e身長\u003c\/td\u003e\n\u003ctd\u003e90\u003c\/td\u003e\n\u003ctd\u003e95-105\u003c\/td\u003e\n\u003ctd\u003e110-120\u003c\/td\u003e\n\u003ctd\u003e120-130\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd\u003e42\u003c\/td\u003e\n\u003ctd\u003e55\u003c\/td\u003e\n\u003ctd\u003e58\u003c\/td\u003e\n\u003ctd\u003e62.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003eB:ヒップ\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e33.5\u003c\/td\u003e\n\u003ctd\u003e32.3\u003c\/td\u003e\n\u003ctd\u003e33.7\u003c\/td\u003e\n\u003ctd\u003e36\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eC:股上\u003c\/td\u003e\n\u003ctd\u003e19\u003c\/td\u003e\n\u003ctd\u003e19.5\u003c\/td\u003e\n\u003ctd\u003e21\u003c\/td\u003e\n\u003ctd\u003e22\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eD:股下\u003c\/td\u003e\n\u003ctd\u003e27\u003c\/td\u003e\n\u003ctd\u003e37.5\u003c\/td\u003e\n\u003ctd\u003e46\u003c\/td\u003e\n\u003ctd\u003e52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eE:もも幅\u003c\/td\u003e\n\u003ctd\u003e20\u003c\/td\u003e\n\u003ctd\u003e21\u003c\/td\u003e\n\u003ctd\u003e22.5\u003c\/td\u003e\n\u003ctd\u003e23.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eF:裾幅\u003c\/td\u003e\n\u003ctd\u003e12.5\u003c\/td\u003e\n\u003ctd\u003e14.2\u003c\/td\u003e\n\u003ctd\u003e15.5\u003c\/td\u003e\n\u003ctd\u003e16.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"img\"\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"pswp\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton title=\"Close (Esc)\" class=\"pswp__button pswp__button--close\"\u003e\u003c\/button\u003e \u003cbutton title=\"Toggle fullscreen\" class=\"pswp__button pswp__button--fs\"\u003e\u003c\/button\u003e \u003cbutton title=\"Zoom in\/out\" class=\"pswp__button pswp__button--zoom\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton title=\"Previous (arrow left)\" class=\"pswp__button pswp__button--arrow--left\"\u003e \u003c\/button\u003e \u003cbutton title=\"Next (arrow right)\" class=\"pswp__button pswp__button--arrow--right\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"blue \/ 1","offer_id":50463825232065,"sku":"OJ-25SSPT01BL01","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 2","offer_id":50463825264833,"sku":"OJ-25SSPT01BL02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 3","offer_id":50463825297601,"sku":"OJ-25SSPT01BL03","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"gray \/ 1","offer_id":50463825330369,"sku":"OJ0601240103PT157GY02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"gray \/ 2","offer_id":50463825363137,"sku":"OJ0601240103PT157GY03","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 1","offer_id":50463825395905,"sku":"OJ-25SSPT01ID01","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 2","offer_id":50463825428673,"sku":"OJ-25SSPT01ID02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 3","offer_id":50463825461441,"sku":"OJ-25SSPT01ID03","price":5940.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7181.jpg?v=1756795137"},{"product_id":"pullover-hoodie","title":"pullover hoodie","description":"\u003cp\u003e程よいオーバーサイズのシルエットがリラックスムード溢れるスウェットフーディー。\u003cbr\u003e胸には \"Club ooju\" のロゴ \"CO\" をふわふわのサガラ刺繍でオン。カレッジスタイルに仕上げたキャッチーな1枚です。\u003cbr\u003e背中にさりげなく入ったooju刺繍も、バックスタイルのアクセントです。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Ichika 117cm size3\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : charcoal , ivory\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： 本体：コットン100％\u003cbr\u003e　　　　   リブ部分：コットン95%、ポリエステル5%\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/24aw-disney_480x480.png?v=1729077722\"\u003e\u003c\/div\u003e\n\u003ctable style=\"width: 91.8097%; height: 149.563px;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 35.5938px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 35.5938px;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 35.5938px;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 35.5938px;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 35.5938px;\"\u003e\n\u003cp\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 19.5938px;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 19.5938px;\"\u003e44.0\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 19.5938px;\"\u003e47.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e49.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e51.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 35.5938px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 35.5938px;\"\u003e38.0\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 35.5938px;\"\u003e43.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 35.5938px;\"\u003e49.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 35.5938px;\"\u003e55.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 19.5938px;\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 19.5938px;\"\u003e41.0\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 19.5938px;\"\u003e44.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e46.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e48.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 19.5938px;\"\u003eD:袖丈\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 19.5938px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 19.5938px;\"\u003e28.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e33.0\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e38.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 28.2257%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%; height: 19.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%; height: 19.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%; height: 19.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"charcoal \/ 1","offer_id":50463825592513,"sku":"OJ-25AWCU03CG01","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":50463825625281,"sku":"OJ-25AWCU03CG02","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":50463825658049,"sku":"OJ-25AWCU03CG03","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 1","offer_id":50463825690817,"sku":"OJ-25AWCU03IV01","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 2","offer_id":50463825723585,"sku":"OJ-25AWCU03IV02","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 3","offer_id":50463825756353,"sku":"OJ-25AWCU03IV03","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 4","offer_id":50463825789121,"sku":"OJ-25AWCU03IV04","price":6930.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6646.jpg?v=1757402921"},{"product_id":"corduroy-over-all","title":"corduroy over all","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003eoojuでも人気の高いオーバーオールシリーズにコーデュロイ素材が登場。\u003cbr\u003e\u003cbr\u003e程よいストレッチ感のあるコーデュロイ素材のオーバーオールは、アクティブなキッズの動きを邪魔せず、着脱しやすいのも嬉しいポイント。\u003cbr\u003e太畝のコーデュロイでヴィンテージ感もプラスされています。\u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eシルエットもベーシックながらもお尻のラインや背中のラインにこだわりました。\u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eこれからの時期にぴったりなニュアンスカラーで、秋冬のコーディネートにピッタリの1枚です。\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003emodel : Ichika 108cm,  size3\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003cmeta charset=\"utf-8\"\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/span\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor : camel, charcoal , pink\u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3 ,4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン  97% 、ポリウレタン 3%\u003cbr\u003e　　　　  裏地　ポリウレタン 80% , コットン 20%\u003c\/span\u003e\u003cspan\u003e      \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable style=\"height: 113.945px; width: 100.089%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e29\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e34\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e36\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003eB:股上\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e19.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e21\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e24\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003eC:股下\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e31\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e41\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\n\u003cdiv class=\"img\"\u003e\n    \u003cdiv class=\"slider_wrap\"\u003e\n        \u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n   \u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5616.jpg?v=1727784981\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5616.jpg?v=1727784981\" alt=\"image1\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n            \u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5598.jpg?v=1727784981\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5598.jpg?v=1727784981\" alt=\"Image2\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n            \u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5601.jpg?v=1727784981\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5601.jpg?v=1727784981\" alt=\"Image3\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n          \n    \u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\"\u003e\n    \u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\n    \u003cdiv class=\"pswp__bg\"\u003e\u003c\/div\u003e\n    \u003c!-- Slides wrapper with overflow:hidden. --\u003e\n    \u003cdiv class=\"pswp__scroll-wrap\"\u003e\n        \u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n        \u003cdiv class=\"pswp__container\"\u003e\n            \u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"pswp__item\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n        \u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n            \u003cdiv class=\"pswp__top-bar\"\u003e\n                \u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n                \u003cdiv class=\"pswp__counter\"\u003e\u003c\/div\u003e\n                \u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e\n                \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e\n                \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e\n                \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e\n                \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n                \u003cdiv class=\"pswp__preloader\"\u003e\n                    \u003cdiv class=\"pswp__preloader__icn\"\u003e\n                      \u003cdiv class=\"pswp__preloader__cut\"\u003e\n                        \u003cdiv class=\"pswp__preloader__donut\"\u003e\u003c\/div\u003e\n                      \u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n                \u003cdiv class=\"pswp__share-tooltip\"\u003e\u003c\/div\u003e \n            \u003c\/div\u003e\n            \u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e\n            \u003c\/button\u003e\n            \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e\n            \u003c\/button\u003e\n            \u003cdiv class=\"pswp__caption\"\u003e\n                \u003cdiv class=\"pswp__caption__center\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e\n\u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"camel \/ 1","offer_id":50463825920193,"sku":"OJ0601240404OP320CM02","price":7700.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 1","offer_id":50463825952961,"sku":"OJ0601240404OP320BR02","price":7700.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":50463825985729,"sku":"OJ0601240404OP320BR03","price":7700.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 3","offer_id":50463826018497,"sku":"OJ0601240404OP320BR04","price":7700.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 4","offer_id":50463826051265,"sku":"OJ0601240404OP320BR05","price":7700.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/codesize3.png?v=1727684080"},{"product_id":"number-long-t-shirts","title":"number long T-shirts","description":"\u003cp\u003e前シーズンで人気だったロングTシャツがアップデートされて再登場！！\u003cbr\u003e新色のピンクも仲間入り！\u003cbr\u003e\u003cbr\u003eoojuのキースタイルでもあるレトロスポーツの要素を取り入れた人気のロングTシャツ。\u003cbr\u003e今シーズンは首元のリブもプリントと同じカラーにアップデートし、全体を引き締めるアクセントに。\u003cbr\u003eプリントもヴィンテージライクな加工にすることで、トレンド感も取り入れています。\u003cbr\u003e\u003cbr\u003e※刺繍ロゴはピンクのみグリーンになります。\u003cbr\u003e※実際の色味は商品写真をご参考ください。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : \u003cspan\u003eIchika 112cm size3, \u003c\/span\u003eKoharu 103cm size2\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory, charcoal, pink\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003cspan style=\"font-size: 0.875rem;\"\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e\u003cspan\u003ematerial：コットン100%\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/bordert_480x480.png?v=1709697012\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 129.969px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5938px;\"\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e54\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"slider_list my-gallery\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"slider_list my-gallery\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"slider_list my-gallery\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"slider_list my-gallery\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\n\u003cdiv class=\"pswp__bg\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"pswp__item\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"ivory \/ 1","offer_id":50463826280641,"sku":"OJ-CU2030IV02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"ivory \/ 2","offer_id":50463826313409,"sku":"OJ-CU2030IV03","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 3","offer_id":50463826346177,"sku":"OJ-CU2030IV04","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 4","offer_id":50463826378945,"sku":"OJ-CU2030IV05","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"pink \/ 1","offer_id":50463826411713,"sku":"OJ-CU2030PK02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"pink \/ 2","offer_id":50463826444481,"sku":"OJ-CU2030PK03","price":4950.0,"currency_code":"JPY","in_stock":true},{"title":"pink \/ 3","offer_id":50463826477249,"sku":"OJ-CU2030PK04","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"pink \/ 4","offer_id":50463826510017,"sku":"OJ-CU2030PK05","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 1","offer_id":50463826542785,"sku":"OJ-CU2030CG02","price":4950.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":50463826575553,"sku":"OJ-CU2030CG03","price":4950.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6805_59c2703a-1b59-44ea-b172-c865b8207969.jpg?v=1758159281"},{"product_id":"ooju-jeans-type2","title":"ooju jeans type2","description":"\u003cp\u003e\u003cspan\u003e人気のジーンズがリストック。\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e大人顔負けのワイドなシルエットにハンマーループを付けて、ワークの要素をプラス。\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eoojuの中でも不動の大人気アイテム、今回は新色を追加しました。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eアイスブルーをベースにダメージ加工を施したこれからの季節にコーディネートしやすいカラーです。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eTシャツはもちろん、ブラウスやシャツ、秋口にはタートルネックニットなど、ooju jeansの持ち味であるシルエットの良さがアイテムを選ばず合わせられます。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eすでにお持ちの方もこれから新たにという方へも、とてもおすすめの1本です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003eウエストはゴムの仕様でストレスフリーの履き心地です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003e※以前より販売しているブルー、ブラックより少しウエストが小さめです。\u003cbr\u003e必ずサイズ表でご確認の上お買い上げください。\u003c\/strong\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003emodel : Kai 91cm size 2, Emma 101cm size 2\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e blue, indigo\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：\u003cmeta charset=\"utf-8\"\u003e本体 \/ 綿100％　\u003cbr\u003e\u003c\/span\u003e\u003cspan\u003e　　　　　パッチ\/ 合成皮革\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/11_bc5d51c1-a8e6-4aa7-acf4-c68e79619569_480x480.png?v=1650013082\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003esize \u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd\u003e40\u003c\/td\u003e\n\u003ctd\u003e43\u003c\/td\u003e\n\u003ctd\u003e47\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003eB:ヒップ\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e34\u003c\/td\u003e\n\u003ctd\u003e36\u003c\/td\u003e\n\u003ctd\u003e38.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eC:股上\u003c\/td\u003e\n\u003ctd\u003e21\u003c\/td\u003e\n\u003ctd\u003e22.5\u003c\/td\u003e\n\u003ctd\u003e24\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eD:股下\u003c\/td\u003e\n\u003ctd\u003e26.5\u003c\/td\u003e\n\u003ctd\u003e34\u003c\/td\u003e\n\u003ctd\u003e43.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eE:もも幅\u003c\/td\u003e\n\u003ctd\u003e17.5\u003c\/td\u003e\n\u003ctd\u003e19\u003c\/td\u003e\n\u003ctd\u003e20.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eF:裾幅\u003c\/td\u003e\n\u003ctd\u003e11.8\u003c\/td\u003e\n\u003ctd\u003e13\u003c\/td\u003e\n\u003ctd\u003e14.3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e身長\u003c\/td\u003e\n\u003ctd\u003e90\u003c\/td\u003e\n\u003ctd\u003e95-105\u003c\/td\u003e\n\u003ctd\u003e110-120\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__top-bar\"\u003e\n\u003c!--  Controls are self-explanatory. Order can be changed. --\u003e\n\u003cdiv class=\"pswp__counter\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"\u003e\u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--zoom\" title=\"Zoom in\/out\"\u003e\u003c\/button\u003e \u003c!-- Preloader demo https:\/\/codepen.io\/dimsemenov\/pen\/yyBWoR --\u003e \u003c!-- element will get class pswp__preloader--active when preloader is running --\u003e\n\u003cdiv class=\"pswp__preloader\"\u003e\n\u003cdiv class=\"pswp__preloader__icn\"\u003e\n\u003cdiv class=\"pswp__preloader__cut\"\u003e\n\u003cdiv class=\"pswp__preloader__donut\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"blue \/ 1","offer_id":50463827361985,"sku":"OJ-25SSPT02BL01","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 2","offer_id":50463827394753,"sku":"OJ-25SSPT02BL02","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 3","offer_id":50463827427521,"sku":"OJ-25SSPT02BL03","price":6930.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 1","offer_id":50463827460289,"sku":"OJ-25SSPT02ID01","price":6930.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5714.jpg?v=1756865051"}],"url":"https:\/\/ooju.jp\/ko\/collections\/aw26-lineup.oembed","provider":"OOJU","version":"1.0","type":"link"}