{"title":"kids all","description":"","products":[{"product_id":"check-pattrened-shirt","title":"check patterned shirt_navy","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003e仕立てにこだわったビックシルエットのチェックシャツ。\u003cbr\u003eメタルのリングドットボタンが抜け感を演出し、カジュアルになり過ぎないすっきりとした印象に。胸元のoojuロゴで遊び心もプラスしています。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eクラシックにボタンを閉めて着るのはもちろん、ボタンを開けて羽織りとしても活躍するシャツは、秋冬に1枚は持っておきたいアイテムです。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Joji 97cm size2\u003cbr\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor : \u003cspan\u003enavy, beige\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ポリエステル 70%、レーヨン25%、ポリウレタン 5%\u003c\/span\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003cimg data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/77328aab023d62ce64e50ef289755990_480x480.png?v=1694050988\" 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\u003ctable width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eA:着丈\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e47\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e52\u003c\/td\u003e\n\u003ctd\u003e57\u003c\/td\u003e\n\u003ctd\u003e65\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\u003e41.5\u003c\/td\u003e\n\u003ctd\u003e44.5\u003c\/td\u003e\n\u003ctd\u003e46.5\u003c\/td\u003e\n\u003ctd\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eC:袖丈\u003c\/td\u003e\n\u003ctd\u003e27.3\u003c\/td\u003e\n\u003ctd\u003e32\u003c\/td\u003e\n\u003ctd\u003e36\u003c\/td\u003e\n\u003ctd\u003e42.3\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e身長（cm）\u003c\/td\u003e\n\u003ctd\u003e80-90\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\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\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\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_0923_972d4cd8-e760-42e5-a771-3d8a8da75557.jpg?v=1725452284\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0923_972d4cd8-e760-42e5-a771-3d8a8da75557.jpg?v=1725452284\" 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_0943_4b344147-e3a7-4d49-bc89-2ce78d267495.jpg?v=1725452284\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0943_4b344147-e3a7-4d49-bc89-2ce78d267495.jpg?v=1725452284\" 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_0946.jpg?v=1725452285\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0946.jpg?v=1725452285\" 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_0938.jpg?v=1725452285\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0938.jpg?v=1725452285\" 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_0940_04e49fd4-af0a-4d47-a5f7-9898a1f900a3.jpg?v=1725452285\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0940_04e49fd4-af0a-4d47-a5f7-9898a1f900a3.jpg?v=1725452285\" alt=\"Image5\"\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":"1 \/ navy","offer_id":42712223219905,"sku":"OJ0601230402CU096NV02","price":3300.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ navy","offer_id":42712223252673,"sku":"OJ0601230402CU096NV03","price":3300.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":42712223285441,"sku":"OJ0601230402CU096NV04","price":3300.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ navy","offer_id":42712223318209,"sku":"OJ0601230402CU096NV05","price":3300.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid14.jpg?v=1725360744"},{"product_id":"s-s-rib-t-shirt-for-kids","title":"tulle tops (for kids)","description":"\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003emodel :\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eEmma 84cm size1 ,  Ten 103cm size2 ,Hinata 114cm size3 \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003cbr\u003e今年も大活躍しそうなチュールアイテム。大人サイズも展開するシンプルなタートルネックのトップスは背中にステッチを施したシンプルながらもこなれ感あるデザイン。カラー展開もネイビーやカーキなど、ひと癖あるカラーリングなのも特徴です。ワンピースやデニム、スウェットにレイヤードしたりなど、様々なアイテムのレイヤードに取り入れてみてください。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan\u003e\u003c\/span\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003ecolor : khaki , navy , black\u003cbr data-mce-fragment=\"1\"\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eㅤ\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003ematerial :ポリエステル90％,ポリウレタン10％\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-fragment=\"1\" data-mce-style=\"text-align: left;\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/1_b8f3b32c-5c58-4008-ac50-f758246a424f_480x480.png?v=1690856927\"\u003e\u003c\/div\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" data-mce-fragment=\"1\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003esize \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e1\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e2\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e3\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e29.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e31.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e\n\u003cp\u003e34\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e\n\u003cp\u003e36.5\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e\n\u003cp\u003e35\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e40\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e45\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e\n\u003cp\u003e50\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e22\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e24\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e26\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e28\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eD:袖丈\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e34\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e38\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e42\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e80-90\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e95-105\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e110-120\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\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\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_8287.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8287.jpg?v=1692275495\" 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_8289.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8289.jpg?v=1692275495\" 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_8292.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8292.jpg?v=1692275495\" 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_8299.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8299.jpg?v=1692275495\" 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_8304.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8304.jpg?v=1692275495\" alt=\"Image5\"\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_8293.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8293.jpg?v=1692275495\" alt=\"Image6\"\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_8297.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8297.jpg?v=1692275495\" alt=\"Image7\"\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_8377_a80972d8-6e3c-45ca-b2b2-cb68d47edac0.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8377_a80972d8-6e3c-45ca-b2b2-cb68d47edac0.jpg?v=1692275495\" alt=\"Image8\"\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_8378.jpg?v=1692275495\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8378.jpg?v=1692275495\" alt=\"Image9\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\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 \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\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 \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\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 \/ khaki","offer_id":42712341512385,"sku":"OJ050402CU093KH05","price":2475.0,"currency_code":"JPY","in_stock":true},{"title":"1 \/ navy","offer_id":42712341545153,"sku":"OJ050402CU093NV05","price":2475.0,"currency_code":"JPY","in_stock":true},{"title":"1 \/ black","offer_id":42712348164289,"sku":"OJ050402CU093BK05","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ khaki","offer_id":42712348197057,"sku":"OJ050402CU093KH06","price":2475.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ navy","offer_id":42712348229825,"sku":"OJ050402CU093NV06","price":2475.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ black","offer_id":42712348262593,"sku":"OJ050402CU093BK06","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ khaki","offer_id":42712348295361,"sku":"OJ050402CU093KH07","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":42712348328129,"sku":"OJ050402CU093NV07","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ black","offer_id":42712348360897,"sku":"OJ050402CU093BK07","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ khaki","offer_id":42712348393665,"sku":"OJ050402CU093KH08","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ navy","offer_id":42712348426433,"sku":"OJ050402CU093NV08","price":2475.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ black","offer_id":42712348459201,"sku":"OJ050402CU093BK08","price":2475.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/18.jpg?v=1690459063"},{"product_id":"denim-shirt-navy","title":"denim shirt","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\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寒暖差の激しい時期にも活躍する優秀アイテムです。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Kou 95cm size2, Koharu 96cm saize2, Ichika size3 108cm\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cmeta charset=\"utf-8\"\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor : \u003cspan\u003enavy\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\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\u003c\/span\u003e※こちらの製品はインディゴ染めをの製品になりますので以下のにご注意ください。\u003cbr\u003e　・着用中に、ほかの衣類やバック、椅子などすれることで色が移ることがあります。\u003cbr\u003e　　淡色、白の製品と組み合わせる場合には特にご注意ください。\u003cbr\u003e　・色落ちしますので他ものと一緒に洗濯しないでください。\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg data-mce-fragment=\"1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/77328aab023d62ce64e50ef289755990_480x480.png?v=1694050988\" alt=\"\" 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\u003ctable width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eA:着丈\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e47\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e52\u003c\/td\u003e\n\u003ctd\u003e57\u003c\/td\u003e\n\u003ctd\u003e69\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\u003e44\u003c\/td\u003e\n\u003ctd\u003e47\u003c\/td\u003e\n\u003ctd\u003e49\u003c\/td\u003e\n\u003ctd\u003e51\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eC:袖丈\u003c\/td\u003e\n\u003ctd\u003e28\u003c\/td\u003e\n\u003ctd\u003e32.5\u003c\/td\u003e\n\u003ctd\u003e36.5\u003c\/td\u003e\n\u003ctd\u003e42.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e身長（cm）\u003c\/td\u003e\n\u003ctd\u003e80-90\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\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\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\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_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\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":"1 \/ navy","offer_id":42765407158465,"sku":"OJ0601230402SH100NV02","price":3575.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ navy","offer_id":42765407224001,"sku":"OJ0601230402SH100NV03","price":3575.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":42765407289537,"sku":"OJ0601230402SH100NV04","price":3575.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ navy","offer_id":42765407355073,"sku":"OJ0601230402SH100NV05","price":3575.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid12.jpg?v=1725361088"},{"product_id":"ooju-jeans-gy","title":"ooju jeans_grey","description":"\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\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本です。\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003emodel :Joji size2 97cm \u003cbr\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan data-mce-fragment=\"1\"\u003e gray, indigo \u003c\/span\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\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-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\u003e80-90\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\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\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\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_7625.jpg?v=1675658420\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7625.jpg?v=1675658420\"\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_7634.jpg?v=1675658411\"\u003e\u003cimg alt=\"Image3\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7634.jpg?v=1675658411\"\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_7639.jpg?v=1675658412\"\u003e\u003cimg alt=\"Image4\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7639.jpg?v=1675658412\"\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_7644.jpg?v=1675658412\"\u003e\u003cimg alt=\"Image5\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7644.jpg?v=1675658412\"\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\/jeans-ooju.jpg?v=1702264350\"\u003e\u003cimg alt=\"Image8\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/jeans-ooju.jpg?v=1702264350\"\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_7879.jpg?v=1675658412\"\u003e\u003cimg alt=\"Image9\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7879.jpg?v=1675658412\"\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_7876.jpg?v=1675658413\"\u003e\u003cimg alt=\"Image10\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7876.jpg?v=1675658413\"\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_7885.jpg?v=1675658413\"\u003e\u003cimg alt=\"Image11\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7885.jpg?v=1675658413\"\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_7897.jpg?v=1675658412\"\u003e\u003cimg alt=\"Image12\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7897.jpg?v=1675658412\"\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_7889.jpg?v=1675658413\"\u003e\u003cimg alt=\"Image13\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7889.jpg?v=1675658413\"\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_7871.jpg?v=1675658413\"\u003e\u003cimg alt=\"Image14\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7871.jpg?v=1675658413\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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\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","brand":"OOJU","offers":[{"title":"gray \/ 1","offer_id":47406336442561,"sku":"OJ0601240103PT157GY02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"gray \/ 2","offer_id":47406336475329,"sku":"OJ0601240103PT157GY03","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"gray \/ 3","offer_id":47406336508097,"sku":"OJ0601240103PT157GY04","price":5940.0,"currency_code":"JPY","in_stock":false},{"title":"gray \/ 4","offer_id":47406336540865,"sku":"OJ0601240103PT157GY05","price":5940.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/denim4_6b96143f-aa5f-49eb-bc79-a8a9cae40044.jpg?v=1732264240"},{"product_id":"paperly-knitkids_gy","title":"paperly knit(kids)","description":"\u003cp\u003e今年はより目の粗い編み地でざっくりとしたニットを作りました。色味も使いやすいグレージュとチャコールの2色展開です。\u003cbr\u003eルーズな見え感のニットなのでボトムスを選ばずこなれたコーディネートが楽しめます。\u003c\/p\u003e\n\u003cp\u003emodel : \u003cbr\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e  charcoal , \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\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：綿75%　ナイロン25%\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 data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/24ss-1_480x480.png?v=1708490838\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"width: 396px;\" height=\"161\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px; text-align: center;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px; text-align: center;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"width: 83px; text-align: center;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"width: 83px; text-align: center;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px;\"\u003e39\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px;\"\u003e41.5\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003ec:袖丈\u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px;\"\u003e28.5\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e32.5\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e39\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003eD:天巾\u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px;\"\u003e12.5\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px;\"\u003e13\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e14\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e14.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 47px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 68.5547px;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"width: 74.4453px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 83px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\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\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_0027_94c41d49-96f2-413e-8448-ecac502cc988.jpg?v=1708519422\"\u003e\u003cimg alt=\"image1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0027_94c41d49-96f2-413e-8448-ecac502cc988.jpg?v=1708519422\"\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_0030.jpg?v=1708519422\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0030.jpg?v=1708519422\"\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_0036.jpg?v=1708519422\"\u003e\u003cimg alt=\"Image3\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0036.jpg?v=1708519422\"\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_0089.jpg?v=1708519422\"\u003e\u003cimg alt=\"Image4\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0089.jpg?v=1708519422\"\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_0088_372f56ba-f655-465d-9ce0-36fe6697f9ec.jpg?v=1708519422\"\u003e\u003cimg alt=\"Image5\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0088_372f56ba-f655-465d-9ce0-36fe6697f9ec.jpg?v=1708519422\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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\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","brand":"OOJU","offers":[{"title":"charcoal \/ 1","offer_id":47480158847169,"sku":"OJ0601240102KT147GY02","price":3740.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":47480158879937,"sku":"OJ0601240102KT147GY03","price":3740.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 3","offer_id":47480158912705,"sku":"OJ0601240102KT147GY04","price":3740.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":47480158945473,"sku":"OJ0601240102KT147GY05","price":3740.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid17.jpg?v=1725361572"},{"product_id":"puff-blousekids_bk","title":"2 way puff blouse","description":"\u003cp\u003e今年も大人可愛いブラウスが登場します。\u003cbr data-mce-fragment=\"1\"\u003e袖と背中ににはしごレースを施し、透け感を出しているのでこれからの時期はタンクトップやキャミソール、秋口にはタートルネックニットをレイヤードして着ることも可能です。\u003cbr data-mce-fragment=\"1\"\u003eVネックになった身頃と背中のデザインはどちらも前に着ることができます。\u003cbr data-mce-fragment=\"1\"\u003e生地も肌触りを重視し、滑らかなコットンを採用しました。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Tumugi 98.7cm size2\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（\u003c\/p\u003e\n\u003cp\u003eそれぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cspan\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e black , \u003ca href=\"https:\/\/ooju.jp\/products\/puff-blousekids%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003eivory\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003cspan style=\"font-size: 0.875rem;\"\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： 綿 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce_480x480.png?v=1709697011\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce_480x480.png?v=1709697011\"\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e35\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e39\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e47\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:胸囲\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e35\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e42\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e33.2\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e37.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e43.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cbr\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\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5779_ef2c1913-b474-45f9-9a2e-7da6a1086f11.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5779_ef2c1913-b474-45f9-9a2e-7da6a1086f11.jpg?v=1713777707\" 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_5785_8a7c0a88-cb21-47d6-a9fd-0f6968da99a2.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5785_8a7c0a88-cb21-47d6-a9fd-0f6968da99a2.jpg?v=1713777707\" 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_5790_e95594ca-781f-4e1a-b7b3-c15bed5cfcbe.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5790_e95594ca-781f-4e1a-b7b3-c15bed5cfcbe.jpg?v=1713777707\" 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_5828_db0e124d-e142-4e76-aff6-381f10bed542.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5828_db0e124d-e142-4e76-aff6-381f10bed542.jpg?v=1713777707\" 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_5831_40205745-6c88-4eff-8ad1-e9175f8371cf.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5831_40205745-6c88-4eff-8ad1-e9175f8371cf.jpg?v=1713777707\" alt=\"Image5\"\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_5833_57d87a4c-9a76-4f72-9544-0204fea80a18.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5833_57d87a4c-9a76-4f72-9544-0204fea80a18.jpg?v=1713777707\" alt=\"Image6\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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":"1 \/ black","offer_id":47686519193793,"sku":"OJ0601240102SH134BK02","price":3300.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ black","offer_id":47686519259329,"sku":"OJ0601240102SH134BK03","price":3300.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ black","offer_id":47686519324865,"sku":"OJ0601240102SH134BK04","price":3300.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ black","offer_id":47686519390401,"sku":"OJ0601240102SH134BK05","price":3300.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce1.jpg?v=1713762559"},{"product_id":"puff-blousekids-iv","title":"2 way puff blouse","description":"\u003cp\u003e今年も大人可愛いブラウスが登場します。\u003cbr data-mce-fragment=\"1\"\u003e袖と背中ににはしごレースを施し、透け感を出しているのでこれからの時期はタンクトップやキャミソール、秋口にはタートルネックニットをレイヤードして着ることも可能です。\u003cbr data-mce-fragment=\"1\"\u003eVネックになった身頃と背中のデザインはどちらも前に着ることができます。\u003cbr data-mce-fragment=\"1\"\u003e生地も肌触りを重視し、滑らかなコットンを採用しました。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Hana 121cm size4\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cspan\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory , \u003ca href=\"https:\/\/ooju.jp\/products\/puff-blousekids\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003eblack\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： 綿 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce_480x480.png?v=1709697011\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce_480x480.png?v=1709697011\"\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"width: 100%; height: 143px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 27.9412%; height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.1544%; height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"width: 16.9118%; height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 27.9412%; height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"width: 14.1544%; height: 35px;\"\u003e\n\u003cp\u003e35\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 16.9118%; height: 35px;\"\u003e39\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e47\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 27.9412%; height: 35px;\"\u003e\n\u003cp\u003eB:胸囲\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.1544%; height: 35px;\"\u003e35\u003c\/td\u003e\n\u003ctd style=\"width: 16.9118%; height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 35px;\"\u003e42\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"width: 27.9412%; height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"width: 14.1544%; height: 19px;\"\u003e33.2\u003c\/td\u003e\n\u003ctd style=\"width: 16.9118%; height: 19px;\"\u003e37.5\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 19px;\"\u003e43.5\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 19px;\"\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"width: 27.9412%; height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"width: 14.1544%; height: 19px;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"width: 16.9118%; height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 19.4853%; height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cbr\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\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_5779_ef2c1913-b474-45f9-9a2e-7da6a1086f11.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5779_ef2c1913-b474-45f9-9a2e-7da6a1086f11.jpg?v=1713777707\" 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_5780_c2a13777-b16e-4ca4-8f43-5c074e4082ca.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5780_c2a13777-b16e-4ca4-8f43-5c074e4082ca.jpg?v=1713777707\" 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_5783_e46be3b9-e2f3-419b-b213-094978604a59.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5783_e46be3b9-e2f3-419b-b213-094978604a59.jpg?v=1713777707\" 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_5837_644d1fc6-2eab-41dd-abea-b38bafecb85f.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5837_644d1fc6-2eab-41dd-abea-b38bafecb85f.jpg?v=1713777707\" 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_5835_f88e0dd4-1f4f-4ed4-91c2-8f9c045998d4.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5835_f88e0dd4-1f4f-4ed4-91c2-8f9c045998d4.jpg?v=1713777707\" alt=\"Image5\"\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_5840_ad1b6166-2638-41ca-bfc1-68611b6f1e9f.jpg?v=1713777707\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5840_ad1b6166-2638-41ca-bfc1-68611b6f1e9f.jpg?v=1713777707\" alt=\"Image6\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\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":"1 \/ ivory","offer_id":47741433020609,"sku":"OJ0601240102SH134IV02","price":3300.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ ivory","offer_id":47741433086145,"sku":"OJ0601240102SH134IV03","price":3300.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ ivory","offer_id":47741433151681,"sku":"OJ0601240102SH134IV04","price":3300.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ ivory","offer_id":47741433217217,"sku":"OJ0601240102SH134IV05","price":3300.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/blouce2.jpg?v=1713762667"},{"product_id":"knit-bustier-lime","title":"knit bustier","description":"\u003cp\u003eoojuのアイテムはシンプルな物が多く、だからこそのレイヤードアイテムを発売します。肩はリボンにして長さ調整が可能なニットビスチェです。そのままでももちろん、Tシャツやブラウスにレイヤードしてコーディネートを楽しんでください。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Emma 89cm sizeS\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cspan\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e lime , \u003ca href=\"https:\/\/ooju.jp\/collections\/all\/products\/knit-bustier-%E3%83%81%E3%83%A3%E3%82%B3%E3%83%BC%E3%83%AB?variant=47875104833729\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003echarcoal\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003cbr\u003esize : S , M \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： アクリル 52%　コットン43%　ポリウレタン5%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\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\/bische_480x480.png?v=1712198301\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"width: 35.8063%;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 10%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 10%;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e\n\u003cp\u003e20.5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e22.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 10%;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e14\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e19\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 10%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e95-110\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\"\u003e115-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\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\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2784_f42fb4d3-df55-4e82-9339-efc59d00f2ee.jpg?v=1712047564\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2784_f42fb4d3-df55-4e82-9339-efc59d00f2ee.jpg?v=1712047564\" 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_2795.jpg?v=1712047564\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2795.jpg?v=1712047564\" 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_2802.jpg?v=1712047564\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2802.jpg?v=1712047564\" 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_2817.jpg?v=1712047565\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2817.jpg?v=1712047565\" 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_2821.jpg?v=1712047564\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2821.jpg?v=1712047564\" alt=\"Image5\"\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_2823.jpg?v=1712047565\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_2823.jpg?v=1712047565\" alt=\"Image6\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\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 \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\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 \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\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":"S \/ lime","offer_id":47875105259713,"sku":"OJ0601240102KT150LG02","price":2475.0,"currency_code":"JPY","in_stock":true},{"title":"M \/ lime","offer_id":47875105325249,"sku":"OJ0601240102KT150LG03","price":2475.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/cami1.jpg?v=1712048756"},{"product_id":"denim-over-all-nv","title":"denim over all_navy","description":"\u003cp\u003e\u003cspan data-mce-fragment=\"1\"\u003eoojuでも人気の高いオーバーオールシリーズ。\u003cbr\u003e程よいストレッチ感のあるデニム素材のオーバーオールは、アクティブなキッズの動きを邪魔せず、着脱しやすいのも嬉しいポイント。\u003cbr\u003e濃いめの生地を採用し、シルエットもベーシックながらもお尻のラインや背中のラインにこだわりました。\u003cbr\u003eデニム生地となっておりますので、色移りなど、ご注意ください。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003emodel : Ichika 105cm  size3　\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003cmeta charset=\"utf-8\"\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e navy、\u003cspan style=\"text-decoration: underline;\"\u003eivory\u003c\/span\u003e\u003c\/span\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\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e※こちらの製品はインディゴ染めをの製品になりますので以下のにご注意ください。\u003cbr data-mce-fragment=\"1\"\u003e　・着用中に、ほかの衣類やバック、椅子などすれることで色が移ることがあります。\u003cbr data-mce-fragment=\"1\"\u003e　　淡色、白の製品と組み合わせる場合には特にご注意ください。\u003cbr data-mce-fragment=\"1\"\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;\" data-mce-style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/c_600x600.png?v=1716373839\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\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\u003ctd\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd\u003e29\u003c\/td\u003e\n\u003ctd\u003e32\u003c\/td\u003e\n\u003ctd\u003e34\u003c\/td\u003e\n\u003ctd\u003e36\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\u003e19\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\u003eC:股下\u003c\/td\u003e\n\u003ctd\u003e25\u003c\/td\u003e\n\u003ctd\u003e31\u003c\/td\u003e\n\u003ctd\u003e39\u003c\/td\u003e\n\u003ctd\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e身長（cm）\u003c\/td\u003e\n\u003ctd\u003e80-90\u003c\/td\u003e\n\u003ctd\u003e95-105\u003c\/td\u003e\n\u003ctd\u003e110-120\u003c\/td\u003e\n\u003ctd\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_9617.jpg?v=1716373893\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9617.jpg?v=1716373893\" 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_9576.jpg?v=1716373892\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9576.jpg?v=1716373892\" 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_9587.jpg?v=1716373892\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9587.jpg?v=1716373892\" 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_9577.jpg?v=1716373891\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9577.jpg?v=1716373891\" 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_9580.jpg?v=1716373890\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9580.jpg?v=1716373890\" alt=\"Image5\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\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":"1 \/ navy","offer_id":48186108543169,"sku":"OJ0601240204OP171NV02","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ navy","offer_id":48186108575937,"sku":"OJ0601240204OP171NV03","price":8250.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":48186108608705,"sku":"OJ0601240204OP171NV04","price":8250.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ navy","offer_id":48186108641473,"sku":"OJ0601240204OP171NV05","price":8250.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_4979_5e5570df-b944-4439-b24e-da6ae2f36c86.jpg?v=1775629415"},{"product_id":"haruna-kawai-tote_bg","title":"haruna kawai x ooju tote bag","description":"\u003cp\u003eニュアンスカラーのシンプルなトートバッグ。\u003cbr\u003eTシャツと同じモチーフを使いながら、バッグに合わせた落ち着きのあるカラートーンに。\u003cbr\u003eA4がすっきり収まるので、キッズの習い事バッグやサブバッグはもちろん、大人でも使いやすいサイズ感。\u003cbr\u003e親子でさりげなくお揃いのモチーフが楽しめます。\u003cbr\u003e\u003cbr\u003ecolor : \u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003egreen , \u003ca href=\"https:\/\/ooju.jp\/collections\/all\/products\/ooju-x-haruna-kawai-toto-bag-bg?variant=48186219397313\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003egreige\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003ematerial： \u003cspan\u003eコットン\u003c\/span\u003e 100%ㅤ\u003cbr\u003e\u003cbr\u003e\u003cmeta charset=\"utf-8\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"width: 100%; height: 143px;\" data-mce-style=\"width: 100%; height: 143px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 66.242%; height: 35px;\" data-mce-style=\"width: 66.242%; height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 33.3333%; height: 35px;\" data-mce-style=\"width: 33.3333%; height: 35px;\"\u003eF\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 66.242%; height: 35px;\" data-mce-style=\"width: 66.242%; height: 35px;\"\u003eA:幅\u003c\/td\u003e\n\u003ctd style=\"width: 33.3333%; height: 35px;\" data-mce-style=\"width: 33.3333%; height: 35px;\"\u003e\n\u003cp\u003e34\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"width: 66.242%; height: 35px;\" data-mce-style=\"width: 66.242%; height: 35px;\"\u003e\n\u003cp\u003eB:高さ\u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 33.3333%; height: 35px;\" data-mce-style=\"width: 33.3333%; height: 35px;\"\u003e36\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 66.242%;\"\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003eC.持ち手\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 33.3333%;\"\u003e57\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c!----\u003e","brand":"OOJU","offers":[{"title":"FREE \/ greige","offer_id":48186219397313,"sku":"OJ0602240206BG162BG09","price":2970.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_4506.jpg?v=1715162610"},{"product_id":"nylon-salopetto-beige","title":"nylon salopetto_beige","description":"\u003cp\u003eさらっとした質感で軽い着心地のナイロンサロペット。\u003cbr\u003e撥水加工を施したナイロン素材で水はじきがよく、梅雨時期や水遊びのシーンで活躍する1枚。\u003cbr\u003e子どもっぽくなりすぎないよう、シルエットにもこだわりました。\u003cbr\u003e着丈はベルトで調整が可能なので、成長に合わせて長く愛用いただけます。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003emodel : \u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eMia 90cm size1, \u003c\/span\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eHiyuki 91cm size2, \u003cmeta charset=\"utf-8\"\u003eIchika 108cm size3\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ナイロン 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\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\/091c7afd5b79f36f283a36e596136a6d_600x600.png?v=1716373229\" 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: 154.933px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e\n\u003cp\u003e69.5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e78.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e89\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e98\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003eB:股下\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e25.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e47\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 28.5859px;\"\u003e\n\u003ctd style=\"height: 28.5859px; width: 28.2257%;\"\u003eC:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.2697%;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.0293%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.084%;\"\u003e39\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2257%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.2697%;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.367%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.0293%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.084%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"OOJU","offers":[{"title":"1 \/ beige","offer_id":48186279362753,"sku":"OJ0601240204OP167BG02","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ beige","offer_id":48186279395521,"sku":"OJ0601240204OP167BG03","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ beige","offer_id":48186279428289,"sku":"OJ0601240204OP167BG04","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ beige","offer_id":48186279461057,"sku":"OJ0601240204OP167BG05","price":7920.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid5_835a24bf-4330-4ed0-a3f3-4745ce51b0ca.jpg?v=1724294806"},{"product_id":"polo-shirts-ye","title":"polo shirts","description":"\u003cp\u003e程よいストレッチの効いた着心地の良いポロシャツ。\u003cbr\u003e襟付きできちんと感もありながら、ドロップショルダーの抜け感がカジュアルさもプラスします。\u003cbr\u003eTシャツだとカジュアルになりすぎるおでかけシーンにも重宝する1枚。\u003cbr\u003eトーンを抑えながらも発色のいいカラーリングにロゴワッペンが映えます。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Kai 88cm size1\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cspan\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cstyle type=\"text\/css\"\u003e\u003c!--\ntd {border: 1px solid #cccccc;}br {mso-data-placement:same-cell;}\n--\u003e\u003c\/style\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e yellow , \u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003egreen\u003c\/span\u003e, \u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003echarcoal\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ポリエステル65%  \u003cspan data-mce-fragment=\"1\"\u003eコットン\u003c\/span\u003e 35%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\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\/6e4581a95dbb8886c5539aabf472eb01_600x600.png?v=1716356761\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\" data-mce-style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003eA:着丈（前）\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003cp\u003e37\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\" data-mce-style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e12.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e\n\u003cp\u003e13.5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\" data-mce-style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cbr\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\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\/0E9A2711.jpg?v=1716358374\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/0E9A2711.jpg?v=1716358374\" 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_9482_c5658994-cc7f-428e-a1e8-78b3a70536a1.jpg?v=1716358654\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9482_c5658994-cc7f-428e-a1e8-78b3a70536a1.jpg?v=1716358654\" 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_9489_719fe6a1-d486-45f2-9262-c71792eeb996.jpg?v=1716358655g\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9489_719fe6a1-d486-45f2-9262-c71792eeb996.jpg?v=1716358655\" 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_9486.jpg?v=1716358374\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9486.jpg?v=1716358374\" alt=\"Image4\"\u003e\u003c\/a\u003e\u003c\/figure\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\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"1 \/ yellow","offer_id":48238953791681,"sku":"OJ0601240202CU164YE02","price":2640.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ yellow","offer_id":48238953824449,"sku":"OJ0601240202CU164YE03","price":2640.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ yellow","offer_id":48238953857217,"sku":"OJ0601240202CU164YE04","price":2640.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ yellow","offer_id":48238953889985,"sku":"OJ0601240202CU164YE05","price":2640.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/polo2.jpg?v=1716262065"},{"product_id":"nylon-shorts-ye","title":"nylon shorts","description":"\u003cp\u003eこれからのシーズンに欠かせない軽撥水のナイロンショーツは、水遊びやレジャーなど、アウトドアシーンに最適です。\u003cbr\u003e軽くてストレスフリーな履き心地なので、タウンユースとしても活躍します。\u003cbr\u003e爽やかなイエローとシックな印象のモスグリーンの2色展開です。\u003c\/p\u003e\n\u003cp\u003emodel : Hiyuki 92cm size2,Ichika 105cm size3\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : yellow, \u003cspan style=\"text-decoration: underline;\"\u003emoss green\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eナイロン100%\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e                \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv data-mce-fragment=\"1\" style=\"text-align: left;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/nylonpants_480x480.png?v=1717576627\"\u003e\u003c\/div\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/p\u003e\n\u003ctable data-mce-fragment=\"1\" width=\"100%\"\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 31%;\"\u003esize \u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e１\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e２\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14.1912%;\"\u003e３\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 13.8088%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 31%;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e41\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e44\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14.1912%;\"\u003e47\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 13.8088%;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 31%;\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eB:ヒップ\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e36\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e37.6\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14.1912%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 13.8088%;\"\u003e41.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 31%;\"\u003eC:総丈\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e27\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14.1912%;\"\u003e31.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 13.8088%;\"\u003e35\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 31%;\"\u003eD:裾周り\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e22.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 14.1912%;\"\u003e26\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\" style=\"width: 13.8088%;\"\u003e27\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\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 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_1156.jpg?v=1717491580\"\u003e\u003cimg alt=\"image1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_1156.jpg?v=1717491580\"\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_1138.jpg?v=1717491581\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_1138.jpg?v=1717491581\"\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_1142.jpg?v=1717491581\"\u003e\u003cimg alt=\"Image3\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_1142.jpg?v=1717491581\"\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_1144.jpg?v=1717491581\"\u003e\u003cimg alt=\"Image4\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_1144.jpg?v=1717491581\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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\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","brand":"OOJU","offers":[{"title":"1 \/ yellow","offer_id":48246175400129,"sku":"OJ0601240203PT168YE02","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ yellow","offer_id":48246175432897,"sku":"OJ0601240203PT168YE03","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ yellow","offer_id":48246175465665,"sku":"OJ0601240203PT168YE04","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ yellow","offer_id":48246175498433,"sku":"OJ0601240203PT168YE05","price":4400.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/nylon5.jpg?v=1718346987"},{"product_id":"oj0601240402cu321gr","title":"【disney collection】 Mickey sweat hoodie_green","description":"\u003cp\u003e程よいオーバーサイズのシルエットがリラックスムード溢れるスウェットフーディー。\u003cbr\u003eセンターに大きくプリントされたミッキーのアートワークが、プレイフルな印象に。\u003cbr\u003e全体に洗いをかけて絶妙な風合いを出すことで、子どもっぽくなりすぎないよう生地感やプリントのかすれ具合にもこだわりました。\u003cbr\u003eミニーのスウェットフーディーとお揃いコーデを楽しむのもお勧めです。\u003c\/p\u003e\n\u003cp\u003emodel : Ichika 108cm,  size3\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003cmeta charset=\"utf-8\"\u003e\u003c\/p\u003e\n\u003cp\u003ecolor : green, oatmeal, charcoal\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： コットン63％　ポリエステル37％\u003cbr\u003e　　　　　リブ部分：ポリエステル58％　コットン30％　\u003cbr\u003e　　　　　　　　　　レーヨン10％　ポリウレタン2％\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/24aw-disney.png?v=1729077722\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ctable style=\"width: 91.8097%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e\n\u003cp\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e45.5\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e51\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e40.5\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e45\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e53.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e43.5\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e46.4\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e48.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003eD:袖丈\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e23\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e27.5\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e31\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e35.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 28.2257%;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14.2986%;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"width: 17.084%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 19.6837%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\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\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6180.jpg?v=1728991039\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6180.jpg?v=1728991039\" 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_6184.jpg?v=1728991039\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6184.jpg?v=1728991039\" 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_6187.jpg?v=1728991039\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6187.jpg?v=1728991039\" 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_6189.jpg?v=1728991039\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6189.jpg?v=1728991039\" alt=\"Image4\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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":"green \/ 1","offer_id":48636460302529,"sku":"OJ0601240402CU321GR02","price":4125.0,"currency_code":"JPY","in_stock":true},{"title":"green \/ 2","offer_id":48636460335297,"sku":"OJ0601240402CU321GR03","price":4125.0,"currency_code":"JPY","in_stock":true},{"title":"green \/ 3","offer_id":48636460368065,"sku":"OJ0601240402CU321GR04","price":4125.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 4","offer_id":48636460400833,"sku":"OJ0601240402CU321GR05","price":4125.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/disney1.jpg?v=1728988811"},{"product_id":"oj0601240404op320br","title":"corduroy over all_charcoal","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 : Joji 97cm size2,\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003eIchiru 104cm size2\u003c\/span\u003e\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 : charcoal , pink , camel\u003c\/p\u003e\n\u003cp\u003esize : 1 , 2 , 3 ,4\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial：コットン  97% 、ポリウレタン 3%\u003cbr\u003e　　　　  裏地　ポリウレタン 80% , コットン 20%\u003c\/span\u003e\u003cspan\u003e      \u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 113.945px; width: 100.089%;\"\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_5620.jpg?v=1727784981\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5620.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_5624.jpg?v=1727784981\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5624.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":"charcoal \/ 1","offer_id":48690168168641,"sku":"OJ0601240404OP320BR02","price":5390.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":48690168201409,"sku":"OJ0601240404OP320BR03","price":5390.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 3","offer_id":48690168234177,"sku":"OJ0601240404OP320BR04","price":5390.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 4","offer_id":48690168266945,"sku":"OJ0601240404OP320BR05","price":5390.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/code3.jpg?v=1727684315"},{"product_id":"oj0601240404op320cm","title":"corduroy over all_camel","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":48690169315521,"sku":"OJ0601240404OP320CM02","price":5390.0,"currency_code":"JPY","in_stock":true},{"title":"camel \/ 2","offer_id":48690169348289,"sku":"OJ0601240404OP320CM03","price":5390.0,"currency_code":"JPY","in_stock":false},{"title":"camel \/ 3","offer_id":48690169381057,"sku":"OJ0601240404OP320CM04","price":5390.0,"currency_code":"JPY","in_stock":false},{"title":"camel \/ 4","offer_id":48690169413825,"sku":"OJ0601240404OP320CM05","price":5390.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/code2.jpg?v=1727683917"},{"product_id":"oj0601240404op323nv","title":"nylon salopette_navy","description":"\u003cp\u003e人気のサロペットが再入荷。\u003cbr\u003eストラップがきちんと留まるよう、バックルの仕様をアップデートしました。\u003c\/p\u003e\n\u003cp\u003eさらっとした質感で軽い着心地のナイロンサロペット。\u003cbr\u003e撥水加工を施したナイロン素材で水はじきがよく、公園遊びや水場で活躍する1枚。\u003cbr\u003e子どもっぽくなりすぎないよう、シルエットにもこだわりました。\u003cbr\u003e着丈はベルトで調整が可能なので、成長に合わせて長く愛用いただけます。\u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003emodel : \u003c\/span\u003e\u003cspan\u003eKai 89cm size1\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ナイロン 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\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\/091c7afd5b79f36f283a36e596136a6d_600x600.png?v=1716373229\" 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: 154.933px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e\n\u003cp\u003e66\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e78.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e88\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e98.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003eB:股下\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 28.5859px;\"\u003e\n\u003ctd style=\"height: 28.5859px; width: 28.2257%;\"\u003eC:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.2697%;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.0293%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.084%;\"\u003e39\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2257%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.2697%;\"\u003e80-90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.367%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.0293%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.084%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"OOJU","offers":[{"title":"navy \/ 1","offer_id":48529046274241,"sku":"OJ0601240404OP323NV02","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 2","offer_id":48529046307009,"sku":"OJ0601240404OP323NV03","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 3","offer_id":48529046339777,"sku":"OJ0601240404OP323NV04","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"navy \/ 4","offer_id":48529046372545,"sku":"OJ0601240404OP323NV05","price":7920.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/grid7_75f348b0-4e30-4cac-b0aa-b904ebeecb5c.jpg?v=1724154267"},{"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":2816.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":48825532416193,"sku":"OJ0601240503PT412GY03","price":2816.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 3","offer_id":48825532448961,"sku":"OJ0601240503PT412GY04","price":2816.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":48825532481729,"sku":"OJ0601240503PT412GY05","price":2816.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/RIB2.jpg?v=1733377225"},{"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":2816.0,"currency_code":"JPY","in_stock":true},{"title":"navy \/ 2","offer_id":48825554370753,"sku":"OJ0601240503PT412NV03","price":2816.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 3","offer_id":48825554403521,"sku":"OJ0601240503PT412NV04","price":2816.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 4","offer_id":48825554436289,"sku":"OJ0601240503PT412NV05","price":2816.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/RIB1.jpg?v=1733377226"},{"product_id":"oj0601250102cu413gy","title":"curved rib sweat shirts_grey","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":48975071674561,"sku":"OJ0601250102CU413GY02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"grey \/ 2","offer_id":48975071707329,"sku":"OJ0601250102CU413GY03","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"grey \/ 3","offer_id":48975071740097,"sku":"OJ0601250102CU413GY04","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"grey \/ 4","offer_id":48975071772865,"sku":"OJ0601250102CU413GY05","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":"oj0601250102cu413ye","title":"curved rib sweat shirts_yellow","description":"\u003cp\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e\u003cspan\u003eoojuでは初となるラグランスリーブの\u003c\/span\u003eスウェットシャツ。\u003cbr\u003e首元と袖口のカーブモチーフのリブが、カジュアルなスウェットをスタイリッシュに格上げしてくれます。\u003cbr\u003eボトムを選ばないグレー、イエロー、新色のピーチの3色展開。\u003cbr\u003e\u003cbr\u003e定番のoojuスウェットよりも少しコンパクトなトゥルーフィットです。\u003cbr\u003eサイズ感はモデルの着用画像をご参考ください。\u003cbr\u003e\u003c\/span\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e実際の商品はロゴの色が少し濃くなります。\u003cbr\u003e静物画像をご覧ください。\u003c\/span\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003emodel : \u003cspan\u003ekai  92cm  size2, \u003c\/span\u003eHiyori 86cm size1, Koharu 103cm size2\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e \u003cmeta charset=\"utf-8\"\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\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/sweat_9a0761ee-3f21-42b4-9f04-84856dc0aaeb_600x600.png?v=1739328928\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 207px; width: 86.3636%;\" width=\"100%\"\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\n\u003cdiv id=\"slider\" class=\"slider_list my-gallery\"\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":"yellow \/ 1","offer_id":48975116599489,"sku":"OJ0601250102CU413YE02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 2","offer_id":48975116632257,"sku":"OJ0601250102CU413YE03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 3","offer_id":48975116665025,"sku":"OJ0601250102CU413YE04","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"yellow \/ 4","offer_id":48975116697793,"sku":"OJ0601250102CU413YE05","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6098.jpg?v=1758158742"},{"product_id":"oj0601250103pt414cg","title":"line pants_charcoal","description":"\u003cp\u003e昨シーズン人気だったラインパンツに新色が登場。\u003cbr\u003eキースタイルでもあるレトロスポーツの要素を取り入れたラインパンツ。\u003cbr\u003eそれぞれのボディーカラーに合わせた個性的なサイドテープがコーディネートのアクセントに。\u003cbr\u003e伸縮性に優れた履き心地の良いストレッチ素材で、ストレスフリーの履き心地も魅力です。\u003c\/p\u003e\n\u003cp\u003emodel : Ichika 111cm size3\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： レーヨン55%、ポリエステル40%、ポリウレタン5%\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 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\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 145.969px; 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\u003e49.7\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e57\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e63\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e72\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;\"\u003e21.5\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\u003ctd style=\"height: 35.5938px;\"\u003e24.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;\"\u003e34\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e40\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 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_3288.jpg?v=1739325999\" data-size=\"750x1050\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3288.jpg?v=1739325999\" 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_3291.jpg?v=1739325999\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3291.jpg?v=1739325999\" 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_3297.jpg?v=1739325999\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3297.jpg?v=1739325999\" 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_3295.jpg?v=1739325999\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3295.jpg?v=1739325999\" 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_3316.jpg?v=1739325999\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"“v”\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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":"charcoal \/ 1","offer_id":48975141372097,"sku":"OJ0601250103PT414CG02","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":48975141404865,"sku":"OJ0601250103PT414CG03","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":48975141437633,"sku":"OJ0601250103PT414CG04","price":4158.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":48975141470401,"sku":"OJ0601250103PT414CG05","price":4158.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6811.jpg?v=1739415514"},{"product_id":"oj0601250103pt414nv","title":"line pants_navy","description":"\u003cp\u003e昨シーズン人気だったラインパンツに新色が登場。\u003cbr\u003eキースタイルでもあるレトロスポーツの要素を取り入れたラインパンツ。\u003cbr\u003eそれぞれのボディーカラーに合わせた個性的なサイドテープがコーディネートのアクセントに。\u003cbr\u003e伸縮性に優れた履き心地の良いストレッチ素材で、ストレスフリーの履き心地も魅力です。\u003c\/p\u003e\n\u003cp\u003emodel : Hiyori 86cm size1,Takito 82cm size1\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： レーヨン55%、ポリエステル40%、ポリウレタン5%\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 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\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 145.969px; 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\u003e49.7\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e57\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e63\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e72\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;\"\u003e21.5\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\u003ctd style=\"height: 35.5938px;\"\u003e24.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;\"\u003e34\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e40\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\n\u003cfigure class=\"slide-item\"\u003e\u003ca data-size=\"750x1050\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3288.jpg?v=1739325999\"\u003e\u003cimg alt=\"image1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3288.jpg?v=1739325999\"\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_3307.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3307.jpg?v=1739325999\"\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_3313.jpg?v=1739326000\"\u003e\u003cimg alt=\"Image3\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3313.jpg?v=1739326000\"\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_3311.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image4\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3311.jpg?v=1739325999\"\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_3316.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image5\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3316.jpg?v=1739325999\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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\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","brand":"OOJU","offers":[{"title":"navy \/ 1","offer_id":48975139700929,"sku":"OJ0601250103PT414NV02","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"navy \/ 2","offer_id":48975139733697,"sku":"OJ0601250103PT414NV03","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"navy \/ 3","offer_id":48975139766465,"sku":"OJ0601250103PT414NV04","price":4158.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 4","offer_id":48975139799233,"sku":"OJ0601250103PT414NV05","price":4158.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_5939_13b72d79-16be-405f-b189-fc999666f054.jpg?v=1739415030"},{"product_id":"oj0601250103pt414pl","title":"line pants_purple","description":"\u003cp\u003e昨シーズン人気だったラインパンツに新色が登場。\u003cbr\u003eキースタイルでもあるレトロスポーツの要素を取り入れたラインパンツ。\u003cbr\u003eそれぞれのボディーカラーに合わせた個性的なサイドテープがコーディネートのアクセントに。\u003cbr\u003e伸縮性に優れた履き心地の良いストレッチ素材で、ストレスフリーの履き心地も魅力です。\u003c\/p\u003e\n\u003cp\u003emodel : Koharu size2\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e（それぞれ着用写真下部にモデル名と身長がございます。ご参考ください。）\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： レーヨン55%、ポリエステル40%、ポリウレタン5%\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 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\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 145.969px; 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\u003e49.7\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e57\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e63\u003c\/td\u003e\n\u003ctd style=\"height: 35.5938px;\"\u003e72\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;\"\u003e21.5\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\u003ctd style=\"height: 35.5938px;\"\u003e24.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;\"\u003e34\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5938px;\"\u003e40\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\n\u003cfigure class=\"slide-item\"\u003e\u003ca data-size=\"750x1050\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3288.jpg?v=1739325999\"\u003e\u003cimg alt=\"image1\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3288.jpg?v=1739325999\"\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_3301.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image2\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3301.jpg?v=1739325999\"\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_3305.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image3\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3305.jpg?v=1739325999\"\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_3302.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image4\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3302.jpg?v=1739325999\"\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_3316.jpg?v=1739325999\"\u003e\u003cimg alt=\"Image5\" data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_3316.jpg?v=1739325999\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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\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","brand":"OOJU","offers":[{"title":"purple \/ 1","offer_id":48975134195905,"sku":"OJ0601250103PT414PL02","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"purple \/ 2","offer_id":48975134228673,"sku":"OJ0601250103PT414PL03","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"purple \/ 3","offer_id":48975134261441,"sku":"OJ0601250103PT414PL04","price":4158.0,"currency_code":"JPY","in_stock":true},{"title":"purple \/ 4","offer_id":48975134294209,"sku":"OJ0601250103PT414PL05","price":4158.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7332.jpg?v=1739414993"},{"product_id":"new-border-long-t-shirts_charcoal","title":"pencil border long T-shirts_charcoal","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 : Koharu\u003cspan\u003e 103cm size2\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003ecolor :  charcoal, beige, green\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003cbr\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\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\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n\u003cbr\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003c\/figure\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003c\/figure\u003e\n\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":"charcoal \/ 1","offer_id":49153383104705,"sku":"OJ-CU2031CG02","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 2","offer_id":49153383137473,"sku":"OJ-CU2031CG03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":49153383170241,"sku":"OJ-CU2031CG04","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":49153383203009,"sku":"OJ-CU2031CG05","price":3960.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6946.jpg?v=1744106709"},{"product_id":"new-border-long-t-shirts_green","title":"pencil border long T-shirts_green","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 : Ichika\u003cspan\u003e 111cm size3\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\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\n\u003cbr\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0139_d1a3d0e1-5f2a-4514-9876-8d5514f99b6f.jpg?v=1732153220\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0139_d1a3d0e1-5f2a-4514-9876-8d5514f99b6f.jpg?v=1732153220\" 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_0141_79f17c77-d053-4f07-b2df-43f0dd02804e.jpg?v=1732153220\" data-size=\"750x1050\"\u003e\u003cimg data-lazy=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_0141_79f17c77-d053-4f07-b2df-43f0dd02804e.jpg?v=1732153220\" alt=\"Image3\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\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":"green \/ 1","offer_id":49153455259841,"sku":"OJ-CU2031GR02","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 2","offer_id":49153455292609,"sku":"OJ-CU2031GR03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"green \/ 3","offer_id":49153455325377,"sku":"OJ-CU2031GR04","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"green \/ 4","offer_id":49153455358145,"sku":"OJ-CU2031GR05","price":3960.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6393.jpg?v=1744106247"},{"product_id":"new-border-long-t-shirts_beige","title":"pencil border long T-shirts_beige","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":49153459716289,"sku":"OJ-CU2031BG02","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"beige \/ 2","offer_id":49153459749057,"sku":"OJ-CU2031BG03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"beige \/ 3","offer_id":49153459781825,"sku":"OJ-CU2031BG04","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"beige \/ 4","offer_id":49153459814593,"sku":"OJ-CU2031BG05","price":3960.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":"new-number-long-t-shirts_white","title":"number long T-shirts_ivory","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":49153464598721,"sku":"OJ-CU2030IV02","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"ivory \/ 2","offer_id":49153464631489,"sku":"OJ-CU2030IV03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 3","offer_id":49153464664257,"sku":"OJ-CU2030IV04","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"ivory \/ 4","offer_id":49153464697025,"sku":"OJ-CU2030IV05","price":3960.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6805_59c2703a-1b59-44ea-b172-c865b8207969.jpg?v=1758159281"},{"product_id":"new-number-long-t-shirts_ivory-コピー","title":"number long T-shirts_charcoal","description":"\u003cp\u003e前シーズンで人気だったロングTシャツがアップデートされて再登場！！\u003cbr\u003e新色のピンクも仲間入り！\u003cbr\u003e\u003cbr\u003eoojuのキースタイルでもあるレトロスポーツの要素を取り入れた人気のロングTシャツ。\u003cbr\u003e今シーズンは首元のリブもプリントと同じカラーにアップデートし、全体を引き締めるアクセントに。\u003cbr\u003eプリントもヴィンテージライクな加工にすることで、トレンド感も取り入れています。\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Kai 91cm size 2, Takito 87cm size 1\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\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.941px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e\n\u003cp\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e46\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;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px;\"\u003e54\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;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\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\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\n\u003cbr\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003c\/figure\u003e\n\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":"charcoal \/ 1","offer_id":49153472626881,"sku":"OJ-CU2030CG02","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 2","offer_id":49153472659649,"sku":"OJ-CU2030CG03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"charcoal \/ 3","offer_id":49153472692417,"sku":"OJ-CU2030CG04","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"charcoal \/ 4","offer_id":49153472725185,"sku":"OJ-CU2030CG05","price":3960.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6262.jpg?v=1758159087"},{"product_id":"new-number-long-t-shirts_pink","title":"number long T-shirts_pink","description":"\u003cp\u003e前シーズンで人気だったロングTシャツがアップデートされて再登場！！\u003cbr\u003e新色のピンクも仲間入り！\u003cbr\u003e\u003cbr\u003eoojuのキースタイルでもあるレトロスポーツの要素を取り入れた人気のロングTシャツ。\u003cbr\u003e今シーズンは首元のリブもプリントと同じカラーにアップデートし、全体を引き締めるアクセントに。\u003cbr\u003eプリントもヴィンテージライクな加工にすることで、トレンド感も取り入れています。\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Emma 103cm size2, \u003cspan\u003eMay 78cm  size1\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cbr\u003e\u003c\/span\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ㅤ\u003cbr\u003e\u003cbr\u003e\u003cmeta charset=\"utf-8\"\u003e\u003c\/span\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 style=\"font-size: 0.875rem;\"\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\/span\u003e\u003c\/p\u003e\n\u003ctable width=\"100%\" style=\"height: 130px;\"\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.6042px;\"\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003eA:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\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.6042px;\"\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e52\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.6042px;\"\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e身長（cm）\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.6042px;\"\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\n\u003cbr\u003e\n\u003cfigure class=\"slide-item\"\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_9462.jpg?v=1726714656\" data-size=\"750x1050\"\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\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":"pink \/ 1","offer_id":49153479737537,"sku":"OJ-CU2030PK02","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"pink \/ 2","offer_id":49153479770305,"sku":"OJ-CU2030PK03","price":3960.0,"currency_code":"JPY","in_stock":true},{"title":"pink \/ 3","offer_id":49153479803073,"sku":"OJ-CU2030PK04","price":3960.0,"currency_code":"JPY","in_stock":false},{"title":"pink \/ 4","offer_id":49153479835841,"sku":"OJ-CU2030PK05","price":3960.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7571.jpg?v=1756793906"},{"product_id":"multi-border-s-s-t-shirts-コピー","title":"multi border ringer t-shirts_grey","description":"\u003cp\u003e首元と袖口にパイピングを施したトレンドのリンガーT-shirtsが登場！！\u003cbr\u003eoojuならではの特徴的なマルチボーダーが、ヴィンテージスポーツのテイストをプラスしています。\u003cbr\u003eデニムとも相性抜群のキャッチーなカラーリングも魅力の1枚は、スタイリングの主役になる今シーズンのマストハブアイテムです。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Takito 87cm size1\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e grey, pink, khaki\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： コットン100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/T_kawai_480x480.png?v=1715739844\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 143px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e38 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\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":"1 \/ grey","offer_id":49279142723777,"sku":"OJ-25SSCU01GR01","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ grey","offer_id":49279142756545,"sku":"OJ-25SSCU01GR02","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ grey","offer_id":49279142789313,"sku":"OJ-25SSCU01GR03","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ grey","offer_id":49279142822081,"sku":"OJ-25SSCU01GR04","price":4400.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7001.jpg?v=1748481157"},{"product_id":"new-multi-border-s-s-t-shirts_grey-コピー","title":"multi border ringer t-shirts_pink","description":"\u003cp\u003e首元と袖口にパイピングを施したトレンドのリンガーT-shirtsが登場！！\u003cbr\u003eoojuならではの特徴的なマルチボーダーが、ヴィンテージスポーツのテイストをプラスしています。\u003cbr\u003eデニムとも相性抜群のキャッチーなカラーリングも魅力の1枚は、スタイリングの主役になる今シーズンのマストハブアイテムです。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Emma 102cm size2\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e grey, pink, khaki\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： コットン100%\u003c\/span\u003e\u003cbr\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\/T_kawai_480x480.png?v=1715739844\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"pswp__bg\"\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e38 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\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\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\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","brand":"OOJU","offers":[{"title":"1 \/ pink","offer_id":49279152095425,"sku":"OJ-25SSCU01PK01","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ pink","offer_id":49279152128193,"sku":"OJ-25SSCU01PK02","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ pink","offer_id":49279152160961,"sku":"OJ-25SSCU01PK03","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ pink","offer_id":49279152193729,"sku":"OJ-25SSCU01PK04","price":4400.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6859.jpg?v=1748481689"},{"product_id":"new-multi-border-s-s-t-shirts_pink-コピー","title":"multi border ringer t-shirts_khaki","description":"\u003cp\u003e首元と袖口にパイピングを施したトレンドのリンガーT-shirtsが登場！！\u003cbr\u003eoojuならではの特徴的なマルチボーダーが、ヴィンテージスポーツのテイストをプラスしています。\u003cbr\u003eデニムとも相性抜群のキャッチーなカラーリングも魅力の1枚は、スタイリングの主役になる今シーズンのマストハブアイテムです。\u003cbr\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003emodel : Ichika 112cm size3\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e grey, pink, khaki\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： コットン100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/T_kawai_480x480.png?v=1715739844\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003ctable style=\"height: 143px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e38 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\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":"1 \/ khaki","offer_id":49279155634369,"sku":"OJ-25SSCU01KH01","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ khaki","offer_id":49279155667137,"sku":"OJ-25SSCU01KH02","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ khaki","offer_id":49279155699905,"sku":"OJ-25SSCU01KH03","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ khaki","offer_id":49279155732673,"sku":"OJ-25SSCU01KH04","price":4400.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8019.jpg?v=1748482182"},{"product_id":"new-multi-border-s-s-t-shirts_khaki-コピー","title":"Club ooju s\/s t-shirts_ivory","description":"\u003cp\u003e\"Club ooju\"へようこそ！！\u003cbr\u003eoojuを着たおしゃれキッズたちに、楽しく元気に過ごして欲しいという想いでClub t-shirtsを作りました。\u003cbr\u003e\"何も心配いらないよ、oojuはいつも傍にいる\"というメッセージと共にプリントされたナンバー\"22\"は、oojuがスタートした2022年を意味しています。\u003cbr\u003eフロントには\"Club ooju\"のオリジナルロゴもプラスしました。\u003cbr\u003eキャッチーな配色も\"今っぽさ\"万歳の今シーズンを象徴する1枚です。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Ichika 112cm size3\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory, lilac, 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： コットン100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\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\/T_kawai_480x480.png?v=1715739844\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e39\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8  \u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\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":"1 \/ ivory","offer_id":49279159304385,"sku":"OJ-25SSCU02IV01","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ ivory","offer_id":49279159337153,"sku":"OJ-25SSCU02IV02","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ ivory","offer_id":49279159369921,"sku":"OJ-25SSCU02IV03","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ ivory","offer_id":49279159402689,"sku":"OJ-25SSCU02IV04","price":3850.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7715.jpg?v=1748501071"},{"product_id":"club-ooju-s-s-t-shirts_ivory-コピー","title":"Club ooju s\/s t-shirts_lilac","description":"\u003cp\u003e\"Club ooju\"へようこそ！！\u003cbr\u003eoojuを着たおしゃれキッズたちに、楽しく元気に過ごして欲しいという想いでClub t-shirtsを作りました。\u003cbr\u003e\"何も心配いらないよ、oojuはいつも傍にいる\"というメッセージと共にプリントされたナンバー\"22\"は、oojuがスタートした2022年を意味しています。\u003cbr\u003eフロントには\"Club ooju\"のオリジナルロゴもプラスしました。\u003cbr\u003eキャッチーな配色も\"今っぽさ\"万歳の今シーズンを象徴する1枚です。\u003c\/p\u003e\n\u003cp\u003emodel : Emma 102cm size2\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory, lilac, 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： コットン100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\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\/T_kawai_480x480.png?v=1715739844\"\u003e\u003c\/div\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e39\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8  \u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\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\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 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 \/ lilac","offer_id":49279163498689,"sku":"OJ-25SSCU02LI01","price":3850.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ lilac","offer_id":49279163531457,"sku":"OJ-25SSCU02LI02","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ lilac","offer_id":49279163564225,"sku":"OJ-25SSCU02LI03","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ lilac","offer_id":49279163596993,"sku":"OJ-25SSCU02LI04","price":3850.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7483.jpg?v=1748483847"},{"product_id":"club-ooju-s-s-t-shirts_lilac-コピー","title":"Club ooju s\/s t-shirts_blue","description":"\u003cp\u003e\"Club ooju\"へようこそ！！\u003cbr\u003eoojuを着たおしゃれキッズたちに、楽しく元気に過ごして欲しいという想いでClub t-shirtsを作りました。\u003cbr\u003e\"何も心配いらないよ、oojuはいつも傍にいる\"というメッセージと共にプリントされたナンバー\"22\"は、oojuがスタートした2022年を意味しています。\u003cbr\u003eフロントには\"Club ooju\"のオリジナルロゴもプラスしました。\u003cbr\u003eキャッチーな配色も\"今っぽさ\"万歳の今シーズンを象徴する1枚です。\u003cstrong\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Takito 88cm size1\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor :\u003cspan\u003e ivory, lilac, 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： コットン100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\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\/T_kawai_480x480.png?v=1715739844\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003ctable style=\"height: 143px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e39\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e55\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:袖丈\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e8  \u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e9\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e10\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\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":"1 \/ blue","offer_id":49279165137089,"sku":"OJ-25SSCU02BL01","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ blue","offer_id":49279165169857,"sku":"OJ-25SSCU02BL02","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ blue","offer_id":49279165202625,"sku":"OJ-25SSCU02BL03","price":3850.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ blue","offer_id":49279165235393,"sku":"OJ-25SSCU02BL04","price":3850.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6840_f0ee2236-ee2f-41a5-b4d7-58e6a542b8e3.jpg?v=1748484066"},{"product_id":"pile-f-s-t-shirts-コピー","title":"pile f\/s t-shirts_navy","description":"\u003cp\u003e人気のパイルT-shirtsに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でショーツも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Takito 88cm size1\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy, pink, D purple\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： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg height=\"256\" width=\"454\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/pile.png?v=1749799888\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ctable width=\"100%\" style=\"height: 145.937px; width: 100.089%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e\n\u003cp\u003e38\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e43 \u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e53\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%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\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%;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e46\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%;\"\u003e90\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\u003c!----\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\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 \/ navy","offer_id":49279174082753,"sku":"OJ-25SSCU03NV01","price":4620.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ navy","offer_id":49279174115521,"sku":"OJ-25SSCU03NV02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ navy","offer_id":49279174148289,"sku":"OJ-25SSCU03NV03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ navy","offer_id":49279174181057,"sku":"OJ-25SSCU03NV04","price":4620.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7210_40643b04-9c0e-4d00-a4be-b381e59c7cf1.jpg?v=1749798302"},{"product_id":"new-pile-f-s-t-shirts-コピー","title":"pile f\/s t-shirts_pink","description":"\u003cp\u003e人気のパイルT-shirtsに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でショーツも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Emma 102cm size2\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy, pink, D purple\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： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cspan\u003e\u003cimg height=\"256\" width=\"454\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/pile.png?v=1749799888\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 145.937px; width: 100.089%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e\n\u003cp\u003e38\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e43 \u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e53\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%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\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%;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e46\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%;\"\u003e90\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\u003c!----\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\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__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":"1 \/ pink","offer_id":49279200100545,"sku":"OJ-25SSCU03PK01","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ pink","offer_id":49279200133313,"sku":"OJ-25SSCU03PK02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ pink","offer_id":49279200166081,"sku":"OJ-25SSCU03PK03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ pink","offer_id":49279200198849,"sku":"OJ-25SSCU03PK04","price":4620.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7065.jpg?v=1749602552"},{"product_id":"new-pile-f-s-t-shirts_pink-コピー","title":"pile f\/s t-shirts_dark purple","description":"\u003cp\u003e人気のパイルT-shirtsに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でショーツも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003emodel : Ichika 112cm size3\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy, pink, dark purple\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： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cspan\u003e\u003cimg height=\"256\" width=\"454\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/pile.png?v=1749799888\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 145.937px; width: 100.089%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e\n\u003cp\u003e38\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e43 \u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e53\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%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\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%;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e46\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%;\"\u003e90\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\u003c!----\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\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":"1 \/ D purple","offer_id":49279215927489,"sku":"OJ-25SSCU03DP01","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ D purple","offer_id":49279215960257,"sku":"OJ-25SSCU03DP02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ D purple","offer_id":49279215993025,"sku":"OJ-25SSCU03DP03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ D purple","offer_id":49279216025793,"sku":"OJ-25SSCU03DP04","price":4620.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7822.jpg?v=1749775920"},{"product_id":"pile-shorts-コピー","title":"pile shorts_navy","description":"\u003cp\u003e人気のパイルショーツに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でトップスも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e※モデル着用品はサンプルです。正しいパンツの形は商品画像をご参考ください。\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Takito 88cm size1\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy\u003cspan\u003e, \u003cspan style=\"text-decoration: underline;\"\u003epink\u003c\/span\u003e, D purple\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003c!----\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\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/shortpants_480x480.png?v=1712200457\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 143px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e41\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e30.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e35 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:腿巾\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e25.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e27.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/figure\u003e\n\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\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__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 \/ navy","offer_id":49279223627969,"sku":"OJ-25SSPT03NV01","price":4620.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ navy","offer_id":49279223660737,"sku":"OJ-25SSPT03NV02","price":4620.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ navy","offer_id":49279223693505,"sku":"OJ-25SSPT03NV03","price":4620.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ navy","offer_id":49279223726273,"sku":"OJ-25SSPT03NV04","price":4620.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7152_a3b117bf-dfd0-4caf-8d83-c7abb02a894b.jpg?v=1749772151"},{"product_id":"new-pile-shorts_navy-コピー","title":"pile shorts_pink","description":"\u003cp\u003e人気のパイルショーツに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でトップスも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e※モデル着用品はサンプルです。正しいパンツの形は商品画像をご参考ください。\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003emodel : Emma 102cm size2\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy\u003cspan\u003e, \u003cspan style=\"text-decoration: underline;\"\u003epink\u003c\/span\u003e, D purple\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003c!----\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\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/shortpants_480x480.png?v=1712200457\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 143px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e41\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e30.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e35 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:腿巾\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e25.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e27.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/figure\u003e\n\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 \/ pink","offer_id":49279230312641,"sku":"OJ-25SSPT03PK01","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ pink","offer_id":49279230345409,"sku":"OJ-25SSPT03PK02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ pink","offer_id":49279230378177,"sku":"OJ-25SSPT03PK03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ pink","offer_id":49279230410945,"sku":"OJ-25SSPT03PK04","price":4620.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7097_5fc3a077-7ecc-4b61-a6f2-c3733ffa5158.jpg?v=1749775736"},{"product_id":"new-pile-shorts_pink-コピー","title":"pile shorts_dark purple","description":"\u003cp\u003e人気のパイルショーツに新色が登場。\u003cbr data-mce-fragment=\"1\"\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr data-mce-fragment=\"1\"\u003e同素材でトップスも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e※モデル着用品はサンプルです。正しいパンツの形は商品画像をご参考ください。\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Ichika 112cm size3\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy\u003cspan data-mce-fragment=\"1\"\u003e,\u003cspan style=\"text-decoration: underline;\"\u003e \u003c\/span\u003epink, dark purple\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003c\/span\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eコットン 80%\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003c!----\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\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/shortpants_480x480.png?v=1712200457\"\u003e\u003c\/div\u003e\n\u003ctable width=\"100%\" style=\"height: 143px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e41\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35px;\"\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003eB:着丈\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e23.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e30.5\u003c\/td\u003e\n\u003ctd style=\"height: 35px;\"\u003e\n\u003cp\u003e35 \u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003eC:腿巾\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e20.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e25.5\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e27.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19px;\"\u003e\n\u003ctd style=\"height: 19px;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19px;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/figure\u003e\n\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":"1 \/ D purple","offer_id":49279232737473,"sku":"OJ-25SSPT03DP01","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ D purple","offer_id":49279232770241,"sku":"OJ-25SSPT03DP02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ D purple","offer_id":49279232803009,"sku":"OJ-25SSPT03DP03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ D purple","offer_id":49279232835777,"sku":"OJ-25SSPT03DP04","price":4620.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7758_2873fc93-152d-4046-81ae-2410afb59549.jpg?v=1749775681"},{"product_id":"multi-border-dress-コピー","title":"multi border dress_blue","description":"\u003cp\u003e昨シーズン好評だったマルチボーダードレスがアップデートされて登場！\u003cbr\u003eポコポコした表面のパイル調の素材感と、夏らしい爽やかなカラーリングが特徴です。\u003cbr\u003e着心地が良く動きやすいカットソー素材なので、アクティブなガールズにもピッタリの1枚。\u003cbr\u003eフレンチスリーブとウエストのシャーリングで女の子らしさもプラスされています。\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003emodel : May 78cm size1\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ecolor :  blue , pink\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/23c0862577971507dfc71cb2be83d6fa_600x600.png?v=1716360018\" alt=\"\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003cbr\u003e\n\u003ctable width=\"100%\" style=\"width: 100.091%; height: 78.3752px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003esize\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003eA.総丈\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e54\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e66\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003eB.身幅\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e54\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e \u003cmeta charset=\"utf-8\"\u003e身長（㎝）\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\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":"1 \/ blue","offer_id":49287286325441,"sku":"OJ-25SSOP03BL01","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"2 \/ blue","offer_id":49287286358209,"sku":"OJ-25SSOP03BL02","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ blue","offer_id":49287286390977,"sku":"OJ-25SSOP03BL03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ blue","offer_id":49287286423745,"sku":"OJ-25SSOP03BL04","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6975.jpg?v=1748569915"},{"product_id":"new-multi-border-dress_blue-コピー","title":"multi border dress_pink","description":"\u003cp\u003e昨シーズン好評だったマルチボーダードレスがアップデートされて登場！\u003cbr\u003eポコポコした表面のパイル調の素材感と、夏らしい爽やかなカラーリングが特徴です。\u003cbr\u003e着心地が良く動きやすいカットソー素材なので、アクティブなガールズにもピッタリの1枚。\u003cbr\u003eフレンチスリーブとウエストのシャーリングで女の子らしさもプラスされています。\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003emodel : Emma 102cm size2\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ecolor :  pink , blue\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\n\u003cimg style=\"margin-bottom: 16px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/23c0862577971507dfc71cb2be83d6fa_600x600.png?v=1716360018\"\u003e\u003cbr\u003e\n\u003ctable style=\"width: 100.091%; height: 78.3752px;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003esize\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003eA.総丈\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e50\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e54\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e66\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003eB.身幅\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e46\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e49\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e52\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e54\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e \u003cmeta charset=\"utf-8\"\u003e身長（㎝）\u003c\/td\u003e\n\u003ctd style=\"width: 19.8165%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"width: 19.4495%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"width: 20%; height: 19.5938px;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\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\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 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 \/ pink","offer_id":49287308443841,"sku":"OJ-25SSOP03PK01","price":5500.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ pink","offer_id":49287308476609,"sku":"OJ-25SSOP03PK02","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"3 \/ pink","offer_id":49287308509377,"sku":"OJ-25SSOP03PK03","price":5500.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ pink","offer_id":49287308542145,"sku":"OJ-25SSOP03PK04","price":5500.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6980.jpg?v=1748569854"},{"product_id":"nylon-shorts-コピー","title":"nylon shorts_khaki","description":"\u003cp\u003eこれからのシーズンに欠かせない軽撥水のナイロンショーツは、水遊びやレジャーなど、アウトドアシーンに最適です。\u003cbr\u003e軽くてストレスフリーな履き心地なので、タウンユースとしても活躍します。\u003cbr\u003eベーシックなカーキとベージュの2色展開で、トップスを選ばず着こなせるのも嬉しいポイント。\u003c\/p\u003e\n\u003cp\u003emodel : May 78cm size1, takito 88cm size1, Ichika 112cm size3\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : khaki, beige\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： \u003c\/span\u003e\u003cspan\u003eナイロン100%\u003c\/span\u003e\u003cspan\u003e\u003cbr\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\/nylonpants_480x480.png?v=1717576627\" style=\"margin-bottom: 16px; float: none;\"\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 style=\"width: 31%;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003e\n\u003cp\u003eB:ヒップ\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e37.6\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e41.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eC:総丈\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e27\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e31.5\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e35\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eD:裾周り\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e27\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"OOJU","offers":[{"title":"1 \/ khaki","offer_id":49287312605377,"sku":"OJ-25SSPT04KH01","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ khaki","offer_id":49287312638145,"sku":"OJ-25SSPT04KH02","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ khaki","offer_id":49287312670913,"sku":"OJ-25SSPT04KH03","price":4400.0,"currency_code":"JPY","in_stock":false},{"title":"4 \/ khaki","offer_id":49287312703681,"sku":"OJ-25SSPT04KH04","price":4400.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_8019_92cd35a4-348d-463f-8089-3282a7bcf887.jpg?v=1748569824"},{"product_id":"new-nylon-shorts_khaki-コピー","title":"nylon shorts_beige","description":"\u003cp\u003eこれからのシーズンに欠かせない軽撥水のナイロンショーツは、水遊びやレジャーなど、アウトドアシーンに最適です。\u003cbr\u003e軽くてストレスフリーな履き心地なので、タウンユースとしても活躍します。\u003cbr\u003eベーシックなカーキとベージュの2色展開で、トップスを選ばず着こなせるのも嬉しいポイント。\u003c\/p\u003e\n\u003cp\u003emodel : Emma 101cm size2\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : beige, khaki\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： \u003c\/span\u003e\u003cspan\u003eナイロン100%\u003c\/span\u003e\u003cspan\u003e\u003cbr\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\/nylonpants_480x480.png?v=1717576627\" style=\"margin-bottom: 16px; float: none;\"\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 style=\"width: 31%;\"\u003esize \u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e１\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e２\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e３\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eA:ウエスト\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e44\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e47\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e49\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003e\n\u003cp\u003eB:ヒップ\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e36\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e37.6\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e41.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eC:総丈\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e27\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e31.5\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e35\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 31%;\"\u003eD:裾周り\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e22.5\u003c\/td\u003e\n\u003ctd style=\"width: 14%;\"\u003e24.5\u003c\/td\u003e\n\u003ctd style=\"width: 14.1912%;\"\u003e26\u003c\/td\u003e\n\u003ctd style=\"width: 13.8088%;\"\u003e27\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\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":"1 \/ beige","offer_id":49287318962369,"sku":"OJ-25SSPT04BG01","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ beige","offer_id":49287318995137,"sku":"OJ-25SSPT04BG02","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ beige","offer_id":49287319027905,"sku":"OJ-25SSPT04BG03","price":4400.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ beige","offer_id":49287319060673,"sku":"OJ-25SSPT04BG04","price":4400.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7543.jpg?v=1748485019"},{"product_id":"restock-nylon-salopette_navy-コピー","title":"nylon salopette_navy","description":"\u003cp\u003e人気のサロペットが新色を追加して再入荷。\u003cbr\u003eストラップがきちんと留まるよう、バックルの仕様をアップデートしました。\u003c\/p\u003e\n\u003cp\u003eさらっとした質感で軽い着心地のナイロンサロペット。\u003cbr\u003e撥水加工を施したナイロン素材で水はじきがよく、公園遊びや水場で活躍する1枚。\u003cbr\u003e子どもっぽくなりすぎないよう、シルエットにもこだわりました。\u003cbr\u003e着丈はベルトで調整が可能なので、成長に合わせて長く愛用いただけます。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003emodel : May\u003c\/span\u003e\u003cspan\u003e 78cm size1　　※インナーは参考商品です。\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ナイロン 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\u003e\u003cspan\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\/091c7afd5b79f36f283a36e596136a6d_600x600.png?v=1716373229\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eㅤㅤ\u003c\/span\u003e\u003c\/p\u003e\n\u003ctable style=\"height: 154.933px; width: 100%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e\n\u003cp\u003e66\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e78.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e88\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e98.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003eB:股下\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 28.5859px;\"\u003e\n\u003ctd style=\"height: 28.5859px; width: 28.2257%;\"\u003eC:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.2697%;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.0293%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.084%;\"\u003e39\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2257%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.2697%;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.367%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.0293%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.084%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"OOJU","offers":[{"title":"navy \/ 1","offer_id":49287324631233,"sku":"OJ-25SSOP02NV01","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 2","offer_id":49287324664001,"sku":"OJ-25SSOP02NV02","price":7920.0,"currency_code":"JPY","in_stock":false},{"title":"navy \/ 3","offer_id":49287324696769,"sku":"OJ-25SSOP02NV03","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"navy \/ 4","offer_id":49287324729537,"sku":"OJ-25SSOP02NV04","price":7920.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7300.jpg?v=1748485212"},{"product_id":"new-nylon-salopette_navy-コピー","title":"nylon salopette_pink","description":"\u003cp\u003e人気のサロペットが新色を追加して再入荷！！\u003cbr\u003eストラップがきちんと留まるよう、バックルの仕様をアップデートしました。\u003c\/p\u003e\n\u003cp\u003eさらっとした質感で軽い着心地のナイロンサロペット。\u003cbr\u003e撥水加工を施したナイロン素材で水はじきがよく、公園遊びや水場で活躍する1枚。\u003cbr\u003e子どもっぽくなりすぎないよう、シルエットにもこだわりました。\u003cbr\u003e着丈はベルトで調整が可能なので、成長に合わせて長く愛用いただけます。\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003emodel :Emma\u003c\/span\u003e\u003cspan\u003e 101cm size2\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： ナイロン 100%\u003c\/span\u003e\u003cbr\u003e             \u003c\/p\u003e\n\u003cp\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\/091c7afd5b79f36f283a36e596136a6d_600x600.png?v=1716373229\" 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: 154.933px; width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003eA:総丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e\n\u003cp\u003e66\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e78.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e88\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e98.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2257%;\"\u003e\n\u003cp\u003eB:股下\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.2697%;\"\u003e26.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 18.0293%;\"\u003e39.5\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.084%;\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 28.5859px;\"\u003e\n\u003ctd style=\"height: 28.5859px; width: 28.2257%;\"\u003eC:身幅\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.2697%;\"\u003e32\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.367%;\"\u003e33\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 18.0293%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 28.5859px; width: 17.084%;\"\u003e39\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2257%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.2697%;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.367%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 18.0293%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.084%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"OOJU","offers":[{"title":"pink \/ 1","offer_id":49287334920385,"sku":"OJ-25SSOP02PK01","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"pink \/ 2","offer_id":49287334953153,"sku":"OJ-25SSOP02PK02","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"pink \/ 3","offer_id":49287334985921,"sku":"OJ-25SSOP02PK03","price":7920.0,"currency_code":"JPY","in_stock":true},{"title":"pink \/ 4","offer_id":49287335018689,"sku":"OJ-25SSOP02PK04","price":7920.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7245.jpg?v=1748485488"},{"product_id":"ooju-jeans_indigo-コピー","title":"ooju jeans_indigo","description":"\u003cp\u003e\u003cspan\u003eoojuの中でも不動の大人気アイテム、今回は新色のindigoを追加しました。\u003cbr\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本です。\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e※色の濃いデニムですので、お洗濯の際は単品で洗うなど色落ちにご注意ください。\u003cbr\u003e※色の薄い洋服に色が写る可能性がありますので、特に汗をかきやすい時期にはご注意ください。\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003emodel :  Ichika 117cm size3, Takito 88cm size1\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本体 \/ 綿80％、ポリエステル20%　\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\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\u003e32.3\u003c\/td\u003e\n\u003ctd\u003e33.5\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\u003cdiv class=\"img\"\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":"indigo \/ 1","offer_id":49287448232129,"sku":"OJ-25SSPT01ID01","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 2","offer_id":49287448264897,"sku":"OJ-25SSPT01ID02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 3","offer_id":49287448297665,"sku":"OJ-25SSPT01ID03","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"indigo \/ 4","offer_id":49287448330433,"sku":"OJ-25SSPT01ID04","price":5940.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_6824.jpg?v=1756795891"},{"product_id":"new-ooju-jeans_indigo-コピー","title":"ooju jeans_blue","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":49287456817345,"sku":"OJ-25SSPT01BL01","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 2","offer_id":49287456850113,"sku":"OJ-25SSPT01BL02","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 3","offer_id":49287456882881,"sku":"OJ-25SSPT01BL03","price":5940.0,"currency_code":"JPY","in_stock":true},{"title":"blue \/ 4","offer_id":49287456915649,"sku":"OJ-25SSPT01BL04","price":5940.0,"currency_code":"JPY","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7181.jpg?v=1756795137"}],"url":"https:\/\/ooju.jp\/en\/collections\/kids-all.oembed","provider":"OOJU","version":"1.0","type":"link"}