PageSourceSearch

https://numatanori.com/pages/store_kappabashi

html numatanori.com collected 2026-09-29 08:07:48 UTC 195,913 bytes, 3,019 lines download raw bytes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<!doctype html>
18<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
19<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]-->
20<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
21<head>
22<!---テストテストテストテストテストテスト --->
23  
23<script src=" https://code.jquery.com/jquery-3.2.1.min.js"></script>
23
24
25  <!-- Basic page needs ================================================== -->
26  <meta charset="utf-8">
27  <meta http-equiv="X-UA-Compatible" content="IE=edge">
28
29	
30	  <link rel="shortcut icon" href="//numatanori.com/cdn/shop/files/favicon_32x32.png?v=1613564544" type="image/png">
31	
32
33  <!-- Title and description ================================================== -->
34  <title>
35  浅草・合羽橋本店のご案内 &ndash; ぬま田海苔
36  </title>
37
38  
39  <meta name="description" content="日本の食を映す街に 良く食べることは、良く暮らすこと。それは贅沢な食事だけをさすのではなく、日々の食を大切にすること。炊きたてのご飯においしい海苔。鼻に抜ける海の香りと口の中に広がる甘みに「あぁ、おいしい」と、思わずつぶやく。そんな小さいけれど沁みていく豊かさを私たちはお届けしています。">
40  
41
42  
43  
44
45  <!-- Helpers ================================================== -->
46  <!-- /snippets/social-meta-tags.liquid -->
47
48
49  <meta property="og:type" content="website">
50  <meta property="og:title" content="浅草・合羽橋本店のご案内">
51  
52
53<meta property="og:url" content="https://numatanori.com/pages/store_kappabashi">
54<meta property="og:site_name" content="ぬま田海苔">
55
56
57  <meta property="og:image" content="https://cdn2.shopify.com/s/files/1/0035/4015/6480/files/IMG_0225_d537622a-7fc7-4ca8-af0f-6aad72d5217e.jpg">
58  <meta property="og:image:secure_url" content="https://cdn2.shopify.com/s/files/1/0035/4015/6480/files/IMG_0225_d537622a-7fc7-4ca8-af0f-6aad72d5217e.jpg">
59  <meta property="og:description" content="日本の食を映す街に 良く食べることは、良く暮らすこと。それは贅沢な食事だけをさすのではなく、日々の食を大切にすること。">
60
61
62
63
64
65  <meta name="twitter:card" content="summary">
66
67
68<meta property="product:price:amount" content ="" > 
69<meta property="product:price:currency" content ="JPY" > 
70<meta property="product:product_link" content ="https://numatanori.com" > 
71
72  <link rel="canonical" href="https://numatanori.com/pages/store_kappabashi">
73  
74	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
75  
76  <meta name="theme-color" content="#000000">
77
78  <!-- CSS ================================================== -->
79  <link href="//numatanori.com/cdn/shop/t/18/assets/plugins.css?v=11633313001881546791777787888" rel="stylesheet" type="text/css" media="all" />
80  <link href="//numatanori.com/cdn/shop/t/18/assets/timber.scss.css?v=169058455353250211691648696805" rel="stylesheet" type="text/css" media="all" />
81  <link href="//numatanori.com/cdn/shop/t/18/assets/fr_style.scss.css?v=136076804838259138591648696805" rel="stylesheet" type="text/css" media="all" />
82  <link href="//numatanori.com/cdn/shop/t/18/assets/zokei_style.css?v=100435485514330504071702554987" rel="stylesheet" type="text/css" media="all" />
83
84  
85
86
87  <link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP" rel="stylesheet">
88<link href="https://fonts.googleapis.com/css?family=Noto+Serif+JP" rel="stylesheet">
89<link href="https://fonts.googleapis.com/css?family=Lusitana" rel="stylesheet">
90
91  <!-- Header hook for plugins ================================================== -->
92  
93  
93<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
93<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/3540156480/digital_wallets/dialog">
94<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://numatanori.com/pages/store_kappabashi">
95<link rel="alternate" hreflang="ja" href="https://numatanori.com/pages/store_kappabashi">
96<link rel="alternate" hreflang="en-US" href="https://numatanori.com/en-us/pages/store_kappabashi">
97<script async="async" src="/checkouts/internal/preloads.js?locale=ja-JP"></script>
97
98<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
99<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=ja-JP&shop_id=3540156480" crossorigin="anonymous"></script>
vendor: 1 bytes, line 99
99
100<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":3540156480,"countryCode":"JP","currencyCode":"JPY","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/3540156480","merchantName":"ぬま田海苔","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb","discover"],"total":{"type":"pending","label":"ぬま田海苔","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 100
100
101<script id="shopify-features" type="application/json">{"accessToken":"659ed3ac13f8288abbed8a6c3b4d44dd","betas":["rich-media-storefront-analytics"],"domain":"numatanori.com","predictiveSearch":false,"shopId":3540156480,"locale":"ja"}</script>
vendor: 1 bytes, line 101
101
102<script>var Shopify = Shopify || {};
103Shopify.shop = "numatanori.myshopify.com";
104Shopify.locale = "ja";
105Shopify.currency = {"active":"JPY","rate":"1.0"};
106Shopify.country = "JP";
107Shopify.theme = {"name":"Flow \/ Github Connection","id":129161920663,"schema_name":"Flow","schema_version":"11.4.4","theme_store_id":null,"role":"main"};
108Shopify.theme.handle = "null";
109Shopify.theme.style = {"id":null,"handle":null};
110Shopify.cdnHost = "numatanori.com/cdn";
111Shopify.routes = Shopify.routes || {};
112Shopify.routes.root = "/";
113Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
114Shopify.SignInWithShop = Shopify.SignInWithShop || {};
115Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
116Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 116
116
117<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 117
117
118<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 118
118
119<script>
120  window.ShopifyPay = window.ShopifyPay || {};
121  window.ShopifyPay.apiHost = "shop.app\/pay";
122  window.ShopifyPay.redirectState = null;
123</script>
vendor: 1 bytes, line 123
123
124<script>
125  window.Shopify = window.Shopify || {};
126  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
127  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
128  window.Shopify.SignInWithShop.eligible = true;
129</script>
vendor: 1 bytes, line 129
129
130<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 130
130
131<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js"></script>
vendor: 1 bytes, line 131
131
132<script type="module">
133  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js");
134
135  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
136
137</script>
vendor: 1 bytes, line 137
137
138<script>
139  window.Shopify = window.Shopify || {};
140  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
141  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.ja.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.ja.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.ja.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.ja.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.ja.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.ja.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.ja.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.ja.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.ja.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.ja.esm.js"],"listener":["modules/v2/loader.listener.ja.esm.js"],"pay-button":["modules/v2/loader.pay-button.ja.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.ja.esm.js"],"shop-button":["modules/v2/loader.shop-button.ja.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.ja.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.ja.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.ja.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.ja.esm.js"],"shop-login":["modules/v2/loader.shop-login.ja.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.ja.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.ja.esm.js"]};
142</script>
vendor: 1 bytes, line 142
142
143<script>(function() {
144  var isLoaded = false;
145  function asyncLoad() {
146    if (isLoaded) return;
147    isLoaded = true;
148    var urls = ["https:\/\/productoptions.w3apps.co\/js\/options.js?shop=numatanori.myshopify.com","https:\/\/cax.channel.io\/shopify\/plugins\/2d4e032f-cd76-4a3d-9efd-cc0f5b2dddfa.js?shop=numatanori.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/JfFiFM\/klaviyo.js?company_id=JfFiFM\u0026shop=numatanori.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-0016707c8301fe841b7c0f2e2070bf40.js?shop=numatanori.myshopify.com","https:\/\/na.shgcdn3.com\/pixel-collector.js?shop=numatanori.myshopify.com","\/\/backinstock.useamp.com\/widget\/39142_1783060797.js?category=bis\u0026v=6\u0026shop=numatanori.myshopify.com"];
149    for (var i = 0; i < urls.length; i++) {
150      var s = document.createElement('script');
151      s.type = 'text/javascript';
152      s.async = true;
153      s.src = urls[i];
154      var x = document.getElementsByTagName('script')[0];
155      x.parentNode.insertBefore(s, x);
156    }
157  };
158  if(window.attachEvent) {
159    window.attachEvent('onload', asyncLoad);
160  } else {
161    window.addEventListener('load', asyncLoad, false);
162  }
163})();</script>
vendor: 1 bytes, line 163
163
164<script id="__st">var __st={"a":3540156480,"offset":32400,"reqid":"c1b1d29c-0f88-4deb-ac6d-ed69a4bdcb81-1790669243","pageurl":"numatanori.com\/pages\/store_kappabashi","s":"pages-8195571776","u":"aa65dbf7e662","p":"page","rtyp":"page","rid":8195571776};</script>
vendor: 1 bytes, line 164
164
165<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 165
165
166<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'hCaptchaによる保護',privacyText:'プライバシー',termsText:'利用規約'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 166
166
167<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//numatanori.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 167
167
168<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//numatanori.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
168<script crossorigin="anonymous" defer="defer" src="//numatanori.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 168
168
169<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 169
169
170<script>
171  window.Shopify = window.Shopify || {};
172  window.Shopify.MCP = window.Shopify.MCP || {};
173  window.Shopify.MCP.enabled = true;
174  window.Shopify.MCP.shop = "numatanori.myshopify.com";
175  window.Shopify.MCP.mcpEndpoint = "https:\/\/numatanori.com\/api\/mcp";
176  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
177</script>
vendor: 1 bytes, line 177
177
178<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/numatanori.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
179</script>
vendor: 1 bytes, line 179
179
180<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://numatanori.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.ja.js",t.type="module",document.head.appendChild(t)}};
181</script>
vendor: 1 bytes, line 181
181
182<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
183  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
184</script>
vendor: 1 bytes, line 184
184
185<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
186</script>
186
187<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://numatanori.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
188<style id="shopify-accelerated-checkout-cart">
189        #shopify-buyer-consent {
190  margin-top: 1em;
191  display: inline-block;
192  width: 100%;
193}
194
195#shopify-buyer-consent.hidden {
196  display: none;
197}
198
199#shopify-subscription-policy-button {
200  background: none;
201  border: none;
202  padding: 0;
203  text-decoration: underline;
204  font-size: inherit;
205  cursor: pointer;
206}
207
208#shopify-subscription-policy-button::before {
209  box-shadow: none;
210}
211
212      </style>
213
214<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
214
215  
216
217
218
219
220
221  
221<script type="text/javascript">
222    
223      window.__shgMoneyFormat = window.__shgMoneyFormat || {"AED":{"currency":"AED","currency_symbol":"د.إ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AFN":{"currency":"AFN","currency_symbol":"؋","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ALL":{"currency":"ALL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AMD":{"currency":"AMD","currency_symbol":"դր.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ANG":{"currency":"ANG","currency_symbol":"ƒ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AUD":{"currency":"AUD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AWG":{"currency":"AWG","currency_symbol":"ƒ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AZN":{"currency":"AZN","currency_symbol":"₼","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BAM":{"currency":"BAM","currency_symbol":"КМ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BBD":{"currency":"BBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BDT":{"currency":"BDT","currency_symbol":"৳","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BND":{"currency":"BND","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BOB":{"currency":"BOB","currency_symbol":"Bs.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BSD":{"currency":"BSD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BZD":{"currency":"BZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CAD":{"currency":"CAD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CHF":{"currency":"CHF","currency_symbol":"CHF","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CNY":{"currency":"CNY","currency_symbol":"¥","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CRC":{"currency":"CRC","currency_symbol":"₡","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CZK":{"currency":"CZK","currency_symbol":"Kč","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"DKK":{"currency":"DKK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"DOP":{"currency":"DOP","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"EUR":{"currency":"EUR","currency_symbol":"€","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"FJD":{"currency":"FJD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"FKP":{"currency":"FKP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"GTQ":{"currency":"GTQ","currency_symbol":"Q","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thous
223ands_separator":","},"GYD":{"currency":"GYD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HKD":{"currency":"HKD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HNL":{"currency":"HNL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HUF":{"currency":"HUF","currency_symbol":"Ft","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"IDR":{"currency":"IDR","currency_symbol":"Rp","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ILS":{"currency":"ILS","currency_symbol":"₪","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"INR":{"currency":"INR","currency_symbol":"₹","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ISK":{"currency":"ISK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"JMD":{"currency":"JMD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"JPY":{"currency":"JPY","currency_symbol":"¥","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KGS":{"currency":"KGS","currency_symbol":"som","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KHR":{"currency":"KHR","currency_symbol":"៛","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KRW":{"currency":"KRW","currency_symbol":"₩","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KZT":{"currency":"KZT","currency_symbol":"₸","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LAK":{"currency":"LAK","currency_symbol":"₭","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LBP":{"currency":"LBP","currency_symbol":"ل.ل","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LKR":{"currency":"LKR","currency_symbol":"₨","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MDL":{"currency":"MDL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MKD":{"currency":"MKD","currency_symbol":"ден","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MMK":{"currency":"MMK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MNT":{"currency":"MNT","currency_symbol":"₮","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MOP":{"currency":"MOP","currency_symbol":"P","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MVR":{"currency":"MVR","currency_symbol":"MVR","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MYR":{"currency":"MYR","currency_symbol":"RM","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NIO":{"currency":"NIO","currency_symbol":"C$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NPR":{"currency":"NPR","currency_symbol":"Rs.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NZD":{"currency":"NZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PEN":{"currency":"PEN","currency_symbol":"S/","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thous
223ands_separator":","},"PGK":{"currency":"PGK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PHP":{"currency":"PHP","currency_symbol":"₱","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PKR":{"currency":"PKR","currency_symbol":"₨","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PLN":{"currency":"PLN","currency_symbol":"zł","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PYG":{"currency":"PYG","currency_symbol":"₲","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"QAR":{"currency":"QAR","currency_symbol":"ر.ق","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"RON":{"currency":"RON","currency_symbol":"Lei","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"RSD":{"currency":"RSD","currency_symbol":"РСД","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SAR":{"currency":"SAR","currency_symbol":"ر.س","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SBD":{"currency":"SBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SEK":{"currency":"SEK","currency_symbol":"kr","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SGD":{"currency":"SGD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"THB":{"currency":"THB","currency_symbol":"฿","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TJS":{"currency":"TJS","currency_symbol":"ЅМ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TOP":{"currency":"TOP","currency_symbol":"T$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TTD":{"currency":"TTD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TWD":{"currency":"TWD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"UYU":{"currency":"UYU","currency_symbol":"$U","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"UZS":{"currency":"UZS","currency_symbol":"so'm","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"VND":{"currency":"VND","currency_symbol":"₫","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"VUV":{"currency":"VUV","currency_symbol":"Vt","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"WST":{"currency":"WST","currency_symbol":"T","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"XCD":{"currency":"XCD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"XPF":{"currency":"XPF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"YER":{"currency":"YER","currency_symbol":"﷼","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","}};
224    
225    window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || {
226      currency: "JPY",
227      currency_symbol: "Â¥",
228      decimal_separator: ".",
229      thousands_separator: ",",
230      decimal_places: 2,
231      currency_symbol_location: "left"
232    };
233  </script>
233
234
235
236
237  <!-- /snippets/oldIE-js.liquid -->
238
239
240<!--[if lt IE 9]>
241<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 241
241
242<script src="//numatanori.com/cdn/shop/t/18/assets/respond.min.js?v=52248677837542619231648696805" type="text/javascript"></script>
242
243<link href="//numatanori.com/cdn/shop/t/18/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
244<link href="//numatanori.com/search?q=b165b4fb9760f68fa7d3be5378867c2e" id="respond-redirect" rel="respond-redirect" />
245<script src="//numatanori.com/search?q=b165b4fb9760f68fa7d3be5378867c2e" type="text/javascript"></script>
245
246<![endif]-->
247
248
249
250  
250<script src="//numatanori.com/cdn/shop/t/18/assets/jquery-3.3.1.min.js?v=23846495244194134081648696805" type="text/javascript"></script>
250
251  
251<script src="//numatanori.com/cdn/shop/t/18/assets/modernizr.min.js?v=137617515274177302221648696805" type="text/javascript"></script>
251
252
253    
254
255  <style>
256    .Launcherstyled__LauncherButtonWrapper-ch-front__sc-1kx6op4-0 dIkpba{
257      display:none !important;
258    }
259  </style>
260  
261  
262  
263
264
265  <!-- Global site tag (gtag.js) - Google Ads: 831411721 -->
vendor: 64 bytes, lines 265-266
265
266<script async src="https://www.googletagmanager.com/gtag/js?id=
266AW-831411721
vendor: 12 bytes, line 266
266"></script>
267<script>
268  
vendor: 134 bytes, lines 268-272
268window.dataLayer = window.dataLayer || [];
269  function gtag(){dataLayer.push(arguments);}
270  gtag('js', new Date());
271
272  gtag('config', '
272AW-831411721
vendor: 4 bytes, line 272
272');
273</script>
273
274
275  <link rel="apple-touch-icon" href="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/apple-touch-icon.png?17953490985067396846" />
276
277<meta name="google-site-verification" content="iqy4bn9CzGfOUJP8XqsGjC3H4qBlmd9-t7CIqVJNX6k" />
278<meta name="google-site-verification" content="0iZXEOJWDGsO54qScijFr1CaiV6Pnct6K3BixskOHr0" />
279
280<!-- Twitter universal website tag code -->
281<script>
282!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
283},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js',
284a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
285// Insert Twitter Pixel ID and Standard Event data below
286twq('init','o1zys');
287twq('track','PageView');
288</script>
288
289<!-- End Twitter universal website tag code -->
290
291
292
293  
294
295<script type="text/javascript">
296  
297    window.SHG_CUSTOMER = null;
298  
299</script>
299
300
301
302
303
304
305
306
307
308  <!-- 英語サイトで一部セクションを非表示-->
309
310
311<!-- script for switcher -->
312<script>
313$(window).scroll(function() {
314
315  //After scrolling 100px from the top...
316  if ( $(window).scrollTop() >= 100 ) {
317    $('.ly-native-select').css('color', '#595959');
318
319  };
320  if ( 100 >= $(window).scrollTop() ) {
321    $('.ly-native-select').css('color', '#fff');
322  }
323});
324</script>
324
325
326
327<!-- BEGIN app block: shopify://apps/also-bought/blocks/app-embed-block/b94b27b4-738d-4d92-9e60-43c22d1da3f2 -->
327<script>
328    window.codeblackbelt = window.codeblackbelt || {};
329    window.codeblackbelt.shop = window.codeblackbelt.shop || 'numatanori.myshopify.com';
330    </script>
330<script src="//cdn.codeblackbelt.com/widgets/also-bought/bootstrap.min.js?version=2026092917+0900" async></script>
330
331<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields -->
332
333
334
335
336
337
338
339
340
341
342
343
344    
345        <style type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/okendo-reviews-styles.8dfe73f0.css"></style><style type="text/css" data-href="https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/css/modules/okendo-star-rating.86dbf7f0.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,div.okeReviews img{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:""}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:""}
345.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:""}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:""}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:""}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:""}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:""}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:""}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:""}@font-face{font-family:oke-widget-icons;src:url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://d3hw6dc1ow8pp2.cloudfront.net/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:block}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
345or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 32px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 64px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
345to{opacity:1}}
346.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"}</style>
347    
348    
348<script type="application/json" id="oke-reviews-settings">{"subscriberId":"a6b062a8-80b9-4cbe-8acd-4d5331f4d108","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":false,"provider":"none"},"locale":"ja","localeAndVariant":{"code":"ja"},"matchCustomerLocale":true,"widgetSettings":{"global":{"dateSettings":{"format":{"type":"relative"}},"hideOkendoBranding":false,"recorderPlusEnabled":true,"showIncentiveIndicator":false,"searchEnginePaginationEnabled":false,"stars":{"backgroundColor":"#E5E5E5","borderColor":"#2C3E50","foregroundColor":"#FFCF2A","interspace":2,"shape":{"type":"default"},"showBorder":false},"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"headingFont":{"hasCustomFontSettings":false},"bodyFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":true},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductVariantName":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"enabled":true,"truncateAll":false}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"linkText":"Read More","infiniteScroll":false,"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true},"header":{"columnDistribution":"space-between","verticalAlignment":"top","blocks":[{"columnWidth":"one-third","modules":[{"name":"rating-average","layout":"one-line"},{"name":"rating-breakdown","backgroundColor":"#F4F4F6","shadingColor":"#9A9DB1","stretchMode":"contain"}],"textAlignment":"left"},{"columnWidth":"two-thirds","modules":[{"name":"recommended"},{"name":"media-carousel","imageGap":{"value":4,"unit":"px"},"imageHeight":{"value":120,"unit":"px"}}],"textAlignment":"left"}]},"style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"filters":{"backgroundColorActive":"#676986","backgroundColor":"#FFFFFF","borderColor":"#DBDDE4","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#676986","textColorActive":"#FFFFFF","textColor":"#2C3E50","searchHighlightColor":"#B2F9E9"},"avatar":{"enabled":false},"stars":{"height":{"value":18,"unit":"px"}},"shadingColor":"#F7F7F8","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#676986","borderColorHover":"#DBDDE4","backgroundColor":"#F7F7F8","borderColor":"#DBDDE4","backgroundColorHover":"#F4F4F6","textColorHover":"#272D45","borderRadius":{"value":4,"unit":"px"},"borderWidth":{"value":1,"unit":"px"},"borderColorActive":"#676986","textColorActive":"#FFFFFF","textColor":"#272D45","font":{"hasCustomFontSettings":false}},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeLarge":{"value":20,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"},"attributeBar":{"style":"default","backgroundColor":"#D3D4DD","shadingColor":"#9A9DB1","markerColor":"#00CAAA"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"collapseReviewerDetails":false,"columnAmount":4,"
348name":"default","showAttributeBars":false,"borderStyle":"full","showProductVariantName":false,"showProductDetails":"only-when-grouped"},"initialPageSize":5,"media":{"layout":"featured","size":{"value":200,"unit":"px"}},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","defaultSort":"has_media desc","writeReviewButtonEnabled":true,"freeTextSearchEnabled":false}}},"starRatings":{"showWhenEmpty":false,"clickBehavior":"scroll-to-widget","style":{"text":{"content":"review-count","style":"number-and-text","brackets":false},"spaceAbove":{"value":0,"unit":"px"},"singleStar":false,"spaceBelow":{"value":0,"unit":"px"},"height":{"value":18,"unit":"px"}}}},"features":{"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true}}</script>
348
349            <style id="oke-css-vars">:root{--oke-widget-spaceAbove:20px;--oke-widget-spaceBelow:20px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#f7f7f8;--oke-button-backgroundColorHover:#f4f4f6;--oke-button-backgroundColorActive:#676986;--oke-button-textColor:#272d45;--oke-button-textColorHover:#272d45;--oke-button-textColorActive:#fff;--oke-button-borderColor:#dbdde4;--oke-button-borderColorHover:#dbdde4;--oke-button-borderColorActive:#676986;--oke-button-borderRadius:4px;--oke-button-borderWidth:1px;--oke-button-fontWeight:700;--oke-button-fontSize:var(--oke-text-regular,14px);--oke-button-fontFamily:inherit;--oke-border-color:#e5e5eb;--oke-border-width:1px;--oke-text-primaryColor:#2c3e50;--oke-text-secondaryColor:#676986;--oke-text-small:12px;--oke-text-regular:14px;--oke-text-large:20px;--oke-text-fontFamily:inherit;--oke-avatar-size:undefined;--oke-avatar-backgroundColor:undefined;--oke-avatar-placeholderTextColor:undefined;--oke-highlightColor:#0e7a82;--oke-shadingColor:#f7f7f8;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#9a9db1;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#d3d4dd;--oke-attributeBar-markerColor:#00caaa;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#676986;--oke-filter-borderColor:#dbdde4;--oke-filter-borderColorActive:#676986;--oke-filter-textColor:#2c3e50;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#b2f9e9;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#ffcf2a;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,oke-modal{--oke-title-fontWeight:600;--oke-title-fontSize:var(--oke-text-regular,14px);--oke-title-fontFamily:inherit;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:var(--oke-text-regular,14px);--oke-bodyText-fontFamily:inherit}</style>
350            <style id="oke-reviews-custom-css">.oke-w-reviewer-name{display:none !important}</style>
351            <template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-default--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-default--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"/></symbol></svg></template>
351<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365<!-- END app snippet -->
366
367<!-- BEGIN app snippet: widget-plus-initialisation-script -->
368
369
370
371
372    
372<script async id="okendo-reviews-script" src="https://cdn-static.okendo.io/reviews-widget-plus/js/okendo-reviews.js"></script>
372
373
374<!-- END app snippet -->
375
376
377<!-- END app block --><!-- BEGIN app block: shopify://apps/delivery-pickup/blocks/odd-block/80605365-b4f4-42ba-9b84-3d39984a49dc -->  
378  
379  
380  
381  �
382  
382<script>
383    function _0x2197(_0x2946b1,_0x6c7c4c){var _0x15d7c5=_0x15d7();return _0x2197=function(_0x219790,_0xc28fad){_0x219790=_0x219790-0x11e;var _0x5e1640=_0x15d7c5[_0x219790];return _0x5e1640;},_0x2197(_0x2946b1,_0x6c7c4c);}var _0x50d14b=_0x2197;(function(_0x227c2c,_0x423dfc){var _0x1ec0c9=_0x2197,_0x4f0baa=_0x227c2c();while(!![]){try{var _0x411c1e=parseInt(_0x1ec0c9(0x128))/0x1*(-parseInt(_0x1ec0c9(0x123))/0x2)+-parseInt(_0x1ec0c9(0x12b))/0x3+-parseInt(_0x1ec0c9(0x131))/0x4*(-parseInt(_0x1ec0c9(0x132))/0x5)+parseInt(_0x1ec0c9(0x133))/0x6*(parseInt(_0x1ec0c9(0x130))/0x7)+parseInt(_0x1ec0c9(0x126))/0x8*(-parseInt(_0x1ec0c9(0x12c))/0x9)+parseInt(_0x1ec0c9(0x121))/0xa+-parseInt(_0x1ec0c9(0x11e))/0xb*(-parseInt(_0x1ec0c9(0x135))/0xc);if(_0x411c1e===_0x423dfc)break;else _0x4f0baa['push'](_0x4f0baa['shift']());}catch(_0x405d49){_0x4f0baa['push'](_0x4f0baa['shift']());}}}(_0x15d7,0x9a9d2),window[_0x50d14b(0x12e)]=_0x50d14b(0x127));if(location['href'][_0x50d14b(0x12a)](_0x50d14b(0x136))){var order_id=atob(location[_0x50d14b(0x120)][_0x50d14b(0x129)]('?data=')[0x1])[_0x50d14b(0x129)]('&')[0x0][_0x50d14b(0x129)]('order_id=')[0x1],ty_link=atob(location[_0x50d14b(0x120)][_0x50d14b(0x129)](_0x50d14b(0x12f))[0x1])[_0x50d14b(0x129)]('&')[0x1][_0x50d14b(0x129)](_0x50d14b(0x137))[0x1],exist_id=localStorage[_0x50d14b(0x134)](_0x50d14b(0x122)),orderArray={};exist_id?(!JSON[_0x50d14b(0x124)](exist_id)[order_id]&&(orderArray[order_id]='0'),orderArray={...JSON['parse'](exist_id),...orderArray}):orderArray[order_id]='0',window[_0x50d14b(0x138)][_0x50d14b(0x125)](_0x50d14b(0x122),JSON[_0x50d14b(0x12d)](orderArray)),ty_link!=''&&(window[_0x50d14b(0x11f)]=ty_link);}function _0x15d7(){var _0x478bff=['997208RoDepl','','418478tReEui','split','includes','2243148YpOopi','81UqgdRC','stringify','prevent_checkout','?data=','35vemzzr','120NhMRkl','202715cchOqN','55716JRSdAd','getItem','20389548XjGGUI','data','order_link=','localStorage','11HvWIeX','location','href','7964580uJGPEk','order_id','6wJgwxN','parse','setItem'];_0x15d7=function(){return _0x478bff;};return _0x15d7();}
384  </script>
384<!-- When to load our JS only in cart page but we need to load in customer order detail and account page for reschedule order details --><!-- To load our preview using "run wizard" button that time use this JS -->
385 
385<script type="text/javascript" async src="https://odd.identixweb.com/order-delivery-date/assets/js/odd_preview.min.js"></script>
385
386
387  <!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
388<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 3540156480,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 388
388
389<script>
390  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
391</script>
vendor: 1 bytes, line 391
391
392<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
392).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 3540156480,storefrontBaseUrl: "https://numatanori.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://numatanori.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["bdb960ec","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1669890199","configuration":"{\"accountID\":\"JfFiFM\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
392,{"id":"1556349079","configuration":"{\"accountID\":\"111\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"2724075f63b99c0876a76433be03f895","type":"APP","apiClientId":1788279,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"985890967","configuration":"{\"site_id\":\"a3d693e7-9af7-4055-8078-99033f1b7e0b\",\"analytics_endpoint\":\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"197591191","configuration":"{\"pixel_id\":\"765400793640117\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"95092887","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"ぬま田海苔","paymentSettings":{"currencyCode":"JPY"},"myshopifyDomain":"numatanori.myshopify.com","countryCode":"JP","storefrontUrl":"https:\/\/numatanori.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://numatanori.com/cdn","a5bf51cfwabd6c495p49b74ff1maa529d2b",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"129161920663","themePublished":"true","eventMetadataId":"d4b2afd8-8115-42ba-8530-3033c9d52cfc","pageType":"page","resourceId":"8195571776","shopId":"3540156480","storefrontBaseUrl":"https:\/\/numatanori.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"bdb960ec\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"a5bf51cfwabd6c495p49b74ff1maa529d2b","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
392<script>
393  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
394  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
395  window.ShopifyAnalytics.meta.currency = 'JPY';
396  var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":8195571776,"requestId":"c1b1d29c-0f88-4deb-ac6d-ed69a4bdcb81-1790669243"}};
397  for (var attr in meta) {
398    window.ShopifyAnalytics.meta[attr] = meta[attr];
399  }
400</script>
vendor: 1 bytes, line 400
400
401<script class="analytics">
402  (function () {
403    var customDocumentWrite = function(content) {
404      var jquery = null;
405
406      if (window.jQuery) {
407        jquery = window.jQuery;
408      } else if (window.Checkout && window.Checkout.$) {
409        jquery = window.Checkout.$;
410      }
411
412      if (jquery) {
413        jquery('body').append(content);
414      }
415    };
416
417    var hasLoggedConversion = function(token) {
418      if (token) {
419        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
420      }
421      return false;
422    }
423
424    var setCookieIfConversion = function(token) {
425      if (token) {
426        var twoMonthsFromNow = new Date(Date.now());
427        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
428
429        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
430      }
431    }
432
433    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
434    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
435    if (trekkie.integrations) {
436      return;
437    }
438    trekkie.methods = [
439      'identify',
440      'page',
441      'ready',
442      'track',
443      'trackForm',
444      'trackLink'
445    ];
446    trekkie.factory = function(method) {
447      return function() {
448        var args = Array.prototype.slice.call(arguments);
449        args.unshift(method);
450        trekkie.push(args);
451        if (method == 'track' || method == 'page') {
452          var pageUrl;
453          try {
454            pageUrl = window.location.href;
455          } catch (e) {}
456          var pageReferrer;
457          try {
458            pageReferrer = document.referrer;
459          } catch (e) {}
460          try {
461            if (window.__TREKKIE_SHIM_QUEUE == null) {
462              window.__TREKKIE_SHIM_QUEUE = [];
463            }
464            window.__TREKKIE_SHIM_QUEUE.push({
465              from: 'trekkie-stub',
466              method: method,
467              args: args.slice(1),
468              pageContext: {
469                url: pageUrl,
470                referrer: pageReferrer
471              }
472            });
473          } catch (e) {
474            // no-op
475          }
476        }
477        return trekkie;
478      };
479    };
480    for (var i = 0; i < trekkie.methods.length; i++) {
481      var key = trekkie.methods[i];
482      trekkie[key] = trekkie.factory(key);
483    }
484    trekkie.load = function(config) {
485      trekkie.config = config || {};
486      trekkie.config.initialDocumentCookie = document.cookie;
487      var first = document.getElementsByTagName('script')[0];
488var script = document.createElement('script');
489script.type = 'text/javascript';
490script.onerror = function(e) {
491  var scriptFallback = document.createElement('script');
492  scriptFallback.type = 'text/javascript';
493  scriptFallback.onerror = function(error) {
494          var Monorail = {
495      produce: function produce(monorailDomain, schemaId, payload) {
496        var currentMs = new Date().getTime();
497        var event = {
498          schema_id: schemaId,
499          payload: payload,
500          metadata: {
501            event_created_at_ms: currentMs,
502            event_sent_at_ms: currentMs
503          }
504        };
505        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
506      },
507      sendRequest: function sendRequest(endpointUrl, payload) {
508        // Try the sendBeacon API
509        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
510          var blobData = new window.Blob([payload], {
511            type: 'text/plain'
512          });
513
514          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
515            return true;
516          } // sendBeacon was not successful
517
518        } // XHR beacon
519
520        var xhr = new XMLHttpRequest();
521
522        try {
523          xhr.open('POST', endpointUrl);
524          xhr.setRequestHeader('Content-Type', 'text/plain');
525          xhr.send(payload);
526        } catch (e) {
527          console.log(e);
528        }
529
530        return false;
531      },
532      isIos12: function isIos12() {
533        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
534      }
535    };
536    Monorail.produce('monorail-edge.shopifysvc.com',
537      'trekkie_storefront_load_errors/1.1',
538      {shop_id: 3540156480,
539      theme_id: 129161920663,
540      app_name: "storefront",
541      context_url: window.location.href,
542      source_url: "//numatanori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
543
544  };
545  scriptFallback.async = true;
546  scriptFallback.src = '//numatanori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
547  first.parentNode.insertBefore(scriptFallback, first);
548};
549script.async = true;
550script.src = '//numatanori.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
551first.parentNode.insertBefore(script, first);
552
553    };
554    trekkie.load(
555      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":3540156480,"isMerchantRequest":null,"themeId":129161920663,"themeCityHash":"17006057297707940792","contentLanguage":"ja","currency":"JPY","eventMetadataId":"d4b2afd8-8115-42ba-8530-3033c9d52
555cfc"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["bdb960ec","764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
556    );
557
558    var loaded = false;
559    trekkie.ready(function() {
560      if (loaded) return;
561      loaded = true;
562
563      window.ShopifyAnalytics.lib = window.trekkie;
564
565      var originalDocumentWrite = document.write;
566      document.write = customDocumentWrite;
567      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
568      document.write = originalDocumentWrite;
569
570      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
571      var token = match? match[1]: undefined;
572      if (!hasLoggedConversion(token)) {
573        setCookieIfConversion(token);
574        
575      }
576    });
577
578    window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":8195571776,"requestId":"c1b1d29c-0f88-4deb-ac6d-ed69a4bdcb81-1790669243","shopifyEmitted":true});
579
580    var eventsListenerScript = document.createElement('script');
581    eventsListenerScript.async = true;
582    eventsListenerScript.src = "//numatanori.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
583    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
584})();</script>
584
585  
585<script>
586  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
587    window.ga = function ga() {
588      (window.ga.q = window.ga.q || []).push(arguments);
589      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
590        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
591      }
592      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
593    };
594    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
595      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
596    }
597  }
598</script>
vendor: 1 bytes, line 598
598
599<script
600  defer
601  src="https://numatanori.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
602  data-application="storefront-renderer"
603  data-shop-id="3540156480"
604  data-render-region="gcp-us-central1"
605  data-page-type="page"
606  data-theme-instance-id="129161920663"
607  data-theme-name="Flow"
608  data-theme-version="11.4.4"
609  data-monorail-region="shop_domain"
610  data-resource-timing-sampling-rate="10"
611  data-shs="true"
612  data-shs-beacon="true"
613  data-shs-export-with-fetch="true"
614  data-shs-logs-sample-rate="1"
615  data-shs-beacon-endpoint="https://numatanori.com/api/collect"
616></script>
616
617<meta name="shopify-y" content="f51e8c98-50ff-4d5e-8603-e3197ad2c9b6" data-expiration="1822226843000"><meta name="shopify-s" content="e53fee7d-33a3-405b-a790-5790e6de41cc" data-expiration="1790671043000"><meta name="new-cookie-storage-activated" content="t">
618</head>
619
620
621<body id="浅草-合羽橋本店のご案内" class="template-page" >
622
623  
624  <div id="CartDrawer" class="drawer drawer--right">
625    <div class="drawer__header sitewide--title-wrapper">
626      <div class="drawer__close js-drawer-close">
627        <button type="button" class="icon-fallback-text">
628          <i class="fa fa-times fa-lg" aria-hidden="true"></i>
629          <span class="fallback-text">"Close Cart"</span>
630        </button>
631      </div>
632      <div class="drawer__title h2 page--title " id="CartTitle">ショッピングカート</div>
633      <div class="drawer__title h2 page--title hide" id="ShopNowTitle">Shop now</div>
634      <div class="drawer__title h2 page--title hide" id="LogInTitle">ログイン</div>
635      <div class="drawer__title h2 page--title hide" id="SearchTitle">商品検索</div>
636    </div>
637    <div id="CartContainer"></div>
638    <div id="ShopNowContainer" class="hide"></div>
639    <div id="SearchContainer" class="hide">
640      <div class="wrapper search-drawer">
641        <div class="input-group">
642          <input type="search" name="q" id="search-input" placeholder="商品名・キーワード" class="input-group-field" aria-label="商品名・キーワード" autocomplete="off" />
643          <span class="input-group-btn">
644            <button type="submit" class="btn icon-fallback-text">
645              <i class="fa fa-search"></i>
646              <span class="fallback-text">Search</span>
647            </button>
648          </span>
649        </div>
650        
650<script id="LiveSearchResultTemplate" type="text/template">
651  
652    <div class="indiv-search-listing-grid">
653      <div class="grid">
654        {{#if image}}
655        <div class="grid__item large--one-quarter live-search--image">
656          <a href="{{url}}" title="{{title}}">
657            <img
658                class="lazyload"
659                src="{{image}}"
660                alt="{{title}}"
661                {{#if imageResponsive}}
662                data-src="{{imageResponsive}}"
663                data-sizes="auto"
664                {{/if}}
665            >
666          </a>
667        </div>
668        {{/if}}
669        <div class="grid__item large--three-quarters line-search-content">
670          <h3>
671            <a href="{{url}}" title="">{{title}}</a>
672          </h3>
673          <div>
674            {{{price_html}}}
675          </div>
676          <p>{{content}}</p>
677        </div>
678      </div>
679    </div>
680  
681</script>
681
682
683        
683<script type="text/javascript">
684            var SearchTranslations = {
685                no_results_html: "\"{{ terms }}\"に一致する商品はありませんでした",
686                results_for_html: "\"{{ terms }}\"の検索結果",
687                products: "Products",
688                pages: "Pages",
689                articles: "Articles"
690            };
691        </script>
691
692        <div id="search-results" class="grid-uniform">
693          <!-- here will be the search results -->
694        </div>
695        <a id="search-show-more" href="#" class="btn hide">もっと見る</a>
696      </div>
697    </div>
698    <div id="LogInContainer" class="hide"></div>
699  </div>
700  <div id="DrawerOverlay"></div>
701
702<div id="PageContainer">
703
704	<div id="shopify-section-announcement-bar" class="shopify-section">
705
706  <style>
707
708    .notification-bar{
709      background-color: #000000;
710      color: #f0f0f0;
711    }
712
713    .notification-bar a, .notification-bar .social-sharing.is-clean a{
714      color: #f0f0f0;
715    }
716
717    #site-title{
718    	padding: px;
719    }
720
721  </style>
722
723  <div class="notification-bar">
724
725    
726
727      
728        <a href="/collections/all" class="notification-bar__message">
729          <p><strong>¥10,000以上のご購入で送料無料(クール便は除く)</strong></p>
730        </a>
731      
732
733  </div>
734
735
736
737</div>
738
739	<div id="shopify-section-header" class="shopify-section"><div data-section-id="header" data-section-type="header-section" class="header-section--wrapper overlay-header-wrapper">
740    <div id="NavDrawer" class="drawer drawer--left">
741    <!-- begin mobile-nav -->
742    <ul class="mobile-nav">
743      <li class="mobile-nav__item mobile-nav__search">
744        <form action="/search" method="get" class="input-group search-bar" role="search">
745  
746  <input type="search" name="q" value="" placeholder="商品名・キーワード" class="input-group-field" aria-label="商品名・キーワード">
747  <span class="input-group-btn hidden">
748    <button type="submit" class="btn icon-fallback-text">
749      <i class="fa fa-search"></i>
750      <span class="fallback-text">Search</span>
751    </button>
752  </span>
753</form>
754
755      </li>
756
757      
758      
759
760        
761
762          <li class="mobile-nav__item">
763            <a href="/collections/all" class="mobile-nav__link">オンラインショップ</a>
764          </li>
765
766        
767
768      
769
770        
771
772          <li class="mobile-nav__item mobile-nav__item--active">
773            <a href="/pages/store_kappabashi" class="mobile-nav__link">浅草・合羽橋本店</a>
774          </li>
775
776        
777
778      
779
780        
781
782          <li class="mobile-nav__item">
783            <a href="/blogs/recipe" class="mobile-nav__link">レシピ</a>
784          </li>
785
786        
787
788      
789
790        
791
792          <li class="mobile-nav__item">
793            <a href="/blogs/contents" class="mobile-nav__link">海苔についての読みもの</a>
794          </li>
795
796        
797
798      
799
800        
801
802          <li class="mobile-nav__item">
803            <a href="/pages/tel" class="mobile-nav__link">お電話注文</a>
804          </li>
805
806        
807
808      
809
810        
811
812          <li class="mobile-nav__item">
813            <a href="/pages/about-us" class="mobile-nav__link">ぬま田海苔について</a>
814          </li>
815
816        
817
818      
819
820      
821    </ul>
822
823
824      
825      
826
827      <span class="mobile-nav-header">アカウント</span>
828
829	  <ul class="mobile-nav">
830
831        
832          <li class="mobile-nav__item">
833            <a href="/account/login" id="customer_login_link">ログイン</a>
834          </li>
835          <li class="mobile-nav__item">
836            <a href="/account/register" id="customer_register_link">アカウントを新規登録する</a>
837          </li>
838        
839
840	</ul>
841
842      
843    <!-- //mobile-nav -->
844  </div>
845
846  
847
848    <header class="site-header medium--hide small--hide sticky-header sticky-header-transformed ui sticky overlay-header">
849      <div class="wrapper">
850
851        
852
853        <div class="grid--full grid--table">
854          <div class="grid__item large--one-quarter">
855              <div class="site-header__logo large--left" itemscope itemtype="http://schema.org/Organization">
856                
857    
858      <div class="site-header__logo h1 zk_logo-size" id="site-title" itemscope itemtype="http://schema.org/Organization">
859    
860
861    
862      
863      <a href="/" itemprop="url" class="site-header__logo-image">
864        
865        <img src="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/numatanori_logo.svg?8564" class="zk_logo-size" alt="ぬま田海苔 - 1937年創業。希少な海苔の味を伝えます。">
866        <!--
867        
868        
869
870
871
872
873
874
875<noscript>
876    <img
877        class=""
878        src="//numatanori.com/cdn/shop/files/numatanori_logo_1000x1000.png?v=1613565621"
879        data-sizes="auto"
880        
881            alt="ぬま田海苔初摘み海苔沼田海苔"
882        
883        
884          style="width: 100px"
885          itemprop="logo"
886        
887    />
888</noscript>
889
890<img
891    class="lazyload "
892    src="//numatanori.com/cdn/shop/files/numatanori_logo_58x.png?v=1613565621"
893    data-src="//numatanori.com/cdn/shop/files/numatanori_logo_{width}x.png?v=1613565621"
894    data-sizes="auto"
895    data-aspectratio="2.770083102493075"
896    
897        alt="ぬま田海苔初摘み海苔沼田海苔"
898    
899    
900          style="width: 100px"
901          itemprop="logo"
902        
903/>
904-->
905      </a>
906    
907
908    
909
910    
911      </div>
912    
913  
914              </div>
915          </div>
916          <div class="grid__item large--three-quarters large--text-right medium-down--hide">
917
918			<div class="top-links zk_header-line">
919
920				<ul class="site-nav zk_font-Lusitana" id="AccessibleNav" role="navigation">
921					
922
923
924
925  
926
927    <li>
928      <a href="/collections/all" class="site-nav__link">オンラインショップ</a>
929    </li>
930
931  
932
933
934
935  
936
937    <li>
938      <a href="/pages/store_kappabashi" class="site-nav__link">浅草・合羽橋本店</a>
939    </li>
940
941  
942
943
944
945  
946
947    <li>
948      <a href="/blogs/recipe" class="site-nav__link">レシピ</a>
949    </li>
950
951  
952
953
954
955  
956
957    <li>
958      <a href="/blogs/contents" class="site-nav__link">海苔についての読みもの</a>
959    </li>
960
961  
962
963
964
965  
966
967    <li>
968      <a href="/pages/tel" class="site-nav__link">お電話注文</a>
969    </li>
970
971  
972
973
974
975  
976
977    <li>
978      <a href="/pages/about-us" class="site-nav__link">ぬま田海苔について</a>
979    </li>
980
981  
982
983
984
985				</ul>
986
987				<ul class="top-links--icon-links">
988
989          <li>
990            <span class="ly-custom-0 zk_font-Lusitana " style="color:#fff;"></span>
991          </li>
992
993					
994                    
995
996
997					
998						
999							<li class="zk_login-button">
1000								<a href="/account/login" title="ログイン" class="log-in-button">
1001									<i class="fa fa-user fa-lg"></i>
1002								</a>
1003							</li>
1004						
1005					
1006
1007					<li>
1008						<a href="/cart" class="site-header__cart-toggle" aria-controls="CartDrawer" aria-expanded="false">
1009							<i class="fa fa-shopping-cart fa-lg"></i>
1010              <span class="site-header__cart-indicator hide"></span>
1011						</a>
1012					</li>
1013
1014				</ul>
1015			</div>
1016
1017          </div>
1018
1019      
1020
1021      
1022
1023            
1024
1025      </div>
1026    </header>
1027
1028<nav class="nav-bar mobile-nav-bar-wrapper large--hide medium-down--show sticky-header sticky-header-transformed ui sticky overlay-header">
1029  <div class="wrapper">
1030    <div class="large--hide medium-down--show">
1031      <div class="mobile-grid--table">
1032        <div class="grid__item one-sixth">
1033          <div class="site-nav--mobile">
1034            <button type="button" class="icon-fallback-text site-nav__link js-drawer-open-left-link" aria-controls="NavDrawer" aria-expanded="false">
1035              <i class="fa fa-bars fa-2x"></i>
1036              <span class="fallback-text">Menu</span>
1037            </button>
1038          </div>
1039        </div>
1040
1041        <div class="grid__item four-sixths">
1042          
1043    
1044      <div class="site-header__logo h1 zk_logo-size" id="site-title" itemscope itemtype="http://schema.org/Organization">
1045    
1046
1047    
1048      
1049      <a href="/" itemprop="url" class="site-header__logo-image">
1050        
1051        <img src="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/numatanori_logo.svg?8564" class="zk_logo-size" alt="ぬま田海苔 - 1937年創業。希少な海苔の味を伝えます。">
1052        <!--
1053        
1054        
1055
1056
1057
1058
1059
1060
1061<noscript>
1062    <img
1063        class=""
1064        src="//numatanori.com/cdn/shop/files/numatanori_logo_1000x1000.png?v=1613565621"
1065        data-sizes="auto"
1066        
1067            alt="ぬま田海苔初摘み海苔沼田海苔"
1068        
1069        
1070          style="width: 100px"
1071          itemprop="logo"
1072        
1073    />
1074</noscript>
1075
1076<img
1077    class="lazyload "
1078    src="//numatanori.com/cdn/shop/files/numatanori_logo_58x.png?v=1613565621"
1079    data-src="//numatanori.com/cdn/shop/files/numatanori_logo_{width}x.png?v=1613565621"
1080    data-sizes="auto"
1081    data-aspectratio="2.770083102493075"
1082    
1083        alt="ぬま田海苔初摘み海苔沼田海苔"
1084    
1085    
1086          style="width: 100px"
1087          itemprop="logo"
1088        
1089/>
1090-->
1091      </a>
1092    
1093
1094    
1095
1096    
1097      </div>
1098    
1099  
1100        </div>
1101
1102        <div class="grid__item one-sixth text-right">
1103          <div class="site-nav--mobile">
1104            <a href="/cart" class="site-nav__link" aria-controls="CartDrawer" aria-expanded="false">
1105              <span class="icon-fallback-text">
1106                <i class="fa fa-shopping-cart fa-2x"></i>
1107                <span class="site-header__cart-indicator hide"></span>
1108                <span class="fallback-text">カート</span>
1109              </span>
1110            </a>
1111          </div>
1112        </div>
1113      </div>
1114    </div>
1115  </div>
1116</nav>
1117
1118</div>
1119
1120<style>
1121
1122#site-title{
1123	padding: 0px 0;
1124}
1125
1126.site-nav__dropdown li{
1127  text-align: left;
1128}
1129
1130</style>
1131
1132
1133</div>
1134
1135		
1136
1137			<div class="wrapper main-content">
1138
1139		
1140
1141		
1142
1143
1144
1145
1146
1147  
1147<script type="text/javascript">
1148    
1149      window.__shgMoneyFormat = window.__shgMoneyFormat || {"AED":{"currency":"AED","currency_symbol":"د.إ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AFN":{"currency":"AFN","currency_symbol":"؋","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ALL":{"currency":"ALL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AMD":{"currency":"AMD","currency_symbol":"դր.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ANG":{"currency":"ANG","currency_symbol":"ƒ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AUD":{"currency":"AUD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AWG":{"currency":"AWG","currency_symbol":"ƒ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"AZN":{"currency":"AZN","currency_symbol":"₼","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BAM":{"currency":"BAM","currency_symbol":"КМ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BBD":{"currency":"BBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BDT":{"currency":"BDT","currency_symbol":"৳","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BND":{"currency":"BND","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BOB":{"currency":"BOB","currency_symbol":"Bs.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BSD":{"currency":"BSD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"BZD":{"currency":"BZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CAD":{"currency":"CAD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CHF":{"currency":"CHF","currency_symbol":"CHF","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CNY":{"currency":"CNY","currency_symbol":"¥","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CRC":{"currency":"CRC","currency_symbol":"₡","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"CZK":{"currency":"CZK","currency_symbol":"Kč","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"DKK":{"currency":"DKK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"DOP":{"currency":"DOP","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"EUR":{"currency":"EUR","currency_symbol":"€","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"FJD":{"currency":"FJD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"FKP":{"currency":"FKP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"GTQ":{"currency":"GTQ","currency_symbol":"Q","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thous
1149ands_separator":","},"GYD":{"currency":"GYD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HKD":{"currency":"HKD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HNL":{"currency":"HNL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"HUF":{"currency":"HUF","currency_symbol":"Ft","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"IDR":{"currency":"IDR","currency_symbol":"Rp","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ILS":{"currency":"ILS","currency_symbol":"₪","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"INR":{"currency":"INR","currency_symbol":"₹","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"ISK":{"currency":"ISK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"JMD":{"currency":"JMD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"JPY":{"currency":"JPY","currency_symbol":"¥","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KGS":{"currency":"KGS","currency_symbol":"som","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KHR":{"currency":"KHR","currency_symbol":"៛","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KRW":{"currency":"KRW","currency_symbol":"₩","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"KZT":{"currency":"KZT","currency_symbol":"₸","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LAK":{"currency":"LAK","currency_symbol":"₭","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LBP":{"currency":"LBP","currency_symbol":"ل.ل","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"LKR":{"currency":"LKR","currency_symbol":"₨","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MDL":{"currency":"MDL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MKD":{"currency":"MKD","currency_symbol":"ден","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MMK":{"currency":"MMK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MNT":{"currency":"MNT","currency_symbol":"₮","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MOP":{"currency":"MOP","currency_symbol":"P","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MVR":{"currency":"MVR","currency_symbol":"MVR","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"MYR":{"currency":"MYR","currency_symbol":"RM","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NIO":{"currency":"NIO","currency_symbol":"C$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NPR":{"currency":"NPR","currency_symbol":"Rs.","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"NZD":{"currency":"NZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PEN":{"currency":"PEN","currency_symbol":"S/","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thous
1149ands_separator":","},"PGK":{"currency":"PGK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PHP":{"currency":"PHP","currency_symbol":"₱","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PKR":{"currency":"PKR","currency_symbol":"₨","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PLN":{"currency":"PLN","currency_symbol":"zł","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"PYG":{"currency":"PYG","currency_symbol":"₲","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"QAR":{"currency":"QAR","currency_symbol":"ر.ق","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"RON":{"currency":"RON","currency_symbol":"Lei","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"RSD":{"currency":"RSD","currency_symbol":"РСД","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SAR":{"currency":"SAR","currency_symbol":"ر.س","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SBD":{"currency":"SBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SEK":{"currency":"SEK","currency_symbol":"kr","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"SGD":{"currency":"SGD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"THB":{"currency":"THB","currency_symbol":"฿","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TJS":{"currency":"TJS","currency_symbol":"ЅМ","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TOP":{"currency":"TOP","currency_symbol":"T$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TTD":{"currency":"TTD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"TWD":{"currency":"TWD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"UYU":{"currency":"UYU","currency_symbol":"$U","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"UZS":{"currency":"UZS","currency_symbol":"so'm","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"VND":{"currency":"VND","currency_symbol":"₫","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"VUV":{"currency":"VUV","currency_symbol":"Vt","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"WST":{"currency":"WST","currency_symbol":"T","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"XCD":{"currency":"XCD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"XPF":{"currency":"XPF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","},"YER":{"currency":"YER","currency_symbol":"﷼","currency_symbol_location":"left","decimal_places":0,"decimal_separator":".","thousands_separator":","}};
1150    
1151    window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || {
1152      currency: "JPY",
1153      currency_symbol: "Â¥",
1154      decimal_separator: ".",
1155      thousands_separator: ",",
1156      decimal_places: 2,
1157      currency_symbol_location: "left"
1158    };
1159  </script>
1159
1160
1161
1162<!-- /templates/page.liquid -->
1163<div class="page-main--wrapper">
1164
1165  <div class="large--two-thirds push--large--one-sixth">
1166
1167    <div class="rte">
1168      <style><!--
1169.store_kappabashi h1 {
1170    text-align: center;
1171    font-size: 30px;
1172    margin-bottom:32px;
1173  }
1174@media only screen and (max-width: 768px){
1175  .store_kappabashi h2 {
1176    text-align: center;
1177    font-size: 25px;
1178  }
1179}
1180  .store_kappabashi section {
1181    margin-top: 30px;
1182  }
1183.store_kappabashi  p { font-size:18px; max-width:45rem; margin-bottom:100px;  line-height:2;} 
1184.zk_content-margin{ display:block; margin: 100px auto 25px auto !important; } 
1185.zk_margin-auto{ margin: 0 auto; display:block; } 
1186.zk_content-flex{ display: flex; flex-direction: row; width: auto; margin-bottom:50px; } 
1187.zk_flex-content{ width:49%; height:10%; margin: unset !important; max-width:unset !important; } 
1188.zk_flex-content1{ flex:1; padding-right:15px; } 
1189.zk_flex-content2{ flex:2; padding-left:15px; }
1190@media only screen and (max-width: 768px){ .zk_flex-direction{ flex-direction:column; }
1191  .store_kappabashi  p{ font-size:16px;
1192  }
1193}
1194--></style>
1195<article class="store_kappabashi">
1196<h1>ぬま田海苔 浅草・合羽橋本店のご案内</h1>
1197<div><img alt="ぬま田海苔合羽橋店海苔" src="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/IMG_0225.jpg?6116"></div>
1198<section>
1199<h2>日本の食を映す街に</h2>
1200<p style="text-align: left; max-width: 100%; margin-bottom: 40px;">良く食べることは、良く暮らすこと。それは贅沢な食事だけをさすのではなく、日々の食を大切にすること。炊きたてのご飯においしい海苔。鼻に抜ける海の香りと口の中に広がる甘みに「あぁ、おいしい」と、思わずつぶやく。そんな小さいけれど沁みていく豊かさを私たちはお届けしています。<br><br> ぬま田海苔の路面店がある東京の合羽橋(かっぱばし)は、日本の豊かな食文化を支えてきた街です。大正時代、数件の道具店からはじまった合羽橋の道具街には現在約170もの店が立ち並び、料理人のための専門的な道具から家庭料理に役立つ道具まで揃わないものはありません。そんな様々な食のプロが集う街にぬま田海苔は店を構えました。<br> <br>私たちが販売する「初摘み海苔」は、毎年最初の収穫に限られるため大変希少で、香り、旨味、風味のすべてを満たす最高の味わいです。昔も今も食のプロが信頼を寄せるこの街で、日本の伝統食「海苔」の本物の味を発信したい。常に日本の食を映し出すこの街の物語の中に、私たちぬま田海苔も加わりたいと思います。</p>
1201<div><img alt="ぬま田海苔合羽橋店海苔" src="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/sh_store_in.jpg?204664587172222252"></div>
1202<div style="max-width: 45rem; margin: 64px auto 0 auto;" class="zk_content-flex zk_flex-direction">
1203<div class="zk_flex-content1">
1204<p>- ぬま田海苔 合羽橋本店 店舗情報 -<br> [アクセス]<br>〒111-0035 東京都台東区西浅草3-7-2<br><span data-mce-fragment="1">株式会社NUMATA HARUO SHOTEN</span><br> <a href="https://goo.gl/maps/twnPH45TTD92" target="_blank">地図を表示</a><br> <a href="tel:05017459617">050-1745-9617</a><br> [営業日]<br>全日営業中(11:00〜17:00)<br><br></p>
1205</div>
1206<div class="zk_flex-content2"><img alt="ぬま田海苔合羽橋店海苔" src="https://cdn.shopify.com/s/files/1/0035/4015/6480/files/v3.jpg?204664587172222252"></div>
1207</div>
1208<section></section>
1209</section>
1210</article>
1211    </div>
1212
1213  </div>
1214
1215</div>
1216
1217
1218
1219		</div>
1220
1221	<div id="shopify-section-footer" class="shopify-section">
1222
1223<footer class="site-footer footer-alignment--center">
1224	<div>
1225		<img src=//numatanori.com/cdn/shop/t/18/assets/numatanori_logo1.svg?v=145965437864099954541648696805 class="zk_footer-logo">
1226	</div>
1227
1228	<div class="wrapper">
1229		<div class="grid">
1230
1231			
1232
1233				
1234
1235				
1236				<div class="grid__item large--one-third medium--one-half small--one-whole links-footer zk_disable-width">
1237					<div class="h3 footer-header zk_disappear-when-sp"></div>
1238					<ul class="footer-content zk_footer-flex">
1239						
1240							
1241								<li>
1242									<a href="/collections/all">オンラインショップ</a>
1243								</li>
1244							
1245						
1246							
1247								<li>
1248									<a href="/pages/store_kappabashi">合羽橋本店のご案内</a>
1249								</li>
1250							
1251						
1252							
1253								<li>
1254									<a href="/blogs/contents">読みもの</a>
1255								</li>
1256							
1257						
1258							
1259								<li>
1260									<a href="/pages/tel">電話注文のご案内</a>
1261								</li>
1262							
1263						
1264							
1265								<li>
1266									<a href="https://note.mu/numatanori1937">ぬま田海苔 note連載</a>
1267								</li>
1268							
1269						
1270							
1271								<li>
1272									<a href="/pages/shipping">
1272International Order</a>
1273								</li>
1274							
1275						
1276					</ul>
1277				</div>
1278
1279				
1280
1281	
1282
1283				
1284
1285					
1286					<div class="grid__item zk_footer-no-margin-top large--one-third medium--one-half small--one-whole links-footer zk_disable-width">
1287						<div class="h3 footer-header zk_disappear-when-sp"></div>
1288						<ul class="footer-content zk_footer-flex2 zk_footer-line ">
1289							
1290								
1291									<li>
1292										<a href="/pages/contact">お問い合わせ</a>
1293									</li>
1294								
1295							
1296								
1297									<li>
1298										<a href="https://numatanori.com/pages/user_guide">ご利用ガイド</a>
1299									</li>
1300								
1301							
1302								
1303									<li>
1304										<a href="/blogs/news">メディア掲載</a>
1305									</li>
1306								
1307							
1308								
1309									<li>
1310										<a href="/">ぬま田海苔TOP</a>
1311									</li>
1312								
1313							
1314
1315							
1316							  <li>
1317									<a href="/en-us">Check English Website</a>
1318								</li>
1319							
1320						</ul>
1321					</div>
1322
1323				
1324
1325	
1326
1327				
1328
1329					<div class="grid__item large--one-third medium--one-half small--one-whole newsletter-footer  zk_footer-newsletter-base">
1330						<!--<div class="h3 footer-header">メルマガ登録</div>-->
1331						<div class="h3 footer-header zk_newsletter-title-margin">メールマガジン登録はこちら</div>
1332						
1333						<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
1334							
1335							
1336								<div class="input-group">
1337								<input type="email" class="zk_newsletter-input-size" value="" placeholder="[email protected]" name="contact[email]" id="Email" class="input-group-field footer-email-input" aria-label="[email protected]">
1338								<input type="hidden" name="contact[tags]" value="newsletter">
1339								<input type="hidden" name="contact[accepts_marketing]" value="true">
1340								<span>
1341								<input type="submit" class="btn footer-email-submit zk_hide-submit-button" name="subscribe" id="subscribe" value="送信する">
1342								</span>
1343								</div>
1344							
1345						</form>
1346					</div>
1347
1348			
1349
1350	
1351
1352</div>
1353
1354
1355</div>
1356
1357      <div class="grid bottom--footer">
1358
1359				
1360
1361					<div class="grid__item large--one-whole">
1362						<div class="footer-description">
1363							<p><a href="/policies/privacy-policy" title="Privacy Policy">プライバシポリシー</a> | <a href="/policies/terms-of-service" title="Terms of Service">特定商取引に関する法律に基づく表記</a></p>
1364						</div>
1365					</div>
1366
1367				
1368
1369        <div class="grid__item large--one-whole">
1370
1371					<ul class="bottom--footer---links">
1372						<li><a href="/">&copy; 2026, ぬま田海苔</a></li>
1373						
1374					</ul>
1375
1376        </div>
1377
1378				
1379
1380        
1381
1382      </div>
1383
1384      </div>
1385
1386    </footer>
1387
1388
1389</div>
1390
1391</div>
1392
1393<script type="text/javascript">
1394window.lazySizesConfig = window.lazySizesConfig || {};
1395window.lazySizesConfig.rias = window.lazySizesConfig.rias || {};
1396
1397// configure available widths to replace with the {width} placeholder
1398window.lazySizesConfig.rias.widths = [150, 300, 600, 900, 1200, 1500, 1800, 2100];
1399</script>
1399
1400
1401  
1401<script src="//numatanori.com/cdn/shop/t/18/assets/fastclick.min.js?v=29723458539410922371648696805" type="text/javascript"></script>
1401
1402  
1402<script src="//numatanori.com/cdn/shop/t/18/assets/plugins.js?v=31917031939282970551648696805" type="text/javascript"></script>
1402
1403  
1404      
1404<script src="//numatanori.com/cdn/shop/t/18/assets/timber.js?v=52593703381994906521648696825" type="text/javascript"></script>
1404
1405    
1406
1407  
1408
1409  
1409<script src="//numatanori.com/cdn/shop/t/18/assets/custom.js?v=61498406493132887801648696805" type="text/javascript"></script>
1409
1410
1411  
1412
1413</div>
1414
1415<script type="text/javascript">
1416(function ($) {
1417	window.addEventListener('load', load_popup);
1418  window.addEventListener('shopify:section:load', load_popup);
1419  $(window).on('resize', function() {
1420      var popup = document.querySelector('#popup');
1421      if (!popup) {
1422          return;
1423      }
1424      var isFullscreen = $.fancybox.isOpen;
1425      if($(window).width() < 769){
1426        if (isFullscreen) {
1427            // switch from fullscreen to slide-up
1428            $.fancybox.close();
1429            showSlideUpPopup();
1430        }
1431      } else {
1432            if(popup.classList.contains('visible') && "fullscreen" == "fullscreen"){
1433                popup.classList.remove('visible');
1434                showFullScreenPopup();
1435            }
1436            if (isFullscreen) {
1437                $.fancybox.reposition();
1438            }
1439        }
1440  });
1441
1442  function load_popup() {
1443		var show_popup = false;
1444		var pop_up_time = $('#pop-up-time').val();
1445    var pop_up_delay = $('#pop-up-delay').val();
1446		var popup_enabled = pop_up_time !== undefined;
1447		var has_popup_cookie = $.cookie('popup-cookie') === 'true';
1448
1449		if (!popup_enabled) {
1450			// popup is disabled
1451			return;
1452		} else if("false" == "true") {
1453			// popup is in test mode - will show immediately in editor and on live site
1454			show_Popup();
1455		} else if (!has_popup_cookie) {
1456			// popup cookie is not set, show popup this time
1457			setTimeout(show_Popup, 1000 * pop_up_delay);
1458			$.cookie('popup-cookie', 'true', {expires: parseInt(pop_up_time)});
1459		}
1460
1461  }
1462
1463		function show_Popup() {
1464
1465		    if($(window).width() < 769){
1466                $.fancybox.close();
1467                showSlideUpPopup();
1468        } else {
1469              if("fullscreen" == "fullscreen"){
1470                  popup.classList.remove('visible');
1471                  showFullScreenPopup();
1472              } else {
1473                  showSlideUpPopup();
1474				        }
1475          }
1476		}
1477
1478		$('.popup--close-btn').on('click', function () {
1479			document.querySelector('#popup').classList.remove('visible');
1480		});
1481
1482	function showSlideUpPopup(){
1483
1484	    if("false" == "true") {
1485
1486            document.querySelector('#slide-up').removeAttribute("style");
1487            document.querySelector('#popup').classList.add('slide-up');
1488            document.querySelector('#popup').classList.add('visible');
1489
1490        }
1491
1492	}
1493
1494	function showFullScreenPopup(){
1495
1496        if("false" == "true")
1497        {
1498
1499            document.querySelector('#popup').classList.add('fullscreen');
1500            document.querySelector('#fullscreen').removeAttribute("style");
1501
1502            $.fancybox({
1503                'autoScale': true,
1504                'transitionIn': 'elastic',
1505                'transitionOut': 'elastic',
1506                'speedIn': 500,
1507                'speedOut': 300,
1508                'autoDimensions': true,
1509                'centerOnScroll': true,
1510                'href': '#popup #fullscreen',
1511                'wrapCSS': 'fullscreen-popup-fancybox',
1512                tpl: {
1513                    closeBtn: '<div class="popup--close fancybox-close"></div>'
1514                }
1515            });
1516
1517        }
1518
1519	}
1520
1521})(window.wetheme.$);
1522</script>
1522
1523
1524
1525  
1526    
1526<script type="text/javascript">
1527      window.default_currency_format = "Â¥{{amount_no_decimals}}";
1528    </script>
1528
1529  
1530
1531  
1532  
1532<script>
1533    
1534  </script>
1534
1535  
1536
1537
1538  
1539  
1539<script src="//numatanori.com/cdn/shop/t/18/assets/handlebars.min.js?v=79044469952368397291648696805" type="text/javascript"></script>
1539
1540  
1541
1542<!-- langify-v2-scripts-begin -->
1543
1544
1545<script>
1546  var langify = langify || {};
1547
1548
1549  /**
1550  * 
1551  * 
1552  * @class LyHelper
1553  */
1554  class LyHelper {
1555    constructor() {
1556      return {
1557        ajax: function(params) { return LyHelper.ajax(params); },
1558        isIE: function() { return LyHelper.isIE(); },
1559        extractImageObject: function(val) { return LyHelper.extractImageObject(val); },
1560        getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); },
1561        getCookie: function(name) { return LyHelper.getCookie(name); },
1562        setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); },
1563        getVersion: function() { return LyHelper.getVersion(); },
1564        isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); },
1565        isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); },
1566        getVal: function(str) { return LyHelper.getVal(str); },
1567        inIframe: function() { return LyHelper.inIframe(); },
1568        shopifyAPI: function() { return LyHelper.shopifyAPI(); },
1569        loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); },
1570        localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); },
1571        changeCurrency: function(code) { return LyHelper.changeCurrency(code); },
1572        log: function(title, data, type) { return LyHelper.log(title, data, type); },
1573      }
1574    }
1575    static ajax(params) {
1576      var data = params.data;
1577      fetch(params.url, {
1578        method: params.method,
1579        headers: {
1580          'Content-Type': 'application/json',
1581        },
1582        body: (data && params.method === 'POST') ? JSON.stringify(data) : null,
1583      })
1584      .then(response => response.json())
1585      .then(data => {
1586        params.success(data);
1587      })
1588      .catch((error) => {
1589        console.error('Error:', error);
1590      });
1591    }
1592    static isIE() {
1593      var ua = navigator.userAgent;
1594      var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
1595      return is_ie;
1596    }
1597    static extractImageObject(val) {
1598      if(!val || val == '') return false;
1599      var val = val;
1600
1601      // Handle src-sets
1602      if(val.search(/([0-9]+w?h?x?,)/gi) > -1) {
1603        val = val.split(/([0-9]+w?h?x?,)/gi)[0];
1604      }
1605
1606      var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0;
1607      var hostEnd = val.lastIndexOf('/') + 1;
1608      var host = val.substring(hostBegin, hostEnd);      
1609      var afterHost = val.substring(hostEnd, val.length);
1610
1611      var url = val;
1612      var file = ''; 
1613      var name = ''; 
1614      var type = '';
1615      afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#"));
1616      afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?"));
1617      name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, "");
1618
1619      if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) {
1620        type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length);
1621      } else {
1622        type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length);
1623      }
1624      
1625      file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type);
1626
1627      return {
1628        host: host,
1629        name: name,
1630        type: type,
1631        file: file
1632      }
1633    }
1634    static getCurrentLanguage() {
1635      return window.langify.locale.iso_code;
1636    }
1637    static setLanguage(code) {
1638      
1639    }
1640    static getCookie(name) {
1641      var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
1642      if(v) return v[2];
1643      else return null;
1644    }
1645    static setCookie(name, value, days) {
1646      var d = new Date;
1647      d.setTime(d.getTime() + 24*60*60*1000*days);
1648      document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString();
1649    }
1650    static getVersion() {
1651      return 2;
1652    }
1653    static isOutOfViewport (elem) {
1654      var bounding = elem.getBoundingClientRect();
1655      var out = {};
1656      out.top = bounding.top < 0;
1657      out.left = bounding.left < 0;
1658      out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight);
1659      out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth);
1660      out.any = out.top || out.left || out.bottom || out.right;
1661      out.inViewport = bounding.x > 0 && bounding.y > 0;
1662      return out;
1663    }
1664    static isDomainFeatureEnabled() {
1665      return window.langify.locale.domain_feature_enabled;
1666    }
1667    static getVal(str) {
1668      var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)'));
1669      return v ? v[1] : null;
1670    }
1671    static inIframe() {
1672      try {
1673        return window.self !== window.top;
1674      } catch (e) {
1675        return true;
1676      }
1677    }
1678    static shopifyAPI() {
1679      var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : '';
1680
1681      return {
1682        attributeToString: function(attribute) {
1683          if((typeof attribute) !== 'string') {
1684            attribute += '';
1685            if(attribute === 'undefined') {attribute = '';}
1686          }
1687          return attribute.trim();
1688        },
1689        getCart: function(callback) {
1690          LyHelper.ajax({
1691            method: 'GET',
1692            url: root_url+'/cart.js',
1693            success: function (cart, textStatus) {
1694              if((typeof callback) === 'function') {
1695                callback(cart);
1696              }
1697            }
1698          });
1699        },
1700        updateCartNote: function(note, callback) {
1701          var params = {
1702            method: 'POST',
1703            url: root_url+'/cart/update.js',
1704            data: 'note=' + this.attributeToString(note),
1705            dataType: 'json',
1706            success: function(cart) {if((typeof callback) === 'function') {callback(cart);}},
1707            error: this.onError
1708          };
1709          LyHelper.ajax(params);
1710        },
1711        updateCartAttributes: function(attributes, callback) {
1712          var params = {
1713            method: 'POST',
1714            url: root_url+'/cart/update.js',
1715            data: {"attributes": attributes},
1716            dataType: 'json',
1717            success: function(cart) {
1718              if((typeof callback) === 'function') {
1719                callback(cart);
1720              }
1721            },
1722            error: this.onError
1723          };
1724          LyHelper.ajax(params);
1725        },
1726        onError: function(XMLHttpRequest, textStatus) {
1727
1728        }      
1729      }
1730    }
1731    static loadScript(url, callback) {
1732      var script = document.createElement('script');
1733      script.type = 'text/javascript';
1734      if(script.readyState) {
1735        script.onreadystatechange = function () {
1736          if(script.readyState == 'loaded' || script.readyState == 'complete') {
1737            script.onreadystatechange = null;
1738            callback();
1739          }
1740        };
1741      } else {
1742        script.onload = function () {
1743          callback();
1744        };
1745      }
1746      script.src = url;
1747      document.getElementsByTagName('head')[0].appendChild(script);
1748    }
1749    static localizationRedirect(type, code, additionalFields, additionalParams, domain) {
1750      if(type !== 'country_code' && type !== 'language_code') { 
1751        return false; 
1752      }
1753      if(!additionalParams) {
1754        var additionalParams = '';
1755      }
1756      if(domain) {
1757        window.location.href = domain;
1758        return true;
1759      }
1760      var params = [
1761        {
1762          name: type,
1763          value: code
1764        },
1765        {
1766          name: 'return_to',
1767          value: window.location.pathname + window.location.search + additionalParams + window.location.hash
1768        },
1769        {
1770          name: 'form_type',
1771          value: 'localization'
1772        },
1773        {
1774          name: '_method',
1775          value: 'put'
1776        }
1777      ];
1778      if(additionalFields) {
1779        for(var i=0; i<additionalFields.length; i++) {
1780          params.push(additionalFields[i]);
1781        }
1782      }
1783      const form = document.createElement('form');
1784      form.method = 'POST';
1785      form.action = '/localization';
1786      params.forEach(function(param) {
1787        const field = document.createElement('input');
1788        field.type = 'hidden';
1789        field.name = param['name'];
1790        field.value = param['value'];
1791        form.appendChild(field);
1792      });
1793      document.body.appendChild(form);
1794      form.submit();
1795    }
1796    static changeCurrency(code) {
1797      const params = [
1798        {
1799          name: 'currency_code',
1800          value: code
1801        },
1802        {
1803          name: 'return_to',
1804          value: window.location.pathname + window.location.search + window.location.hash
1805        },
1806        {
1807          name: 'form_type',
1808          value: 'localization'
1809        },
1810        {
1811          name: '_method',
1812          value: 'put'
1813        }
1814      ];
1815      const form = document.createElement('form');
1816      form.method = 'POST';
1817      form.action = '/localization';
1818      params.forEach(function(param) {
1819        const field = document.createElement('input');
1820        field.type = 'hidden';
1821        field.name = param['name'];
1822        field.value = param['value'];
1823        form.appendChild(field);
1824      });
1825      document.body.appendChild(form);
1826      form.submit();
1827    }
1828    static log(title, data, type) {
1829      if(langify.settings.debug) {
1830        if(!data) {
1831          var data = '';
1832        }
1833        
1834        var css = 'color: green; font-weight: bold;';
1835        if(type === 'error') {
1836          css = 'color: red; font-weight: bold;';
1837        }
1838
1839        console.log(`%c ${title}: \n`, css, data);
1840      }
1841    }
1842  };
1843
1844
1845  /**
1846  *
1847  *
1848  * @class TranslationObserver
1849  */
1850  class TranslationObserver {
1851    constructor() {
1852      LyHelper.log('TranslationObserver instantiation')
1853    }
1854
1855    init() {
1856      if(langify.settings.observe && !LyHelper.isIE()) {
1857        var langifyObserver = this.langifyObserverCore();
1858        langifyObserver.init();
1859        
1860        // HOTFIX: translation observer sometimes refuses to trigger on page load_
1861        langifyObserver.triggerCustomContents();
1862
1863        langify.api = {
1864          observer: {
1865            start: langifyObserver.init,
1866            stop: langifyObserver.stopObserver,
1867            trigger: langifyObserver.triggerCustomContents
1868          }
1869        };
1870      }
1871
1872      return this;
1873    }
1874
1875    langifyObserverCore() {
1876      var observedNodes = [];
1877      var intersectionObs = null;
1878      var mutationCount = 0;
1879      var mutationObs = null;
1880      var mutationObsConfig = {
1881        characterData: true,
1882        characterDataOldValue: true,
1883        attributes: true,
1884        attributeOldValue: true,
1885        childList: true,
1886        subtree: true,
1887      };
1888      var customContents_html = {};
1889      var customContents_text = {};
1890      var customContents_attr = {};
1891    
1892      function init() {
1893        if(langify.settings.observe) {
1894          spreadCustomContents();
1895          if (window.MutationObserver) {
1896            if (langify.settings.lazyload && window.IntersectionObserver) {
1897              startIntersectionObserver();
1898            } else {
1899              startMutationObserver(null);
1900            }
1901          } else {
1902            startMutationEvents();
1903          }
1904        }
1905      }
1906    
1907    
1908      // Intersection Observer
1909      function startIntersectionObserver() {
1910        intersectionObs = new IntersectionObserver(callbackIntersectionChange);
1911        var elementNodes = document.getElementsByClassName('shopify-section');
1912        Array.prototype.slice.call(elementNodes).forEach(function(node) {
1913          intersectionObs.observe(node);
1914        });
1915      }
1916    
1917      function callbackIntersectionChange(intersections) {
1918        intersections.forEach(function(intersection) {
1919          var target = intersection.target;
1920          var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false);
1921    
1922          if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) {
1923            target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
1924            targetIsIntersecting = intersection.isIntersecting;
1925          }
1926          
1927          // On Screen
1928          if(targetIsIntersecting == false && intersection.isIntersecting == true) {
1929            if(!target.getAttribute('ly-is-observing')) {
1930              startMutationObserver(target);
1931              intersectionObs.unobserve(target);
1932    
1933              // As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually
1934              var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT');
1935              var textNodes = getNodesUnder(target, 'SHOW_TEXT');
1936              var nodes = elementNodes.concat(textNodes);
1937              nodes.forEach(function(node) {
1938                translate(node, 'mutation -> childList');
1939              });
1940            }
1941          } 
1942          // Off Screen
1943          //else if(targetIsIntersecting == true && intersection.isIntersecting == false) {
1944          //  stopMutationObserver(target);
1945          //}
1946          target.setAttribute('ly-is-intersecting', intersection.isIntersecting);
1947        });
1948      }
1949    
1950    
1951      // Mutation Observer
1952      function startMutationObserver(observerTarget) {
1953        if (!observerTarget) {
1954          var target = document.documentElement || document.body; // main window
1955        } else {
1956          if (observerTarget.nodeName  === 'IFRAME') {
1957            try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; }
1958            catch { return false; }
1959          } else {
1960            var target = observerTarget;
1961          }
1962        }
1963        mutationObs = new MutationObserver(callbackDomChange);
1964        mutationObs.observe(target, mutationObsConfig);
1965        observedNodes.push(target);
1966        try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {}
1967      }
1968    
1969      function stopMutationObserver(target) {
1970        if(observedNodes.indexOf(target) > -1) {
1971          observedNodes.splice(observedNodes.indexOf(target), 1);
1972        }
1973        var mutations = mutationObs.takeRecords();
1974        mutationObs.disconnect();
1975        observedNodes.forEach(node => {
1976          mutationObs.observe(node, mutationObsConfig);
1977        });
1978        try { target.removeAttribute('ly-is-observing'); } catch(e) {}
1979      }
1980    
1981    
1982      function callbackDomChange(mutations, mutationObs) {
1983        for (var i = 0, length = mutations.length; i < length; i++) {
1984          var mutation = mutations[i];
1985          var target = mutation.target;
1986    
1987          // Links-Hook
1988          if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) {
1989            var target = mutation.target;
1990            translateLink(target.getAttribute(mutation.attributeName), target);
1991          }
1992          // Images-Hook
1993          else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) {
1994            translateImage(target, mutation.attributeName);
1995          }
1996          else if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
1997            translateCssImage(target);
1998          }
1999          // Subtree Events
2000          else if (mutation.type === 'childList') {
2001            // Added Nodes
2002            if(mutation.addedNodes.length > 0) {
2003              var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT');
2004              var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT');
2005              var nodes = elementNodes.concat(textNodes);
2006              nodes.forEach(function(node) {
2007                translate(node, 'mutation -> childList');
2008              });
2009            }
2010          }
2011          // CharacterData Events
2012          else if (mutation.type === 'characterData') {
2013            var target = mutation.target;
2014            translate(target, 'mutation -> characterData');
2015          }
2016        }
2017      }
2018    
2019    
2020      function translate(node, info) {
2021        if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) {
2022          return;
2023        }
2024        // CC-Hook
2025        if (node.nodeName  !== 'SCRIPT' && node.nodeName  !== 'STYLE') {
2026          if (node.nodeType === 3) {
2027            translateTextNode(node, info);
2028          }
2029          translateNodeAttrs(node);
2030        }
2031        // Links-Hook
2032        if (node.nodeName  === 'A' || node.nodeName  === 'FORM') {
2033          if(node.hasAttribute('href')) var attrName = 'href';
2034          else var attrName = 'action';
2035          var url = node.getAttribute(attrName);
2036          translateLink(url, node);
2037        }
2038        // Images-Hook
2039        if (node.nodeName  === 'IMG' || node.nodeName  === 'SOURCE') {
2040          translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']);
2041        }
2042        if (node.attributes && node.getAttribute('style')) {
2043          translateCssImage(node);
2044        }
2045        // Iframe Observation
2046        if (node.nodeName  === 'IFRAME') {
2047          // Todo: handle srcdoc iframe content observing
2048          if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) {
2049            node.setAttribute('ly-is-observing', 'true');
2050            startMutationObserver(node);
2051          }
2052        }
2053      }
2054    
2055      function translateNodeAttrs(node) {
2056        if (node.attributes && node.getAttribute('placeholder')) {
2057          var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
2058          if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) {
2059            node.setAttribute('placeholder', customContents_text[src]);
2060          }
2061        }
2062      }
2063    
2064    
2065      function translateTextNode(node, info) {
2066        if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) {
2067          return;
2068        }
2069        var oldSrc = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase();
2070        var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim," ").replace(/\s+/g," ").toLowerCase();
2071        if(customContents_text[oldSrc]) {
2072          src = oldSrc;
2073        }
2074        if(customContents_text[src] && node.textContent !== customContents_text[src]) {
2075          var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]);
2076          if (newContent != node.textContent) {
2077            if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) {
2078              var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0;
2079              node.parentNode.setAttribute('data-ly-mutation-count', count+1);
2080              node.textContent = newContent;
2081    
2082              mutationCount = mutationCount + 1;
2083              LyHelper.log('REPLACED (TEXT)', {
2084                  oldValue: src,
2085                  newValue: customContents_text[src],
2086                  mutationCount,
2087                }, 'success'
2088              );
2089            
2090              var event = new CustomEvent('langify.observer.aftertranslatetext', { 
2091                bubbles: true,
2092                detail: {
2093                  target: node,
2094                  original: src,
2095                  translation: customContents_text[src]
2096                }
2097              });
2098              node.dispatchEvent(event);
2099            }
2100          }
2101        }
2102      }
2103    
2104      function translateLink(url, node) {
2105        if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) {
2106          return;
2107        }
2108        var isLocalized = (
2109          url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code || 
2110          url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() ||          
2111          url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) ||
2112          url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url || 
2113          url.indexOf(langify.locale.shop_url + langify.locale.root_url) === 0 || url === langify.locale.shop_url + langify.locale.root_url
2114        );
2115        var cleanUrl = url.replace(langify.locale.shop_url, '');
2116        var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi');
2117        var link = cleanUrl.replace(re, '/');
2118        var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0);
2119        var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist);
2120        var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0);
2121        if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/') {
2122          if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
2123          if(link === '/' || link == langify.locale.root_url) link = '';
2124          var newLink = langify.locale.root_url + link;
2125          var timeStamp = Math.floor(Date.now());
2126          if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
2127            node.setAttribute('data-ly-processed', timeStamp);
2128            node.setAttribute(attrName, newLink);
2129            if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink);
2130    
2131            mutationCount = mutationCount + 1;
2132            LyHelper.log('REPLACED (LINK)', {
2133                attrName,
2134                oldValue: url,
2135                newValue: newLink,
2136                mutationCount,
2137              }, 'success'
2138            );
2139            
2140            var event = new CustomEvent('langify.observer.aftertranslatelink', { 
2141              bubbles: true,
2142              detail: {
2143                target: node,
2144                attribute: attrName,
2145                original: url,
2146                translation: newLink
2147              }
2148            });
2149            node.dispatchEvent(event);
2150          }
2151        }
2152      }
2153    
2154      function translateImage(node, attr) {
2155        if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) {
2156          return
2157        }
2158        var attrs = [];
2159        if(typeof attr === 'string') attrs.push(attr);
2160        else if(typeof attr === 'object') attrs = attr;
2161        var timeStamp = Math.floor(Date.now());
2162        if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
2163          node.setAttribute('data-ly-processed', timeStamp);
2164          attrs.forEach(function(attr) {
2165            if(node.hasAttribute(attr)) {
2166              var imgObject = LyHelper.extractImageObject(node.getAttribute(attr));
2167              var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
2168    
2169              if(customContents_image[imgKey]) {
2170    
2171                // Replace
2172                var oldValue = node.getAttribute(attr);
2173                var translation = node.getAttribute(attr);
2174                translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
2175                translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
2176                translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
2177    
2178                // China Hook
2179                if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
2180                  translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 
2181                }
2182    
2183                if(node.getAttribute(attr) != translation) {
2184                  node.setAttribute(attr, translation);
2185    
2186                  mutationCount = mutationCount + 1;
2187                  LyHelper.log('REPLACED (IMAGE)', {
2188                    attrName: attr,
2189                    oldValue: oldValue,
2190                    newValue: translation,
2191                    mutationCount,
2192                  }, 'success');
2193            
2194                  var event = new CustomEvent('langify.observer.aftertranslateimage', { 
2195                    bubbles: true,
2196                    detail: {
2197                      target: node,
2198                      attribute: attr,
2199                      original: oldValue,
2200                      translation: translation
2201                    }
2202                  });
2203                  node.dispatchEvent(event);
2204                }
2205              }
2206            }
2207          });
2208        }
2209      }
2210    
2211      function translateCssImage(node) {
2212        if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) {
2213          return
2214        }
2215    
2216        var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi);
2217        if(imgMatches !== null) {
2218          var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, '');
2219          var imgObject = LyHelper.extractImageObject(imgSource);
2220          var imgKey = imgObject ? imgObject.file.toLowerCase() : '';
2221          var attr = 'style';
2222    
2223          if(customContents_image[imgKey]) {
2224    
2225            // Replace
2226            var translation = node.getAttribute(attr);
2227            translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host);
2228            translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name);
2229            translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type);
2230    
2231            // China Hook
2232            if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) {
2233              translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 
2234            }
2235    
2236            if(node.getAttribute(attr) != translation) {
2237              var timeStamp = Math.floor(Date.now());
2238              if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) {
2239                node.setAttribute('data-ly-processed', timeStamp);
2240                node.setAttribute(attr, translation);
2241                mutationCount = mutationCount + 1;
2242              }
2243            }
2244          }          
2245        }
2246      }
2247    
2248      function findAndLocalizeLinks(target, parent) {
2249        if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]');
2250        else var allLinks = target.querySelectorAll('[href],[action]');
2251        allLinks.forEach(link => {
2252          if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action';
2253          var url = link.getAttribute(attrName);
2254          translateLink(url, link);
2255        });
2256      }
2257      
2258      function isLocalizationForm(node) {
2259        if(node.querySelector('input[name="form_type"][value="localization"]')){
2260          return true;
2261        }
2262        return false;
2263      }
2264    
2265      function getNodesUnder(el, show){
2266        var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false);
2267        while(n=walk.nextNode()) a.push(n);
2268        return a;
2269      }
2270    
2271      function spreadCustomContents() {
2272        var getFileName = function(url) {
2273          if(!url || url == '') return;
2274          url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#"));
2275          url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));
2276          url = url.substring(url.lastIndexOf("/") + 1, url.length);
2277          url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, "");
2278          return '/' + url;
2279        }
2280        Object.entries(customContents).forEach(function(entry) {
2281          //if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1];
2282          //else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]);
2283          if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]);
2284          else customContents_text[entry[0]] = entry[1];
2285        });
2286        LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info')
2287      }
2288    
2289      // Polyfill for old browsers
2290      function startMutationEvents() {
2291        var target = document.querySelector('body');
2292        target.addEventListener("DOMAttrModified", function (event) {
2293          if(event.attrName === 'href' || event.attrName === 'action') {
2294            if(event.prevValue != event.newValue) {
2295              translateLink(event.newValue, event.target);
2296            }
2297          }
2298        }, false);
2299        target.addEventListener("DOMSubtreeModified", function (event) {
2300          //findAndLocalizeLinks(event.target, false);
2301          //matchCustomContent(event.target);
2302        }, false);
2303      }
2304    
2305      function triggerCustomContents() {
2306        var rootnode = document.getElementsByTagName('body')[0]
2307        var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false)
2308        
2309        while (walker.nextNode()) {
2310          //LyHelper.log(walker.currentNode.tagName)
2311          translate(walker.currentNode, null);
2312        }
2313      }
2314    
2315      function stopObserver() {
2316        mutationObs.takeRecords();
2317        mutationObs.disconnect();
2318      }
2319    
2320      //init();
2321      return {
2322        init: init,
2323        triggerCustomContents: triggerCustomContents,
2324        stopObserver: stopObserver,
2325      }
2326    };
2327  }
2328
2329
2330  /**
2331  *
2332  * 
2333  * @class Switcher
2334  */
2335  class Switcher {
2336    constructor(switcherSettings) {
2337      LyHelper.log('Switcher instantiation');
2338
2339      this.lyForceOff = location.search.split('ly-force-off=')[1];
2340      this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper'));
2341    }
2342
2343    init() {
2344
2345      // Initial cart.attributes update
2346      LyHelper.shopifyAPI().getCart(function (cart) {
2347        var currentLanguage = langify.locale.iso_code;
2348        if(!cart.attributes.language || cart.attributes.language != currentLanguage) {
2349          LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){});
2350        }
2351      });
2352
2353      if(langify.locale.languages.length === 1) {
2354        console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.');
2355        return false;
2356      }
2357
2358      this.setCustomPosition();
2359      this.initCustomDropdown();
2360      this.bindCountrySwitchers();
2361      this.bindCurrencySwitchers();
2362      this.bindLanguageSwitchers();
2363
2364      var event = new CustomEvent('langify.switcher.initialized', { 
2365        bubbles: true,
2366        detail: {}
2367      });
2368    }
2369
2370    initCustomDropdown() {
2371      // Custom Dropdown
2372      var root = this;
2373      var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher');
2374      for(var a = 0; a < switcher.length; a++) {
2375        switcher[a].classList.toggle('ly-is-open');
2376        var isOut = LyHelper.isOutOfViewport(switcher[a]);
2377        if(isOut.bottom && isOut.inViewport) {
2378          switcher[a].classList.add('ly-is-dropup');
2379          var arrows = switcher[a].querySelectorAll('.ly-arrow');
2380          for(var b = 0; b < arrows.length; b++) {
2381            arrows[b].classList.add('ly-arrow-up');    
2382          }
2383        }
2384        switcher[a].classList.toggle('ly-is-open');
2385        switcher[a].onclick = function(event) {
2386          root.toggleSwitcherOpen(this);
2387        }
2388      }
2389
2390      document.addEventListener('click', function(event) {
2391        if(!event.target.closest('.ly-custom-dropdown-switcher')) {
2392          var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
2393          for(var i = 0; i < openSwitchers.length; i++) {
2394            openSwitchers[i].classList.remove('ly-is-open');
2395          }
2396        }
2397      });
2398    }
2399    
2400    bindLanguageSwitchers() {
2401      var root = this;
2402      var links = document.getElementsByClassName('ly-languages-switcher-link');
2403      for(var l = 0; l < links.length; l++) {
2404        links[l].addEventListener('click', function(event) {
2405          event.preventDefault();
2406          if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#') {
2407          	var domain = this.getAttribute('href');
2408          }
2409          LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365);
2410          LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), null, null, domain);
2411        });
2412      }
2413
2414      // Native select event handling
2415      var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher');
2416      for(var i = 0; i < nativeLangifySelects.length; i++) {
2417        nativeLangifySelects[i].onchange = function() {
2418          event.preventDefault();
2419          if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#') {
2420            var domain = this[this.selectedIndex].getAttribute('data-domain');
2421          }
2422          LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365);
2423          LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), null, null, domain);
2424        };
2425      }
2426    }
2427    
2428    bindCountrySwitchers() {
2429      var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher');
2430      var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a');
2431      for(var i=0; i<countryCustomSwitcher.length; i++) {
2432        countryCustomSwitcher[i].addEventListener('click', function(e) {
2433          LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code'));
2434        });
2435      }
2436      for(var a=0; a<countrySelectSwitcher.length; a++) {
2437        countrySelectSwitcher[a].addEventListener('change', function(){
2438          LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code'));
2439        });
2440      }  
2441    }
2442    
2443    bindCurrencySwitchers() {
2444      var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher');
2445      var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a');
2446      for(var i=0; i<currencyCustomSwitcher.length; i++) {
2447        currencyCustomSwitcher[i].addEventListener('click', function(e) {
2448          LyHelper.changeCurrency(this.getAttribute('data-currency-code'));
2449        });
2450      }
2451      for(var a=0; a<currencySelectSwitcher.length; a++) {
2452        currencySelectSwitcher[a].addEventListener('change', function(){
2453          LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code'));
2454        });
2455      }  
2456    }
2457
2458    setCustomPosition() {
2459      for(var i = 0; i < this.switcherElements.length; i++) {
2460        if(this.lyForceOff !== 'true') {
2461          if(langify.locale.languages.length <= 1) {
2462            this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide');
2463          }
2464          this.switcherElements[i].classList.remove('ly-hide');
2465        }
2466        if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) {
2467          var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')));
2468          var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'));
2469          if(target) targets.push(target);
2470          for(var c = 0; c < targets.length; c++) {
2471            var clone = this.switcherElements[i].cloneNode(true);
2472            targets[c].innerHTML = clone.outerHTML;
2473          }
2474          this.switcherElements[i].classList.add('ly-hide');
2475        }
2476      }
2477    }
2478
2479    toggleSwitcherOpen(e) {
2480      var target = e;
2481      if(!target.classList.contains('ly-is-open')) {
2482        var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open')
2483        for(var i = 0; i < openSwitchers.length; i++) {
2484          openSwitchers[i].classList.remove('ly-is-open');
2485        }
2486
2487        target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true');
2488      } else {
2489        target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false');
2490      }
2491      target.classList.toggle('ly-is-open');
2492      var isOut = LyHelper.isOutOfViewport(target);
2493      if(isOut.bottom) {
2494        target.classList.add('ly-is-dropup');
2495      }
2496    }
2497
2498    togglePopupOpen(e) {
2499      e.closest('.ly-popup-switcher').classList.toggle('ly-is-open');
2500    }
2501
2502    _getCountryCodeFromHreflang(language_code) {
2503      var hreflangTags = document.querySelectorAll('link[hreflang]');
2504      var languageDomains = {};
2505      var countryCode = false;
2506      for(var i = 0; i < hreflangTags.length; i++) {
2507        if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) {
2508          if(!languageDomains[hreflangTags[i].getAttribute('href')]) {
2509            languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i];
2510          }
2511        }
2512      }
2513      if(Object.keys(languageDomains).length > 0) {
2514        countryCode = Object.values(languageDomains)[0].getAttribute('hreflang');
2515        countryCode = countryCode.split('-');
2516        if(countryCode[1]) {
2517          countryCode = countryCode[1]
2518        } else {
2519          
2520        }
2521      }
2522      return countryCode;
2523    }
2524  }
2525
2526
2527  /**
2528  *
2529  *
2530  * @class LanguageDetection
2531  */
2532  class LanguageDetection {
2533
2534    constructor() {
2535      this.hreflangList = null;
2536      LyHelper.log('LanguageDetection instantiation');
2537    }
2538
2539    init() {
2540      if(LyHelper.inIframe()) return null;
2541      var currentLang = langify.locale.iso_code.toLowerCase();
2542      //var localizationData = this.getLocalizationData();
2543      this.hreflangList = this.getHreflangList();
2544
2545      var userLang = navigator.language || navigator.userLanguage;
2546      userLang = userLang.toLowerCase();
2547      var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent);
2548      var blockedRoutes = window.lyBlockedRoutesList || [];
2549      var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0);
2550      var is404 = document.getElementsByClassName('template-404').length;
2551
2552      if(LyHelper.getVal('redirected') === 'true') {
2553        LyHelper.setCookie('ly-lang-selected', currentLang, 365);
2554        var _href = window.location.href;
2555        history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, ''));
2556        return null;
2557      }
2558
2559      if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') {
2560        if(userLang && !LyHelper.getCookie('ly-lang-selected')) {
2561          var hasMatch = this.matchHreflangList(userLang);
2562          if(currentLang !== this._hreflangToLanguageCode(hasMatch)) {
2563            if(hasMatch) {
2564              this.redirectMatched(userLang);
2565            } else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) {
2566              // Redirect to default language
2567              this.redirectMatched(langify.settings.switcher.languageDetectionDefault);
2568            }
2569          }
2570        } else {
2571          if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) {
2572            // Only save cookie when the domain feature is active
2573            if(LyHelper.isDomainFeatureEnabled()) {
2574              LyHelper.setCookie('ly-lang-selected', currentLang, 365);
2575            }
2576            this.redirectMatched(LyHelper.getCookie('ly-lang-selected'));
2577          }
2578        }
2579      }
2580      
2581      this._geolocationAppSupport();
2582    }
2583    redirectMatched(userLang) {
2584      var match = this.matchHreflangList(userLang);
2585      if(match) {
2586        this.redirectHref(match.href, match.lang);
2587      }
2588      return match;
2589    }
2590    matchHreflangList(userLang) {
2591      var matchedHreflang = false;
2592      var browserLang = userLang;
2593
2594      // Find candidates
2595      var candidates = this.hreflangList.filter(item => item.lang === browserLang);
2596      if(candidates.length === 0) {
2597        browserLang = userLang.toLowerCase();
2598        candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
2599      }
2600      if(candidates.length === 0) {
2601        browserLang = userLang.toLowerCase().substring(0, 2);
2602        candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0);
2603      }
2604
2605      // Handle candidates
2606      if(candidates.length === 1) {
2607        return({href: candidates[0].href, lang: browserLang});
2608      } 
2609      else if(candidates.length > 1) {
2610        var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0)
2611        if(preferedCandidate) {
2612          return({href: preferedCandidate.href, lang: browserLang});
2613        } else {
2614          return({href: candidates[0].href, lang: browserLang});
2615        }
2616      } 
2617      
2618      return false;
2619    }
2620    redirectHref(href, userLang) {
2621      var queryString = window.location.search;
2622      var url = href.split('?')[0];
2623      if(queryString === '') {
2624        queryString = '?redirected=true';
2625      } else {
2626        queryString += '&redirected=true';
2627      }
2628      window.location.replace(url + queryString);
2629    }
2630    getHreflangList() {
2631      var hreflangTags = document.querySelectorAll('link[hreflang]');
2632      var hreflangList = [];
2633      var countryCode = false;
2634      // Cross Domain Links option
2635      if(LyHelper.isDomainFeatureEnabled()) {
2636        for(var i = 0; i < langify.locale.languages.length; i++) {
2637          hreflangList.push({
2638            href: 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash,
2639            lang: langify.locale.languages[i].iso_code,
2640          });
2641        }
2642      }
2643      for(var i = 0; i < hreflangTags.length; i++) {
2644        var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase();
2645        hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases
2646        hreflangList.push({
2647          href: hreflangTags[i].getAttribute('href'),
2648          lang: hreflang
2649        });
2650      }
2651      return hreflangList;
2652    }
2653    _langToHreflang(userLang) {
2654      var hreflang = '';
2655      this.hreflangList.map(function(item) {
2656        if(item.lang === userLang) {
2657          hreflang = userLang;
2658        }
2659      });
2660      if(hreflang === '') {
2661        this.hreflangList.map(function(item) {
2662          var browserLang = userLang.toLowerCase();
2663          if(item.lang.toLowerCase().indexOf(browserLang) === 0) {
2664            hreflang = browserLang;
2665          }
2666          else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) {
2667            hreflang = browserLang.substring(0, 2);
2668          }
2669        });        
2670      }
2671      return hreflang || userLang;
2672    }
2673    _hreflangToLanguageCode(hreflangTag) {
2674      if(!hreflangTag || !hreflangTag.lang) return false;
2675	  var languageCode = false;
2676      langify.locale.languages.forEach(function(item) {
2677        if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) {
2678          languageCode = item.iso_code;
2679        }
2680      });
2681      if(!languageCode) {
2682        langify.locale.languages.forEach(function(item) {
2683          if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) {
2684            languageCode = item.iso_code;
2685          }
2686        });
2687      }
2688      return languageCode;
2689    }
2690    _geolocationAppSupport() {
2691      var target = document.querySelector('body');
2692      var config = { childList: true, subtree: true };
2693      var geolocationObserver = new MutationObserver(function(mutations) {
2694        mutations.forEach(function(mutation) {
2695          if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
2696            var target = mutation.target.getElementsByClassName('locale-bar__form');
2697            if(target[0]) {
2698              target[0].onsubmit = function() {
2699                var locale_code = target[0].elements['locale_code'].value;
2700                var selector = target[0].getElementsByClassName('locale-bar__selector');
2701                if(selector.length >= 1) {
2702                  locale_code = selector[0].options[selector[0].selectedIndex].value;
2703                }
2704                LyHelper.setCookie('ly-lang-selected', locale_code, 365);
2705              };
2706            }
2707            var selectors = mutation.target.getElementsByClassName('locale-selectors__selector');
2708            if(selectors.length > 0) {
2709              for(var selector of selectors) {
2710                if(selector.getAttribute('name') === 'locale_code') {
2711                  selector.onchange = function() {
2712                    var locale_code = selector.options[selector.selectedIndex].value;
2713                    LyHelper.setCookie('ly-lang-selected', locale_code, 365);
2714                  };        
2715                }
2716              }
2717            }
2718          }
2719        });
2720      });
2721      geolocationObserver.observe(target, config);
2722      setTimeout(function() {
2723        geolocationObserver.disconnect();
2724      }, 10000);
2725    }
2726  }
2727
2728
2729  /**
2730  *
2731  *
2732  * @class Recommendation
2733  */
2734  class Recommendation extends LanguageDetection {
2735    
2736    constructor() {
2737      super();
2738      LyHelper.log('Recommendation instantiation');
2739    }
2740
2741    init() {
2742      this.hreflangList = this.getHreflangList();
2743
2744      var userLang = navigator.language || navigator.userLanguage;
2745      userLang = userLang.toLowerCase();
2746
2747      var recommendation = this.matchHreflangList(userLang);
2748      var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation);
2749      if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) {
2750        this.recommended_language_code = recommendationLanguageCode;
2751        this.recommended_country_code = null;
2752        this.recommended_currency_code = null;
2753        this._translateStrings(recommendationLanguageCode);
2754        this._bindings();
2755      } else {
2756        return false;
2757      }
2758    }
2759
2760    _translateStrings(languageCode) {
2761      var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
2762      var strings = langify.settings.switcher.recommendation_strings[languageCode];
2763      var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?';
2764      var buttonStr = 'Change';
2765      var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase();
2766      var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase();
2767      if(strings) {
2768        recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr;
2769        buttonStr = strings.button ? strings.button : buttonStr;
2770        languageStr = strings.language ? strings.language : languageStr;
2771      }
2772      var newCode = recommendationElement.innerHTML;
2773      newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr);
2774      recommendationElement.innerHTML = newCode;     
2775    }
2776
2777    _bindings() {
2778      var _this = this;
2779      var lyForceOff = location.search.split('ly-force-off=')[1];
2780      var recommendationElement = document.querySelectorAll('.ly-recommendation')[0];
2781      var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0];
2782      var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element');
2783      var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher');
2784      var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select');
2785
2786      form.addEventListener('submit', function(e) {
2787        e.preventDefault();
2788        
2789        if(_this.recommended_country_code || _this.recommended_currency_code) {
2790          // When a country or currency is involved, use old redirection
2791          var additionalFields = [];
2792          if(_this.recommended_country_code) {
2793            additionalFields.push({
2794              name: 'country_code',
2795              value: _this.recommended_country_code
2796            });
2797          }
2798          if(_this.recommended_currency_code) {
2799            additionalFields.push({
2800              name: 'currency_code',
2801              value: _this.recommended_currency_code
2802            });
2803          }
2804          LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365);
2805          LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields);
2806        } else {
2807          //...or use new hreflang redirection
2808          _this.redirectMatched(_this.recommended_language_code);
2809        }
2810      });
2811      
2812      // Overwrite switchers
2813      for(var l = 0; l < links.length; l++) {
2814        links[l].addEventListener('click', function(event) {
2815          event.preventDefault();
2816          
2817          // When clicked from within a custom dropdown
2818          var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher');
2819          if(parentCustomDropdown) {
2820            _this._selectCustomDropdownEntry(parentCustomDropdown, this);
2821          } else {
2822            _this.recommended_language_code = this.getAttribute('data-language-code');
2823          }
2824        });
2825      }
2826
2827      for(var i = 0; i < nativeSelects.length; i++) {
2828        nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this);
2829        
2830        if(nativeSelects[i].classList.contains('ly-languages-switcher')) {
2831          nativeSelects[i].value = _this.recommended_language_code;
2832        }
2833      }
2834
2835      for(var i = 0; i < customDropdown.length; i++) {
2836        if(recommendationElement.className.indexOf('bottom') > -1) {
2837          customDropdown[i].classList.add('ly-is-dropup');       
2838        }
2839        
2840        if(customDropdown[i].classList.contains('ly-languages-switcher')) {
2841          _this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]'));
2842        }
2843      } 
2844      if(!lyForceOff) {
2845        recommendationElement.classList.add('ly-is-open');
2846      }
2847    }
2848
2849    _selectNativeDropdownEntry(event) {
2850      event.preventDefault();
2851      var element = event.currentTarget;
2852      var _this = this;
2853
2854      if(element[element.selectedIndex].hasAttribute('data-language-code')) {
2855        _this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code');
2856      }
2857      if(element[element.selectedIndex].hasAttribute('data-country-code')) {
2858        _this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code');
2859      }
2860      if(element[element.selectedIndex].hasAttribute('data-currency-code')) {
2861        _this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code');
2862      }
2863    }
2864
2865    _selectCustomDropdownEntry(element, entry) {
2866      if(!entry) return;
2867      var _this = this;
2868      var currentElem = element.querySelector('.ly-custom-dropdown-current');
2869      var currentIcon = currentElem.querySelector('.ly-icon');        
2870      var currentLabel = currentElem.querySelector('span');
2871      var valueToSelect = '';
2872
2873      if(entry.hasAttribute('data-language-code')) {
2874        _this.recommended_language_code = entry.getAttribute('data-language-code');
2875        valueToSelect = _this.recommended_language_code;
2876      }
2877      if(entry.hasAttribute('data-country-code')) {
2878        _this.recommended_country_code = entry.getAttribute('data-country-code');
2879        valueToSelect = _this.recommended_country_code;
2880      }
2881      if(entry.hasAttribute('data-currency-code')) {
2882        _this.recommended_currency_code = entry.getAttribute('data-currency-code');
2883        valueToSelect = _this.recommended_currency_code;
2884      }
2885      if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) {
2886        valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code;
2887      }
2888
2889      if(element.querySelector('.ly-custom-dropdown-list li.current')) {
2890        element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current');  
2891        element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current');  
2892      }
2893      if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML;
2894      if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList;
2895    }
2896
2897    toggleOpen(e) {
2898      e.closest('.ly-recommendation').classList.toggle('ly-is-open');
2899      if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) {
2900        LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365);
2901      }
2902    }
2903  }
2904
2905
2906  /**
2907  *
2908  *
2909  * @class Langify
2910  */
2911  class Langify {
2912    constructor(settings, locale) {
2913      LyHelper.log('Langify instantiation')
2914
2915      var translationObserver = new TranslationObserver().init();
2916
2917      langify.helper = new LyHelper();
2918      LyHelper.log(langify.helper);
2919
2920
2921      var lyForceOff = location.search.split('ly-force-off=')[1];
2922      if(lyForceOff === 'true') {
2923        document.getElementById('preview-bar-iframe').classList.add('ly-hide');
2924        return false;
2925      }
2926
2927      if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) {
2928        if(typeof jQuery === 'undefined') {
2929          LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {});
2930        } 
2931      }
2932
2933      //document.addEventListener("DOMContentLoaded", function() {
2934        langify.switcher = new Switcher();
2935        langify.switcher.init();
2936
2937        if(settings.switcher) {
2938          if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) {
2939            langify.recommendation = new Recommendation();
2940            langify.recommendation.init();
2941          } else {
2942            if(settings.switcher.languageDetection) {
2943              langify.languageDetection = new LanguageDetection();
2944              langify.languageDetection.init();
2945            }        
2946          }
2947        }
2948      //});
2949    }
2950  }
2951
2952  // Polyfills
2953  (function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this);
2954  !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};
2954this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}();
2955  !function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}();
2956
2957  var langify = window.langify || {};
2958  var customContents = {};
2959  var customContents_image = {};
2960  var langifySettingsOverwrites = {};
2961  var defaultSettings = {
2962    debug: false,               // BOOL : Enable/disable console logs
2963    observe: true,              // BOOL : Enable/disable the entire mutation observer (off switch)
2964    observeLinks: false,
2965    observeImages: true,
2966    observeCustomContents: true,
2967    maxMutations: 5,
2968    timeout: 100,               // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element
2969    linksBlacklist: [],
2970  };
2971
2972  if(langify.settings) { 
2973    langifySettingsOverwrites = Object.assign({}, langify.settings);
2974    langify.settings = Object.assign(defaultSettings, langify.settings); 
2975  } else { 
2976    langify.settings = defaultSettings; 
2977  }langify.settings = Object.assign(langify.settings, {"debug":false,"lazyload":false,"observe":true,"observeLinks":true,"observeImages":true,"observeCustomContents":true,"linksBlacklist":["\/en-us"],"loadJquery":false,"nonStrict":false}, langifySettingsOverwrites);
2978  
2979
2980  langify.settings.theme = {"debug":false,"lazyload":false,"observe":true,"observeLinks":true,"observeImages":true,"observeCustomContents":true,"linksBlacklist":["\/en-us"],"loadJquery":false,"nonStrict":false};
2981  langify.settings.switcher = {"customCSS":"","languageDetection":false,"languageDetectionDefault":"ja","enableDefaultLanguage":false,"breakpoints":[{"key":0,"label":"0px","config":{"type":"custom","corner":"bottom_right","position":"fixed","show_flags":true,"rectangle_icons":true,"square_icons":false,"round_icons":false,"show_label":true,"show_custom_name":true,"show_name":false,"show_iso_code":false,"is_dark":false,"is_transparent":false,"is_dropup":false,"arrow_size":100,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":0,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#000","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":14,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false,"switcherLabel":"show_custom_name","switcherIcons":"rectangle_icons"}},{"key":1000,"label":"1000px","config":{"type":"native_select","corner":"bottom_left","position":"custom","show_flags":true,"rectangle_icons":true,"square_icons":false,"round_icons":false,"show_label":true,"show_custom_name":true,"show_name":false,"show_iso_code":false,"is_dark":false,"is_transparent":false,"is_dropup":false,"arrow_size":100,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":0,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#000","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":14,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false,"switcherLabel":"show_custom_name","switcherIcons":"rectangle_icons"}}],"languages":[{"iso_code":"ja","root_url":"\/","name":"Japanese","primary":true,"domain":"numatanori.com","published":true,"custom_name":false},{"iso_code":"en","root_url":"\/en","name":"English","primary":false,"domain":false,"published":true,"custom_name":false}],"recommendation_enabled":false,"recommendation_type":"popup","recommendation_switcher_key":-1,"recommendation_strings":{},"recommendation":{"recommendation_backdrop_show":true,"recommendation_corner":"center_center","recommendation_banner_corner":"top","recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000"}};
2982
2983  langify.locale = langify.locale || {
2984    primary: true,
2985    iso_code: "ja",
2986    root_url: "\/",
2987    language_id: "ly182190",
2988    shop_url: "https:\/\/numatanori.com",
2989    domain_feature_enabled: {"numatanori.com":[]},
2990    languages: [{
2991        iso_code: "ja",
2992        root_url: "\/",
2993        domain: "numatanori.com",
2994      },{
2995        iso_code: "en",
2996        root_url: "\/en",
2997        domain: false,
2998      },],};
2999
3000  // Disable link correction ALWAYS on languages with mapped domains
3001  
3002  if(langify.locale.root_url == '/') {
3003    langify.settings.observeLinks = false;
3004  }
3005
3006  window.addEventListener('DOMContentLoaded', function() {
3007    langify.helper = new LyHelper();
3008
3009    // Custom Contents Section
3010
3011    // Images Section
3012    
3013
3014
3015    var langifyInstance = new Langify(langify.settings, langify.locale);
3016  });
3017</script>
3017<!-- langify-v2-scripts-end -->
3017<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3017
3018</body>
3019</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.