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