{"product_id":"new-pile-f-s-t-shirts-pink","title":"pile f\/s t-shirts_pink","description":"\u003cp\u003e人気のパイルT-shirtsに新色が登場。\u003cbr\u003e形はそのままに、素材を薄手にすることでより長い期間着られるようにアップデートしました。\u003cbr\u003e軽い着心地でストレスフリーな着心地も魅力です。\u003cbr\u003eロゴはそれぞれのボディーカラーに合わせてチョイス。\u003cbr\u003eシンプルでありながらカラーリングにこだわったoojuならではの1枚です。\u003cbr\u003e同素材でショーツも展開しているのでセットアップでコーディネートするのもおすすめです。\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003emodel : Emma 102cm size2\u003cspan\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003ecolor : navy, pink, D purple\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003esize : 1 , 2 , 3 , 4\u003c\/p\u003e\n\u003cp\u003eㅤ\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ematerial： \u003c\/span\u003e\u003cspan\u003eコットン 80%\u003c\/span\u003e\u003cspan\u003e　ポリエステル 20%\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cspan\u003e\u003cimg height=\"256\" width=\"454\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/pile.png?v=1749799888\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003ctable style=\"height: 145.937px; width: 100.089%;\" width=\"100%\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003esize \u003cbr\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e1\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e2\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e3\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003eA:着丈\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e\n\u003cp\u003e38\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e43 \u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e48\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e53\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 35.5859px;\"\u003e\n\u003ctd style=\"height: 35.5859px; width: 28.2012%;\"\u003e\n\u003cp\u003eB:身幅\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 14.2861%;\"\u003e37\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 17.0691%;\"\u003e40\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e42\u003c\/td\u003e\n\u003ctd style=\"height: 35.5859px; width: 19.6666%;\"\u003e\n\u003cp\u003e45\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003eC:肩幅\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e38\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e41\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e43\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e46\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5898px;\"\u003e\n\u003ctd style=\"height: 19.5898px; width: 28.2012%;\"\u003e身長（cm）\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 14.2861%;\"\u003e90\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 17.0691%;\"\u003e95-105\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e110-120\u003c\/td\u003e\n\u003ctd style=\"height: 19.5898px; width: 19.6666%;\"\u003e125-135\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e\n\u003cstyle\u003e\n.rte ul, .rte ol {\n    margin: 0 auto;\n}\n.slick-dots {\n    position: absolute;\n    bottom: 15px;\n    display: block;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    list-style: none;\n    text-align: center;\n}\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 25px;\n    margin: 0 5px;\n    padding: 0;\n    cursor: pointer;\n}\n  \n  .slick-dots li button:before {\n    font-family: auto;\n    font-size: 6px;\n    line-height: 20px;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 15px;\n    height: 16px;\n    content: '•';\n    text-align: center;\n    opacity: .25;\n    color: black;\n    \n\n}\n  \n.pswp img {\n    max-width: none;\n    object-fit: contain;\n}\n  \n  .pswp__img--placeholder--blank{\n    display: none !important;\n}\n    \n\u003c\/style\u003e\n\u003cdiv class=\"img\"\u003e\n\u003cdiv class=\"slider_wrap\"\u003e\n\u003cdiv class=\"slider_list my-gallery\" id=\"slider\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Root element of PhotoSwipe. Must have class pswp. --\u003e\n\u003cdiv class=\"pswp\" role=\"dialog\" aria-hidden=\"true\" tabindex=\"-1\"\u003e\n\u003c!-- Background of PhotoSwipe. \n         It's a separate element as animating opacity is faster than rgba(). --\u003e\u003c!-- Slides wrapper with overflow:hidden. --\u003e\n\u003cdiv class=\"pswp__scroll-wrap\"\u003e\n\u003c!-- Container that holds slides. \n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\n            Don't modify these 3 pswp__item elements, data is added later on. --\u003e\n\u003cdiv class=\"pswp__container\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --\u003e\n\u003cdiv class=\"pswp__ui pswp__ui--hidden\"\u003e\n\u003cdiv class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"\u003e\n\u003cdiv class=\"pswp__share-tooltip\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\"\u003e \u003c\/button\u003e \u003cbutton class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\"\u003e \u003c\/button\u003e\n\u003cdiv class=\"pswp__caption\"\u003e\n\u003cdiv class=\"pswp__caption__center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n\n    \/\/slickスライダー初期化  \n    $(slider).slick({\n        autoplay: true,\n        arrows: false,\n       dots: true,\n        infinite: true \n    });\n\nvar initPhotoSwipeFromDOM = function(gallerySelector) {\n\n    \/\/ parse slide data (url, title, size ...) from DOM elements \n    \/\/ (children of gallerySelector)\n    var parseThumbnailElements = function(el) {\n        var thumbElements = el.childNodes,\n            numNodes = thumbElements.length,\n            items = [],\n            figureEl,\n            linkEl,\n            size,\n            item;\n\n        for(var i = 0; i \u003c numNodes; i++) {\n\n            figureEl = thumbElements[i]; \/\/ \u003cfigure\u003e element\n\n            \/\/ include only element nodes \n            if(figureEl.nodeType !== 1) {\n                continue;\n            }\n\n            linkEl = figureEl.children[0]; \/\/ \u003ca\u003e element\n\n            size = linkEl.getAttribute('data-size').split('x');\n\n            \/\/ create slide object\n            item = {\n                src: linkEl.getAttribute('href'),\n                w: parseInt(size[0], 10),\n                h: parseInt(size[1], 10)\n            };\n\n            if(figureEl.children.length \u003e 1) {\n                \/\/ \u003cfigcaption\u003e content\n                item.title = figureEl.children[1].innerHTML; \n            }\n\n            if(linkEl.children.length \u003e 0) {\n                \/\/ \u003cimg\u003e thumbnail element, retrieving thumbnail url\n                item.msrc = linkEl.children[0].getAttribute('src');\n            } \n\n            item.el = figureEl; \/\/ save link to element for getThumbBoundsFn\n            items.push(item);\n        }\n\n        return items;\n    };\n\n    \/\/ find nearest parent element\n    var closest = function closest(el, fn) {\n        return el \u0026\u0026 ( fn(el) ? el : closest(el.parentNode, fn) );\n    };\n\n    \/\/ triggers when user clicks on thumbnail\n    var onThumbnailsClick = function(e) {\n        e = e || window.event;\n        e.preventDefault ? e.preventDefault() : e.returnValue = false;\n\n        var eTarget = e.target || e.srcElement;\n\n        \/\/ find root element of slide\n        var clickedListItem = closest(eTarget, function(el) {\n            return (el.tagName \u0026\u0026 el.tagName.toUpperCase() === 'FIGURE');\n        });\n\n        if(!clickedListItem) {\n            return;\n        }\n\n        \/\/ find index of clicked item by looping through all child nodes\n        \/\/ alternatively, you may define index via data- attribute\n        var clickedGallery = clickedListItem.parentNode,\n            childNodes = clickedListItem.parentNode.childNodes,\n            numChildNodes = childNodes.length,\n            nodeIndex = 0,\n            index;\n\n        for (var i = 0; i \u003c numChildNodes; i++) {\n            if(childNodes[i].nodeType !== 1) { \n                continue; \n            }\n\n            if(childNodes[i] === clickedListItem) {\n                index = nodeIndex;\n                break;\n            }\n            nodeIndex++;\n        }\n\n        if(index \u003e= 0) {\n            \/\/ open PhotoSwipe if valid index found\n            openPhotoSwipe( index, clickedGallery );\n        }\n        return false;\n    };\n\n    \/\/ parse picture index and gallery index from URL (#\u0026pid=1\u0026gid=2)\n    var photoswipeParseHash = function() {\n        var hash = window.location.hash.substring(1),\n        params = {};\n\n        if(hash.length \u003c 5) {\n            return params;\n        }\n\n        var vars = hash.split('\u0026');\n        for (var i = 0; i \u003c vars.length; i++) {\n            if(!vars[i]) {\n                continue;\n            }\n            var pair = vars[i].split('=');  \n            if(pair.length \u003c 2) {\n                continue;\n            }           \n            params[pair[0]] = pair[1];\n        }\n\n        if(params.gid) {\n            params.gid = parseInt(params.gid, 10);\n        }\n\n        return params;\n    };\n\n    var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {\n        var pswpElement = document.querySelectorAll('.pswp')[0],\n            gallery,\n            options,\n            items;\n\n        items = parseThumbnailElements(galleryElement);\n\n        \/\/ define options (if needed)\n        options = {\n\n            \/\/ define gallery index (for URL)\n            galleryUID: galleryElement.getAttribute('data-pswp-uid'),\n\n            getThumbBoundsFn: function(index) {\n                \/\/ See Options -\u003e getThumbBoundsFn section of documentation for more info\n                var thumbnail = items[index].el.getElementsByTagName('img')[0], \/\/ find thumbnail\n                    pageYScroll = window.pageYOffset || document.documentElement.scrollTop,\n                    rect = thumbnail.getBoundingClientRect(); \n\n                return {x:rect.left, y:rect.top + pageYScroll, w:rect.width};\n            }\n\n        };\n\n        \/\/ PhotoSwipe opened from URL\n        if(fromURL) {\n            if(options.galleryPIDs) {\n                \/\/ parse real index when custom PIDs are used \n                \/\/ http:\/\/photoswipe.com\/documentation\/faq.html#custom-pid-in-url\n                for(var j = 0; j \u003c items.length; j++) {\n                    if(items[j].pid == index) {\n                        options.index = j;\n                        break;\n                    }\n                }\n            } else {\n                \/\/ in URL indexes start from 1\n                options.index = parseInt(index, 10) - 1;\n            }\n        } else {\n            options.index = parseInt(index, 10);\n        }\n\n        \/\/ exit if index not found\n        if( isNaN(options.index) ) {\n            return;\n        }\n\n        if(disableAnimation) {\n            options.showAnimationDuration = 0;\n        }\n\n        \/\/ Pass data to PhotoSwipe and initialize it\n        gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options);\n        gallery.init();\n    };\n\n    \/\/ loop through all gallery elements and bind events\n    var galleryElements = document.querySelectorAll( gallerySelector );\n\n    for(var i = 0, l = galleryElements.length; i \u003c l; i++) {\n        galleryElements[i].setAttribute('data-pswp-uid', i+1);\n        galleryElements[i].onclick = onThumbnailsClick;\n    }\n\n    \/\/ Parse URL and open gallery if it contains #\u0026pid=3\u0026gid=1\n    var hashData = photoswipeParseHash();\n    if(hashData.pid \u0026\u0026 hashData.gid) {\n        openPhotoSwipe( hashData.pid ,  galleryElements[ hashData.gid - 1 ], true, true );\n    }\n};\n\n\/\/ execute above function\ninitPhotoSwipeFromDOM('.my-gallery');\n\u003c\/script\u003e \u003cscript src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/object-fit-images\/3.2.4\/ofi.js\"\u003e\u003c\/script\u003e\n\u003c\/div\u003e","brand":"OOJU","offers":[{"title":"1 \/ pink","offer_id":49279200100545,"sku":"OJ-25SSCU03PK01","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"2 \/ pink","offer_id":49279200133313,"sku":"OJ-25SSCU03PK02","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"3 \/ pink","offer_id":49279200166081,"sku":"OJ-25SSCU03PK03","price":4620.0,"currency_code":"JPY","in_stock":true},{"title":"4 \/ pink","offer_id":49279200198849,"sku":"OJ-25SSCU03PK04","price":4620.0,"currency_code":"JPY","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/6691\/1681\/files\/IMG_7065.jpg?v=1749602552","url":"https:\/\/ooju.jp\/ko\/products\/new-pile-f-s-t-shirts-pink","provider":"OOJU","version":"1.0","type":"link"}